diff options
| author | Jieiku | 2023-08-17 12:16:18 -0700 |
|---|---|---|
| committer | Jieiku | 2023-08-17 12:16:18 -0700 |
| commit | 3e5d8a96e9eae21a799f327cd8a52adb891ebe66 (patch) | |
| tree | 6a1377b5207e4e3555f65ca162014468c64d6985 | |
| parent | 1d9be812c25508a5dc36afb9e80669b668a47190 (diff) | |
| parent | 0983915e23793c28dd0bee149fd2ec05a7e96a94 (diff) | |
| download | abridge-3e5d8a96e9eae21a799f327cd8a52adb891ebe66.tar.gz abridge-3e5d8a96e9eae21a799f327cd8a52adb891ebe66.tar.bz2 abridge-3e5d8a96e9eae21a799f327cd8a52adb891ebe66.zip | |
resolve merge conflicts
247 files changed, 13461 insertions, 22405 deletions
@@ -1,4 +1,10 @@ +.env public themes storage -static/demo.html
\ No newline at end of file +build +static/demo.html +static/tinysearch_engine.js +static/tinysearch_engine.d.ts +static/tinysearch_engine_bg.wasm.d.ts +static/package.json diff --git a/COPY-TO-ROOT-SASS/abridge.scss b/COPY-TO-ROOT-SASS/abridge.scss new file mode 100644 index 0000000..103d91e --- /dev/null +++ b/COPY-TO-ROOT-SASS/abridge.scss @@ -0,0 +1,181 @@ +@use '../themes/abridge/sass/abridge' with ( + /// LINES HERE END WITH COMMA AFTER THE VALUE! + /// The things your less likely to need to override have been commented out. + + /// Enable a centered viewport for <header>, <main>, <footer> inside <body> + /// Fluid layout until a defined size, then becomes centered viewport + //$enable-maxwidth: true, + $mw: 75%,// max-width + //$mb: 1200px,// value at which to switch from fluid layout to max-width + + $abridgeMode: "switcher",//valid values: switcher, auto, dark, light + $syntax-mode: "auto",// Force syntax mode: auto, dark, light + $switcherDefault: "dark",// default nojs switcher mode: dark, light (make sure to also set js_switcher_default in config.toml) + + $color: "orange",// color template to use/override: orange, blue, blueshade + + $color-syntax: "abridge",// syntax color template to use/override: abridge, + $syntax: true,//syntax highlighting for Code Blocks. + + $enable-icons: true,// false disables ALL icons + $ic: true,// true for colorized icons, otherwise #888 is used. + + $icon-rss: true, + $icon-mail: false,// e-mail + $icon-mastodon: false, + $icon-element: false, + $icon-matrix: false, + $icon-buymeacoffee: false, + $icon-kofi: false, + $icon-twitter: false, + $icon-facebook: false, + $icon-linkedin: false, + $icon-codeberg: false, + $icon-gitlab: false, + $icon-github: false, + $icon-github-sponsor: false, + $icon-bitbucket: false, + $icon-python: false, + $icon-docker: false, + $icon-stack: false, + $icon-instagram: false, + $icon-pinterest: false, + $icon-discord: false, + $icon-twitch: false, + $icon-youtube: false, + $icon-researchgate: false, + + //$icon-x: true,// x symbol, used to close search results page. + //$icon-search: true,//search, spyglass search button in search box. + //$icon-adjust: true,//theme switcher dark/light toggle button. + //$icon-angll: true,//pagination, goto first page + //$icon-angl: true,//pagination, goto previous page + //$icon-angr: true,//pagination, goto next page + //$icon-angrr: true,//pagination, goto last page + //$icon-angu: true,//back to top button, appears after scrolling down. + //$icon-copy: true,//copy to clipboard, for code blocks. + + //$icon-ffolder: false, + //$icon-folder: false,// categories folder + //$icon-ftag: false, + //$icon-tag: false,// tag + //$icon-check: false,// check mark + //$icon-chevron: false,// chevron down + //$icon-clock: false,// time analog clock + //$icon-date: false,// calendar + //$icon-globe: false, + //$icon-home: false, + //$icon-minus: false,// minus symbol + //$icon-moon: false,// dark moon + //$icon-sun: false,// light sun + + /// The colors below can be overrided individually as needed. + + /// Dark Colors + //$f1d: #ccc,// Font Color Primary + //$f2d: #ddd,// Font Color Headers + //$c1d: #111,// Background Color Primary + //$c2d: #222,// Background Color Secondary + //$c3d: #333,// Table Rows, Block quote edge, Borders + //$c4d: #777,// Disabled Buttons, Borders, mark background + //$a1d: #f90,// link color + //$a2d: #fb0,// link hover/focus color + //$a3d: #f90,// link h1-h2 hover/focus color + //$cgd: #593,// ins green, success + //$crd: #e33,// del red, errors + + /// Light Colors + //$f1: #333,// Font Color Primary + //$f2: #222,// Font Color Headers + //$c1: #fff,// Background Color Primary + //$c2: #eee,// Background Color Secondary + //$c3: #ddd,// Table Rows, Block quote edge, Borders + //$c4: #555,// Disabled Buttons, Borders, mark background + //$a1: #c40,// link color + //$a2: #e60,// link hover/focus color + //$a3: #f90,// link h1-h2 hover/focus color + //$cg: #373,// ins green, success + //$cr: #d33,// del red, errors + + /// Dark Syntax Colors + //$h0d: #191919,// background color + //$h1d: #ddd,// unstyled text + //$h2d: #888,// comments + //$h3d: #e65,// red, support function + //$h4d: #e83,// orange, punctuation, constant, variable, json-key + //$h5d: #eb6,// tan, entity/function name + //$h6d: #ac3,// green, string + //$h7d: #8db,// teal, escape character + //$h8d: #6ae,// blue, declaration, tag, property + //$h9d: #d6e,// purple, operators + //$had: 160%,// mark/highlight line + + /// Light Syntax Colors + //$h0: #f7f7f7,// background color + //$h1: #222,// unstyled text + //$h2: #666,// comments + //$h3: #a21,// red, support function + //$h4: #930,// orange, punctuation, constant, variable, json-key + //$h5: #a50,// tan, entity/function name + //$h6: #350,// green, string + //$h7: #286,// teal, escape character + //$h8: #059,// blue, declaration, tag, property + //$h9: #a3c,// purple, operators + //$ha: 92%,// mark/highlight line + + /// These lines find the spot at which to insert your appended fonts. + //$findFont-Main: "Segoe UI", // ← append custom MAIN font(s) AFTER this + //$findFont-Code: "Segoe UI Mono",// ← append custom CODE font(s) AFTER this + + /// These lines specify the fonts to add. + //$fontExt-Main: (ExampleFont1, "Example Font 2"),// MAIN font(s) to add + //$fontExt-Code: (ExampleCode1, "Example Code 2"),// CODE font(s) to add + + /// If prepending/appending fonts above, then no need to change them below + //$font: Roboto system-ui -apple-system BlinkMacSystemFont "Segoe UI" Oxygen Ubuntu Cantarell "Fira Sans" "Droid Sans" "Helvetica Neue" "Noto Sans" Helvetica Arial sans-serif, + //$font-mono: ui-monospace Menlo Monaco Consolas "SF Mono" "Cascadia Mono" "Segoe UI Mono" "DejaVu Sans Mono" "Liberation Mono" "Roboto Mono" "Oxygen Mono" "Ubuntu Monospace" "Ubuntu Mono" "Source Code Pro" "Fira Mono" "Droid Sans Mono" "Courier New" Courier monospace, + + /// Enable <header>, <main>, <footer> inside <body> as a container + //$enable-semantic-container: true, + + /// Enable responsive typography, Fixed root element size if disabled + //$enable-responsive-typography: true, + + /// Enable responsive spacings for <header>, <main>, <footer>, <section> + //$enable-responsive-spacings: false, + + /// Enable a centered viewport for <header>, <main>, <footer> inside <body> + /// This option will only work if $enable-maxwidth: false + //$enable-viewport: false, + + /// xs: Extra small (portrait phones) + /// sm: Small(landscape phones) + /// md: Medium(tablets) + /// lg: Large(desktops) + /// xl: Extra large (large desktops) + + /// Breakpoints + //$breakpoints: (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px), + + /// Viewports + //$viewports: (sm: 510px, md: 700px, lg: 920px, xl: 1130px), + + //$document: true,//Content-box & Responsive typography + //$typography: true,//a, headings, p, ul, blockquote + //$sectioning: true,//responsive Container, header, main, footer + //$nav: true,//Horizontal Navigation at top of page + //$embedded: true,//Embedded content, iframe, video, images, etc. + //$table: true,//table specific elements + //$code: true,//codeblocks, code, pre, kbd + //$hr: true,//Horizontal Rule + //$scroller: true,//Horizontal scroller (<figure>) + //$button: true,//Form elements (button) + //$form: true,//Form elements (non-button) + //$top: true,//back to top button using CSS + //$search: true,//search feature + //$toc: true,//Table of Contents, page index / recent posts block + //$zola: true,//Zola Specific + //$misc: false, + //$grid: false,//Infinity Grid, column based layouts. + //$syntax: true,//syntax highlighting for code blocks +); @@ -21,7 +21,7 @@ Maintenance of this project is made possible by all the <a href="https://github. ## Requirements -This theme requires version 0.17.1 or later of [Zola](https://www.getzola.org/documentation/getting-started/installation/) +This theme requires version 0.17.3 or later of [Zola](https://www.getzola.org/documentation/getting-started/installation/) ## Quick Start @@ -33,13 +33,14 @@ zola serve ``` ## Installation -The Quick Start shows how to run the theme directly as a site. +The Quick Start shows how to run the theme directly. Next we will use abridge as a theme to a NEW site. ### Step 1: Create a new zola site ```bash zola init mysite +cd mysite ``` ### Step 2: Install abridge @@ -47,47 +48,47 @@ zola init mysite Download this theme to your themes directory: ```bash -cd mysite/themes -git clone https://github.com/jieiku/abridge.git +git clone https://github.com/jieiku/abridge.git themes/abridge ``` Or install as a submodule: ```bash -cd mysite git init # if your project is a git repository already, ignore this command git submodule add https://github.com/jieiku/abridge.git themes/abridge ``` ### Step 3: Configuration -Copy the `config.toml` from the theme directory to your project's root directory: -(This will give you a base configuration with all config values used) -If you plan to use the search_facade feature (dynamic ondemand loading of search) then also copy the package.json (and netlify.toml if you use netlify) -You will also want to copy the content/static folder if you intend to use stork or tinysearch +Copy some files from the theme directory to your project's root directory: ```bash -cp themes/abridge/config.toml config.toml -cp themes/abridge/package.json package.json -cp themes/abridge/netlify.toml netlify.toml -cp -r themes/abridge/content/static content/ +rsync themes/abridge/config.toml config.toml +rsync themes/abridge/COPY-TO-ROOT-SASS/* sass/ +rsync themes/abridge/netlify.toml netlify.toml +rsync themes/abridge/package.json package.json +rsync -r themes/abridge/content/static content/ ``` -Uncomment the theme line: +- `config.toml` base configuration with all config values +- `COPY-TO-ROOT-SASS/abridge.scss` overrides to customize Abridge variables. +- `netlify.toml` settings to deploy your repo with netlfiy +- `package.json` to switch between nosearch, elasticlunr, tinysearch, stork. +- `content/static` files for generating tinysearch and stork indexes. + +Uncomment the theme line in your project's root config.toml: ```bash sed -i 's/^#theme = "abridge"/theme = "abridge"/' config.toml ``` ### Step 4: Add new content -You can copy the content from the theme directory to your project: +Copy the content from the theme directory to your project or make a new post: ```bash -cp -r themes/abridge/content . +rsync -r themes/abridge/content . ``` -You can modify or add new posts in the content directory as needed. - ### Step 5: Run the project Just run `zola serve` in the root path of the project: @@ -96,367 +97,116 @@ Just run `zola serve` in the root path of the project: zola serve ``` -Zola will start the development web server making your site accessible by default at -`http://127.0.0.1:1111`. Saved changes will live reload in the browser. - -### Step 6: Add provisions for search_facade.js (dynamic ondemand loading of search related js) or disable the facade. - -**IMPORTANT!** by default abridge dynamically loads the js related to the search when the search box is clicked, this allows for a faster page load and saved bandwidth. (not everyone needs or will use the search!) - -This feature uses a bundle that has all js related to the search in a single js file, this ensures that the files are in the proper order, and that once downloaded the search is ready to use. - -to generate this file you have to do this: - -```shell -zola build -npm run abridge -zola build # or zola serve -``` - -or if testing/running the theme directly: +Zola will start the dev web server, accessible by default at `http://127.0.0.1:1111`. -```shell -zola build -npm run abridge-demo -zola build # or zola serve -``` +Saved changes will live reload in the browser. -I completely understand that this makes configuration a bit complicated. Zola does not have any built-in facilities for bundling javascript so we are using uglifyjs, shasum, openssl, etc (all defined in package.json) If you find this too difficult then I highly suggest just disabling the facade and loading the search index with the rest of the page: +## Customization -You can disable the facade (dynamic loading of search) in the config.toml: +A lot of effort has been made to ensure Abridge features can be easily customized. -```toml -js_search_facade = false -``` +### Default Theme for nojs/noscript visitors. -The Abridge demo uses netlify, and the included package.json and netlify.toml files handle this extra bundle step for us automatically. +If you have abridge configured to use the switcher mode instead of auto/dark/light, then your site will have a button that allows the visitor to toggle the theme. -An overview of this logic is this: +If your visitor uses noscript or some other javascript blocking browser addon, then they will be stuck with whatever the configured default theme is for the switcher mode. -```shell -zola build # just to generate search_index.en.js -uglifyjs to create search_bundle.min.js # all search related files -update sha256 hash and base64 encoded sha384 hash in search_facade.js file for cachebust and subresource integrity -uglifyjs to create abridge-bundle.min.js to include search_facade.js with the new hashes. -zola build to update the hashes for abridge-bundle.min.js -``` +To adjust this mode you would set the following two config values in abridge.scss **AND** config.toml: -If you plan to use the included netlify.toml file you should change the following: -```toml -command = "zola build && npm run abridge-demo && zola build" +```scss +$switcherDefault: "dark",// default nojs switcher mode: dark, light (make sure to also set js_switcher_default in config.toml) ``` -to this: ```toml -command = "zola build && npm run abridge && zola build" +js_switcher_default = "dark" # default nojs switcher mode: dark, light (make sure to also set $switcherDefault in abridge.scss) ``` -### Step 7: Switch Search library (optional) - -Abridge by default uses elasticlunr for the search library (zola's default), but both tinysearch and stork are supported search libraries. - -tinysearch demo: https://jieiku.github.io/abridge-tinysearch/ - -stork demo: https://jieiku.github.io/abridge-stork/ - -**Switch to tinysearch:** - -First you have to install tinysearch so that you can build the index: - -```shell -git clone https://github.com/tinysearch/tinysearch -cd tinysearch -cargo build --release -sudo cp ./target/release/tinysearch /usr/local/bin/tinysearch -exit # reload shell environment -``` - -Switch abridge to tinysearch: - -```shell -cd ~/.dev/abridge -sed -i 's/^search_library =.*/search_library = "tinysearch"/' config.toml -sed -i 's/^draft =.*/draft = true/' content/static/stork_toml.md -sed -i 's/^draft =.*/draft = false/' content/static/tinysearch_json.md -zola build -tinysearch --optimize --path static public/data_tinysearch/index.html -# zola serve -``` - -**Switch to stork:** - -First you have to install stork so that you can build the index: +By default abrdige uses dark mode for the switcher, so unless you want to set the default mode to light for nojs visitors, then you do not need to worry about these settings. -```shell -git clone https://github.com/jameslittle230/stork -cd stork -cargo build --release -sudo cp ./target/release/stork /usr/local/bin/stork -exit # reload shell environment -``` +### Number of Items per page for pagination -Switch abridge to stork: +To change the number of items per page edit: `content/_index.md` and change the value for `paginate_by` -```shell -cd ~/.dev/abridge -sed -i 's/^search_library =.*/search_library = "stork"/' config.toml -sed -i 's/^draft =.*/draft = false/' content/static/stork_toml.md -sed -i 's/^draft =.*/draft = true/' content/static/tinysearch_json.md -zola build -stork build --input public/data_stork/index.html --output static/stork.st -# zola serve -``` +## Sass Overrides -**Switch back to elasticlunr:** +Abridge SASS variables can be overrided by editing `sass\abridge.scss` file in your project's root sass folder. -abridge as a theme: -```shell -cd ~/.dev/abridge -sed -i 's/^search_library =.*/search_library = false/' config.toml -sed -i 's/^draft =.*/draft = true/' themes/abridge/content/static/stork_toml.md -sed -i 's/^draft =.*/draft = true/' themes/abridge/content/static/tinysearch_json.md -zola build -npm run abridge -zola build -# zola serve -``` +### Page Width: -abridge theme directly: -```shell -cd ~/.dev/abridge -sed -i 's/^search_library =.*/search_library = false/' config.toml -sed -i 's/^draft =.*/draft = true/' content/static/stork_toml.md -sed -i 's/^draft =.*/draft = true/' content/static/tinysearch_json.md -zola build -npm run abridge-demo -zola build -# zola serve +```scss +$mw:75%,// max-width ``` -## Customization - -You can customize your configurations, templates and content for yourself. Look -at the `config.toml`, `content` files, and templates files in this -repo for an idea. - -### Number of Items per page for pagination - -To change the number of items per page edit: `abridge/content/_index.md` and change the value for `paginate_by` - -### Page width - -You can set the overal page width by editing `themes\abridge\sass\_variables.scss` file, and adjusting these two lines: +### Abridge Theme Modes ```scss -$mw:50% !default;// max-width -$mb:1200px !default;// value at which to switch from fluid layout to using max-width +$abridgeMode: "switcher",//valid values: switcher, auto, dark, light ``` -### Colors and Styles - -Colors and style are handled by the sass files of [abridge.css](https://github.com/jieiku/abridge.css) - -Abridge comes with "Skins" each with their own auto, dark, light and switcher modes. -Auto mode automatically displays a dark or light version depending on browser/OS settings. -Switcher mode automatically displays a dark or light version depending on browser/OS settings, and has a user clickable theme switcher, but it requires additional javascript. - -The skin used on [the Demo](https://abridge.netlify.app/) uses primarily orange colors. -It is defined here: `/themes/abridge/sass/abridge-switcher.scss` - -There is also other variations, that you will see defined in this same directory, they are also all defined in config.toml - -To change colors or fonts all you need to do is edit these files or duplicate them and create your own skin. -Then in the root of your site type `zola build` which will regenerate your site, this is similar to what zola serve does, except it does not facilitate serving the site. - -### Javascript Files, js_bundle and options - -These are the javascript files currently used by Abridge: - -- search_index.en.js: search index generated by zola at each build for elasticlunr. -- elasticlunr.min.js: search library for client side searching. -- search.js: to make use of elasticlunr from our sites search box for both suggestions and the results page. -- search_facade.js: used to dynamically load a bundle containing all search related js ONLY when the search box is clicked. (on-demand) -- email.js: uses javascript to obfuscate your real email address for the mail icon at the bottom of the page. -- codecopy.js: add a Copy Button to code blocks, to copy contents of the code block to clipboard. -- theme.js: very tiny script to facilitate local storage for the theme switcher. (never bundle, gets loaded separate) -- theme_button.js: tiny script for the theme switcher function when you click the theme switch button. -- prestyle.js: Used to preload css files `<link rel="preload"` - this script changes these to `<link rel="stylesheet"` once the page has finished loading, this allows us to load stylesheets for external fonts, fontawesome, or katex in a non blocking fashion. - -js_bundle is set to a javascript file with a bundle of multiple javascript files, this allows us to serve fewer javascript files (only the search index and the bundle, or if using the facade all the js related features minus the search related files). Included are a few of the likely most commonly used combinations, but you can generate any combination of js features into a bundle yourself using uglifyjs if you need to, there are examples in the config.toml (or in package.json), eg: +- Switcher automatically displays a dark or light version depending on browser/OS settings, and has a javascript user clickable theme switcher. +- Auto automatically displays a dark or light version depending on browser/OS settings. +- Dark is the dark theme always. +- Light is the light theme always. -`uglifyjs prestyle.js theme_button.js elasticlunr.min.js search.js -c -m -o abridge-nofacade.min.js` - -All Bundles are defined in [package.json](https://github.com/Jieiku/abridge/blob/master/package.json) - -A Bundle can be generated from the package.json scripts using npm, for example: - -`npm run noswitchernosearch` - -Abridge Default Bundle: -- abridge-bundle.min.js: includes: prestyle, theme_button, search_facade, email, codecopy - -Abridge Alternate Bundles: -- abridge.min.js: includes: prestyle, search_facade, email, codecopy (same as default but without the theme switcher) -- abridge-bundle-nofacade.min.js: includes: prestyle, theme_button, email, codecopy, elasticlunr, search -- abridge-bundle-noswitcher.min.js - includes: prestyle, email, codecopy, elasticlunr, search -- abridge-bundle-nosearch.min.js - includes: prestyle, theme_button, email, codecopy -- abridge-bundle-noswitchernosearch.min.js - includes: prestyle, email, codecopy -- abridge-searchonly.min.js - includes: elasticlunr, search - -Support Files: -- theme.min.js (not a bundle, just a minification of theme.js) -- katexbundle.min.js - includes: katex.min.js mathtex-script-type.min.js auto-render.min.js katexoptions.js -- search_bundle.min.js: includes: search_index.en, elasticlunr, search (loaded on demand by search_facade) - -### Global Configuration - -There are some configuration options that you can customize in `config.toml`. - -#### Configuration options before `extra` options - -Set the authors's taxonomies for the site. +### Colors and Styles -```toml -taxonomies = [ - {name = "authors"}, -] +You can specify which color template you want to use as a base: +```scss +$color: "orange",// color template to use/override: orange, blue, blueshade ``` -Use search function for the content. - -```toml -build_search_index = true +Then override individual colors as needed: +```scss +/// Dark Colors +$f1d: #ccc,// Font Color Primary +$f2d: #ddd,// Font Color Headers +$c1d: #111,// Background Color Primary +$c2d: #222,// Background Color Secondary +... ``` -The search is the only essential thing that requires javascript in this this theme. - -If you set `build_search_index` to false then the javascript file will no longer be loaded. - -The default elasticlunr search is currently used, I may eventually switch this out for something else. - -#### Configuration options under the `extra` - -Most Options in the config.toml are self documenting, meaning between the name of the config value and the notes in the file it is usually obvious what an option is for. - -The following options should be under the `[extra]` in `config.toml` - -- `uglyurls` - Set to true, as well as set a file path for base_url to support a local offline mode of your site, you can then browse your site directly from disk. -- `language_code` - Set the site language_code. -- `title_separator` - Separator between title and title_addition, eg "|": "Abridge | Fast & Lightweight Zola Theme" -- `title_addition` - a default value for title addition, used at the index. -- `recent = true` - This enabled the Recent posts box visible on the top right. -- `recent_items = 9` - The number of items to display in the recent posts box -- `author` - Used for articles to denote the author. - -- `title_size_index` - Size of the Titles Font on the Index: s95, s90, s85, s80, s75, s70, false(full size) -- `meta_index / meta_post` - * `position` - top, bottom, both, false(hidden), Where to display the meta info in relation to the summary. - * `size` - s95, s90, s85, s80, false(full size). The size of the font for the meta info - * `author` - true/false, Display the author in the meta info. - * `readtime` - true/false, Display the read time in the meta info. - * `readstring` - "min", "min read", "minutes read". The string to display after the read time. - * `date` - true/false, Display the date in the meta info. - * `categories_tags` - true/false, Display the categores and tags in the meta info. - * `divider` - `"·"` `"•"` `" "` divider to display between meta info elements. - -- `footer_size` - Size of the Footer Font: s95, s90, s85, s80, s75, s70, false(full size) -- `footer_credit = true` - This enables the powered by zola and abridge line in the footer. -- `footer_credit_override` - Can be used to customize the footer credit, useful to add icons to the text, etc. -- `logo = { file="logo.svg", width="42", height="42", alt="Abridge", text="bridge" }` - Defines the graphical logo with optional text to follow the logo. -- `textlogo` - A purely Text based logo, this will be used if logo is commented out, if both are commented out then config.title is used. -- `sitedesc` - This adds the site description just below the text based logo. -- `copyright_start_year` - Optionally define a start year for the copyright, otherwise the current year is used. -- `copyright_end_year` - Optionally set the copyright end year, recommend leaving unset, zola build will set this to current year by default -- `headhr` - Display a horizontal rule below header -- `foothr` - Display a horizontal rule above footer -- `menu` - This is an array of links to display at the top right corner of the page -- `menu_footer` - This is an array of links to display in the footer of the page +### Footer Social Icons -- `security_header_referrer` - This is mostly used for tracking, the default is set to "strict-origin-when-cross-origin" [info](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy) -- `security_header_csp` - Content Security policy, to enfore security rules: [observatory](https://observatory.mozilla.org), [csp-google](https://csp-evaluator.withgoogle.com/) +You should configure which social icons you plan to use. (makes the css file size smaller) -- `integrity` - Useful to set false during development, should normally be set to true. -- `js_bundle` - Useful to set false during javascript development, should normally be set to true. -- `js_switcher` - Set to false to disable the theme switcher. -- `js_search_facade` - Set to false to disable the search facade (dynamic loading of search_bundle). -- `search_library` - search library to use, valid values are: false or elasticlunr, tinysearch, stork - -- `js_search_index` - The search index file to include in the header, comment out to disable. -- `js_prestyle` - The script file used to preload: FontAwesome, Katex, external Google Fonts. -- `js_codecopy` - The script file used to copy the code in code blocks. -- `js_email` - The script file used to obfuscate the email link in footer. -- `js_theme` - Used for the Theme Switcher, to facilitate localstorage. -- `js_themeButton` - Used for the Theme Switcher. - -- `stylesheets = [ "abridge-switcher.css" ]` - The stylesheet file(s) to include in the header. - -- `banner` - Image to use in seo related cards, this will be the fallback image if the individual articles does not provide one. -- `favicon_...` - Used to set the various favicons (displayed in bookmarks and active browser tab) -- `icon_...` - Used to set the various icons used on the site. -- `fontawesome =` - Uncomment to enable fontawesome library, this will include the file in the header. - * `icon_read` - icon to display in meta info on index and posts, comment out to disable - * `icon_date` - icon to display in meta info on index and posts, comment out to disable - * `icon_info` - icon to display in meta info on index and posts, comment out to disable - * `icon_author` - icon to display in meta info on index and posts, comment out to disable - -- `fonts =` - Uncomment to load external fonts, they will be loaded in the header. -- `math` - Set to true to load the Katex library, enabling the use of the [katex shortcode](https://abridge.netlify.app/overview-math/) (recommend setting on a per page basis instead.) -- `math_auto_render` - This allows you to define a section of math notation using only $$ $$ symbols instead of using the katex shortcode directly. (recommend setting on a per page basis instead.) +To simply turn them all off you can set `$enable-icons: false` -- `katex_css`, `katex_js`, `mathtex_js`, `katex_autorender_js`, `katex_options` - Used for Math Notation. -- `katex_bundle` - Used to bundle all of the math related js. +Otherwise enable only the icons you need, eg for mail you would set `$icon-mail: true` -- `keywords =` - This is used for SEO. -- `seo =` - This is used for SEO, for the social media related tags, eg: opengraph, facebook, twitter if set to false it disables them all. -- `extra.social` - These are the options for the social icons in the footer, and a couple are also used in SEO related meta tags. +You should then disable all the icons that you do not use. -Additionally you should configure which social icons you plan to use. (makes the css file size smaller) +## Config.toml Configuration -open `themes/abridge/sass/_variables.scss` +Most Options in config.toml are self documenting. (obvious between name of config value and comments) -To simply turn them all off you can set `$enable-icons: false` -Otherwise to turn on only the ones you need you would set `$enable-icons: true` -Then enable only the icons you need, eg for mail you would set `$icon-mail: true` -You should then disable all the icons that you do not use, as this will decrease the final size of your css file. -The difference in size is NOT a lot, without icons its ~4kb, with all the social icons its ~12kb. -There are also some general purpose icons you can use, they are disabled by default. +Abridge will work with a barebones config.toml because default values are provided in the template files. -The theme requires tags and categories taxonomies to be enabled in your `config.toml`: - -```toml -taxonomies = [ - # You can enable/disable RSS - {name = "categories", rss = true}, - {name = "tags", rss = true}, -] -``` +I recommend copying the entire config.toml file as outlined in Step 3 as it provides all configurable values. ### Top and Footer menus + Set a field in `extra` with a key of `menu` and `menu_footer`. +If you want the link to open in a new tab/browser then set `blank = true`. If a link should have a trailing slash at the end of the url set `slash = true`. +(generally all links should have a trailing slash unless its a file link such as sitemap.xml) ```toml -# This is the default menu menu = [ - {url = "/", name = "Home", slash = true}, - {url = "/about/", name = "About", slash = true}, - {url = "/posts/", name = "Posts", slash = true}, - {url = "/categories/", name = "Categories", slash = true}, - {url = "/tags/", name = "Tags", slash = true}, + {url = "about", name = "About", slash = true, blank = false}, + {url = "posts", name = "Posts", slash = true, blank = false}, + {url = "categories", name = "Categories", slash = true, blank = false}, + {url = "tags", name = "Tags", slash = true, blank = false}, ] menu_footer = [ - {url = "/", name = "Home", slash = true}, - {url = "/about/", name = "About", slash = true}, - {url = "/contact/", name = "Contact", slash = true}, - {url = "/privacy/", name = "Privacy", slash = true}, - {url = "/sitemap.xml", name = "Sitemap", slash = false}, + {url = "about", name = "About", slash = true, blank = false}, + {url = "contact", name = "Contact", slash = true, blank = false}, + {url = "privacy", name = "Privacy", slash = true, blank = false}, + {url = "sitemap.xml", name = "Sitemap", slash = false, blank = true}, ] ``` ### SEO and Header Tags -Most SEO Tags have been added as well as some important head tags for browser compatibility. - You can review the SEO tags in the head macro located at `templates/macros/head.html`, all configurable values should be in config.toml under config.extra or in the content markdown files. In your post markdown file you should set a title less than 60 characters and a description between 80 and 160 characters in length. The description is what is displayed in search results below the page title. Anywhere that you do not set a page description, the primary site config.description will be used instead. @@ -482,81 +232,119 @@ thumbnail = "ferris-gesture.png" +++ ``` -There are tools you can use to test your page SEO metadata, such as: [smallseotools.com](https://smallseotools.com/meta-tags-analyzer/) - ### KaTeX Math Notation KaTeX can be used to display complex mathematics, it is a "Fast math typesetting for the web." You can see a demo on [this page](https://abridge.netlify.app/overview-math/). -I recommend only enabling math on a per page bases in your post.md files, instead of in your main config.toml file. +For better performance I recommend only enabling math on a [per page bases in your post.md files](https://github.com/Jieiku/abridge/blob/master/content/overview-math.md?plain=1#L11-L13), instead of in your main config.toml file. -### Templates +## Javascript files -All pages extend to `base.html`, and you can customize them as need. +These are the javascript files currently used by Abridge: -## Optional Performance Optimizations: +- search_index.en.js: search index generated by zola at each build for elasticlunr. +- elasticlunr.min.js: search library for client side searching. +- search.js: to make use of elasticlunr from our sites search box for both suggestions and the results page. +- email.js: uses javascript to obfuscate your real email address for the mail icon at the bottom of the page. +- codecopy.js: add a Copy Button to code blocks, to copy contents of the code block to clipboard. +- theme.js: tiny script to facilitate local storage for the theme switcher. (never bundle, always separate) +- theme_button.js: tiny script for the theme switcher function when you click the theme switch button. +- prestyle.js: Used to preload css files `<link rel="preload"` - this script changes these to `<link rel="stylesheet"` once the page has finished loading, this allows us to load stylesheets for external fonts, fontawesome, or katex in a non blocking fashion. -### Abridge.woff2 Icon Font +### js_bundle option -By default Abridge uses SVG icons directly in CSS, `abridge/sass/include/_icons.scss`, this very efficient and results in the least requests, additionally noscript does not block these resources. +`js_bundle` when set to true serves a bundle file instead of all of the individual js files. -The Abridge.woff2 Icon Font is a subset of Font Awesome, it is still included but not used by default because noscript addon blocks loading of font resources. +All Bundles are defined in [package.json](https://github.com/Jieiku/abridge/blob/master/package.json) -If you still want to use font icons continue reading: +A Bundle can be generated from the package.json scripts using npm: -Abridge.woff2 Icon Font is a subset of Font Awesome, and can be loaded like any other font by uncommenting the font in the `abridge/sass/font.scss` and including the font.css file in your stylesheet array defined in config.toml: `stylesheets = [ "abridge-switcher.css", "font.css", "iconfont.css" ]` +- `npm run abridge-bundle-nosearch` - generates a bundle without search. +- `npm run abridge-bundle-elasticlunr` - generates a bundle of all js with elasticlunr. +- `npm run abridge-bundle-tinysearch` - generates a bundle of all js with tinysearch. +- `npm run abridge-bundle-stork` - generates a bundle of all js with stork. -Abridge.woff2 file can be overridden just like any other Zola theme file, by placing your own Abridge.woff2 in your sites root eg: `mysite/static/font/Abridge.woff2` +## Switch Search Library -To create your own Icon Font with other/more icons you can use the repository here: https://github.com/Jieiku/fontsubset +In addition to elasticlunr abridge also supports tinysearch and stork. -You will also need to add the additional icon entries to `abridge/sass/fonts/_Abridge.scss` +tinysearch demo: https://jieiku.github.io/abridge-tinysearch/ -If you are running Abridge as a submodule, what you can do instead is copy `_Abridge.scss` as your own `mysite/sass/myfont.scss`, and then adjust your config.toml: +stork demo: https://jieiku.github.io/abridge-stork/ -instead of this: `stylesheets = [ "abridge-switcher.css" ]` do this: `stylesheets = [ "abridge-switcher.css", "myfont.css" ]` +To use tinysearch/stork extra steps are required. +**Switch to tinysearch:** -### Theme-Switcher +First you have to install tinysearch so that you can build the index: -The theme switcher relies on javascript to work, it applies the .light class to the root documentElement. The file that handles this (theme.js) is tiny and optimized and it is the first file loaded in the head, so the performance hit is minimal, but it does still exist. Without the Theme switcher you can still use The automatic Theme, it works by using Browser/OS preference, you can even install a [Firefox plugin](https://addons.mozilla.org/en-US/firefox/addon/theme-switcher-for-firefox/) to quickly switch between the two. By default the demo has the theme switcher enabled so that it can be evaluated. +```shell +git clone https://github.com/tinysearch/tinysearch +cd tinysearch +cargo build --release +sudo cp ./target/release/tinysearch /usr/local/bin/tinysearch +exit # reload shell environment +``` -With the growing number of options and configuration it can get confusing. To disable the Theme Switcher, you would set `js_switcher = false` and comment out the Switcher section and enable your choice in the No switcher section, for example: +Switch abridge to tinysearch: +```shell +npm run tinysearch +zola build +tinysearch --optimize --path static public/data_tinysearch/index.html +# zola serve +``` -```toml -################# -# Resource Files -################# -js_switcher = false +**Switch to stork:** + +First you have to install stork so that you can build the index: + +```shell +git clone https://github.com/jameslittle230/stork +cd stork +cargo build --release +sudo cp ./target/release/stork /usr/local/bin/stork +exit # reload shell environment +``` -########## Switcher ########## (comment this block out if NOT using switcher): -#stylesheets = [ "abridge-switcher.css" ] # Orange Automatic Dark/Light Theme based on browser/system preference with switcher -#stylesheets = [ "abridge-blue-switcher.css" ] # Blue Automatic Night/Light Theme based on browser/system preference with switcher -#stylesheets = [ "abridge-blueshade-switcher.css" ] # BlueShade Automatic Night/Light Theme based on browser/system preference with switcher -#stylesheets = [ "abridge-switcher.css", "font.css" ] # include your own font! -#stylesheets = [ "abridge-switcher.css", "iconfont.css" ] # include your own font icons! -#stylesheets = [ "abridge-switcher.css", "font.css", "iconfont.css" ] # include your own font, and font icons! +Switch abridge to stork: -########## No Switcher ########## -stylesheets = [ "abridge.css" ] # Orange Automatic Dark/Light Theme based on browser/system preference -#stylesheets = [ "abridge-blue.css" ] # Blue Automatic Night/Light Theme based on browser/system preference -#stylesheets = [ "abridge-blueshade.css" ] # BlueShade Automatic Night/Light Theme based on browser/system preference -#stylesheets = [ "abridge-dark.css" ] # Orange Dark Theme -#stylesheets = [ "abridge-light.css" ] # Orange Light Theme +```shell +npm run stork +zola build +stork build --input public/data_stork/index.html --output static/stork.st +# zola serve ``` -### Optimize PNG files: +**Switch to elasticlunr:** + +```shell +npm run elasticlunr +``` -All png files can be optimized using [oxipng](https://github.com/shssoichiro/oxipng), this usually results in files 1/2 the size: +**Switch to nosearch:** + +```shell +npm run nosearch +``` + +## Optional Performance Optimizations: + +### Theme-Switcher + +The theme switcher relies on javascript to work, it applies the .light class to the root documentElement. The file that handles this (theme.js) is tiny and optimized and it is the first file loaded in the head, so the performance hit is minimal. Without the Theme switcher you can still use The automatic Theme which uses the Browser/OS preference settings. You can even install a [Firefox plugin](https://addons.mozilla.org/en-US/firefox/addon/theme-switcher-for-firefox/) to quickly switch between the two. + +### Optimize PNG/ICO files: + +All png files can be optimized using [oxipng](https://github.com/shssoichiro/oxipng): ```bash cd static oxipng -o max --strip all -a -Z *.png ``` -You can go even farther if you use leanify: +leanify can compress farther for both png and ico files: ```bash git clone https://github.com/JayXon/Leanify @@ -568,32 +356,13 @@ leanify -i 7777 *.png leanify -i 7777 *.ico ``` -Results of using leanify on files previously processed with oxipng (smaller favicons compressed a lot more): +With larger displays and greater pixel density becoming common it is probably a good idea to use atleast a littly bit of lossy compression. For example you can use pngquant with a 93% quality and you will often get images around 1/2 the size. Understand that pngquant is cumulative, so you should keep your original images somewhere, and only ever use pngquant once per image, if you use it again and again on the same image then you will lower the image quality each time. Always use oxipng afterwards, oxipng is lossless. ```bash -Processing: android-chrome-192x192m.png -2.23 KB -> 2.22 KB Leanified: 11 B (0.48%) -Processing: android-chrome-192x192.png -2.51 KB -> 2.48 KB Leanified: 33 B (1.28%) -Processing: android-chrome-512x512.png -5.49 KB -> 5.25 KB Leanified: 241 B **(4.29%)** -Processing: apple-touch-icon.png -2.57 KB -> 2.54 KB Leanified: 30 B (1.14%) -Processing: banner.png -13.07 KB -> 12.93 KB Leanified: 138 B (1.03%) -Processing: mstile-150x150.png -2.24 KB -> 2.20 KB Leanified: 38 B (1.66%) -Processing: favicon-16x16.png -559 B -> 366 B Leanified: 193 B **(34.53%)** -Processing: favicon-32x32.png -969 B -> 663 B Leanified: 306 B **(31.58%)** -Processing: favicon.ico -2.59 KB -> 1.90 KB Leanified: 703 B **(26.53%)** +pngquant --skip-if-larger --strip --quality=93-93 --speed 1 *.png +oxipng -o max --strip all -a -Z *.png ``` -Google lighthouse will often notice when your pictures could be more compressed, this may even help SEO. - - ### Pre gzip/brotli content to serve with nginx: If you are serving your site with nginx, you can pre gzip your content. @@ -624,24 +393,18 @@ rsync -zvrh ~/.dev/abridge/public/ web:/var/www/abridge Nginx does not come by default with brotli support, but adding it was not difficult. -## Reporting Issues - -We use GitHub Issues as the official bug tracker for **abridge**. -Please search [existing issues](https://github.com/jieiku/abridge/issues). -It’s possible someone has already reported the same problem. -If your problem or idea is not addressed yet, [open a new issue](https://github.com/jieiku/abridge/issues/new). +(Netlify brotli gzips your files automatically, no exta work required.) ## Contributing and Philosophy We'd love your help! Especially with fixes to issues. -The overall idea behind abridge is to be lightweight and fast, and to work properly even if javascript is disabled. +The overall idea behind abridge is to be lightweight, fast, and to work properly even if javascript is disabled. -The only feature that some people may consider a necessity that relies on javascript is the Search. +The only feature that may be considered a necessity that relies on javascript is the Search. -Any feature added to abridge that relies on javascript will do so with it disabled by default. +New features that rely on javascript will do so with it disabled by default unless lightweight and useful. ## License -**abridge** is distributed under the terms of the -[MIT license](https://github.com/jieiku/abridge/blob/master/LICENSE). +**abridge** is distributed under the terms of the [MIT license](https://github.com/jieiku/abridge/blob/master/LICENSE). diff --git a/config.toml b/config.toml index aebb62b..495a088 100644 --- a/config.toml +++ b/config.toml @@ -1,35 +1,81 @@ -# do NOT include a trailing slash on the base URL for web urls +# do NOT include a trailing slash on the base URL base_url = "https://abridge.netlify.app" -#base_url = "/home/jieiku/.dev/abridge/public/" # for locally usable build directly from disk, also set in [extra] section uglyurls = true -title = "Abridge" -description = "Abridge is a fast and lightweight Zola theme using semantic html, abridge.css class-light CSS, and No Mandatory JS." + +#base_url = "/home/jieiku/.dev/abridge/public" # Usable site directly from disk, Including Search! +# Also set index_format = "elasticlunr_javascript", and in [extra] uglyurls = true, integrity = false, js_bundle = false + default_language = "en" -output_dir = "public" compile_sass = true minify_html = false +build_search_index = true + +title = "Abridge" +description = "Abridge is a fast and lightweight Zola theme using semantic html, abridge.css class-light CSS, and No Mandatory JS." generate_feed = true -feed_filename = "atom.xml" -#ignored_content = ["*.{graphml,xlsx}", "temp.*"] -#hard_link_static = false # set to true to hard link instead of copying, useful for very large files. taxonomies = [ {name = "categories", feed = true}, {name = "tags", feed = true}, ] +#feed_filename = "atom.xml" +#output_dir = "public" +#ignored_content = ["*.{graphml,xlsx}", "temp.*"] +#hard_link_static = false # set to true to hard link instead of copying, useful for very large files. + #theme = "abridge" +# Any Extra language you do not use, delete or comment out the extra language sections: +[languages.fr] +title = "Abridge" +description = "Abridge est un thème Zola rapide et léger utilisant le html sémantique, le CSS abridge.css class-light et aucun JS obligatoire." +generate_feed = true build_search_index = true +search.include_description = true # include description of page/section in index +taxonomies = [ + {name = "categories", feed = true}, + {name = "tags", feed = true}, +] + +[languages.fr.translations] +flag = "🇫🇷" +date_locale = "fr_FR" +Search = "Recherche" +Recent_Posts = "Articles Récents" +Updated = "Modifié" +Index = "Indice" +Powered_by = "Propulsé" +and = "et" +About = "Sur" +Posts = "Articles" +Categories = "Catégories" +Tags = "Mots-clés" +Contact = "Contact" +Privacy = "Confidentialité" +Sitemap = "Plan du site" +### Page not found, maybe moved or not in this language +404_not_found = "Page introuvable, peut-être déplacée ou non dans cette langue" +### Try searching or +404_try_search = "Essayez de rechercher ou" +### go to homepage +404_go_home = "allez à la page d'accueil" + +#[languages.es.translations] +#flag = "🇪🇸" +#about = "Acerca de" +#posts = "Publicaciones" +#categories = "Categorías" +#tags = "Etiquetas" + [search] # Options specific to elasticlunr search. +index_format = "elasticlunr_json" # elasticlunr_json, elasticlunr_javascript include_title = true # include title of page/section in index -include_description = false # include description of page/section in index +include_description = true # include description of page/section in index include_content = true # include rendered content of page/section in index -# Truncate content at nth character. Useful if index size significantly slows down the site. -# truncate_content_length = 100 +# truncate_content_length = 100 # Truncate at nth character. May be useful if index is getting too large. [markdown] highlight_code = true highlight_theme = "css" - render_emoji = false external_links_target_blank = true # rel="noopener" external_links_no_follow = false # rel="nofollow" @@ -37,185 +83,256 @@ external_links_no_referrer = false # rel="noreferrer" smart_punctuation = false # `...` to `…`, `"quote"` to `“curly”` etc [extra] -uglyurls = false # if set to true then links are generated with the full path. eg https://abridge.netlify.app/index.html +############################################################################### +### Language +### https://www.w3schools.com/tags/ref_country_codes.asp +### https://tera.netlify.app/docs#date +############################################################################### +date_locale = "en_US" language_code = "en-US" -title_separator = "|" # Separator between title and title_addition, set as |, -, _, etc -# To disable title_addition but keep built in page additions eg, Posts page: "Posts | Abridge" set title_addition to an empty string -# To always set the page title exactly eg "Abridge" then comment out the below line (not recommend, bad for SEO) -title_addition = "Fast & Lightweight Zola Theme" # a default value for title addition +flag.en = "🇬🇧" +flag.fr = "🇫🇷" +#flag.es = "🇪🇸" + + +############################################################################### +### Layout & Format +### position: top, bottom, both, false(hidden) +### size: s95, s90, s85, s80, s75, s70, false(full size) +### divider: " " "·" "•" +############################################################################### + +menu = [ + {url = "about", name = "About", slash = true, blank = false}, + {url = "archive", name = "Posts", slash = true, blank = false}, + {url = "categories", name = "Categories", slash = true, blank = false}, + {url = "tags", name = "Tags", slash = true, blank = false}, +] +menu_footer = [ + {url = "about", name = "About", slash = true, blank = false}, + {url = "contact", name = "Contact", slash = true, blank = false}, + {url = "privacy", name = "Privacy", slash = true, blank = false}, + {url = "sitemap.xml", name = "Sitemap", slash = false, blank = true}, +] + recent = true # TOC / index recent_items = 9 -author = "Jake G" # Put Your Name here -title_size_index = "s85" # size: s95, s90, s85, s80, s75, s70, false(full size) -meta_index = { position="bottom", size="s90", author=false, readtime=false, readstring="min", date=true, categories_tags=true, divider=" " } -meta_post = { position="top", size="s95", author=true, readtime=false, readstring="min read", date=true, categories_tags=true, divider=" " } -## position: top, bottom, both, false(hidden) ## size: s95, s90, s85, s80, s75, s70, false(full size) -## divider: "·" "•" " " +meta_index = { position="bottom", size="s90", author=false, readtime=false, readstring="min", date=true, updated=false, categories_tags=true, divider=" " } +meta_post = { position="top", size="s95", author=true, readtime=false, readstring="min read", date=true, updated=true, categories_tags=true, divider=" " } +hide_section_dates = false # hides the date for sections that use posts.html as their template. +hide_page_nextprev_titles = false # hides the next/previous titles for pages that use page.html as their template. +title_size_index = "s85" # size: s95, s90, s85, s80, s75, s70, false(full size) footer_size = "s90" # size: s95, s90, s85, s80, s75, s70, false(full size) footer_credit = true #footer_credit_override = '<p class="s90">Powered by <a href="https://www.getzola.org/" target="_blank">Zola</a> & <a href="https://github.com/Jieiku/abridge/" target="_blank">Abridge</a></p>' +#archive_reverse = true # Set to True to sort posts chronologically per year instead of newest first on the archive page: example.com/archive/ -#uncomment one of the two lines, or neither, depending on which type of logo you want to use: +### Uncomment one of the below lines, or neither, depending on which type of logo you want to use: #logo = { file="logo.svg", width="32", height="32", alt="Abridge", text="bridge" } #textlogo = '<font color="#f90">A</font>bridge' textlogo = '<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="#f90" viewBox="0 0 96 96" width="32" height="32"><path stroke-width="14" d="M14 99 46 7h4l32 92"/><path stroke-width="9" d="M-3 82c43-26 59-26 102 0"/><path stroke-linecap="round" stroke-width="1.5" d="M94 72v7m-5-9.8v7m-5-9.8v7.1M79 64v7M63 57.7v7m-5-8.2v7m-5-7.8v7m-5-7.2v7m-5-6.7v7m-5-6.3v7m-5-5.8v7M17 64v7m-5-4.6v7m-5-4.2v7M2 72v7"/></svg>bridge' sitedesc = false # enables or disables the display of the site description below the logo. -#copyright_start_year = 2019 # optional -#copyright_end_year = 2020 # optional, recommend leaving unset, zola build will set this to current year by default headhr = false # show or hide horizontal rule below header foothr = true # show or hide horizontal rule above footer -menu = [ - {url = "/about/", name = "About", slash = true, blank = false}, - {url = "/posts/", name = "Posts", slash = true, blank = false}, - {url = "/categories/", name = "Categories", slash = true, blank = false}, - {url = "/tags/", name = "Tags", slash = true, blank = false}, -] -menu_footer = [ - {url = "/about/", name = "About", slash = true, blank = false}, - {url = "/contact/", name = "Contact", slash = true, blank = false}, - {url = "/privacy/", name = "Privacy", slash = true, blank = false}, - {url = "/sitemap.xml", name = "Sitemap", slash = false, blank = true}, -] +#copyright_start_string = "©" +#copyright_start_year = 2019 # optional +#copyright_end_year = "" # optional, recommend leaving unset, zola build will set this to current year by default, can use empty string to omit the year. +#copyright_entity = "MyName." # optional, if ommited then the config.title is used. +#copyright_end_string = 'Unless otherwise noted, the content in this website is available under the <a href="http://creativecommons.org/licenses/by-nd/3.0/">CC BY-ND 3.0</a> license.' -# Security Headers should preferably be set by your webserver (Nginx, Apache) https://observatory.mozilla.org https://csp-evaluator.withgoogle.com/ -# If you are unable to load your security headers with your webserver, this will load a couple of them as meta tags. -# There are many other security related headers most of which can only be set by the webserver method. -# Comment out either of these meta headers and they wont be used. +############################################################################### +### meta/seo/analytic tags +### To disable title_addition but keep built in page additions eg, Posts page: "Posts | Abridge" set title_addition to an empty string +### To always set the page title exactly eg "Abridge" then comment out title_addition or set to false (not recommend, bad for SEO) +############################################################################### -#security_header_referrer = "strict-origin-when-cross-origin" +title_separator = "|" # Separator between title and title_addition, set as |, -, _, etc +title_addition = "Fast & Lightweight Zola Theme" # a default value for title addition +author = "Jake G" # Put Your Name here +keywords = "Abridge, Abridge.css, Zola, Theme, Zola Theme, getzola, Semantic Html, Fast, lightweight" # used for the primary site index +banner = "banner.png" # Used as default image for OpenGraph/Twitter if page specific image is undefined. +twitter_meta = "your-user-name" # for SEO: twitter:site and twitter:creator +google = "Your Google Site verification code." +bing = "Your Bing Site verification code." +seo = true # enable or disable seo-related meta tags: opengraph, facebook, twitter +#dev = false # development mode, if true then robots.txt should prevent search indexing. -#security_header_csp = "default-src 'none'; frame-ancestors 'none'; object-src 'none'; base-uri 'self'; manifest-src 'self'; connect-src 'self'; form-action 'self'; script-src 'self'; img-src 'self' data: cdn.cloudflare.com; frame-src 'self' www.youtube-nocookie.com player.vimeo.com; media-src 'self' data: cdn.cloudflare.com www.youtube-nocookie.com player.vimeo.com; font-src 'self' cdn.cloudflare.com cdn.jsdelivr.net fonts.gstatic.com; style-src 'self' 'unsafe-inline' cdn.cloudflare.com cdn.jsdelivr.net fonts.googleapis.com;" -################# -# Resource Files -################# -integrity = true # setting this to false is useful for developing, should normally be true. -js_bundle = true # multiple javascript files combined into a single file -js_switcher = true -js_search_facade = true # Do not load search until user interaction with search. -# search library to use, valid values are: false, "elasticlunr", "tinysearch", "stork" -search_library = false +############################################################################### +### Footer social links; these are used in macros/social.html +### https://github.com/Jieiku/abridge/blob/master/templates/macros/social.html +############################################################################### + +feed = true # this adds the RSS feed icon in the footer. +mail_encode = true # This obfuscates your email address, javascript is used to decode it at page load. +mail = "name@example.com" +mastodon = "@your-user-name" +element = "matrix.example.com" +buymeacoffee = "your-user-name" +kofi = "your-user-name" +discord = "your-discord" # Everything after https://discord.com/ eg: invite/my-server *or* servers/my-server-id +twitter = "your-user-name" +facebook = "your-user-name" +linkedin = "your-user-name" +gitlab = "your-user-name" +github = "your-user-name" +codeberg = "your-user-name" # Everything after https://codeberg.org/ eg: username *or* username/repository +github_sponsor = "your-user-name" +bitbucket = "your-user-name" +python = "your-user-name" +docker = "your-user-name" +stack = "your-user-name" +instagram = "your-user-name" +pinterest = "your-user-name" +twitch = "your-user-name" +youtube = "channel/your-channel-id" +researchgate = "your-profile-id" + -js_search_index = "search_index.en.js" # Separate Always, generated each build -js_prestyle = "prestyle.js"# Bundleable - used to preload: FontAwesome, Katex, external Google Fonts -js_codecopy = "codecopy.js"# Bundleable -js_email = "email.js"# Bundleable -js_theme = "theme.min.js" # Separate Always, comment out if using -auto/-light/-dark stylesheet. (required for switcher) -js_themeButton = "theme_button.js"# Bundleable +############################################################################### +### Resource Files +### You can load extra css files if you need to, just separate by comma: +### stylesheets = [ "abridge.css", "extra.css" ] +### search_library: library to use, valid values: false, "elasticlunr", "tinysearch", "stork" +############################################################################### -########## Switcher ########## (comment this block out if NOT using switcher): -stylesheets = [ "abridge-switcher.css" ] # Orange Automatic Dark/Light Theme based on browser/system preference with switcher -#stylesheets = [ "abridge-blue-switcher.css" ] # Blue Automatic Night/Light Theme based on browser/system preference with switcher -#stylesheets = [ "abridge-blueshade-switcher.css" ] # BlueShade Automatic Night/Light Theme based on browser/system preference with switcher -#stylesheets = [ "abridge-switcher.css", "font.css" ] # include your own font! -#stylesheets = [ "abridge-switcher.css", "iconfont.css" ] # include your own font icons! -#stylesheets = [ "abridge-switcher.css", "font.css", "iconfont.css" ] # include your own font, and font icons! +uglyurls = false # if set to true then links are generated with the full path. eg https://abridge.netlify.app/index.html +integrity = true # increases site security, should normally be true. (setting to false is useful during js development) -########## No Switcher ########## -#stylesheets = [ "abridge.css" ] # Orange Automatic Dark/Light Theme based on browser/system preference -#stylesheets = [ "abridge-blue.css" ] # Blue Automatic Night/Light Theme based on browser/system preference -#stylesheets = [ "abridge-blueshade.css" ] # BlueShade Automatic Night/Light Theme based on browser/system preference -#stylesheets = [ "abridge-dark.css" ] # Orange Dark Theme -#stylesheets = [ "abridge-light.css" ] # Orange Light Theme -#stylesheets = [ "abridge-blue-dark.css" ] # Blue Dark Theme -#stylesheets = [ "abridge-blue-light.css" ] # Blue Light Theme -#stylesheets = [ "abridge-blueshade-dark.css" ] # BlueShade Dark Theme -#stylesheets = [ "abridge-blueshade-light.css" ] # BlueShade Light Theme -#stylesheets = [ "abridge.css", "extra.css" ] # example loading extra css -#stylesheets = [ "abridge.css", "syntax/syntax-abridge.css" ] +js_bundle = true # multiple javascript files combined into a single file (setting to false is useful during js development) +js_switcher = true # The button that allows manually changing between light/dark mode. +js_switcher_default = "dark" # default nojs switcher mode: dark, light (make sure to also set $switcherDefault in abridge.scss) + +js_copycode = true # The copy button on code blocks that allows you to copy them to the clipboard. + +search_library = 'elasticlunr' + +#js_search_index = "search_index.en.json" # Separate Always, generated each build +#js_theme = "js/theme.min.js" # Separate Always, comment out if using -auto/-light/-dark stylesheet. (required for switcher) +#js_themeButton = "js/theme_button.js"# Bundleable - light/dark switcher button +#js_prestyle = "js/prestyle.js"# Bundleable - used to preload: FontAwesome, Katex, external Google Fonts +#js_codecopy = "js/codecopy.js"# Bundleable - copy code block to clipboard button +#js_email = "js/email.js"# Bundleable - obfuscates email address in footer + +stylesheets = ["abridge.css"] + + +############################################################################### +### Favicons, comment out a line to disable loading some or all of these if needed. +############################################################################### -banner = "banner.png" # Used as default image for OpenGraph/Twitter if page specific image is undefined. -# favicons, comment out a line to disable loading some or all of these. favicon_theme_color = "#333333" favicon_ms_color = "#333333" favicon_webmanifest = "site.webmanifest" # Used for android-chrome-512x512.png and android-chrome-192x192.png favicon_mask = "safari-pinned-tab.svg" # safari-pinned-tab.svg favicon_mask_color = "#ff9900" +favicon_svg = "favicon.svg" # favicon.svg favicon180 = "apple-touch-icon.png" # apple-touch-icon.png favicon32 = "favicon-32x32.png" # favicon-32x32.png favicon16 = "favicon-16x16.png" # favicon-16x16.png -icon_search = "svgs search" # Search button in search box. -icon_adjust = "svgs adjust" # Theme Switcher button in top menu. (add class svgh to change colors on hover) -icon_first = "svgs svgh angll" # Pagination First Page. -icon_prev = "svgs svgh angl" # Pagination Previous Page. -icon_next = "svgs svgh angr" # Pagination Next Page. -icon_last = "svgs svgh angrr" # Pagination Last Page. -icon_top = "svgs svgh angu" # Back to Top Button. -# Uncomment below line to load fontawesome, eg: <i class="fa-solid fa-heart"></i> -#fontawesome = "https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.1.1/css/all.min.css" +############################################################################### +### Icons +### Loading the entire fontawesome icon collection will negatively impact your sites performance. +### For a lightweight solution consider adding only the icons that you need to the following file: +### https://github.com/Jieiku/abridge/blob/master/sass/include/_icons.scss +############################################################################### + +### To disable any of these icons set them to "false" (will default to unicode icons instead) +#icon_search = "svgs search" # Search button in search box. +#icon_adjust = "svgs adjust" # Theme Switcher button in top menu. (add class svgh to change colors on hover) +#icon_first = "svgs svgh angll" # Pagination First Page. +#icon_prev = "svgs svgh angl" # Pagination Previous Page. +#icon_next = "svgs svgh angr" # Pagination Next Page. +#icon_last = "svgs svgh angrr" # Pagination Last Page. +#icon_top = "svgs svgh angu" # Back to Top Button. + +#icon_read = "svgs fa-solid fa-glasses" # displayed in metadata on index and below title on page. +#icon_date = "svgs fa-solid fa-calendar" # displayed in metadata on index and below title on page. +#icon_info = "svgs fa-solid fa-circle-info" # displayed in metadata on index and below title on page for categories/tags +#icon_author = "svgs fa-solid fa-pen-fancy" # displayed in metadata on index and below title on page. -# Icons, by default fontawesome classes, but you can specify any icon you want here. +### Uncomment below line to load fontawesome, eg: <i class="fa-solid fa-heart"></i> +#fontawesome = "https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.1.1/css/all.min.css" #icon_read = "svgs fa-solid fa-glasses" # displayed in metadata on index and below title on page. #icon_date = "svgs fa-solid fa-calendar" # displayed in metadata on index and below title on page. #icon_info = "svgs fa-solid fa-circle-info" # displayed in metadata on index and below title on page for categories/tags #icon_author = "svgs fa-solid fa-pen-fancy" # displayed in metadata on index and below title on page. -# For externally loaded Fonts, make sure to include the FULL url including the http/https prefix -#fonts = [ {url = "https://fonts.googleapis.com/css?family=Montserrat:400,700,italic|Fira+Code:400,italic"} ] -# Local fonts are defined in the css, defining them here only adds the preload tag to the head. -# preload will eliminate Content Layout Shift, but will hurt with page load time. (not recommended) +############################################################################### +### Security Settings +### Security Headers should preferably be set by your webserver (Nginx, Apache) +### https://observatory.mozilla.org https://csp-evaluator.withgoogle.com/ +### If you are unable to load your security headers with your webserver, this will load a couple of them as meta tags. +### There are many other security related headers most of which can only be set by the webserver method. +### If you happen to use Netlify, you can define all the headers in your netlify.toml file: +### https://github.com/Jieiku/abridge/blob/master/netlify.toml +### UnComment any of these lines to enable their meta tags. +############################################################################### + +#security_header_referrer = "strict-origin-when-cross-origin" + +#security_header_csp = "default-src 'none'; frame-ancestors 'none'; object-src 'none'; base-uri 'self'; manifest-src 'self'; connect-src 'self'; form-action 'self'; script-src 'self'; img-src 'self' data: cdn.cloudflare.com; frame-src 'self' www.youtube-nocookie.com player.vimeo.com; media-src 'self' data: cdn.cloudflare.com www.youtube-nocookie.com player.vimeo.com; font-src 'self' cdn.cloudflare.com cdn.jsdelivr.net fonts.gstatic.com; style-src 'self' 'unsafe-inline' cdn.cloudflare.com cdn.jsdelivr.net fonts.googleapis.com;" + + +############################################################################### +### FONTS +### Abridge by default uses the System Font Stack: +### https://css-tricks.com/snippets/css/system-font-stack/ +### The System Font Stack offers the best performance, but if you need you can load a specific font. +############################################################################### + +### For externally loaded Fonts, make sure to include the FULL url including the https prefix: + +#fonts = [ {url = "https://fonts.googleapis.com/css?family=Roboto:400,700,italic|Roboto+Mono:400,italic"} ] + +### Local fonts are defined in the css, https://github.com/Jieiku/abridge/blob/master/sass/fonts/_Roboto.scss +### To import one include in the imports file: https://github.com/Jieiku/abridge/blob/master/sass/_imports.scss + +### After importing them in the CSS, You can also define them below and it will add the preload tag to the head. +### preloading fonts will eliminate Content Layout Shift, but will hurt with page load time. (not recommended) + #fonts = [ -# {url = "font/FiraCode.woff2"}, +# {url = "font/Roboto-Mono.woff2"}, +# {url = "font/Roboto-Mono-Italic.woff2"}, # {url = "font/Roboto.woff2"}, # {url = "font/Roboto-Italic.woff2"}, # {url = "font/Roboto-Bold.woff2"}, #] -math = false # katex math js library, used to to render mathematical notations, requires javascript -math_auto_render = false +############################################################################### +### Katex - math js library, used to to render mathematical notations +### It's best to enable katex on a per page bases as I did here: +### https://abridge.netlify.app/overview-math/ +### https://github.com/Jieiku/abridge/blob/master/content/overview-math.md?plain=1#L11-L13 +### Otherwise you will load the katex related javascript on every page! +############################################################################### + +#katex_options = "js/katexoptions.js" +#katex_bundle = "js/katexbundle.min.js" + +### Load Katex Local Resources +#katex_css = "katex.min.css" # Fonts - load the css/fonts locally +#katex_js = "js/katex.min.js" # use local js, so that we dont have to whitelist cdn.jsdelivr.net for script src in CSP +#mathtex_js = "js/mathtex-script-type.min.js" # use local js, so that we dont have to whitelist cdn.jsdelivr.net for script src in CSP +#katex_autorender_js = "js/katex-auto-render.min.js" + +### Load Katex External Resources #katex_css = "https://cdn.jsdelivr.net/npm/katex@0.15.6/dist/katex.min.css" # Fonts - use remote fonts +#katex_css_integrity = "sha384-ZPe7yZ91iWxYumsBEOn7ieg8q/o+qh/hQpSaPow8T6BwALcXSCS6C6fSRPIAnTQs" #katex_js = "https://cdn.jsdelivr.net/npm/katex@0.15.6/dist/katex.min.js" +#katex_js_integrity = "sha384-ljao5I1l+8KYFXG7LNEA7DyaFvuvSCmedUf6Y6JI7LJqiu8q5dEivP2nDdFH31V4" #katex_autorender_js = "https://cdn.jsdelivr.net/npm/katex@0.15.6/dist/contrib/auto-render.min.js" +#katex_autorender_js_integrity = "sha384-+XBljXPPiv+OzfbB3cVmLHf4hdUFHlWNZN5spNQ7rmHTXpd7WvJum6fIACpNNfIR" #mathtex_js = "https://cdn.jsdelivr.net/npm/katex@0.15.6/dist/contrib/mathtex-script-type.min.js" +#mathtex_js_integrity = "sha384-jiBVvJ8NGGj5n7kJaiWwWp9AjC+Yh8rhZY3GtAX8yU28azcLgoRo4oukO87g7zDT" -katex_css = "katex.min.css" # Fonts - to load the css locally, you also need to have all the fonts. -katex_js = "katex.min.js" # use local js, so that we dont have to whitelist cdn.jsdelivr.net for script src in CSP -mathtex_js = "mathtex-script-type.min.js" # use local js, so that we dont have to whitelist cdn.jsdelivr.net for script src in CSP -katex_autorender_js = "auto-render.min.js" -katex_options = "katexoptions.js" -katex_bundle = "katexbundle.min.js" - - -########################## -# meta/seo/analytic tags -########################## -keywords = "Abridge, Abridge.css, Zola, Theme, Zola Theme, getzola, Semantic Html, Fast, lightweight" # used for the primary site index -twitter = "your-user-name" # used for twitter related -#google = "Your Google Site verification code." -#bing = "Your Bing Site verification code." -seo = true # enable or disable seo-related meta tags: opengraph, facebook, twitter - -# Footer social links; full options listed in macros/social.html -[extra.social] -feed = true -mail_encode = true # This obfuscates your email address, javascript is used to decode it at page load. -mail = "name@example.com" -mastodon = "@your-user-name" -element = "matrix.example.com" -#matrix = "matrix.example.com" -buymeacoffee = "your-user-name" -discord = "your-discord" # Everything after https://discord.com/ eg: invite/my-server *or* servers/my-server-id -twitter = "your-user-name" -facebook = "your-user-name" -linkedin = "your-user-name" -gitlab = "your-user-name" -github = "your-user-name" -codeberg = "your-user-name" # Everything after https://codeberg.org/ eg: username *or* username/repository -github_sponsor = "your-user-name" -bitbucket = "your-user-name" -python = "your-user-name" -docker = "your-user-name" -stack = "your-user-name" -instagram = "your-user-name" -pinterest = "your-user-name" -twitch = "your-user-name" -youtube = "channel/your-channel-id" -researchgate = "your-profile-id" +#math = false # Recommended setting false, and enable on per page bases instead. +#math_auto_render = false # Recommended setting false, and enable on per page bases instead. diff --git a/content/_index.fr.md b/content/_index.fr.md new file mode 100644 index 0000000..3511f76 --- /dev/null +++ b/content/_index.fr.md @@ -0,0 +1,4 @@ ++++ +paginate_by = 3 +sort_by = "date" ++++ diff --git a/content/archive/_index.fr.md b/content/archive/_index.fr.md new file mode 100644 index 0000000..b1a35cf --- /dev/null +++ b/content/archive/_index.fr.md @@ -0,0 +1,3 @@ ++++ +template = "archive.html" ++++ diff --git a/content/archive/_index.md b/content/archive/_index.md new file mode 100644 index 0000000..b1a35cf --- /dev/null +++ b/content/archive/_index.md @@ -0,0 +1,3 @@ ++++ +template = "archive.html" ++++ diff --git a/content/blog/_index.fr.md b/content/blog/_index.fr.md new file mode 100644 index 0000000..0b72ce0 --- /dev/null +++ b/content/blog/_index.fr.md @@ -0,0 +1,5 @@ ++++ +template = "index.html" +paginate_by = 3 +sort_by = "date" ++++ diff --git a/content/blog/_index.md b/content/blog/_index.md new file mode 100644 index 0000000..0b72ce0 --- /dev/null +++ b/content/blog/_index.md @@ -0,0 +1,5 @@ ++++ +template = "index.html" +paginate_by = 3 +sort_by = "date" ++++ diff --git a/content/blog/blog-section.fr.md b/content/blog/blog-section.fr.md new file mode 100644 index 0000000..6c1fe97 --- /dev/null +++ b/content/blog/blog-section.fr.md @@ -0,0 +1,29 @@ ++++ +title = "Blog Section" +date = 2021-05-04 +draft = false + +[taxonomies] +categories = ["Features"] +tags = ["config"] ++++ + +Vous pouvez placer votre contenu dans content/blog/ au lieu de content/ cela fera des URL de publication example.com/blog/post-title +<!-- more --> +Dans le répertoire du blog, vous verrez le _index.md: + +```md ++++ +template = "index.html" +paginate_by = 3 +sort_by = "date" ++++ +``` + +Au lieu de index.html, vous pouvez également spécifier archive.html, les deux modèles prennent en charge les sections: + +```md ++++ +template = "archive.html" ++++ +``` diff --git a/content/blog/blog-section.md b/content/blog/blog-section.md new file mode 100644 index 0000000..71bb0f5 --- /dev/null +++ b/content/blog/blog-section.md @@ -0,0 +1,29 @@ ++++ +title = "Blog Section" +date = 2021-05-04 +draft = false + +[taxonomies] +categories = ["Features"] +tags = ["config"] ++++ + +You can place your content in content/blog/ instead of content/ this will make post urls example.com/blog/post-title +<!-- more --> +In the blog directory you will see the _index.md: + +```md ++++ +template = "index.html" +paginate_by = 3 +sort_by = "date" ++++ +``` + +Instead of index.html you can also specify archive.html, both templates support sections: + +```md ++++ +template = "archive.html" ++++ +``` diff --git a/content/overview-abridge.fr.md b/content/overview-abridge.fr.md new file mode 100644 index 0000000..388ff69 --- /dev/null +++ b/content/overview-abridge.fr.md @@ -0,0 +1,65 @@ ++++ +title = "Abridge Zola Thème" +date = 2022-05-17 +updated = 2023-07-21 +draft = false + +[taxonomies] +categories = ["Features"] +tags = ["config"] ++++ + +Abridge est un thème Zola rapide et léger utilisant du HTML sémantique, seulement ~6kb css avant les icônes svg et la coloration syntaxique, pas de JS obligatoire, et des scores parfaits [Lighthouse](https://pagespeed.web.dev/report?url=abridge.netlify.app), [YellowLabTools](https://yellowlab.tools/), et [Observatory](https://observatory.mozilla.org/analyze/abridge.netlify.app) scores. Voici une page [de références des thèmes Zola](https://github.com/Jieiku/zola-themes-benchmarks/blob/main/README.md). +<!-- more --> +Pour une configuration rapide, copiez le fichier config.toml du thème abrégé à la racine de votre site zola, cela vous donnera une configuration de base avec toutes les valeurs de configuration utilisées. + +Vous pouvez ensuite modifier ou commenter les valeurs de ce fichier si nécessaire. + +Vous devez également décommenter la ligne #theme = "abridge" dans votre fichier racine zola config.toml. Cela indique à votre site racine zola d'utiliser le thème abrégé dans le dossier des thèmes. + +## Pagination + +Vous pouvez définir le nombre d'éléments qui apparaissent sur la page d'accueil en modifiant `content\_index.md` le fichier et en ajustant `paginate_by = 3` + +## Sass Overrides + +Les variables SCSS abrégées peuvent être remplacées en modifiant `sass\abridge.scss` fichier dans le dossier sass racine de votre projet. + +### Page Width + +```scss +$mw:75%,// largeur maximale +``` + +### Abridge Theme Modes + +```scss +$abridgeMode: "switcher",//valeurs valides : switcher, auto, dark, light +``` + +### Colors and Styles + +Vous pouvez spécifier le modèle de couleur que vous souhaitez utiliser comme base: +```scss +$color: "orange",// modèle de couleur à utiliser/remplacer: orange, blue, blueshade +``` + +Remplacez ensuite les couleurs individuelles si nécessaire: +```scss +/// Dark Colors +$f1d: #ccc,// Font Color Primary +$f2d: #ddd,// Font Color Headers +$c1d: #111,// Background Color Primary +$c2d: #222,// Background Color Secondary +... +``` + +### Footer Social Icons + +Vous devez configurer les icônes sociales que vous prévoyez d'utiliser. (rend la taille du fichier css plus petite) + +Pour les désactiver tous simplement, vous pouvez définir `$enable-icons: false` + +Sinon, activez uniquement les icônes dont vous avez besoin, par exemple pour le courrier que vous définiriez `$icon-mail: true` + +Vous devez ensuite désactiver toutes les icônes que vous n'utilisez pas. diff --git a/content/overview-abridge.md b/content/overview-abridge.md index 93e740b..e3f0b58 100644 --- a/content/overview-abridge.md +++ b/content/overview-abridge.md @@ -1,6 +1,7 @@ +++ title = "Abridge Zola Theme" date = 2022-05-17 +updated = 2023-07-21 draft = false [taxonomies] @@ -16,11 +17,49 @@ You can then edit or comment out the values in this file as necessary. You should also uncomment out the line #theme = "abridge" in your root zola config.toml file. This tells your root zola site to use the abridge theme in the themes folder. -You can set the number of items that appear on the home page by editing `themes\abridge\content\_index.md` file and adjusting `paginate_by = 5` +## Pagination -You can set the overal page width by editing `themes\abridge\sass\_variables.scss` file, and adjusting these two lines: +You can set the number of items that appear on the home page by editing `content\_index.md` file and adjusting `paginate_by = 3` + +## Sass Overrides + +Abridge SCSS variables can be overrided by editing `sass\abridge.scss` file in your project's root sass folder. + +### Page Width + +```scss +$mw:75%,// max-width +``` + +### Abridge Theme Modes ```scss -$mw:50% !default;// max-width -$mb:1200px !default;// value at which to switch from fluid layout to using max-width +$abridgeMode: "switcher",//valid values: switcher, auto, dark, light ``` + +### Colors and Styles + +You can specify which color template you want to use as a base: +```scss +$color: "orange",// color template to use/override: orange, blue, blueshade +``` + +Then override individual colors as needed: +```scss +/// Dark Colors +$f1d: #ccc,// Font Color Primary +$f2d: #ddd,// Font Color Headers +$c1d: #111,// Background Color Primary +$c2d: #222,// Background Color Secondary +... +``` + +### Footer Social Icons + +You should configure which social icons you plan to use. (makes the css file size smaller) + +To simply turn them all off you can set `$enable-icons: false` + +Otherwise enable only the icons you need, eg for mail you would set `$icon-mail: true` + +You should then disable all the icons that you do not use. diff --git a/content/overview-code-blocks.fr.md b/content/overview-code-blocks.fr.md new file mode 100644 index 0000000..b640069 --- /dev/null +++ b/content/overview-code-blocks.fr.md @@ -0,0 +1,377 @@ ++++ +title = "Blocs de code et thèmes" +description = "Exemple d'article présentant la coloration syntaxique et la mise en forme des blocs de code avec un thème personnalisé." +date = 2022-05-16 +draft = false + +[taxonomies] +categories = ["Features"] +tags = ["Markdown"] +[extra] +toc = true +keywords = "Code, Code Blocks, Syntax, Syntax Highlighting, Theme" ++++ + +Cet article présente différents Code Blocks permettant de comparer facilement des thèmes sublimes. +<!-- more --> +## Blocs de codes + +Blocs de code.. ❤️ avec coloration syntaxique automatique ✨ + +Voir [les docs](https://www.getzola.org/documentation/content/syntax-highlighting/) pour les options. + +### Bloc de code en ligne + +Si nous voulons, nous pouvons aussi `spécifier le code en ligne` ce qui est utile pour `les petites choses`. + +### rust +```rust +fn main() { + let greetings = ["Hello", "Hola", "Bonjour", + "Ciao", "こんにちは", "안녕하세요", + "Cześć", "Olá", "Здравствуйте", + "Chào bạn", "您好", "Hallo", + "Hej", "Ahoj", "سلام", + "Hej", "Hallo", "Hei", + "Helló", "Hallo", "Buna ziua", + "Merhaba"]; + + for (num, greeting) in greetings.iter().enumerate() { + print!("{} : ", greeting); + match num { + 0 => println!("This code is editable and runnable!"),//en English + 1 => println!("¡Este código es editable y ejecutable!"),//es Spanish + 2 => println!("Ce code est modifiable et exécutable !"),//fr French + 3 => println!("Questo codice è modificabile ed eseguibile!"),//it Italian + 4 => println!("このコードは編集して実行出来ます!"),//jp Japanese + 5 => println!("여기에서 코드를 수정하고 실행할 수 있습니다!"),//ko Korean + 6 => println!("Ten kod można edytować oraz uruchomić!"),//pl Polish + 7 => println!("Este código é editável e executável!"),//pt Portuguese + 8 => println!("Этот код можно отредактировать и запустить!"),//ru Russian + 9 => println!("Bạn có thể edit và run code trực tiếp!"),//vi Vietnamese + 10 => println!("这段代码是可以编辑并且能够运行的!"),//zh Chinese + 11 => println!("Dieser Code kann bearbeitet und ausgeführt werden!"),//de German + 12 => println!("Den här koden kan redigeras och köras!"),//sv Swedish + 13 => println!("Tento kód můžete upravit a spustit"),//cs Czech + 14 => println!("این کد قابلیت ویرایش و اجرا دارد!"),//fa Persian + 15 => println!("Denne kode kan redigeres og køres!"),//da Danish + 16 => println!("Deze code is bewerkbaar en uitvoerbaar!"),//du Dutch + 17 => println!("Tämä koodi on muokattavissa ja ajettavissa!"),//fi Finnish + 18 => println!("Ez a kód szerkeszthető és futtatható!"),//hu Hungarian + 19 => println!("Denne koden er redigerbar og kjørbar!"),//no Norwegian + 20 => println!("Acest cod este editabil și rulabil!"),//ro Romanian + 21 => println!("Bu kod düzenlenebilir ve çalıştırılabilir!"),//tr Turkish + _ => {}, + } + } +} +``` + +### TOML +```toml,linenos,hl_lines=3 +base_url = "https://abridge.netlify.app/" +title = "Abridge" +description = "Abridge est un thème Zola rapide et léger utilisant le HTML sémantique, le CSS abridge.css class-light et aucun JS obligatoire." +default_language = "en" +#theme = "abridge" + +build_search_index = true +minify_html = false +feed_filename = "atom.xml" +taxonomies = [ + {name = "categories", feed = true}, + {name = "tags", feed = true}, +] +``` + +### html +```html +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title>Example HTML5 Document</title> +</head> +<body> + <!--Main Content Area--> + <p>Test</p> +</body> +</html> +``` + +### CSS +```css +html { + font-size: var(--fs); +} + +.c { + text-align: center; +} +``` + +### SCSS +```scss + +$font: Roboto system-ui -apple-system BlinkMacSystemFont "Segoe UI" Oxygen Ubuntu Cantarell "Fira Sans" "Droid Sans" "Helvetica Neue" "Noto Sans" Helvetica Arial sans-serif !default; +$font-mono: ui-monospace Menlo Monaco Consolas "SF Mono" "Cascadia Mono" "Segoe UI Mono" "DejaVu Sans Mono" "Liberation Mono" "Roboto Mono" "Oxygen Mono" "Ubuntu Monospace" "Ubuntu Mono" "Source Code Pro" "Fira Mono" "Droid Sans Mono" "Courier New" Courier monospace !default; + +@mixin font { + // convert space separated list to comma separated list + $font: list.join($font, "", $separator: comma); + $font: functions.remove($font, ""); + $font-mono: list.join($font-mono, "", $separator: comma); + $font-mono: functions.remove($font-mono, ""); + + $font: functions.font-var($font, $fontExt-Main, $findFont-Main); + $font-mono: functions.font-var($font-mono, $fontExt-Code, $findFont-Code); + + #{--ff}: $font; + #{--fm}: $font-mono;//code +} +``` + +### javascript +```javascript +function closeSearch() {//close the search displaying the regular page. + const e = document.querySelector("main"); + e.innerHTML = window.main +} + +function goSearch() {// on enter key or search icon click display results to the page. + const e = document.querySelector("main"); + window.main || (window.main = e.innerHTML); + var t = document.getElementById("suggestions"), + n = ((ResultsClone = t.cloneNode(!0)).id = "results", document.createElement("div")), + o = '<h2><button type="button" title="Close Search" onclick="closeSearch()"><i class="svgs x"></i></button> Results For: '.concat(document.getElementById("searchinput").value, "</h2>"); + return n.innerHTML = o, ResultsClone.insertBefore(n, ResultsClone.firstChild), e.innerHTML = ResultsClone.outerHTML, t.innerHTML = "", document.getElementById("searchinput").value = "", !1 +}! function() { + // search function code goes here +} +``` + +### php +```php +<?php +/** + * Postfix Admin + */ +require_once('common.php'); +$CONF = Config::getInstance()->getAll(); + +if ($_SERVER['REQUEST_METHOD'] == "POST") { + if (!isset($_SESSION['PFA_token'])) { + die("Invalid token (session timeout; refresh the page and try again?)"); + } + $fUsername = trim(safepost('fUsername')); + if ($lang != check_language(false)) { # only set cookie if language selection was changed + setcookie('lang', $lang, time() + 60*60*24*30); # language cookie, lifetime 30 days + } +} + +$_SESSION['PFA_token'] = md5(uniqid("pfa" . rand(), true)); + +/* vim: set expandtab softtabstop=4 tabstop=4 shiftwidth=4: */ +``` + + +### json +```json +{ + "name": "Abridge Zola Theme", + "short_name": "Abridge", + "description": "Fast & Lightweight Zola Theme", + "start_url": "/index.html", + "scope": "/", + "background_color": "#111111", + "theme_color": "#222222", + "display": "standalone", + "icons": [ + { + "src": "/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + }, + { + "src": "/android-chrome-192x192m.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + } + ] +} +``` + +### SQL +```sql +-- jelly-actix-web-starter - Creates an accounts table, along with some associated helpers. + +create or replace function update_timestamp() returns trigger as $$ +begin + new.updated = now(); + return new; +end; +$$ language 'plpgsql'; + +create table if not exists accounts ( + id serial primary key, + name text not null, + email text not null unique, + password text not null, + profile jsonb not null default '{}', + plan integer not null default 0, + is_active boolean not null default true, + is_admin boolean not null default false, + has_verified_email boolean not null default false, + last_login timestamp with time zone, + created timestamp with time zone not null default now(), + updated timestamp with time zone not null default now() +); + +create unique index accounts_unique_lower_email_idx on accounts (lower(email)); + +create trigger user_updated before insert or update on accounts +for each row execute procedure update_timestamp(); +``` + +### Lua +```lua +function square(x) + return x * x +end + +print(square(2)) -- prints '4' + +function getPlayerInformation() + playerName = UnitName("player") + playerLevel = UnitLevel("player") + specId, specName = GetSpecializationInfo(GetSpecialization()) + + return "Hey, I'm " .. playerName .. " (Level " .. playerLevel .. "). I'm currently in spec " .. specName .. "." +end + +print(getPlayerInformation()) +``` + +### C +```c +#include <stdio.h> +int main() { + int a; + /* actual initialization */ + a = 10; + printf("Hello, World!"); + return 0; +} +``` + +### C++ +```cpp +// Your First C++ Program + +#include <iostream> + +int main() { + int a; + /* actual initialization */ + a = 10; + std::cout << "Hello World!"; + return 0; +} +``` + +### Go +```go +package main + +import "fmt" + +func main() { + var myvariable1 = 20 + var myvariable2 = "hello world" + fmt.Println("hello world") +} +``` + +### Python +```python +#!/usr/bin/env python3 +import smtplib, socket +from influxdb import InfluxDBClient + +while True: + send = 1 + later = time.time() + 25200 + iso = time.ctime(later) + tempF = round(bme280.temperature * 1.8 + 29, 3) #C to F formula is +32, difference is to correct bme280 temperature offset + humidity = round(bme280.humidity, 3) + pressure = round(bme280.pressure, 3) + # serialize data as JSON + data = [ + { + "measurement": measurement, + "tags": { + "location": location, + }, + "time": iso, + "fields": { + "temperature" : tempF, + "humidity": humidity, + "pressure": pressure + } + } + ] + # Send the JSON data to InfluxDB + try: + client.write_points(data) + except socket.error as e: + print("Could Not Connect to InfluxDB!") + if tempF > 90 and humidity > 55: + emailSubject = "Humidity>55: " + str(int(humidity)) + "%H , Temperature>90: " + str(int(tempF)) + "F" + emailContent = 'Humidity: ' + str(int(humidity)) + '%H , Temperature: ' + str(int(tempF)) + 'F <a href="https://metrics.example.com">Dashboard</a>' + elif humidity > 55: + emailSubject = "Humidity>55: " + str(int(humidity)) + "%H" + emailContent = 'Humidity: ' + str(int(humidity)) + '%H , Temperature: ' + str(int(tempF)) + 'F <a href="https://metrics.example.com">Dashboard</a>' + elif tempF > 90: + emailSubject = "Temperature>90: " + str(int(tempF)) + "F" + emailContent = 'Humidity: ' + str(int(humidity)) + '%H , Temperature: ' + str(int(tempF)) + 'F <a href="https://metrics.example.com">Dashboard</a>' + else: + send = 0 + if send == 1: + try: + if time.time() > lastEmailTime or abs(lastTemp-int(tempF)) > 1: + lastEmailTime = time.time()+emailInterval + lastTemp = int(tempF) + sender.sendmail('jake@example.com', emailSubject, emailContent) + except socket.error as e: + print("Could Not Connect to SMTP server!") + time.sleep(interval) +``` + +### Ruby +```ruby +=begin + Ruby program to check whether the + year is leap year or not between range. +=end + +puts "Enter the lower limit:" +lwr = gets.chomp.to_i +puts "Enter the upper limit:" +upr = gets.chomp.to_i + +for yr in lwr..upr do + if yr % 400 == 0 + puts "#{yr} is a leap year" + elsif yr % 4 == 0 && yr % 100 !=0 + puts "#{yr} is a leap year" + else + puts "#{yr} is not a leap year" + end +end +``` diff --git a/content/overview-code-blocks.md b/content/overview-code-blocks.md index 7c09e5b..46f5922 100644 --- a/content/overview-code-blocks.md +++ b/content/overview-code-blocks.md @@ -25,19 +25,46 @@ See [the docs](https://www.getzola.org/documentation/content/syntax-highlighting If we want, we can also `specify inline code` which is useful for `the small stuff`. ### rust -```rust,linenos,hl_lines=3 -//! jelly-actix-web-starter - A starter template for actix-web projects that feels very Django-esque. Avoid the boring stuff and move faster. +```rust +fn main() { + let greetings = ["Hello", "Hola", "Bonjour", + "Ciao", "こんにちは", "안녕하세요", + "Cześć", "Olá", "Здравствуйте", + "Chào bạn", "您好", "Hallo", + "Hej", "Ahoj", "سلام", + "Hej", "Hallo", "Hei", + "Helló", "Hallo", "Buna ziua", + "Merhaba"]; -use jelly::actix_web; -use mainlib; -use std::io; - -#[actix_web::main] -async fn main() -> io::Result<()> { - mainlib::main().await + for (num, greeting) in greetings.iter().enumerate() { + print!("{} : ", greeting); + match num { + 0 => println!("This code is editable and runnable!"),//en English + 1 => println!("¡Este código es editable y ejecutable!"),//es Spanish + 2 => println!("Ce code est modifiable et exécutable !"),//fr French + 3 => println!("Questo codice è modificabile ed eseguibile!"),//it Italian + 4 => println!("このコードは編集して実行出来ます!"),//jp Japanese + 5 => println!("여기에서 코드를 수정하고 실행할 수 있습니다!"),//ko Korean + 6 => println!("Ten kod można edytować oraz uruchomić!"),//pl Polish + 7 => println!("Este código é editável e executável!"),//pt Portuguese + 8 => println!("Этот код можно отредактировать и запустить!"),//ru Russian + 9 => println!("Bạn có thể edit và run code trực tiếp!"),//vi Vietnamese + 10 => println!("这段代码是可以编辑并且能够运行的!"),//zh Chinese + 11 => println!("Dieser Code kann bearbeitet und ausgeführt werden!"),//de German + 12 => println!("Den här koden kan redigeras och köras!"),//sv Swedish + 13 => println!("Tento kód můžete upravit a spustit"),//cs Czech + 14 => println!("این کد قابلیت ویرایش و اجرا دارد!"),//fa Persian + 15 => println!("Denne kode kan redigeres og køres!"),//da Danish + 16 => println!("Deze code is bewerkbaar en uitvoerbaar!"),//du Dutch + 17 => println!("Tämä koodi on muokattavissa ja ajettavissa!"),//fi Finnish + 18 => println!("Ez a kód szerkeszthető és futtatható!"),//hu Hungarian + 19 => println!("Denne koden er redigerbar og kjørbar!"),//no Norwegian + 20 => println!("Acest cod este editabil și rulabil!"),//ro Romanian + 21 => println!("Bu kod düzenlenebilir ve çalıştırılabilir!"),//tr Turkish + _ => {}, + } + } } - -let context = Context::new(); ``` ### TOML @@ -72,6 +99,38 @@ taxonomies = [ </html> ``` +### CSS +```css +html { + font-size: var(--fs); +} + +.c { + text-align: center; +} +``` + +### SCSS +```scss + +$font: Roboto system-ui -apple-system BlinkMacSystemFont "Segoe UI" Oxygen Ubuntu Cantarell "Fira Sans" "Droid Sans" "Helvetica Neue" "Noto Sans" Helvetica Arial sans-serif !default; +$font-mono: ui-monospace Menlo Monaco Consolas "SF Mono" "Cascadia Mono" "Segoe UI Mono" "DejaVu Sans Mono" "Liberation Mono" "Roboto Mono" "Oxygen Mono" "Ubuntu Monospace" "Ubuntu Mono" "Source Code Pro" "Fira Mono" "Droid Sans Mono" "Courier New" Courier monospace !default; + +@mixin font { + // convert space separated list to comma separated list + $font: list.join($font, "", $separator: comma); + $font: functions.remove($font, ""); + $font-mono: list.join($font-mono, "", $separator: comma); + $font-mono: functions.remove($font-mono, ""); + + $font: functions.font-var($font, $fontExt-Main, $findFont-Main); + $font-mono: functions.font-var($font-mono, $fontExt-Code, $findFont-Code); + + #{--ff}: $font; + #{--fm}: $font-mono;//code +} +``` + ### javascript ```javascript function closeSearch() {//close the search displaying the regular page. @@ -293,3 +352,26 @@ while True: print("Could Not Connect to SMTP server!") time.sleep(interval) ``` + +### Ruby +```ruby +=begin + Ruby program to check whether the + year is leap year or not between range. +=end + +puts "Enter the lower limit:" +lwr = gets.chomp.to_i +puts "Enter the upper limit:" +upr = gets.chomp.to_i + +for yr in lwr..upr do + if yr % 400 == 0 + puts "#{yr} is a leap year" + elsif yr % 4 == 0 && yr % 100 !=0 + puts "#{yr} is a leap year" + else + puts "#{yr} is not a leap year" + end +end +``` diff --git a/content/overview-embed-streamable.fr.md b/content/overview-embed-streamable.fr.md new file mode 100644 index 0000000..0a4779a --- /dev/null +++ b/content/overview-embed-streamable.fr.md @@ -0,0 +1,33 @@ ++++ +title = "Streamable intégrées" +description = "Exemple d'article présentant un code abrégé Zola personnalisé pour intégrer des vidéos Streamable dans vos pages." +date = 2021-05-06 +draft = false + +[taxonomies] +categories = ["Features"] +tags = ["shortcodes","video"] +[extra] +keywords = "Video, Shortcodes, Embed, Embedded, Streamable" ++++ + +Zola a de nombreux shortcodes, et de nouveaux sont facilement ajoutés, cet exemple montre streamable. +<!-- more --> + +## Streamable + +### Usage + +```rs +{{/* streamable(id="92ok4") */}} +``` + +- `id`: l'identifiant de la vidéo (obligatoire) +- `class`: une classe à ajouter au <div> entourant l'iframe (optionnel) +- `title` - définir le titre alt pour l'iframe (facultatif, par défaut sur "Streamable") + +### Output +```html +{{ streamable(id="92ok4") }} +``` +{{ streamable(id="92ok4") }} diff --git a/content/overview-embed-streamable.md b/content/overview-embed-streamable.md new file mode 100644 index 0000000..2478d06 --- /dev/null +++ b/content/overview-embed-streamable.md @@ -0,0 +1,33 @@ ++++ +title = "Embed Streamable Video" +description = "Sample article showcasing a custom Zola shortcode for embedding Streamable Videos into your pages." +date = 2021-05-06 +draft = false + +[taxonomies] +categories = ["Features"] +tags = ["shortcodes","video"] +[extra] +keywords = "Video, Shortcodes, Embed, Embedded, Streamable" ++++ + +Zola has many shortcodes, and new are easily added, this example shows streamable. +<!-- more --> + +## Streamable + +### Usage + +```rs +{{/* streamable(id="92ok4") */}} +``` + +- `id`: the video id (mandatory) +- `class`: a class to add to the <div> surrounding the iframe (optional) +- `title` - set alt title for the iframe (optional, defaults to "Streamable") + +### Output +```html +{{ streamable(id="92ok4") }} +``` +{{ streamable(id="92ok4") }} diff --git a/content/overview-embed-vimeo.fr.md b/content/overview-embed-vimeo.fr.md new file mode 100644 index 0000000..3c9ec47 --- /dev/null +++ b/content/overview-embed-vimeo.fr.md @@ -0,0 +1,37 @@ ++++ +title = "Vimeo intégrées" +description = "Exemple d'article présentant un code abrégé Zola personnalisé pour intégrer des vidéos Vimeo dans vos pages." +date = 2021-05-07 +draft = false + +[taxonomies] +categories = ["Features"] +tags = ["shortcodes","video"] +[extra] +keywords = "Video, Shortcodes, Embed, Embedded, Vimeo" ++++ + +Zola a de nombreux shortcodes, et de nouveaux sont facilement ajoutés, cet exemple montre vimeo. +<!-- more --> + +## Vimeo + +### Usage + +```rs +{{/* vimeo(id="514402648") */}} +``` + +- `id`: l'identifiant de la vidéo (obligatoire) +- `class`: une classe à ajouter au <div> entourant l'iframe (optionnel) +- `autoplay`: lorsqu'il est défini sur "true", la vidéo se lance automatiquement au chargement (facultatif) +- `loop`: lorsqu'il est défini sur "true", la vidéo est lue en boucle (optionnel) +- `noautopause`: lorsqu'il est défini sur "true", la vidéo ne s'arrêtera pas automatiquement (optionnel) +- `title` - définir le titre alt pour l'iframe (facultatif, par défaut sur "Vimeo") +- `cookie` - défini sur "true" si vous voulez des cookies de suivi, sinon il est par défaut sur false. + +### Output +```html +{{ vimeo(id="514402648") }} +``` +{{ vimeo(id="514402648") }} diff --git a/content/overview-embedded-vimeo.md b/content/overview-embed-vimeo.md index ed05ab7..bc8cd93 100644 --- a/content/overview-embedded-vimeo.md +++ b/content/overview-embed-vimeo.md @@ -1,5 +1,5 @@ +++ -title = "Embedded Vimeo Videos" +title = "Embed Vimeo Video" description = "Sample article showcasing a custom Zola shortcode for embedding Vimeo Videos into your pages." date = 2021-05-07 draft = false @@ -16,7 +16,11 @@ Zola has many shortcodes, and new are easily added, this example shows vimeo. ## Vimeo -with `vm(id="id_here")` +### Usage + +```rs +{{/* vimeo(id="514402648") */}} +``` - `id`: the video id (mandatory) - `class`: a class to add to the <div> surrounding the iframe (optional) @@ -26,4 +30,8 @@ with `vm(id="id_here")` - `title` - set alt title for the iframe (optional, defaults to "Vimeo") - `cookie` - set to "true" if you want tracking cookies, otherwise it defaults to false. -{{ vm(id="514402648") }} +### Output +```html +{{ vimeo(id="514402648") }} +``` +{{ vimeo(id="514402648") }} diff --git a/content/overview-embed-youtube.fr.md b/content/overview-embed-youtube.fr.md new file mode 100644 index 0000000..3655b9a --- /dev/null +++ b/content/overview-embed-youtube.fr.md @@ -0,0 +1,36 @@ ++++ +title = "Youtube intégrées" +description = "Exemple d'article présentant un code court Zola personnalisé pour intégrer des vidéos Youtube dans vos pages." +date = 2021-05-08 +draft = false + +[taxonomies] +categories = ["Features"] +tags = ["shortcodes","video"] +[extra] +keywords = "Video, Shortcodes, Embed, Embedded, Youtube" ++++ + +Zola a de nombreux shortcodes, et de nouveaux sont facilement ajoutés, cet exemple montre youtube. +<!-- more --> + +## Youtube + +### Usage + +```rs +{{/* youtube(id="32gyFIWecuw") */}} +``` + +- `id`: l'identifiant de la vidéo (obligatoire) +- `playlist`: l'identifiant de la playlist (optionnel) +- `class`: une classe à ajouter au <div> entourant l'iframe (optionnel) +- `autoplay`: lorsqu'il est défini sur "true", la vidéo se lance automatiquement au chargement (facultatif) +- `title` - définir le titre alt pour l'iframe (facultatif, par défaut sur "Youtube") +- `cookie` - défini sur "true" si vous voulez des cookies de suivi, sinon il est par défaut sur false. + +### Output +```html +{{ youtube(id="32gyFIWecuw") }} +``` +{{ youtube(id="32gyFIWecuw") }} diff --git a/content/overview-embedded-youtube.md b/content/overview-embed-youtube.md index d364730..f247a7f 100644 --- a/content/overview-embedded-youtube.md +++ b/content/overview-embed-youtube.md @@ -1,5 +1,5 @@ +++ -title = "Embedded Youtube Videos" +title = "Embed Youtube Video" description = "Sample article showcasing a custom Zola shortcode for embedding Youtube Videos into your pages." date = 2021-05-08 draft = false @@ -16,7 +16,11 @@ Zola has many shortcodes, and new are easily added, this example shows youtube. ## Youtube -with `yt(id="the_id_here")` +### Usage + +```rs +{{/* youtube(id="32gyFIWecuw") */}} +``` - `id`: the video id (mandatory) - `playlist`: the playlist id (optional) @@ -25,4 +29,8 @@ with `yt(id="the_id_here")` - `title` - set alt title for the iframe (optional, defaults to "Youtube") - `cookie` - set to "true" if you want tracking cookies, otherwise it defaults to false. -{{ yt(id="32gyFIWecuw") }} +### Output +```html +{{ youtube(id="32gyFIWecuw") }} +``` +{{ youtube(id="32gyFIWecuw") }} diff --git a/content/overview-images/ferris-gesture.png b/content/overview-images/ferris-gesture.png Binary files differindex e9c8708..67f6cd1 100644 --- a/content/overview-images/ferris-gesture.png +++ b/content/overview-images/ferris-gesture.png diff --git a/content/overview-images/index.fr.md b/content/overview-images/index.fr.md new file mode 100644 index 0000000..9a68006 --- /dev/null +++ b/content/overview-images/index.fr.md @@ -0,0 +1,103 @@ ++++ +title = "Codes courts d'image" +description = "Les images peuvent être intégrées directement à l'aide de markdown ``, mais l'utilisation d'un shortcode empêche CLS en définissant explicitement la largeur et la hauteur." +date = 2021-05-19 +draft = false + +[taxonomies] +categories = ["Features"] +tags = ["shortcodes","images"] +[extra] +toc = true +keywords = "Image, Markdown, Shortcodes, Swap" +thumbnail = "ferris-gesture.png" ++++ + +Cet article couvre les **shortcodes imgswap et img**. Les images peuvent également être intégrées directement à l'aide de markdown ``, mais il est préférable d'utiliser un shortcode afin de pouvoir définir explicitement la largeur et la hauteur, cela aidera à empêcher le changement de mise en page du contenu, ce qui améliore l'expérience utilisateur et le score Google Lighthouse. +<!-- more --> + +# img Shortcode + +- src est le chemin et le nom de fichier de l'image. (obligatoire) +- class définit une classe pour l'image. (facultatif) +- alt définit la note alt pour l'image. (recommandé pour google phare) +- w est la largeur de l'image. (recommandé pour google phare) +- h est la hauteur de l'image. (recommandé pour google phare) + +## Utilisation (même chemin) +```rs +{{/* img(src="ferris-happy.svg" alt="Ferris est heureux" w=600 h=400) */}} +``` +**Sortir** +```html +{{ img(src="ferris-happy.svg" alt="Ferris est heureux" w=600 h=400) }} +``` +{{ img(src="ferris-happy.svg" alt="Ferris est heureux" w=600 h=400) }} + +## Utilisation (chemin relatif ./) +```rs +{{/* img(src="./img/ferris-gesture.svg" alt="Ferris dit bonjour" w=600 h=400) */}} +``` +**Sortir** +```html +{{ img(src="./img/ferris-gesture.svg" alt="Ferris dit bonjour" w=600 h=400) }} +``` +{{ img(src="./img/ferris-gesture.svg" alt="Ferris dit bonjour" w=600 h=400) }} + +## Utilisation (chemin racine /) +```rs +{{/* img(src="/overview-rich-content/ferris.svg" alt="Ferris le Rustacé" w=600 h=400) */}} +``` +**Sortir** +```html +{{ img(src="/overview-rich-content/ferris.svg" alt="Ferris le Rustacé" w=600 h=400) }} +``` +{{ img(src="/overview-rich-content/ferris.svg" alt="Ferris le Rustacé" w=600 h=400) }} + +# Image SVG directement dans le code : +```html +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 489" width="600" height="489"><g fill="#8f1f1d"><path d="M70 324c1 3 3 4 6 4l24 4 2 5-10 20v5l7 4 24-1 4 4-7 21c0 2 0 4 3 6 1 2 4 2 7 2l24-5 4 4-1 22c-1 2 0 4 3 5h6l23-8 6 3 4 22c0 2 1 3 3 4h7l21-13 6 2 8 20 5 5c3 0 5 0 7-2l18-15h5l13 18c1 2 3 4 6 4l5-3 14-18h6l17 16c1 1 4 2 6 1 3 0 5-1 6-3l9-21 6-1 19 14h7c3 0 5-3 5-5l4-21 6-2 22 9 7-1c2-1 3-2 3-5v-21l5-4 24 6c3 0 5 0 6-2 2-2 3-4 2-6l-4-21 3-5 24 2c4 0 6 0 7-3v-5l-9-21 3-5 25-2 5-5-1-5-14-18c0-1-1-19-12-33v-1c-26-36-106-64-201-65-100-2-184 26-206 64-10 10-12 26-11 26l-15 17c-1 3-2 5-1 7z"/><path d="M565 247c-1-3-12-2-14-3l-38 1-4-7 26-38c1-2 7-7 6-9-3-3-12 1-14 1l-39 7-4-6 22-49c0-3 7-15 5-18-2-2-11 6-13 6l-43 28-4-5 11-43c0-3 7-18 5-19-2-2-9 5-12 6l-38 30-5-4 9-51c0-3 3-18 1-19s-15 13-17 14l-30 38-6-3-3-56c0-3 0-14-3-14-3-1-5 8-8 11l-25 50-7-1-13-57c-1-3-2-12-4-12-4 0-5 10-7 13l-15 56-7 1-22-52c-1-2-4-12-7-12-3 1-2 9-3 12l-7 61-6 3-19-27c-3-1-15-19-18-18-2 1 0 21-1 23l1 40-6 4-36-35c-3-1-7-7-10-5-2 2 0 10 0 13l13 53-4 5-41-26c-2-1-10-7-12-4-2 2 3 4 3 7l22 56-5 6-65-22c-3-1-10-5-12-1-1 2 5 6 6 9l49 53-3 7-47-6c-3 0-9-1-11 1-1 4 6 7 7 9l36 40a116 116 0 0 0 14 46c27 50 110 87 209 87 105 0 193-41 214-95 11-15 13-37 12-38l29-31c2-4 9-9 8-11z"/><path d="m99 289-67 10c-13 3-5 5 0 6 14 2 84 3 85 4zm402 3 67 10c13 4 5 6 0 6-14 2-84 5-86 5z"/></g><path d="M227 293s-24-26-47 0c0 0-18 35 0 52 0 0 30 24 47 0 0 0 21-20 0-52z"/><path fill="#fff" d="M200 302c0 11 6 19 14 19 7 0 12-8 12-19 0-10-5-18-12-18-8 0-14 8-14 18z"/><path d="M360 283s-40-17-52 22c0 0-11 47 33 49 0 0 58-10 19-71z"/><path fill="#fff" d="M339 299c0 10 7 20 14 20 8 0 14-10 14-20s-6-18-14-18c-7 0-14 8-14 18z"/></svg> +``` +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 489" width="600" height="489"><g fill="#8f1f1d"><path d="M70 324c1 3 3 4 6 4l24 4 2 5-10 20v5l7 4 24-1 4 4-7 21c0 2 0 4 3 6 1 2 4 2 7 2l24-5 4 4-1 22c-1 2 0 4 3 5h6l23-8 6 3 4 22c0 2 1 3 3 4h7l21-13 6 2 8 20 5 5c3 0 5 0 7-2l18-15h5l13 18c1 2 3 4 6 4l5-3 14-18h6l17 16c1 1 4 2 6 1 3 0 5-1 6-3l9-21 6-1 19 14h7c3 0 5-3 5-5l4-21 6-2 22 9 7-1c2-1 3-2 3-5v-21l5-4 24 6c3 0 5 0 6-2 2-2 3-4 2-6l-4-21 3-5 24 2c4 0 6 0 7-3v-5l-9-21 3-5 25-2 5-5-1-5-14-18c0-1-1-19-12-33v-1c-26-36-106-64-201-65-100-2-184 26-206 64-10 10-12 26-11 26l-15 17c-1 3-2 5-1 7z"/><path d="M565 247c-1-3-12-2-14-3l-38 1-4-7 26-38c1-2 7-7 6-9-3-3-12 1-14 1l-39 7-4-6 22-49c0-3 7-15 5-18-2-2-11 6-13 6l-43 28-4-5 11-43c0-3 7-18 5-19-2-2-9 5-12 6l-38 30-5-4 9-51c0-3 3-18 1-19s-15 13-17 14l-30 38-6-3-3-56c0-3 0-14-3-14-3-1-5 8-8 11l-25 50-7-1-13-57c-1-3-2-12-4-12-4 0-5 10-7 13l-15 56-7 1-22-52c-1-2-4-12-7-12-3 1-2 9-3 12l-7 61-6 3-19-27c-3-1-15-19-18-18-2 1 0 21-1 23l1 40-6 4-36-35c-3-1-7-7-10-5-2 2 0 10 0 13l13 53-4 5-41-26c-2-1-10-7-12-4-2 2 3 4 3 7l22 56-5 6-65-22c-3-1-10-5-12-1-1 2 5 6 6 9l49 53-3 7-47-6c-3 0-9-1-11 1-1 4 6 7 7 9l36 40a116 116 0 0 0 14 46c27 50 110 87 209 87 105 0 193-41 214-95 11-15 13-37 12-38l29-31c2-4 9-9 8-11z"/><path d="m99 289-67 10c-13 3-5 5 0 6 14 2 84 3 85 4zm402 3 67 10c13 4 5 6 0 6-14 2-84 5-86 5z"/></g><path d="M227 293s-24-26-47 0c0 0-18 35 0 52 0 0 30 24 47 0 0 0 21-20 0-52z"/><path fill="#fff" d="M200 302c0 11 6 19 14 19 7 0 12-8 12-19 0-10-5-18-12-18-8 0-14 8-14 18z"/><path d="M360 283s-40-17-52 22c0 0-11 47 33 49 0 0 58-10 19-71z"/><path fill="#fff" d="M339 299c0 10 7 20 14 20 8 0 14-10 14-20s-6-18-14-18c-7 0-14 8-14 18z"/></svg> + + +# imgswap Shortcode + +Par défaut, main_src est l'image affichée, swap_src est affiché au survol de la souris. + +Lorsque vous passez votre souris sur l'image, l'image à comparer s'affiche. + +- main_src est le chemin et le nom de fichier de l'image par défaut. (obligatoire) +- swap_src est le chemin et le nom de fichier de l'image d'échange. (obligatoire) +- w est la largeur de l'image. +- h est la hauteur de l'image. + +## Utilisation (même chemin) +```rs +{{/* imgswap(main_src="ferris.svg" swap_src="ferris-happy.svg" w=600 h=400) */}} +``` +**Sortir** +```html +{{ imgswap(main_src="ferris.svg" swap_src="ferris-happy.svg" w=600 h=400) }} +``` +{{ imgswap(main_src="ferris.svg" swap_src="ferris-happy.svg" w=600 h=400) }} + +## Utilisation (chemin relatif ./) +```rs +{{/* imgswap(main_src="./img/ferris.svg" swap_src="./img/ferris-gesture.svg" w=600 h=400) */}} +``` +**Sortir** +```html +{{ imgswap(main_src="./img/ferris.svg" swap_src="./img/ferris-gesture.svg" w=600 h=400) }} +``` +{{ imgswap(main_src="./img/ferris.svg" swap_src="./img/ferris-gesture.svg" w=600 h=400) }} + +## Utilisation (chemin racine /) +```rs +{{/* imgswap(main_src="/overview-rich-content/ferris.svg" swap_src="/overview-rich-content/ferris-gesture.svg" w=600 h=400) */}} +``` +**Sortir** +```html +{{ imgswap(main_src="/overview-rich-content/ferris.svg" swap_src="/overview-rich-content/ferris-gesture.svg" w=600 h=400) }} +``` +{{ imgswap(main_src="/overview-rich-content/ferris.svg" swap_src="/overview-rich-content/ferris-gesture.svg" w=600 h=400) }} diff --git a/content/overview-markdown-and-style.fr.md b/content/overview-markdown-and-style.fr.md new file mode 100644 index 0000000..827c2e6 --- /dev/null +++ b/content/overview-markdown-and-style.fr.md @@ -0,0 +1,286 @@ ++++ +title = "Markdown et Style" +description = "Exemple d'article présentant la syntaxe et le formatage de base de Markdown pour les éléments HTML." +date = 2022-05-15 +draft = false + +[taxonomies] +categories = ["Features"] +tags = ["Markdown"] +[extra] +toc = true +keywords = "Markdown, Style, Syntax, Syntax Highlighting" ++++ + +Cet article propose un exemple de syntaxe Markdown de base pouvant être utilisée dans les fichiers de contenu Zola. Il indique également si les éléments HTML de base sont décorés avec CSS dans un thème Zola. +<!-- more --> +# Rubriques + +Les éléments HTML `<h1>`—`<h6>` suivants représentent six niveaux d'en-têtes de section. +`<h1>` est le niveau de section le plus élevé alors qu'il `<h6>` est le plus bas. + +# H1 +## H2 +### H3 +#### H4 +##### H5 +###### H6 + +# Paragraphe + +Xerum, quo qui aut unt expliquéam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur ? Quianimin porecus evelectrur, cum que nis nust voloribus ratem aut omnimi, sitatur ? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat. + +Itatur ? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia est sinveli squiatum, core et que aut hariosam ex eat. + +# Citations en bloc + +L'élément blockquote représente le contenu qui est cité à partir d'une autre source, éventuellement avec une citation qui doit être dans un élément `footer` ou `cite` et éventuellement avec des modifications en ligne telles que des annotations et des abréviations. + +## Blockquote sans attribution + +> Tiam, ad mint andaepu dandae nostion secatur sequo quae. +> **Notez** que vous pouvez utiliser *la syntaxe Markdown* dans un blockquote. + +## Blockquote avec attribution + +> Ne communiquez pas en partageant la mémoire, partagez la mémoire en communiquant.<br> +> — <cite>Rob Pike[^1]</cite> + +> Tous les hommes, par nature, désirent savoir.<br> +> ― <cite>Aristotle[^2]</cite> + +> Le pouvoir vient en réponse à un besoin, pas à un désir.<br> +> — *Goku* + +# Les Tables + +Les tables ne font pas partie de la spécification principale de Markdown, mais Zola les prend en charge prêtes à l'emploi. + + Nom | Âge +--------|------ + Alice | 23 + Bob | 27 + Cody | 33 + John | 59 + Kerry | 23 + +## Tableau avec Markdown en ligne + +| Italique | Gras | Code | Barré | +| -------- | -------- | ------ | ----------------- | +| *italique* | **gras** | `code` | ~~barré~~ | + + +## Grand tableau dans l'étiquette de la figure + +Entourez les très grandes tables `<figure></figure>` pour qu'elles puissent défiler horizontalement. +<figure> + +| **Fabricant** | Volkswagen | Toyota | Ford | Honda | Chevrolet | BMW | Hyundai | Audi | Nissan | Kia | Mercedes | Tesla | Mitsubishi | Suzuki | Volvo | Subaru | Mazda | Jaguar | Buick | Lexus | GMC | Porsche | Cadillac | +| ---------- | ---- | ---- | ---- | ---- | ---- | ---- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +| **Revenu $B** | $254 | $249 | $127 | $124 | $123 | $113 | $88 | $83 | $74 | $61 | $55 | $54 | $38 | $31 | $30 | $28 | $27 | $22 | $21 | $19 | $17 | $16 | $12 | + +</figure> +*valeurs de revenus trouvées sur le moteur de recherche et non vérifiées, uniquement à des fins de démonstration du tableau de défilement des figures.* + +# Texte pliable + +<details> + <summary>Titre 1</summary> + <p>C'EST UN SECRET POUR TOUT LE MONDE.</p> +</details> + +<details> + <summary>Titre 2</summary> + <p>Reste un moment et écoute!</p> +</details> + +# Blocs de codes + +Blocs de code.. ❤️ avec coloration syntaxique automatique ✨ + +Voir [les docs](https://www.getzola.org/documentation/content/syntax-highlighting/) pour les options. + +## Bloc de code avec backticks + +```html +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title>Example HTML5 Document</title> +</head> +<body> + <p>Test</p> +</body> +</html> +``` + +## Numéros de ligne, mise en surbrillance + +```html,linenos,hl_lines=5 7-9 +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title>Example HTML5 Document</title> +</head> +<body> + <p>Test</p> +</body> +</html> +``` + +## Bloc de code en ligne + +Si nous voulons, nous pouvons aussi `spécifier le code en ligne` ce qui est utile pour `les petites choses`. + +# Types de liste + +## Liste ordonnée + +1. Premier élément +2. Deuxième élément +3. Troisième élément + +## Liste non ordonnée + +- Élément de liste +- Un autre article +- Et un autre article + +## Liste imbriquée + +- Fruit + - Pomme + - Orange + - Banane +- Laitier + - Lait + - Fromage + +# Autres éléments — abbr, sub, sup, kbd, mark, link + +<abbr title="Graphics Interchange Format">GIF</abbr> est un format d'image bitmap. + +H<sub>2</sub>O + +X<sup>n</sup> + Y<sup>n</sup> = Z<sup>n</sup> + +Appuyez sur pour terminer la session. <kbd><kbd>CTRL</kbd>+<kbd>ALT</kbd>+<kbd>Delete</kbd></kbd> + +La plupart <mark>salamanders</mark> sont nocturnes et chassent les insectes, les vers et autres petites créatures. + +--- +<!-- Note: There must be a blank line between every two lines of the footnote definition. --> +[^1]: La citation ci-dessus est extraite du [discours](https://www.youtube.com/watch?v=PAAkCSZUG1c) +de Rob Pike lors du Gopherfest, le 18 novembre 2015. + +[^2]: La citation est la première phrase de [la Métaphysique](https://en.wikipedia.org/wiki/Metaphysics_(Aristotle)) d'Aristotle. + +## Navs + +Le menu principal du site est créé en imbriquant la navigation sous une balise d'en-tête. Reportez-vous au haut de ce site pour un exemple. + +Si la balise de navigation se trouve sous la balise principale au lieu de la balise d'en-tête, les liens auront une bordure : + +<header> + <nav> + <ul> + <li><a href="#">< Précédent</a></li> + <li><a href="#">Suivant ></a></li> + </ul> + </nav> +</header> + +## Formes + +<form name="contact" method="POST" > + <p><label for="name">Nom</label> + <input type="text" placeholder="Name" id="name" required data-validation-required-message="Please enter your name." /> + </p> + <p><label for="email">Adresse e-mail</label> + <input type="email" placeholder="name@example.com" id="email" required data-validation-required-message="Please enter your email address." /> + </p> + <p><label for="message">Message</label> + <textarea rows="5" placeholder="Message" id="message" required data-validation-required-message="Please enter a message."></textarea> + </p> + <div id="success"></div> + <p><button type="submit" id="sendMessageButton">Envoyer</button></p> + <br> + <!-- Select --> + <label for="fruit">Fruit</label> + <select id="fruit" required> + <option value="" selected>Choisissez un fruit…</option> + <option>Banane</option> + <option>Pastèque</option> + <option>Pomme</option> + <option>Orange</option> + <option>mangue</option> + </select> + <!-- Radios --> + <fieldset> + <legend>Taille</legend> + <label for="small"> + <input type="radio" id="small" name="size" value="small" checked> + Petit + </label> + <label for="medium"> + <input type="radio" id="medium" name="size" value="medium"> + Moyen + </label> + <label for="large"> + <input type="radio" id="large" name="size" value="large"> + Grand + </label> + <label for="extralarge"> + <input type="radio" id="extralarge" name="size" value="extralarge" disabled> + Extra Large + </label> + </fieldset> + <!-- Checkboxes --> + <fieldset> + <label for="terms"> + <input type="checkbox" id="terms" name="terms"> + J'accepte les termes et conditions + </label> + <label for="terms_sharing"> + <input type="checkbox" id="terms_sharing" name="terms_sharing" disabled checked> + J'accepte de partager mes informations avec des partenaires + </label> + </fieldset> + <!-- Switches --> + <fieldset> + <label for="switch"> + <input type="checkbox" id="switch" name="switch" role="switch"> + Publier sur mon profil + </label> + <label for="switch_disabled"> + <input type="checkbox" id="switch_disabled" name="switch_disabled" disabled checked> + Publier sur mon profil mes réalisations + </label> + </fieldset> + <br> + <!-- Search --> + <input type="search" id="search" name="search" placeholder="Search" title="Search"> + <!-- File browser --> + <label for="file">Navigateur de fichiers + <input type="file" id="file" name="file"> + </label> + <!-- Range slider --> + <label for="range">Curseur de plage + <input type="range" min="0" max="100" value="50" id="range" name="range"> + </label> + <!-- Date --> + <label for="date">Date + <input type="date" id="date" name="date"> + </label> + <!-- Time --> + <label for="time">Temps + <input type="time" id="time" name="time"> + </label> + <!-- Color --> + <label for="color">Couleur + <input type="color" id="color" name="color" value="#0eaaaa"> + </label> +</form> diff --git a/content/overview-markdown-and-style.md b/content/overview-markdown-and-style.md index befe1ed..78177db 100644 --- a/content/overview-markdown-and-style.md +++ b/content/overview-markdown-and-style.md @@ -1,5 +1,5 @@ +++ -title = "Markdown and Style Guide" +title = "Markdown and Style" description = "Sample article showcasing basic Markdown syntax and formatting for HTML elements." date = 2022-05-15 draft = false diff --git a/content/overview-math.fr.md b/content/overview-math.fr.md new file mode 100644 index 0000000..ed0720a --- /dev/null +++ b/content/overview-math.fr.md @@ -0,0 +1,111 @@ ++++ +title = "Notations mathématiques" +description = "Exemple d'article présentant l'affichage des notations mathématiques, rendu possible par la bibliothèque KaTeX." +date = 2021-05-05 +updated = 2022-01-01 +draft = false + +[taxonomies] +categories = ["Features"] +tags = ["shortcodes","Mathematics"] +[extra] +math = true +math_auto_render = true +keywords = "Math, Matematics, Notation, KaTeX, Mathematical Notation" ++++ + +Vous pouvez utiliser [KaTeX](https://katex.org) pour rendre des notations mathématiques. + +Vous pouvez activer le $\KaTeX$ prise en charge globale, par section ou par page. +<!-- more --> + +## Activer globalement + +Pour activer le $\KaTeX$ prise en charge dans le monde entier, ajoutez `math = true` sous `[extra]` à la `config.toml` +racine de votre site. Maintenant, le shortcode katex sera rendu, vous pouvez également ajouter `math_auto_render = true` +et chaque section et page de votre site chargera l' [extension KaTeX autorender](https://katex.org/docs/autorender.html). + +```toml +[extra] +math = true +math_auto_render = false +``` + +## Base par section + +Pour activer le $\KaTeX$ support dans une section particulière, ajoutez `math = true` sous `[extra]` dans le fichier `[SECTION_NAME]/_index.md`. +Maintenant, le shortcode katex sera rendu, vous pouvez également ajouter `math_auto_render = true` +et la section de votre site chargera l' [extension KaTeX autorender](https://katex.org/docs/autorender.html). + +```toml ++++ +[extra] +math = true ++++ +``` + +## Base par page + +Pour activer le $\KaTeX$ support dans une page particulière, ajouter `math = true` sous `[extra]` dans le frontmatter de la page. +Maintenant, le shortcode katex sera rendu, vous pouvez également ajouter `math_auto_render = true` +et la page de votre site chargera l' [extension KaTeX autorender](https://katex.org/docs/autorender.html). + +```toml ++++ +[extra] +math = true +math_auto_render = true ++++ +``` + +C'est une bonne pratique de permettre $\KaTeX$ prise en charge par page, car cela ne chargera que les fichiers requis sur cette page particulière, sans affecter la vitesse de chargement des autres pages. Si votre site n'est pas lourd en mathématiques, veuillez ne PAS activer cette fonctionnalité globalement ou par section. + +## Usage + +Enveloppez tout [valide](https://katex.org/docs/supported.html) $\KaTeX$ syntaxe avec `$...$` pour les mathématiques en ligne et `$$...$$` pour les mathématiques par blocs. + +### Mathématiques en ligne + +C'est la plus belle équation que j'aie jamais vue : + +### Usage +```rs +{%/* katex(block=false) */%} e^{i\pi}+1=0 {%/* end */%} +``` +### Sortir +```html +{% katex(block=false) %} e^{i\pi}+1=0 {% end %} +``` +{% katex(block=false) %} e^{i\pi}+1=0 {% end %} + +### Bloc Mathématiques + +Quelques Mathématiques en mode affichage sont assez justes : + +### Usage +```rs +{%/* katex(block=true) */%} \int_0^1 x^2 dx {%/* end */%} +``` +### Sortir +```html +{% katex(block=true) %} \int_0^1 x^2 dx {% end %} +``` +{% katex(block=true) %} \int_0^1 x^2 dx {% end %} + +### Exemple de rendu automatique en ligne +``` +$ e^{i\pi}+1=0 $ +``` + +$ e^{i\pi}+1=0 $ + +### Exemple de bloc de rendu automatique +``` +$$ +f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi +$$ +``` + +$$ +f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi +$$ diff --git a/content/overview-rich-content/index.fr.md b/content/overview-rich-content/index.fr.md new file mode 100644 index 0000000..e768252 --- /dev/null +++ b/content/overview-rich-content/index.fr.md @@ -0,0 +1,82 @@ ++++ +title = "Contenu riche" +description = "Une brève description des Shortcodes personnalisés pour Zola qui implémentent des éléments html modernes : vidéo, image, gif, audio." +date = 2021-05-15 +draft = false + +[taxonomies] +categories = ["Features"] +tags = ["video", "audio", "images", "shortcodes"] +[extra] +toc = true +keywords = "Images, Videos, Audio, Gif, Rich Content, Shortcodes" ++++ + +Plusieurs codes abrégés personnalisés sont inclus pour augmenter CommonMark (avec l'aimable autorisation du [theme d3c3nt](https://d3c3nt.figbert.com/posts/rich-content/)), en plus de ceux [déjà fournis par Zola][built-in]. `video`, `image`, `gif`, et `audio` ont été créés pour vous aider à tirer parti des éléments HTML modernes dans votre écriture. + +<!-- more --> + +## Vidéo + +Le `video` shortcode prend un `sources` paramètre (un tableau de chaînes) et renvoie une `<video>` balise. Chaque chaîne du `sources` tableau doit être un chemin vers un fichier vidéo d'un type différent (`webm`, `mp4`, etc). Chaque source individuelle est ensuite convertie en `<source>` balise et l'élément est renvoyé. + +### Usage +```rs +{{/* video(sources=["over9000_av1.mp4", "over9000_vp9.webm"]) */}} +``` +### Sortir +```html +{{ video(sources=["over9000_av1.mp4", "over9000_vp9.webm"]) }} +``` +{{ video(sources=["over9000_av1.mp4", "over9000_vp9.webm"]) }} + +## Image + +Le `image` shortcode renvoie une `<picture>` balise et accepte trois paramètres : `sources` (un tableau de chaînes), `fallback_path`, et `fallback_alt` (les deux chaînes). + +Chaque chaîne du `sources` tableau doit être un chemin vers un fichier image d'un type différent (`avif`, `webp`, `png`, `jpg`, etc). `fpath` et +`falt` sont utilisés pour créer une `<img>` balise sur laquelle le navigateur peut se replier si les autres formats ne sont pas encore pris en charge, fw et fh définissent la largeur et la hauteur de la solution de repli + +### Usage +```rs +{{/* image(sources=["over9000-960.avif", "over9000-640.avif", "over9000-400.avif"], fpath="over9000-640.webp", fw=640, fh=480, falt="ITS OVER 9000!") */}} +``` +### Sortir +```html +{{ image(sources=["over9000-960.avif", "over9000-640.avif", "over9000-400.avif"], fpath="over9000-640.webp", fw=640, fh=480, falt="ITS OVER 9000!") }} +``` +{{ image(sources=["over9000-960.avif", "over9000-640.avif", "over9000-400.avif"], fpath="over9000-640.webp", fw=640, fh=480, falt="ITS OVER 9000!") }} + +## GIF + +Le `gif` shortcode est exactement le même que le [shortcode vidéo][video] +– il prend un tableau de chaînes appelées `sources` et renvoie une `<video>` balise. La seule différence réside dans la balise la plus à l'extérieur, qui a quatre propriétés supplémentaires : `autoplay`, `loop`, `muted`, `playsinline`. + +L'utilisation de la `<video>` balise à la place des gifs permet de réduire la taille des fichiers, ce qui est particulièrement important dans les régions où Internet est plus lent ou moins fiable. + +### Usage +```rs +{{/* gif(sources=["over9000_av1.mp4", "over9000_vp9.webm"]) */}} +``` +### Sortir +```html +{{ gif(sources=["over9000_av1.mp4", "over9000_vp9.webm"]) }} +``` +{{ gif(sources=["over9000_av1.mp4", "over9000_vp9.webm"]) }} + +## l'audio + +Le `audio` shortcode prend un `sources` tableau de chaînes et renvoie une `<audio>` balise. Chaque chaîne du `sources` tableau doit être un chemin vers un fichier audio d'un type différent (`ogg`, `mp3`, `flac`, `wav`, etc). Le navigateur jouera le premier type qu'il prend en charge, donc les placer dans l'ordre de la taille la plus petite à la plus grande utilisera le moins de bande passante si tel est votre objectif. + +### Usage +```rs +{{/* audio(sources=["over9000.ogg", "over9000.mp3", "over9000.flac", "over9000.wav"]) */}} +``` +### Sortir +```html +{{ audio(sources=["over9000.ogg", "over9000.mp3", "over9000.flac", "over9000.wav"]) }} +``` +{{ audio(sources=["over9000.ogg", "over9000.mp3"]) }} + +[built-in]: https://www.getzola.org/documentation/content/shortcodes/#built-in-shortcodes +[video]: @/overview-rich-content/index.md#video diff --git a/content/overview-rich-content/index.md b/content/overview-rich-content/index.md index 6e5d1b8..4dc2285 100644 --- a/content/overview-rich-content/index.md +++ b/content/overview-rich-content/index.md @@ -1,7 +1,7 @@ +++ title = "Rich Content" description = "A brief description of custom Shortcodes for Zola that implement modern html elements: video, image, gif, audio." -date = 2021-05-18 +date = 2021-05-15 draft = false [taxonomies] @@ -41,19 +41,19 @@ parameters: `sources` (an array of strings), `fallback_path`, and `fallback_alt` (both strings). Each string in the `sources` array should be a path to an image file of -a different type (`webp`, `png`, `jpg`, etc). `fpath` and +a different type (`avif`, `webp`, `png`, `jpg`, etc). `fpath` and `falt` are used to create an `<img>` tag for the browser to fall back on if the other formats aren't yet supported, fw and fh set the width and height of the fallback ### Usage ```rs -{{/* image(sources=["over9000-960.webp", "over9000-640.webp", "over9000-400.webp"], fpath="over9000-640.webp", fw=640, fh=480, falt="ITS OVER 9000!") */}} +{{/* image(sources=["over9000-960.avif", "over9000-640.avif", "over9000-400.avif"], fpath="over9000-640.webp", fw=640, fh=480, falt="ITS OVER 9000!") */}} ``` ### Output ```html -{{ image(sources=["over9000-960.webp", "over9000-640.webp", "over9000-400.webp"], fpath="over9000-640.webp", fw=640, fh=480, falt="ITS OVER 9000!") }} +{{ image(sources=["over9000-960.avif", "over9000-640.avif", "over9000-400.avif"], fpath="over9000-640.webp", fw=640, fh=480, falt="ITS OVER 9000!") }} ``` -{{ image(sources=["over9000-960.webp", "over9000-640.webp", "over9000-400.webp"], fpath="over9000-640.webp", fw=640, fh=480, falt="ITS OVER 9000!") }} +{{ image(sources=["over9000-960.avif", "over9000-640.avif", "over9000-400.avif"], fpath="over9000-640.webp", fw=640, fh=480, falt="ITS OVER 9000!") }} ## GIF diff --git a/content/overview-rich-content/over9000-400.avif b/content/overview-rich-content/over9000-400.avif Binary files differnew file mode 100644 index 0000000..e4c6b1d --- /dev/null +++ b/content/overview-rich-content/over9000-400.avif diff --git a/content/overview-rich-content/over9000-400.webp b/content/overview-rich-content/over9000-400.webp Binary files differdeleted file mode 100644 index 1b2876f..0000000 --- a/content/overview-rich-content/over9000-400.webp +++ /dev/null diff --git a/content/overview-rich-content/over9000-640.avif b/content/overview-rich-content/over9000-640.avif Binary files differnew file mode 100644 index 0000000..38d314b --- /dev/null +++ b/content/overview-rich-content/over9000-640.avif diff --git a/content/overview-rich-content/over9000-960.avif b/content/overview-rich-content/over9000-960.avif Binary files differnew file mode 100644 index 0000000..ae3584d --- /dev/null +++ b/content/overview-rich-content/over9000-960.avif diff --git a/content/overview-rich-content/over9000-960.webp b/content/overview-rich-content/over9000-960.webp Binary files differdeleted file mode 100644 index 28fba9c..0000000 --- a/content/overview-rich-content/over9000-960.webp +++ /dev/null diff --git a/content/pages/about.fr.md b/content/pages/about.fr.md new file mode 100644 index 0000000..94989bb --- /dev/null +++ b/content/pages/about.fr.md @@ -0,0 +1,21 @@ ++++ +title = "À propos" +path = "fr/about" +template = "pages.html" +draft = false ++++ + +Ce site fournit une démo pour le thème [Abridge](https://github.com/Jieiku/abridge) de [Zola](https://www.getzola.org/), le générateur de site statique. + +Abridge a été créé par [Jake G (jieiku)](https://github.com/Jieiku) pour être rapide et léger, en utilisant du HTML sémantique, un [abridge.css](https://github.com/Jieiku/abridge.css), léger de classe et No Mandatory JS. + +Quelques faits amusants sur le thème : + +* Note parfaite sur l'audit Lighthouse de Google +* Seulement ~6 Ko de CSS avant d'activer les icônes SVG CSS et la coloration syntaxique. +* Pas de JavaScript obligatoire. +* Maintenant avec le référencement ! + +Près de la moitié des thèmes Zola MIT existants ont inspiré les fonctionnalités et la conception de ce thème. + +Le thème et ce site sont sous licence [MIT](https://opensource.org/licenses/MIT) . diff --git a/content/pages/contact.fr.md b/content/pages/contact.fr.md new file mode 100644 index 0000000..cae2626 --- /dev/null +++ b/content/pages/contact.fr.md @@ -0,0 +1,7 @@ ++++ +title = "Contact" +description = "Pour nous joindre, veuillez utiliser le formulaire de contact sur cette page." +path = "fr/contact" +template = "contact.fr.html" +draft = false ++++ diff --git a/content/pages/privacy.fr.md b/content/pages/privacy.fr.md new file mode 100644 index 0000000..3897e12 --- /dev/null +++ b/content/pages/privacy.fr.md @@ -0,0 +1,15 @@ ++++ +title = "politique de confidentialité" +description = "Cette page décrit la politique de confidentialité de ce site et la date à laquelle cette politique a été mise en vigueur." +path = "fr/privacy" +template = "pages.html" +draft = false ++++ + +## Confidentialité + +- Ce site ne crée ni n'utilise de cookies. +- Ce site ne stocke pas de données dans le navigateur pour être partagées, envoyées ou vendues à des tiers. +- Aucune information personnelle n'est partagée, envoyée ou vendue à des tiers. + +**Date d'entrée en vigueur:** _1er janvier 2022_ diff --git a/content/posts/_index.fr.md b/content/posts/_index.fr.md new file mode 100644 index 0000000..6b70666 --- /dev/null +++ b/content/posts/_index.fr.md @@ -0,0 +1,4 @@ ++++ +transparent = true +redirect_to = "/" ++++ diff --git a/content/posts/_index.md b/content/posts/_index.md index e381261..6b70666 100644 --- a/content/posts/_index.md +++ b/content/posts/_index.md @@ -1,4 +1,4 @@ +++ -title = "posts" -template = "posts.html" +transparent = true +redirect_to = "/" +++ diff --git a/content/posts/posts-section.fr.md b/content/posts/posts-section.fr.md new file mode 100644 index 0000000..63e71af --- /dev/null +++ b/content/posts/posts-section.fr.md @@ -0,0 +1,20 @@ ++++ +title = "Posts Transparent Section" +date = 2021-05-04 +draft = false + +[taxonomies] +categories = ["Features"] +tags = ["config"] ++++ + +Vous pouvez placer votre contenu dans content/posts/ au lieu de content/ cela fera des URL de publication example.com/posts/post-title +<!-- more --> +Dans le répertoire des articles, vous verrez le _index.md : + +```md ++++ +transparent = true +redirect_to = "/" ++++ +``` diff --git a/content/posts/posts-section.md b/content/posts/posts-section.md new file mode 100644 index 0000000..c90ec99 --- /dev/null +++ b/content/posts/posts-section.md @@ -0,0 +1,20 @@ ++++ +title = "Posts Transparent Section" +date = 2021-05-04 +draft = false + +[taxonomies] +categories = ["Features"] +tags = ["config"] ++++ + +You can place your content in content/posts/ instead of content/ this will make post urls example.com/posts/post-title +<!-- more --> +In the posts directory you will see the _index.md: + +```md ++++ +transparent = true +redirect_to = "/" ++++ +``` diff --git a/content/static/stork_toml.md b/content/static/stork_toml.md index 0f7b8a4..e427a93 100644 --- a/content/static/stork_toml.md +++ b/content/static/stork_toml.md @@ -2,4 +2,4 @@ path = "data_stork" template = "stork_toml.html" draft = true -+++
\ No newline at end of file ++++ diff --git a/content/static/tinysearch_json.md b/content/static/tinysearch_json.md index c0125f1..c91a639 100644 --- a/content/static/tinysearch_json.md +++ b/content/static/tinysearch_json.md @@ -2,4 +2,4 @@ path = "data_tinysearch" template = "tinysearch_json.html" draft = true -+++
\ No newline at end of file ++++ diff --git a/highlight_themes/abridge-dark.tmTheme b/highlight_themes/abridge-dark.tmTheme deleted file mode 100644 index 81d66a5..0000000 --- a/highlight_themes/abridge-dark.tmTheme +++ /dev/null @@ -1,1025 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>author</key> - <string>Ike Ku</string> - <key>colorSpaceName</key> - <string>sRGB</string> - <key>name</key> - <string>ayu</string> - <key>semanticClass</key> - <string>ayu.dark</string> - <key>settings</key> - <array> - <dict> - <key>settings</key> - <dict> - <key>accent</key> - <string>#F29718</string> - <key>activeGuide</key> - <string>#363F46</string> - <key>background</key> - <string>#191919</string> - <key>caret</key> - <string>#F29718</string> - <key>findHighlight</key> - <string>#F29718</string> - <key>findHighlightForeground</key> - <string>#191919</string> - <key>foreground</key> - <string>#BFBAB0</string> - <key>guide</key> - <string>#20272C</string> - <key>gutter</key> - <string>#191919</string> - <key>gutterForeground</key> - <string>#252D33</string> - <key>inactiveBackground</key> - <string>#191919</string> - <key>inactiveSelection</key> - <string>#131E27</string> - <key>invisibles</key> - <string>#252D33</string> - <key>lineHighlight</key> - <string>#0A0E12</string> - <key>popupCss</key> - <string>html, body { - background-color: #13181D; - color: #BFBAB0; -} -body { - padding: 1px 3px; -} -a { - color: rgba(57, 186, 230, .7); -} -</string> - <key>selection</key> - <string>#16242E</string> - <key>selectionBorder</key> - <string>#192B37</string> - <key>shadow</key> - <string>#00000010</string> - <key>stackGuide</key> - <string>#20272C</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Comment</string> - <key>scope</key> - <string>comment, punctuation.definition.comment</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#798491</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Variable</string> - <key>scope</key> - <string>variable</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#BFBAB0</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>String</string> - <key>scope</key> - <string>string, constant.other.symbol</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#C2D94C</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Number</string> - <key>scope</key> - <string>constant.numeric</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#F29718</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Regular Expressions and Escape Characters</string> - <key>scope</key> - <string>string.regexp, constant.character.escape</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#95E6CB</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Built-in constant</string> - <key>scope</key> - <string>constant.language</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#F29718</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>User-defined constant</string> - <key>scope</key> - <string>constant.character, constant.other</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#F29718</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Member Variable</string> - <key>scope</key> - <string>variable.member</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fe7d83</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Keyword</string> - <key>scope</key> - <string>keyword - keyword.operator, keyword.operator.word</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#00bbff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Operators</string> - <key>scope</key> - <string>keyword.operator</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#F29668</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Punctuation</string> - <key>scope</key> - <string>punctuation.separator, punctuation.terminator</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#BFBAB0CC</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Punctuation</string> - <key>scope</key> - <string>punctuation.section</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#BFBAB0</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Accessor</string> - <key>scope</key> - <string>punctuation.accessor</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#F29668</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Annotation Punctuation</string> - <key>scope</key> - <string>punctuation.definition.annotation</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#BFBAB0CC</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JavaScript Dollar</string> - <key>scope</key> - <string>variable.other.dollar.only.js, variable.other.object.dollar.only.js, variable.type.dollar.only.js, support.class.dollar.only.js</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#E6B673</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Storage</string> - <key>scope</key> - <string>storage</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#00bbff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Storage type</string> - <key>scope</key> - <string>storage.type</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#00bbff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Function name</string> - <key>scope</key> - <string>entity.name.function</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFB454</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Entity name</string> - <key>scope</key> - <string>entity.name - (entity.name.section | entity.name.tag | entity.name.label)</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#59C2FF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Inherited class</string> - <key>scope</key> - <string>entity.other.inherited-class</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>underline</string> - <key>foreground</key> - <string>#59C2FF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Function argument</string> - <key>scope</key> - <string>variable.parameter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#F29718</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Language variable</string> - <key>scope</key> - <string>variable.language</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Tag</string> - <key>scope</key> - <string>entity.name.tag, meta.tag.sgml</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Tag start/end</string> - <key>scope</key> - <string>punctuation.definition.tag.end, punctuation.definition.tag.begin, punctuation.definition.tag</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Tag attribute</string> - <key>scope</key> - <string>entity.other.attribute-name</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFB454</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Function call</string> - <key>scope</key> - <string>variable.function, variable.annotation</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFB454</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Library function</string> - <key>scope</key> - <string>support.function, support.macro</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fe7d83</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Library constant</string> - <key>scope</key> - <string>support.constant</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#F29668</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Library class/type</string> - <key>scope</key> - <string>support.type, support.class</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Invalid</string> - <key>scope</key> - <string>invalid</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ff7c6d</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Invalid deprecated</string> - <key>scope</key> - <string>invalid.deprecated</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#00bbff</string> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>diff.header</string> - <key>scope</key> - <string>meta.diff, meta.diff.header</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#c594c5</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Ruby class methods</string> - <key>scope</key> - <string>source.ruby variable.other.readwrite</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFB454</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>CSS tag names</string> - <key>scope</key> - <string>source.css entity.name.tag, source.sass entity.name.tag, source.scss entity.name.tag, source.less entity.name.tag, source.stylus entity.name.tag</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#59C2FF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>CSS browser prefix</string> - <key>scope</key> - <string>source.css support.type, source.sass support.type, source.scss support.type, source.less support.type, source.stylus support.type</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#798491</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>CSS Properties</string> - <key>scope</key> - <string>support.type.property-name</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>normal</string> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Search Results Nums</string> - <key>scope</key> - <string>constant.numeric.line-number.find-in-files - match</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#798491</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Search Results Match Nums</string> - <key>scope</key> - <string>constant.numeric.line-number.match</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#00bbff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Search Results Lines</string> - <key>scope</key> - <string>entity.name.filename.find-in-files</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#C2D94C</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>message.error</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ff7c6d</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 8</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 7</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 6</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 5</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 4</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 3</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 2</string> - <key>scope</key> - <string>source.json meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 1</string> - <key>scope</key> - <string>source.json meta meta.structure.dictionary.json string.quoted.double.json - meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta.structure.dictionary.json punctuation.definition.string - meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 0</string> - <key>scope</key> - <string>source.json meta.structure.dictionary.json string.quoted.double.json - meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta.structure.dictionary.json punctuation.definition.string - meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Heading</string> - <key>scope</key> - <string>markup.heading</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>bold</string> - <key>foreground</key> - <string>#00bbff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Links</string> - <key>scope</key> - <string>string.other.link, markup.underline.link</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic underline</string> - <key>foreground</key> - <string>#95E6CB</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup image</string> - <key>scope</key> - <string>punctuation.definition.image</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFB454</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Italic</string> - <key>scope</key> - <string>markup.italic</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#fe7d83</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Bold</string> - <key>scope</key> - <string>markup.bold</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>bold</string> - <key>foreground</key> - <string>#fe7d83</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Bold/italic</string> - <key>scope</key> - <string>markup.italic markup.bold | markup.bold markup.italic</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>bold italic</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Code</string> - <key>scope</key> - <string>markup.raw</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#BFBAB007</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Code Inline</string> - <key>scope</key> - <string>markup.raw.inline</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#BFBAB010</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown Separator</string> - <key>scope</key> - <string>meta.separator</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#BFBAB010</string> - <key>fontStyle</key> - <string>bold</string> - <key>foreground</key> - <string>#798491</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Blockquote</string> - <key>scope</key> - <string>markup.quote</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#F29718</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup List Bullet</string> - <key>scope</key> - <string>markup.list.numbered.bullet, markup.list punctuation.definition.list_item</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#95E6CB</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Inserted</string> - <key>scope</key> - <string>markup.inserted</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#C2D94C</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Changed</string> - <key>scope</key> - <string>markup.changed</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Deleted</string> - <key>scope</key> - <string>markup.deleted</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fe7d83</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Strike</string> - <key>scope</key> - <string>markup.strike</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#E6B673</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Table</string> - <key>scope</key> - <string>markup.table</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#BFBAB010</string> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Raw Inline</string> - <key>scope</key> - <string>text.html.markdown markup.raw.inline</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#F29668</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Line Break</string> - <key>scope</key> - <string>text.html.markdown meta.dummy.line-break</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#798491</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Raw Block Fenced</string> - <key>scope</key> - <string>markup.raw.block.fenced.markdown</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#BFBAB010</string> - <key>foreground</key> - <string>#BFBAB0</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Fenced Bode Block</string> - <key>scope</key> - <string>punctuation.definition.fenced.markdown, variable.language.fenced.markdown</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#BFBAB010</string> - <key>foreground</key> - <string>#798491</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Fenced Language</string> - <key>scope</key> - <string>variable.language.fenced.markdown</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#798491</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Added</string> - <key>scope</key> - <string>markup.inserted.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#C2D94C</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Changed</string> - <key>scope</key> - <string>markup.changed.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Deleted</string> - <key>scope</key> - <string>markup.deleted.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ff7c6d</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Ignored</string> - <key>scope</key> - <string>markup.ignored.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#20272C</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Untracked</string> - <key>scope</key> - <string>markup.untracked.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#20272C</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GutterColor</string> - <key>scope</key> - <string>gutter_color</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>AceJump Label - Blue</string> - <key>scope</key> - <string>acejump.label.blue</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#39BAE6</string> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>AceJump Label - Green</string> - <key>scope</key> - <string>acejump.label.green</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#C2D94C</string> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>AceJump Label - Orange</string> - <key>scope</key> - <string>acejump.label.orange</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#00bbff</string> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>AceJump Label - Purple</string> - <key>scope</key> - <string>acejump.label.purple</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#fe7d83</string> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>SublimeLinter Warning</string> - <key>scope</key> - <string>sublimelinter.mark.warning</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>SublimeLinter Gutter Mark</string> - <key>scope</key> - <string>sublimelinter.gutter-mark</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>SublimeLinter Error</string> - <key>scope</key> - <string>sublimelinter.mark.error</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ff7c6d</string> - </dict> - </dict> - </array> - <key>uuid</key> - <string>0e709986-46a0-40a0-b3bf-c8dfe525c455</string> -</dict> -</plist> diff --git a/highlight_themes/abridge-light.tmTheme b/highlight_themes/abridge-light.tmTheme deleted file mode 100644 index e102160..0000000 --- a/highlight_themes/abridge-light.tmTheme +++ /dev/null @@ -1,1025 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>author</key> - <string>Ike Ku</string> - <key>colorSpaceName</key> - <string>sRGB</string> - <key>name</key> - <string>ayu</string> - <key>semanticClass</key> - <string>ayu.light</string> - <key>settings</key> - <array> - <dict> - <key>settings</key> - <dict> - <key>accent</key> - <string>#b85500</string> - <key>activeGuide</key> - <string>#B9BCBF</string> - <key>background</key> - <string>#ffffff</string> - <key>caret</key> - <string>#b85500</string> - <key>findHighlight</key> - <string>#b85500</string> - <key>findHighlightForeground</key> - <string>#ffffff</string> - <key>foreground</key> - <string>#50565a</string> - <key>guide</key> - <string>#DEE0E1</string> - <key>gutter</key> - <string>#ffffff</string> - <key>gutterForeground</key> - <string>#D9DBDD</string> - <key>inactiveBackground</key> - <string>#ffffff</string> - <key>inactiveSelection</key> - <string>#ECF4F9</string> - <key>invisibles</key> - <string>#D9DBDD</string> - <key>lineHighlight</key> - <string>#F3F3F3</string> - <key>popupCss</key> - <string>html, body { - background-color: #ffffff; - color: #50565a; -} -body { - padding: 1px 3px; -} -a { - color: rgba(85, 180, 212, .7); -} -</string> - <key>selection</key> - <string>#E9F2F8</string> - <key>selectionBorder</key> - <string>#E3EFF8</string> - <key>shadow</key> - <string>#00000010</string> - <key>stackGuide</key> - <string>#DEE0E1</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Comment</string> - <key>scope</key> - <string>comment, punctuation.definition.comment</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#6e7379</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Variable</string> - <key>scope</key> - <string>variable</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#50565a</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>String</string> - <key>scope</key> - <string>string, constant.other.symbol</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#507e00</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Number</string> - <key>scope</key> - <string>constant.numeric</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#b85500</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Regular Expressions and Escape Characters</string> - <key>scope</key> - <string>string.regexp, constant.character.escape</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#008260</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Built-in constant</string> - <key>scope</key> - <string>constant.language</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#b85500</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>User-defined constant</string> - <key>scope</key> - <string>constant.character, constant.other</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#b85500</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Member Variable</string> - <key>scope</key> - <string>variable.member</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cb414d</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Keyword</string> - <key>scope</key> - <string>keyword - keyword.operator, keyword.operator.word</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#0066ee</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Operators</string> - <key>scope</key> - <string>keyword.operator</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ac5c32</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Punctuation</string> - <key>scope</key> - <string>punctuation.separator, punctuation.terminator</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#50565aCC</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Punctuation</string> - <key>scope</key> - <string>punctuation.section</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#50565a</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Accessor</string> - <key>scope</key> - <string>punctuation.accessor</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ac5c32</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Annotation Punctuation</string> - <key>scope</key> - <string>punctuation.definition.annotation</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#50565aCC</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JavaScript Dollar</string> - <key>scope</key> - <string>variable.other.dollar.only.js, variable.other.object.dollar.only.js, variable.type.dollar.only.js, support.class.dollar.only.js</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#936b2c</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Storage</string> - <key>scope</key> - <string>storage</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#0066ee</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Storage type</string> - <key>scope</key> - <string>storage.type</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#0066ee</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Function name</string> - <key>scope</key> - <string>entity.name.function</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ac5d00</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Entity name</string> - <key>scope</key> - <string>entity.name - (entity.name.section | entity.name.tag | entity.name.label)</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#0079bd</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Inherited class</string> - <key>scope</key> - <string>entity.other.inherited-class</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>underline</string> - <key>foreground</key> - <string>#0079bd</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Function argument</string> - <key>scope</key> - <string>variable.parameter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#b85500</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Language variable</string> - <key>scope</key> - <string>variable.language</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Tag</string> - <key>scope</key> - <string>entity.name.tag, meta.tag.sgml</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Tag start/end</string> - <key>scope</key> - <string>punctuation.definition.tag.end, punctuation.definition.tag.begin, punctuation.definition.tag</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Tag attribute</string> - <key>scope</key> - <string>entity.other.attribute-name</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ac5d00</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Function call</string> - <key>scope</key> - <string>variable.function, variable.annotation</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ac5d00</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Library function</string> - <key>scope</key> - <string>support.function, support.macro</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#c44a4e</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Library constant</string> - <key>scope</key> - <string>support.constant</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#ac5c32</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Library class/type</string> - <key>scope</key> - <string>support.type, support.class</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Invalid</string> - <key>scope</key> - <string>invalid</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#e6000b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Invalid deprecated</string> - <key>scope</key> - <string>invalid.deprecated</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#0066ee</string> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>diff.header</string> - <key>scope</key> - <string>meta.diff, meta.diff.header</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>##916392</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Ruby class methods</string> - <key>scope</key> - <string>source.ruby variable.other.readwrite</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ac5d00</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>CSS tag names</string> - <key>scope</key> - <string>source.css entity.name.tag, source.sass entity.name.tag, source.scss entity.name.tag, source.less entity.name.tag, source.stylus entity.name.tag</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#0079bd</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>CSS browser prefix</string> - <key>scope</key> - <string>source.css support.type, source.sass support.type, source.scss support.type, source.less support.type, source.stylus support.type</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#6e7379</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>CSS Properties</string> - <key>scope</key> - <string>support.type.property-name</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>normal</string> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Search Results Nums</string> - <key>scope</key> - <string>constant.numeric.line-number.find-in-files - match</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#6e7379</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Search Results Match Nums</string> - <key>scope</key> - <string>constant.numeric.line-number.match</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#0066ee</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Search Results Lines</string> - <key>scope</key> - <string>entity.name.filename.find-in-files</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#507e00</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>message.error</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#e6000b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 8</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 7</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 6</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 5</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 4</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 3</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 2</string> - <key>scope</key> - <string>source.json meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 1</string> - <key>scope</key> - <string>source.json meta meta.structure.dictionary.json string.quoted.double.json - meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta.structure.dictionary.json punctuation.definition.string - meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 0</string> - <key>scope</key> - <string>source.json meta.structure.dictionary.json string.quoted.double.json - meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta.structure.dictionary.json punctuation.definition.string - meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Heading</string> - <key>scope</key> - <string>markup.heading</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>bold</string> - <key>foreground</key> - <string>#0066ee</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Links</string> - <key>scope</key> - <string>string.other.link, markup.underline.link</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic underline</string> - <key>foreground</key> - <string>#008260</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup image</string> - <key>scope</key> - <string>punctuation.definition.image</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ac5d00</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Italic</string> - <key>scope</key> - <string>markup.italic</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#c44a4e</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Bold</string> - <key>scope</key> - <string>markup.bold</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>bold</string> - <key>foreground</key> - <string>#c44a4e</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Bold/italic</string> - <key>scope</key> - <string>markup.italic markup.bold | markup.bold markup.italic</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>bold italic</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Code</string> - <key>scope</key> - <string>markup.raw</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#50565a07</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Code Inline</string> - <key>scope</key> - <string>markup.raw.inline</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#50565a10</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown Separator</string> - <key>scope</key> - <string>meta.separator</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#50565a10</string> - <key>fontStyle</key> - <string>bold</string> - <key>foreground</key> - <string>#6e7379</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Blockquote</string> - <key>scope</key> - <string>markup.quote</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#b85500</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup List Bullet</string> - <key>scope</key> - <string>markup.list.numbered.bullet, markup.list punctuation.definition.list_item</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#008260</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Inserted</string> - <key>scope</key> - <string>markup.inserted</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#507e00</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Changed</string> - <key>scope</key> - <string>markup.changed</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Deleted</string> - <key>scope</key> - <string>markup.deleted</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#c44a4e</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Strike</string> - <key>scope</key> - <string>markup.strike</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#936b2c</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Table</string> - <key>scope</key> - <string>markup.table</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#50565a10</string> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Raw Inline</string> - <key>scope</key> - <string>text.html.markdown markup.raw.inline</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ac5c32</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Line Break</string> - <key>scope</key> - <string>text.html.markdown meta.dummy.line-break</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#6e7379</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Raw Block Fenced</string> - <key>scope</key> - <string>markup.raw.block.fenced.markdown</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#50565a10</string> - <key>foreground</key> - <string>#50565a</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Fenced Bode Block</string> - <key>scope</key> - <string>punctuation.definition.fenced.markdown, variable.language.fenced.markdown</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#50565a10</string> - <key>foreground</key> - <string>#6e7379</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Fenced Language</string> - <key>scope</key> - <string>variable.language.fenced.markdown</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#6e7379</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Added</string> - <key>scope</key> - <string>markup.inserted.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#507e00</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Changed</string> - <key>scope</key> - <string>markup.changed.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Deleted</string> - <key>scope</key> - <string>markup.deleted.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#e6000b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Ignored</string> - <key>scope</key> - <string>markup.ignored.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#DEE0E1</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Untracked</string> - <key>scope</key> - <string>markup.untracked.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#DEE0E1</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GutterColor</string> - <key>scope</key> - <string>gutter_color</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>AceJump Label - Blue</string> - <key>scope</key> - <string>acejump.label.blue</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#007d9b</string> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>AceJump Label - Green</string> - <key>scope</key> - <string>acejump.label.green</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#507e00</string> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>AceJump Label - Orange</string> - <key>scope</key> - <string>acejump.label.orange</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#0066ee</string> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>AceJump Label - Purple</string> - <key>scope</key> - <string>acejump.label.purple</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#c44a4e</string> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>SublimeLinter Warning</string> - <key>scope</key> - <string>sublimelinter.mark.warning</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>SublimeLinter Gutter Mark</string> - <key>scope</key> - <string>sublimelinter.gutter-mark</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>SublimeLinter Error</string> - <key>scope</key> - <string>sublimelinter.mark.error</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#e6000b</string> - </dict> - </dict> - </array> - <key>uuid</key> - <string>0e709986-46a0-40a0-b3bf-c8dfe525c455</string> -</dict> -</plist> diff --git a/highlight_themes/ayu-dark-abridge.tmTheme b/highlight_themes/ayu-dark-abridge.tmTheme deleted file mode 100644 index 845c5bb..0000000 --- a/highlight_themes/ayu-dark-abridge.tmTheme +++ /dev/null @@ -1,1025 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>author</key> - <string>Ike Ku</string> - <key>colorSpaceName</key> - <string>sRGB</string> - <key>name</key> - <string>ayu</string> - <key>semanticClass</key> - <string>ayu.dark</string> - <key>settings</key> - <array> - <dict> - <key>settings</key> - <dict> - <key>accent</key> - <string>#F29718</string> - <key>activeGuide</key> - <string>#363F46</string> - <key>background</key> - <string>#191919</string> - <key>caret</key> - <string>#F29718</string> - <key>findHighlight</key> - <string>#F29718</string> - <key>findHighlightForeground</key> - <string>#191919</string> - <key>foreground</key> - <string>#BFBAB0</string> - <key>guide</key> - <string>#20272C</string> - <key>gutter</key> - <string>#191919</string> - <key>gutterForeground</key> - <string>#252D33</string> - <key>inactiveBackground</key> - <string>#191919</string> - <key>inactiveSelection</key> - <string>#131E27</string> - <key>invisibles</key> - <string>#252D33</string> - <key>lineHighlight</key> - <string>#0A0E12</string> - <key>popupCss</key> - <string>html, body { - background-color: #13181D; - color: #BFBAB0; -} -body { - padding: 1px 3px; -} -a { - color: rgba(57, 186, 230, .7); -} -</string> - <key>selection</key> - <string>#16242E</string> - <key>selectionBorder</key> - <string>#192B37</string> - <key>shadow</key> - <string>#00000010</string> - <key>stackGuide</key> - <string>#20272C</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Comment</string> - <key>scope</key> - <string>comment, punctuation.definition.comment</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#798491</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Variable</string> - <key>scope</key> - <string>variable</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#BFBAB0</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>String</string> - <key>scope</key> - <string>string, constant.other.symbol</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#C2D94C</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Number</string> - <key>scope</key> - <string>constant.numeric</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#F29718</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Regular Expressions and Escape Characters</string> - <key>scope</key> - <string>string.regexp, constant.character.escape</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#95E6CB</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Built-in constant</string> - <key>scope</key> - <string>constant.language</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#F29718</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>User-defined constant</string> - <key>scope</key> - <string>constant.character, constant.other</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#F29718</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Member Variable</string> - <key>scope</key> - <string>variable.member</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fe7d83</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Keyword</string> - <key>scope</key> - <string>keyword - keyword.operator, keyword.operator.word</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ff813c</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Operators</string> - <key>scope</key> - <string>keyword.operator</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#F29668</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Punctuation</string> - <key>scope</key> - <string>punctuation.separator, punctuation.terminator</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#BFBAB0CC</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Punctuation</string> - <key>scope</key> - <string>punctuation.section</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#BFBAB0</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Accessor</string> - <key>scope</key> - <string>punctuation.accessor</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#F29668</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Annotation Punctuation</string> - <key>scope</key> - <string>punctuation.definition.annotation</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#BFBAB0CC</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JavaScript Dollar</string> - <key>scope</key> - <string>variable.other.dollar.only.js, variable.other.object.dollar.only.js, variable.type.dollar.only.js, support.class.dollar.only.js</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#E6B673</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Storage</string> - <key>scope</key> - <string>storage</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ff813c</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Storage type</string> - <key>scope</key> - <string>storage.type</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ff813c</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Function name</string> - <key>scope</key> - <string>entity.name.function</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFB454</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Entity name</string> - <key>scope</key> - <string>entity.name - (entity.name.section | entity.name.tag | entity.name.label)</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#59C2FF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Inherited class</string> - <key>scope</key> - <string>entity.other.inherited-class</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>underline</string> - <key>foreground</key> - <string>#59C2FF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Function argument</string> - <key>scope</key> - <string>variable.parameter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#F29718</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Language variable</string> - <key>scope</key> - <string>variable.language</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Tag</string> - <key>scope</key> - <string>entity.name.tag, meta.tag.sgml</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Tag start/end</string> - <key>scope</key> - <string>punctuation.definition.tag.end, punctuation.definition.tag.begin, punctuation.definition.tag</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Tag attribute</string> - <key>scope</key> - <string>entity.other.attribute-name</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFB454</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Function call</string> - <key>scope</key> - <string>variable.function, variable.annotation</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFB454</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Library function</string> - <key>scope</key> - <string>support.function, support.macro</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fe7d83</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Library constant</string> - <key>scope</key> - <string>support.constant</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#F29668</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Library class/type</string> - <key>scope</key> - <string>support.type, support.class</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Invalid</string> - <key>scope</key> - <string>invalid</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ff7c6d</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Invalid deprecated</string> - <key>scope</key> - <string>invalid.deprecated</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#ff813c</string> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>diff.header</string> - <key>scope</key> - <string>meta.diff, meta.diff.header</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#c594c5</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Ruby class methods</string> - <key>scope</key> - <string>source.ruby variable.other.readwrite</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFB454</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>CSS tag names</string> - <key>scope</key> - <string>source.css entity.name.tag, source.sass entity.name.tag, source.scss entity.name.tag, source.less entity.name.tag, source.stylus entity.name.tag</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#59C2FF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>CSS browser prefix</string> - <key>scope</key> - <string>source.css support.type, source.sass support.type, source.scss support.type, source.less support.type, source.stylus support.type</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#798491</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>CSS Properties</string> - <key>scope</key> - <string>support.type.property-name</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>normal</string> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Search Results Nums</string> - <key>scope</key> - <string>constant.numeric.line-number.find-in-files - match</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#798491</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Search Results Match Nums</string> - <key>scope</key> - <string>constant.numeric.line-number.match</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ff813c</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Search Results Lines</string> - <key>scope</key> - <string>entity.name.filename.find-in-files</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#C2D94C</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>message.error</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ff7c6d</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 8</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 7</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 6</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 5</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 4</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 3</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 2</string> - <key>scope</key> - <string>source.json meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 1</string> - <key>scope</key> - <string>source.json meta meta.structure.dictionary.json string.quoted.double.json - meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta.structure.dictionary.json punctuation.definition.string - meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 0</string> - <key>scope</key> - <string>source.json meta.structure.dictionary.json string.quoted.double.json - meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta.structure.dictionary.json punctuation.definition.string - meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Heading</string> - <key>scope</key> - <string>markup.heading</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>bold</string> - <key>foreground</key> - <string>#ff813c</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Links</string> - <key>scope</key> - <string>string.other.link, markup.underline.link</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic underline</string> - <key>foreground</key> - <string>#95E6CB</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup image</string> - <key>scope</key> - <string>punctuation.definition.image</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFB454</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Italic</string> - <key>scope</key> - <string>markup.italic</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#fe7d83</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Bold</string> - <key>scope</key> - <string>markup.bold</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>bold</string> - <key>foreground</key> - <string>#fe7d83</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Bold/italic</string> - <key>scope</key> - <string>markup.italic markup.bold | markup.bold markup.italic</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>bold italic</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Code</string> - <key>scope</key> - <string>markup.raw</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#BFBAB007</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Code Inline</string> - <key>scope</key> - <string>markup.raw.inline</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#BFBAB010</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown Separator</string> - <key>scope</key> - <string>meta.separator</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#BFBAB010</string> - <key>fontStyle</key> - <string>bold</string> - <key>foreground</key> - <string>#798491</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Blockquote</string> - <key>scope</key> - <string>markup.quote</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#F29718</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup List Bullet</string> - <key>scope</key> - <string>markup.list.numbered.bullet, markup.list punctuation.definition.list_item</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#95E6CB</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Inserted</string> - <key>scope</key> - <string>markup.inserted</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#C2D94C</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Changed</string> - <key>scope</key> - <string>markup.changed</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Deleted</string> - <key>scope</key> - <string>markup.deleted</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fe7d83</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Strike</string> - <key>scope</key> - <string>markup.strike</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#E6B673</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Table</string> - <key>scope</key> - <string>markup.table</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#BFBAB010</string> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Raw Inline</string> - <key>scope</key> - <string>text.html.markdown markup.raw.inline</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#F29668</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Line Break</string> - <key>scope</key> - <string>text.html.markdown meta.dummy.line-break</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#798491</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Raw Block Fenced</string> - <key>scope</key> - <string>markup.raw.block.fenced.markdown</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#BFBAB010</string> - <key>foreground</key> - <string>#BFBAB0</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Fenced Bode Block</string> - <key>scope</key> - <string>punctuation.definition.fenced.markdown, variable.language.fenced.markdown</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#BFBAB010</string> - <key>foreground</key> - <string>#798491</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Fenced Language</string> - <key>scope</key> - <string>variable.language.fenced.markdown</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#798491</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Added</string> - <key>scope</key> - <string>markup.inserted.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#C2D94C</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Changed</string> - <key>scope</key> - <string>markup.changed.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Deleted</string> - <key>scope</key> - <string>markup.deleted.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ff7c6d</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Ignored</string> - <key>scope</key> - <string>markup.ignored.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#20272C</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Untracked</string> - <key>scope</key> - <string>markup.untracked.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#20272C</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GutterColor</string> - <key>scope</key> - <string>gutter_color</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>AceJump Label - Blue</string> - <key>scope</key> - <string>acejump.label.blue</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#39BAE6</string> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>AceJump Label - Green</string> - <key>scope</key> - <string>acejump.label.green</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#C2D94C</string> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>AceJump Label - Orange</string> - <key>scope</key> - <string>acejump.label.orange</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#ff813c</string> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>AceJump Label - Purple</string> - <key>scope</key> - <string>acejump.label.purple</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#fe7d83</string> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>SublimeLinter Warning</string> - <key>scope</key> - <string>sublimelinter.mark.warning</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#39BAE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>SublimeLinter Gutter Mark</string> - <key>scope</key> - <string>sublimelinter.gutter-mark</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>SublimeLinter Error</string> - <key>scope</key> - <string>sublimelinter.mark.error</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ff7c6d</string> - </dict> - </dict> - </array> - <key>uuid</key> - <string>0e709986-46a0-40a0-b3bf-c8dfe525c455</string> -</dict> -</plist> diff --git a/highlight_themes/ayu-light-abridge.tmTheme b/highlight_themes/ayu-light-abridge.tmTheme deleted file mode 100644 index 8a9cecb..0000000 --- a/highlight_themes/ayu-light-abridge.tmTheme +++ /dev/null @@ -1,1025 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>author</key> - <string>Ike Ku</string> - <key>colorSpaceName</key> - <string>sRGB</string> - <key>name</key> - <string>ayu</string> - <key>semanticClass</key> - <string>ayu.light</string> - <key>settings</key> - <array> - <dict> - <key>settings</key> - <dict> - <key>accent</key> - <string>#b85500</string> - <key>activeGuide</key> - <string>#B9BCBF</string> - <key>background</key> - <string>#ffffff</string> - <key>caret</key> - <string>#b85500</string> - <key>findHighlight</key> - <string>#b85500</string> - <key>findHighlightForeground</key> - <string>#ffffff</string> - <key>foreground</key> - <string>#61676C</string> - <key>guide</key> - <string>#DEE0E1</string> - <key>gutter</key> - <string>#ffffff</string> - <key>gutterForeground</key> - <string>#D9DBDD</string> - <key>inactiveBackground</key> - <string>#ffffff</string> - <key>inactiveSelection</key> - <string>#ECF4F9</string> - <key>invisibles</key> - <string>#D9DBDD</string> - <key>lineHighlight</key> - <string>#F3F3F3</string> - <key>popupCss</key> - <string>html, body { - background-color: #ffffff; - color: #61676C; -} -body { - padding: 1px 3px; -} -a { - color: rgba(85, 180, 212, .7); -} -</string> - <key>selection</key> - <string>#E9F2F8</string> - <key>selectionBorder</key> - <string>#E3EFF8</string> - <key>shadow</key> - <string>#00000010</string> - <key>stackGuide</key> - <string>#DEE0E1</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Comment</string> - <key>scope</key> - <string>comment, punctuation.definition.comment</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#6e7379</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Variable</string> - <key>scope</key> - <string>variable</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#61676C</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>String</string> - <key>scope</key> - <string>string, constant.other.symbol</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#507e00</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Number</string> - <key>scope</key> - <string>constant.numeric</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#b85500</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Regular Expressions and Escape Characters</string> - <key>scope</key> - <string>string.regexp, constant.character.escape</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#008260</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Built-in constant</string> - <key>scope</key> - <string>constant.language</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#b85500</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>User-defined constant</string> - <key>scope</key> - <string>constant.character, constant.other</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#b85500</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Member Variable</string> - <key>scope</key> - <string>variable.member</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cb414d</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Keyword</string> - <key>scope</key> - <string>keyword - keyword.operator, keyword.operator.word</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#c94506</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Operators</string> - <key>scope</key> - <string>keyword.operator</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ac5c32</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Punctuation</string> - <key>scope</key> - <string>punctuation.separator, punctuation.terminator</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#61676CCC</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Punctuation</string> - <key>scope</key> - <string>punctuation.section</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#61676C</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Accessor</string> - <key>scope</key> - <string>punctuation.accessor</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ac5c32</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Annotation Punctuation</string> - <key>scope</key> - <string>punctuation.definition.annotation</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#61676CCC</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JavaScript Dollar</string> - <key>scope</key> - <string>variable.other.dollar.only.js, variable.other.object.dollar.only.js, variable.type.dollar.only.js, support.class.dollar.only.js</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#936b2c</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Storage</string> - <key>scope</key> - <string>storage</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#c94506</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Storage type</string> - <key>scope</key> - <string>storage.type</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#c94506</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Function name</string> - <key>scope</key> - <string>entity.name.function</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ac5d00</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Entity name</string> - <key>scope</key> - <string>entity.name - (entity.name.section | entity.name.tag | entity.name.label)</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#0079bd</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Inherited class</string> - <key>scope</key> - <string>entity.other.inherited-class</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>underline</string> - <key>foreground</key> - <string>#0079bd</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Function argument</string> - <key>scope</key> - <string>variable.parameter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#b85500</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Language variable</string> - <key>scope</key> - <string>variable.language</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Tag</string> - <key>scope</key> - <string>entity.name.tag, meta.tag.sgml</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Tag start/end</string> - <key>scope</key> - <string>punctuation.definition.tag.end, punctuation.definition.tag.begin, punctuation.definition.tag</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007d9b90</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Tag attribute</string> - <key>scope</key> - <string>entity.other.attribute-name</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ac5d00</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Function call</string> - <key>scope</key> - <string>variable.function, variable.annotation</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ac5d00</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Library function</string> - <key>scope</key> - <string>support.function, support.macro</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#c44a4e</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Library constant</string> - <key>scope</key> - <string>support.constant</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#ac5c32</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Library class/type</string> - <key>scope</key> - <string>support.type, support.class</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Invalid</string> - <key>scope</key> - <string>invalid</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#e6000b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Invalid deprecated</string> - <key>scope</key> - <string>invalid.deprecated</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#c94506</string> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>diff.header</string> - <key>scope</key> - <string>meta.diff, meta.diff.header</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>##916392</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Ruby class methods</string> - <key>scope</key> - <string>source.ruby variable.other.readwrite</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ac5d00</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>CSS tag names</string> - <key>scope</key> - <string>source.css entity.name.tag, source.sass entity.name.tag, source.scss entity.name.tag, source.less entity.name.tag, source.stylus entity.name.tag</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#0079bd</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>CSS browser prefix</string> - <key>scope</key> - <string>source.css support.type, source.sass support.type, source.scss support.type, source.less support.type, source.stylus support.type</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#6e7379</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>CSS Properties</string> - <key>scope</key> - <string>support.type.property-name</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>normal</string> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Search Results Nums</string> - <key>scope</key> - <string>constant.numeric.line-number.find-in-files - match</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#6e7379</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Search Results Match Nums</string> - <key>scope</key> - <string>constant.numeric.line-number.match</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#c94506</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Search Results Lines</string> - <key>scope</key> - <string>entity.name.filename.find-in-files</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#507e00</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>message.error</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#e6000b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 8</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 7</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 6</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 5</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 4</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 3</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 2</string> - <key>scope</key> - <string>source.json meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 1</string> - <key>scope</key> - <string>source.json meta meta.structure.dictionary.json string.quoted.double.json - meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta.structure.dictionary.json punctuation.definition.string - meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 0</string> - <key>scope</key> - <string>source.json meta.structure.dictionary.json string.quoted.double.json - meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta.structure.dictionary.json punctuation.definition.string - meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Heading</string> - <key>scope</key> - <string>markup.heading</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>bold</string> - <key>foreground</key> - <string>#c94506</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Links</string> - <key>scope</key> - <string>string.other.link, markup.underline.link</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic underline</string> - <key>foreground</key> - <string>#008260</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup image</string> - <key>scope</key> - <string>punctuation.definition.image</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ac5d00</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Italic</string> - <key>scope</key> - <string>markup.italic</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#c44a4e</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Bold</string> - <key>scope</key> - <string>markup.bold</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>bold</string> - <key>foreground</key> - <string>#c44a4e</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Bold/italic</string> - <key>scope</key> - <string>markup.italic markup.bold | markup.bold markup.italic</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>bold italic</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Code</string> - <key>scope</key> - <string>markup.raw</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#61676C07</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Code Inline</string> - <key>scope</key> - <string>markup.raw.inline</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#61676C10</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown Separator</string> - <key>scope</key> - <string>meta.separator</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#61676C10</string> - <key>fontStyle</key> - <string>bold</string> - <key>foreground</key> - <string>#6e7379</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Blockquote</string> - <key>scope</key> - <string>markup.quote</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#b85500</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup List Bullet</string> - <key>scope</key> - <string>markup.list.numbered.bullet, markup.list punctuation.definition.list_item</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#008260</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Inserted</string> - <key>scope</key> - <string>markup.inserted</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#507e00</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Changed</string> - <key>scope</key> - <string>markup.changed</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Deleted</string> - <key>scope</key> - <string>markup.deleted</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#c44a4e</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Strike</string> - <key>scope</key> - <string>markup.strike</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#936b2c</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Table</string> - <key>scope</key> - <string>markup.table</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#61676C10</string> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Raw Inline</string> - <key>scope</key> - <string>text.html.markdown markup.raw.inline</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ac5c32</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Line Break</string> - <key>scope</key> - <string>text.html.markdown meta.dummy.line-break</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#6e7379</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Raw Block Fenced</string> - <key>scope</key> - <string>markup.raw.block.fenced.markdown</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#61676C10</string> - <key>foreground</key> - <string>#61676C</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Fenced Bode Block</string> - <key>scope</key> - <string>punctuation.definition.fenced.markdown, variable.language.fenced.markdown</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#61676C10</string> - <key>foreground</key> - <string>#6e7379</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Fenced Language</string> - <key>scope</key> - <string>variable.language.fenced.markdown</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#6e7379</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Added</string> - <key>scope</key> - <string>markup.inserted.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#507e00</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Changed</string> - <key>scope</key> - <string>markup.changed.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Deleted</string> - <key>scope</key> - <string>markup.deleted.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#e6000b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Ignored</string> - <key>scope</key> - <string>markup.ignored.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#DEE0E1</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Untracked</string> - <key>scope</key> - <string>markup.untracked.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#DEE0E1</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GutterColor</string> - <key>scope</key> - <string>gutter_color</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>AceJump Label - Blue</string> - <key>scope</key> - <string>acejump.label.blue</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#007d9b</string> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>AceJump Label - Green</string> - <key>scope</key> - <string>acejump.label.green</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#507e00</string> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>AceJump Label - Orange</string> - <key>scope</key> - <string>acejump.label.orange</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#c94506</string> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>AceJump Label - Purple</string> - <key>scope</key> - <string>acejump.label.purple</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#c44a4e</string> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>SublimeLinter Warning</string> - <key>scope</key> - <string>sublimelinter.mark.warning</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007d9b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>SublimeLinter Gutter Mark</string> - <key>scope</key> - <string>sublimelinter.gutter-mark</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>SublimeLinter Error</string> - <key>scope</key> - <string>sublimelinter.mark.error</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#e6000b</string> - </dict> - </dict> - </array> - <key>uuid</key> - <string>0e709986-46a0-40a0-b3bf-c8dfe525c455</string> -</dict> -</plist> diff --git a/highlight_themes/ayu_mirage-dark-abridge.tmTheme b/highlight_themes/ayu_mirage-dark-abridge.tmTheme deleted file mode 100644 index b41033d..0000000 --- a/highlight_themes/ayu_mirage-dark-abridge.tmTheme +++ /dev/null @@ -1,1025 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>author</key> - <string>Ike Ku</string> - <key>colorSpaceName</key> - <string>sRGB</string> - <key>name</key> - <string>ayu</string> - <key>semanticClass</key> - <string>ayu.mirage</string> - <key>settings</key> - <array> - <dict> - <key>settings</key> - <dict> - <key>accent</key> - <string>#FFCC66</string> - <key>activeGuide</key> - <string>#515C69</string> - <key>background</key> - <string>#191919</string> - <key>caret</key> - <string>#FFCC66</string> - <key>findHighlight</key> - <string>#FFCC66</string> - <key>findHighlightForeground</key> - <string>#191919</string> - <key>foreground</key> - <string>#CCC9C2</string> - <key>guide</key> - <string>#363E4A</string> - <key>gutter</key> - <string>#191919</string> - <key>gutterForeground</key> - <string>#39424E</string> - <key>inactiveBackground</key> - <string>#191919</string> - <key>inactiveSelection</key> - <string>#283543</string> - <key>invisibles</key> - <string>#39424E</string> - <key>lineHighlight</key> - <string>#1C222C</string> - <key>popupCss</key> - <string>html, body { - background-color: #262C38; - color: #CCC9C2; -} -body { - padding: 1px 3px; -} -a { - color: rgba(92, 207, 230, .7); -} -</string> - <key>selection</key> - <string>#293847</string> - <key>selectionBorder</key> - <string>#2C3D4E</string> - <key>shadow</key> - <string>#00000010</string> - <key>stackGuide</key> - <string>#363E4A</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Comment</string> - <key>scope</key> - <string>comment, punctuation.definition.comment</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#798491</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Variable</string> - <key>scope</key> - <string>variable</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#CCC9C2</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>String</string> - <key>scope</key> - <string>string, constant.other.symbol</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#BAE67E</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Number</string> - <key>scope</key> - <string>constant.numeric</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFCC66</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Regular Expressions and Escape Characters</string> - <key>scope</key> - <string>string.regexp, constant.character.escape</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#95E6CB</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Built-in constant</string> - <key>scope</key> - <string>constant.language</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFCC66</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>User-defined constant</string> - <key>scope</key> - <string>constant.character, constant.other</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFCC66</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Member Variable</string> - <key>scope</key> - <string>variable.member</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fe7d83</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Keyword</string> - <key>scope</key> - <string>keyword - keyword.operator, keyword.operator.word</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFA759</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Operators</string> - <key>scope</key> - <string>keyword.operator</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#F29E74</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Punctuation</string> - <key>scope</key> - <string>punctuation.separator, punctuation.terminator</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#CCC9C2CC</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Punctuation</string> - <key>scope</key> - <string>punctuation.section</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#CCC9C2</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Accessor</string> - <key>scope</key> - <string>punctuation.accessor</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#F29E74</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Annotation Punctuation</string> - <key>scope</key> - <string>punctuation.definition.annotation</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#CCC9C2CC</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JavaScript Dollar</string> - <key>scope</key> - <string>variable.other.dollar.only.js, variable.other.object.dollar.only.js, variable.type.dollar.only.js, support.class.dollar.only.js</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFC44C</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Storage</string> - <key>scope</key> - <string>storage</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFA759</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Storage type</string> - <key>scope</key> - <string>storage.type</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFA759</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Function name</string> - <key>scope</key> - <string>entity.name.function</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFD580</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Entity name</string> - <key>scope</key> - <string>entity.name - (entity.name.section | entity.name.tag | entity.name.label)</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#73D0FF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Inherited class</string> - <key>scope</key> - <string>entity.other.inherited-class</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>underline</string> - <key>foreground</key> - <string>#73D0FF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Function argument</string> - <key>scope</key> - <string>variable.parameter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFCC66</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Language variable</string> - <key>scope</key> - <string>variable.language</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#5CCFE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Tag</string> - <key>scope</key> - <string>entity.name.tag, meta.tag.sgml</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#5CCFE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Tag start/end</string> - <key>scope</key> - <string>punctuation.definition.tag.end, punctuation.definition.tag.begin, punctuation.definition.tag</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#5CCFE690</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Tag attribute</string> - <key>scope</key> - <string>entity.other.attribute-name</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFD580</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Function call</string> - <key>scope</key> - <string>variable.function, variable.annotation</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFD580</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Library function</string> - <key>scope</key> - <string>support.function, support.macro</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#F28779</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Library constant</string> - <key>scope</key> - <string>support.constant</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#F29E74</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Library class/type</string> - <key>scope</key> - <string>support.type, support.class</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#5CCFE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Invalid</string> - <key>scope</key> - <string>invalid</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ff7c6d</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Invalid deprecated</string> - <key>scope</key> - <string>invalid.deprecated</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#FFA759</string> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>diff.header</string> - <key>scope</key> - <string>meta.diff, meta.diff.header</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#c594c5</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Ruby class methods</string> - <key>scope</key> - <string>source.ruby variable.other.readwrite</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFD580</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>CSS tag names</string> - <key>scope</key> - <string>source.css entity.name.tag, source.sass entity.name.tag, source.scss entity.name.tag, source.less entity.name.tag, source.stylus entity.name.tag</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#73D0FF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>CSS browser prefix</string> - <key>scope</key> - <string>source.css support.type, source.sass support.type, source.scss support.type, source.less support.type, source.stylus support.type</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#798491</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>CSS Properties</string> - <key>scope</key> - <string>support.type.property-name</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>normal</string> - <key>foreground</key> - <string>#5CCFE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Search Results Nums</string> - <key>scope</key> - <string>constant.numeric.line-number.find-in-files - match</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#798491</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Search Results Match Nums</string> - <key>scope</key> - <string>constant.numeric.line-number.match</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFA759</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Search Results Lines</string> - <key>scope</key> - <string>entity.name.filename.find-in-files</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#BAE67E</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>message.error</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ff7c6d</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 8</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#5CCFE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 7</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#5CCFE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 6</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#5CCFE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 5</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#5CCFE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 4</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#5CCFE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 3</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#5CCFE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 2</string> - <key>scope</key> - <string>source.json meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#5CCFE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 1</string> - <key>scope</key> - <string>source.json meta meta.structure.dictionary.json string.quoted.double.json - meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta.structure.dictionary.json punctuation.definition.string - meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#5CCFE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 0</string> - <key>scope</key> - <string>source.json meta.structure.dictionary.json string.quoted.double.json - meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta.structure.dictionary.json punctuation.definition.string - meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#5CCFE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Heading</string> - <key>scope</key> - <string>markup.heading</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>bold</string> - <key>foreground</key> - <string>#FFA759</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Links</string> - <key>scope</key> - <string>string.other.link, markup.underline.link</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic underline</string> - <key>foreground</key> - <string>#95E6CB</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup image</string> - <key>scope</key> - <string>punctuation.definition.image</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFD580</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Italic</string> - <key>scope</key> - <string>markup.italic</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#F28779</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Bold</string> - <key>scope</key> - <string>markup.bold</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>bold</string> - <key>foreground</key> - <string>#F28779</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Bold/italic</string> - <key>scope</key> - <string>markup.italic markup.bold | markup.bold markup.italic</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>bold italic</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Code</string> - <key>scope</key> - <string>markup.raw</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#CCC9C207</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Code Inline</string> - <key>scope</key> - <string>markup.raw.inline</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#CCC9C210</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown Separator</string> - <key>scope</key> - <string>meta.separator</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#CCC9C210</string> - <key>fontStyle</key> - <string>bold</string> - <key>foreground</key> - <string>#798491</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Blockquote</string> - <key>scope</key> - <string>markup.quote</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#FFCC66</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup List Bullet</string> - <key>scope</key> - <string>markup.list.numbered.bullet, markup.list punctuation.definition.list_item</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#95E6CB</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Inserted</string> - <key>scope</key> - <string>markup.inserted</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#BAE67E</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Changed</string> - <key>scope</key> - <string>markup.changed</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#5CCFE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Deleted</string> - <key>scope</key> - <string>markup.deleted</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#F28779</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Strike</string> - <key>scope</key> - <string>markup.strike</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFC44C</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Table</string> - <key>scope</key> - <string>markup.table</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#CCC9C210</string> - <key>foreground</key> - <string>#5CCFE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Raw Inline</string> - <key>scope</key> - <string>text.html.markdown markup.raw.inline</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#F29E74</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Line Break</string> - <key>scope</key> - <string>text.html.markdown meta.dummy.line-break</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#798491</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Raw Block Fenced</string> - <key>scope</key> - <string>markup.raw.block.fenced.markdown</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#CCC9C210</string> - <key>foreground</key> - <string>#CCC9C2</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Fenced Bode Block</string> - <key>scope</key> - <string>punctuation.definition.fenced.markdown, variable.language.fenced.markdown</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#CCC9C210</string> - <key>foreground</key> - <string>#798491</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Fenced Language</string> - <key>scope</key> - <string>variable.language.fenced.markdown</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#798491</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Added</string> - <key>scope</key> - <string>markup.inserted.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#BAE67E</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Changed</string> - <key>scope</key> - <string>markup.changed.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#5CCFE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Deleted</string> - <key>scope</key> - <string>markup.deleted.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ff7c6d</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Ignored</string> - <key>scope</key> - <string>markup.ignored.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#363E4A</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Untracked</string> - <key>scope</key> - <string>markup.untracked.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#363E4A</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GutterColor</string> - <key>scope</key> - <string>gutter_color</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>AceJump Label - Blue</string> - <key>scope</key> - <string>acejump.label.blue</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#5CCFE6</string> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>AceJump Label - Green</string> - <key>scope</key> - <string>acejump.label.green</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#BAE67E</string> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>AceJump Label - Orange</string> - <key>scope</key> - <string>acejump.label.orange</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#FFA759</string> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>AceJump Label - Purple</string> - <key>scope</key> - <string>acejump.label.purple</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#F28779</string> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>SublimeLinter Warning</string> - <key>scope</key> - <string>sublimelinter.mark.warning</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#5CCFE6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>SublimeLinter Gutter Mark</string> - <key>scope</key> - <string>sublimelinter.gutter-mark</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFFFFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>SublimeLinter Error</string> - <key>scope</key> - <string>sublimelinter.mark.error</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ff7c6d</string> - </dict> - </dict> - </array> - <key>uuid</key> - <string>0e709986-46a0-40a0-b3bf-c8dfe525c455</string> -</dict> -</plist> diff --git a/highlight_themes/ayu_mirage-light-abridge.tmTheme b/highlight_themes/ayu_mirage-light-abridge.tmTheme deleted file mode 100644 index 7043227..0000000 --- a/highlight_themes/ayu_mirage-light-abridge.tmTheme +++ /dev/null @@ -1,1025 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>author</key> - <string>Ike Ku</string> - <key>colorSpaceName</key> - <string>sRGB</string> - <key>name</key> - <string>ayu</string> - <key>semanticClass</key> - <string>ayu.mirage</string> - <key>settings</key> - <array> - <dict> - <key>settings</key> - <dict> - <key>accent</key> - <string>#926b00</string> - <key>activeGuide</key> - <string>#515C69</string> - <key>background</key> - <string>#ffffff</string> - <key>caret</key> - <string>#926b00</string> - <key>findHighlight</key> - <string>#926b00</string> - <key>findHighlightForeground</key> - <string>#ffffff</string> - <key>foreground</key> - <string>#76736d</string> - <key>guide</key> - <string>#363E4A</string> - <key>gutter</key> - <string>#ffffff</string> - <key>gutterForeground</key> - <string>#39424E</string> - <key>inactiveBackground</key> - <string>#ffffff</string> - <key>inactiveSelection</key> - <string>#283543</string> - <key>invisibles</key> - <string>#39424E</string> - <key>lineHighlight</key> - <string>#1C222C</string> - <key>popupCss</key> - <string>html, body { - background-color: #262C38; - color: #76736d; -} -body { - padding: 1px 3px; -} -a { - color: rgba(92, 207, 230, .7); -} -</string> - <key>selection</key> - <string>#293847</string> - <key>selectionBorder</key> - <string>#2C3D4E</string> - <key>shadow</key> - <string>#00000010</string> - <key>stackGuide</key> - <string>#363E4A</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Comment</string> - <key>scope</key> - <string>comment, punctuation.definition.comment</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#5C6773</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Variable</string> - <key>scope</key> - <string>variable</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#76736d</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>String</string> - <key>scope</key> - <string>string, constant.other.symbol</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#547f1c</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Number</string> - <key>scope</key> - <string>constant.numeric</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#926b00</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Regular Expressions and Escape Characters</string> - <key>scope</key> - <string>string.regexp, constant.character.escape</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#2d7f68</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Built-in constant</string> - <key>scope</key> - <string>constant.language</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#926b00</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>User-defined constant</string> - <key>scope</key> - <string>constant.character, constant.other</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#926b00</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Member Variable</string> - <key>scope</key> - <string>variable.member</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cb414d</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Keyword</string> - <key>scope</key> - <string>keyword - keyword.operator, keyword.operator.word</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#aa5f0f</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Operators</string> - <key>scope</key> - <string>keyword.operator</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#aa5f39</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Punctuation</string> - <key>scope</key> - <string>punctuation.separator, punctuation.terminator</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#76736dCC</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Punctuation</string> - <key>scope</key> - <string>punctuation.section</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#76736d</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Accessor</string> - <key>scope</key> - <string>punctuation.accessor</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#aa5f39</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Annotation Punctuation</string> - <key>scope</key> - <string>punctuation.definition.annotation</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#76736dCC</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JavaScript Dollar</string> - <key>scope</key> - <string>variable.other.dollar.only.js, variable.other.object.dollar.only.js, variable.type.dollar.only.js, support.class.dollar.only.js</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#986b00</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Storage</string> - <key>scope</key> - <string>storage</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#aa5f0f</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Storage type</string> - <key>scope</key> - <string>storage.type</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#aa5f0f</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Function name</string> - <key>scope</key> - <string>entity.name.function</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#8f6f1d</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Entity name</string> - <key>scope</key> - <string>entity.name - (entity.name.section | entity.name.tag | entity.name.label)</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007ca7</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Inherited class</string> - <key>scope</key> - <string>entity.other.inherited-class</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>underline</string> - <key>foreground</key> - <string>#007ca7</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Function argument</string> - <key>scope</key> - <string>variable.parameter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#926b00</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Language variable</string> - <key>scope</key> - <string>variable.language</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#007f95</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Tag</string> - <key>scope</key> - <string>entity.name.tag, meta.tag.sgml</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007f95</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Tag start/end</string> - <key>scope</key> - <string>punctuation.definition.tag.end, punctuation.definition.tag.begin, punctuation.definition.tag</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007f9590</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Tag attribute</string> - <key>scope</key> - <string>entity.other.attribute-name</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#8f6f1d</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Function call</string> - <key>scope</key> - <string>variable.function, variable.annotation</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#8f6f1d</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Library function</string> - <key>scope</key> - <string>support.function, support.macro</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#b75349</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Library constant</string> - <key>scope</key> - <string>support.constant</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#aa5f39</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Library class/type</string> - <key>scope</key> - <string>support.type, support.class</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#007f95</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Invalid</string> - <key>scope</key> - <string>invalid</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#e40320</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Invalid deprecated</string> - <key>scope</key> - <string>invalid.deprecated</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#aa5f0f</string> - <key>foreground</key> - <string>#ffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>diff.header</string> - <key>scope</key> - <string>meta.diff, meta.diff.header</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#916392</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Ruby class methods</string> - <key>scope</key> - <string>source.ruby variable.other.readwrite</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#8f6f1d</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>CSS tag names</string> - <key>scope</key> - <string>source.css entity.name.tag, source.sass entity.name.tag, source.scss entity.name.tag, source.less entity.name.tag, source.stylus entity.name.tag</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007ca7</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>CSS browser prefix</string> - <key>scope</key> - <string>source.css support.type, source.sass support.type, source.scss support.type, source.less support.type, source.stylus support.type</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#5C6773</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>CSS Properties</string> - <key>scope</key> - <string>support.type.property-name</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>normal</string> - <key>foreground</key> - <string>#007f95</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Search Results Nums</string> - <key>scope</key> - <string>constant.numeric.line-number.find-in-files - match</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#5C6773</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Search Results Match Nums</string> - <key>scope</key> - <string>constant.numeric.line-number.match</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#aa5f0f</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Search Results Lines</string> - <key>scope</key> - <string>entity.name.filename.find-in-files</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#547f1c</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>message.error</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#e40320</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 8</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007f95</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 7</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007f95</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 6</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007f95</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 5</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007f95</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 4</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007f95</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 3</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007f95</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 2</string> - <key>scope</key> - <string>source.json meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007f95</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 1</string> - <key>scope</key> - <string>source.json meta meta.structure.dictionary.json string.quoted.double.json - meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta.structure.dictionary.json punctuation.definition.string - meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007f95</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 0</string> - <key>scope</key> - <string>source.json meta.structure.dictionary.json string.quoted.double.json - meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta.structure.dictionary.json punctuation.definition.string - meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007f95</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Heading</string> - <key>scope</key> - <string>markup.heading</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>bold</string> - <key>foreground</key> - <string>#aa5f0f</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Links</string> - <key>scope</key> - <string>string.other.link, markup.underline.link</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic underline</string> - <key>foreground</key> - <string>#2d7f68</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup image</string> - <key>scope</key> - <string>punctuation.definition.image</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#8f6f1d</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Italic</string> - <key>scope</key> - <string>markup.italic</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#b75349</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Bold</string> - <key>scope</key> - <string>markup.bold</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>bold</string> - <key>foreground</key> - <string>#b75349</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Bold/italic</string> - <key>scope</key> - <string>markup.italic markup.bold | markup.bold markup.italic</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>bold italic</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Code</string> - <key>scope</key> - <string>markup.raw</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#76736d07</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Code Inline</string> - <key>scope</key> - <string>markup.raw.inline</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#76736d10</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown Separator</string> - <key>scope</key> - <string>meta.separator</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#76736d10</string> - <key>fontStyle</key> - <string>bold</string> - <key>foreground</key> - <string>#5C6773</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Blockquote</string> - <key>scope</key> - <string>markup.quote</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#926b00</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup List Bullet</string> - <key>scope</key> - <string>markup.list.numbered.bullet, markup.list punctuation.definition.list_item</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#2d7f68</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Inserted</string> - <key>scope</key> - <string>markup.inserted</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#547f1c</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Changed</string> - <key>scope</key> - <string>markup.changed</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007f95</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Deleted</string> - <key>scope</key> - <string>markup.deleted</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#b75349</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Strike</string> - <key>scope</key> - <string>markup.strike</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#986b00</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Table</string> - <key>scope</key> - <string>markup.table</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#76736d10</string> - <key>foreground</key> - <string>#007f95</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Raw Inline</string> - <key>scope</key> - <string>text.html.markdown markup.raw.inline</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#aa5f39</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Line Break</string> - <key>scope</key> - <string>text.html.markdown meta.dummy.line-break</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#5C6773</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Raw Block Fenced</string> - <key>scope</key> - <string>markup.raw.block.fenced.markdown</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#76736d10</string> - <key>foreground</key> - <string>#76736d</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Fenced Bode Block</string> - <key>scope</key> - <string>punctuation.definition.fenced.markdown, variable.language.fenced.markdown</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#76736d10</string> - <key>foreground</key> - <string>#5C6773</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Fenced Language</string> - <key>scope</key> - <string>variable.language.fenced.markdown</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#5C6773</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Added</string> - <key>scope</key> - <string>markup.inserted.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#547f1c</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Changed</string> - <key>scope</key> - <string>markup.changed.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007f95</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Deleted</string> - <key>scope</key> - <string>markup.deleted.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#e40320</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Ignored</string> - <key>scope</key> - <string>markup.ignored.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#363E4A</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Untracked</string> - <key>scope</key> - <string>markup.untracked.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#363E4A</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GutterColor</string> - <key>scope</key> - <string>gutter_color</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>AceJump Label - Blue</string> - <key>scope</key> - <string>acejump.label.blue</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#007f95</string> - <key>foreground</key> - <string>#ffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>AceJump Label - Green</string> - <key>scope</key> - <string>acejump.label.green</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#547f1c</string> - <key>foreground</key> - <string>#ffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>AceJump Label - Orange</string> - <key>scope</key> - <string>acejump.label.orange</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#aa5f0f</string> - <key>foreground</key> - <string>#ffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>AceJump Label - Purple</string> - <key>scope</key> - <string>acejump.label.purple</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#b75349</string> - <key>foreground</key> - <string>#ffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>SublimeLinter Warning</string> - <key>scope</key> - <string>sublimelinter.mark.warning</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007f95</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>SublimeLinter Gutter Mark</string> - <key>scope</key> - <string>sublimelinter.gutter-mark</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>SublimeLinter Error</string> - <key>scope</key> - <string>sublimelinter.mark.error</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#e40320</string> - </dict> - </dict> - </array> - <key>uuid</key> - <string>0e709986-46a0-40a0-b3bf-c8dfe525c455</string> -</dict> -</plist> diff --git a/highlight_themes/charcoal-dark-abridge.tmTheme b/highlight_themes/charcoal-dark-abridge.tmTheme deleted file mode 100644 index 33c8c1b..0000000 --- a/highlight_themes/charcoal-dark-abridge.tmTheme +++ /dev/null @@ -1,330 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<!-- Generated by: TmTheme-Editor --> -<!-- ============================================ --> -<!-- app: http://tmtheme-editor.herokuapp.com --> -<!-- code: https://github.com/aziz/tmTheme-Editor --> -<plist version="1.0"> -<dict> - <key>author</key> - <string>Don Steinert (http://www.dnld.cc)</string> - <key>colorSpaceName</key> - <string>sRGB</string> - <key>gutterSettings</key> - <dict> - <key>background</key> - <string>#191919</string> - <key>divider</key> - <string>#191919</string> - <key>foreground</key> - <string>#CCCECE</string> - <key>selectionBackground</key> - <string>#3E4044</string> - <key>selectionForeground</key> - <string>#CCCECE</string> - </dict> - <key>name</key> - <string>Charcoal</string> - <key>semanticClass</key> - <string>theme.dark.charcoal</string> - <key>settings</key> - <array> - <dict> - <key>settings</key> - <dict> - <key>background</key> - <string>#191919</string> - <key>caret</key> - <string>#CCCECE</string> - <key>foreground</key> - <string>#CCCECE</string> - <key>invisibles</key> - <string>#3E4044</string> - <key>lineHighlight</key> - <string>#3E4044</string> - <key>selection</key> - <string>#3E4044</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Comments</string> - <key>scope</key> - <string>comment, punctuation.definition.comment</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#7e8384</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Variable</string> - <key>scope</key> - <string>variable</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#CCCECE</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Keyword, Storage</string> - <key>scope</key> - <string>keyword, storage.type, storage.modifier</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#C594C5</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Operator, Misc</string> - <key>scope</key> - <string>keyword.operator, constant.other.color, punctuation, meta.tag, punctuation.definition.tag, punctuation.separator.inheritance.php, punctuation.definition.tag.html, punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html, punctuation.section.embedded, keyword.other.template, keyword.other.substitution</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#5FB3B3</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Tag</string> - <key>scope</key> - <string>entity.name.tag, meta.tag.sgml, markup.deleted.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ff7b84</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Function, Special Method, Block Level</string> - <key>scope</key> - <string>entity.name.function, meta.function-call, variable.function, support.function, keyword.other.special-method, meta.block-level</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#78aade</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Other Variable, String Link</string> - <key>scope</key> - <string>support.other.variable, string.other.link</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fa7e81</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Number, Constant, Function Argument, Tag Attribute, Embedded</string> - <key>scope</key> - <string>constant.numeric, constant.language, support.constant, constant.character, variable.parameter, keyword.other.unit</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#F99157</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>String, Symbols, Inherited Class, Markup Heading</string> - <key>scope</key> - <string>string, constant.other.symbol, constant.other.key, entity.other.inherited-class, markup.heading, markup.inserted.git_gutter, meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>normal</string> - <key>foreground</key> - <string>#99C794</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Class, Support</string> - <key>scope</key> - <string>entity.name.class, entity.name.type.class, support.type, support.class, support.orther.namespace.use.php, meta.use.php, support.other.namespace.php, markup.changed.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FAC863</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Sub-methods</string> - <key>scope</key> - <string>entity.name.module.js, variable.import.parameter.js, variable.other.class.js</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fe7d83</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Language methods</string> - <key>scope</key> - <string>variable.language</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fe7d83</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>entity.name.method.js</string> - <key>scope</key> - <string>entity.name.method.js</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#D8DEE9</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>meta.method.js</string> - <key>scope</key> - <string>meta.class-method.js entity.name.function.js, variable.function.constructor</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#D8DEE9</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Attributes</string> - <key>scope</key> - <string>entity.other.attribute-name</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cd91c4</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Inserted</string> - <key>scope</key> - <string>markup.inserted</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#99C794</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Deleted</string> - <key>scope</key> - <string>markup.deleted</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fe7d83</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Changed</string> - <key>scope</key> - <string>markup.changed</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cd91c4</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Regular Expressions</string> - <key>scope</key> - <string>string.regexp</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#5FB3B3</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Escape Characters</string> - <key>scope</key> - <string>constant.character.escape</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#5FB3B3</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>URL</string> - <key>scope</key> - <string>*url*, *link*, *uri*</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>underline</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Search Results Nums</string> - <key>scope</key> - <string>constant.numeric.line-number.find-in-files - match</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cf9a87</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Search Results Lines</string> - <key>scope</key> - <string>entity.name.filename.find-in-files</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#99C794</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Decorators</string> - <key>scope</key> - <string>tag.decorator.js entity.name.tag.js, tag.decorator.js punctuation.definition.tag.js</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#78aade</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>ES7 Bind Operator</string> - <key>scope</key> - <string>source.js constant.other.object.key.js string.unquoted.label.js</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fe7d83</string> - </dict> - </dict> - </array> - <key>uuid</key> - <string>091c9b5a-9e64-4001-8c15-4c7c42840eb4</string> -</dict> -</plist> diff --git a/highlight_themes/charcoal-light-abridge.tmTheme b/highlight_themes/charcoal-light-abridge.tmTheme deleted file mode 100644 index c0313f4..0000000 --- a/highlight_themes/charcoal-light-abridge.tmTheme +++ /dev/null @@ -1,330 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<!-- Generated by: TmTheme-Editor --> -<!-- ============================================ --> -<!-- app: http://tmtheme-editor.herokuapp.com --> -<!-- code: https://github.com/aziz/tmTheme-Editor --> -<plist version="1.0"> -<dict> - <key>author</key> - <string>Don Steinert (http://www.dnld.cc)</string> - <key>colorSpaceName</key> - <string>sRGB</string> - <key>gutterSettings</key> - <dict> - <key>background</key> - <string>#ffffff</string> - <key>divider</key> - <string>#ffffff</string> - <key>foreground</key> - <string>#727373</string> - <key>selectionBackground</key> - <string>#3E4044</string> - <key>selectionForeground</key> - <string>#727373</string> - </dict> - <key>name</key> - <string>Charcoal</string> - <key>semanticClass</key> - <string>theme.dark.charcoal</string> - <key>settings</key> - <array> - <dict> - <key>settings</key> - <dict> - <key>background</key> - <string>#ffffff</string> - <key>caret</key> - <string>#727373</string> - <key>foreground</key> - <string>#727373</string> - <key>invisibles</key> - <string>#3E4044</string> - <key>lineHighlight</key> - <string>#3E4044</string> - <key>selection</key> - <string>#3E4044</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Comments</string> - <key>scope</key> - <string>comment, punctuation.definition.comment</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#5F6364</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Variable</string> - <key>scope</key> - <string>variable</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#727373</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Keyword, Storage</string> - <key>scope</key> - <string>keyword, storage.type, storage.modifier</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#916392</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Operator, Misc</string> - <key>scope</key> - <string>keyword.operator, constant.other.color, punctuation, meta.tag, punctuation.definition.tag, punctuation.separator.inheritance.php, punctuation.definition.tag.html, punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html, punctuation.section.embedded, keyword.other.template, keyword.other.substitution</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#237e7f</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Tag</string> - <key>scope</key> - <string>entity.name.tag, meta.tag.sgml, markup.deleted.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ca4251</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Function, Special Method, Block Level</string> - <key>scope</key> - <string>entity.name.function, meta.function-call, variable.function, support.function, keyword.other.special-method, meta.block-level</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#4076a7</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Other Variable, String Link</string> - <key>scope</key> - <string>support.other.variable, string.other.link</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#c14c52</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Number, Constant, Function Argument, Tag Attribute, Embedded</string> - <key>scope</key> - <string>constant.numeric, constant.language, support.constant, constant.character, variable.parameter, keyword.other.unit</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#b75922</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>String, Symbols, Inherited Class, Markup Heading</string> - <key>scope</key> - <string>string, constant.other.symbol, constant.other.key, entity.other.inherited-class, markup.heading, markup.inserted.git_gutter, meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>normal</string> - <key>foreground</key> - <string>#517c4e</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Class, Support</string> - <key>scope</key> - <string>entity.name.class, entity.name.type.class, support.type, support.class, support.orther.namespace.use.php, meta.use.php, support.other.namespace.php, markup.changed.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#926c00</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Sub-methods</string> - <key>scope</key> - <string>entity.name.module.js, variable.import.parameter.js, variable.other.class.js</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cb414d</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Language methods</string> - <key>scope</key> - <string>variable.language</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cb414d</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>entity.name.method.js</string> - <key>scope</key> - <string>entity.name.method.js</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#6c727c</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>meta.method.js</string> - <key>scope</key> - <string>meta.class-method.js entity.name.function.js, variable.function.constructor</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#6c727c</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Attributes</string> - <key>scope</key> - <string>entity.other.attribute-name</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#996091</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Inserted</string> - <key>scope</key> - <string>markup.inserted</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#517c4e</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Deleted</string> - <key>scope</key> - <string>markup.deleted</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cb414d</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Changed</string> - <key>scope</key> - <string>markup.changed</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#996091</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Regular Expressions</string> - <key>scope</key> - <string>string.regexp</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#237e7f</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Escape Characters</string> - <key>scope</key> - <string>constant.character.escape</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#237e7f</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>URL</string> - <key>scope</key> - <string>*url*, *link*, *uri*</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>underline</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Search Results Nums</string> - <key>scope</key> - <string>constant.numeric.line-number.find-in-files - match</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#976756</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Search Results Lines</string> - <key>scope</key> - <string>entity.name.filename.find-in-files</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#517c4e</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Decorators</string> - <key>scope</key> - <string>tag.decorator.js entity.name.tag.js, tag.decorator.js punctuation.definition.tag.js</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#4076a7</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>ES7 Bind Operator</string> - <key>scope</key> - <string>source.js constant.other.object.key.js string.unquoted.label.js</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cb414d</string> - </dict> - </dict> - </array> - <key>uuid</key> - <string>091c9b5a-9e64-4001-8c15-4c7c42840eb4</string> -</dict> -</plist> diff --git a/highlight_themes/dracula-dark-abridge.tmTheme b/highlight_themes/dracula-dark-abridge.tmTheme deleted file mode 100644 index cf39760..0000000 --- a/highlight_themes/dracula-dark-abridge.tmTheme +++ /dev/null @@ -1,938 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<!-- Dracula Theme v1.4.2 -# -# https://github.com/dracula/sublime -# -# Copyright 2013-present, All rights reserved -# -# Code licensed under the MIT license -# -# @author Zeno Rocha <hi@zenorocha.com> ---> - -<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>name</key> - <string>Dracula</string> - <key>settings</key> - <array> - <dict> - <key>settings</key> - <dict> - <key>background</key> - <string>#191919</string> - <key>caret</key> - <string>#f8f8f0</string> - <key>foreground</key> - <string>#f8f8f2</string> - <key>invisibles</key> - <string>#3B3A32</string> - <key>lineHighlight</key> - <string>#44475a</string> - <key>selection</key> - <string>#44475a</string> - <key>findHighlight</key> - <string>#effb7b</string> - <key>findHighlightForeground</key> - <string>#000000</string> - <key>selectionBorder</key> - <string>#222218</string> - <key>activeGuide</key> - <string>#e3904bB0</string> - <key>bracketsForeground</key> - <string>#F8F8F2A5</string> - <key>bracketsOptions</key> - <string>underline</string> - <key>bracketContentsForeground</key> - <string>#F8F8F2A5</string> - <key>bracketContentsOptions</key> - <string>underline</string> - <key>tagsOptions</key> - <string>stippled_underline</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Comment</string> - <key>scope</key> - <string>comment</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#7080b3</string> - <key>fontStyle</key> - <string></string> - </dict> - </dict> - <dict> - <key>name</key> - <string>String</string> - <key>scope</key> - <string>string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f1fa8c</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Number</string> - <key>scope</key> - <string>constant.numeric</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#bd93f9</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Built-in constant</string> - <key>scope</key> - <string>constant.language</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#bd93f9</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>User-defined constant</string> - <key>scope</key> - <string>constant.character, constant.other</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#bd93f9</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Variable</string> - <key>scope</key> - <string>variable</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string></string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Ruby's @variable</string> - <key>scope</key> - <string>variable.other.readwrite.instance</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string></string> - <key>foreground</key> - <string>#ffb86c</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>String interpolation</string> - <key>scope</key> - <string>constant.character.escaped, constant.character.escape, string source, string source.ruby</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string></string> - <key>foreground</key> - <string>#ff79c6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Ruby Regexp</string> - <key>scope</key> - <string>source.ruby string.regexp.classic.ruby,source.ruby string.regexp.mod-r.ruby</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string></string> - <key>foreground</key> - <string>#ff7d78</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Keyword</string> - <key>scope</key> - <string>keyword</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ff79c6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Storage</string> - <key>scope</key> - <string>storage</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string></string> - <key>foreground</key> - <string>#ff79c6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Storage type</string> - <key>scope</key> - <string>storage.type</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#8be9fd</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Storage Type Namespace</string> - <key>scope</key> - <string>storage.type.namespace</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#8be9fd</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Storage Type Class</string> - <key>scope</key> - <string>storage.type.class</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#ff79c6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Class name</string> - <key>scope</key> - <string>entity.name.class</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>underline</string> - <key>foreground</key> - <string>#8be9fd</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Meta Path</string> - <key>scope</key> - <string>meta.path</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>underline</string> - <key>foreground</key> - <string>#66d9ef</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Inherited class</string> - <key>scope</key> - <string>entity.other.inherited-class</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic underline</string> - <key>foreground</key> - <string>#8be9fd</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Function name</string> - <key>scope</key> - <string>entity.name.function</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string></string> - <key>foreground</key> - <string>#50fa7b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Function argument</string> - <key>scope</key> - <string>variable.parameter</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#ffb86c</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Tag name</string> - <key>scope</key> - <string>entity.name.tag</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string></string> - <key>foreground</key> - <string>#ff79c6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Tag attribute</string> - <key>scope</key> - <string>entity.other.attribute-name</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string></string> - <key>foreground</key> - <string>#50fa7b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Library function</string> - <key>scope</key> - <string>support.function</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string></string> - <key>foreground</key> - <string>#8be9fd</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Library constant</string> - <key>scope</key> - <string>support.constant</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string></string> - <key>foreground</key> - <string>#6be5fd</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Library class/type</string> - <key>scope</key> - <string>support.type, support.class</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#66d9ef</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Library variable</string> - <key>scope</key> - <string>support.other.variable</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string></string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Support Other Namespace</string> - <key>scope</key> - <string>support.other.namespace</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#66d9ef</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Invalid</string> - <key>scope</key> - <string>invalid</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#ff79c6</string> - <key>fontStyle</key> - <string></string> - <key>foreground</key> - <string>#F8F8F0</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Invalid deprecated</string> - <key>scope</key> - <string>invalid.deprecated</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#bd93f9</string> - <key>foreground</key> - <string>#F8F8F0</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON String</string> - <key>scope</key> - <string>meta.structure.dictionary.json string.quoted.double.json</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#CFCFC2</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>diff.header</string> - <key>scope</key> - <string>meta.diff, meta.diff.header</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#7080b3</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>diff.deleted</string> - <key>scope</key> - <string>markup.deleted</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ff79c6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>diff.inserted</string> - <key>scope</key> - <string>markup.inserted</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#50fa7b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>diff.changed</string> - <key>scope</key> - <string>markup.changed</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#E6DB74</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>constant.numeric.line-number.find-in-files - match</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#bd93f9</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>entity.name.filename</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#E6DB74</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>message.error</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ff7c6d</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Punctuation</string> - <key>scope</key> - <string>punctuation.definition.string.begin.json - meta.structure.dictionary.value.json, punctuation.definition.string.end.json - meta.structure.dictionary.value.json</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#EEEEEE</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Structure</string> - <key>scope</key> - <string>meta.structure.dictionary.json string.quoted.double.json</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#8be9fd</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON String</string> - <key>scope</key> - <string>meta.structure.dictionary.value.json string.quoted.double.json</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f1fa8c</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON: 6 deep</string> - <key>scope</key> - <string>meta meta meta meta meta meta meta.structure.dictionary.value string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#50fa7b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON: 5 deep</string> - <key>scope</key> - <string>meta meta meta meta meta meta.structure.dictionary.value string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ffb86c</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON: 4 deep</string> - <key>scope</key> - <string>meta meta meta meta meta.structure.dictionary.value string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ff79c6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON: 3 deep</string> - <key>scope</key> - <string>meta meta meta meta.structure.dictionary.value string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#bd93f9</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON: 2 deep</string> - <key>scope</key> - <string>meta meta meta.structure.dictionary.value string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#50fa7b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON: 1 deep</string> - <key>scope</key> - <string>meta meta.structure.dictionary.value string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ffb86c</string> - </dict> - </dict> - - <!-- Markdown Tweaks --> - <dict> - <key>name</key> - <string>Markup: strike</string> - <key>scope</key> - <string>markup.strike</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#FFB86C</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup: bold</string> - <key>scope</key> - <string>markup.bold</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>bold</string> - <key>foreground</key> - <string>#FFB86C</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup: italic</string> - <key>scope</key> - <string>markup.italic</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#FFB86C</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown: heading</string> - <key>scope</key> - <string>markup.heading</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#8BE9FD</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown: List Items Punctuation</string> - <key>scope</key> - <string>punctuation.definition.list_item.markdown</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FF79C6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown: Blockquote</string> - <key>scope</key> - <string>markup.quote</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#7080b3</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown: Blockquote Punctuation</string> - <key>scope</key> - <string>punctuation.definition.blockquote.markdown</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>background</key> - <string>#7080b3</string> - <key>foreground</key> - <string>#7080b3</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown: Separator</string> - <key>scope</key> - <string>meta.separator</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#7080b3</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup: raw inline</string> - <key>scope</key> - <string>text.html.markdown markup.raw.inline</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#50FA7B</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup: underline</string> - <key>scope</key> - <string>markup.underline</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>underline</string> - <key>foreground</key> - <string>#BD93F9</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup: Raw block</string> - <key>scope</key> - <string>markup.raw.block</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#CFCFC2</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown: Raw Block fenced source</string> - <key>scope</key> - <string>markup.raw.block.fenced.markdown source</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#F8F8F2</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown: Fenced Bode Block</string> - <key>scope</key> - <string>punctuation.definition.fenced.markdown, variable.language.fenced.markdown</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#7080b3</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown: Fenced Language</string> - <key>scope</key> - <string>variable.language.fenced.markdown</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#7080b3</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Punctuation Accessor</string> - <key>scope</key> - <string>punctuation.accessor</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FF79C6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Meta Function Return Type</string> - <key>scope</key> - <string>meta.function.return-type</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FF79C6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Punctuation Section Block Begin</string> - <key>scope</key> - <string>punctuation.section.block.begin</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Punctuation Section Block End</string> - <key>scope</key> - <string>punctuation.section.block.end</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Punctuation Section Embedded Begin</string> - <key>scope</key> - <string>punctuation.section.embedded.begin</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ff79c6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Punctuation Section Embedded End</string> - <key>scope</key> - <string>punctuation.section.embedded.end</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ff79c6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Punctuation Separator Namespace</string> - <key>scope</key> - <string>punctuation.separator.namespace</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ff79c6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Variable Function</string> - <key>scope</key> - <string>variable.function</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#50fa7b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Variable Other</string> - <key>scope</key> - <string>variable.other</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Variable Language</string> - <key>scope</key> - <string>variable.language</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#bd93f9</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Entity Name Module Ruby</string> - <key>scope</key> - <string>entity.name.module.ruby</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#8be9fd</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Entity Name Constant Ruby</string> - <key>scope</key> - <string>entity.name.constant.ruby</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#bd93f9</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Support Function Builtin Ruby</string> - <key>scope</key> - <string>support.function.builtin.ruby</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Storage Type Namespace CS</string> - <key>scope</key> - <string>storage.type.namespace.cs</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ff79c6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Entity Name Namespace CS</string> - <key>scope</key> - <string>entity.name.namespace.cs</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#8be9fd</string> - </dict> - </dict> - </array> - <key>uuid</key> - <string>83091B89-765E-4F0D-9275-0EC6CB084126</string> - <key>colorSpaceName</key> - <string>sRGB</string> - <key>semanticClass</key> - <string>theme.dracula</string> - <key>author</key> - <string>Zeno Rocha</string> -</dict> -</plist> diff --git a/highlight_themes/dracula-light-abridge.tmTheme b/highlight_themes/dracula-light-abridge.tmTheme deleted file mode 100644 index d53b792..0000000 --- a/highlight_themes/dracula-light-abridge.tmTheme +++ /dev/null @@ -1,938 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<!-- Dracula Theme v1.4.2 -# -# https://github.com/dracula/sublime -# -# Copyright 2013-present, All rights reserved -# -# Code licensed under the MIT license -# -# @author Zeno Rocha <hi@zenorocha.com> ---> - -<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>name</key> - <string>Dracula</string> - <key>settings</key> - <array> - <dict> - <key>settings</key> - <dict> - <key>background</key> - <string>#ffffff</string> - <key>caret</key> - <string>#72726b</string> - <key>foreground</key> - <string>#72726d</string> - <key>invisibles</key> - <string>#3B3A32</string> - <key>lineHighlight</key> - <string>#44475a</string> - <key>selection</key> - <string>#44475a</string> - <key>findHighlight</key> - <string>#687900</string> - <key>findHighlightForeground</key> - <string>#000000</string> - <key>selectionBorder</key> - <string>#222218</string> - <key>activeGuide</key> - <string>#9D550FB0</string> - <key>bracketsForeground</key> - <string>#72726dA5</string> - <key>bracketsOptions</key> - <string>underline</string> - <key>bracketContentsForeground</key> - <string>#72726dA5</string> - <key>bracketContentsOptions</key> - <string>underline</string> - <key>tagsOptions</key> - <string>stippled_underline</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Comment</string> - <key>scope</key> - <string>comment</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#6272a4</string> - <key>fontStyle</key> - <string></string> - </dict> - </dict> - <dict> - <key>name</key> - <string>String</string> - <key>scope</key> - <string>string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#6b7807</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Number</string> - <key>scope</key> - <string>constant.numeric</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#8660c1</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Built-in constant</string> - <key>scope</key> - <string>constant.language</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#8660c1</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>User-defined constant</string> - <key>scope</key> - <string>constant.character, constant.other</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#8660c1</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Variable</string> - <key>scope</key> - <string>variable</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string></string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Ruby's @variable</string> - <key>scope</key> - <string>variable.other.readwrite.instance</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string></string> - <key>foreground</key> - <string>#a1661c</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>String interpolation</string> - <key>scope</key> - <string>constant.character.escaped, constant.character.escape, string source, string source.ruby</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string></string> - <key>foreground</key> - <string>#c13f8e</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Ruby Regexp</string> - <key>scope</key> - <string>source.ruby string.regexp.classic.ruby,source.ruby string.regexp.mod-r.ruby</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string></string> - <key>foreground</key> - <string>#d9303a</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Keyword</string> - <key>scope</key> - <string>keyword</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#c13f8e</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Storage</string> - <key>scope</key> - <string>storage</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string></string> - <key>foreground</key> - <string>#c13f8e</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Storage type</string> - <key>scope</key> - <string>storage.type</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#007d90</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Storage Type Namespace</string> - <key>scope</key> - <string>storage.type.namespace</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#007d90</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Storage Type Class</string> - <key>scope</key> - <string>storage.type.class</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#c13f8e</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Class name</string> - <key>scope</key> - <string>entity.name.class</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>underline</string> - <key>foreground</key> - <string>#007d90</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Meta Path</string> - <key>scope</key> - <string>meta.path</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>underline</string> - <key>foreground</key> - <string>#007f93</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Inherited class</string> - <key>scope</key> - <string>entity.other.inherited-class</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic underline</string> - <key>foreground</key> - <string>#007d90</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Function name</string> - <key>scope</key> - <string>entity.name.function</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string></string> - <key>foreground</key> - <string>#008504</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Function argument</string> - <key>scope</key> - <string>variable.parameter</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#a1661c</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Tag name</string> - <key>scope</key> - <string>entity.name.tag</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string></string> - <key>foreground</key> - <string>#c13f8e</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Tag attribute</string> - <key>scope</key> - <string>entity.other.attribute-name</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string></string> - <key>foreground</key> - <string>#008504</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Library function</string> - <key>scope</key> - <string>support.function</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string></string> - <key>foreground</key> - <string>#007d90</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Library constant</string> - <key>scope</key> - <string>support.constant</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string></string> - <key>foreground</key> - <string>#007e94</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Library class/type</string> - <key>scope</key> - <string>support.type, support.class</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#007f93</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Library variable</string> - <key>scope</key> - <string>support.other.variable</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string></string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Support Other Namespace</string> - <key>scope</key> - <string>support.other.namespace</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#007f93</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Invalid</string> - <key>scope</key> - <string>invalid</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#c13f8e</string> - <key>fontStyle</key> - <string></string> - <key>foreground</key> - <string>#72726b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Invalid deprecated</string> - <key>scope</key> - <string>invalid.deprecated</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#8660c1</string> - <key>foreground</key> - <string>#72726b</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON String</string> - <key>scope</key> - <string>meta.structure.dictionary.json string.quoted.double.json</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#747469</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>diff.header</string> - <key>scope</key> - <string>meta.diff, meta.diff.header</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#6272a4</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>diff.deleted</string> - <key>scope</key> - <string>markup.deleted</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#c13f8e</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>diff.inserted</string> - <key>scope</key> - <string>markup.inserted</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#008504</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>diff.changed</string> - <key>scope</key> - <string>markup.changed</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#7b760c</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>constant.numeric.line-number.find-in-files - match</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#8660c1</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>entity.name.filename</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#7b760c</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>message.error</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#e31625</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Punctuation</string> - <key>scope</key> - <string>punctuation.definition.string.begin.json - meta.structure.dictionary.value.json, punctuation.definition.string.end.json - meta.structure.dictionary.value.json</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#727272</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Structure</string> - <key>scope</key> - <string>meta.structure.dictionary.json string.quoted.double.json</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007d90</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON String</string> - <key>scope</key> - <string>meta.structure.dictionary.value.json string.quoted.double.json</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#6b7807</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON: 6 deep</string> - <key>scope</key> - <string>meta meta meta meta meta meta meta.structure.dictionary.value string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#008504</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON: 5 deep</string> - <key>scope</key> - <string>meta meta meta meta meta meta.structure.dictionary.value string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#a1661c</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON: 4 deep</string> - <key>scope</key> - <string>meta meta meta meta meta.structure.dictionary.value string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#c13f8e</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON: 3 deep</string> - <key>scope</key> - <string>meta meta meta meta.structure.dictionary.value string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#8660c1</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON: 2 deep</string> - <key>scope</key> - <string>meta meta meta.structure.dictionary.value string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#008504</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON: 1 deep</string> - <key>scope</key> - <string>meta meta.structure.dictionary.value string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#a1661c</string> - </dict> - </dict> - - <!-- Markdown Tweaks --> - <dict> - <key>name</key> - <string>Markup: strike</string> - <key>scope</key> - <string>markup.strike</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#a1661c</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup: bold</string> - <key>scope</key> - <string>markup.bold</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>bold</string> - <key>foreground</key> - <string>#a1661c</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup: italic</string> - <key>scope</key> - <string>markup.italic</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#a1661c</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown: heading</string> - <key>scope</key> - <string>markup.heading</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007d90</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown: List Items Punctuation</string> - <key>scope</key> - <string>punctuation.definition.list_item.markdown</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#c13f8e</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown: Blockquote</string> - <key>scope</key> - <string>markup.quote</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#6272A4</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown: Blockquote Punctuation</string> - <key>scope</key> - <string>punctuation.definition.blockquote.markdown</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>background</key> - <string>#6272A4</string> - <key>foreground</key> - <string>#6272A4</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown: Separator</string> - <key>scope</key> - <string>meta.separator</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#6272A4</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup: raw inline</string> - <key>scope</key> - <string>text.html.markdown markup.raw.inline</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#008504</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup: underline</string> - <key>scope</key> - <string>markup.underline</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>underline</string> - <key>foreground</key> - <string>#8660c1</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup: Raw block</string> - <key>scope</key> - <string>markup.raw.block</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#747469</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown: Raw Block fenced source</string> - <key>scope</key> - <string>markup.raw.block.fenced.markdown source</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#72726d</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown: Fenced Bode Block</string> - <key>scope</key> - <string>punctuation.definition.fenced.markdown, variable.language.fenced.markdown</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#6272A4</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown: Fenced Language</string> - <key>scope</key> - <string>variable.language.fenced.markdown</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#6272A4</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Punctuation Accessor</string> - <key>scope</key> - <string>punctuation.accessor</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#c13f8e</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Meta Function Return Type</string> - <key>scope</key> - <string>meta.function.return-type</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#c13f8e</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Punctuation Section Block Begin</string> - <key>scope</key> - <string>punctuation.section.block.begin</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Punctuation Section Block End</string> - <key>scope</key> - <string>punctuation.section.block.end</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Punctuation Section Embedded Begin</string> - <key>scope</key> - <string>punctuation.section.embedded.begin</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#c13f8e</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Punctuation Section Embedded End</string> - <key>scope</key> - <string>punctuation.section.embedded.end</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#c13f8e</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Punctuation Separator Namespace</string> - <key>scope</key> - <string>punctuation.separator.namespace</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#c13f8e</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Variable Function</string> - <key>scope</key> - <string>variable.function</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#008504</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Variable Other</string> - <key>scope</key> - <string>variable.other</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Variable Language</string> - <key>scope</key> - <string>variable.language</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#8660c1</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Entity Name Module Ruby</string> - <key>scope</key> - <string>entity.name.module.ruby</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007d90</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Entity Name Constant Ruby</string> - <key>scope</key> - <string>entity.name.constant.ruby</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#8660c1</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Support Function Builtin Ruby</string> - <key>scope</key> - <string>support.function.builtin.ruby</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Storage Type Namespace CS</string> - <key>scope</key> - <string>storage.type.namespace.cs</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#c13f8e</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Entity Name Namespace CS</string> - <key>scope</key> - <string>entity.name.namespace.cs</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#007d90</string> - </dict> - </dict> - </array> - <key>uuid</key> - <string>83091B89-765E-4F0D-9275-0EC6CB084126</string> - <key>colorSpaceName</key> - <string>sRGB</string> - <key>semanticClass</key> - <string>theme.dracula</string> - <key>author</key> - <string>Zeno Rocha</string> -</dict> -</plist> diff --git a/highlight_themes/material-dark-abridge.tmTheme b/highlight_themes/material-dark-abridge.tmTheme deleted file mode 100644 index 2ac0954..0000000 --- a/highlight_themes/material-dark-abridge.tmTheme +++ /dev/null @@ -1,1011 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>author</key> - <string>Mattia Astorino</string> - <key>colorSpaceName</key> - <string>sRGB</string> - <key>name</key> - <string>Material-Theme-Darker</string> - <key>semanticClass</key> - <string>material.theme.darker</string> - <key>settings</key> - <array> - <dict> - <key>settings</key> - <dict> - <key>activeGuide</key> - <string>#FFFFFF50</string> - <key>background</key> - <string>#191919</string> - <key>caret</key> - <string>#FFCC00</string> - <key>findHighlight</key> - <string>#F8E71C</string> - <key>foreground</key> - <string>#eeffffff</string> - <key>guide</key> - <string>#42424270</string> - <key>gutterForeground</key> - <string>#424242</string> - <key>invisibles</key> - <string>#65737e</string> - <key>lineHighlight</key> - <string>#00000050</string> - <key>popupCss</key> - <string><![CDATA[ html { background-color: #191919; color: #eeffffff; padding: 16px; } a { color: #B2CCD6; line-height: 16px; } .error, .deleted { color: #ff7992; } .success, .inserted { color: #C3E88D; } .warning, .modified { color: #FFCB6B; } .type { color: #89DDFF; font-style: italic; } .param { color: #F78C6C; } .current { text-decoration: underline; } ]]></string> - <key>selection</key> - <string>#61616150</string> - <key>selectionBorder</key> - <string>#61616150</string> - <key>shadow</key> - <string>#00000010</string> - <key>stackGuide</key> - <string>#42424280</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Comments</string> - <key>scope</key> - <string>comment, punctuation.definition.comment</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#818181</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Variable</string> - <key>scope</key> - <string>variable, string constant.other.placeholder</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#eeffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Colors</string> - <key>scope</key> - <string>constant.other.color</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Invalid</string> - <key>scope</key> - <string>invalid, invalid.illegal, invalid.broken</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#ff7992</string> - <key>foreground</key> - <string>#ffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Unimplemented</string> - <key>scope</key> - <string>invalid.unimplemented</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#C3E88D</string> - <key>foreground</key> - <string>#ffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Invalid deprecated</string> - <key>scope</key> - <string>invalid.deprecated</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#C792EA</string> - <key>foreground</key> - <string>#ffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Keyword, Storage</string> - <key>scope</key> - <string>keyword, storage.type, storage.modifier</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#C792EA</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Keyword, Storage</string> - <key>scope</key> - <string>storage.type, keyword.control</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Operator, Misc</string> - <key>scope</key> - <string>keyword.operator, constant.other.color, punctuation, meta.tag, punctuation.definition.tag, punctuation.separator.inheritance.php, punctuation.definition.tag.html, punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html, punctuation.section.embedded, keyword.other.template, keyword.other.substitution</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#89DDFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Tag</string> - <key>scope</key> - <string>entity.name.tag, meta.tag.sgml, markup.deleted.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fe7d83</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Function, Special Method, Block Level</string> - <key>scope</key> - <string>entity.name.function, meta.function-call, variable.function, support.function, keyword.other.special-method, meta.block-level</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#82AAFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Other Variable, String Link</string> - <key>scope</key> - <string>support.other.variable, string.other.link</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fe7d83</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Number, Constant, Function Argument, Tag Attribute, Embedded</string> - <key>scope</key> - <string>constant.numeric, constant.language, support.constant, constant.character, variable.parameter, keyword.other.unit</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#F78C6C</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>String, Symbols, Inherited Class, Markup Heading</string> - <key>scope</key> - <string>string, constant.other.symbol, constant.other.key, entity.other.inherited-class, markup.heading, markup.inserted.git_gutter, meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>normal</string> - <key>foreground</key> - <string>#C3E88D</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Class, Support</string> - <key>scope</key> - <string>entity.name.class, entity.name.type.class, support.type, support.class, support.orther.namespace.use.php, meta.use.php, support.other.namespace.php, markup.changed.git_gutter, support.type.sys-types</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFCB6B</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>CSS Class and Support</string> - <key>scope</key> - <string>source.css support.type, source.sass support.type, source.scss support.type, source.less support.type, source.stylus support.type</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#B2CCD6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Sub-methods</string> - <key>scope</key> - <string>entity.name.module.js, variable.import.parameter.js, variable.other.class.js</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ff7992</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Language methods</string> - <key>scope</key> - <string>variable.language</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#ff7992</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>entity.name.method.js</string> - <key>scope</key> - <string>entity.name.method.js</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#82AAFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>meta.method.js</string> - <key>scope</key> - <string>meta.class-method.js entity.name.function.js, variable.function.constructor</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#82AAFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Attributes</string> - <key>scope</key> - <string>entity.other.attribute-name</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#C792EA</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>HTML Attributes</string> - <key>scope</key> - <string>text.html.basic entity.other.attribute-name.html, text.html.basic entity.other.attribute-name</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#FFCB6B</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>CSS Classes</string> - <key>scope</key> - <string>entity.other.attribute-name.class</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFCB6B</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>CSS Id</string> - <key>scope</key> - <string>source.sass keyword.control</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#82AAFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Inserted</string> - <key>scope</key> - <string>markup.inserted</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#C3E88D</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Deleted</string> - <key>scope</key> - <string>markup.deleted</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ff7992</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Changed</string> - <key>scope</key> - <string>markup.changed</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#C792EA</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Regular Expressions</string> - <key>scope</key> - <string>string.regexp</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#89DDFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Escape Characters</string> - <key>scope</key> - <string>constant.character.escape</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#89DDFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>URL</string> - <key>scope</key> - <string>*url*, *link*, *uri*</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>underline</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Search Results Nums</string> - <key>scope</key> - <string>constant.numeric.line-number.find-in-files - match</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#d89385</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Search Results Lines</string> - <key>scope</key> - <string>entity.name.filename.find-in-files</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#C3E88D</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Decorators</string> - <key>scope</key> - <string>tag.decorator.js entity.name.tag.js, tag.decorator.js punctuation.definition.tag.js</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#82AAFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>ES7 Bind Operator</string> - <key>scope</key> - <string>source.js constant.other.object.key.js string.unquoted.label.js</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#ff7992</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 8</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#C3E88D</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 7</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#C792EA</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 6</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fe7d83</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 5</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#82AAFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 4</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#d89385</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 3</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ff7992</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 2</string> - <key>scope</key> - <string>source.json meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#F78C6C</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 1</string> - <key>scope</key> - <string>source.json meta meta.structure.dictionary.json string.quoted.double.json - meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta.structure.dictionary.json punctuation.definition.string - meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFCB6B</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 0</string> - <key>scope</key> - <string>source.json meta.structure.dictionary.json string.quoted.double.json - meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta.structure.dictionary.json punctuation.definition.string - meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#C792EA</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Plain</string> - <key>scope</key> - <string>text.html.markdown, punctuation.definition.list_item.markdown</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#eeffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Markup Raw Inline</string> - <key>scope</key> - <string>text.html.markdown markup.raw.inline</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#C792EA</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Markup Raw Inline Punctuation</string> - <key>scope</key> - <string>text.html.markdown punctuation.definition.raw.markdown</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#65737e</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Line Break</string> - <key>scope</key> - <string>text.html.markdown meta.dummy.line-break</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string></string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Heading</string> - <key>scope</key> - <string>markdown.heading, markup.heading | markup.heading entity.name, markup.heading.markdown punctuation.definition.heading.markdown</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#C3E88D</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup - Italic</string> - <key>scope</key> - <string>markup.italic</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#fe7d83</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup - Bold</string> - <key>scope</key> - <string>markup.bold, markup.bold string</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>bold</string> - <key>foreground</key> - <string>#fe7d83</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup - Bold & Italic</string> - <key>scope</key> - <string>markup.bold markup.italic, markup.italic markup.bold, markup.quote markup.bold, markup.bold markup.italic string, markup.italic markup.bold string, markup.quote markup.bold string</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>bold italic</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup - Underline</string> - <key>scope</key> - <string>markup.underline</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>underline</string> - <key>foreground</key> - <string>#F78C6C</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup - Strike</string> - <key>scope</key> - <string>markup.strike</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>strike</string> - <key>foreground</key> - <string></string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Blockquote</string> - <key>scope</key> - <string>markup.quote punctuation.definition.blockquote.markdown</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#65737e</string> - <key>foreground</key> - <string>#65737e</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup - Quote</string> - <key>scope</key> - <string>markup.quote</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string></string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Link</string> - <key>scope</key> - <string>string.other.link.title.markdown</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#82AAFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Link Description</string> - <key>scope</key> - <string>string.other.link.description.title.markdown</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#C792EA</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Link Anchor</string> - <key>scope</key> - <string>constant.other.reference.link.markdown</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFCB6B</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup - Raw Block</string> - <key>scope</key> - <string>markup.raw.block</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#C792EA</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Raw Block Fenced</string> - <key>scope</key> - <string>markup.raw.block.fenced.markdown</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#00000050</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Fenced Bode Block</string> - <key>scope</key> - <string>punctuation.definition.fenced.markdown</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#00000050</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Fenced Bode Block Variable</string> - <key>scope</key> - <string>markup.raw.block.fenced.markdown, variable.language.fenced.markdown, punctuation.section.class.end</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#eeffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Fenced Language</string> - <key>scope</key> - <string>variable.language.fenced.markdown</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string></string> - <key>foreground</key> - <string>#65737e</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Punctuation Definition</string> - <key>scope</key> - <string>text.html.markdown punctuation.definition</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#818181</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown HTML - Punctuation Definition</string> - <key>scope</key> - <string>text.html.markdown meta.disable-markdown punctuation.definition</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#89DDFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Separator</string> - <key>scope</key> - <string>meta.separator</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#00000050</string> - <key>fontStyle</key> - <string>bold</string> - <key>foreground</key> - <string>#65737e</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup - Table</string> - <key>scope</key> - <string>markup.table</string> - <key>settings</key> - <dict> - <key>background</key> - <string></string> - <key>foreground</key> - <string>#eeffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>AceJump Label - Blue</string> - <key>scope</key> - <string>acejump.label.blue</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#82AAFF</string> - <key>foreground</key> - <string>#ffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>AceJump Label - Green</string> - <key>scope</key> - <string>acejump.label.green</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#C3E88D</string> - <key>foreground</key> - <string>#ffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>AceJump Label - Orange</string> - <key>scope</key> - <string>acejump.label.orange</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#F78C6C</string> - <key>foreground</key> - <string>#ffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>AceJump Label - Purple</string> - <key>scope</key> - <string>acejump.label.purple</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#C792EA</string> - <key>foreground</key> - <string>#ffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>SublimeLinter Warning</string> - <key>scope</key> - <string>sublimelinter.mark.warning</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFCB6B</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>SublimeLinter Gutter Mark</string> - <key>scope</key> - <string>sublimelinter.gutter-mark</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>SublimeLinter Error</string> - <key>scope</key> - <string>sublimelinter.mark.error</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ff7992</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>SublimeLinter Annotation</string> - <key>scope</key> - <string>sublimelinter.annotations</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#d89385</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Ignored</string> - <key>scope</key> - <string>markup.ignored.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#65737e</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Untracked</string> - <key>scope</key> - <string>markup.untracked.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#65737e</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Inserted</string> - <key>scope</key> - <string>markup.inserted.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#C3E88D</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Changed</string> - <key>scope</key> - <string>markup.changed.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#FFCB6B</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Deleted</string> - <key>scope</key> - <string>markup.deleted.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ff7992</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Bracket Curly</string> - <key>scope</key> - <string>brackethighlighter.default</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#B2CCD6</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Bracket Quote</string> - <key>scope</key> - <string>brackethighlighter.quote</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#C3E88D</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Bracket Unmatched</string> - <key>scope</key> - <string>brackethighlighter.unmatched</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ff7992</string> - </dict> - </dict> - </array> - <key>uuid</key> - <string>4F44C0F5-1F8D-4C52-8BAB-F0951904C1EC</string> -</dict> -</plist> diff --git a/highlight_themes/material-light-abridge.tmTheme b/highlight_themes/material-light-abridge.tmTheme deleted file mode 100644 index 306f2f9..0000000 --- a/highlight_themes/material-light-abridge.tmTheme +++ /dev/null @@ -1,1011 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>author</key> - <string>Mattia Astorino</string> - <key>colorSpaceName</key> - <string>sRGB</string> - <key>name</key> - <string>Material-Theme-Lighter</string> - <key>semanticClass</key> - <string>material.theme.lighter</string> - <key>settings</key> - <array> - <dict> - <key>settings</key> - <dict> - <key>activeGuide</key> - <string>#00000070</string> - <key>background</key> - <string>#ffffff</string> - <key>caret</key> - <string>#27272790</string> - <key>findHighlight</key> - <string>#7c7600</string> - <key>foreground</key> - <string>#317e78</string> - <key>guide</key> - <string>#68757b70</string> - <key>gutterForeground</key> - <string>#6b7377</string> - <key>invisibles</key> - <string>#717375</string> - <key>lineHighlight</key> - <string>#62757f20</string> - <key>popupCss</key> - <string><![CDATA[ html { background-color: #ffffff; color: #317e78; padding: 16px; } a { color: #64738c; line-height: 16px; } .error, .deleted { color: #d92d2d; } .success, .inserted { color: #587f22; } .warning, .modified { color: #a16700; } .type { color: #008088; font-style: italic; } .param { color: #c94625; } .current { text-decoration: underline; } ]]></string> - <key>selection</key> - <string>#317e7840</string> - <key>selectionBorder</key> - <string>#317e7840</string> - <key>shadow</key> - <string>#62757f50</string> - <key>stackGuide</key> - <string>#68757b80</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Comments</string> - <key>scope</key> - <string>comment, punctuation.definition.comment</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#6b7577</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Variable</string> - <key>scope</key> - <string>variable, string constant.other.placeholder</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#317e78</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Colors</string> - <key>scope</key> - <string>constant.other.color</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Invalid</string> - <key>scope</key> - <string>invalid, invalid.illegal, invalid.broken</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#d92d2d</string> - <key>foreground</key> - <string>#ffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Unimplemented</string> - <key>scope</key> - <string>invalid.unimplemented</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#587f22</string> - <key>foreground</key> - <string>#ffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Invalid deprecated</string> - <key>scope</key> - <string>invalid.deprecated</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#7C4DFF</string> - <key>foreground</key> - <string>#ffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Keyword, Storage</string> - <key>scope</key> - <string>keyword, storage.type, storage.modifier</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#7C4DFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Keyword, Storage</string> - <key>scope</key> - <string>storage.type, keyword.control</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Operator, Misc</string> - <key>scope</key> - <string>keyword.operator, constant.other.color, punctuation, meta.tag, punctuation.definition.tag, punctuation.separator.inheritance.php, punctuation.definition.tag.html, punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html, punctuation.section.embedded, keyword.other.template, keyword.other.substitution</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#008088</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Tag</string> - <key>scope</key> - <string>entity.name.tag, meta.tag.sgml, markup.deleted.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#d72952</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Function, Special Method, Block Level</string> - <key>scope</key> - <string>entity.name.function, meta.function-call, variable.function, support.function, keyword.other.special-method, meta.block-level</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#5274a9</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Other Variable, String Link</string> - <key>scope</key> - <string>support.other.variable, string.other.link</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#d72952</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Number, Constant, Function Argument, Tag Attribute, Embedded</string> - <key>scope</key> - <string>constant.numeric, constant.language, support.constant, constant.character, variable.parameter, keyword.other.unit</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#c94625</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>String, Symbols, Inherited Class, Markup Heading</string> - <key>scope</key> - <string>string, constant.other.symbol, constant.other.key, entity.other.inherited-class, markup.heading, markup.inserted.git_gutter, meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>normal</string> - <key>foreground</key> - <string>#587f22</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Class, Support</string> - <key>scope</key> - <string>entity.name.class, entity.name.type.class, support.type, support.class, support.orther.namespace.use.php, meta.use.php, support.other.namespace.php, markup.changed.git_gutter, support.type.sys-types</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#a16700</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>CSS Class and Support</string> - <key>scope</key> - <string>source.css support.type, source.sass support.type, source.scss support.type, source.less support.type, source.stylus support.type</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#64738c</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Sub-methods</string> - <key>scope</key> - <string>entity.name.module.js, variable.import.parameter.js, variable.other.class.js</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#d92d2d</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Language methods</string> - <key>scope</key> - <string>variable.language</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#d92d2d</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>entity.name.method.js</string> - <key>scope</key> - <string>entity.name.method.js</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#5274a9</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>meta.method.js</string> - <key>scope</key> - <string>meta.class-method.js entity.name.function.js, variable.function.constructor</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#5274a9</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Attributes</string> - <key>scope</key> - <string>entity.other.attribute-name</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#7C4DFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>HTML Attributes</string> - <key>scope</key> - <string>text.html.basic entity.other.attribute-name.html, text.html.basic entity.other.attribute-name</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#a16700</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>CSS Classes</string> - <key>scope</key> - <string>entity.other.attribute-name.class</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#a16700</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>CSS Id</string> - <key>scope</key> - <string>source.sass keyword.control</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#5274a9</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Inserted</string> - <key>scope</key> - <string>markup.inserted</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#587f22</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Deleted</string> - <key>scope</key> - <string>markup.deleted</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#d92d2d</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Changed</string> - <key>scope</key> - <string>markup.changed</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#7C4DFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Regular Expressions</string> - <key>scope</key> - <string>string.regexp</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#008088</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Escape Characters</string> - <key>scope</key> - <string>constant.character.escape</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#008088</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>URL</string> - <key>scope</key> - <string>*url*, *link*, *uri*</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>underline</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Search Results Nums</string> - <key>scope</key> - <string>constant.numeric.line-number.find-in-files - match</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#a26356</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Search Results Lines</string> - <key>scope</key> - <string>entity.name.filename.find-in-files</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#587f22</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Decorators</string> - <key>scope</key> - <string>tag.decorator.js entity.name.tag.js, tag.decorator.js punctuation.definition.tag.js</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#5274a9</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>ES7 Bind Operator</string> - <key>scope</key> - <string>source.js constant.other.object.key.js string.unquoted.label.js</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#d92d2d</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 8</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#587f22</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 7</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#7C4DFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 6</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#d72952</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 5</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#5274a9</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 4</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#a26356</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 3</string> - <key>scope</key> - <string>source.json meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#d92d2d</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 2</string> - <key>scope</key> - <string>source.json meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#c94625</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 1</string> - <key>scope</key> - <string>source.json meta meta.structure.dictionary.json string.quoted.double.json - meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta.structure.dictionary.json punctuation.definition.string - meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#a16700</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON Key - Level 0</string> - <key>scope</key> - <string>source.json meta.structure.dictionary.json string.quoted.double.json - meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta.structure.dictionary.json punctuation.definition.string - meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#7C4DFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Plain</string> - <key>scope</key> - <string>text.html.markdown, punctuation.definition.list_item.markdown</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#317e78</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Markup Raw Inline</string> - <key>scope</key> - <string>text.html.markdown markup.raw.inline</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#7C4DFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Markup Raw Inline Punctuation</string> - <key>scope</key> - <string>text.html.markdown punctuation.definition.raw.markdown</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#717375</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Line Break</string> - <key>scope</key> - <string>text.html.markdown meta.dummy.line-break</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string></string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Heading</string> - <key>scope</key> - <string>markdown.heading, markup.heading | markup.heading entity.name, markup.heading.markdown punctuation.definition.heading.markdown</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#587f22</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup - Italic</string> - <key>scope</key> - <string>markup.italic</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string>#d72952</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup - Bold</string> - <key>scope</key> - <string>markup.bold, markup.bold string</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>bold</string> - <key>foreground</key> - <string>#d72952</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup - Bold & Italic</string> - <key>scope</key> - <string>markup.bold markup.italic, markup.italic markup.bold, markup.quote markup.bold, markup.bold markup.italic string, markup.italic markup.bold string, markup.quote markup.bold string</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>bold italic</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup - Underline</string> - <key>scope</key> - <string>markup.underline</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>underline</string> - <key>foreground</key> - <string>#c94625</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup - Strike</string> - <key>scope</key> - <string>markup.strike</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>strike</string> - <key>foreground</key> - <string></string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Blockquote</string> - <key>scope</key> - <string>markup.quote punctuation.definition.blockquote.markdown</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#717375</string> - <key>foreground</key> - <string>#717375</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup - Quote</string> - <key>scope</key> - <string>markup.quote</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>italic</string> - <key>foreground</key> - <string></string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Link</string> - <key>scope</key> - <string>string.other.link.title.markdown</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#5274a9</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Link Description</string> - <key>scope</key> - <string>string.other.link.description.title.markdown</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#7C4DFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Link Anchor</string> - <key>scope</key> - <string>constant.other.reference.link.markdown</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#a16700</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup - Raw Block</string> - <key>scope</key> - <string>markup.raw.block</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#7C4DFF</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Raw Block Fenced</string> - <key>scope</key> - <string>markup.raw.block.fenced.markdown</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#62757f20</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Fenced Bode Block</string> - <key>scope</key> - <string>punctuation.definition.fenced.markdown</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#62757f20</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Fenced Bode Block Variable</string> - <key>scope</key> - <string>markup.raw.block.fenced.markdown, variable.language.fenced.markdown, punctuation.section.class.end</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#317e78</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Fenced Language</string> - <key>scope</key> - <string>variable.language.fenced.markdown</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string></string> - <key>foreground</key> - <string>#717375</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Punctuation Definition</string> - <key>scope</key> - <string>text.html.markdown punctuation.definition</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#6b7577</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown HTML - Punctuation Definition</string> - <key>scope</key> - <string>text.html.markdown meta.disable-markdown punctuation.definition</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#008088</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown - Separator</string> - <key>scope</key> - <string>meta.separator</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#62757f20</string> - <key>fontStyle</key> - <string>bold</string> - <key>foreground</key> - <string>#717375</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup - Table</string> - <key>scope</key> - <string>markup.table</string> - <key>settings</key> - <dict> - <key>background</key> - <string></string> - <key>foreground</key> - <string>#317e78</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>AceJump Label - Blue</string> - <key>scope</key> - <string>acejump.label.blue</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#5274a9</string> - <key>foreground</key> - <string>#ffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>AceJump Label - Green</string> - <key>scope</key> - <string>acejump.label.green</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#587f22</string> - <key>foreground</key> - <string>#ffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>AceJump Label - Orange</string> - <key>scope</key> - <string>acejump.label.orange</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#c94625</string> - <key>foreground</key> - <string>#ffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>AceJump Label - Purple</string> - <key>scope</key> - <string>acejump.label.purple</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#7C4DFF</string> - <key>foreground</key> - <string>#ffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>SublimeLinter Warning</string> - <key>scope</key> - <string>sublimelinter.mark.warning</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#a16700</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>SublimeLinter Gutter Mark</string> - <key>scope</key> - <string>sublimelinter.gutter-mark</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#ffffff</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>SublimeLinter Error</string> - <key>scope</key> - <string>sublimelinter.mark.error</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#d92d2d</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>SublimeLinter Annotation</string> - <key>scope</key> - <string>sublimelinter.annotations</string> - <key>settings</key> - <dict> - <key>background</key> - <string>#a26356</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Ignored</string> - <key>scope</key> - <string>markup.ignored.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#717375</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Untracked</string> - <key>scope</key> - <string>markup.untracked.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#717375</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Inserted</string> - <key>scope</key> - <string>markup.inserted.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#587f22</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Changed</string> - <key>scope</key> - <string>markup.changed.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#a16700</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GitGutter Deleted</string> - <key>scope</key> - <string>markup.deleted.git_gutter</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#d92d2d</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Bracket Curly</string> - <key>scope</key> - <string>brackethighlighter.default</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#64738c</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Bracket Quote</string> - <key>scope</key> - <string>brackethighlighter.quote</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#587f22</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Bracket Unmatched</string> - <key>scope</key> - <string>brackethighlighter.unmatched</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#d92d2d</string> - </dict> - </dict> - </array> - <key>uuid</key> - <string>133d1250-19c6-4565-bc93-b37fd36f7fc9</string> -</dict> -</plist> diff --git a/netlify.toml b/netlify.toml index fba7656..3356614 100644 --- a/netlify.toml +++ b/netlify.toml @@ -3,7 +3,7 @@ publish = "public" command = "zola build && npm run abridge-demo && zola build" [build.environment] -ZOLA_VERSION = "0.17.1" +ZOLA_VERSION = "0.17.2" [context.deploy-preview] command = "zola build --base-url $DEPLOY_PRIME_URL && npm run abridge-demo && zola build --base-url $DEPLOY_PRIME_URL" diff --git a/package.json b/package.json index 5a437f5..9514ab9 100644 --- a/package.json +++ b/package.json @@ -6,34 +6,22 @@ "license": "MIT", "homepage": "https://github.com/Jieiku/abridge", "scripts": { - "searchonly": "uglifyjs static/elasticlunr.min.js static/search.js -c -m -o static/abridge-searchonly.min.js", - "noswitcher": "uglifyjs static/prestyle.js static/email.js static/codecopy.js static/elasticlunr.min.js static/search.js -c -m -o static/abridge-bundle-noswitcher.min.js", - "nosearch": "uglifyjs static/prestyle.js static/theme_button.js static/email.js static/codecopy.js -c -m -o static/abridge-bundle-nosearch.min.js", - "noswitchernosearch": "uglifyjs static/prestyle.js static/email.js static/codecopy.js -c -m -o static/abridge-bundle-noswitchernosearch.min.js", - "nofacade": "uglifyjs static/prestyle.js static/theme_button.js static/email.js static/codecopy.js static/elasticlunr.min.js static/search.js -c -m -o static/abridge-bundle-nofacade.min.js", - "theme": "uglifyjs static/theme.js -c -m -o static/theme.min.js", - "katex-bundle": "uglifyjs static/katex.min.js static/mathtex-script-type.min.js static/auto-render.min.js static/katexoptions.js -c -m -o static/katexbundle.min.js", - "search-bundle": "uglifyjs public/search_index.en.js public/elasticlunr.min.js public/search.js -c -m -o static/search_bundle.min.js", - "search-bundle-stork": "uglifyjs static/stork.js static/stork_config.js -c -m -o static/search_bundle_stork.min.js", - "search-bundle-tinysearch": "uglifyjs static/tinysearch.js -c -m -o static/search_bundle_tinysearch.min.js", - "sha256": "sha256=$(shasum -b -a 256 'static/search_bundle.min.js' | awk '{ print $1 }') && echo $sha256 && sed -i \"s|sha256='.*'|sha256='$sha256'|\" 'themes/abridge/static/search_facade.js'", - "sha256-demo": "sha256=$(shasum -b -a 256 'static/search_bundle.min.js' | awk '{ print $1 }') && echo $sha256 && sed -i \"s|sha256='.*'|sha256='$sha256'|\" 'static/search_facade.js'", - "sha256-stork": "sha256=$(shasum -b -a 256 'static/search_bundle_stork.min.js' | awk '{ print $1 }') && echo $sha256 && sed -i \"s|sha256='.*'|sha256='$sha256'|\" 'static/search_facade_stork.js'", - "sha256-tinysearch": "sha256=$(shasum -b -a 256 'static/search_bundle_tinysearch.min.js' | awk '{ print $1 }') && echo $sha256 && sed -i \"s|sha256='.*'|sha256='$sha256'|\" 'static/search_facade_tinysearch.js'", - "sha384": "sha384=$(openssl dgst -sha384 -binary 'static/search_bundle.min.js' | openssl base64) && echo $sha384 && sed -i \"s|sha384='.*'|sha384='$sha384'|\" 'themes/abridge/static/search_facade.js'", - "sha384-demo": "sha384=$(openssl dgst -sha384 -binary 'static/search_bundle.min.js' | openssl base64) && echo $sha384 && sed -i \"s|sha384='.*'|sha384='$sha384'|\" 'static/search_facade.js'", - "sha384-stork": "sha384=$(openssl dgst -sha384 -binary 'static/search_bundle_stork.min.js' | openssl base64) && echo $sha384 && sed -i \"s|sha384='.*'|sha384='$sha384'|\" 'static/search_facade_stork.js'", - "sha384-tinysearch": "sha384=$(openssl dgst -sha384 -binary 'static/search_bundle_tinysearch.min.js' | openssl base64) && echo $sha384 && sed -i \"s|sha384='.*'|sha384='$sha384'|\" 'static/search_facade_tinysearch.js'", - "abridge-bundle-noswitcher": "uglifyjs themes/abridge/static/prestyle.js themes/abridge/static/search_facade.js themes/abridge/static/email.js themes/abridge/static/codecopy.js -c -m -o static/abridge.min.js", - "abridge-bundle": "uglifyjs themes/abridge/static/prestyle.js themes/abridge/static/theme_button.js themes/abridge/static/search_facade.js themes/abridge/static/email.js themes/abridge/static/codecopy.js -c -m -o static/abridge-bundle.min.js", - "abridge-bundle-demo": "uglifyjs static/prestyle.js static/theme_button.js static/search_facade.js static/email.js static/codecopy.js -c -m -o static/abridge-bundle.min.js", - "abridge-bundle-stork": "uglifyjs static/prestyle.js static/theme_button.js static/search_facade_stork.js static/email.js static/codecopy.js -c -m -o static/abridge-bundle-stork.min.js", - "abridge-bundle-tinysearch": "uglifyjs static/prestyle.js static/theme_button.js static/search_facade_tinysearch.js static/email.js static/codecopy.js -c -m -o static/abridge-bundle-tinysearch.min.js", - "abridge": "npm run search-bundle && npm run sha256 && npm run sha384 && npm run abridge-bundle && npm run abridge-bundle-noswitcher", - "abridge-demo": "npm run search-bundle && npm run sha256-demo && npm run sha384-demo && npm run abridge-bundle-demo", - "abridge-stork": "npm run search-bundle-stork && npm run sha256-stork && npm run sha384-stork && npm run abridge-bundle-stork", - "abridge-tinysearch": "npm run search-bundle-tinysearch && npm run sha256-tinysearch && npm run sha384-tinysearch && npm run abridge-bundle-tinysearch", - "all": "npm run searchonly && npm run noswitcher && npm run nofacade && npm run theme && npm run katex-bundle && npm run abridge-demo && npm run abridge-stork && npm run abridge-tinysearch" + "all": "npm run theme && npm run theme-light && npm run katex-bundle && npm run search-elasticlunr && npm run search-stork && npm run search-tinysearch && npm run abridge-bundle-elasticlunr", + "nonbundles": "npm run theme && npm run theme-light && npm run katex-bundle && npm run search-elasticlunr && npm run search-stork && npm run search-tinysearch", + "theme": "uglifyjs static/js/theme.js -c -m -o static/js/theme.min.js", + "theme-light": "uglifyjs static/js/theme_light.js -c -m -o static/js/theme_light.min.js", + "katex-bundle": "uglifyjs static/js/katex.min.js static/js/mathtex-script-type.min.js static/js/katex-auto-render.min.js static/js/katexoptions.js -c -m -o static/js/katexbundle.min.js", + "search-elasticlunr": "uglifyjs static/js/elasticlunr.min.js static/js/search.js -c -m -o static/js/search_elasticlunr.min.js", + "search-stork": "uglifyjs static/js/stork.js static/js/stork_config.js -c -m -o static/js/search_stork.min.js", + "search-tinysearch": "uglifyjs static/js/tinysearch.js -c -m -o static/js/search_tinysearch.min.js", + "abridge-bundle-nosearch": "uglifyjs static/js/prestyle.js static/js/theme_button.js static/js/email.js static/js/codecopy.js -c -m -o static/js/abridge.min.js", + "abridge-bundle-elasticlunr": "uglifyjs static/js/prestyle.js static/js/theme_button.js static/js/search_elasticlunr.min.js static/js/email.js static/js/codecopy.js -c -m -o static/js/abridge.min.js", + "abridge-bundle-tinysearch": "uglifyjs static/js/prestyle.js static/js/theme_button.js static/js/search_tinysearch.min.js static/js/email.js static/js/codecopy.js -c -m -o static/js/abridge.min.js", + "abridge-bundle-stork": "uglifyjs static/js/prestyle.js static/js/theme_button.js static/js/search_stork.min.js static/js/email.js static/js/codecopy.js -c -m -o static/js/abridge.min.js", + "nosearch": "npm run nonbundles && npm run abridge-bundle-nosearch && sed -i \"s|^build_search_index.*|build_search_index = false|\" 'config.toml' && sed -i \"s|^search_library.*|search_library = false|\" 'config.toml' && sed -i \"s|^draft.*|draft = true|\" 'content/static/tinysearch_json.md' && sed -i \"s|^draft.*|draft = true|\" 'content/static/stork_toml.md' && zola build", + "elasticlunr": "npm run nonbundles && npm run abridge-bundle-elasticlunr && sed -i \"s|^build_search_index.*|build_search_index = true|\" 'config.toml' && sed -i \"s|^search_library.*|search_library = 'elasticlunr'|\" 'config.toml' && sed -i \"s|^draft.*|draft = true|\" 'content/static/tinysearch_json.md' && sed -i \"s|^draft.*|draft = true|\" 'content/static/stork_toml.md' && zola build", + "tinysearch": "npm run nonbundles && npm run abridge-bundle-tinysearch && sed -i \"s|^build_search_index.*|build_search_index = true|\" 'config.toml' && sed -i \"s|^search_library.*|search_library = 'tinysearch'|\" 'config.toml' && sed -i \"s|^draft.*|draft = false|\" 'content/static/tinysearch_json.md' && sed -i \"s|^draft.*|draft = true|\" 'content/static/stork_toml.md' && zola build && mkdir -p tmp && tinysearch --optimize --path tmp public/data_tinysearch/index.html && rsync -avz tmp/*.wasm static/ && rm -rf tmp", + "stork": "npm run nonbundles && npm run abridge-bundle-stork && sed -i \"s|^build_search_index.*|build_search_index = true|\" 'config.toml' && sed -i \"s|^search_library.*|search_library = 'stork'|\" 'config.toml' && sed -i \"s|^draft.*|draft = true|\" 'content/static/tinysearch_json.md' && sed -i \"s|^draft.*|draft = false|\" 'content/static/stork_toml.md' && zola build && stork build --input public/data_stork/index.html --output static/stork.st" }, "dependencies": { "uglify-js": "^3.15.4" diff --git a/sass/_colors-syntax.scss b/sass/_colors-syntax.scss new file mode 100644 index 0000000..f3d219f --- /dev/null +++ b/sass/_colors-syntax.scss @@ -0,0 +1,121 @@ +// Syntax Highlighting +@mixin syndark($h0,$h1,$h2,$h3,$h4,$h5,$h6,$h7,$h8,$h9,$ha) { + #{--h0}: $h0;// background color + #{--h1}: $h1;// unstyled text + #{--h2}: $h2;// comments + #{--h3}: $h3;// red, support function + #{--h4}: $h4;// orange, punctuation, constant, variable, json-key + #{--h5}: $h5;// tan, entity/function name + #{--h6}: $h6;// green, string + #{--h7}: $h7;// teal, escape character + #{--h8}: $h8;// blue, declaration, tag, property + #{--h9}: $h9;// purple, operators + #{--ha}: $ha;// mark/highlight line +} +@mixin synlight($h0,$h1,$h2,$h3,$h4,$h5,$h6,$h7,$h8,$h9,$ha) { + #{--h0}: $h0;// background color + #{--h1}: $h1;// unstyled text + #{--h2}: $h2;// comments + #{--h3}: $h3;// red, support function + #{--h4}: $h4;// orange, punctuation, constant, variable, json-key + #{--h5}: $h5;// tan, entity/function name + #{--h6}: $h6;// green, string + #{--h7}: $h7;// teal, escape character + #{--h8}: $h8;// blue, declaration, tag, property + #{--h9}: $h9;// purple, operators + #{--ha}: $ha;// mark/highlight line +} + +@function color($color-syntax,$dark,$h0,$h1,$h2,$h3,$h4,$h5,$h6,$h7,$h8,$h9,$ha) { + @if $color-syntax == "charcoal" {//placeholder, this is actuall a copy of abridge syntax + @if $dark {/// Dark Syntax Colors + $h0: #191919 !default;// background color + $h1: #ddd !default;// unstyled text + $h2: #888 !default;// comments + $h3: #e65 !default;// red, support function + $h4: #e83 !default;// orange, punctuation, constant, variable, json-key + $h5: #eb6 !default;// tan, entity/function name + $h6: #ac3 !default;// green, string + $h7: #8db !default;// teal, escape character + $h8: #6ae !default;// blue, declaration, tag, property + $h9: #d6e !default;// purple, operators + $ha: 160% !default;// mark/highlight line + $result: $h0 $h1 $h2 $h3 $h4 $h5 $h6 $h7 $h8 $h9 $ha; + @return $result; + } @else {/// Light Syntax Colors + $h0: #f7f7f7 !default;// background color + $h1: #222 !default;// unstyled text + $h2: #666 !default;// comments + $h3: #a21 !default;// red, support function + $h4: #930 !default;// orange, punctuation, constant, variable, json-key + $h5: #a50 !default;// tan, entity/function name + $h6: #350 !default;// green, string + $h7: #286 !default;// teal, escape character + $h8: #059 !default;// blue, declaration, tag, property + $h9: #a3c !default;// purple, operators + $ha: 92% !default;// mark/highlight line + $result: $h0 $h1 $h2 $h3 $h4 $h5 $h6 $h7 $h8 $h9 $ha; + @return $result; + } + } @else if $color-syntax == "dracula" {//placeholder, this is actuall a copy of abridge syntax + @if $dark {/// Dark Syntax Colors + $h0: #191919 !default;// background color + $h1: #ddd !default;// unstyled text + $h2: #888 !default;// comments + $h3: #e65 !default;// red, support function + $h4: #e83 !default;// orange, punctuation, constant, variable, json-key + $h5: #eb6 !default;// tan, entity/function name + $h6: #ac3 !default;// green, string + $h7: #8db !default;// teal, escape character + $h8: #6ae !default;// blue, declaration, tag, property + $h9: #d6e !default;// purple, operators + $ha: 160% !default;// mark/highlight line + $result: $h0 $h1 $h2 $h3 $h4 $h5 $h6 $h7 $h8 $h9 $ha; + @return $result; + } @else {/// Light Syntax Colors + $h0: #f7f7f7 !default;// background color + $h1: #222 !default;// unstyled text + $h2: #666 !default;// comments + $h3: #a21 !default;// red, support function + $h4: #930 !default;// orange, punctuation, constant, variable, json-key + $h5: #a50 !default;// tan, entity/function name + $h6: #350 !default;// green, string + $h7: #286 !default;// teal, escape character + $h8: #059 !default;// blue, declaration, tag, property + $h9: #a3c !default;// purple, operators + $ha: 92% !default;// mark/highlight line + $result: $h0 $h1 $h2 $h3 $h4 $h5 $h6 $h7 $h8 $h9 $ha; + @return $result; + } + } @else {//abridge syntax colors (default) + @if $dark {/// Dark Syntax Colors + $h0: #191919 !default;// background color + $h1: #ddd !default;// unstyled text + $h2: #888 !default;// comments + $h3: #e65 !default;// red, support function + $h4: #e83 !default;// orange, punctuation, constant, variable, json-key + $h5: #eb6 !default;// tan, entity/function name + $h6: #ac3 !default;// green, string + $h7: #8db !default;// teal, escape character + $h8: #6ae !default;// blue, declaration, tag, property + $h9: #d6e !default;// purple, operators + $ha: 160% !default;// mark/highlight line + $result: $h0 $h1 $h2 $h3 $h4 $h5 $h6 $h7 $h8 $h9 $ha; + @return $result; + } @else {/// Light Syntax Colors + $h0: #f7f7f7 !default;// background color + $h1: #222 !default;// unstyled text + $h2: #666 !default;// comments + $h3: #a21 !default;// red, support function + $h4: #930 !default;// orange, punctuation, constant, variable, json-key + $h5: #a50 !default;// tan, entity/function name + $h6: #350 !default;// green, string + $h7: #286 !default;// teal, escape character + $h8: #059 !default;// blue, declaration, tag, property + $h9: #a3c !default;// purple, operators + $ha: 92% !default;// mark/highlight line + $result: $h0 $h1 $h2 $h3 $h4 $h5 $h6 $h7 $h8 $h9 $ha; + @return $result; + } + } +} diff --git a/sass/_colors.scss b/sass/_colors.scss new file mode 100644 index 0000000..d8de34b --- /dev/null +++ b/sass/_colors.scss @@ -0,0 +1,120 @@ +@mixin dark($f1,$f2,$c1,$c2,$c3,$c4,$a1,$a2,$a3,$cg,$cr) { + #{--f1}: $f1;// Font Color Primary + #{--f2}: $f2;// Font Color Headers + #{--c1}: $c1;// Background Color Primary + #{--c2}: $c2;// Background Color Secondary + #{--c3}: $c3;// Table Rows, Block quote edge, Borders + #{--c4}: $c4;// Disabled Buttons, Borders, mark background + #{--a1}: $a1;// link color + #{--a2}: $a2;// link hover/focus color + #{--a3}: $a3;// link h1-h2 hover/focus color + #{--cg}: $cg;// ins green, success + #{--cr}: $cr;// del red, errors +} +@mixin light($f1,$f2,$c1,$c2,$c3,$c4,$a1,$a2,$a3,$cg,$cr) { + #{--f1}: $f1;// Font Color Primary + #{--f2}: $f2;// Font Color Headers + #{--c1}: $c1;// Background Color Primary + #{--c2}: $c2;// Background Color Secondary + #{--c3}: $c3;// Table Rows, Block quote edge, Borders + #{--c4}: $c4;// Disabled Buttons, Borders, mark background + #{--a1}: $a1;// link color + #{--a2}: $a2;// link hover/focus color + #{--a3}: $a3;// link h1-h2 hover/focus color + #{--cg}: $cg;// ins green, success + #{--cr}: $cr;// del red, errors +} + +@function color($color,$dark,$f1,$f2,$c1,$c2,$c3,$c4,$a1,$a2,$a3,$cg,$cr) { + @if $color == "blue" { + @if $dark {/// Dark Colors + $f1: #ccc !default;// Font Color Primary + $f2: #ddd !default;// Font Color Headers + $c1: #111 !default;// Background Color Primary + $c2: #222 !default;// Background Color Secondary + $c3: #333 !default;// Table Rows, Block quote edge, Borders + $c4: #888 !default;// Disabled Buttons, Borders, mark background + $a1: #09f !default;// link color + $a2: #0bf !default;// link hover/focus color + $a3: #0af !default;// link h1-h2 hover/focus color + $cg: #593 !default;// ins green, success + $cr: #e33 !default;// del red, errors + $result: $f1 $f2 $c1 $c2 $c3 $c4 $a1 $a2 $a3 $cg $cr; + @return $result; + } @else {/// Light Colors + $f1: #333 !default;// Font Color Primary + $f2: #222 !default;// Font Color Headers + $c1: #fff !default;// Background Color Primary + $c2: #eee !default;// Background Color Secondary + $c3: #ddd !default;// Table Rows, Block quote edge, Borders + $c4: #555 !default;// Disabled Buttons, Borders, mark background + $a1: #06e !default;// link color + $a2: #09f !default;// link hover/focus color + $a3: #07f !default;// link h1-h2 hover/focus color + $cg: #373 !default;// ins green, success + $cr: #d33 !default;// del red, errors + $result: $f1 $f2 $c1 $c2 $c3 $c4 $a1 $a2 $a3 $cg $cr; + @return $result; + } + } @else if $color == "blueshade" { + @if $dark {/// Dark Colors + $f1: #ccc !default;// Font Color Primary + $f2: #ddd !default;// Font Color Headers + $c1: #111 !default;// Background Color Primary + $c2: #123 !default;// Background Color Secondary + $c3: #345 !default;// Table Rows, Block quote edge, Borders + $c4: #789 !default;// Disabled Buttons, Borders, mark background + $a1: #09f !default;// link color + $a2: #0bf !default;// link hover/focus color + $a3: #0af !default;// link h1-h2 hover/focus color + $cg: #593 !default;// ins green, success + $cr: #e33 !default;// del red, errors + $result: $f1 $f2 $c1 $c2 $c3 $c4 $a1 $a2 $a3 $cg $cr; + @return $result; + } @else {/// Light Colors + $f1: #333 !default;// Font Color Primary + $f2: #222 !default;// Font Color Headers + $c1: #fff !default;// Background Color Primary + $c2: #def !default;// Background Color Secondary + $c3: #cde !default;// Table Rows, Block quote edge, Borders + $c4: #013 !default;// Disabled Buttons, Borders, mark background + $a1: #06e !default;// link color + $a2: #09f !default;// link hover/focus color + $a3: #07f !default;// link h1-h2 hover/focus color + $cg: #373 !default;// ins green, success + $cr: #d33 !default;// del red, errors + $result: $f1 $f2 $c1 $c2 $c3 $c4 $a1 $a2 $a3 $cg $cr; + @return $result; + } + } @else {//orange (default) + @if $dark {/// Dark Colors + $f1: #ccc !default;// Font Color Primary + $f2: #ddd !default;// Font Color Headers + $c1: #111 !default;// Background Color Primary + $c2: #222 !default;// Background Color Secondary + $c3: #333 !default;// Table Rows, Block quote edge, Borders + $c4: #888 !default;// Disabled Buttons, Borders, mark background + $a1: #f90 !default;// link color + $a2: #fb0 !default;// link hover/focus color + $a3: #f90 !default;// link h1-h2 hover/focus color + $cg: #593 !default;// ins green, success + $cr: #e33 !default;// del red, errors + $result: $f1 $f2 $c1 $c2 $c3 $c4 $a1 $a2 $a3 $cg $cr; + @return $result; + } @else {/// Light Colors + $f1: #333 !default;// Font Color Primary + $f2: #222 !default;// Font Color Headers + $c1: #fff !default;// Background Color Primary + $c2: #eee !default;// Background Color Secondary + $c3: #ddd !default;// Table Rows, Block quote edge, Borders + $c4: #555 !default;// Disabled Buttons, Borders, mark background + $a1: #c40 !default;// link color + $a2: #e60 !default;// link hover/focus color + $a3: #f90 !default;// link h1-h2 hover/focus color + $cg: #373 !default;// ins green, success + $cr: #d33 !default;// del red, errors + $result: $f1 $f2 $c1 $c2 $c3 $c4 $a1 $a2 $a3 $cg $cr; + @return $result; + } + } +} diff --git a/sass/include/_icons.scss b/sass/_functions.scss index 10a2c05..dd6880a 100644 --- a/sass/include/_icons.scss +++ b/sass/_functions.scss @@ -1,3 +1,66 @@ +@use "sass:meta"; +@use "sass:list"; + +@function remove($list, $value, $recursive:false) { + $result: (); + @for $i from 1 through length($list) { + @if type-of(nth($list, $i)) == list and $recursive { + $result: append($result, remove(nth($list, $i), $value, $recursive), $separator: comma); + } @else if nth($list, $i) != $value { + $result: append($result, nth($list, $i), $separator: comma); + } + } + @return $result; +} + +@function font-append($base, $ext, $separator:comma) { + $base-pre: (); + $base-pos: (); + $iFontSep: index($base, $separator); + @if not $iFontSep {// didn't find the font separator, return + @debug "⚠ Failed to find '#{$separator}' in the list of '#{$base}'"; + @return $base; + } + @for $i from 1 through list.length($base) { + $iEl: list.nth($base, $i); + @if $i <= $iFontSep { + $base-pre: list.append($base-pre, $iEl, $separator:comma); + } @else { + $base-pos: list.append($base-pos, $iEl, $separator:comma); + } + } + @return list.join(list.join($base-pre, $ext), $base-pos); +} + +@function font-prepend($base, $ext) { + $ext-type: meta.type-of($ext); + @if not ($ext-type == 'string') and not ($ext-type == 'list') { + //@debug "⚠ Expected a string or a list, but got '#{$ext-type}' in '#{$ext}'"; + @return $base; + } @else { + @return list.join($ext, $base); + } +} + +@function font-var($base, $ext, $findFont:null) { + $typeFont: meta.type-of($base); + + @if ($typeFont == 'string') or ($typeFont == 'list') { + @if ($findFont == null) {// prepend + $font: font-prepend($base, $ext); + @return $font; + } @else { // append + $iFoundFont-Main: index($base, $findFont); + @if $iFoundFont-Main { + $font: font-append($base, $ext, $findFont); + @return $font; + } @else { + @debug "⚠ Failed to find font '#{$findFont}' in the list of '#{$base}'"; + } + } + } +} + /** * SVG Icons * https://github.com/feathericons/feather @@ -7,8 +70,7 @@ * https://jakearchibald.github.io/svgomg/ * https://codepen.io/yoksel/pen/MWKeKK */ - -@function icon($icon-name,$stroke,$stroke-width: 1,$fill:'none'){ +@function icon($icon-name,$stroke,$stroke-width:1,$fill:'none',$ic) { $sc:"%23888";//stroke color @if $ic { $sc: $stroke @@ -40,6 +102,7 @@ home: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{map-get($p, s)}' stroke-width='#{map-get($p, sw)}' fill='#{map-get($p, f)}' viewBox='0 0 24 24'%3E%3Cpath d='M9 22V12h6v10M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z'/%3E%3C/svg%3E", instagram: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{map-get($p, s)}' stroke-width='#{map-get($p, sw)}' fill='#{map-get($p, f)}' viewBox='0 0 24 24'%3E%3Crect x='2' y='2' width='20' height='20' rx='5' ry='5'/%3E%3Cpath d='M16 11.4A4 4 0 1 1 12.6 8a4 4 0 0 1 3.4 3.4zm1.5-4.9h.01'/%3E%3C/svg%3E", linkedin: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{map-get($p, s)}' stroke-width='#{map-get($p, sw)}' fill='#{map-get($p, f)}' viewBox='0 0 24 24'%3E%3Cpath d='M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6zM2 9h4v12H2z'/%3E%3Ccircle cx='4' cy='4' r='2'/%3E%3C/svg%3E", + kofi: "%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath stroke='#{map-get($p, s)}' stroke-width='#{map-get($p, sw)}' fill='%23fff' d='M2 5h15c8 0 8 10 0 10-1 0-1 0-1 1v2q0 1-1 1H2q-1 0-1-1V6q0-1 1-1m14 4v2c0 1 0 1 1 1 4 0 4-4 0-4-1 0-1 0-1 1'/%3E%3Cpath fill='#{map-get($p, f)}' d='M9 16C2 11 5 6 9 9c4-3 7 2 0 7' /%3E%3C/svg%3E", mail: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{map-get($p, s)}' stroke-width='#{map-get($p, sw)}' fill='#{map-get($p, f)}' viewBox='0 0 24 24'%3E%3Cpath d='m22 6-10 7L2 6m2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2Z'/%3E%3C/svg%3E", mastodon: "%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{map-get($p, f)}' viewBox='0 0 24 24'%3E%3Cpath d='M2 8c0 5.7-.2 12.6 5 14 2 .6 3.7.7 5 .6 2.4-.1 3.8-.9 3.8-.9l-.1-1.8s-1.7.6-3.7.5c-1.9 0-4-.2-4.2-2.6a5 5 90 0 1 0-.7c4 1 7.5.5 8.4.4 2.7-.4 5-2 5.3-3.6.5-2.4.4-5.8.4-5.8C22 3.4 19 2 19 2 15.9.6 8 .6 5.1 2c0 0-3 1.4-3 6zm4.5-2.3c1.2-1.4 3.8-1.5 5 .3l.5.9.6-1c1.1-1.7 3.7-1.6 4.9-.2 1.1 1.3.9 2.5.9 8.4H16V8.6c0-2.4-3-2.5-3 .3v3h-2V9c0-2.8-3-2.7-3-.3V14H5.6c0-5.9-.2-7.1 1-8.4z'/%3E%3C/svg%3E", matrix: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{map-get($p, s)}' stroke-width='#{map-get($p, sw)}' fill='#{map-get($p, f)}' viewBox='0 0 24 24'%3E%3Cpath d='M.6.6v22.8H3v.6H0V0h3v.6zm7 7.2V9h.1c3.2-2.3 4.3 0 4.8.3C14.9 6.7 18 8 18 11v5h-1.5v-5a1 1 0 0 0-3.5 0v5h-1.7v-5a1 1 0 0 0-3.7 0v5H6V7.8zm15.8 15.7V.4H21V0h3v24h-3v-.6z'/%3E%3C/svg%3E", @@ -62,72 +125,11 @@ angr: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{map-get($p, s)}' stroke-width='#{map-get($p, sw)}' fill='#{map-get($p, f)}' viewBox='0 0 24 24'%3E%3Cpath d='m8 4 8 8-8 8'/%3E%3C/svg%3E", angrr: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{map-get($p, s)}' stroke-width='#{map-get($p, sw)}' fill='#{map-get($p, f)}' viewBox='0 0 24 24'%3E%3Cpath d='m4 4 8 8-8 8m9-16 8 8-8 8'/%3E%3C/svg%3E", angu: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{map-get($p, s)}' stroke-width='#{map-get($p, sw)}' fill='#{map-get($p, f)}' viewBox='0 0 24 24'%3E%3Cpath d='m4 16 8-8 8 8'/%3E%3C/svg%3E", + copy: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{map-get($p, s)}' stroke-width='#{map-get($p, sw)}' fill='#{map-get($p, f)}' viewBox='0 0 24 24'%3E%3Cpath d='M11 1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1ZM7 9H3a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1v-4'/%3E%3C/svg%3E", + copy-yes: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{map-get($p, s)}' stroke-width='#{map-get($p, sw)}' fill='#{map-get($p, f)}' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E", + copy-err: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{map-get($p, s)}' stroke-width='#{map-get($p, sw)}' fill='#{map-get($p, f)}' viewBox='0 0 24 24'%3E%3Cpath d='M1 12a1 1 0 0 0 22 0 1 1 0 0 0-22 0m11-7v9m0 5v-2'/%3E%3C/svg%3E", search: "%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#{map-get($p, s)}' stroke-width='#{map-get($p, sw)}' fill='#{map-get($p, f)}' viewBox='0 0 24 24'%3E%3Ccircle cx='9.5' cy='9.5' r='8'/%3E%3Cpath d='m23 23-9-9'/%3E%3C/svg%3E" ); $icon: map-get($icons, $icon-name); @return url("data:image/svg+xml,#{$icon}"); } -@if $enable-icons { - @if $icon-adjust {.adjust { -webkit-mask: icon(adjust, "none", 1, "%23000") ; background: var(--f2) }}//theme switcher - @if $icon-angl {.angl { -webkit-mask: icon(angl, "%23000", 3, "none") ; background: var(--f2) }}//angle left - @if $icon-angll {.angll { -webkit-mask: icon(angll, "%23000", 3, "none") ; background: var(--f2) }}//angle left left - @if $icon-angr {.angr { -webkit-mask: icon(angr, "%23000", 3, "none") ; background: var(--f2) }}//angle right - @if $icon-angrr {.angrr { -webkit-mask: icon(angrr, "%23000", 3, "none") ; background: var(--f2) }}//angle right right - @if $icon-angu {.angu { -webkit-mask: icon(angu, "%23000", 3, "none") ; background: var(--f2) }}//angle up - @if $icon-search {.search { -webkit-mask: icon(search, "%23000", 3, "none") ; background: var(--f2) }}//search - @if $icon-bitbucket {.bitbucket { background-image: icon(bitbucket, "%2328f", 2, "none") }} - @if $icon-buymeacoffee {.buymeacoffee { background-image: icon(buymeacoffee, "%23777", 1, "%23fd0") }} - @if $icon-check {.check { background-image: icon(check, "%23888", 2, "none") }} - @if $icon-chevron {.chevron { background-image: icon(chevron, "%23888", 2, "none") }} - @if $icon-clock {.clock { background-image: icon(clock, "%23888", 2, "none") }} - @if $icon-codeberg {.codeberg { background-image: icon(codeberg, "%23555", 2, "%23aaa") }} - @if $icon-date {.date { background-image: icon(date, "%23888", 2, "none") }} - @if $icon-discord {.discord { background-image: icon(discord, "none", 1, "%2356f") }} - @if $icon-docker {.docker { background-image: icon(docker, "%2329e", 2, "none") }} - @if $icon-element {.element { background-image: icon(element, "none", 1, "%231c8") }} - @if $icon-facebook {.facebook { background-image: icon(facebook, "%23359", 2, "none") }} - @if $icon-folder {.folder { background-image: icon(folder, "%23888", 2, "none") }} - @if $icon-github {.github { background-image: icon(github, "%23888", 2, "none") }} - @if $icon-github-sponsor {.github-sponsor { background-image: icon(github-sponsor, "%23c49", 2, "none") }} - @if $icon-gitlab {.gitlab { background-image: icon(gitlab, "%23e62", 2, "none") }} - @if $icon-globe {.globe { background-image: icon(globe, "%23888", 2, "none") }} - @if $icon-home {.home { background-image: icon(home, "%23888", 2, "none") }} - @if $icon-instagram {.instagram { background-image: icon(instagram, "%23e07", 2, "none") }} - @if $icon-linkedin {.linkedin { background-image: icon(linkedin, "%2326a", 2, "none") }} - @if $icon-mail {.mail { background-image: icon(mail, "%23888", 2, "none") }} - @if $icon-mastodon {.mastodon { background-image: icon(mastodon, "none", 1, "%2328c") }} - @if $icon-matrix {.matrix { background-image: icon(matrix, "%23888", 2, "none") }} - @if $icon-minus {.minus { background-image: icon(minus, "%23888", 2, "none") }} - @if $icon-moon {.moon { background-image: icon(moon, "%23888", 2, "none") }} - @if $icon-pinterest {.pinterest { background-image: icon(pinterest, "%23b01", 2, "none") }} - @if $icon-python {.python { background-image: icon(python, "%23fc1", 2, "%2326a") }} - @if $icon-researchgate {.researchgate { background-image: icon(researchgate, "none", 2, "%230db") }} - @if $icon-rss {.rss { background-image: icon(rss, "%23e94", 2, "none") }} - @if $icon-stack {.stack { background-image: icon(stack, "%23e72", 2, "none") }} - @if $icon-sun {.sun { background-image: icon(sun, "%23888", 2, "none") }} - @if $icon-tag {.tag { background-image: icon(tag, "%23888", 2, "none") }} - @if $icon-twitch {.twitch { background-image: icon(twitch, "%23a7f", 2, "none") }} - @if $icon-twitter {.twitter { background-image: icon(twitter, "%232ad", 2, "none") }} - @if $icon-x {.x { background-image: icon(x, "%23f00", 3, "none") }} - @if $icon-youtube {.youtube { background-image: icon(youtube, "%23f00", 2, "none") }} - .svg { - width: 1.8rem; - height: 1.8rem; - display: inline-block; - //overflow: hidden; - text-align: center; - vertical-align: middle; - } - .svgs { - width: var(--fs); - height: var(--fs); - display: inline-block; - //overflow: hidden; - text-align: center; - vertical-align: middle; - } - .fa-a:hover { - color: var(--a3); - opacity: 1; - } -} diff --git a/sass/_imports.scss b/sass/_imports.scss deleted file mode 100644 index 6e61b8e..0000000 --- a/sass/_imports.scss +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Forked from Bamboo: https://github.com/rilwis/bamboo (MIT) - * which was forked from new.css (MIT) - * Supplemented code from Pico.css: https://github.com/picocss/pico (MIT) - * Supplemented code from Basic.css: https://github.com/vladocar/Basic.css (MIT) - * Supplemented code from AttriCSS: https://github.com/raj457036/attriCSS (MIT) - * Feather Icons: https://github.com/feathericons/feather (MIT) - * Tabler Icons: https://github.com/tabler/tabler-icons/find/master (MIT) - * - * Bamboo, New, Pico: based on Normalize.css & Sanitize.css - * Normalize: https://github.com/necolas/normalize.css (MIT) - * Sanitize: https://github.com/csstools/sanitize.css (CC0 1.0 Universal) - */ - -// Config -@import "variables"; - -// Includes - Sorted by importance/category (includes at top are needed most frequently) -@import "include/document"; // html -@import "include/typography"; // a, headings, p, ul, blockquote, ... -@import "include/sectioning"; // body, header, main, footer -@import "include/nav"; // Nav - -@import "include/embedded"; // iframe(youtube/vimeo), audio, canvas, img, svg, video -@import "include/table"; // table, tr, td, ... -@import "include/code"; // pre, code, ... -@import "include/hr"; // hr - -@import "include/scroller"; // figure -@import "include/button"; // button, a[role=button], type=button, type=submit ... -@import "include/form"; // input, select, textarea, label, fieldset, legend (If you import this, you should also import button) -@import "include/top"; // back to top button using only CSS - -@import "include/search"; // Zola Search - elasticlunr site-wide search -@import "include/toc"; // Zola TOC - Table of Content Menu (recent posts & index), sticky (floats top right) - -@import "include/icons"; // svg icons - -@import "include/zola"; // Zola spacing and layout classes - -//@import "include/grid"; // section infinite grid -- test/rework this similar to hnav and milligram in that it should collapse to a single column as the page becomes narrow -//@import "include/misc"; // template, [hidden], dialog, canvas diff --git a/sass/_variables.scss b/sass/_variables.scss deleted file mode 100644 index 6c957a8..0000000 --- a/sass/_variables.scss +++ /dev/null @@ -1,187 +0,0 @@ -/* - * Forked from Bamboo: https://github.com/rilwis/bamboo (MIT) - * which was forked from new.css (MIT) - * Supplemented code from Pico.css: https://github.com/picocss/pico (MIT) - * Supplemented code from Basic.css: https://github.com/vladocar/Basic.css (MIT) - * Supplemented code from AttriCSS: https://github.com/raj457036/attriCSS (MIT) - * Feather Icons: https://github.com/feathericons/feather (MIT) - * Tabler Icons: https://github.com/tabler/tabler-icons/find/master (MIT) - * - * Bamboo, New, Pico: based on Normalize.css & Sanitize.css - * Normalize: https://github.com/necolas/normalize.css (MIT) - * Sanitize: https://github.com/csstools/sanitize.css (CC0 1.0 Universal) - */ - -// Config -// –––––––––––––––––––– - -// Enable <header>, <main>, <footer> inside <body> as a container -$enable-semantic-container: true !default; - -// Enable responsive typography -// Fixed root element size if disabled -$enable-responsive-typography: true !default; - -// Enable responsive spacings for <header>, <main>, <footer>, <section> -// Fixed spacings if disabled -$enable-responsive-spacings: false !default; - -// Enable a centered viewport for <header>, <main>, <footer> inside <body> -// Fluid layout until it reaches a defined size, then becomes a centered viewport -$enable-maxwidth: true !default; -$mw:60% !default;// max-width -$mb:1200px !default;// value at which to switch from fluid layout to using max-width - -// Enable a centered viewport for <header>, <main>, <footer> inside <body> -// This option will only work if $enable-maxwidth: false -$enable-viewport: false !default; - -// xs: Extra small (portrait phones) -// sm: Small(landscape phones) -// md: Medium(tablets) -// lg: Large(desktops) -// xl: Extra large (large desktops) - -// Breakpoints -$breakpoints: ( - // 'null' disable the breakpoint - xs: 0, - sm: 576px, - md: 768px, - lg: 992px, - xl: 1200px -) !default; - -// Viewports -$viewports: ( - // 'null' disable the viewport on a breakpoint - sm: 510px, - md: 700px, - lg: 920px, - xl: 1130px -) !default; - -// Enable svg css icons -$enable-icons: true !default; // setting this to false disables ALL icons, to use icons set to true. -$ic: true !default; // icon color - set to true for colorized icons, otherwise a neutral gray #888 is used. -// to use icons set enable-icons:true above and also enable individual icons that you need below. https://deepthought-theme.netlify.app/ -$icon-rss: true !default; -$icon-mail: true !default;// email mail envelope -$icon-mastodon: true !default; -$icon-element: true !default; -$icon-matrix: false !default; -$icon-buymeacoffee: true !default; -$icon-twitter: true !default; -$icon-facebook: true !default; -$icon-linkedin: true !default; -$icon-codeberg: true !default; -$icon-gitlab: true !default; -$icon-github: true !default; -$icon-github-sponsor: true !default; -$icon-bitbucket: true !default; -$icon-python: true !default; -$icon-docker: true !default; -$icon-stack: true !default; -$icon-instagram: true !default; -$icon-pinterest: true !default; -$icon-discord: true !default; -$icon-twitch: true !default; -$icon-youtube: true !default; -$icon-researchgate: true !default; - -$icon-x: true !default;// x symbol -$icon-search: true !default;//search -$icon-adjust: true !default;//theme switcher -$icon-angll: true !default;//first page -$icon-angl: true !default;//previous page -$icon-angr: true !default;//next page -$icon-angrr: true !default;//last page -$icon-angu: true !default;//back to top - -$icon-ffolder: false !default; -$icon-folder: false !default;// categories folder -$icon-ftag: false !default; -$icon-tag: false !default;// tag -$icon-check: false !default;// check mark -$icon-chevron: false !default;// chevron down -$icon-clock: false !default;// time analog clock -$icon-date: false !default;// calendar -$icon-globe: false !default; -$icon-home: false !default; -$icon-minus: false !default;// minus symbol -$icon-moon: false !default;// dark moon -$icon-sun: false !default;// light sun -// add an icon link to an html template like this: <a href="#"><span class="svg home"></span></a> - -:root { - --ff: "Roboto", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Noto Sans", Helvetica, Arial, sans-serif; - --fm: ui-monospace, Menlo, Monaco, Consolas, "SF Mono", "Cascadia Mono", "Segoe UI Mono", "DejaVu Sans Mono", "Liberation Mono", "Roboto Mono", "Oxygen Mono", "Ubuntu Monospace", "Ubuntu Mono", "Source Code Pro", "Fira Mono", "Droid Sans Mono", "Courier New", Courier, monospace; - - // Spacings - --s1: .5rem; - --s2: 1rem; - --rc: .5rem; //radius corners - - // Borders - --br: 0.25rem; //border radius - --bw: 0.0625rem; //border width - --ow: 0.1875rem; //outline width - - --fs: 1rem; //font-size - --lh: 1.5; //line-height - --lhh: 1.2; //line-height headers - --fw: 400; //font-weight - --fh: 700; //font-weight h1-h6 - - // Responsive typography - @if $enable-responsive-typography { - @if map-get($breakpoints, "sm") { - @media (min-width: map-get($breakpoints, "sm")) { - --fs: 1rem; - } - } - @if map-get($breakpoints, "md") { - @media (min-width: map-get($breakpoints, "md")) { - --fs: 1.04rem; - } - } - @if map-get($breakpoints, "lg") { - @media (min-width: map-get($breakpoints, "lg")) { - --fs: 1.08rem; - } - } - @if map-get($breakpoints, "xl") { - @media (min-width: map-get($breakpoints, "xl")) { - --fs: 1.12rem; - } - } - } - - // Responsives spacings - @if $enable-responsive-spacings { - // Sectionning - header, main, footer, - section { - @if map-get($breakpoints, "sm") { - @media (min-width: map-get($breakpoints, "sm")) { - --s1: .5rem; - } - } - @if map-get($breakpoints, "md") { - @media (min-width: map-get($breakpoints, "md")) { - --s1: .6rem; - } - } - @if map-get($breakpoints, "lg") { - @media (min-width: map-get($breakpoints, "lg")) { - --s1: .7rem; - } - } - @if map-get($breakpoints, "xl") { - @media (min-width: map-get($breakpoints, "xl")) { - --s1: .8rem; - } - } - } - } -} diff --git a/sass/abridge-blue-dark.scss b/sass/abridge-blue-dark.scss deleted file mode 100644 index 7b7a352..0000000 --- a/sass/abridge-blue-dark.scss +++ /dev/null @@ -1,21 +0,0 @@ -//@import "fonts/Abridge"; -//@import "fonts/Roboto"; -//@import "fonts/Arimo"; -//@import "fonts/Lato"; -//@import "fonts/FiraCode"; // Monospaced -@import "imports"; -@import "syntax/syntax-abridge-dark"; - -:root { - --f1: #ccc;// Font Color Primary - --f2: #ddd;// Font color Headers - --c1: #111;// Background Color Primary - --c2: #222;// Background Color Secondary - --c3: #333;// Table Rows, Block quote edge, Borders - --c4: #888;// Disabled Buttons, Borders, mark background - --a1: #09f;// link color - --a2: #0bf;// link hover/focus color - --a3: #0af;// link h1-h2 hover/focus color - --cg: #593; // ins green, success - --cr: #e33; // del red, errors -} diff --git a/sass/abridge-blue-light.scss b/sass/abridge-blue-light.scss deleted file mode 100644 index 1ae982b..0000000 --- a/sass/abridge-blue-light.scss +++ /dev/null @@ -1,21 +0,0 @@ -//@import "fonts/Abridge"; -//@import "fonts/Roboto"; -//@import "fonts/Arimo"; -//@import "fonts/Lato"; -//@import "fonts/FiraCode"; // Monospaced -@import "imports"; -@import "syntax/syntax-abridge-light"; - -:root { - --f1: #444;// Font Color Primary - --f2: #333;// Font color Headers - --c1: #fff;// Background Color Primary - --c2: #eee;// Background Color Secondary - --c3: #ddd;// Table Rows, Block quote edge, Borders - --c4: #677;// Disabled Buttons, Borders, mark background - --a1: #06e;// link color - --a2: #09f;// link hover/focus color - --a3: #07f;// link h1-h2 hover/focus color - --cg: #373; // ins green, success - --cr: #d33; // del red, errors -} diff --git a/sass/abridge-blue-switcher.scss b/sass/abridge-blue-switcher.scss deleted file mode 100644 index bed7958..0000000 --- a/sass/abridge-blue-switcher.scss +++ /dev/null @@ -1,34 +0,0 @@ -//@import "fonts/Abridge"; -//@import "fonts/Roboto"; -//@import "fonts/Arimo"; -//@import "fonts/Lato"; -//@import "fonts/FiraCode"; // Monospaced -@import "imports"; -@import "syntax/syntax-abridge-switcher"; - -:root:not(.light) { - --f1: #ccc;// Font Color Primary - --f2: #ddd;// Font color Headers - --c1: #111;// Background Color Primary - --c2: #222;// Background Color Secondary - --c3: #333;// Table Rows, Block quote edge, Borders - --c4: #888;// Disabled Buttons, Borders, mark background - --a1: #09f;// link color - --a2: #0bf;// link hover/focus color - --a3: #0af;// link h1-h2 hover/focus color - --cg: #593; // ins green, success - --cr: #e33; // del red, errors -} -:root.light { - --f1: #444;// Font Color Primary - --f2: #333;// Font color Headers - --c1: #fff;// Background Color Primary - --c2: #eee;// Background Color Secondary - --c3: #ddd;// Table Rows, Block quote edge, Borders - --c4: #677;// Disabled Buttons, Borders, mark background - --a1: #06e;// link color - --a2: #09f;// link hover/focus color - --a3: #07f;// link h1-h2 hover/focus color - --cg: #373; // ins green, success - --cr: #d33; // del red, errors -} diff --git a/sass/abridge-blue.scss b/sass/abridge-blue.scss deleted file mode 100644 index 02cb58f..0000000 --- a/sass/abridge-blue.scss +++ /dev/null @@ -1,36 +0,0 @@ -//@import "fonts/Abridge"; -//@import "fonts/Roboto"; -//@import "fonts/Arimo"; -//@import "fonts/Lato"; -//@import "fonts/FiraCode"; // Monospaced -@import "imports"; -@import "syntax/syntax-abridge"; - -:root { - --f1: #ccc;// Font Color Primary - --f2: #ddd;// Font color Headers - --c1: #111;// Background Color Primary - --c2: #222;// Background Color Secondary - --c3: #333;// Table Rows, Block quote edge, Borders - --c4: #888;// Disabled Buttons, Borders, mark background - --a1: #09f;// link color - --a2: #0bf;// link hover/focus color - --a3: #0af;// link h1-h2 hover/focus color - --cg: #593; // ins green, success - --cr: #e33; // del red, errors -} -@media (prefers-color-scheme: light) { - :root { - --f1: #444;// Font Color Primary - --f2: #333;// Font color Headers - --c1: #fff;// Background Color Primary - --c2: #eee;// Background Color Secondary - --c3: #ddd;// Table Rows, Block quote edge, Borders - --c4: #677;// Disabled Buttons, Borders, mark background - --a1: #06e;// link color - --a2: #09f;// link hover/focus color - --a3: #07f;// link h1-h2 hover/focus color - --cg: #373; // ins green, success - --cr: #d33; // del red, errors - } -} diff --git a/sass/abridge-blueshade-dark.scss b/sass/abridge-blueshade-dark.scss deleted file mode 100644 index 627f777..0000000 --- a/sass/abridge-blueshade-dark.scss +++ /dev/null @@ -1,21 +0,0 @@ -//@import "fonts/Abridge"; -//@import "fonts/Roboto"; -//@import "fonts/Arimo"; -//@import "fonts/Lato"; -//@import "fonts/FiraCode"; // Monospaced -@import "imports"; -@import "syntax/syntax-abridge-dark"; - -:root { - --f1: #ccc;// Font Color Primary - --f2: #ddd;// Font color Headers - --c1: #111;// Background Color Primary - --c2: #123;// Background Color Secondary - --c3: #345;// Table Rows, Block quote edge, Borders - --c4: #789;// Disabled Buttons, Borders, mark background - --a1: #09f;// link color - --a2: #0bf;// link hover/focus color - --a3: #0af;// link h1-h2 hover/focus color - --cg: #593; // ins green, success - --cr: #e33; // del red, errors -} diff --git a/sass/abridge-blueshade-light.scss b/sass/abridge-blueshade-light.scss deleted file mode 100644 index 8fdf66c..0000000 --- a/sass/abridge-blueshade-light.scss +++ /dev/null @@ -1,21 +0,0 @@ -//@import "fonts/Abridge"; -//@import "fonts/Roboto"; -//@import "fonts/Arimo"; -//@import "fonts/Lato"; -//@import "fonts/FiraCode"; // Monospaced -@import "imports"; -@import "syntax/syntax-abridge-light"; - -:root { - --f1: #444;// Font Color Primary - --f2: #333;// Font color Headers - --c1: #fff;// Background Color Primary - --c2: #def;// Background Color Secondary - --c3: #137;// Table Rows, Block quote edge, Borders - --c4: #013;// Disabled Buttons, Borders, mark background - --a1: #06e;// link color - --a2: #09f;// link hover/focus color - --a3: #07f;// link h1-h2 hover/focus color - --cg: #373; // ins green, success - --cr: #d33; // del red, errors -} diff --git a/sass/abridge-blueshade-switcher.scss b/sass/abridge-blueshade-switcher.scss deleted file mode 100644 index 379468b..0000000 --- a/sass/abridge-blueshade-switcher.scss +++ /dev/null @@ -1,34 +0,0 @@ -//@import "fonts/Abridge"; -//@import "fonts/Roboto"; -//@import "fonts/Arimo"; -//@import "fonts/Lato"; -//@import "fonts/FiraCode"; // Monospaced -@import "imports"; -@import "syntax/syntax-abridge-switcher"; - -:root:not(.light) { - --f1: #ccc;// Font Color Primary - --f2: #ddd;// Font color Headers - --c1: #111;// Background Color Primary - --c2: #123;// Background Color Secondary - --c3: #345;// Table Rows, Block quote edge, Borders - --c4: #789;// Disabled Buttons, Borders, mark background - --a1: #09f;// link color - --a2: #0bf;// link hover/focus color - --a3: #0af;// link h1-h2 hover/focus color - --cg: #593; // ins green, success - --cr: #e33; // del red, errors -} -:root.light { - --f1: #444;// Font Color Primary - --f2: #333;// Font color Headers - --c1: #fff;// Background Color Primary - --c2: #def;// Background Color Secondary - --c3: #137;// Table Rows, Block quote edge, Borders - --c4: #013;// Disabled Buttons, Borders, mark background - --a1: #06e;// link color - --a2: #09f;// link hover/focus color - --a3: #07f;// link h1-h2 hover/focus color - --cg: #373; // ins green, success - --cr: #d33; // del red, errors -} diff --git a/sass/abridge-blueshade.scss b/sass/abridge-blueshade.scss deleted file mode 100644 index 93f47e0..0000000 --- a/sass/abridge-blueshade.scss +++ /dev/null @@ -1,36 +0,0 @@ -//@import "fonts/Abridge"; -//@import "fonts/Roboto"; -//@import "fonts/Arimo"; -//@import "fonts/Lato"; -//@import "fonts/FiraCode"; // Monospaced -@import "imports"; -@import "syntax/syntax-abridge"; - -:root { - --f1: #ccc;// Font Color Primary - --f2: #ddd;// Font color Headers - --c1: #111;// Background Color Primary - --c2: #123;// Background Color Secondary - --c3: #345;// Table Rows, Block quote edge, Borders - --c4: #789;// Disabled Buttons, Borders, mark background - --a1: #09f;// link color - --a2: #0bf;// link hover/focus color - --a3: #0af;// link h1-h2 hover/focus color - --cg: #593; // ins green, success - --cr: #e33; // del red, errors -} -@media (prefers-color-scheme: light) { - :root { - --f1: #444;// Font Color Primary - --f2: #333;// Font color Headers - --c1: #fff;// Background Color Primary - --c2: #def;// Background Color Secondary - --c3: #137;// Table Rows, Block quote edge, Borders - --c4: #013;// Disabled Buttons, Borders, mark background - --a1: #06e;// link color - --a2: #09f;// link hover/focus color - --a3: #07f;// link h1-h2 hover/focus color - --cg: #373; // ins green, success - --cr: #d33; // del red, errors - } -} diff --git a/sass/abridge-dark.scss b/sass/abridge-dark.scss deleted file mode 100644 index 212b4fc..0000000 --- a/sass/abridge-dark.scss +++ /dev/null @@ -1,21 +0,0 @@ -//@import "fonts/Abridge"; -//@import "fonts/Roboto"; -//@import "fonts/Arimo"; -//@import "fonts/Lato"; -//@import "fonts/FiraCode"; // Monospaced -@import "imports"; -@import "syntax/syntax-abridge-dark"; - -:root { - --f1: #ccc;// Font Color Primary - --f2: #ddd;// Font color Headers - --c1: #111;// Background Color Primary - --c2: #222;// Background Color Secondary - --c3: #333;// Table Rows, Block quote edge, Borders - --c4: #888;// Disabled Buttons, Borders, mark background - --a1: #f90;// link color - --a2: #fb0;// link hover/focus color - --a3: #f90;// link h1-h2 hover/focus color - --cg: #593; // ins green, success - --cr: #e33; // del red, errors -} diff --git a/sass/abridge-light.scss b/sass/abridge-light.scss deleted file mode 100644 index d0f204c..0000000 --- a/sass/abridge-light.scss +++ /dev/null @@ -1,21 +0,0 @@ -//@import "fonts/Abridge"; -//@import "fonts/Roboto"; -//@import "fonts/Arimo"; -//@import "fonts/Lato"; -//@import "fonts/FiraCode"; // Monospaced -@import "imports"; -@import "syntax/syntax-abridge-light"; - -:root { - --f1: #444;// Font Color Primary - --f2: #333;// Font color Headers - --c1: #fff;// Background Color Primary - --c2: #eee;// Background Color Secondary - --c3: #ddd;// Table Rows, Block quote edge, Borders - --c4: #677;// Disabled Buttons, Borders, mark background - --a1: #c40;// link color - --a2: #e60;// link hover/focus color - --a3: #f90;// link h1-h2 hover/focus color - --cg: #373; // ins green, success - --cr: #d33; // del red, errors -} diff --git a/sass/abridge-switcher.scss b/sass/abridge-switcher.scss deleted file mode 100644 index 37e0cef..0000000 --- a/sass/abridge-switcher.scss +++ /dev/null @@ -1,34 +0,0 @@ -//@import "fonts/Abridge"; -//@import "fonts/Roboto"; -//@import "fonts/Arimo"; -//@import "fonts/Lato"; -//@import "fonts/FiraCode"; // Monospaced -@import "imports"; -@import "syntax/syntax-abridge-switcher"; - -:root:not(.light) { - --f1: #ccc;// Font Color Primary - --f2: #ddd;// Font color Headers - --c1: #111;// Background Color Primary - --c2: #222;// Background Color Secondary - --c3: #333;// Table Rows, Block quote edge, Borders - --c4: #888;// Disabled Buttons, Borders, mark background - --a1: #f90;// link color - --a2: #fb0;// link hover/focus color - --a3: #f90;// link h1-h2 hover/focus color - --cg: #593; // ins green, success - --cr: #e33; // del red, errors -} -:root.light { - --f1: #444;// Font Color Primary - --f2: #333;// Font color Headers - --c1: #fff;// Background Color Primary - --c2: #eee;// Background Color Secondary - --c3: #ddd;// Table Rows, Block quote edge, Borders - --c4: #677;// Disabled Buttons, Borders, mark background - --a1: #c40;// link color - --a2: #e60;// link hover/focus color - --a3: #f90;// link h1-h2 hover/focus color - --cg: #373; // ins green, success - --cr: #d33; // del red, errors -} diff --git a/sass/abridge.scss b/sass/abridge.scss index e99e5d9..2cde0d3 100644 --- a/sass/abridge.scss +++ b/sass/abridge.scss @@ -1,36 +1,1525 @@ -//@import "fonts/Abridge"; -//@import "fonts/Roboto"; -//@import "fonts/Arimo"; -//@import "fonts/Lato"; -//@import "fonts/FiraCode"; // Monospaced -@import "imports"; -@import "syntax/syntax-abridge"; +@use "sass:meta"; +@use "sass:list"; -:root { - --f1: #ccc;// Font Color Primary - --f2: #ddd;// Font color Headers - --c1: #111;// Background Color Primary - --c2: #222;// Background Color Secondary - --c3: #333;// Table Rows, Block quote edge, Borders - --c4: #888;// Disabled Buttons, Borders, mark background - --a1: #f90;// link color - --a2: #fb0;// link hover/focus color - --a3: #f90;// link h1-h2 hover/focus color - --cg: #593; // ins green, success - --cr: #e33; // del red, errors +@use "functions"; +@use "colors"; +@use "colors-syntax"; + +/****************************************************************************** + * Variables + *****************************************************************************/ + +/// Enable a centered viewport for <header>, <main>, <footer> inside <body> +/// Fluid layout until a defined size, then becomes centered viewport +$enable-maxwidth: true !default; +$mw: 60% !default;// max-width +$mb: 1200px !default;// value at which to switch from fluid layout to max-width + +$abridgeMode: "switcher" !default;//valid values: switcher, auto, dark, light +$syntax-mode: "auto" !default;// Force syntax mode: auto, dark, light +$switcherDefault: "dark" !default;// default for nojs switcher: dark, light + +$color: "orange" !default;// color template to use/override: orange, blue, blueshade + +$color-syntax: "abridge" !default;// syntax color template to use/override: abridge, +$syntax: true !default;//syntax highlighting for Code Blocks. + +$enable-icons: true !default; // false disables ALL icons +$ic: true !default; // true for colorized icons, otherwise #888 is used. + +$icon-rss: true !default; +$icon-mail: true !default;// e-mail +$icon-mastodon: true !default; +$icon-element: true !default; +$icon-matrix: false !default; +$icon-buymeacoffee: true !default; +$icon-kofi: true !default; +$icon-twitter: true !default; +$icon-facebook: true !default; +$icon-linkedin: true !default; +$icon-codeberg: true !default; +$icon-gitlab: true !default; +$icon-github: true !default; +$icon-github-sponsor: true !default; +$icon-bitbucket: true !default; +$icon-python: true !default; +$icon-docker: true !default; +$icon-stack: true !default; +$icon-instagram: true !default; +$icon-pinterest: true !default; +$icon-discord: true !default; +$icon-twitch: true !default; +$icon-youtube: true !default; +$icon-researchgate: true !default; + +$icon-x: true !default;// x symbol, used to close search results page. +$icon-search: true !default;//search, spyglass search button in search box. +$icon-adjust: true !default;//theme switcher dark/light toggle button. +$icon-angll: true !default;//pagination, goto first page +$icon-angl: true !default;//pagination, goto previous page +$icon-angr: true !default;//pagination, goto next page +$icon-angrr: true !default;//pagination, goto last page +$icon-angu: true !default;//back to top button, appears after scrolling down. +$icon-copy: true !default;//copy to clipboard, for code blocks. + +$icon-ffolder: false !default; +$icon-folder: false !default;// categories folder +$icon-ftag: false !default; +$icon-tag: false !default;// tag +$icon-check: false !default;// check mark +$icon-chevron: false !default;// chevron down +$icon-clock: false !default;// time analog clock +$icon-date: false !default;// calendar +$icon-globe: false !default; +$icon-home: false !default; +$icon-minus: false !default;// minus symbol +$icon-moon: false !default;// dark moon +$icon-sun: false !default;// light sun + +/// Dark Colors +$f1d: null !default;// Font Color Primary +$f2d: null !default;// Font Color Headers +$c1d: null !default;// Background Color Primary +$c2d: null !default;// Background Color Secondary +$c3d: null !default;// Table Rows, Block quote edge, Borders +$c4d: null !default;// Disabled Buttons, Borders, mark background +$a1d: null !default;// link color +$a2d: null !default;// link hover/focus color +$a3d: null !default;// link h1-h2 hover/focus color +$cgd: null !default;// ins green, success +$crd: null !default;// del red, errors +$dark: colors.color($color,true,$f1d,$f2d,$c1d,$c2d,$c3d,$c4d,$a1d,$a2d,$a3d,$cgd,$crd); + +/// Light Colors +$f1: null !default;// Font Color Primary +$f2: null !default;// Font Color Headers +$c1: null !default;// Background Color Primary +$c2: null !default;// Background Color Secondary +$c3: null !default;// Table Rows, Block quote edge, Borders +$c4: null !default;// Disabled Buttons, Borders, mark background +$a1: null !default;// link color +$a2: null !default;// link hover/focus color +$a3: null !default;// link h1-h2 hover/focus color +$cg: null !default;// ins green, success +$cr: null !default;// del red, errors +$light: colors.color($color,false,$f1,$f2,$c1,$c2,$c3,$c4,$a1,$a2,$a3,$cg,$cr); + +/// Dark Syntax Colors +$h0d: null !default;// background color +$h1d: null !default;// unstyled text +$h2d: null !default;// comments +$h3d: null !default;// red, support function +$h4d: null !default;// orange, punctuation, constant, variable, json-key +$h5d: null !default;// tan, entity/function name +$h6d: null !default;// green, string +$h7d: null !default;// teal, escape character +$h8d: null !default;// blue, declaration, tag, property +$h9d: null !default;// purple, operators +$had: null !default;// mark/highlight line +$syntax-dark: colors-syntax.color($color-syntax,true,$h0d,$h1d,$h2d,$h3d,$h4d,$h5d,$h6d,$h7d,$h8d,$h9d,$had); + +/// Light Syntax Colors +$h0: null !default;// background colorq +$h1: null !default;// unstyled text +$h2: null !default;// comments +$h3: null !default;// red, support function +$h4: null !default;// orange, punctuation, constant, variable, json-key +$h5: null !default;// tan, entity/function name +$h6: null !default;// green, string +$h7: null !default;// teal, escape character +$h8: null !default;// blue, declaration, tag, property +$h9: null !default;// purple, operators +$ha: null !default;// mark/highlight line +$syntax-light: colors-syntax.color($color-syntax,false,$h0,$h1,$h2,$h3,$h4,$h5,$h6,$h7,$h8,$h9,$ha); + +/// These lines find the spot at which to insert your appended fonts. +//$findFont-Main : "Segoe UI"; // ← append custom MAIN font(s) AFTER this +//$findFont-Code : "Segoe UI Mono";// ← append custom CODE font(s) AFTER this +$findFont-Main : null !default; +$findFont-Code : null !default; + +/// These lines specify the fonts to add. +//$fontExt-Main : (ExampleFont1, "Example Font 2");// MAIN font(s) to add +//$fontExt-Code : (ExampleCode1, "Example Code 2");// CODE font(s) to add +$fontExt-Main : null !default; +$fontExt-Code : null !default; + +$font: Roboto system-ui -apple-system BlinkMacSystemFont "Segoe UI" Oxygen Ubuntu Cantarell "Fira Sans" "Droid Sans" "Helvetica Neue" "Noto Sans" Helvetica Arial sans-serif !default; +$font-mono: ui-monospace Menlo Monaco Consolas "SF Mono" "Cascadia Mono" "Segoe UI Mono" "DejaVu Sans Mono" "Liberation Mono" "Roboto Mono" "Oxygen Mono" "Ubuntu Monospace" "Ubuntu Mono" "Source Code Pro" "Fira Mono" "Droid Sans Mono" "Courier New" Courier monospace !default; + +/// Enable <header>, <main>, <footer> inside <body> as a container +$enable-semantic-container: true !default; + +/// Enable responsive typography, Fixed root element size if disabled +$enable-responsive-typography: true !default; + +/// Enable responsive spacings for <header>, <main>, <footer>, <section> +$enable-responsive-spacings: false !default; + +/// Enable a centered viewport for <header>, <main>, <footer> inside <body> +/// This option will only work if $enable-maxwidth: false +$enable-viewport: false !default; + +/// xs: Extra small (portrait phones) +/// sm: Small(landscape phones) +/// md: Medium(tablets) +/// lg: Large(desktops) +/// xl: Extra large (large desktops) + +/// Breakpoints +$breakpoints: ( + /// 'null' disable the breakpoint + xs: 0, + sm: 576px, + md: 768px, + lg: 992px, + xl: 1200px +) !default; + +/// Viewports +$viewports: ( + /// 'null' disable the viewport on a breakpoint + sm: 510px, + md: 700px, + lg: 920px, + xl: 1130px +) !default; + +$document: true !default;//Content-box & Responsive typography +$typography: true !default;//a, headings, p, ul, blockquote +$sectioning: true !default;//responsive Container, header, main, footer +$nav: true !default;//Horizontal Navigation at top of page +$embedded: true !default;//Embedded content, iframe, video, images, etc. +$table: true !default;//table specific elements +$code: true !default;//codeblocks, code, pre, kbd +$hr: true !default;//Horizontal Rule +$scroller: true !default;//Horizontal scroller (<figure>) +$button: true !default;//Form elements (button) +$form: true !default;//Form elements (non-button) +$top: true !default;//back to top button using CSS +$search: true !default;//search feature +$toc: true !default;//Table of Contents, page index / recent posts block +$zola: true !default;//Zola Specific +$imgswap: true !default;//Image Swap on hover/click +$misc: false !default; +$grid: false !default;//Infinity Grid, column based layouts. +$syntax: true !default;//syntax highlighting for code blocks + +/****************************************************************************** + * Root element + *****************************************************************************/ +@mixin root { + // Spacings + --s1: .5rem; + --s2: 1rem; + --rc: .5rem; //radius corners + + // Borders + --br: 0.25rem; //border radius + --bw: 0.0625rem; //border width + --ow: 0.1875rem; //outline width + + --fs: 1rem; //font-size + --lh: 1.5; //line-height + --lhh: 1.2; //line-height headers + --fw: 400; //font-weight + --fh: 700; //font-weight h1-h6 + + // Responsive typography + @if $enable-responsive-typography { + @if map-get($breakpoints, "sm") { + @media (min-width: map-get($breakpoints, "sm")) { + --fs: 1rem; + } + } + @if map-get($breakpoints, "md") { + @media (min-width: map-get($breakpoints, "md")) { + --fs: 1.04rem; + } + } + @if map-get($breakpoints, "lg") { + @media (min-width: map-get($breakpoints, "lg")) { + --fs: 1.08rem; + } + } + @if map-get($breakpoints, "xl") { + @media (min-width: map-get($breakpoints, "xl")) { + --fs: 1.12rem; + } + } + } + + // Responsives spacings + @if $enable-responsive-spacings { + // Sectionning + header, main, footer, + section { + @if map-get($breakpoints, "sm") { + @media (min-width: map-get($breakpoints, "sm")) { + --s1: .5rem; + } + } + @if map-get($breakpoints, "md") { + @media (min-width: map-get($breakpoints, "md")) { + --s1: .6rem; + } + } + @if map-get($breakpoints, "lg") { + @media (min-width: map-get($breakpoints, "lg")) { + --s1: .7rem; + } + } + @if map-get($breakpoints, "xl") { + @media (min-width: map-get($breakpoints, "xl")) { + --s1: .8rem; + } + } + } + } +} + +@mixin font { + // convert space separated list to comma separated list + $font: list.join($font, "", $separator: comma); + $font: functions.remove($font, ""); + $font-mono: list.join($font-mono, "", $separator: comma); + $font-mono: functions.remove($font-mono, ""); + + $font: functions.font-var($font, $fontExt-Main, $findFont-Main); + $font-mono: functions.font-var($font-mono, $fontExt-Code, $findFont-Code); + + #{--ff}: $font; + #{--fm}: $font-mono;//code } -@media (prefers-color-scheme: light) { + +@if $abridgeMode == "auto" { :root { - --f1: #444;// Font Color Primary - --f2: #333;// Font color Headers - --c1: #fff;// Background Color Primary - --c2: #eee;// Background Color Secondary - --c3: #ddd;// Table Rows, Block quote edge, Borders - --c4: #677;// Disabled Buttons, Borders, mark background - --a1: #c40;// link color - --a2: #e60;// link hover/focus color - --a3: #f90;// link h1-h2 hover/focus color - --cg: #373; // ins green, success - --cr: #d33; // del red, errors + @include font; + @include root; + @include colors.dark($dark...); + @if $syntax { + @if $syntax-mode == "light" { + @include colors-syntax.synlight($syntax-light...); + } @else { + @include colors-syntax.syndark($syntax-dark...); + } + } + } + @media (prefers-color-scheme: light) { + :root { + @include colors.light($light...); + @if $syntax { + @if $syntax-mode == "auto" { + @include colors-syntax.synlight($syntax-light...); + } + } + } + } +} @else if $abridgeMode == "dark" { + :root { + @include font; + @include root; + @include colors.dark($dark...); + @if $syntax { + @include colors-syntax.syndark($syntax-dark...); + } + } +} @else if $abridgeMode == "light" { + :root { + @include font; + @include root; + @include colors.light($light...); + @if $syntax { + @include colors-syntax.synlight($syntax-light...); + } + } +} @else {//switcher (default) + :root { + @include font; + @include root; + @if $syntax { + @if $syntax-mode == "light" { + @include colors-syntax.synlight($syntax-light...); + } @else if $syntax-mode == "dark" { + @include colors-syntax.syndark($syntax-dark...); + } + } + } + :root:not(.switch) { + @if $switcherDefault == "light" { + @include colors.dark($light...); + } @else { + @include colors.dark($dark...); + } + @if $syntax { + @if $syntax-mode == "auto" { + @include colors-syntax.syndark($syntax-dark...); + } + } + } + :root.switch { + @if $switcherDefault == "light" { + @include colors.dark($dark...); + } @else { + @include colors.dark($light...); + } + @if $syntax { + @if $syntax-mode == "auto" { + @include colors-syntax.synlight($syntax-light...); + } + } + } +} + + +/****************************************************************************** + * Optional SCSS Blocks + *****************************************************************************/ +@if $document { + // Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border` + *, + *::before, + *::after { + box-sizing: border-box; // 1 + } + + // 1. Add text decoration inheritance in all browsers (opinionated) + // 2. Add vertical alignment inheritance in all browsers (opinionated) + //::before, + //::after { + // text-decoration: inherit; // 1 + // vertical-align: inherit; // 2 + //} + + // 1. Correct the line height in all browsers + // 2. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS + // 3. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS + // 4. Change the default tap highlight to be completely transparent in iOS + // 5. Use the default cursor in all browsers (opinionated) + // 6. Use a 4-space tab width in all browsers (opinionated) + html { + text-rendering: optimizeLegibility; + background-color: var(--c1); + color: var(--f1); + font-family: var(--ff); + font-weight: var(--fw); + font-size: var(--fs); + line-height: var(--lh); // 1 + // -ms-text-size-adjust: 100%; // 2 + // -webkit-text-size-adjust: 100%; // 3 + // -webkit-tap-highlight-color: rgba(0, 0, 0, 0); // 4 + // cursor: default; // 5 + // tab-size: 4; // 6 + } +} +@if $typography { + .c { + text-align: center;// The <center> does not pass validation, use: <div class="c"></div> + } + h1, + h2, + h3, + h4, + h5, + h6 { + padding-left: 0; + color: var(--f2); + margin-bottom: var(--s1); + margin-top: var(--s2); + font-weight: var(--fh); + font-size: var(--fs); + line-height: var(--lhh); + } + h1 { + font-size: 2rem; + } + h2 { + font-size: 1.75rem; + } + h3 { + font-size: 1.5rem; + } + h4 { + font-size: 1.25rem; + } + h5 { + font-size: 1.125rem; + } + header h1 { + margin-top: 0; + } + a { + color: var(--a1); + text-decoration: none; + } + a:hover { + color: var(--a2); + text-decoration: underline; + } + h1 a, h2 a, main nav a, nav > div > a { + color: var(--f2); + text-decoration: none; + &:hover { + color: var(--a3); + text-decoration: none; + } + } + article { + padding-bottom: .2rem; + } + + // Abbreviations + // 1. Remove underline decoration in Chrome, Edge, IE, Opera, and Safari + abbr[title] { + border-bottom: var(--bw) dotted; + text-decoration: none; // 1 + cursor: help; + } + + // Highlighted text + mark { + background-color: var(--c4); + color: var(--c1); + vertical-align: baseline; + padding: .1rem .4rem; + } + blockquote { + margin-left: 0; + padding: .5rem 0 .5rem 1.5rem; + border-left: .25rem solid var(--c3); + } + blockquote > :last-child { + margin-bottom: 0; + } + small { + font-size: .875rem; + } + + .footnote-definition sup, .footnote-definition p { + display: inline; + } + // Prevent sub and sup elements from affecting the line height in all browsers. + sub, + sup { + font-size: .75em; + line-height: 0; + position: relative; + vertical-align: baseline; + } + sub { + bottom: -.25em; + } + sup { + top: -.5em; + } + + address, + blockquote, + dl, + figure, + form, + ol, + p, + pre, + table, + ul { + margin: .7rem 0; + color: var(--f1); + font-style: normal; + font-weight: var(--fw); + font-size: var(--fs); + } + + // Lists + ul, + ol { + padding-right: 0; + padding-left: var(--s2); + } + li { + margin-bottom: var(--s1); + } + + ul li { + list-style: square; + } + + // Ins + ins { + color: var(--cg); + text-decoration: none; + } + + // del + del { + color: var(--cr); + } +} +@if $sectioning { + // https://github.com/picocss/pico + // Render the `main` element consistently in IE + main { + display: flex; + // should always have a single div that holds all content below main. + // TOC or Recent Posts are the only other sections that would be directly under main. + article, div { + flex: 1 1 0; + min-width: 0; + } + } + + body { + width: 100%; + margin: 0; + } + + header, + main, + footer { + width: 100%; + margin-right: auto; + margin-left: auto; + + // Semantic container + @if $enable-semantic-container { + padding: var(--s1); + + // Centered viewport max-width only + @if $enable-maxwidth { + @media (min-width: $mb) { + min-width: $mb; + max-width: $mw; + } + } + // Centered viewport + @else if $enable-viewport { + @if map-get($breakpoints, "sm") and $enable-viewport { + @media (min-width: map-get($breakpoints, "sm")) { + max-width: map-get($viewports, "sm"); + //padding-right: 0; + //padding-left: 0; + .toc { + display: none; + } + } + } + @if map-get($breakpoints, "md") and $enable-viewport { + @media (min-width: map-get($breakpoints, "md")) { + max-width: map-get($viewports, "md"); + } + } + @if map-get($breakpoints, "lg") and $enable-viewport { + @media (min-width: map-get($breakpoints, "lg")) { + max-width: map-get($viewports, "lg"); + } + } + @if map-get($breakpoints, "xl") and $enable-viewport { + @media (min-width: map-get($breakpoints, "xl")) { + max-width: map-get($viewports, "xl"); + } + } + } + } + // Semantic container + @else { + padding: var(--s1) 0; + } + } + header, main { + padding-top: 0; + margin-top: 0; + padding-bottom: 0; + margin-bottom: 0; + hr { + margin:0.1rem 0; + } + } + footer{ + line-height: var(--lhh); + hr, p { + margin: 0.2rem 0; + } + } +} +@if $nav { + //https://github.com/raj457036/attriCSS + .on, + .on:visited {//pagination link styling + font-weight: var(--fh); + border: .1rem solid var(--c4); + border-radius: var(--br); + padding: .1rem var(--s1); + } + .on:hover {//makes border of pagination links hover color + border-color: var(--a3); + .svgh { + background: var(--a3); + opacity: 1; + } + } + nav > div > a, header i, header .dropdown { + margin-right: .2rem; + vertical-align: middle; + font-weight: var(--fh); + } + main nav {//pagination + a,span { + margin: .2rem; + } + } + article nav {//prev/next page title + div:last-child { + text-align: right; + } + } + footer nav > a { + margin: .2rem; + } + header > nav > div:first-of-type {//Keep the logo from wrapping + display: inline; + min-width: fit-content; + padding-right: var(--s1);//add some spacing between nav divs + } + header > nav > div:nth-child(2) {//puts logo on left and menu/search on right + margin-left: auto; + padding-right: var(--s1);//add some spacing between nav divs + } + // mobile first layout. + header nav { + flex-direction: column;// column layout for mobile view + h1 { + margin: var(--s2) 0 var(--s1);//adds more padding above for mobile view + } + div { + margin: auto; // keeps top menu/search centered in mobile view + } + } + nav > div { + margin: var(--s1) 0; + } + nav { + align-items: center; + justify-content: center;//center pagination horizontally + display: flex; + div h2 { + font-size: 1rem; + &:hover { + color: var(--a3); + } + } + h1 { + margin-bottom: 0; + margin-top: 0.2rem; + } + } + main nav { + margin-top: var(--s2);//pagination margin + } + .outp { + padding: 0 .26rem .2rem; + } + .off { + color: var(--c4); + font-weight: var(--fh); + border: .1rem solid var(--c3); + border-radius: var(--br); + .svgh { + background: var(--c3); + opacity: 1; + } + } + .on { + font-weight: var(--fh); + border: .1rem solid var(--c4); + border-radius: var(--br); + } + .mode:hover, .cnav { + color: var(--a1);//pagination color current page + } + footer nav { + i { + margin: 0 .2rem .4rem; + } + } + //dropdown menu used for lang, etc. + .dropdown { + display: inline-block; + position: relative; + z-index: 99; + font-weight: var(--fh); + font-size: 1.4rem; + } + .dropdown-content { + display: none; + position: absolute; + z-index: 99; + font-weight: var(--fh); + font-size: 1.4rem; + } + .dropdown:hover .dropdown-content { + display: block; + z-index: 99; + a { + text-decoration: none; + } + } + // breakpoint makes header responsive for desktop layouts + // mobile first is min-width for desktop instead of max-width for mobile + @if map-get($breakpoints, "md") { + @media (min-width: map-get($breakpoints, "md")) { + header > nav > div { + margin: var(--s1) 0;// desktop layout + } + header nav { + flex-direction: row;// row layout for desktop view + h1 { + margin: var(--s1) 0;// desktop layout + } + } + } + } +} +@if $embedded { + .yvi {//youtube and vimeo iframe + position: absolute; + top: 0; + left: 0; + } + .yv {//youtube and vimeo div + position: relative; + padding-bottom: 56.25%; + height: 0; + overflow: hidden; + } + img, + video, + svg { + max-width: 100%; + height: auto; + } + embed, + iframe, + object { + max-width: 100%; + } + iframe { + border-style: none; + width: 100%; + height: 100%; + border: 0; + overflow: hidden; + } +} +@if $table { + table { + border-collapse: collapse; + width: 100%; + text-indent: 0; // Remove text indentation from table contents in Chrome, Edge, and Safari. + caption { + margin-bottom: .5rem; + } + } + tr { + border-bottom: var(--bw) solid var(--c3); + } + td, + th { + padding: var(--s1); + } + th { + text-align: left; + } + // Striped + tbody tr:nth-child(even) { + background-color: var(--c2); + } + thead tr { + border-top: var(--bw) solid var(--c3); + background-color: var(--c2); + } +} +@if $code { + pre, + code, + kbd, + samp, + tt, + var { + border-radius: var(--br); + background: var(--c2); + font-family: var(--fm); + line-height: initial; + font-size: .8rem; + padding: .3rem .2rem; + } + pre { + position: relative; + padding: 2rem .5rem .3rem; + display: block; + overflow-x: auto; + -ms-overflow-style: scrollbar; + white-space: pre; + > code { + display: block; + background: transparent; + } + } + + // kbd + kbd { + background-color: var(--f2); + color: var(--c1); + vertical-align: baseline; + font-size: 1rem; + padding: .2rem; + } +} +@if $hr { + // https://github.com/picocss/pico + hr { + box-sizing: content-box; // Add the correct box sizing in Firefox + height: 0; // Add the correct box sizing in Firefox + overflow: visible; // Show the overflow in Edge and IE + border: none; + border-top: 1px solid var(--f1); + } + header hr, footer hr {border-top: 1px solid var(--c4)} +} +@if $scroller { + // https://github.com/picocss/pico + // Wrapper to make any content responsive across all viewports + figure { + display: block; + margin: 0; + padding: 0; + overflow-x: auto; + + figcaption { + padding: var(--s1) 0; + color: var(--c4); + } + } +} +@if $button { + button, + input, + select, + textarea { + margin: 0; + padding: .2rem var(--s1); + max-width: 100%; + background: var(--c2); + border: 0; + border-radius: .25rem; + font: inherit; + line-height: var(--fs); + color: var(--f1); + } + button.del { + color: var(--cr); + } + button, + [type="button" i], + [type="submit" i], + [type="reset" i] { + //-webkit-appearance: button; + display: inline-block; + text-align: center; + white-space: nowrap; + //background: var(--c2); + color: var(--f1); + border: 0; + cursor: pointer; + transition: opacity .25s; + } + button:hover, + [type="button" i]:hover, + [type="submit" i]:hover, + [type="reset" i]:hover { + opacity: .75; + } + button[disabled], + [type="button" i][disabled], + [type="submit" i][disabled], + [type="reset" i][disabled] { + opacity: .5; + } +} +@if $form { + fieldset { + padding: .5rem .75rem; + border: var(--bw) solid var(--c3); + border-radius: .25rem; + } + legend { + padding: 0 .25rem; + } + label { + cursor: pointer; + display: block; + margin-bottom: .25rem; + } + select, + input:not([size]), input:not([type="button" i]), input:not([type="submit" i]), input:not([type="reset" i]), input:not([type="checkbox" i]), input:not([type="radio" i]) { + width: 100%; + } + [type="color" i] { + min-height: 2.125rem; + } + select:not([multiple]):not([size]) { + padding-right: 1.5rem; + background-repeat: no-repeat; + background-position: right .5rem center; + -moz-appearance: none; + -webkit-appearance: none; + appearance: none; + } + textarea { + width: 100%; + resize: vertical; + } + textarea:not([rows]) { + height: 8rem; + } +} +@if $top { + .topout { + position: sticky; + bottom: 1px; + padding: 20px; + place-self: end; + margin-top: 110vh; + pointer-events: none; + } + .topleft { + margin-left: calc(100% - 80px); + } + .top { + pointer-events: all; + padding: 9px; + border-radius: 9px; + font-weight:700; + color: var(--a1); + background: var(--c2); + } + .top:hover { + text-decoration: none; + color: var(--c2); + background: var(--a1); + .svgh { + background: var(--c2); + opacity: 1; + } + } +} +@if $search { + div:empty { + display: none; + } + .stork-close-button { + display: none; + } + .stork-title p { + color: var(--a1); + font-weight: var(--fh); + } + #suggestions { + z-index: 9; + background: var(--c1); + border: 2px solid var(--c3); + position: static; + left: 0; + width: 100%; + margin-top: var(--s1); + max-height: 500px; + overflow: auto; + } + #suggestions a, #results a { + display: block; + text-decoration: none; + padding: var(--s1); + margin: 0 var(--s1); + } + #suggestions a:hover, + #suggestions a:focus, + #results a:hover, + #results a:focus { + background: var(--c2); + } + #suggestions span, #results span { + line-height: 1.5; + display: block; + } + #suggestions span:first-child, #results span:first-child { + font-weight: var(--fh); + } + #suggestions span:nth-child(2), #results span:nth-child(2) { + color: var(--f1); + } + .results {//parent div of suggestions div + display: block; + position: relative; + width: 100%; + } + .searchd { + display: flex; + align-items: center; + white-space: nowrap; + } + .searchd > input { + max-width: 100%; + flex-grow: 1; + padding-right: 1rem;//inlayed search icon + } + .searchd > button {//inlayed search icon + position: relative; + left: -1rem; + margin-left: -1rem; + } + // mobile first is min-width for desktop instead of max-width for mobile + @if map-get($breakpoints, "md") { + @media (min-width: map-get($breakpoints, "md")) { + .searchd > input { + max-width: 15.3rem; + flex-grow: 0; + } + #suggestions { + position: absolute; + right: 0; + left: unset; + width: 500px; + } + } + } +} +@if $toc { + main { + .toc { + max-width: 15rem; + min-width: 14rem; + margin-left: var(--s1); + } + .toc-item { + padding: .4rem 0; + color: var(--f1); + } + .toc-item a, .toc-item-child a { + color: var(--f1); + &:hover { + cursor: pointer; + color: var(--a2); + text-decoration: underline; + } + } + .toc-item a.active, .toc-item-child a.active { + color: var(--a2); + } + .toc-item-child { + padding: 0 var(--s1); + color: var(--f1); + } + } + .toc { + display: none; + } + .toc-sticky { + border-radius: var(--br); + border-top: 5px solid var(--a1); + background-color: var(--c2); + position: sticky; + top: var(--s2); + margin-top: var(--s2); + padding: 0 var(--s2) var(--s2); + max-height: 100vh; + overflow: auto; + } + @if map-get($breakpoints, "md") { + // mobile first is min-width for desktop instead of max-width for mobile + @media (min-width: map-get($breakpoints, "md")) { + .toc { + display: unset; + } + } + } +} +@if $zola { + .sum, .sum p {margin: .2rem 0} + .s95 {font-size: .95em} + .s90 {font-size: .90em} + .s85 {font-size: .85em} + .s80 {font-size: .80em} + .s75 {font-size: .75em} + .s70 {font-size: .70em} + .hpad {padding: 0 .2rem} + .rpad {padding-right: .2rem} + .si {font-size: 1.5em} + pre code[data-lang]::before { + content: attr(data-lang); + padding: .3rem; + display: block; + background-color: var(--c3); + color: var(--h1); + width: 100%; + position: absolute; + top: 0; + left: 0; + padding-left: 1rem; + text-transform: uppercase; + } + // code copy button + .cc { + cursor: pointer; + z-index: 9; + position: absolute; + top: .2rem; + right: .5rem; + } + .cc:hover { + background: var(--a3); + opacity: 1; + } + // Table Override, this is used for Zola's linenos and hl_lines + code { + table { + font-size: .8rem; + margin: 0; + // Highlighted text + color: var(--h1); + mark { + display: block; + color: unset; + padding: 0; + background-color: var(--h0); + filter: brightness(var(--ha)); + } + } + td, th, tr { + padding: 0; + border-bottom: none; + } + tbody td:first-child { + text-align: center; + user-select: none; + min-width: 60px; + } + tbody tr:nth-child(even), thead tr { + background-color: unset; + } + } +} +@if $imgswap { + .img-swap-div { + .img-main { + display: block; + } + .img-swap { + display: none; + } + &:hover .img-swap { + display: block; + } + &:hover .img-main { + display: none; + } + } +} +@if $misc { + // https://github.com/picocss/pico + // Add the correct display in IE 10+ + [hidden], + template { + display: none; + } + + // Add the correct display in IE 9- + canvas { + display: inline-block; + } +} +@if $grid { + // https://github.com/vladocar/Basic.css + [style*="--c:"], section>section { + color: var(--f2); + padding: var(--s1); + margin: var(--s1); + text-align: center; + } + section { + display: flex; + flex-flow: row wrap; + } + [style*="--c:"], section>section { + flex:var(--c,1); + margin:var(--s1); + } +} +@if $enable-icons { + @if $icon-adjust {.adjust { -webkit-mask: functions.icon(adjust, "none", 1, "%23000", $ic) ; background: var(--f2) }}//theme switcher + @if $icon-angl {.angl { -webkit-mask: functions.icon(angl, "%23000", 3, "none", $ic) ; background: var(--f2) }}//angle left + @if $icon-angll {.angll { -webkit-mask: functions.icon(angll, "%23000", 3, "none", $ic) ; background: var(--f2) }}//angle left left + @if $icon-angr {.angr { -webkit-mask: functions.icon(angr, "%23000", 3, "none", $ic) ; background: var(--f2) }}//angle right + @if $icon-angrr {.angrr { -webkit-mask: functions.icon(angrr, "%23000", 3, "none", $ic) ; background: var(--f2) }}//angle right right + @if $icon-angu {.angu { -webkit-mask: functions.icon(angu, "%23000", 3, "none", $ic) ; background: var(--f2) }}//angle up + @if $icon-copy {//copy icons for code blocks + .copy { -webkit-mask: functions.icon(copy, "%23000", 2, "none", $ic) ; background: var(--f2) } + .copy.yes { -webkit-mask: functions.icon(copy-yes, "%23000", 2, "none", $ic) ; background: var(--f2) } + .copy.err { -webkit-mask: functions.icon(copy-err, "%23000", 2, "none", $ic) ; background: var(--f2) } + } + @if $icon-search {.search { -webkit-mask: functions.icon(search, "%23000", 3, "none", $ic) ; background: var(--f2) }}//search + @if $icon-bitbucket {.bitbucket { background-image: functions.icon(bitbucket, "%2328f", 2, "none", $ic) }} + @if $icon-buymeacoffee {.buymeacoffee { background-image: functions.icon(buymeacoffee, "%23777", 1, "%23fd0", $ic) }} + @if $icon-check {.check { background-image: functions.icon(check, "%23888", 2, "none", $ic) }} + @if $icon-chevron {.chevron { background-image: functions.icon(chevron, "%23888", 2, "none", $ic) }} + @if $icon-clock {.clock { background-image: functions.icon(clock, "%23888", 2, "none", $ic) }} + @if $icon-codeberg {.codeberg { background-image: functions.icon(codeberg, "%23555", 2, "%23aaa", $ic) }} + @if $icon-date {.date { background-image: functions.icon(date, "%23888", 2, "none", $ic) }} + @if $icon-discord {.discord { background-image: functions.icon(discord, "none", 1, "%2356f", $ic) }} + @if $icon-docker {.docker { background-image: functions.icon(docker, "%2329e", 2, "none", $ic) }} + @if $icon-element {.element { background-image: functions.icon(element, "none", 1, "%231c8", $ic) }} + @if $icon-facebook {.facebook { background-image: functions.icon(facebook, "%23359", 2, "none", $ic) }} + @if $icon-folder {.folder { background-image: functions.icon(folder, "%23888", 2, "none", $ic) }} + @if $icon-github {.github { background-image: functions.icon(github, "%23888", 2, "none", $ic) }} + @if $icon-github-sponsor {.github-sponsor { background-image: functions.icon(github-sponsor, "%23c49", 2, "none", $ic) }} + @if $icon-gitlab {.gitlab { background-image: functions.icon(gitlab, "%23e62", 2, "none", $ic) }} + @if $icon-globe {.globe { background-image: functions.icon(globe, "%23888", 2, "none", $ic) }} + @if $icon-home {.home { background-image: functions.icon(home, "%23888", 2, "none", $ic) }} + @if $icon-instagram {.instagram { background-image: functions.icon(instagram, "%23e07", 2, "none", $ic) }} + @if $icon-kofi {.kofi { background-image: functions.icon(kofi, "%23888", 1.5, "%23f55", $ic) }} + @if $icon-linkedin {.linkedin { background-image: functions.icon(linkedin, "%2326a", 2, "none", $ic) }} + @if $icon-mail {.mail { background-image: functions.icon(mail, "%23888", 2, "none", $ic) }} + @if $icon-mastodon {.mastodon { background-image: functions.icon(mastodon, "none", 1, "%2328c", $ic) }} + @if $icon-matrix {.matrix { background-image: functions.icon(matrix, "%23888", 2, "none", $ic) }} + @if $icon-minus {.minus { background-image: functions.icon(minus, "%23888", 2, "none", $ic) }} + @if $icon-moon {.moon { background-image: functions.icon(moon, "%23888", 2, "none", $ic) }} + @if $icon-pinterest {.pinterest { background-image: functions.icon(pinterest, "%23b01", 2, "none", $ic) }} + @if $icon-python {.python { background-image: functions.icon(python, "%23fc1", 2, "%2326a", $ic) }} + @if $icon-researchgate {.researchgate { background-image: functions.icon(researchgate, "none", 2, "%230db", $ic) }} + @if $icon-rss {.rss { background-image: functions.icon(rss, "%23e94", 2, "none", $ic) }} + @if $icon-stack {.stack { background-image: functions.icon(stack, "%23e72", 2, "none", $ic) }} + @if $icon-sun {.sun { background-image: functions.icon(sun, "%23888", 2, "none", $ic) }} + @if $icon-tag {.tag { background-image: functions.icon(tag, "%23888", 2, "none", $ic) }} + @if $icon-twitch {.twitch { background-image: functions.icon(twitch, "%23a7f", 2, "none", $ic) }} + @if $icon-twitter {.twitter { background-image: functions.icon(twitter, "%232ad", 2, "none", $ic) }} + @if $icon-x {.x { background-image: functions.icon(x, "%23f00", 3, "none", $ic) }} + @if $icon-youtube {.youtube { background-image: functions.icon(youtube, "%23f00", 2, "none", $ic) }} + .svg { + width: 1.8rem; + height: 1.8rem; + display: inline-block; + //overflow: hidden; + text-align: center; + vertical-align: middle; + } + .svgs { + width: var(--fs); + height: var(--fs); + display: inline-block; + //overflow: hidden; + text-align: center; + vertical-align: middle; + } + .fa-a:hover { + color: var(--a3); + opacity: 1; + } +} +@if $syntax { + // Unstyled Text Color, and background color + .z-code { + color: var(--h1);//#ccc + background-color: var(--h0); + } + // This is a comment + .z-comment {//, .z-punctuation.z-definition.z-comment + color: var(--h2);//#888 + font-style: italic; + } + // a (int a;) + .z-variable { + color: var(--h1); + } + // "This is a string" + .z-string {//, .z-constant.z-other.z-symbol + color: var(--h6); + } + // 10 (a = 10;) + .z-constant.z-numeric { + color: var(--h4); + } + // /n + .z-constant.z-character.z-escape {//, .z-string.z-regexp + color: var(--h7); + } + // false, true, etc... + .z-constant.z-language { + color: var(--h4); + } + // BUF (const BUF: usize = 10 * 1024;) + .z-constant.z-other {//, .z-constant.z-character + color: var(--h4); + } + // Figure out how to reproduce in code block otherwise don't include + //.z-variable.z-member { + // color: var(--h3); + //} + // use, crate, let, etc. + .z-keyword {//, .z-keyword.z-operator.z-word + color: var(--h8); + } + // = * - + / + .z-keyword.z-operator { + color: var(--h9); + } + // separators: commas, colons, etc. terminator: endline semicolon, etc. + .z-punctuation.z-separator, .z-punctuation.z-terminator { + color: var(--h1); + } + // () [] {} + .z-punctuation.z-section { + color: var(--h1); + } + // . :: + .z-punctuation.z-accessor { + color: var(--h4); + } + // # (#[cfg(test)]) + .z-punctuation.z-definition.z-annotation { + color: var(--h1); + } + // Figure out how to reproduce in code block otherwise don't include + //.z-variable.z-other.z-dollar.z-only.z-js, .z-variable.z-other.z-object.z-dollar.z-only.z-js, .z-variable.z-type.z-dollar.z-only.z-js, .z-support.z-class.z-dollar.z-only.z-js { + // color: var(--h6); + //} + // const, pub, mut, Self, fn + .z-storage { + color: var(--h8); + } + // const, struct + .z-storage.z-type { + color: var(--h8); + } + // new, function names + .z-entity.z-name.z-function { + color: var(--h5); + } + // key in toml entries + .z-entity.z-name {//, .z-entity.z-name.z-label + color: var(--h5); + } + // Figure out how to reproduce in code block otherwise don't include + //.z-entity.z-other.z-inherited-class { + // color: var(--h8); + // text-decoration: underline; + //} + // v1 (fn lookup(v1)) + .z-variable.z-parameter { + color: var(--h4); + } + // self (self.html.push(c)) + .z-variable.z-language { + color: var(--h5); + font-style: italic; + } + // html tag name, eg: html, head, meta, title, body, etc. + .z-entity.z-name.z-tag {//, .z-meta.z-tag.z-sgml + color: var(--h8); + } + // html tag brackets <> + .z-punctuation.z-definition.z-tag.z-end, .z-punctuation.z-definition.z-tag.z-begin, .z-punctuation.z-definition.z-tag { + color: var(--h8); + } + // html attribute name, eg: lang, charset + .z-entity.z-other.z-attribute-name { + color: var(--h5); + } + // function name as variable value, and annotation: derive (#[derive(Debug)]) + .z-variable.z-function, .z-variable.z-annotation { + color: var(--h5); + } + // support function, eg: extend (self.html.extend(b"<span");) + // macros, eg: println! print! format! + .z-support.z-function, .z-support.z-macro { + color: var(--h3); + } + // Figure out how to reproduce in code block otherwise don't include + //.z-support.z-constant { + // color: var(--h4); + // font-style: italic; + //} + // type: Vec, Some, str, int + // class: Config ($CONF = Config::getInstance()->getAll();) + .z-support.z-type, .z-support.z-class { + color: var(--h8); + font-style: italic; + } + // Figure out how to reproduce in code block otherwise don't include + //.z-source.z-ruby .z-variable.z-other.z-readwrite { + // color: var(--h5); + //} + // superfluous, already have .z-entity.z-name.z-tag + //.z-source.z-css .z-entity.z-name.z-tag, .z-source.z-sass .z-entity.z-name.z-tag, .z-source.z-scss .z-entity.z-name.z-tag, .z-source.z-less .z-entity.z-name.z-tag, .z-source.z-stylus .z-entity.z-name.z-tag { + // color: var(--h8); + //} + // property name, eg css: font-size, text-align, etc. + .z-support.z-type.z-property-name { + color: var(--h8); + } + //json + .z-key.z-json { + color: var(--h4); } + // Figure out how to reproduce in code block otherwise don't include + //.z-constant.z-numeric.z-line-number.z-match { + // color: var(--h8); + //} + // Figure out how to reproduce in code block otherwise don't include + //.z-entity.z-name.z-filename.z-find-in-files { + // color: var(--h6); + //} + // Figure out how to reproduce in code block otherwise don't include + //.z-message.z-error { + // color: var(--h3); + //} + // Figure out how to reproduce in code block otherwise don't include + //.z-string.z-other.z-link, .z-markup.z-underline.z-link { + // color: var(--h7); + // text-decoration: underline; + // font-style: italic; + //} + // Figure out how to reproduce in code block otherwise don't include + //.z-punctuation.z-definition.z-image { + // color: var(--h5); + //} + // Figure out how to reproduce in code block otherwise don't include + //.z-meta.z-separator { + // color: var(--h1); + // background-color: var(--h1); + // font-weight: bold; + //} + // Figure out how to reproduce in code block otherwise don't include + //.z-markup.z-list.z-numbered.z-bullet, .z-markup.z-list .z-punctuation.z-definition.z-list_item { + // color: var(--h7); + //} + // Figure out how to reproduce in code block otherwise don't include + //.z-text.z-html.z-markdown .z-markup.z-raw.z-inline { + // color: var(--h4); + //} + // Figure out how to reproduce in code block otherwise don't include + //.z-text.z-html.z-markdown .z-meta.z-dummy.z-line-break { + // color: var(--h1); + //} + // Figure out how to reproduce in code block otherwise don't include + //.z-markup.z-raw.z-block.z-fenced.z-markdown { + // color: var(--h1); + // background-color: var(--h1); + //} + // Figure out how to reproduce in code block otherwise don't include + //.z-punctuation.z-definition.z-fenced.z-markdown, .z-variable.z-language.z-fenced.z-markdown { + // color: var(--h1); + // background-color: var(--h1); + //} + // Figure out how to reproduce in code block otherwise don't include + //.z-variable.z-language.z-fenced.z-markdown { + // color: var(--h1); + //} } diff --git a/sass/font.scss b/sass/font.scss deleted file mode 100644 index 56d7b54..0000000 --- a/sass/font.scss +++ /dev/null @@ -1,5 +0,0 @@ -//@import "fonts/Abridge"; -@import "fonts/Roboto"; -//@import "fonts/Arimo"; -//@import "fonts/Lato"; -//@import "fonts/FiraCode"; // Monospaced
\ No newline at end of file diff --git a/sass/fonts/_Abridge.scss b/sass/fonts/_Abridge.scss index 3085236..6626626 100644 --- a/sass/fonts/_Abridge.scss +++ b/sass/fonts/_Abridge.scss @@ -1,3 +1,8 @@ +// This is for the Abridge icon font, the css for this is adapted from fontello. +// I experimented using this, it is still here for those that want it, but not used by default. +// It is a pretty lightweight solution, but still not as good as svg icons directly in the css. +// The loading of icon fonts is blocked by noscript type browser addons, but css icons are not. + @font-face { font-family: 'Abridge'; src: url('font/Abridge.woff2') format('woff2'); @@ -23,4 +28,4 @@ .i-last:before { content: '\f101'; } // pagination last page .i-prev:before { content: '\f104'; } // pagination previous page .i-next:before { content: '\f105'; } // pagination next page -.i-up:before { content: '\f106'; } // back to top button
\ No newline at end of file +.i-up:before { content: '\f106'; } // back to top button diff --git a/sass/fonts/_Lato.scss b/sass/fonts/_Lato.scss deleted file mode 100644 index 70c3d49..0000000 --- a/sass/fonts/_Lato.scss +++ /dev/null @@ -1,17 +0,0 @@ -@font-face { - font-family: 'Lato'; - src: local("Lato"), url("font/Lato.woff2");//latin regular - font-display: swap; -} -@font-face { - font-family: 'Lato'; - src: local("Lato-Italic"), url("font/Lato-Italic.woff2");//latin italic - font-style: italic; - font-display: swap; -} -@font-face { - font-family: 'Lato'; - src: local("Lato-Bold"), url("font/Lato-Bold.woff2");//latin bold - font-weight: bold; - font-display: swap; -} diff --git a/sass/fonts/_Roboto-Mono.scss b/sass/fonts/_Roboto-Mono.scss new file mode 100644 index 0000000..0685c3d --- /dev/null +++ b/sass/fonts/_Roboto-Mono.scss @@ -0,0 +1,11 @@ +@font-face { + font-family: 'Roboto Mono'; + src: local("Roboto Mono"), local("Roboto-Mono"), local("RobotoMono"), local("Roboto-Mono-Regular"), local("RobotoMono-Regular"), url("font/Roboto-Mono.woff2");//latin regular + font-display: swap; +} +@font-face { + font-family: 'Roboto Mono'; + src: local("Roboto Mono Italic"), local("Roboto-Mono-Italic"), local("RobotoMono-Italic"), url("font/Roboto-Mono-Italic.woff2");//latin italic + font-style: italic; + font-display: swap; +} diff --git a/sass/include/_button.scss b/sass/include/_button.scss deleted file mode 100644 index d725120..0000000 --- a/sass/include/_button.scss +++ /dev/null @@ -1,44 +0,0 @@ -// Form elements (button) -button, -input, -select, -textarea { - margin: 0; - padding: .2rem var(--s1); - max-width: 100%; - background: var(--c2); - border: 0; - border-radius: .25rem; - font: inherit; - line-height: var(--fs); - color: var(--f1); -} -button.del { - color: var(--cr); -} -button, -[type="button" i], -[type="submit" i], -[type="reset" i] { - //-webkit-appearance: button; - display: inline-block; - text-align: center; - white-space: nowrap; - //background: var(--c2); - color: var(--f1); - border: 0; - cursor: pointer; - transition: opacity .25s; -} -button:hover, -[type="button" i]:hover, -[type="submit" i]:hover, -[type="reset" i]:hover { - opacity: .75; -} -button[disabled], -[type="button" i][disabled], -[type="submit" i][disabled], -[type="reset" i][disabled] { - opacity: .5; -} diff --git a/sass/include/_code.scss b/sass/include/_code.scss deleted file mode 100644 index fd9eb97..0000000 --- a/sass/include/_code.scss +++ /dev/null @@ -1,33 +0,0 @@ -// Code -pre, -code, -kbd, -samp, -tt, -var { - border-radius: var(--br); - background: var(--c2); - font-family: var(--fm); - line-height: initial; - font-size: .8rem; - padding: .3rem .2rem; -} -pre { - display: block; - overflow-x: auto; - -ms-overflow-style: scrollbar; - white-space: pre; - > code { - display: block; - background: transparent; - } -} - -// kbd -kbd { - background-color: var(--f2); - color: var(--c1); - vertical-align: baseline; - font-size: 1rem; - padding: .2rem; -} diff --git a/sass/include/_document.scss b/sass/include/_document.scss deleted file mode 100644 index a5f91db..0000000 --- a/sass/include/_document.scss +++ /dev/null @@ -1,37 +0,0 @@ -// Document: Content-box & Responsive typography - -// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border` -*, -*::before, -*::after { - box-sizing: border-box; // 1 -} - -// 1. Add text decoration inheritance in all browsers (opinionated) -// 2. Add vertical alignment inheritance in all browsers (opinionated) -//::before, -//::after { -// text-decoration: inherit; // 1 -// vertical-align: inherit; // 2 -//} - -// 1. Correct the line height in all browsers -// 2. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS -// 3. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS -// 4. Change the default tap highlight to be completely transparent in iOS -// 5. Use the default cursor in all browsers (opinionated) -// 6. Use a 4-space tab width in all browsers (opinionated) -html { - text-rendering: optimizeLegibility; - background-color: var(--c1); - color: var(--f1); - font-family: var(--ff); - font-weight: var(--fw); - font-size: var(--fs); - line-height: var(--lh); // 1 -// -ms-text-size-adjust: 100%; // 2 -// -webkit-text-size-adjust: 100%; // 3 -// -webkit-tap-highlight-color: rgba(0, 0, 0, 0); // 4 -// cursor: default; // 5 -// tab-size: 4; // 6 -} diff --git a/sass/include/_embedded.scss b/sass/include/_embedded.scss deleted file mode 100644 index 93de17d..0000000 --- a/sass/include/_embedded.scss +++ /dev/null @@ -1,30 +0,0 @@ -// Embedded content -.yvi {//youtube and vimeo iframe - position: absolute; - top: 0; - left: 0; -} -.yv {//youtube and vimeo div - position: relative; - padding-bottom: 56.25%; - height: 0; - overflow: hidden; -} -img, -video, -svg { - max-width: 100%; - height: auto; -} -embed, -iframe, -object { - max-width: 100%; -} -iframe { - border-style: none; - width: 100%; - height: 100%; - border: 0; - overflow: hidden; -} diff --git a/sass/include/_form.scss b/sass/include/_form.scss deleted file mode 100644 index 3087ad6..0000000 --- a/sass/include/_form.scss +++ /dev/null @@ -1,36 +0,0 @@ -// Form elements (non-button) -fieldset { - padding: .5rem .75rem; - border: var(--bw) solid var(--c3); - border-radius: .25rem; -} -legend { - padding: 0 .25rem; -} -label { - cursor: pointer; - display: block; - margin-bottom: .25rem; -} -select, -input:not([size]):not([type="button" i]):not([type="submit" i]):not([type="reset" i]):not([type="checkbox" i]):not([type="radio" i]) { - width: 100%; -} -[type="color" i] { - min-height: 2.125rem; -} -select:not([multiple]):not([size]) { - padding-right: 1.5rem; - background-repeat: no-repeat; - background-position: right .5rem center; - -moz-appearance: none; - -webkit-appearance: none; - appearance: none; -} -textarea { - width: 100%; - resize: vertical; -} -textarea:not([rows]) { - height: 8rem; -} diff --git a/sass/include/_grid.scss b/sass/include/_grid.scss deleted file mode 100644 index 1ced06b..0000000 --- a/sass/include/_grid.scss +++ /dev/null @@ -1,14 +0,0 @@ -/* Infinity Grid - * https://github.com/vladocar/Basic.css - */ - -[style*="--c:"],section>section{ -color: var(--f2); -padding: var(--s1); -margin: var(--s1); -text-align: center; -} - -section {display: flex; flex-flow: row wrap} - -[style*="--c:"], section>section {flex:var(--c,1); margin:var(--s1)} diff --git a/sass/include/_hr.scss b/sass/include/_hr.scss deleted file mode 100644 index 98e536e..0000000 --- a/sass/include/_hr.scss +++ /dev/null @@ -1,15 +0,0 @@ -/** - * HR - * https://github.com/picocss/pico - */ - -// 1. Add the correct box sizing in Firefox -// 2. Show the overflow in Edge and IE -hr { - box-sizing: content-box; // 1 - height: 0; // 1 - overflow: visible; // 2 - border: none; - border-top: 1px solid var(--f1); -} -header hr, footer hr {border-top: 1px solid var(--c4)} diff --git a/sass/include/_misc.scss b/sass/include/_misc.scss deleted file mode 100644 index 9f9c3b5..0000000 --- a/sass/include/_misc.scss +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Miscs - * https://github.com/picocss/pico - */ - -// Add the correct display in IE 10+ -[hidden], -template { - display: none; -} - -// Add the correct display in IE 9- -canvas { - display: inline-block; -} diff --git a/sass/include/_nav.scss b/sass/include/_nav.scss deleted file mode 100644 index 08f1ec1..0000000 --- a/sass/include/_nav.scss +++ /dev/null @@ -1,113 +0,0 @@ -/** - * Horizontal Nav - * https://github.com/raj457036/attriCSS - */ - -main nav a, -main nav a:visited {//pagination link styling - font-weight: var(--fh); - border: .1rem solid var(--c4); - border-radius: var(--br); - padding: .1rem var(--s1); -} -main nav a:hover {//makes border of pagination links hover color - border-color: var(--a3); - .svgh { - background: var(--a3); - opacity: 1; - } -} -header > nav > div:first-of-type {//Keep the logo from wrapping - display: inline; - min-width: fit-content; - padding-right: var(--s1);//add some spacing between nav divs -} -header > nav > div:nth-child(2) {//puts logo on left and menu/search on right - margin-left: auto; - padding-right: var(--s1);//add some spacing between nav divs -} -nav > div { - ul, h2 { - line-height: 1.9; - margin: 0; - padding: 0; - } - margin: var(--s1) 0; -} -nav { - align-items: center; - justify-content: center;//center pagination horizontally - display: flex; - div h2 { - font-size: 1rem; - &:hover { - color: var(--a3); - } - } - h1 { - margin-bottom: 0; - margin-top: 0.2rem; - } - li { - display: inline-block; - margin: 0 .3rem; - } -} -main nav { - ul { - display: flex; - padding-left: 0; - } - margin-top: var(--s2);//pagination margin - li { - margin: .2rem; - } - li.inp { - padding-top: .1rem; - } -} -.outp { - padding: 0 .26rem .2rem; -} -.off { - color: var(--c4); - font-weight: var(--fh); - border: .1rem solid var(--c3); - border-radius: var(--br); - .svgh { - background: var(--c3); - opacity: 1; - } -} -.on { - font-weight: var(--fh); - border: .1rem solid var(--c4); - border-radius: var(--br); -} -.mode:hover, .cnav { - color: var(--a1);//pagination color current page -} -footer nav { - ul { - margin: 0; - padding: 0; - } - li { - margin: 0 .2rem .4rem; - } -} -// breakpoint makes header responsive for mobile layouts -@if map-get($breakpoints, "md") { - @media (max-width: map-get($breakpoints, "md")) { - header nav { - display: flex; - flex-direction: column; - h1 { - margin: var(--s2) 0 var(--s1); - } - div { - margin: auto; // keeps top menu/search centered in mobile view - } - } - } -} diff --git a/sass/include/_scroller.scss b/sass/include/_scroller.scss deleted file mode 100644 index de1de5e..0000000 --- a/sass/include/_scroller.scss +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Horizontal scroller (<figure>) - * https://github.com/picocss/pico - */ - -// Wrapper to make any content responsive across all viewports -figure { - display: block; - margin: 0; - padding: 0; - overflow-x: auto; - - figcaption { - padding: var(--s1) 0; - color: var(--c4); - } -} diff --git a/sass/include/_search.scss b/sass/include/_search.scss deleted file mode 100644 index ccc403e..0000000 --- a/sass/include/_search.scss +++ /dev/null @@ -1,73 +0,0 @@ -div:empty { - display: none; -} -.stork-close-button { - display: none; -} -.stork-title p { - color: var(--a1); - font-weight: var(--fh); -} -#suggestions { - z-index: 9; - background: var(--c1); - border: 2px solid var(--c3); - position: absolute; - right: 0; - margin-top: var(--s1); - width: 500px; - max-height: 500px; - overflow: auto; -} -#suggestions a, #results a { - display: block; - text-decoration: none; - padding: var(--s1); - margin: 0 var(--s1); -} -#suggestions a:hover, -#suggestions a:focus, -#results a:hover, -#results a:focus { - background: var(--c2); -} -#suggestions span, #results span { - line-height: 1.5; - display: block; -} -#suggestions span:first-child, #results span:first-child { - font-weight: var(--fh); -} -#suggestions span:nth-child(2), #results span:nth-child(2) { - color: var(--f1); -} -nav > div > form > div:last-of-type {//parent div of suggestions div - display: block; - position: relative; - width: 100%; -} -.searchd { - display: flex; - align-items: center; - white-space: nowrap; -} -.searchd > input { - max-width: 15.3rem; - padding-right:2.4rem;//inlayed search icon -} -.searchd > button { - margin-left: -2.4rem;//inlayed search icon -} -@if map-get($breakpoints, "md") { - @media (max-width: map-get($breakpoints, "md")) { - .searchd > input { - max-width: 100%; - flex-grow: 1; - } - #suggestions { - position: static; - left: 0; - width: 100%; - } - } -} diff --git a/sass/include/_sectioning.scss b/sass/include/_sectioning.scss deleted file mode 100644 index cd5540d..0000000 --- a/sass/include/_sectioning.scss +++ /dev/null @@ -1,88 +0,0 @@ -/** - * Sectioning: Container and responsive spacings for header, main, footer - * https://github.com/picocss/pico - */ - -// Render the `main` element consistently in IE -main { - display: flex; - // should always have a single div that holds all content below main. - // TOC or Recent Posts are the only other sections that would be directly under main. - article, div { - flex: 1 1 0; - min-width: 0; - } -} - -body { - width: 100%; - margin: 0; -} - -header, -main, -footer { - width: 100%; - margin-right: auto; - margin-left: auto; - - // Semantic container - @if $enable-semantic-container { - padding: var(--s1); - - // Centered viewport max-width only - @if $enable-maxwidth { - @media (min-width: $mb) { - min-width: $mb; - max-width: $mw; - } - } - // Centered viewport - @else if $enable-viewport { - @if map-get($breakpoints, "sm") and $enable-viewport { - @media (min-width: map-get($breakpoints, "sm")) { - max-width: map-get($viewports, "sm"); - //padding-right: 0; - //padding-left: 0; - .toc { - display: none; - } - } - } - @if map-get($breakpoints, "md") and $enable-viewport { - @media (min-width: map-get($breakpoints, "md")) { - max-width: map-get($viewports, "md"); - } - } - @if map-get($breakpoints, "lg") and $enable-viewport { - @media (min-width: map-get($breakpoints, "lg")) { - max-width: map-get($viewports, "lg"); - } - } - @if map-get($breakpoints, "xl") and $enable-viewport { - @media (min-width: map-get($breakpoints, "xl")) { - max-width: map-get($viewports, "xl"); - } - } - } - } - // Semantic container - @else { - padding: var(--s1) 0; - } -} -header, main { - padding-top: 0; - margin-top: 0; - padding-bottom: 0; - margin-bottom: 0; - hr { - margin:0.1rem 0; - } -} -footer{ - line-height: var(--lhh); - hr, p { - margin: 0.1rem 0 .3rem; - } -}
\ No newline at end of file diff --git a/sass/include/_table.scss b/sass/include/_table.scss deleted file mode 100644 index 0ed3eea..0000000 --- a/sass/include/_table.scss +++ /dev/null @@ -1,27 +0,0 @@ -// Table -table { - border-collapse: collapse; - width: 100%; - text-indent: 0; /* Remove text indentation from table contents in Chrome, Edge, and Safari. */ - caption { - margin-bottom: .5rem; - } -} -tr { - border-bottom: var(--bw) solid var(--c3); -} -td, -th { - padding: var(--s1); -} -th { - text-align: left; -} -// Striped -tbody tr:nth-child(even) { - background-color: var(--c2); -} -thead tr { - border-top: var(--bw) solid var(--c3); - background-color: var(--c2); -}
\ No newline at end of file diff --git a/sass/include/_toc.scss b/sass/include/_toc.scss deleted file mode 100644 index 5d37a64..0000000 --- a/sass/include/_toc.scss +++ /dev/null @@ -1,44 +0,0 @@ -main { - .toc { - max-width: 15rem; - min-width: 14rem; - margin-left: var(--s1); - } - .toc-item { - padding: .4rem 0; - color: var(--f1); - } - .toc-item a, .toc-item-child a { - color: var(--f1); - &:hover { - cursor: pointer; - color: var(--a2); - text-decoration: underline; - } - } - .toc-item a.active, .toc-item-child a.active { - color: var(--a2); - } - .toc-item-child { - padding: 0 var(--s1); - color: var(--f1); - } -} -.toc-sticky { - border-radius: var(--br); - border-top: 5px solid var(--a1); - background-color: var(--c2); - position: sticky; - top: var(--s2); - margin-top: var(--s2); - padding: 0 var(--s2) var(--s2); - max-height: 100vh; - overflow: auto; -} -@if map-get($breakpoints, "md") { - @media (max-width: map-get($breakpoints, "md")) { - .toc { - display: none; - } - } -} diff --git a/sass/include/_top.scss b/sass/include/_top.scss deleted file mode 100644 index 5d09238..0000000 --- a/sass/include/_top.scss +++ /dev/null @@ -1,28 +0,0 @@ -.topout { - position: sticky; - bottom: 1px; - padding: 20px; - place-self: end; - margin-top: 110vh; - pointer-events: none; -} -.topleft { - margin-left: calc(100% - 80px); -} -.top { - pointer-events: all; - padding: 9px; - border-radius: 9px; - font-weight:700; - color: var(--a1); - background: var(--c2); -} -.top:hover { - text-decoration: none; - color: var(--c2); - background: var(--a1); - .svgh { - background: var(--c2); - opacity: 1; - } -}
\ No newline at end of file diff --git a/sass/include/_typography.scss b/sass/include/_typography.scss deleted file mode 100644 index ede2aa0..0000000 --- a/sass/include/_typography.scss +++ /dev/null @@ -1,142 +0,0 @@ -// Typography -.c { - text-align: center;// The <center> does not pass validation, use: <div class="c"></div> -} -h1, -h2, -h3, -h4, -h5, -h6 { - padding-left: 0; - color: var(--f2); - margin-bottom: var(--s1); - margin-top: var(--s2); - font-weight: var(--fh); - font-size: var(--fs); - line-height: var(--lhh); -} -h1 { - font-size: 2rem; -} -h2 { - font-size: 1.75rem; -} -h3 { - font-size: 1.5rem; -} -h4 { - font-size: 1.25rem; -} -h5 { - font-size: 1.125rem; -} -header h1 { - margin-top: 0; -} -a { - color: var(--a1); - text-decoration: none; -} -a:hover { - color: var(--a2); - text-decoration: underline; -} -h1 a, h2 a, main nav a { - color: var(--f2); - text-decoration:none; - &:hover { - color: var(--a3); - text-decoration: none; - } -} -article { - padding-bottom: .2rem; -} - -// Abbreviations -// 1. Remove underline decoration in Chrome, Edge, IE, Opera, and Safari -abbr[title] { - border-bottom: var(--bw) dotted; - text-decoration: none; // 1 - cursor: help; -} - -// Highlighted text -mark { - background-color: var(--c4); - color: var(--c1); - vertical-align: baseline; - padding: .1rem .4rem; -} -blockquote { - margin-left: 0; - padding: .5rem 0 .5rem 1.5rem; - border-left: .25rem solid var(--c3); -} -blockquote > :last-child { - margin-bottom: 0; -} -small { - font-size: .875rem; -} - -.footnote-definition sup, .footnote-definition p { - display: inline; -} -/* Prevent `sub` and `sup` elements from affecting the line height in all browsers. */ -sub, -sup { - font-size: .75em; - line-height: 0; - position: relative; - vertical-align: baseline; -} -sub { - bottom: -.25em; -} -sup { - top: -.5em; -} - -address, -blockquote, -dl, -figure, -form, -ol, -p, -pre, -table, -ul { - margin: .7rem 0; - color: var(--f1); - font-style: normal; - font-weight: var(--fw); - font-size: var(--fs); -} - -/* Lists */ -ul, -ol { - padding-right: 0; - padding-left: var(--s2); -} -li { - margin-bottom: var(--s1); -} - -ul li { - list-style: square; -} - -// Ins -ins { - color: var(--cg); - text-decoration: none; -} - -// del -del { - color: var(--cr); -} diff --git a/sass/include/_zola.scss b/sass/include/_zola.scss deleted file mode 100644 index fbc288e..0000000 --- a/sass/include/_zola.scss +++ /dev/null @@ -1,81 +0,0 @@ -.sum, .sum p {margin: .2rem 0} -.s95 {font-size: .95em} -.s90 {font-size: .90em} -.s85 {font-size: .85em} -.s80 {font-size: .80em} -.s75 {font-size: .75em} -.s70 {font-size: .70em} -.hpad {padding: 0 .2rem} -.rpad {padding-right: .2rem} -.si { - font-size: 1.5em -} -pre code[data-lang]::before { - color: var(--f1); - text-transform: uppercase; - content: ' [' attr(data-lang) '] ' "\a\a"; -} -// code copy wrapper -.ccw { - position: relative; -} -.ccw:hover { - .cc { - opacity: 1; - } -} -// code copy button -.cc { - opacity: 0; - z-index: 9; - position: absolute; - right: 9px; - top: 9px; - font-size: .8rem; -} -// Mark Override, this is used for Zola's linenos and hl_lines -:root:not(.light) code table { - mark { - filter: brightness(120%); - } -} -// Table Override, this is used for Zola's linenos and hl_lines -code { - table { - font-size: .8rem; - margin: 0; - // Highlighted text - mark { - display: block; - background-color: var(--c2); - color: unset; - padding: 0; - } - } - td, th, tr { - padding: 0; - border-bottom: none; - } - tbody td:first-child { - text-align: center; - user-select: none; - min-width: 60px; - } - tbody tr:nth-child(even), thead tr { - background-color: unset; - } -} -.img-swap-div { - .img-main { - display: block; - } - .img-swap { - display: none; - } - &:hover .img-swap { - display: block; - } - &:hover .img-main { - display: none; - } -} diff --git a/sass/syntax/syntax-abridge-dark.scss b/sass/syntax/syntax-abridge-dark.scss deleted file mode 100644 index 2136269..0000000 --- a/sass/syntax/syntax-abridge-dark.scss +++ /dev/null @@ -1,275 +0,0 @@ -.z-code { - color: #bfbab0; - background-color: #191919; -} -.z-comment, .z-punctuation.z-definition.z-comment { - color: #87929f; - font-style: italic; -} -.z-variable { - color: #bfbab0; -} -.z-string, .z-constant.z-other.z-symbol { - color: #c2d94c; -} -.z-constant.z-numeric { - color: #f29718; -} -.z-string.z-regexp, .z-constant.z-character.z-escape { - color: #95e6cb; -} -.z-constant.z-language { - color: #f29718; -} -.z-constant.z-character, .z-constant.z-other { - color: #f29718; -} -.z-variable.z-member { - color: #fe7d83; -} -.z-keyword, .z-keyword.z-operator.z-word { - color: #00bbff; -} -.z-keyword.z-operator { - color: #f29668; -} -.z-punctuation.z-separator, .z-punctuation.z-terminator { - color: #bfbab0; -} -.z-punctuation.z-section { - color: #bfbab0; -} -.z-punctuation.z-accessor { - color: #f29668; -} -.z-punctuation.z-definition.z-annotation { - color: #bfbab0; -} -.z-variable.z-other.z-dollar.z-only.z-js, .z-variable.z-other.z-object.z-dollar.z-only.z-js, .z-variable.z-type.z-dollar.z-only.z-js, .z-support.z-class.z-dollar.z-only.z-js { - color: #e6b673; -} -.z-storage { - color: #00bbff; -} -.z-storage.z-type { - color: #00bbff; -} -.z-entity.z-name.z-function { - color: #ffb454; -} -.z-entity.z-name, .z-entity.z-name.z-tag, .z-entity.z-name.z-label { - color: #59c2ff; -} -.z-entity.z-other.z-inherited-class { - color: #59c2ff; - text-decoration: underline; -} -.z-variable.z-parameter { - color: #f29718; -} -.z-variable.z-language { - color: #39bae6; - font-style: italic; -} -.z-entity.z-name.z-tag, .z-meta.z-tag.z-sgml { - color: #39bae6; -} -.z-punctuation.z-definition.z-tag.z-end, .z-punctuation.z-definition.z-tag.z-begin, .z-punctuation.z-definition.z-tag { - color: #39bae6; -} -.z-entity.z-other.z-attribute-name { - color: #ffb454; -} -.z-variable.z-function, .z-variable.z-annotation { - color: #ffb454; -} -.z-support.z-function, .z-support.z-macro { - color: #fe7d83; -} -.z-support.z-constant { - color: #f29668; - font-style: italic; -} -.z-support.z-type, .z-support.z-class { - color: #39bae6; - font-style: italic; -} -.z-invalid { - color: #ff7c6d; -} -.z-invalid.z-deprecated { - color: #ffffff; - background-color: #00bbff; -} -.z-meta.z-diff, .z-meta.z-diff.z-header { - color: #c594c5; -} -.z-source.z-ruby .z-variable.z-other.z-readwrite { - color: #ffb454; -} -.z-source.z-css .z-entity.z-name.z-tag, .z-source.z-sass .z-entity.z-name.z-tag, .z-source.z-scss .z-entity.z-name.z-tag, .z-source.z-less .z-entity.z-name.z-tag, .z-source.z-stylus .z-entity.z-name.z-tag { - color: #59c2ff; -} -.z-source.z-css .z-support.z-type, .z-source.z-sass .z-support.z-type, .z-source.z-scss .z-support.z-type, .z-source.z-less .z-support.z-type, .z-source.z-stylus .z-support.z-type { - color: #798491; -} -.z-support.z-type.z-property-name { - color: #39bae6; -} -.z-constant.z-numeric.z-line-number.z-find-in-files { - color: #798491; -} -.z-constant.z-numeric.z-line-number.z-match { - color: #00bbff; -} -.z-entity.z-name.z-filename.z-find-in-files { - color: #c2d94c; -} -.z-message.z-error { - color: #ff7c6d; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; -} -.z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; -} -.z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; -} -.z-markup.z-heading { - color: #00bbff; -font-weight: bold; -} -.z-string.z-other.z-link, .z-markup.z-underline.z-link { - color: #95e6cb; - text-decoration: underline; - font-style: italic; -} -.z-punctuation.z-definition.z-image { - color: #ffb454; -} -.z-markup.z-italic { - color: #fe7d83; - font-style: italic; -} -.z-markup.z-bold { - color: #fe7d83; -font-weight: bold; -} -.z-markup.z-italic .z-markup.z-bold, .z-markup.z-bold .z-markup.z-italic { -font-weight: bold; - font-style: italic; -} -.z-markup.z-raw { - background-color: #bfbab0; -} -.z-markup.z-raw.z-inline { - background-color: #bfbab0; -} -.z-meta.z-separator { - color: #798491; - background-color: #bfbab0; -font-weight: bold; -} -.z-markup.z-quote { - color: #f29718; - font-style: italic; -} -.z-markup.z-list.z-numbered.z-bullet, .z-markup.z-list .z-punctuation.z-definition.z-list_item { - color: #95e6cb; -} -.z-markup.z-inserted { - color: #c2d94c; -} -.z-markup.z-changed { - color: #39bae6; -} -.z-markup.z-deleted { - color: #fe7d83; -} -.z-markup.z-strike { - color: #e6b673; -} -.z-markup.z-table { - color: #39bae6; - background-color: #bfbab0; -} -.z-text.z-html.z-markdown .z-markup.z-raw.z-inline { - color: #f29668; -} -.z-text.z-html.z-markdown .z-meta.z-dummy.z-line-break { - color: #798491; -} -.z-markup.z-raw.z-block.z-fenced.z-markdown { - color: #bfbab0; - background-color: #bfbab0; -} -.z-punctuation.z-definition.z-fenced.z-markdown, .z-variable.z-language.z-fenced.z-markdown { - color: #798491; - background-color: #bfbab0; -} -.z-variable.z-language.z-fenced.z-markdown { - color: #798491; -} -.z-markup.z-inserted.z-git_gutter { - color: #c2d94c; -} -.z-markup.z-changed.z-git_gutter { - color: #39bae6; -} -.z-markup.z-deleted.z-git_gutter { - color: #ff7c6d; -} -.z-markup.z-ignored.z-git_gutter { - color: #20272c; -} -.z-markup.z-untracked.z-git_gutter { - color: #20272c; -} -.z-gutter_color { - color: #ffffff; -} -.z-acejump.z-label.z-blue { - color: #ffffff; - background-color: #39bae6; -} -.z-acejump.z-label.z-green { - color: #ffffff; - background-color: #c2d94c; -} -.z-acejump.z-label.z-orange { - color: #ffffff; - background-color: #00bbff; -} -.z-acejump.z-label.z-purple { - color: #ffffff; - background-color: #fe7d83; -} -.z-sublimelinter.z-mark.z-warning { - color: #39bae6; -} -.z-sublimelinter.z-gutter-mark { - color: #ffffff; -} -.z-sublimelinter.z-mark.z-error { - color: #ff7c6d; -}
\ No newline at end of file diff --git a/sass/syntax/syntax-abridge-light.scss b/sass/syntax/syntax-abridge-light.scss deleted file mode 100644 index 4c3eea6..0000000 --- a/sass/syntax/syntax-abridge-light.scss +++ /dev/null @@ -1,272 +0,0 @@ -.z-code { - color: #50565a; - background-color: #fafafa; -} -.z-comment, .z-punctuation.z-definition.z-comment { - color: #676c72; - font-style: italic; -} -.z-variable { - color: #50565a; -} -.z-string, .z-constant.z-other.z-symbol { - color: #497700; -} -.z-constant.z-numeric { - color: #b04e00; -} -.z-string.z-regexp, .z-constant.z-character.z-escape { - color: #007b59; -} -.z-constant.z-language { - color: #b04e00; -} -.z-constant.z-character, .z-constant.z-other { - color: #b04e00; -} -.z-variable.z-member { - color: #c33947; -} -.z-keyword, .z-keyword.z-operator.z-word { - color: #0062e8; -} -.z-keyword.z-operator { - color: #a4552c; -} -.z-punctuation.z-separator, .z-punctuation.z-terminator { - color: #50565a; -} -.z-punctuation.z-section { - color: #50565a; -} -.z-punctuation.z-accessor { - color: #a4552c; -} -.z-punctuation.z-definition.z-annotation { - color: #50565a; -} -.z-variable.z-other.z-dollar.z-only.z-js, .z-variable.z-other.z-object.z-dollar.z-only.z-js, .z-variable.z-type.z-dollar.z-only.z-js, .z-support.z-class.z-dollar.z-only.z-js { - color: #8b6426; -} -.z-storage { - color: #0062e8; -} -.z-storage.z-type { - color: #0062e8; -} -.z-entity.z-name.z-function { - color: #a45600; -} -.z-entity.z-name, .z-entity.z-name.z-tag, .z-entity.z-name.z-label { - color: #0070b3; -} -.z-entity.z-other.z-inherited-class { - color: #0070b3; - text-decoration: underline; -} -.z-variable.z-parameter { - color: #b04e00; -} -.z-variable.z-language { - color: #007492; - font-style: italic; -} -.z-entity.z-name.z-tag, .z-meta.z-tag.z-sgml { - color: #007492; -} -.z-punctuation.z-definition.z-tag.z-end, .z-punctuation.z-definition.z-tag.z-begin, .z-punctuation.z-definition.z-tag { - color: #007492; -} -.z-entity.z-other.z-attribute-name { - color: #a45600; -} -.z-variable.z-function, .z-variable.z-annotation { - color: #a45600; -} -.z-support.z-function, .z-support.z-macro { - color: #b94046; -} -.z-support.z-constant { - color: #a4552c; - font-style: italic; -} -.z-support.z-type, .z-support.z-class { - color: #007492; - font-style: italic; -} -.z-invalid { - color: #da0001; -} -.z-invalid.z-deprecated { - color: #ffffff; - background-color: #0062e8; -} -.z-source.z-ruby .z-variable.z-other.z-readwrite { - color: #a45600; -} -.z-source.z-css .z-entity.z-name.z-tag, .z-source.z-sass .z-entity.z-name.z-tag, .z-source.z-scss .z-entity.z-name.z-tag, .z-source.z-less .z-entity.z-name.z-tag, .z-source.z-stylus .z-entity.z-name.z-tag { - color: #0070b3; -} -.z-source.z-css .z-support.z-type, .z-source.z-sass .z-support.z-type, .z-source.z-scss .z-support.z-type, .z-source.z-less .z-support.z-type, .z-source.z-stylus .z-support.z-type { - color: #676c72; -} -.z-support.z-type.z-property-name { - color: #007492; -} -.z-constant.z-numeric.z-line-number.z-find-in-files { - color: #676c72; -} -.z-constant.z-numeric.z-line-number.z-match { - color: #0062e8; -} -.z-entity.z-name.z-filename.z-find-in-files { - color: #497700; -} -.z-message.z-error { - color: #da0001; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007492; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007492; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007492; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007492; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007492; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007492; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007492; -} -.z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007492; -} -.z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007492; -} -.z-markup.z-heading { - color: #0062e8; -font-weight: bold; -} -.z-string.z-other.z-link, .z-markup.z-underline.z-link { - color: #007b59; - text-decoration: underline; - font-style: italic; -} -.z-punctuation.z-definition.z-image { - color: #a45600; -} -.z-markup.z-italic { - color: #b94046; - font-style: italic; -} -.z-markup.z-bold { - color: #b94046; -font-weight: bold; -} -.z-markup.z-italic .z-markup.z-bold, .z-markup.z-bold .z-markup.z-italic { -font-weight: bold; - font-style: italic; -} -.z-markup.z-raw { - background-color: #50565a; -} -.z-markup.z-raw.z-inline { - background-color: #50565a; -} -.z-meta.z-separator { - color: #676c72; - background-color: #50565a; -font-weight: bold; -} -.z-markup.z-quote { - color: #b04e00; - font-style: italic; -} -.z-markup.z-list.z-numbered.z-bullet, .z-markup.z-list .z-punctuation.z-definition.z-list_item { - color: #007b59; -} -.z-markup.z-inserted { - color: #497700; -} -.z-markup.z-changed { - color: #007492; -} -.z-markup.z-deleted { - color: #b94046; -} -.z-markup.z-strike { - color: #8b6426; -} -.z-markup.z-table { - color: #007492; - background-color: #50565a; -} -.z-text.z-html.z-markdown .z-markup.z-raw.z-inline { - color: #a4552c; -} -.z-text.z-html.z-markdown .z-meta.z-dummy.z-line-break { - color: #676c72; -} -.z-markup.z-raw.z-block.z-fenced.z-markdown { - color: #50565a; - background-color: #50565a; -} -.z-punctuation.z-definition.z-fenced.z-markdown, .z-variable.z-language.z-fenced.z-markdown { - color: #676c72; - background-color: #50565a; -} -.z-variable.z-language.z-fenced.z-markdown { - color: #676c72; -} -.z-markup.z-inserted.z-git_gutter { - color: #497700; -} -.z-markup.z-changed.z-git_gutter { - color: #007492; -} -.z-markup.z-deleted.z-git_gutter { - color: #da0001; -} -.z-markup.z-ignored.z-git_gutter { - color: #696b6c; -} -.z-markup.z-untracked.z-git_gutter { - color: #696b6c; -} -.z-gutter_color { - color: #ffffff; -} -.z-acejump.z-label.z-blue { - color: #ffffff; - background-color: #007492; -} -.z-acejump.z-label.z-green { - color: #ffffff; - background-color: #497700; -} -.z-acejump.z-label.z-orange { - color: #ffffff; - background-color: #0062e8; -} -.z-acejump.z-label.z-purple { - color: #ffffff; - background-color: #b94046; -} -.z-sublimelinter.z-mark.z-warning { - color: #007492; -} -.z-sublimelinter.z-gutter-mark { - color: #ffffff; -} -.z-sublimelinter.z-mark.z-error { - color: #da0001; -} diff --git a/sass/syntax/syntax-abridge-switcher.scss b/sass/syntax/syntax-abridge-switcher.scss deleted file mode 100644 index d1ea55d..0000000 --- a/sass/syntax/syntax-abridge-switcher.scss +++ /dev/null @@ -1,551 +0,0 @@ -:root:not(.light) { - .z-code { - color: #bfbab0; - background-color: #191919; - } - .z-comment, .z-punctuation.z-definition.z-comment { - color: #87929f; - font-style: italic; - } - .z-variable { - color: #bfbab0; - } - .z-string, .z-constant.z-other.z-symbol { - color: #c2d94c; - } - .z-constant.z-numeric { - color: #f29718; - } - .z-string.z-regexp, .z-constant.z-character.z-escape { - color: #95e6cb; - } - .z-constant.z-language { - color: #f29718; - } - .z-constant.z-character, .z-constant.z-other { - color: #f29718; - } - .z-variable.z-member { - color: #fe7d83; - } - .z-keyword, .z-keyword.z-operator.z-word { - color: #00bbff; - } - .z-keyword.z-operator { - color: #f29668; - } - .z-punctuation.z-separator, .z-punctuation.z-terminator { - color: #bfbab0; - } - .z-punctuation.z-section { - color: #bfbab0; - } - .z-punctuation.z-accessor { - color: #f29668; - } - .z-punctuation.z-definition.z-annotation { - color: #bfbab0; - } - .z-variable.z-other.z-dollar.z-only.z-js, .z-variable.z-other.z-object.z-dollar.z-only.z-js, .z-variable.z-type.z-dollar.z-only.z-js, .z-support.z-class.z-dollar.z-only.z-js { - color: #e6b673; - } - .z-storage { - color: #00bbff; - } - .z-storage.z-type { - color: #00bbff; - } - .z-entity.z-name.z-function { - color: #ffb454; - } - .z-entity.z-name, .z-entity.z-name.z-tag, .z-entity.z-name.z-label { - color: #59c2ff; - } - .z-entity.z-other.z-inherited-class { - color: #59c2ff; - text-decoration: underline; - } - .z-variable.z-parameter { - color: #f29718; - } - .z-variable.z-language { - color: #39bae6; - font-style: italic; - } - .z-entity.z-name.z-tag, .z-meta.z-tag.z-sgml { - color: #39bae6; - } - .z-punctuation.z-definition.z-tag.z-end, .z-punctuation.z-definition.z-tag.z-begin, .z-punctuation.z-definition.z-tag { - color: #39bae6; - } - .z-entity.z-other.z-attribute-name { - color: #ffb454; - } - .z-variable.z-function, .z-variable.z-annotation { - color: #ffb454; - } - .z-support.z-function, .z-support.z-macro { - color: #fe7d83; - } - .z-support.z-constant { - color: #f29668; - font-style: italic; - } - .z-support.z-type, .z-support.z-class { - color: #39bae6; - font-style: italic; - } - .z-invalid { - color: #ff7c6d; - } - .z-invalid.z-deprecated { - color: #ffffff; - background-color: #00bbff; - } - .z-meta.z-diff, .z-meta.z-diff.z-header { - color: #c594c5; - } - .z-source.z-ruby .z-variable.z-other.z-readwrite { - color: #ffb454; - } - .z-source.z-css .z-entity.z-name.z-tag, .z-source.z-sass .z-entity.z-name.z-tag, .z-source.z-scss .z-entity.z-name.z-tag, .z-source.z-less .z-entity.z-name.z-tag, .z-source.z-stylus .z-entity.z-name.z-tag { - color: #59c2ff; - } - .z-source.z-css .z-support.z-type, .z-source.z-sass .z-support.z-type, .z-source.z-scss .z-support.z-type, .z-source.z-less .z-support.z-type, .z-source.z-stylus .z-support.z-type { - color: #798491; - } - .z-support.z-type.z-property-name { - color: #39bae6; - } - .z-constant.z-numeric.z-line-number.z-find-in-files { - color: #798491; - } - .z-constant.z-numeric.z-line-number.z-match { - color: #00bbff; - } - .z-entity.z-name.z-filename.z-find-in-files { - color: #c2d94c; - } - .z-message.z-error { - color: #ff7c6d; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-markup.z-heading { - color: #00bbff; - font-weight: bold; - } - .z-string.z-other.z-link, .z-markup.z-underline.z-link { - color: #95e6cb; - text-decoration: underline; - font-style: italic; - } - .z-punctuation.z-definition.z-image { - color: #ffb454; - } - .z-markup.z-italic { - color: #fe7d83; - font-style: italic; - } - .z-markup.z-bold { - color: #fe7d83; - font-weight: bold; - } - .z-markup.z-italic .z-markup.z-bold, .z-markup.z-bold .z-markup.z-italic { - font-weight: bold; - font-style: italic; - } - .z-markup.z-raw { - background-color: #bfbab0; - } - .z-markup.z-raw.z-inline { - background-color: #bfbab0; - } - .z-meta.z-separator { - color: #798491; - background-color: #bfbab0; - font-weight: bold; - } - .z-markup.z-quote { - color: #f29718; - font-style: italic; - } - .z-markup.z-list.z-numbered.z-bullet, .z-markup.z-list .z-punctuation.z-definition.z-list_item { - color: #95e6cb; - } - .z-markup.z-inserted { - color: #c2d94c; - } - .z-markup.z-changed { - color: #39bae6; - } - .z-markup.z-deleted { - color: #fe7d83; - } - .z-markup.z-strike { - color: #e6b673; - } - .z-markup.z-table { - color: #39bae6; - background-color: #bfbab0; - } - .z-text.z-html.z-markdown .z-markup.z-raw.z-inline { - color: #f29668; - } - .z-text.z-html.z-markdown .z-meta.z-dummy.z-line-break { - color: #798491; - } - .z-markup.z-raw.z-block.z-fenced.z-markdown { - color: #bfbab0; - background-color: #bfbab0; - } - .z-punctuation.z-definition.z-fenced.z-markdown, .z-variable.z-language.z-fenced.z-markdown { - color: #798491; - background-color: #bfbab0; - } - .z-variable.z-language.z-fenced.z-markdown { - color: #798491; - } - .z-markup.z-inserted.z-git_gutter { - color: #c2d94c; - } - .z-markup.z-changed.z-git_gutter { - color: #39bae6; - } - .z-markup.z-deleted.z-git_gutter { - color: #ff7c6d; - } - .z-markup.z-ignored.z-git_gutter { - color: #20272c; - } - .z-markup.z-untracked.z-git_gutter { - color: #20272c; - } - .z-gutter_color { - color: #ffffff; - } - .z-acejump.z-label.z-blue { - color: #ffffff; - background-color: #39bae6; - } - .z-acejump.z-label.z-green { - color: #ffffff; - background-color: #c2d94c; - } - .z-acejump.z-label.z-orange { - color: #ffffff; - background-color: #00bbff; - } - .z-acejump.z-label.z-purple { - color: #ffffff; - background-color: #fe7d83; - } - .z-sublimelinter.z-mark.z-warning { - color: #39bae6; - } - .z-sublimelinter.z-gutter-mark { - color: #ffffff; - } - .z-sublimelinter.z-mark.z-error { - color: #ff7c6d; - } -} -:root.light { - .z-code { - color: #50565a; - background-color: #fafafa; - } - .z-comment, .z-punctuation.z-definition.z-comment { - color: #676c72; - font-style: italic; - } - .z-variable { - color: #50565a; - } - .z-string, .z-constant.z-other.z-symbol { - color: #497700; - } - .z-constant.z-numeric { - color: #b04e00; - } - .z-string.z-regexp, .z-constant.z-character.z-escape { - color: #007b59; - } - .z-constant.z-language { - color: #b04e00; - } - .z-constant.z-character, .z-constant.z-other { - color: #b04e00; - } - .z-variable.z-member { - color: #c33947; - } - .z-keyword, .z-keyword.z-operator.z-word { - color: #0062e8; - } - .z-keyword.z-operator { - color: #a4552c; - } - .z-punctuation.z-separator, .z-punctuation.z-terminator { - color: #50565a; - } - .z-punctuation.z-section { - color: #50565a; - } - .z-punctuation.z-accessor { - color: #a4552c; - } - .z-punctuation.z-definition.z-annotation { - color: #50565a; - } - .z-variable.z-other.z-dollar.z-only.z-js, .z-variable.z-other.z-object.z-dollar.z-only.z-js, .z-variable.z-type.z-dollar.z-only.z-js, .z-support.z-class.z-dollar.z-only.z-js { - color: #8b6426; - } - .z-storage { - color: #0062e8; - } - .z-storage.z-type { - color: #0062e8; - } - .z-entity.z-name.z-function { - color: #a45600; - } - .z-entity.z-name, .z-entity.z-name.z-tag, .z-entity.z-name.z-label { - color: #0070b3; - } - .z-entity.z-other.z-inherited-class { - color: #0070b3; - text-decoration: underline; - } - .z-variable.z-parameter { - color: #b04e00; - } - .z-variable.z-language { - color: #007492; - font-style: italic; - } - .z-entity.z-name.z-tag, .z-meta.z-tag.z-sgml { - color: #007492; - } - .z-punctuation.z-definition.z-tag.z-end, .z-punctuation.z-definition.z-tag.z-begin, .z-punctuation.z-definition.z-tag { - color: #007492; - } - .z-entity.z-other.z-attribute-name { - color: #a45600; - } - .z-variable.z-function, .z-variable.z-annotation { - color: #a45600; - } - .z-support.z-function, .z-support.z-macro { - color: #b94046; - } - .z-support.z-constant { - color: #a4552c; - font-style: italic; - } - .z-support.z-type, .z-support.z-class { - color: #007492; - font-style: italic; - } - .z-invalid { - color: #da0001; - } - .z-invalid.z-deprecated { - color: #ffffff; - background-color: #0062e8; - } - .z-source.z-ruby .z-variable.z-other.z-readwrite { - color: #a45600; - } - .z-source.z-css .z-entity.z-name.z-tag, .z-source.z-sass .z-entity.z-name.z-tag, .z-source.z-scss .z-entity.z-name.z-tag, .z-source.z-less .z-entity.z-name.z-tag, .z-source.z-stylus .z-entity.z-name.z-tag { - color: #0070b3; - } - .z-source.z-css .z-support.z-type, .z-source.z-sass .z-support.z-type, .z-source.z-scss .z-support.z-type, .z-source.z-less .z-support.z-type, .z-source.z-stylus .z-support.z-type { - color: #676c72; - } - .z-support.z-type.z-property-name { - color: #007492; - } - .z-constant.z-numeric.z-line-number.z-find-in-files { - color: #676c72; - } - .z-constant.z-numeric.z-line-number.z-match { - color: #0062e8; - } - .z-entity.z-name.z-filename.z-find-in-files { - color: #497700; - } - .z-message.z-error { - color: #da0001; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007492; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007492; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007492; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007492; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007492; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007492; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007492; - } - .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007492; - } - .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007492; - } - .z-markup.z-heading { - color: #0062e8; - font-weight: bold; - } - .z-string.z-other.z-link, .z-markup.z-underline.z-link { - color: #007b59; - text-decoration: underline; - font-style: italic; - } - .z-punctuation.z-definition.z-image { - color: #a45600; - } - .z-markup.z-italic { - color: #b94046; - font-style: italic; - } - .z-markup.z-bold { - color: #b94046; - font-weight: bold; - } - .z-markup.z-italic .z-markup.z-bold, .z-markup.z-bold .z-markup.z-italic { - font-weight: bold; - font-style: italic; - } - .z-markup.z-raw { - background-color: #50565a; - } - .z-markup.z-raw.z-inline { - background-color: #50565a; - } - .z-meta.z-separator { - color: #676c72; - background-color: #50565a; - font-weight: bold; - } - .z-markup.z-quote { - color: #b04e00; - font-style: italic; - } - .z-markup.z-list.z-numbered.z-bullet, .z-markup.z-list .z-punctuation.z-definition.z-list_item { - color: #007b59; - } - .z-markup.z-inserted { - color: #497700; - } - .z-markup.z-changed { - color: #007492; - } - .z-markup.z-deleted { - color: #b94046; - } - .z-markup.z-strike { - color: #8b6426; - } - .z-markup.z-table { - color: #007492; - background-color: #50565a; - } - .z-text.z-html.z-markdown .z-markup.z-raw.z-inline { - color: #a4552c; - } - .z-text.z-html.z-markdown .z-meta.z-dummy.z-line-break { - color: #676c72; - } - .z-markup.z-raw.z-block.z-fenced.z-markdown { - color: #50565a; - background-color: #50565a; - } - .z-punctuation.z-definition.z-fenced.z-markdown, .z-variable.z-language.z-fenced.z-markdown { - color: #676c72; - background-color: #50565a; - } - .z-variable.z-language.z-fenced.z-markdown { - color: #676c72; - } - .z-markup.z-inserted.z-git_gutter { - color: #497700; - } - .z-markup.z-changed.z-git_gutter { - color: #007492; - } - .z-markup.z-deleted.z-git_gutter { - color: #da0001; - } - .z-markup.z-ignored.z-git_gutter { - color: #696b6c; - } - .z-markup.z-untracked.z-git_gutter { - color: #696b6c; - } - .z-gutter_color { - color: #ffffff; - } - .z-acejump.z-label.z-blue { - color: #ffffff; - background-color: #007492; - } - .z-acejump.z-label.z-green { - color: #ffffff; - background-color: #497700; - } - .z-acejump.z-label.z-orange { - color: #ffffff; - background-color: #0062e8; - } - .z-acejump.z-label.z-purple { - color: #ffffff; - background-color: #b94046; - } - .z-sublimelinter.z-mark.z-warning { - color: #007492; - } - .z-sublimelinter.z-gutter-mark { - color: #ffffff; - } - .z-sublimelinter.z-mark.z-error { - color: #da0001; - } -}
\ No newline at end of file diff --git a/sass/syntax/syntax-abridge.scss b/sass/syntax/syntax-abridge.scss deleted file mode 100644 index ca2b590..0000000 --- a/sass/syntax/syntax-abridge.scss +++ /dev/null @@ -1,553 +0,0 @@ -:root { - .z-code { - color: #bfbab0; - background-color: #191919; - } - .z-comment, .z-punctuation.z-definition.z-comment { - color: #87929f; - font-style: italic; - } - .z-variable { - color: #bfbab0; - } - .z-string, .z-constant.z-other.z-symbol { - color: #c2d94c; - } - .z-constant.z-numeric { - color: #f29718; - } - .z-string.z-regexp, .z-constant.z-character.z-escape { - color: #95e6cb; - } - .z-constant.z-language { - color: #f29718; - } - .z-constant.z-character, .z-constant.z-other { - color: #f29718; - } - .z-variable.z-member { - color: #fe7d83; - } - .z-keyword, .z-keyword.z-operator.z-word { - color: #00bbff; - } - .z-keyword.z-operator { - color: #f29668; - } - .z-punctuation.z-separator, .z-punctuation.z-terminator { - color: #bfbab0; - } - .z-punctuation.z-section { - color: #bfbab0; - } - .z-punctuation.z-accessor { - color: #f29668; - } - .z-punctuation.z-definition.z-annotation { - color: #bfbab0; - } - .z-variable.z-other.z-dollar.z-only.z-js, .z-variable.z-other.z-object.z-dollar.z-only.z-js, .z-variable.z-type.z-dollar.z-only.z-js, .z-support.z-class.z-dollar.z-only.z-js { - color: #e6b673; - } - .z-storage { - color: #00bbff; - } - .z-storage.z-type { - color: #00bbff; - } - .z-entity.z-name.z-function { - color: #ffb454; - } - .z-entity.z-name, .z-entity.z-name.z-tag, .z-entity.z-name.z-label { - color: #59c2ff; - } - .z-entity.z-other.z-inherited-class { - color: #59c2ff; - text-decoration: underline; - } - .z-variable.z-parameter { - color: #f29718; - } - .z-variable.z-language { - color: #39bae6; - font-style: italic; - } - .z-entity.z-name.z-tag, .z-meta.z-tag.z-sgml { - color: #39bae6; - } - .z-punctuation.z-definition.z-tag.z-end, .z-punctuation.z-definition.z-tag.z-begin, .z-punctuation.z-definition.z-tag { - color: #39bae6; - } - .z-entity.z-other.z-attribute-name { - color: #ffb454; - } - .z-variable.z-function, .z-variable.z-annotation { - color: #ffb454; - } - .z-support.z-function, .z-support.z-macro { - color: #fe7d83; - } - .z-support.z-constant { - color: #f29668; - font-style: italic; - } - .z-support.z-type, .z-support.z-class { - color: #39bae6; - font-style: italic; - } - .z-invalid { - color: #ff7c6d; - } - .z-invalid.z-deprecated { - color: #ffffff; - background-color: #00bbff; - } - .z-meta.z-diff, .z-meta.z-diff.z-header { - color: #c594c5; - } - .z-source.z-ruby .z-variable.z-other.z-readwrite { - color: #ffb454; - } - .z-source.z-css .z-entity.z-name.z-tag, .z-source.z-sass .z-entity.z-name.z-tag, .z-source.z-scss .z-entity.z-name.z-tag, .z-source.z-less .z-entity.z-name.z-tag, .z-source.z-stylus .z-entity.z-name.z-tag { - color: #59c2ff; - } - .z-source.z-css .z-support.z-type, .z-source.z-sass .z-support.z-type, .z-source.z-scss .z-support.z-type, .z-source.z-less .z-support.z-type, .z-source.z-stylus .z-support.z-type { - color: #798491; - } - .z-support.z-type.z-property-name { - color: #39bae6; - } - .z-constant.z-numeric.z-line-number.z-find-in-files { - color: #798491; - } - .z-constant.z-numeric.z-line-number.z-match { - color: #00bbff; - } - .z-entity.z-name.z-filename.z-find-in-files { - color: #c2d94c; - } - .z-message.z-error { - color: #ff7c6d; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-markup.z-heading { - color: #00bbff; - font-weight: bold; - } - .z-string.z-other.z-link, .z-markup.z-underline.z-link { - color: #95e6cb; - text-decoration: underline; - font-style: italic; - } - .z-punctuation.z-definition.z-image { - color: #ffb454; - } - .z-markup.z-italic { - color: #fe7d83; - font-style: italic; - } - .z-markup.z-bold { - color: #fe7d83; - font-weight: bold; - } - .z-markup.z-italic .z-markup.z-bold, .z-markup.z-bold .z-markup.z-italic { - font-weight: bold; - font-style: italic; - } - .z-markup.z-raw { - background-color: #bfbab0; - } - .z-markup.z-raw.z-inline { - background-color: #bfbab0; - } - .z-meta.z-separator { - color: #798491; - background-color: #bfbab0; - font-weight: bold; - } - .z-markup.z-quote { - color: #f29718; - font-style: italic; - } - .z-markup.z-list.z-numbered.z-bullet, .z-markup.z-list .z-punctuation.z-definition.z-list_item { - color: #95e6cb; - } - .z-markup.z-inserted { - color: #c2d94c; - } - .z-markup.z-changed { - color: #39bae6; - } - .z-markup.z-deleted { - color: #fe7d83; - } - .z-markup.z-strike { - color: #e6b673; - } - .z-markup.z-table { - color: #39bae6; - background-color: #bfbab0; - } - .z-text.z-html.z-markdown .z-markup.z-raw.z-inline { - color: #f29668; - } - .z-text.z-html.z-markdown .z-meta.z-dummy.z-line-break { - color: #798491; - } - .z-markup.z-raw.z-block.z-fenced.z-markdown { - color: #bfbab0; - background-color: #bfbab0; - } - .z-punctuation.z-definition.z-fenced.z-markdown, .z-variable.z-language.z-fenced.z-markdown { - color: #798491; - background-color: #bfbab0; - } - .z-variable.z-language.z-fenced.z-markdown { - color: #798491; - } - .z-markup.z-inserted.z-git_gutter { - color: #c2d94c; - } - .z-markup.z-changed.z-git_gutter { - color: #39bae6; - } - .z-markup.z-deleted.z-git_gutter { - color: #ff7c6d; - } - .z-markup.z-ignored.z-git_gutter { - color: #20272c; - } - .z-markup.z-untracked.z-git_gutter { - color: #20272c; - } - .z-gutter_color { - color: #ffffff; - } - .z-acejump.z-label.z-blue { - color: #ffffff; - background-color: #39bae6; - } - .z-acejump.z-label.z-green { - color: #ffffff; - background-color: #c2d94c; - } - .z-acejump.z-label.z-orange { - color: #ffffff; - background-color: #00bbff; - } - .z-acejump.z-label.z-purple { - color: #ffffff; - background-color: #fe7d83; - } - .z-sublimelinter.z-mark.z-warning { - color: #39bae6; - } - .z-sublimelinter.z-gutter-mark { - color: #ffffff; - } - .z-sublimelinter.z-mark.z-error { - color: #ff7c6d; - } -} -@media (prefers-color-scheme: light) { - :root { - .z-code { - color: #50565a; - background-color: #fafafa; - } - .z-comment, .z-punctuation.z-definition.z-comment { - color: #676c72; - font-style: italic; - } - .z-variable { - color: #50565a; - } - .z-string, .z-constant.z-other.z-symbol { - color: #497700; - } - .z-constant.z-numeric { - color: #b04e00; - } - .z-string.z-regexp, .z-constant.z-character.z-escape { - color: #007b59; - } - .z-constant.z-language { - color: #b04e00; - } - .z-constant.z-character, .z-constant.z-other { - color: #b04e00; - } - .z-variable.z-member { - color: #c33947; - } - .z-keyword, .z-keyword.z-operator.z-word { - color: #0062e8; - } - .z-keyword.z-operator { - color: #a4552c; - } - .z-punctuation.z-separator, .z-punctuation.z-terminator { - color: #50565a; - } - .z-punctuation.z-section { - color: #50565a; - } - .z-punctuation.z-accessor { - color: #a4552c; - } - .z-punctuation.z-definition.z-annotation { - color: #50565a; - } - .z-variable.z-other.z-dollar.z-only.z-js, .z-variable.z-other.z-object.z-dollar.z-only.z-js, .z-variable.z-type.z-dollar.z-only.z-js, .z-support.z-class.z-dollar.z-only.z-js { - color: #8b6426; - } - .z-storage { - color: #0062e8; - } - .z-storage.z-type { - color: #0062e8; - } - .z-entity.z-name.z-function { - color: #a45600; - } - .z-entity.z-name, .z-entity.z-name.z-tag, .z-entity.z-name.z-label { - color: #0070b3; - } - .z-entity.z-other.z-inherited-class { - color: #0070b3; - text-decoration: underline; - } - .z-variable.z-parameter { - color: #b04e00; - } - .z-variable.z-language { - color: #007492; - font-style: italic; - } - .z-entity.z-name.z-tag, .z-meta.z-tag.z-sgml { - color: #007492; - } - .z-punctuation.z-definition.z-tag.z-end, .z-punctuation.z-definition.z-tag.z-begin, .z-punctuation.z-definition.z-tag { - color: #007492; - } - .z-entity.z-other.z-attribute-name { - color: #a45600; - } - .z-variable.z-function, .z-variable.z-annotation { - color: #a45600; - } - .z-support.z-function, .z-support.z-macro { - color: #b94046; - } - .z-support.z-constant { - color: #a4552c; - font-style: italic; - } - .z-support.z-type, .z-support.z-class { - color: #007492; - font-style: italic; - } - .z-invalid { - color: #da0001; - } - .z-invalid.z-deprecated { - color: #ffffff; - background-color: #0062e8; - } - .z-source.z-ruby .z-variable.z-other.z-readwrite { - color: #a45600; - } - .z-source.z-css .z-entity.z-name.z-tag, .z-source.z-sass .z-entity.z-name.z-tag, .z-source.z-scss .z-entity.z-name.z-tag, .z-source.z-less .z-entity.z-name.z-tag, .z-source.z-stylus .z-entity.z-name.z-tag { - color: #0070b3; - } - .z-source.z-css .z-support.z-type, .z-source.z-sass .z-support.z-type, .z-source.z-scss .z-support.z-type, .z-source.z-less .z-support.z-type, .z-source.z-stylus .z-support.z-type { - color: #676c72; - } - .z-support.z-type.z-property-name { - color: #007492; - } - .z-constant.z-numeric.z-line-number.z-find-in-files { - color: #676c72; - } - .z-constant.z-numeric.z-line-number.z-match { - color: #0062e8; - } - .z-entity.z-name.z-filename.z-find-in-files { - color: #497700; - } - .z-message.z-error { - color: #da0001; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007492; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007492; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007492; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007492; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007492; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007492; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007492; - } - .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007492; - } - .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007492; - } - .z-markup.z-heading { - color: #0062e8; - font-weight: bold; - } - .z-string.z-other.z-link, .z-markup.z-underline.z-link { - color: #007b59; - text-decoration: underline; - font-style: italic; - } - .z-punctuation.z-definition.z-image { - color: #a45600; - } - .z-markup.z-italic { - color: #b94046; - font-style: italic; - } - .z-markup.z-bold { - color: #b94046; - font-weight: bold; - } - .z-markup.z-italic .z-markup.z-bold, .z-markup.z-bold .z-markup.z-italic { - font-weight: bold; - font-style: italic; - } - .z-markup.z-raw { - background-color: #50565a; - } - .z-markup.z-raw.z-inline { - background-color: #50565a; - } - .z-meta.z-separator { - color: #676c72; - background-color: #50565a; - font-weight: bold; - } - .z-markup.z-quote { - color: #b04e00; - font-style: italic; - } - .z-markup.z-list.z-numbered.z-bullet, .z-markup.z-list .z-punctuation.z-definition.z-list_item { - color: #007b59; - } - .z-markup.z-inserted { - color: #497700; - } - .z-markup.z-changed { - color: #007492; - } - .z-markup.z-deleted { - color: #b94046; - } - .z-markup.z-strike { - color: #8b6426; - } - .z-markup.z-table { - color: #007492; - background-color: #50565a; - } - .z-text.z-html.z-markdown .z-markup.z-raw.z-inline { - color: #a4552c; - } - .z-text.z-html.z-markdown .z-meta.z-dummy.z-line-break { - color: #676c72; - } - .z-markup.z-raw.z-block.z-fenced.z-markdown { - color: #50565a; - background-color: #50565a; - } - .z-punctuation.z-definition.z-fenced.z-markdown, .z-variable.z-language.z-fenced.z-markdown { - color: #676c72; - background-color: #50565a; - } - .z-variable.z-language.z-fenced.z-markdown { - color: #676c72; - } - .z-markup.z-inserted.z-git_gutter { - color: #497700; - } - .z-markup.z-changed.z-git_gutter { - color: #007492; - } - .z-markup.z-deleted.z-git_gutter { - color: #da0001; - } - .z-markup.z-ignored.z-git_gutter { - color: #696b6c; - } - .z-markup.z-untracked.z-git_gutter { - color: #696b6c; - } - .z-gutter_color { - color: #ffffff; - } - .z-acejump.z-label.z-blue { - color: #ffffff; - background-color: #007492; - } - .z-acejump.z-label.z-green { - color: #ffffff; - background-color: #497700; - } - .z-acejump.z-label.z-orange { - color: #ffffff; - background-color: #0062e8; - } - .z-acejump.z-label.z-purple { - color: #ffffff; - background-color: #b94046; - } - .z-sublimelinter.z-mark.z-warning { - color: #007492; - } - .z-sublimelinter.z-gutter-mark { - color: #ffffff; - } - .z-sublimelinter.z-mark.z-error { - color: #da0001; - } - } -}
\ No newline at end of file diff --git a/sass/syntax/syntax-ayu-abridge-dark.scss b/sass/syntax/syntax-ayu-abridge-dark.scss deleted file mode 100644 index d1632bc..0000000 --- a/sass/syntax/syntax-ayu-abridge-dark.scss +++ /dev/null @@ -1,275 +0,0 @@ -.z-code { - color: #bfbab0; - background-color: #191919; -} -.z-comment, .z-punctuation.z-definition.z-comment { - color: #798491; - font-style: italic; -} -.z-variable { - color: #bfbab0; -} -.z-string, .z-constant.z-other.z-symbol { - color: #c2d94c; -} -.z-constant.z-numeric { - color: #f29718; -} -.z-string.z-regexp, .z-constant.z-character.z-escape { - color: #95e6cb; -} -.z-constant.z-language { - color: #f29718; -} -.z-constant.z-character, .z-constant.z-other { - color: #f29718; -} -.z-variable.z-member { - color: #fe7d83; -} -.z-keyword, .z-keyword.z-operator.z-word { - color: #ff813c; -} -.z-keyword.z-operator { - color: #f29668; -} -.z-punctuation.z-separator, .z-punctuation.z-terminator { - color: #bfbab0; -} -.z-punctuation.z-section { - color: #bfbab0; -} -.z-punctuation.z-accessor { - color: #f29668; -} -.z-punctuation.z-definition.z-annotation { - color: #bfbab0; -} -.z-variable.z-other.z-dollar.z-only.z-js, .z-variable.z-other.z-object.z-dollar.z-only.z-js, .z-variable.z-type.z-dollar.z-only.z-js, .z-support.z-class.z-dollar.z-only.z-js { - color: #e6b673; -} -.z-storage { - color: #ff813c; -} -.z-storage.z-type { - color: #ff813c; -} -.z-entity.z-name.z-function { - color: #ffb454; -} -.z-entity.z-name, .z-entity.z-name.z-tag, .z-entity.z-name.z-label { - color: #59c2ff; -} -.z-entity.z-other.z-inherited-class { - color: #59c2ff; - text-decoration: underline; -} -.z-variable.z-parameter { - color: #f29718; -} -.z-variable.z-language { - color: #39bae6; - font-style: italic; -} -.z-entity.z-name.z-tag, .z-meta.z-tag.z-sgml { - color: #39bae6; -} -.z-punctuation.z-definition.z-tag.z-end, .z-punctuation.z-definition.z-tag.z-begin, .z-punctuation.z-definition.z-tag { - color: #39bae6; -} -.z-entity.z-other.z-attribute-name { - color: #ffb454; -} -.z-variable.z-function, .z-variable.z-annotation { - color: #ffb454; -} -.z-support.z-function, .z-support.z-macro { - color: #fe7d83; -} -.z-support.z-constant { - color: #f29668; - font-style: italic; -} -.z-support.z-type, .z-support.z-class { - color: #39bae6; - font-style: italic; -} -.z-invalid { - color: #ff7c6d; -} -.z-invalid.z-deprecated { - color: #ffffff; - background-color: #ff813c; -} -.z-meta.z-diff, .z-meta.z-diff.z-header { - color: #c594c5; -} -.z-source.z-ruby .z-variable.z-other.z-readwrite { - color: #ffb454; -} -.z-source.z-css .z-entity.z-name.z-tag, .z-source.z-sass .z-entity.z-name.z-tag, .z-source.z-scss .z-entity.z-name.z-tag, .z-source.z-less .z-entity.z-name.z-tag, .z-source.z-stylus .z-entity.z-name.z-tag { - color: #59c2ff; -} -.z-source.z-css .z-support.z-type, .z-source.z-sass .z-support.z-type, .z-source.z-scss .z-support.z-type, .z-source.z-less .z-support.z-type, .z-source.z-stylus .z-support.z-type { - color: #798491; -} -.z-support.z-type.z-property-name { - color: #39bae6; -} -.z-constant.z-numeric.z-line-number.z-find-in-files { - color: #798491; -} -.z-constant.z-numeric.z-line-number.z-match { - color: #ff813c; -} -.z-entity.z-name.z-filename.z-find-in-files { - color: #c2d94c; -} -.z-message.z-error { - color: #ff7c6d; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; -} -.z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; -} -.z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; -} -.z-markup.z-heading { - color: #ff813c; -font-weight: bold; -} -.z-string.z-other.z-link, .z-markup.z-underline.z-link { - color: #95e6cb; - text-decoration: underline; - font-style: italic; -} -.z-punctuation.z-definition.z-image { - color: #ffb454; -} -.z-markup.z-italic { - color: #fe7d83; - font-style: italic; -} -.z-markup.z-bold { - color: #fe7d83; -font-weight: bold; -} -.z-markup.z-italic .z-markup.z-bold, .z-markup.z-bold .z-markup.z-italic { -font-weight: bold; - font-style: italic; -} -.z-markup.z-raw { - background-color: #bfbab0; -} -.z-markup.z-raw.z-inline { - background-color: #bfbab0; -} -.z-meta.z-separator { - color: #798491; - background-color: #bfbab0; -font-weight: bold; -} -.z-markup.z-quote { - color: #f29718; - font-style: italic; -} -.z-markup.z-list.z-numbered.z-bullet, .z-markup.z-list .z-punctuation.z-definition.z-list_item { - color: #95e6cb; -} -.z-markup.z-inserted { - color: #c2d94c; -} -.z-markup.z-changed { - color: #39bae6; -} -.z-markup.z-deleted { - color: #fe7d83; -} -.z-markup.z-strike { - color: #e6b673; -} -.z-markup.z-table { - color: #39bae6; - background-color: #bfbab0; -} -.z-text.z-html.z-markdown .z-markup.z-raw.z-inline { - color: #f29668; -} -.z-text.z-html.z-markdown .z-meta.z-dummy.z-line-break { - color: #798491; -} -.z-markup.z-raw.z-block.z-fenced.z-markdown { - color: #bfbab0; - background-color: #bfbab0; -} -.z-punctuation.z-definition.z-fenced.z-markdown, .z-variable.z-language.z-fenced.z-markdown { - color: #798491; - background-color: #bfbab0; -} -.z-variable.z-language.z-fenced.z-markdown { - color: #798491; -} -.z-markup.z-inserted.z-git_gutter { - color: #c2d94c; -} -.z-markup.z-changed.z-git_gutter { - color: #39bae6; -} -.z-markup.z-deleted.z-git_gutter { - color: #ff7c6d; -} -.z-markup.z-ignored.z-git_gutter { - color: #20272c; -} -.z-markup.z-untracked.z-git_gutter { - color: #20272c; -} -.z-gutter_color { - color: #ffffff; -} -.z-acejump.z-label.z-blue { - color: #ffffff; - background-color: #39bae6; -} -.z-acejump.z-label.z-green { - color: #ffffff; - background-color: #c2d94c; -} -.z-acejump.z-label.z-orange { - color: #ffffff; - background-color: #ff813c; -} -.z-acejump.z-label.z-purple { - color: #ffffff; - background-color: #fe7d83; -} -.z-sublimelinter.z-mark.z-warning { - color: #39bae6; -} -.z-sublimelinter.z-gutter-mark { - color: #ffffff; -} -.z-sublimelinter.z-mark.z-error { - color: #ff7c6d; -} diff --git a/sass/syntax/syntax-ayu-abridge-light.scss b/sass/syntax/syntax-ayu-abridge-light.scss deleted file mode 100644 index d99ad69..0000000 --- a/sass/syntax/syntax-ayu-abridge-light.scss +++ /dev/null @@ -1,272 +0,0 @@ -.z-code { - color: #61676c; - background-color: #ffffff; -} -.z-comment, .z-punctuation.z-definition.z-comment { - color: #6e7379; - font-style: italic; -} -.z-variable { - color: #61676c; -} -.z-string, .z-constant.z-other.z-symbol { - color: #507e00; -} -.z-constant.z-numeric { - color: #b85500; -} -.z-string.z-regexp, .z-constant.z-character.z-escape { - color: #008260; -} -.z-constant.z-language { - color: #b85500; -} -.z-constant.z-character, .z-constant.z-other { - color: #b85500; -} -.z-variable.z-member { - color: #cb414d; -} -.z-keyword, .z-keyword.z-operator.z-word { - color: #c94506; -} -.z-keyword.z-operator { - color: #ac5c32; -} -.z-punctuation.z-separator, .z-punctuation.z-terminator { - color: #61676c; -} -.z-punctuation.z-section { - color: #61676c; -} -.z-punctuation.z-accessor { - color: #ac5c32; -} -.z-punctuation.z-definition.z-annotation { - color: #61676c; -} -.z-variable.z-other.z-dollar.z-only.z-js, .z-variable.z-other.z-object.z-dollar.z-only.z-js, .z-variable.z-type.z-dollar.z-only.z-js, .z-support.z-class.z-dollar.z-only.z-js { - color: #936b2c; -} -.z-storage { - color: #c94506; -} -.z-storage.z-type { - color: #c94506; -} -.z-entity.z-name.z-function { - color: #ac5d00; -} -.z-entity.z-name, .z-entity.z-name.z-tag, .z-entity.z-name.z-label { - color: #0079bd; -} -.z-entity.z-other.z-inherited-class { - color: #0079bd; - text-decoration: underline; -} -.z-variable.z-parameter { - color: #b85500; -} -.z-variable.z-language { - color: #007d9b; - font-style: italic; -} -.z-entity.z-name.z-tag, .z-meta.z-tag.z-sgml { - color: #007d9b; -} -.z-punctuation.z-definition.z-tag.z-end, .z-punctuation.z-definition.z-tag.z-begin, .z-punctuation.z-definition.z-tag { - color: #007d9b; -} -.z-entity.z-other.z-attribute-name { - color: #ac5d00; -} -.z-variable.z-function, .z-variable.z-annotation { - color: #ac5d00; -} -.z-support.z-function, .z-support.z-macro { - color: #c44a4e; -} -.z-support.z-constant { - color: #ac5c32; - font-style: italic; -} -.z-support.z-type, .z-support.z-class { - color: #007d9b; - font-style: italic; -} -.z-invalid { - color: #e6000b; -} -.z-invalid.z-deprecated { - color: #ffffff; - background-color: #c94506; -} -.z-source.z-ruby .z-variable.z-other.z-readwrite { - color: #ac5d00; -} -.z-source.z-css .z-entity.z-name.z-tag, .z-source.z-sass .z-entity.z-name.z-tag, .z-source.z-scss .z-entity.z-name.z-tag, .z-source.z-less .z-entity.z-name.z-tag, .z-source.z-stylus .z-entity.z-name.z-tag { - color: #0079bd; -} -.z-source.z-css .z-support.z-type, .z-source.z-sass .z-support.z-type, .z-source.z-scss .z-support.z-type, .z-source.z-less .z-support.z-type, .z-source.z-stylus .z-support.z-type { - color: #6e7379; -} -.z-support.z-type.z-property-name { - color: #007d9b; -} -.z-constant.z-numeric.z-line-number.z-find-in-files { - color: #6e7379; -} -.z-constant.z-numeric.z-line-number.z-match { - color: #c94506; -} -.z-entity.z-name.z-filename.z-find-in-files { - color: #507e00; -} -.z-message.z-error { - color: #e6000b; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007d9b; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007d9b; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007d9b; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007d9b; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007d9b; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007d9b; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007d9b; -} -.z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007d9b; -} -.z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007d9b; -} -.z-markup.z-heading { - color: #c94506; -font-weight: bold; -} -.z-string.z-other.z-link, .z-markup.z-underline.z-link { - color: #008260; - text-decoration: underline; - font-style: italic; -} -.z-punctuation.z-definition.z-image { - color: #ac5d00; -} -.z-markup.z-italic { - color: #c44a4e; - font-style: italic; -} -.z-markup.z-bold { - color: #c44a4e; -font-weight: bold; -} -.z-markup.z-italic .z-markup.z-bold, .z-markup.z-bold .z-markup.z-italic { -font-weight: bold; - font-style: italic; -} -.z-markup.z-raw { - background-color: #61676c; -} -.z-markup.z-raw.z-inline { - background-color: #61676c; -} -.z-meta.z-separator { - color: #6e7379; - background-color: #61676c; -font-weight: bold; -} -.z-markup.z-quote { - color: #b85500; - font-style: italic; -} -.z-markup.z-list.z-numbered.z-bullet, .z-markup.z-list .z-punctuation.z-definition.z-list_item { - color: #008260; -} -.z-markup.z-inserted { - color: #507e00; -} -.z-markup.z-changed { - color: #007d9b; -} -.z-markup.z-deleted { - color: #c44a4e; -} -.z-markup.z-strike { - color: #936b2c; -} -.z-markup.z-table { - color: #007d9b; - background-color: #61676c; -} -.z-text.z-html.z-markdown .z-markup.z-raw.z-inline { - color: #ac5c32; -} -.z-text.z-html.z-markdown .z-meta.z-dummy.z-line-break { - color: #6e7379; -} -.z-markup.z-raw.z-block.z-fenced.z-markdown { - color: #61676c; - background-color: #61676c; -} -.z-punctuation.z-definition.z-fenced.z-markdown, .z-variable.z-language.z-fenced.z-markdown { - color: #6e7379; - background-color: #61676c; -} -.z-variable.z-language.z-fenced.z-markdown { - color: #6e7379; -} -.z-markup.z-inserted.z-git_gutter { - color: #507e00; -} -.z-markup.z-changed.z-git_gutter { - color: #007d9b; -} -.z-markup.z-deleted.z-git_gutter { - color: #e6000b; -} -.z-markup.z-ignored.z-git_gutter { - color: #dee0e1; -} -.z-markup.z-untracked.z-git_gutter { - color: #dee0e1; -} -.z-gutter_color { - color: #ffffff; -} -.z-acejump.z-label.z-blue { - color: #ffffff; - background-color: #007d9b; -} -.z-acejump.z-label.z-green { - color: #ffffff; - background-color: #507e00; -} -.z-acejump.z-label.z-orange { - color: #ffffff; - background-color: #c94506; -} -.z-acejump.z-label.z-purple { - color: #ffffff; - background-color: #c44a4e; -} -.z-sublimelinter.z-mark.z-warning { - color: #007d9b; -} -.z-sublimelinter.z-gutter-mark { - color: #ffffff; -} -.z-sublimelinter.z-mark.z-error { - color: #e6000b; -} diff --git a/sass/syntax/syntax-ayu-abridge-switcher.scss b/sass/syntax/syntax-ayu-abridge-switcher.scss deleted file mode 100644 index f31946c..0000000 --- a/sass/syntax/syntax-ayu-abridge-switcher.scss +++ /dev/null @@ -1,551 +0,0 @@ -:root:not(.light) { - .z-code { - color: #bfbab0; - background-color: #191919; - } - .z-comment, .z-punctuation.z-definition.z-comment { - color: #798491; - font-style: italic; - } - .z-variable { - color: #bfbab0; - } - .z-string, .z-constant.z-other.z-symbol { - color: #c2d94c; - } - .z-constant.z-numeric { - color: #f29718; - } - .z-string.z-regexp, .z-constant.z-character.z-escape { - color: #95e6cb; - } - .z-constant.z-language { - color: #f29718; - } - .z-constant.z-character, .z-constant.z-other { - color: #f29718; - } - .z-variable.z-member { - color: #fe7d83; - } - .z-keyword, .z-keyword.z-operator.z-word { - color: #ff813c; - } - .z-keyword.z-operator { - color: #f29668; - } - .z-punctuation.z-separator, .z-punctuation.z-terminator { - color: #bfbab0; - } - .z-punctuation.z-section { - color: #bfbab0; - } - .z-punctuation.z-accessor { - color: #f29668; - } - .z-punctuation.z-definition.z-annotation { - color: #bfbab0; - } - .z-variable.z-other.z-dollar.z-only.z-js, .z-variable.z-other.z-object.z-dollar.z-only.z-js, .z-variable.z-type.z-dollar.z-only.z-js, .z-support.z-class.z-dollar.z-only.z-js { - color: #e6b673; - } - .z-storage { - color: #ff813c; - } - .z-storage.z-type { - color: #ff813c; - } - .z-entity.z-name.z-function { - color: #ffb454; - } - .z-entity.z-name, .z-entity.z-name.z-tag, .z-entity.z-name.z-label { - color: #59c2ff; - } - .z-entity.z-other.z-inherited-class { - color: #59c2ff; - text-decoration: underline; - } - .z-variable.z-parameter { - color: #f29718; - } - .z-variable.z-language { - color: #39bae6; - font-style: italic; - } - .z-entity.z-name.z-tag, .z-meta.z-tag.z-sgml { - color: #39bae6; - } - .z-punctuation.z-definition.z-tag.z-end, .z-punctuation.z-definition.z-tag.z-begin, .z-punctuation.z-definition.z-tag { - color: #39bae6; - } - .z-entity.z-other.z-attribute-name { - color: #ffb454; - } - .z-variable.z-function, .z-variable.z-annotation { - color: #ffb454; - } - .z-support.z-function, .z-support.z-macro { - color: #fe7d83; - } - .z-support.z-constant { - color: #f29668; - font-style: italic; - } - .z-support.z-type, .z-support.z-class { - color: #39bae6; - font-style: italic; - } - .z-invalid { - color: #ff7c6d; - } - .z-invalid.z-deprecated { - color: #ffffff; - background-color: #ff813c; - } - .z-meta.z-diff, .z-meta.z-diff.z-header { - color: #c594c5; - } - .z-source.z-ruby .z-variable.z-other.z-readwrite { - color: #ffb454; - } - .z-source.z-css .z-entity.z-name.z-tag, .z-source.z-sass .z-entity.z-name.z-tag, .z-source.z-scss .z-entity.z-name.z-tag, .z-source.z-less .z-entity.z-name.z-tag, .z-source.z-stylus .z-entity.z-name.z-tag { - color: #59c2ff; - } - .z-source.z-css .z-support.z-type, .z-source.z-sass .z-support.z-type, .z-source.z-scss .z-support.z-type, .z-source.z-less .z-support.z-type, .z-source.z-stylus .z-support.z-type { - color: #798491; - } - .z-support.z-type.z-property-name { - color: #39bae6; - } - .z-constant.z-numeric.z-line-number.z-find-in-files { - color: #798491; - } - .z-constant.z-numeric.z-line-number.z-match { - color: #ff813c; - } - .z-entity.z-name.z-filename.z-find-in-files { - color: #c2d94c; - } - .z-message.z-error { - color: #ff7c6d; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-markup.z-heading { - color: #ff813c; - font-weight: bold; - } - .z-string.z-other.z-link, .z-markup.z-underline.z-link { - color: #95e6cb; - text-decoration: underline; - font-style: italic; - } - .z-punctuation.z-definition.z-image { - color: #ffb454; - } - .z-markup.z-italic { - color: #fe7d83; - font-style: italic; - } - .z-markup.z-bold { - color: #fe7d83; - font-weight: bold; - } - .z-markup.z-italic .z-markup.z-bold, .z-markup.z-bold .z-markup.z-italic { - font-weight: bold; - font-style: italic; - } - .z-markup.z-raw { - background-color: #bfbab0; - } - .z-markup.z-raw.z-inline { - background-color: #bfbab0; - } - .z-meta.z-separator { - color: #798491; - background-color: #bfbab0; - font-weight: bold; - } - .z-markup.z-quote { - color: #f29718; - font-style: italic; - } - .z-markup.z-list.z-numbered.z-bullet, .z-markup.z-list .z-punctuation.z-definition.z-list_item { - color: #95e6cb; - } - .z-markup.z-inserted { - color: #c2d94c; - } - .z-markup.z-changed { - color: #39bae6; - } - .z-markup.z-deleted { - color: #fe7d83; - } - .z-markup.z-strike { - color: #e6b673; - } - .z-markup.z-table { - color: #39bae6; - background-color: #bfbab0; - } - .z-text.z-html.z-markdown .z-markup.z-raw.z-inline { - color: #f29668; - } - .z-text.z-html.z-markdown .z-meta.z-dummy.z-line-break { - color: #798491; - } - .z-markup.z-raw.z-block.z-fenced.z-markdown { - color: #bfbab0; - background-color: #bfbab0; - } - .z-punctuation.z-definition.z-fenced.z-markdown, .z-variable.z-language.z-fenced.z-markdown { - color: #798491; - background-color: #bfbab0; - } - .z-variable.z-language.z-fenced.z-markdown { - color: #798491; - } - .z-markup.z-inserted.z-git_gutter { - color: #c2d94c; - } - .z-markup.z-changed.z-git_gutter { - color: #39bae6; - } - .z-markup.z-deleted.z-git_gutter { - color: #ff7c6d; - } - .z-markup.z-ignored.z-git_gutter { - color: #20272c; - } - .z-markup.z-untracked.z-git_gutter { - color: #20272c; - } - .z-gutter_color { - color: #ffffff; - } - .z-acejump.z-label.z-blue { - color: #ffffff; - background-color: #39bae6; - } - .z-acejump.z-label.z-green { - color: #ffffff; - background-color: #c2d94c; - } - .z-acejump.z-label.z-orange { - color: #ffffff; - background-color: #ff813c; - } - .z-acejump.z-label.z-purple { - color: #ffffff; - background-color: #fe7d83; - } - .z-sublimelinter.z-mark.z-warning { - color: #39bae6; - } - .z-sublimelinter.z-gutter-mark { - color: #ffffff; - } - .z-sublimelinter.z-mark.z-error { - color: #ff7c6d; - } -} -:root.light { - .z-code { - color: #61676c; - background-color: #ffffff; - } - .z-comment, .z-punctuation.z-definition.z-comment { - color: #6e7379; - font-style: italic; - } - .z-variable { - color: #61676c; - } - .z-string, .z-constant.z-other.z-symbol { - color: #507e00; - } - .z-constant.z-numeric { - color: #b85500; - } - .z-string.z-regexp, .z-constant.z-character.z-escape { - color: #008260; - } - .z-constant.z-language { - color: #b85500; - } - .z-constant.z-character, .z-constant.z-other { - color: #b85500; - } - .z-variable.z-member { - color: #cb414d; - } - .z-keyword, .z-keyword.z-operator.z-word { - color: #c94506; - } - .z-keyword.z-operator { - color: #ac5c32; - } - .z-punctuation.z-separator, .z-punctuation.z-terminator { - color: #61676c; - } - .z-punctuation.z-section { - color: #61676c; - } - .z-punctuation.z-accessor { - color: #ac5c32; - } - .z-punctuation.z-definition.z-annotation { - color: #61676c; - } - .z-variable.z-other.z-dollar.z-only.z-js, .z-variable.z-other.z-object.z-dollar.z-only.z-js, .z-variable.z-type.z-dollar.z-only.z-js, .z-support.z-class.z-dollar.z-only.z-js { - color: #936b2c; - } - .z-storage { - color: #c94506; - } - .z-storage.z-type { - color: #c94506; - } - .z-entity.z-name.z-function { - color: #ac5d00; - } - .z-entity.z-name, .z-entity.z-name.z-tag, .z-entity.z-name.z-label { - color: #0079bd; - } - .z-entity.z-other.z-inherited-class { - color: #0079bd; - text-decoration: underline; - } - .z-variable.z-parameter { - color: #b85500; - } - .z-variable.z-language { - color: #007d9b; - font-style: italic; - } - .z-entity.z-name.z-tag, .z-meta.z-tag.z-sgml { - color: #007d9b; - } - .z-punctuation.z-definition.z-tag.z-end, .z-punctuation.z-definition.z-tag.z-begin, .z-punctuation.z-definition.z-tag { - color: #007d9b; - } - .z-entity.z-other.z-attribute-name { - color: #ac5d00; - } - .z-variable.z-function, .z-variable.z-annotation { - color: #ac5d00; - } - .z-support.z-function, .z-support.z-macro { - color: #c44a4e; - } - .z-support.z-constant { - color: #ac5c32; - font-style: italic; - } - .z-support.z-type, .z-support.z-class { - color: #007d9b; - font-style: italic; - } - .z-invalid { - color: #e6000b; - } - .z-invalid.z-deprecated { - color: #ffffff; - background-color: #c94506; - } - .z-source.z-ruby .z-variable.z-other.z-readwrite { - color: #ac5d00; - } - .z-source.z-css .z-entity.z-name.z-tag, .z-source.z-sass .z-entity.z-name.z-tag, .z-source.z-scss .z-entity.z-name.z-tag, .z-source.z-less .z-entity.z-name.z-tag, .z-source.z-stylus .z-entity.z-name.z-tag { - color: #0079bd; - } - .z-source.z-css .z-support.z-type, .z-source.z-sass .z-support.z-type, .z-source.z-scss .z-support.z-type, .z-source.z-less .z-support.z-type, .z-source.z-stylus .z-support.z-type { - color: #6e7379; - } - .z-support.z-type.z-property-name { - color: #007d9b; - } - .z-constant.z-numeric.z-line-number.z-find-in-files { - color: #6e7379; - } - .z-constant.z-numeric.z-line-number.z-match { - color: #c94506; - } - .z-entity.z-name.z-filename.z-find-in-files { - color: #507e00; - } - .z-message.z-error { - color: #e6000b; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007d9b; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007d9b; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007d9b; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007d9b; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007d9b; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007d9b; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007d9b; - } - .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007d9b; - } - .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007d9b; - } - .z-markup.z-heading { - color: #c94506; - font-weight: bold; - } - .z-string.z-other.z-link, .z-markup.z-underline.z-link { - color: #008260; - text-decoration: underline; - font-style: italic; - } - .z-punctuation.z-definition.z-image { - color: #ac5d00; - } - .z-markup.z-italic { - color: #c44a4e; - font-style: italic; - } - .z-markup.z-bold { - color: #c44a4e; - font-weight: bold; - } - .z-markup.z-italic .z-markup.z-bold, .z-markup.z-bold .z-markup.z-italic { - font-weight: bold; - font-style: italic; - } - .z-markup.z-raw { - background-color: #61676c; - } - .z-markup.z-raw.z-inline { - background-color: #61676c; - } - .z-meta.z-separator { - color: #6e7379; - background-color: #61676c; - font-weight: bold; - } - .z-markup.z-quote { - color: #b85500; - font-style: italic; - } - .z-markup.z-list.z-numbered.z-bullet, .z-markup.z-list .z-punctuation.z-definition.z-list_item { - color: #008260; - } - .z-markup.z-inserted { - color: #507e00; - } - .z-markup.z-changed { - color: #007d9b; - } - .z-markup.z-deleted { - color: #c44a4e; - } - .z-markup.z-strike { - color: #936b2c; - } - .z-markup.z-table { - color: #007d9b; - background-color: #61676c; - } - .z-text.z-html.z-markdown .z-markup.z-raw.z-inline { - color: #ac5c32; - } - .z-text.z-html.z-markdown .z-meta.z-dummy.z-line-break { - color: #6e7379; - } - .z-markup.z-raw.z-block.z-fenced.z-markdown { - color: #61676c; - background-color: #61676c; - } - .z-punctuation.z-definition.z-fenced.z-markdown, .z-variable.z-language.z-fenced.z-markdown { - color: #6e7379; - background-color: #61676c; - } - .z-variable.z-language.z-fenced.z-markdown { - color: #6e7379; - } - .z-markup.z-inserted.z-git_gutter { - color: #507e00; - } - .z-markup.z-changed.z-git_gutter { - color: #007d9b; - } - .z-markup.z-deleted.z-git_gutter { - color: #e6000b; - } - .z-markup.z-ignored.z-git_gutter { - color: #dee0e1; - } - .z-markup.z-untracked.z-git_gutter { - color: #dee0e1; - } - .z-gutter_color { - color: #ffffff; - } - .z-acejump.z-label.z-blue { - color: #ffffff; - background-color: #007d9b; - } - .z-acejump.z-label.z-green { - color: #ffffff; - background-color: #507e00; - } - .z-acejump.z-label.z-orange { - color: #ffffff; - background-color: #c94506; - } - .z-acejump.z-label.z-purple { - color: #ffffff; - background-color: #c44a4e; - } - .z-sublimelinter.z-mark.z-warning { - color: #007d9b; - } - .z-sublimelinter.z-gutter-mark { - color: #ffffff; - } - .z-sublimelinter.z-mark.z-error { - color: #e6000b; - } -}
\ No newline at end of file diff --git a/sass/syntax/syntax-ayu-abridge.scss b/sass/syntax/syntax-ayu-abridge.scss deleted file mode 100644 index 3587a73..0000000 --- a/sass/syntax/syntax-ayu-abridge.scss +++ /dev/null @@ -1,553 +0,0 @@ -:root { - .z-code { - color: #bfbab0; - background-color: #191919; - } - .z-comment, .z-punctuation.z-definition.z-comment { - color: #798491; - font-style: italic; - } - .z-variable { - color: #bfbab0; - } - .z-string, .z-constant.z-other.z-symbol { - color: #c2d94c; - } - .z-constant.z-numeric { - color: #f29718; - } - .z-string.z-regexp, .z-constant.z-character.z-escape { - color: #95e6cb; - } - .z-constant.z-language { - color: #f29718; - } - .z-constant.z-character, .z-constant.z-other { - color: #f29718; - } - .z-variable.z-member { - color: #fe7d83; - } - .z-keyword, .z-keyword.z-operator.z-word { - color: #ff813c; - } - .z-keyword.z-operator { - color: #f29668; - } - .z-punctuation.z-separator, .z-punctuation.z-terminator { - color: #bfbab0; - } - .z-punctuation.z-section { - color: #bfbab0; - } - .z-punctuation.z-accessor { - color: #f29668; - } - .z-punctuation.z-definition.z-annotation { - color: #bfbab0; - } - .z-variable.z-other.z-dollar.z-only.z-js, .z-variable.z-other.z-object.z-dollar.z-only.z-js, .z-variable.z-type.z-dollar.z-only.z-js, .z-support.z-class.z-dollar.z-only.z-js { - color: #e6b673; - } - .z-storage { - color: #ff813c; - } - .z-storage.z-type { - color: #ff813c; - } - .z-entity.z-name.z-function { - color: #ffb454; - } - .z-entity.z-name, .z-entity.z-name.z-tag, .z-entity.z-name.z-label { - color: #59c2ff; - } - .z-entity.z-other.z-inherited-class { - color: #59c2ff; - text-decoration: underline; - } - .z-variable.z-parameter { - color: #f29718; - } - .z-variable.z-language { - color: #39bae6; - font-style: italic; - } - .z-entity.z-name.z-tag, .z-meta.z-tag.z-sgml { - color: #39bae6; - } - .z-punctuation.z-definition.z-tag.z-end, .z-punctuation.z-definition.z-tag.z-begin, .z-punctuation.z-definition.z-tag { - color: #39bae6; - } - .z-entity.z-other.z-attribute-name { - color: #ffb454; - } - .z-variable.z-function, .z-variable.z-annotation { - color: #ffb454; - } - .z-support.z-function, .z-support.z-macro { - color: #fe7d83; - } - .z-support.z-constant { - color: #f29668; - font-style: italic; - } - .z-support.z-type, .z-support.z-class { - color: #39bae6; - font-style: italic; - } - .z-invalid { - color: #ff7c6d; - } - .z-invalid.z-deprecated { - color: #ffffff; - background-color: #ff813c; - } - .z-meta.z-diff, .z-meta.z-diff.z-header { - color: #c594c5; - } - .z-source.z-ruby .z-variable.z-other.z-readwrite { - color: #ffb454; - } - .z-source.z-css .z-entity.z-name.z-tag, .z-source.z-sass .z-entity.z-name.z-tag, .z-source.z-scss .z-entity.z-name.z-tag, .z-source.z-less .z-entity.z-name.z-tag, .z-source.z-stylus .z-entity.z-name.z-tag { - color: #59c2ff; - } - .z-source.z-css .z-support.z-type, .z-source.z-sass .z-support.z-type, .z-source.z-scss .z-support.z-type, .z-source.z-less .z-support.z-type, .z-source.z-stylus .z-support.z-type { - color: #798491; - } - .z-support.z-type.z-property-name { - color: #39bae6; - } - .z-constant.z-numeric.z-line-number.z-find-in-files { - color: #798491; - } - .z-constant.z-numeric.z-line-number.z-match { - color: #ff813c; - } - .z-entity.z-name.z-filename.z-find-in-files { - color: #c2d94c; - } - .z-message.z-error { - color: #ff7c6d; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #39bae6; - } - .z-markup.z-heading { - color: #ff813c; - font-weight: bold; - } - .z-string.z-other.z-link, .z-markup.z-underline.z-link { - color: #95e6cb; - text-decoration: underline; - font-style: italic; - } - .z-punctuation.z-definition.z-image { - color: #ffb454; - } - .z-markup.z-italic { - color: #fe7d83; - font-style: italic; - } - .z-markup.z-bold { - color: #fe7d83; - font-weight: bold; - } - .z-markup.z-italic .z-markup.z-bold, .z-markup.z-bold .z-markup.z-italic { - font-weight: bold; - font-style: italic; - } - .z-markup.z-raw { - background-color: #bfbab0; - } - .z-markup.z-raw.z-inline { - background-color: #bfbab0; - } - .z-meta.z-separator { - color: #798491; - background-color: #bfbab0; - font-weight: bold; - } - .z-markup.z-quote { - color: #f29718; - font-style: italic; - } - .z-markup.z-list.z-numbered.z-bullet, .z-markup.z-list .z-punctuation.z-definition.z-list_item { - color: #95e6cb; - } - .z-markup.z-inserted { - color: #c2d94c; - } - .z-markup.z-changed { - color: #39bae6; - } - .z-markup.z-deleted { - color: #fe7d83; - } - .z-markup.z-strike { - color: #e6b673; - } - .z-markup.z-table { - color: #39bae6; - background-color: #bfbab0; - } - .z-text.z-html.z-markdown .z-markup.z-raw.z-inline { - color: #f29668; - } - .z-text.z-html.z-markdown .z-meta.z-dummy.z-line-break { - color: #798491; - } - .z-markup.z-raw.z-block.z-fenced.z-markdown { - color: #bfbab0; - background-color: #bfbab0; - } - .z-punctuation.z-definition.z-fenced.z-markdown, .z-variable.z-language.z-fenced.z-markdown { - color: #798491; - background-color: #bfbab0; - } - .z-variable.z-language.z-fenced.z-markdown { - color: #798491; - } - .z-markup.z-inserted.z-git_gutter { - color: #c2d94c; - } - .z-markup.z-changed.z-git_gutter { - color: #39bae6; - } - .z-markup.z-deleted.z-git_gutter { - color: #ff7c6d; - } - .z-markup.z-ignored.z-git_gutter { - color: #20272c; - } - .z-markup.z-untracked.z-git_gutter { - color: #20272c; - } - .z-gutter_color { - color: #ffffff; - } - .z-acejump.z-label.z-blue { - color: #ffffff; - background-color: #39bae6; - } - .z-acejump.z-label.z-green { - color: #ffffff; - background-color: #c2d94c; - } - .z-acejump.z-label.z-orange { - color: #ffffff; - background-color: #ff813c; - } - .z-acejump.z-label.z-purple { - color: #ffffff; - background-color: #fe7d83; - } - .z-sublimelinter.z-mark.z-warning { - color: #39bae6; - } - .z-sublimelinter.z-gutter-mark { - color: #ffffff; - } - .z-sublimelinter.z-mark.z-error { - color: #ff7c6d; - } -} -@media (prefers-color-scheme: light) { - :root { - .z-code { - color: #61676c; - background-color: #ffffff; - } - .z-comment, .z-punctuation.z-definition.z-comment { - color: #6e7379; - font-style: italic; - } - .z-variable { - color: #61676c; - } - .z-string, .z-constant.z-other.z-symbol { - color: #507e00; - } - .z-constant.z-numeric { - color: #b85500; - } - .z-string.z-regexp, .z-constant.z-character.z-escape { - color: #008260; - } - .z-constant.z-language { - color: #b85500; - } - .z-constant.z-character, .z-constant.z-other { - color: #b85500; - } - .z-variable.z-member { - color: #cb414d; - } - .z-keyword, .z-keyword.z-operator.z-word { - color: #c94506; - } - .z-keyword.z-operator { - color: #ac5c32; - } - .z-punctuation.z-separator, .z-punctuation.z-terminator { - color: #61676c; - } - .z-punctuation.z-section { - color: #61676c; - } - .z-punctuation.z-accessor { - color: #ac5c32; - } - .z-punctuation.z-definition.z-annotation { - color: #61676c; - } - .z-variable.z-other.z-dollar.z-only.z-js, .z-variable.z-other.z-object.z-dollar.z-only.z-js, .z-variable.z-type.z-dollar.z-only.z-js, .z-support.z-class.z-dollar.z-only.z-js { - color: #936b2c; - } - .z-storage { - color: #c94506; - } - .z-storage.z-type { - color: #c94506; - } - .z-entity.z-name.z-function { - color: #ac5d00; - } - .z-entity.z-name, .z-entity.z-name.z-tag, .z-entity.z-name.z-label { - color: #0079bd; - } - .z-entity.z-other.z-inherited-class { - color: #0079bd; - text-decoration: underline; - } - .z-variable.z-parameter { - color: #b85500; - } - .z-variable.z-language { - color: #007d9b; - font-style: italic; - } - .z-entity.z-name.z-tag, .z-meta.z-tag.z-sgml { - color: #007d9b; - } - .z-punctuation.z-definition.z-tag.z-end, .z-punctuation.z-definition.z-tag.z-begin, .z-punctuation.z-definition.z-tag { - color: #007d9b; - } - .z-entity.z-other.z-attribute-name { - color: #ac5d00; - } - .z-variable.z-function, .z-variable.z-annotation { - color: #ac5d00; - } - .z-support.z-function, .z-support.z-macro { - color: #c44a4e; - } - .z-support.z-constant { - color: #ac5c32; - font-style: italic; - } - .z-support.z-type, .z-support.z-class { - color: #007d9b; - font-style: italic; - } - .z-invalid { - color: #e6000b; - } - .z-invalid.z-deprecated { - color: #ffffff; - background-color: #c94506; - } - .z-source.z-ruby .z-variable.z-other.z-readwrite { - color: #ac5d00; - } - .z-source.z-css .z-entity.z-name.z-tag, .z-source.z-sass .z-entity.z-name.z-tag, .z-source.z-scss .z-entity.z-name.z-tag, .z-source.z-less .z-entity.z-name.z-tag, .z-source.z-stylus .z-entity.z-name.z-tag { - color: #0079bd; - } - .z-source.z-css .z-support.z-type, .z-source.z-sass .z-support.z-type, .z-source.z-scss .z-support.z-type, .z-source.z-less .z-support.z-type, .z-source.z-stylus .z-support.z-type { - color: #6e7379; - } - .z-support.z-type.z-property-name { - color: #007d9b; - } - .z-constant.z-numeric.z-line-number.z-find-in-files { - color: #6e7379; - } - .z-constant.z-numeric.z-line-number.z-match { - color: #c94506; - } - .z-entity.z-name.z-filename.z-find-in-files { - color: #507e00; - } - .z-message.z-error { - color: #e6000b; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007d9b; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007d9b; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007d9b; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007d9b; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007d9b; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007d9b; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007d9b; - } - .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007d9b; - } - .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007d9b; - } - .z-markup.z-heading { - color: #c94506; - font-weight: bold; - } - .z-string.z-other.z-link, .z-markup.z-underline.z-link { - color: #008260; - text-decoration: underline; - font-style: italic; - } - .z-punctuation.z-definition.z-image { - color: #ac5d00; - } - .z-markup.z-italic { - color: #c44a4e; - font-style: italic; - } - .z-markup.z-bold { - color: #c44a4e; - font-weight: bold; - } - .z-markup.z-italic .z-markup.z-bold, .z-markup.z-bold .z-markup.z-italic { - font-weight: bold; - font-style: italic; - } - .z-markup.z-raw { - background-color: #61676c; - } - .z-markup.z-raw.z-inline { - background-color: #61676c; - } - .z-meta.z-separator { - color: #6e7379; - background-color: #61676c; - font-weight: bold; - } - .z-markup.z-quote { - color: #b85500; - font-style: italic; - } - .z-markup.z-list.z-numbered.z-bullet, .z-markup.z-list .z-punctuation.z-definition.z-list_item { - color: #008260; - } - .z-markup.z-inserted { - color: #507e00; - } - .z-markup.z-changed { - color: #007d9b; - } - .z-markup.z-deleted { - color: #c44a4e; - } - .z-markup.z-strike { - color: #936b2c; - } - .z-markup.z-table { - color: #007d9b; - background-color: #61676c; - } - .z-text.z-html.z-markdown .z-markup.z-raw.z-inline { - color: #ac5c32; - } - .z-text.z-html.z-markdown .z-meta.z-dummy.z-line-break { - color: #6e7379; - } - .z-markup.z-raw.z-block.z-fenced.z-markdown { - color: #61676c; - background-color: #61676c; - } - .z-punctuation.z-definition.z-fenced.z-markdown, .z-variable.z-language.z-fenced.z-markdown { - color: #6e7379; - background-color: #61676c; - } - .z-variable.z-language.z-fenced.z-markdown { - color: #6e7379; - } - .z-markup.z-inserted.z-git_gutter { - color: #507e00; - } - .z-markup.z-changed.z-git_gutter { - color: #007d9b; - } - .z-markup.z-deleted.z-git_gutter { - color: #e6000b; - } - .z-markup.z-ignored.z-git_gutter { - color: #dee0e1; - } - .z-markup.z-untracked.z-git_gutter { - color: #dee0e1; - } - .z-gutter_color { - color: #ffffff; - } - .z-acejump.z-label.z-blue { - color: #ffffff; - background-color: #007d9b; - } - .z-acejump.z-label.z-green { - color: #ffffff; - background-color: #507e00; - } - .z-acejump.z-label.z-orange { - color: #ffffff; - background-color: #c94506; - } - .z-acejump.z-label.z-purple { - color: #ffffff; - background-color: #c44a4e; - } - .z-sublimelinter.z-mark.z-warning { - color: #007d9b; - } - .z-sublimelinter.z-gutter-mark { - color: #ffffff; - } - .z-sublimelinter.z-mark.z-error { - color: #e6000b; - } - } -}
\ No newline at end of file diff --git a/sass/syntax/syntax-ayumirage-abridge-dark.scss b/sass/syntax/syntax-ayumirage-abridge-dark.scss deleted file mode 100644 index 9e6a6ff..0000000 --- a/sass/syntax/syntax-ayumirage-abridge-dark.scss +++ /dev/null @@ -1,275 +0,0 @@ -.z-code { - color: #ccc9c2; - background-color: #191919; -} -.z-comment, .z-punctuation.z-definition.z-comment { - color: #798491; - font-style: italic; -} -.z-variable { - color: #ccc9c2; -} -.z-string, .z-constant.z-other.z-symbol { - color: #bae67e; -} -.z-constant.z-numeric { - color: #ffcc66; -} -.z-string.z-regexp, .z-constant.z-character.z-escape { - color: #95e6cb; -} -.z-constant.z-language { - color: #ffcc66; -} -.z-constant.z-character, .z-constant.z-other { - color: #ffcc66; -} -.z-variable.z-member { - color: #fe7d83; -} -.z-keyword, .z-keyword.z-operator.z-word { - color: #ffa759; -} -.z-keyword.z-operator { - color: #f29e74; -} -.z-punctuation.z-separator, .z-punctuation.z-terminator { - color: #ccc9c2; -} -.z-punctuation.z-section { - color: #ccc9c2; -} -.z-punctuation.z-accessor { - color: #f29e74; -} -.z-punctuation.z-definition.z-annotation { - color: #ccc9c2; -} -.z-variable.z-other.z-dollar.z-only.z-js, .z-variable.z-other.z-object.z-dollar.z-only.z-js, .z-variable.z-type.z-dollar.z-only.z-js, .z-support.z-class.z-dollar.z-only.z-js { - color: #ffc44c; -} -.z-storage { - color: #ffa759; -} -.z-storage.z-type { - color: #ffa759; -} -.z-entity.z-name.z-function { - color: #ffd580; -} -.z-entity.z-name, .z-entity.z-name.z-tag, .z-entity.z-name.z-label { - color: #73d0ff; -} -.z-entity.z-other.z-inherited-class { - color: #73d0ff; - text-decoration: underline; -} -.z-variable.z-parameter { - color: #ffcc66; -} -.z-variable.z-language { - color: #5ccfe6; - font-style: italic; -} -.z-entity.z-name.z-tag, .z-meta.z-tag.z-sgml { - color: #5ccfe6; -} -.z-punctuation.z-definition.z-tag.z-end, .z-punctuation.z-definition.z-tag.z-begin, .z-punctuation.z-definition.z-tag { - color: #5ccfe6; -} -.z-entity.z-other.z-attribute-name { - color: #ffd580; -} -.z-variable.z-function, .z-variable.z-annotation { - color: #ffd580; -} -.z-support.z-function, .z-support.z-macro { - color: #f28779; -} -.z-support.z-constant { - color: #f29e74; - font-style: italic; -} -.z-support.z-type, .z-support.z-class { - color: #5ccfe6; - font-style: italic; -} -.z-invalid { - color: #ff7c6d; -} -.z-invalid.z-deprecated { - color: #ffffff; - background-color: #ffa759; -} -.z-meta.z-diff, .z-meta.z-diff.z-header { - color: #c594c5; -} -.z-source.z-ruby .z-variable.z-other.z-readwrite { - color: #ffd580; -} -.z-source.z-css .z-entity.z-name.z-tag, .z-source.z-sass .z-entity.z-name.z-tag, .z-source.z-scss .z-entity.z-name.z-tag, .z-source.z-less .z-entity.z-name.z-tag, .z-source.z-stylus .z-entity.z-name.z-tag { - color: #73d0ff; -} -.z-source.z-css .z-support.z-type, .z-source.z-sass .z-support.z-type, .z-source.z-scss .z-support.z-type, .z-source.z-less .z-support.z-type, .z-source.z-stylus .z-support.z-type { - color: #798491; -} -.z-support.z-type.z-property-name { - color: #5ccfe6; -} -.z-constant.z-numeric.z-line-number.z-find-in-files { - color: #798491; -} -.z-constant.z-numeric.z-line-number.z-match { - color: #ffa759; -} -.z-entity.z-name.z-filename.z-find-in-files { - color: #bae67e; -} -.z-message.z-error { - color: #ff7c6d; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #5ccfe6; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #5ccfe6; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #5ccfe6; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #5ccfe6; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #5ccfe6; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #5ccfe6; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #5ccfe6; -} -.z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #5ccfe6; -} -.z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #5ccfe6; -} -.z-markup.z-heading { - color: #ffa759; -font-weight: bold; -} -.z-string.z-other.z-link, .z-markup.z-underline.z-link { - color: #95e6cb; - text-decoration: underline; - font-style: italic; -} -.z-punctuation.z-definition.z-image { - color: #ffd580; -} -.z-markup.z-italic { - color: #f28779; - font-style: italic; -} -.z-markup.z-bold { - color: #f28779; -font-weight: bold; -} -.z-markup.z-italic .z-markup.z-bold, .z-markup.z-bold .z-markup.z-italic { -font-weight: bold; - font-style: italic; -} -.z-markup.z-raw { - background-color: #ccc9c2; -} -.z-markup.z-raw.z-inline { - background-color: #ccc9c2; -} -.z-meta.z-separator { - color: #798491; - background-color: #ccc9c2; -font-weight: bold; -} -.z-markup.z-quote { - color: #ffcc66; - font-style: italic; -} -.z-markup.z-list.z-numbered.z-bullet, .z-markup.z-list .z-punctuation.z-definition.z-list_item { - color: #95e6cb; -} -.z-markup.z-inserted { - color: #bae67e; -} -.z-markup.z-changed { - color: #5ccfe6; -} -.z-markup.z-deleted { - color: #f28779; -} -.z-markup.z-strike { - color: #ffc44c; -} -.z-markup.z-table { - color: #5ccfe6; - background-color: #ccc9c2; -} -.z-text.z-html.z-markdown .z-markup.z-raw.z-inline { - color: #f29e74; -} -.z-text.z-html.z-markdown .z-meta.z-dummy.z-line-break { - color: #798491; -} -.z-markup.z-raw.z-block.z-fenced.z-markdown { - color: #ccc9c2; - background-color: #ccc9c2; -} -.z-punctuation.z-definition.z-fenced.z-markdown, .z-variable.z-language.z-fenced.z-markdown { - color: #798491; - background-color: #ccc9c2; -} -.z-variable.z-language.z-fenced.z-markdown { - color: #798491; -} -.z-markup.z-inserted.z-git_gutter { - color: #bae67e; -} -.z-markup.z-changed.z-git_gutter { - color: #5ccfe6; -} -.z-markup.z-deleted.z-git_gutter { - color: #ff7c6d; -} -.z-markup.z-ignored.z-git_gutter { - color: #363e4a; -} -.z-markup.z-untracked.z-git_gutter { - color: #363e4a; -} -.z-gutter_color { - color: #ffffff; -} -.z-acejump.z-label.z-blue { - color: #ffffff; - background-color: #5ccfe6; -} -.z-acejump.z-label.z-green { - color: #ffffff; - background-color: #bae67e; -} -.z-acejump.z-label.z-orange { - color: #ffffff; - background-color: #ffa759; -} -.z-acejump.z-label.z-purple { - color: #ffffff; - background-color: #f28779; -} -.z-sublimelinter.z-mark.z-warning { - color: #5ccfe6; -} -.z-sublimelinter.z-gutter-mark { - color: #ffffff; -} -.z-sublimelinter.z-mark.z-error { - color: #ff7c6d; -} diff --git a/sass/syntax/syntax-ayumirage-abridge-light.scss b/sass/syntax/syntax-ayumirage-abridge-light.scss deleted file mode 100644 index 825e6ef..0000000 --- a/sass/syntax/syntax-ayumirage-abridge-light.scss +++ /dev/null @@ -1,275 +0,0 @@ -.z-code { - color: #76736d; - background-color: #ffffff; -} -.z-comment, .z-punctuation.z-definition.z-comment { - color: #5c6773; - font-style: italic; -} -.z-variable { - color: #76736d; -} -.z-string, .z-constant.z-other.z-symbol { - color: #547f1c; -} -.z-constant.z-numeric { - color: #926b00; -} -.z-string.z-regexp, .z-constant.z-character.z-escape { - color: #2d7f68; -} -.z-constant.z-language { - color: #926b00; -} -.z-constant.z-character, .z-constant.z-other { - color: #926b00; -} -.z-variable.z-member { - color: #cb414d; -} -.z-keyword, .z-keyword.z-operator.z-word { - color: #aa5f0f; -} -.z-keyword.z-operator { - color: #aa5f39; -} -.z-punctuation.z-separator, .z-punctuation.z-terminator { - color: #76736d; -} -.z-punctuation.z-section { - color: #76736d; -} -.z-punctuation.z-accessor { - color: #aa5f39; -} -.z-punctuation.z-definition.z-annotation { - color: #76736d; -} -.z-variable.z-other.z-dollar.z-only.z-js, .z-variable.z-other.z-object.z-dollar.z-only.z-js, .z-variable.z-type.z-dollar.z-only.z-js, .z-support.z-class.z-dollar.z-only.z-js { - color: #986b00; -} -.z-storage { - color: #aa5f0f; -} -.z-storage.z-type { - color: #aa5f0f; -} -.z-entity.z-name.z-function { - color: #8f6f1d; -} -.z-entity.z-name, .z-entity.z-name.z-tag, .z-entity.z-name.z-label { - color: #007ca7; -} -.z-entity.z-other.z-inherited-class { - color: #007ca7; - text-decoration: underline; -} -.z-variable.z-parameter { - color: #926b00; -} -.z-variable.z-language { - color: #007f95; - font-style: italic; -} -.z-entity.z-name.z-tag, .z-meta.z-tag.z-sgml { - color: #007f95; -} -.z-punctuation.z-definition.z-tag.z-end, .z-punctuation.z-definition.z-tag.z-begin, .z-punctuation.z-definition.z-tag { - color: #007f95; -} -.z-entity.z-other.z-attribute-name { - color: #8f6f1d; -} -.z-variable.z-function, .z-variable.z-annotation { - color: #8f6f1d; -} -.z-support.z-function, .z-support.z-macro { - color: #b75349; -} -.z-support.z-constant { - color: #aa5f39; - font-style: italic; -} -.z-support.z-type, .z-support.z-class { - color: #007f95; - font-style: italic; -} -.z-invalid { - color: #e40320; -} -.z-invalid.z-deprecated { - color: #ffffff; - background-color: #aa5f0f; -} -.z-meta.z-diff, .z-meta.z-diff.z-header { - color: #916392; -} -.z-source.z-ruby .z-variable.z-other.z-readwrite { - color: #8f6f1d; -} -.z-source.z-css .z-entity.z-name.z-tag, .z-source.z-sass .z-entity.z-name.z-tag, .z-source.z-scss .z-entity.z-name.z-tag, .z-source.z-less .z-entity.z-name.z-tag, .z-source.z-stylus .z-entity.z-name.z-tag { - color: #007ca7; -} -.z-source.z-css .z-support.z-type, .z-source.z-sass .z-support.z-type, .z-source.z-scss .z-support.z-type, .z-source.z-less .z-support.z-type, .z-source.z-stylus .z-support.z-type { - color: #5c6773; -} -.z-support.z-type.z-property-name { - color: #007f95; -} -.z-constant.z-numeric.z-line-number.z-find-in-files { - color: #5c6773; -} -.z-constant.z-numeric.z-line-number.z-match { - color: #aa5f0f; -} -.z-entity.z-name.z-filename.z-find-in-files { - color: #547f1c; -} -.z-message.z-error { - color: #e40320; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007f95; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007f95; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007f95; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007f95; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007f95; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007f95; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007f95; -} -.z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007f95; -} -.z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007f95; -} -.z-markup.z-heading { - color: #aa5f0f; -font-weight: bold; -} -.z-string.z-other.z-link, .z-markup.z-underline.z-link { - color: #2d7f68; - text-decoration: underline; - font-style: italic; -} -.z-punctuation.z-definition.z-image { - color: #8f6f1d; -} -.z-markup.z-italic { - color: #b75349; - font-style: italic; -} -.z-markup.z-bold { - color: #b75349; -font-weight: bold; -} -.z-markup.z-italic .z-markup.z-bold, .z-markup.z-bold .z-markup.z-italic { -font-weight: bold; - font-style: italic; -} -.z-markup.z-raw { - background-color: #76736d; -} -.z-markup.z-raw.z-inline { - background-color: #76736d; -} -.z-meta.z-separator { - color: #5c6773; - background-color: #76736d; -font-weight: bold; -} -.z-markup.z-quote { - color: #926b00; - font-style: italic; -} -.z-markup.z-list.z-numbered.z-bullet, .z-markup.z-list .z-punctuation.z-definition.z-list_item { - color: #2d7f68; -} -.z-markup.z-inserted { - color: #547f1c; -} -.z-markup.z-changed { - color: #007f95; -} -.z-markup.z-deleted { - color: #b75349; -} -.z-markup.z-strike { - color: #986b00; -} -.z-markup.z-table { - color: #007f95; - background-color: #76736d; -} -.z-text.z-html.z-markdown .z-markup.z-raw.z-inline { - color: #aa5f39; -} -.z-text.z-html.z-markdown .z-meta.z-dummy.z-line-break { - color: #5c6773; -} -.z-markup.z-raw.z-block.z-fenced.z-markdown { - color: #76736d; - background-color: #76736d; -} -.z-punctuation.z-definition.z-fenced.z-markdown, .z-variable.z-language.z-fenced.z-markdown { - color: #5c6773; - background-color: #76736d; -} -.z-variable.z-language.z-fenced.z-markdown { - color: #5c6773; -} -.z-markup.z-inserted.z-git_gutter { - color: #547f1c; -} -.z-markup.z-changed.z-git_gutter { - color: #007f95; -} -.z-markup.z-deleted.z-git_gutter { - color: #e40320; -} -.z-markup.z-ignored.z-git_gutter { - color: #363e4a; -} -.z-markup.z-untracked.z-git_gutter { - color: #363e4a; -} -.z-gutter_color { - color: #ffffff; -} -.z-acejump.z-label.z-blue { - color: #ffffff; - background-color: #007f95; -} -.z-acejump.z-label.z-green { - color: #ffffff; - background-color: #547f1c; -} -.z-acejump.z-label.z-orange { - color: #ffffff; - background-color: #aa5f0f; -} -.z-acejump.z-label.z-purple { - color: #ffffff; - background-color: #b75349; -} -.z-sublimelinter.z-mark.z-warning { - color: #007f95; -} -.z-sublimelinter.z-gutter-mark { - color: #ffffff; -} -.z-sublimelinter.z-mark.z-error { - color: #e40320; -} diff --git a/sass/syntax/syntax-ayumirage-abridge-switcher.scss b/sass/syntax/syntax-ayumirage-abridge-switcher.scss deleted file mode 100644 index 1999a4a..0000000 --- a/sass/syntax/syntax-ayumirage-abridge-switcher.scss +++ /dev/null @@ -1,554 +0,0 @@ -:root:not(.light) { - .z-code { - color: #ccc9c2; - background-color: #191919; - } - .z-comment, .z-punctuation.z-definition.z-comment { - color: #798491; - font-style: italic; - } - .z-variable { - color: #ccc9c2; - } - .z-string, .z-constant.z-other.z-symbol { - color: #bae67e; - } - .z-constant.z-numeric { - color: #ffcc66; - } - .z-string.z-regexp, .z-constant.z-character.z-escape { - color: #95e6cb; - } - .z-constant.z-language { - color: #ffcc66; - } - .z-constant.z-character, .z-constant.z-other { - color: #ffcc66; - } - .z-variable.z-member { - color: #fe7d83; - } - .z-keyword, .z-keyword.z-operator.z-word { - color: #ffa759; - } - .z-keyword.z-operator { - color: #f29e74; - } - .z-punctuation.z-separator, .z-punctuation.z-terminator { - color: #ccc9c2; - } - .z-punctuation.z-section { - color: #ccc9c2; - } - .z-punctuation.z-accessor { - color: #f29e74; - } - .z-punctuation.z-definition.z-annotation { - color: #ccc9c2; - } - .z-variable.z-other.z-dollar.z-only.z-js, .z-variable.z-other.z-object.z-dollar.z-only.z-js, .z-variable.z-type.z-dollar.z-only.z-js, .z-support.z-class.z-dollar.z-only.z-js { - color: #ffc44c; - } - .z-storage { - color: #ffa759; - } - .z-storage.z-type { - color: #ffa759; - } - .z-entity.z-name.z-function { - color: #ffd580; - } - .z-entity.z-name, .z-entity.z-name.z-tag, .z-entity.z-name.z-label { - color: #73d0ff; - } - .z-entity.z-other.z-inherited-class { - color: #73d0ff; - text-decoration: underline; - } - .z-variable.z-parameter { - color: #ffcc66; - } - .z-variable.z-language { - color: #5ccfe6; - font-style: italic; - } - .z-entity.z-name.z-tag, .z-meta.z-tag.z-sgml { - color: #5ccfe6; - } - .z-punctuation.z-definition.z-tag.z-end, .z-punctuation.z-definition.z-tag.z-begin, .z-punctuation.z-definition.z-tag { - color: #5ccfe6; - } - .z-entity.z-other.z-attribute-name { - color: #ffd580; - } - .z-variable.z-function, .z-variable.z-annotation { - color: #ffd580; - } - .z-support.z-function, .z-support.z-macro { - color: #f28779; - } - .z-support.z-constant { - color: #f29e74; - font-style: italic; - } - .z-support.z-type, .z-support.z-class { - color: #5ccfe6; - font-style: italic; - } - .z-invalid { - color: #ff7c6d; - } - .z-invalid.z-deprecated { - color: #ffffff; - background-color: #ffa759; - } - .z-meta.z-diff, .z-meta.z-diff.z-header { - color: #c594c5; - } - .z-source.z-ruby .z-variable.z-other.z-readwrite { - color: #ffd580; - } - .z-source.z-css .z-entity.z-name.z-tag, .z-source.z-sass .z-entity.z-name.z-tag, .z-source.z-scss .z-entity.z-name.z-tag, .z-source.z-less .z-entity.z-name.z-tag, .z-source.z-stylus .z-entity.z-name.z-tag { - color: #73d0ff; - } - .z-source.z-css .z-support.z-type, .z-source.z-sass .z-support.z-type, .z-source.z-scss .z-support.z-type, .z-source.z-less .z-support.z-type, .z-source.z-stylus .z-support.z-type { - color: #798491; - } - .z-support.z-type.z-property-name { - color: #5ccfe6; - } - .z-constant.z-numeric.z-line-number.z-find-in-files { - color: #798491; - } - .z-constant.z-numeric.z-line-number.z-match { - color: #ffa759; - } - .z-entity.z-name.z-filename.z-find-in-files { - color: #bae67e; - } - .z-message.z-error { - color: #ff7c6d; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #5ccfe6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #5ccfe6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #5ccfe6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #5ccfe6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #5ccfe6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #5ccfe6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #5ccfe6; - } - .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #5ccfe6; - } - .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #5ccfe6; - } - .z-markup.z-heading { - color: #ffa759; - font-weight: bold; - } - .z-string.z-other.z-link, .z-markup.z-underline.z-link { - color: #95e6cb; - text-decoration: underline; - font-style: italic; - } - .z-punctuation.z-definition.z-image { - color: #ffd580; - } - .z-markup.z-italic { - color: #f28779; - font-style: italic; - } - .z-markup.z-bold { - color: #f28779; - font-weight: bold; - } - .z-markup.z-italic .z-markup.z-bold, .z-markup.z-bold .z-markup.z-italic { - font-weight: bold; - font-style: italic; - } - .z-markup.z-raw { - background-color: #ccc9c2; - } - .z-markup.z-raw.z-inline { - background-color: #ccc9c2; - } - .z-meta.z-separator { - color: #798491; - background-color: #ccc9c2; - font-weight: bold; - } - .z-markup.z-quote { - color: #ffcc66; - font-style: italic; - } - .z-markup.z-list.z-numbered.z-bullet, .z-markup.z-list .z-punctuation.z-definition.z-list_item { - color: #95e6cb; - } - .z-markup.z-inserted { - color: #bae67e; - } - .z-markup.z-changed { - color: #5ccfe6; - } - .z-markup.z-deleted { - color: #f28779; - } - .z-markup.z-strike { - color: #ffc44c; - } - .z-markup.z-table { - color: #5ccfe6; - background-color: #ccc9c2; - } - .z-text.z-html.z-markdown .z-markup.z-raw.z-inline { - color: #f29e74; - } - .z-text.z-html.z-markdown .z-meta.z-dummy.z-line-break { - color: #798491; - } - .z-markup.z-raw.z-block.z-fenced.z-markdown { - color: #ccc9c2; - background-color: #ccc9c2; - } - .z-punctuation.z-definition.z-fenced.z-markdown, .z-variable.z-language.z-fenced.z-markdown { - color: #798491; - background-color: #ccc9c2; - } - .z-variable.z-language.z-fenced.z-markdown { - color: #798491; - } - .z-markup.z-inserted.z-git_gutter { - color: #bae67e; - } - .z-markup.z-changed.z-git_gutter { - color: #5ccfe6; - } - .z-markup.z-deleted.z-git_gutter { - color: #ff7c6d; - } - .z-markup.z-ignored.z-git_gutter { - color: #363e4a; - } - .z-markup.z-untracked.z-git_gutter { - color: #363e4a; - } - .z-gutter_color { - color: #ffffff; - } - .z-acejump.z-label.z-blue { - color: #ffffff; - background-color: #5ccfe6; - } - .z-acejump.z-label.z-green { - color: #ffffff; - background-color: #bae67e; - } - .z-acejump.z-label.z-orange { - color: #ffffff; - background-color: #ffa759; - } - .z-acejump.z-label.z-purple { - color: #ffffff; - background-color: #f28779; - } - .z-sublimelinter.z-mark.z-warning { - color: #5ccfe6; - } - .z-sublimelinter.z-gutter-mark { - color: #ffffff; - } - .z-sublimelinter.z-mark.z-error { - color: #ff7c6d; - } -} -:root.light { - .z-code { - color: #76736d; - background-color: #ffffff; - } - .z-comment, .z-punctuation.z-definition.z-comment { - color: #5c6773; - font-style: italic; - } - .z-variable { - color: #76736d; - } - .z-string, .z-constant.z-other.z-symbol { - color: #547f1c; - } - .z-constant.z-numeric { - color: #926b00; - } - .z-string.z-regexp, .z-constant.z-character.z-escape { - color: #2d7f68; - } - .z-constant.z-language { - color: #926b00; - } - .z-constant.z-character, .z-constant.z-other { - color: #926b00; - } - .z-variable.z-member { - color: #cb414d; - } - .z-keyword, .z-keyword.z-operator.z-word { - color: #aa5f0f; - } - .z-keyword.z-operator { - color: #aa5f39; - } - .z-punctuation.z-separator, .z-punctuation.z-terminator { - color: #76736d; - } - .z-punctuation.z-section { - color: #76736d; - } - .z-punctuation.z-accessor { - color: #aa5f39; - } - .z-punctuation.z-definition.z-annotation { - color: #76736d; - } - .z-variable.z-other.z-dollar.z-only.z-js, .z-variable.z-other.z-object.z-dollar.z-only.z-js, .z-variable.z-type.z-dollar.z-only.z-js, .z-support.z-class.z-dollar.z-only.z-js { - color: #986b00; - } - .z-storage { - color: #aa5f0f; - } - .z-storage.z-type { - color: #aa5f0f; - } - .z-entity.z-name.z-function { - color: #8f6f1d; - } - .z-entity.z-name, .z-entity.z-name.z-tag, .z-entity.z-name.z-label { - color: #007ca7; - } - .z-entity.z-other.z-inherited-class { - color: #007ca7; - text-decoration: underline; - } - .z-variable.z-parameter { - color: #926b00; - } - .z-variable.z-language { - color: #007f95; - font-style: italic; - } - .z-entity.z-name.z-tag, .z-meta.z-tag.z-sgml { - color: #007f95; - } - .z-punctuation.z-definition.z-tag.z-end, .z-punctuation.z-definition.z-tag.z-begin, .z-punctuation.z-definition.z-tag { - color: #007f95; - } - .z-entity.z-other.z-attribute-name { - color: #8f6f1d; - } - .z-variable.z-function, .z-variable.z-annotation { - color: #8f6f1d; - } - .z-support.z-function, .z-support.z-macro { - color: #b75349; - } - .z-support.z-constant { - color: #aa5f39; - font-style: italic; - } - .z-support.z-type, .z-support.z-class { - color: #007f95; - font-style: italic; - } - .z-invalid { - color: #e40320; - } - .z-invalid.z-deprecated { - color: #ffffff; - background-color: #aa5f0f; - } - .z-meta.z-diff, .z-meta.z-diff.z-header { - color: #916392; - } - .z-source.z-ruby .z-variable.z-other.z-readwrite { - color: #8f6f1d; - } - .z-source.z-css .z-entity.z-name.z-tag, .z-source.z-sass .z-entity.z-name.z-tag, .z-source.z-scss .z-entity.z-name.z-tag, .z-source.z-less .z-entity.z-name.z-tag, .z-source.z-stylus .z-entity.z-name.z-tag { - color: #007ca7; - } - .z-source.z-css .z-support.z-type, .z-source.z-sass .z-support.z-type, .z-source.z-scss .z-support.z-type, .z-source.z-less .z-support.z-type, .z-source.z-stylus .z-support.z-type { - color: #5c6773; - } - .z-support.z-type.z-property-name { - color: #007f95; - } - .z-constant.z-numeric.z-line-number.z-find-in-files { - color: #5c6773; - } - .z-constant.z-numeric.z-line-number.z-match { - color: #aa5f0f; - } - .z-entity.z-name.z-filename.z-find-in-files { - color: #547f1c; - } - .z-message.z-error { - color: #e40320; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007f95; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007f95; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007f95; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007f95; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007f95; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007f95; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007f95; - } - .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007f95; - } - .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007f95; - } - .z-markup.z-heading { - color: #aa5f0f; - font-weight: bold; - } - .z-string.z-other.z-link, .z-markup.z-underline.z-link { - color: #2d7f68; - text-decoration: underline; - font-style: italic; - } - .z-punctuation.z-definition.z-image { - color: #8f6f1d; - } - .z-markup.z-italic { - color: #b75349; - font-style: italic; - } - .z-markup.z-bold { - color: #b75349; - font-weight: bold; - } - .z-markup.z-italic .z-markup.z-bold, .z-markup.z-bold .z-markup.z-italic { - font-weight: bold; - font-style: italic; - } - .z-markup.z-raw { - background-color: #76736d; - } - .z-markup.z-raw.z-inline { - background-color: #76736d; - } - .z-meta.z-separator { - color: #5c6773; - background-color: #76736d; - font-weight: bold; - } - .z-markup.z-quote { - color: #926b00; - font-style: italic; - } - .z-markup.z-list.z-numbered.z-bullet, .z-markup.z-list .z-punctuation.z-definition.z-list_item { - color: #2d7f68; - } - .z-markup.z-inserted { - color: #547f1c; - } - .z-markup.z-changed { - color: #007f95; - } - .z-markup.z-deleted { - color: #b75349; - } - .z-markup.z-strike { - color: #986b00; - } - .z-markup.z-table { - color: #007f95; - background-color: #76736d; - } - .z-text.z-html.z-markdown .z-markup.z-raw.z-inline { - color: #aa5f39; - } - .z-text.z-html.z-markdown .z-meta.z-dummy.z-line-break { - color: #5c6773; - } - .z-markup.z-raw.z-block.z-fenced.z-markdown { - color: #76736d; - background-color: #76736d; - } - .z-punctuation.z-definition.z-fenced.z-markdown, .z-variable.z-language.z-fenced.z-markdown { - color: #5c6773; - background-color: #76736d; - } - .z-variable.z-language.z-fenced.z-markdown { - color: #5c6773; - } - .z-markup.z-inserted.z-git_gutter { - color: #547f1c; - } - .z-markup.z-changed.z-git_gutter { - color: #007f95; - } - .z-markup.z-deleted.z-git_gutter { - color: #e40320; - } - .z-markup.z-ignored.z-git_gutter { - color: #363e4a; - } - .z-markup.z-untracked.z-git_gutter { - color: #363e4a; - } - .z-gutter_color { - color: #ffffff; - } - .z-acejump.z-label.z-blue { - color: #ffffff; - background-color: #007f95; - } - .z-acejump.z-label.z-green { - color: #ffffff; - background-color: #547f1c; - } - .z-acejump.z-label.z-orange { - color: #ffffff; - background-color: #aa5f0f; - } - .z-acejump.z-label.z-purple { - color: #ffffff; - background-color: #b75349; - } - .z-sublimelinter.z-mark.z-warning { - color: #007f95; - } - .z-sublimelinter.z-gutter-mark { - color: #ffffff; - } - .z-sublimelinter.z-mark.z-error { - color: #e40320; - } -}
\ No newline at end of file diff --git a/sass/syntax/syntax-ayumirage-abridge.scss b/sass/syntax/syntax-ayumirage-abridge.scss deleted file mode 100644 index 5a28abc..0000000 --- a/sass/syntax/syntax-ayumirage-abridge.scss +++ /dev/null @@ -1,556 +0,0 @@ -:root { - .z-code { - color: #ccc9c2; - background-color: #191919; - } - .z-comment, .z-punctuation.z-definition.z-comment { - color: #798491; - font-style: italic; - } - .z-variable { - color: #ccc9c2; - } - .z-string, .z-constant.z-other.z-symbol { - color: #bae67e; - } - .z-constant.z-numeric { - color: #ffcc66; - } - .z-string.z-regexp, .z-constant.z-character.z-escape { - color: #95e6cb; - } - .z-constant.z-language { - color: #ffcc66; - } - .z-constant.z-character, .z-constant.z-other { - color: #ffcc66; - } - .z-variable.z-member { - color: #fe7d83; - } - .z-keyword, .z-keyword.z-operator.z-word { - color: #ffa759; - } - .z-keyword.z-operator { - color: #f29e74; - } - .z-punctuation.z-separator, .z-punctuation.z-terminator { - color: #ccc9c2; - } - .z-punctuation.z-section { - color: #ccc9c2; - } - .z-punctuation.z-accessor { - color: #f29e74; - } - .z-punctuation.z-definition.z-annotation { - color: #ccc9c2; - } - .z-variable.z-other.z-dollar.z-only.z-js, .z-variable.z-other.z-object.z-dollar.z-only.z-js, .z-variable.z-type.z-dollar.z-only.z-js, .z-support.z-class.z-dollar.z-only.z-js { - color: #ffc44c; - } - .z-storage { - color: #ffa759; - } - .z-storage.z-type { - color: #ffa759; - } - .z-entity.z-name.z-function { - color: #ffd580; - } - .z-entity.z-name, .z-entity.z-name.z-tag, .z-entity.z-name.z-label { - color: #73d0ff; - } - .z-entity.z-other.z-inherited-class { - color: #73d0ff; - text-decoration: underline; - } - .z-variable.z-parameter { - color: #ffcc66; - } - .z-variable.z-language { - color: #5ccfe6; - font-style: italic; - } - .z-entity.z-name.z-tag, .z-meta.z-tag.z-sgml { - color: #5ccfe6; - } - .z-punctuation.z-definition.z-tag.z-end, .z-punctuation.z-definition.z-tag.z-begin, .z-punctuation.z-definition.z-tag { - color: #5ccfe6; - } - .z-entity.z-other.z-attribute-name { - color: #ffd580; - } - .z-variable.z-function, .z-variable.z-annotation { - color: #ffd580; - } - .z-support.z-function, .z-support.z-macro { - color: #f28779; - } - .z-support.z-constant { - color: #f29e74; - font-style: italic; - } - .z-support.z-type, .z-support.z-class { - color: #5ccfe6; - font-style: italic; - } - .z-invalid { - color: #ff7c6d; - } - .z-invalid.z-deprecated { - color: #ffffff; - background-color: #ffa759; - } - .z-meta.z-diff, .z-meta.z-diff.z-header { - color: #c594c5; - } - .z-source.z-ruby .z-variable.z-other.z-readwrite { - color: #ffd580; - } - .z-source.z-css .z-entity.z-name.z-tag, .z-source.z-sass .z-entity.z-name.z-tag, .z-source.z-scss .z-entity.z-name.z-tag, .z-source.z-less .z-entity.z-name.z-tag, .z-source.z-stylus .z-entity.z-name.z-tag { - color: #73d0ff; - } - .z-source.z-css .z-support.z-type, .z-source.z-sass .z-support.z-type, .z-source.z-scss .z-support.z-type, .z-source.z-less .z-support.z-type, .z-source.z-stylus .z-support.z-type { - color: #798491; - } - .z-support.z-type.z-property-name { - color: #5ccfe6; - } - .z-constant.z-numeric.z-line-number.z-find-in-files { - color: #798491; - } - .z-constant.z-numeric.z-line-number.z-match { - color: #ffa759; - } - .z-entity.z-name.z-filename.z-find-in-files { - color: #bae67e; - } - .z-message.z-error { - color: #ff7c6d; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #5ccfe6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #5ccfe6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #5ccfe6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #5ccfe6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #5ccfe6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #5ccfe6; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #5ccfe6; - } - .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #5ccfe6; - } - .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #5ccfe6; - } - .z-markup.z-heading { - color: #ffa759; - font-weight: bold; - } - .z-string.z-other.z-link, .z-markup.z-underline.z-link { - color: #95e6cb; - text-decoration: underline; - font-style: italic; - } - .z-punctuation.z-definition.z-image { - color: #ffd580; - } - .z-markup.z-italic { - color: #f28779; - font-style: italic; - } - .z-markup.z-bold { - color: #f28779; - font-weight: bold; - } - .z-markup.z-italic .z-markup.z-bold, .z-markup.z-bold .z-markup.z-italic { - font-weight: bold; - font-style: italic; - } - .z-markup.z-raw { - background-color: #ccc9c2; - } - .z-markup.z-raw.z-inline { - background-color: #ccc9c2; - } - .z-meta.z-separator { - color: #798491; - background-color: #ccc9c2; - font-weight: bold; - } - .z-markup.z-quote { - color: #ffcc66; - font-style: italic; - } - .z-markup.z-list.z-numbered.z-bullet, .z-markup.z-list .z-punctuation.z-definition.z-list_item { - color: #95e6cb; - } - .z-markup.z-inserted { - color: #bae67e; - } - .z-markup.z-changed { - color: #5ccfe6; - } - .z-markup.z-deleted { - color: #f28779; - } - .z-markup.z-strike { - color: #ffc44c; - } - .z-markup.z-table { - color: #5ccfe6; - background-color: #ccc9c2; - } - .z-text.z-html.z-markdown .z-markup.z-raw.z-inline { - color: #f29e74; - } - .z-text.z-html.z-markdown .z-meta.z-dummy.z-line-break { - color: #798491; - } - .z-markup.z-raw.z-block.z-fenced.z-markdown { - color: #ccc9c2; - background-color: #ccc9c2; - } - .z-punctuation.z-definition.z-fenced.z-markdown, .z-variable.z-language.z-fenced.z-markdown { - color: #798491; - background-color: #ccc9c2; - } - .z-variable.z-language.z-fenced.z-markdown { - color: #798491; - } - .z-markup.z-inserted.z-git_gutter { - color: #bae67e; - } - .z-markup.z-changed.z-git_gutter { - color: #5ccfe6; - } - .z-markup.z-deleted.z-git_gutter { - color: #ff7c6d; - } - .z-markup.z-ignored.z-git_gutter { - color: #363e4a; - } - .z-markup.z-untracked.z-git_gutter { - color: #363e4a; - } - .z-gutter_color { - color: #ffffff; - } - .z-acejump.z-label.z-blue { - color: #ffffff; - background-color: #5ccfe6; - } - .z-acejump.z-label.z-green { - color: #ffffff; - background-color: #bae67e; - } - .z-acejump.z-label.z-orange { - color: #ffffff; - background-color: #ffa759; - } - .z-acejump.z-label.z-purple { - color: #ffffff; - background-color: #f28779; - } - .z-sublimelinter.z-mark.z-warning { - color: #5ccfe6; - } - .z-sublimelinter.z-gutter-mark { - color: #ffffff; - } - .z-sublimelinter.z-mark.z-error { - color: #ff7c6d; - } -} -@media (prefers-color-scheme: light) { - :root { - .z-code { - color: #76736d; - background-color: #ffffff; - } - .z-comment, .z-punctuation.z-definition.z-comment { - color: #5c6773; - font-style: italic; - } - .z-variable { - color: #76736d; - } - .z-string, .z-constant.z-other.z-symbol { - color: #547f1c; - } - .z-constant.z-numeric { - color: #926b00; - } - .z-string.z-regexp, .z-constant.z-character.z-escape { - color: #2d7f68; - } - .z-constant.z-language { - color: #926b00; - } - .z-constant.z-character, .z-constant.z-other { - color: #926b00; - } - .z-variable.z-member { - color: #cb414d; - } - .z-keyword, .z-keyword.z-operator.z-word { - color: #aa5f0f; - } - .z-keyword.z-operator { - color: #aa5f39; - } - .z-punctuation.z-separator, .z-punctuation.z-terminator { - color: #76736d; - } - .z-punctuation.z-section { - color: #76736d; - } - .z-punctuation.z-accessor { - color: #aa5f39; - } - .z-punctuation.z-definition.z-annotation { - color: #76736d; - } - .z-variable.z-other.z-dollar.z-only.z-js, .z-variable.z-other.z-object.z-dollar.z-only.z-js, .z-variable.z-type.z-dollar.z-only.z-js, .z-support.z-class.z-dollar.z-only.z-js { - color: #986b00; - } - .z-storage { - color: #aa5f0f; - } - .z-storage.z-type { - color: #aa5f0f; - } - .z-entity.z-name.z-function { - color: #8f6f1d; - } - .z-entity.z-name, .z-entity.z-name.z-tag, .z-entity.z-name.z-label { - color: #007ca7; - } - .z-entity.z-other.z-inherited-class { - color: #007ca7; - text-decoration: underline; - } - .z-variable.z-parameter { - color: #926b00; - } - .z-variable.z-language { - color: #007f95; - font-style: italic; - } - .z-entity.z-name.z-tag, .z-meta.z-tag.z-sgml { - color: #007f95; - } - .z-punctuation.z-definition.z-tag.z-end, .z-punctuation.z-definition.z-tag.z-begin, .z-punctuation.z-definition.z-tag { - color: #007f95; - } - .z-entity.z-other.z-attribute-name { - color: #8f6f1d; - } - .z-variable.z-function, .z-variable.z-annotation { - color: #8f6f1d; - } - .z-support.z-function, .z-support.z-macro { - color: #b75349; - } - .z-support.z-constant { - color: #aa5f39; - font-style: italic; - } - .z-support.z-type, .z-support.z-class { - color: #007f95; - font-style: italic; - } - .z-invalid { - color: #e40320; - } - .z-invalid.z-deprecated { - color: #ffffff; - background-color: #aa5f0f; - } - .z-meta.z-diff, .z-meta.z-diff.z-header { - color: #916392; - } - .z-source.z-ruby .z-variable.z-other.z-readwrite { - color: #8f6f1d; - } - .z-source.z-css .z-entity.z-name.z-tag, .z-source.z-sass .z-entity.z-name.z-tag, .z-source.z-scss .z-entity.z-name.z-tag, .z-source.z-less .z-entity.z-name.z-tag, .z-source.z-stylus .z-entity.z-name.z-tag { - color: #007ca7; - } - .z-source.z-css .z-support.z-type, .z-source.z-sass .z-support.z-type, .z-source.z-scss .z-support.z-type, .z-source.z-less .z-support.z-type, .z-source.z-stylus .z-support.z-type { - color: #5c6773; - } - .z-support.z-type.z-property-name { - color: #007f95; - } - .z-constant.z-numeric.z-line-number.z-find-in-files { - color: #5c6773; - } - .z-constant.z-numeric.z-line-number.z-match { - color: #aa5f0f; - } - .z-entity.z-name.z-filename.z-find-in-files { - color: #547f1c; - } - .z-message.z-error { - color: #e40320; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007f95; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007f95; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007f95; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007f95; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007f95; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007f95; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007f95; - } - .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007f95; - } - .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #007f95; - } - .z-markup.z-heading { - color: #aa5f0f; - font-weight: bold; - } - .z-string.z-other.z-link, .z-markup.z-underline.z-link { - color: #2d7f68; - text-decoration: underline; - font-style: italic; - } - .z-punctuation.z-definition.z-image { - color: #8f6f1d; - } - .z-markup.z-italic { - color: #b75349; - font-style: italic; - } - .z-markup.z-bold { - color: #b75349; - font-weight: bold; - } - .z-markup.z-italic .z-markup.z-bold, .z-markup.z-bold .z-markup.z-italic { - font-weight: bold; - font-style: italic; - } - .z-markup.z-raw { - background-color: #76736d; - } - .z-markup.z-raw.z-inline { - background-color: #76736d; - } - .z-meta.z-separator { - color: #5c6773; - background-color: #76736d; - font-weight: bold; - } - .z-markup.z-quote { - color: #926b00; - font-style: italic; - } - .z-markup.z-list.z-numbered.z-bullet, .z-markup.z-list .z-punctuation.z-definition.z-list_item { - color: #2d7f68; - } - .z-markup.z-inserted { - color: #547f1c; - } - .z-markup.z-changed { - color: #007f95; - } - .z-markup.z-deleted { - color: #b75349; - } - .z-markup.z-strike { - color: #986b00; - } - .z-markup.z-table { - color: #007f95; - background-color: #76736d; - } - .z-text.z-html.z-markdown .z-markup.z-raw.z-inline { - color: #aa5f39; - } - .z-text.z-html.z-markdown .z-meta.z-dummy.z-line-break { - color: #5c6773; - } - .z-markup.z-raw.z-block.z-fenced.z-markdown { - color: #76736d; - background-color: #76736d; - } - .z-punctuation.z-definition.z-fenced.z-markdown, .z-variable.z-language.z-fenced.z-markdown { - color: #5c6773; - background-color: #76736d; - } - .z-variable.z-language.z-fenced.z-markdown { - color: #5c6773; - } - .z-markup.z-inserted.z-git_gutter { - color: #547f1c; - } - .z-markup.z-changed.z-git_gutter { - color: #007f95; - } - .z-markup.z-deleted.z-git_gutter { - color: #e40320; - } - .z-markup.z-ignored.z-git_gutter { - color: #363e4a; - } - .z-markup.z-untracked.z-git_gutter { - color: #363e4a; - } - .z-gutter_color { - color: #ffffff; - } - .z-acejump.z-label.z-blue { - color: #ffffff; - background-color: #007f95; - } - .z-acejump.z-label.z-green { - color: #ffffff; - background-color: #547f1c; - } - .z-acejump.z-label.z-orange { - color: #ffffff; - background-color: #aa5f0f; - } - .z-acejump.z-label.z-purple { - color: #ffffff; - background-color: #b75349; - } - .z-sublimelinter.z-mark.z-warning { - color: #007f95; - } - .z-sublimelinter.z-gutter-mark { - color: #ffffff; - } - .z-sublimelinter.z-mark.z-error { - color: #e40320; - } - } -}
\ No newline at end of file diff --git a/sass/syntax/syntax-charcoal-abridge-dark.scss b/sass/syntax/syntax-charcoal-abridge-dark.scss deleted file mode 100644 index 3dfa85a..0000000 --- a/sass/syntax/syntax-charcoal-abridge-dark.scss +++ /dev/null @@ -1,79 +0,0 @@ -.z-code { - color: #cccece; - background-color: #191919; -} -.z-comment, .z-punctuation.z-definition.z-comment { - color: #7e8384; -} -.z-variable { - color: #cccece; -} -.z-keyword, .z-storage.z-type, .z-storage.z-modifier { - color: #c594c5; -} -.z-keyword.z-operator, .z-constant.z-other.z-color, .z-punctuation, .z-meta.z-tag, .z-punctuation.z-definition.z-tag, .z-punctuation.z-separator.z-inheritance.z-php, .z-punctuation.z-definition.z-tag.z-html, .z-punctuation.z-definition.z-tag.z-begin.z-html, .z-punctuation.z-definition.z-tag.z-end.z-html, .z-punctuation.z-section.z-embedded, .z-keyword.z-other.z-template, .z-keyword.z-other.z-substitution { - color: #5fb3b3; -} -.z-entity.z-name.z-tag, .z-meta.z-tag.z-sgml, .z-markup.z-deleted.z-git_gutter { - color: #ff7b84; -} -.z-entity.z-name.z-function, .z-meta.z-function-call, .z-variable.z-function, .z-support.z-function, .z-keyword.z-other.z-special-method, .z-meta.z-block-level { - color: #78aade; -} -.z-support.z-other.z-variable, .z-string.z-other.z-link { - color: #fa7e81; -} -.z-constant.z-numeric, .z-constant.z-language, .z-support.z-constant, .z-constant.z-character, .z-variable.z-parameter, .z-keyword.z-other.z-unit { - color: #f99157; -} -.z-string, .z-constant.z-other.z-symbol, .z-constant.z-other.z-key, .z-entity.z-other.z-inherited-class, .z-markup.z-heading, .z-markup.z-inserted.z-git_gutter, .z-meta.z-group.z-braces.z-curly .z-constant.z-other.z-object.z-key.z-js .z-string.z-unquoted.z-label.z-js { - color: #99c794; -} -.z-entity.z-name.z-class, .z-entity.z-name.z-type.z-class, .z-support.z-type, .z-support.z-class, .z-support.z-orther.z-namespace.z-use.z-php, .z-meta.z-use.z-php, .z-support.z-other.z-namespace.z-php, .z-markup.z-changed.z-git_gutter { - color: #fac863; -} -.z-entity.z-name.z-module.z-js, .z-variable.z-import.z-parameter.z-js, .z-variable.z-other.z-class.z-js { - color: #fe7d83; -} -.z-variable.z-language { - color: #fe7d83; -} -.z-entity.z-name.z-method.z-js { - color: #d8dee9; -} -.z-meta.z-class-method.z-js .z-entity.z-name.z-function.z-js, .z-variable.z-function.z-constructor { - color: #d8dee9; -} -.z-entity.z-other.z-attribute-name { - color: #cd91c4; -} -.z-markup.z-inserted { - color: #99c794; -} -.z-markup.z-deleted { - color: #fe7d83; -} -.z-markup.z-changed { - color: #cd91c4; -} -.z-string.z-regexp { - color: #5fb3b3; -} -.z-constant.z-character.z-escape { - color: #5fb3b3; -} -.z-*url*, .z-*link*, .z-*uri* { - text-decoration: underline; -} -.z-constant.z-numeric.z-line-number.z-find-in-files { - color: #cf9a87; -} -.z-entity.z-name.z-filename.z-find-in-files { - color: #99c794; -} -.z-tag.z-decorator.z-js .z-entity.z-name.z-tag.z-js, .z-tag.z-decorator.z-js .z-punctuation.z-definition.z-tag.z-js { - color: #78aade; -} -.z-source.z-js .z-constant.z-other.z-object.z-key.z-js .z-string.z-unquoted.z-label.z-js { - color: #fe7d83; -} diff --git a/sass/syntax/syntax-charcoal-abridge-light.scss b/sass/syntax/syntax-charcoal-abridge-light.scss deleted file mode 100644 index 53f86ce..0000000 --- a/sass/syntax/syntax-charcoal-abridge-light.scss +++ /dev/null @@ -1,79 +0,0 @@ -.z-code { - color: #727373; - background-color: #ffffff; -} -.z-comment, .z-punctuation.z-definition.z-comment { - color: #5f6364; -} -.z-variable { - color: #727373; -} -.z-keyword, .z-storage.z-type, .z-storage.z-modifier { - color: #916392; -} -.z-keyword.z-operator, .z-constant.z-other.z-color, .z-punctuation, .z-meta.z-tag, .z-punctuation.z-definition.z-tag, .z-punctuation.z-separator.z-inheritance.z-php, .z-punctuation.z-definition.z-tag.z-html, .z-punctuation.z-definition.z-tag.z-begin.z-html, .z-punctuation.z-definition.z-tag.z-end.z-html, .z-punctuation.z-section.z-embedded, .z-keyword.z-other.z-template, .z-keyword.z-other.z-substitution { - color: #237e7f; -} -.z-entity.z-name.z-tag, .z-meta.z-tag.z-sgml, .z-markup.z-deleted.z-git_gutter { - color: #ca4251; -} -.z-entity.z-name.z-function, .z-meta.z-function-call, .z-variable.z-function, .z-support.z-function, .z-keyword.z-other.z-special-method, .z-meta.z-block-level { - color: #4076a7; -} -.z-support.z-other.z-variable, .z-string.z-other.z-link { - color: #c14c52; -} -.z-constant.z-numeric, .z-constant.z-language, .z-support.z-constant, .z-constant.z-character, .z-variable.z-parameter, .z-keyword.z-other.z-unit { - color: #b75922; -} -.z-string, .z-constant.z-other.z-symbol, .z-constant.z-other.z-key, .z-entity.z-other.z-inherited-class, .z-markup.z-heading, .z-markup.z-inserted.z-git_gutter, .z-meta.z-group.z-braces.z-curly .z-constant.z-other.z-object.z-key.z-js .z-string.z-unquoted.z-label.z-js { - color: #517c4e; -} -.z-entity.z-name.z-class, .z-entity.z-name.z-type.z-class, .z-support.z-type, .z-support.z-class, .z-support.z-orther.z-namespace.z-use.z-php, .z-meta.z-use.z-php, .z-support.z-other.z-namespace.z-php, .z-markup.z-changed.z-git_gutter { - color: #926c00; -} -.z-entity.z-name.z-module.z-js, .z-variable.z-import.z-parameter.z-js, .z-variable.z-other.z-class.z-js { - color: #cb414d; -} -.z-variable.z-language { - color: #cb414d; -} -.z-entity.z-name.z-method.z-js { - color: #6c727c; -} -.z-meta.z-class-method.z-js .z-entity.z-name.z-function.z-js, .z-variable.z-function.z-constructor { - color: #6c727c; -} -.z-entity.z-other.z-attribute-name { - color: #996091; -} -.z-markup.z-inserted { - color: #517c4e; -} -.z-markup.z-deleted { - color: #cb414d; -} -.z-markup.z-changed { - color: #996091; -} -.z-string.z-regexp { - color: #237e7f; -} -.z-constant.z-character.z-escape { - color: #237e7f; -} -.z-*url*, .z-*link*, .z-*uri* { - text-decoration: underline; -} -.z-constant.z-numeric.z-line-number.z-find-in-files { - color: #976756; -} -.z-entity.z-name.z-filename.z-find-in-files { - color: #517c4e; -} -.z-tag.z-decorator.z-js .z-entity.z-name.z-tag.z-js, .z-tag.z-decorator.z-js .z-punctuation.z-definition.z-tag.z-js { - color: #4076a7; -} -.z-source.z-js .z-constant.z-other.z-object.z-key.z-js .z-string.z-unquoted.z-label.z-js { - color: #cb414d; -} diff --git a/sass/syntax/syntax-charcoal-abridge-switcher.scss b/sass/syntax/syntax-charcoal-abridge-switcher.scss deleted file mode 100644 index 0f0f5d3..0000000 --- a/sass/syntax/syntax-charcoal-abridge-switcher.scss +++ /dev/null @@ -1,162 +0,0 @@ -:root:not(.light) { - .z-code { - color: #cccece; - background-color: #191919; - } - .z-comment, .z-punctuation.z-definition.z-comment { - color: #7e8384; - } - .z-variable { - color: #cccece; - } - .z-keyword, .z-storage.z-type, .z-storage.z-modifier { - color: #c594c5; - } - .z-keyword.z-operator, .z-constant.z-other.z-color, .z-punctuation, .z-meta.z-tag, .z-punctuation.z-definition.z-tag, .z-punctuation.z-separator.z-inheritance.z-php, .z-punctuation.z-definition.z-tag.z-html, .z-punctuation.z-definition.z-tag.z-begin.z-html, .z-punctuation.z-definition.z-tag.z-end.z-html, .z-punctuation.z-section.z-embedded, .z-keyword.z-other.z-template, .z-keyword.z-other.z-substitution { - color: #5fb3b3; - } - .z-entity.z-name.z-tag, .z-meta.z-tag.z-sgml, .z-markup.z-deleted.z-git_gutter { - color: #ff7b84; - } - .z-entity.z-name.z-function, .z-meta.z-function-call, .z-variable.z-function, .z-support.z-function, .z-keyword.z-other.z-special-method, .z-meta.z-block-level { - color: #78aade; - } - .z-support.z-other.z-variable, .z-string.z-other.z-link { - color: #fa7e81; - } - .z-constant.z-numeric, .z-constant.z-language, .z-support.z-constant, .z-constant.z-character, .z-variable.z-parameter, .z-keyword.z-other.z-unit { - color: #f99157; - } - .z-string, .z-constant.z-other.z-symbol, .z-constant.z-other.z-key, .z-entity.z-other.z-inherited-class, .z-markup.z-heading, .z-markup.z-inserted.z-git_gutter, .z-meta.z-group.z-braces.z-curly .z-constant.z-other.z-object.z-key.z-js .z-string.z-unquoted.z-label.z-js { - color: #99c794; - } - .z-entity.z-name.z-class, .z-entity.z-name.z-type.z-class, .z-support.z-type, .z-support.z-class, .z-support.z-orther.z-namespace.z-use.z-php, .z-meta.z-use.z-php, .z-support.z-other.z-namespace.z-php, .z-markup.z-changed.z-git_gutter { - color: #fac863; - } - .z-entity.z-name.z-module.z-js, .z-variable.z-import.z-parameter.z-js, .z-variable.z-other.z-class.z-js { - color: #fe7d83; - } - .z-variable.z-language { - color: #fe7d83; - } - .z-entity.z-name.z-method.z-js { - color: #d8dee9; - } - .z-meta.z-class-method.z-js .z-entity.z-name.z-function.z-js, .z-variable.z-function.z-constructor { - color: #d8dee9; - } - .z-entity.z-other.z-attribute-name { - color: #cd91c4; - } - .z-markup.z-inserted { - color: #99c794; - } - .z-markup.z-deleted { - color: #fe7d83; - } - .z-markup.z-changed { - color: #cd91c4; - } - .z-string.z-regexp { - color: #5fb3b3; - } - .z-constant.z-character.z-escape { - color: #5fb3b3; - } - .z-*url*, .z-*link*, .z-*uri* { - text-decoration: underline; - } - .z-constant.z-numeric.z-line-number.z-find-in-files { - color: #cf9a87; - } - .z-entity.z-name.z-filename.z-find-in-files { - color: #99c794; - } - .z-tag.z-decorator.z-js .z-entity.z-name.z-tag.z-js, .z-tag.z-decorator.z-js .z-punctuation.z-definition.z-tag.z-js { - color: #78aade; - } - .z-source.z-js .z-constant.z-other.z-object.z-key.z-js .z-string.z-unquoted.z-label.z-js { - color: #fe7d83; - } -} -:root.light { - .z-code { - color: #727373; - background-color: #ffffff; - } - .z-comment, .z-punctuation.z-definition.z-comment { - color: #5f6364; - } - .z-variable { - color: #727373; - } - .z-keyword, .z-storage.z-type, .z-storage.z-modifier { - color: #916392; - } - .z-keyword.z-operator, .z-constant.z-other.z-color, .z-punctuation, .z-meta.z-tag, .z-punctuation.z-definition.z-tag, .z-punctuation.z-separator.z-inheritance.z-php, .z-punctuation.z-definition.z-tag.z-html, .z-punctuation.z-definition.z-tag.z-begin.z-html, .z-punctuation.z-definition.z-tag.z-end.z-html, .z-punctuation.z-section.z-embedded, .z-keyword.z-other.z-template, .z-keyword.z-other.z-substitution { - color: #237e7f; - } - .z-entity.z-name.z-tag, .z-meta.z-tag.z-sgml, .z-markup.z-deleted.z-git_gutter { - color: #ca4251; - } - .z-entity.z-name.z-function, .z-meta.z-function-call, .z-variable.z-function, .z-support.z-function, .z-keyword.z-other.z-special-method, .z-meta.z-block-level { - color: #4076a7; - } - .z-support.z-other.z-variable, .z-string.z-other.z-link { - color: #c14c52; - } - .z-constant.z-numeric, .z-constant.z-language, .z-support.z-constant, .z-constant.z-character, .z-variable.z-parameter, .z-keyword.z-other.z-unit { - color: #b75922; - } - .z-string, .z-constant.z-other.z-symbol, .z-constant.z-other.z-key, .z-entity.z-other.z-inherited-class, .z-markup.z-heading, .z-markup.z-inserted.z-git_gutter, .z-meta.z-group.z-braces.z-curly .z-constant.z-other.z-object.z-key.z-js .z-string.z-unquoted.z-label.z-js { - color: #517c4e; - } - .z-entity.z-name.z-class, .z-entity.z-name.z-type.z-class, .z-support.z-type, .z-support.z-class, .z-support.z-orther.z-namespace.z-use.z-php, .z-meta.z-use.z-php, .z-support.z-other.z-namespace.z-php, .z-markup.z-changed.z-git_gutter { - color: #926c00; - } - .z-entity.z-name.z-module.z-js, .z-variable.z-import.z-parameter.z-js, .z-variable.z-other.z-class.z-js { - color: #cb414d; - } - .z-variable.z-language { - color: #cb414d; - } - .z-entity.z-name.z-method.z-js { - color: #6c727c; - } - .z-meta.z-class-method.z-js .z-entity.z-name.z-function.z-js, .z-variable.z-function.z-constructor { - color: #6c727c; - } - .z-entity.z-other.z-attribute-name { - color: #996091; - } - .z-markup.z-inserted { - color: #517c4e; - } - .z-markup.z-deleted { - color: #cb414d; - } - .z-markup.z-changed { - color: #996091; - } - .z-string.z-regexp { - color: #237e7f; - } - .z-constant.z-character.z-escape { - color: #237e7f; - } - .z-*url*, .z-*link*, .z-*uri* { - text-decoration: underline; - } - .z-constant.z-numeric.z-line-number.z-find-in-files { - color: #976756; - } - .z-entity.z-name.z-filename.z-find-in-files { - color: #517c4e; - } - .z-tag.z-decorator.z-js .z-entity.z-name.z-tag.z-js, .z-tag.z-decorator.z-js .z-punctuation.z-definition.z-tag.z-js { - color: #4076a7; - } - .z-source.z-js .z-constant.z-other.z-object.z-key.z-js .z-string.z-unquoted.z-label.z-js { - color: #cb414d; - } -}
\ No newline at end of file diff --git a/sass/syntax/syntax-charcoal-abridge.scss b/sass/syntax/syntax-charcoal-abridge.scss deleted file mode 100644 index 14cf754..0000000 --- a/sass/syntax/syntax-charcoal-abridge.scss +++ /dev/null @@ -1,164 +0,0 @@ -:root { - .z-code { - color: #cccece; - background-color: #191919; - } - .z-comment, .z-punctuation.z-definition.z-comment { - color: #7e8384; - } - .z-variable { - color: #cccece; - } - .z-keyword, .z-storage.z-type, .z-storage.z-modifier { - color: #c594c5; - } - .z-keyword.z-operator, .z-constant.z-other.z-color, .z-punctuation, .z-meta.z-tag, .z-punctuation.z-definition.z-tag, .z-punctuation.z-separator.z-inheritance.z-php, .z-punctuation.z-definition.z-tag.z-html, .z-punctuation.z-definition.z-tag.z-begin.z-html, .z-punctuation.z-definition.z-tag.z-end.z-html, .z-punctuation.z-section.z-embedded, .z-keyword.z-other.z-template, .z-keyword.z-other.z-substitution { - color: #5fb3b3; - } - .z-entity.z-name.z-tag, .z-meta.z-tag.z-sgml, .z-markup.z-deleted.z-git_gutter { - color: #ff7b84; - } - .z-entity.z-name.z-function, .z-meta.z-function-call, .z-variable.z-function, .z-support.z-function, .z-keyword.z-other.z-special-method, .z-meta.z-block-level { - color: #78aade; - } - .z-support.z-other.z-variable, .z-string.z-other.z-link { - color: #fa7e81; - } - .z-constant.z-numeric, .z-constant.z-language, .z-support.z-constant, .z-constant.z-character, .z-variable.z-parameter, .z-keyword.z-other.z-unit { - color: #f99157; - } - .z-string, .z-constant.z-other.z-symbol, .z-constant.z-other.z-key, .z-entity.z-other.z-inherited-class, .z-markup.z-heading, .z-markup.z-inserted.z-git_gutter, .z-meta.z-group.z-braces.z-curly .z-constant.z-other.z-object.z-key.z-js .z-string.z-unquoted.z-label.z-js { - color: #99c794; - } - .z-entity.z-name.z-class, .z-entity.z-name.z-type.z-class, .z-support.z-type, .z-support.z-class, .z-support.z-orther.z-namespace.z-use.z-php, .z-meta.z-use.z-php, .z-support.z-other.z-namespace.z-php, .z-markup.z-changed.z-git_gutter { - color: #fac863; - } - .z-entity.z-name.z-module.z-js, .z-variable.z-import.z-parameter.z-js, .z-variable.z-other.z-class.z-js { - color: #fe7d83; - } - .z-variable.z-language { - color: #fe7d83; - } - .z-entity.z-name.z-method.z-js { - color: #d8dee9; - } - .z-meta.z-class-method.z-js .z-entity.z-name.z-function.z-js, .z-variable.z-function.z-constructor { - color: #d8dee9; - } - .z-entity.z-other.z-attribute-name { - color: #cd91c4; - } - .z-markup.z-inserted { - color: #99c794; - } - .z-markup.z-deleted { - color: #fe7d83; - } - .z-markup.z-changed { - color: #cd91c4; - } - .z-string.z-regexp { - color: #5fb3b3; - } - .z-constant.z-character.z-escape { - color: #5fb3b3; - } - .z-*url*, .z-*link*, .z-*uri* { - text-decoration: underline; - } - .z-constant.z-numeric.z-line-number.z-find-in-files { - color: #cf9a87; - } - .z-entity.z-name.z-filename.z-find-in-files { - color: #99c794; - } - .z-tag.z-decorator.z-js .z-entity.z-name.z-tag.z-js, .z-tag.z-decorator.z-js .z-punctuation.z-definition.z-tag.z-js { - color: #78aade; - } - .z-source.z-js .z-constant.z-other.z-object.z-key.z-js .z-string.z-unquoted.z-label.z-js { - color: #fe7d83; - } -} -@media (prefers-color-scheme: light) { - :root { - .z-code { - color: #727373; - background-color: #ffffff; - } - .z-comment, .z-punctuation.z-definition.z-comment { - color: #5f6364; - } - .z-variable { - color: #727373; - } - .z-keyword, .z-storage.z-type, .z-storage.z-modifier { - color: #916392; - } - .z-keyword.z-operator, .z-constant.z-other.z-color, .z-punctuation, .z-meta.z-tag, .z-punctuation.z-definition.z-tag, .z-punctuation.z-separator.z-inheritance.z-php, .z-punctuation.z-definition.z-tag.z-html, .z-punctuation.z-definition.z-tag.z-begin.z-html, .z-punctuation.z-definition.z-tag.z-end.z-html, .z-punctuation.z-section.z-embedded, .z-keyword.z-other.z-template, .z-keyword.z-other.z-substitution { - color: #237e7f; - } - .z-entity.z-name.z-tag, .z-meta.z-tag.z-sgml, .z-markup.z-deleted.z-git_gutter { - color: #ca4251; - } - .z-entity.z-name.z-function, .z-meta.z-function-call, .z-variable.z-function, .z-support.z-function, .z-keyword.z-other.z-special-method, .z-meta.z-block-level { - color: #4076a7; - } - .z-support.z-other.z-variable, .z-string.z-other.z-link { - color: #c14c52; - } - .z-constant.z-numeric, .z-constant.z-language, .z-support.z-constant, .z-constant.z-character, .z-variable.z-parameter, .z-keyword.z-other.z-unit { - color: #b75922; - } - .z-string, .z-constant.z-other.z-symbol, .z-constant.z-other.z-key, .z-entity.z-other.z-inherited-class, .z-markup.z-heading, .z-markup.z-inserted.z-git_gutter, .z-meta.z-group.z-braces.z-curly .z-constant.z-other.z-object.z-key.z-js .z-string.z-unquoted.z-label.z-js { - color: #517c4e; - } - .z-entity.z-name.z-class, .z-entity.z-name.z-type.z-class, .z-support.z-type, .z-support.z-class, .z-support.z-orther.z-namespace.z-use.z-php, .z-meta.z-use.z-php, .z-support.z-other.z-namespace.z-php, .z-markup.z-changed.z-git_gutter { - color: #926c00; - } - .z-entity.z-name.z-module.z-js, .z-variable.z-import.z-parameter.z-js, .z-variable.z-other.z-class.z-js { - color: #cb414d; - } - .z-variable.z-language { - color: #cb414d; - } - .z-entity.z-name.z-method.z-js { - color: #6c727c; - } - .z-meta.z-class-method.z-js .z-entity.z-name.z-function.z-js, .z-variable.z-function.z-constructor { - color: #6c727c; - } - .z-entity.z-other.z-attribute-name { - color: #996091; - } - .z-markup.z-inserted { - color: #517c4e; - } - .z-markup.z-deleted { - color: #cb414d; - } - .z-markup.z-changed { - color: #996091; - } - .z-string.z-regexp { - color: #237e7f; - } - .z-constant.z-character.z-escape { - color: #237e7f; - } - .z-*url*, .z-*link*, .z-*uri* { - text-decoration: underline; - } - .z-constant.z-numeric.z-line-number.z-find-in-files { - color: #976756; - } - .z-entity.z-name.z-filename.z-find-in-files { - color: #517c4e; - } - .z-tag.z-decorator.z-js .z-entity.z-name.z-tag.z-js, .z-tag.z-decorator.z-js .z-punctuation.z-definition.z-tag.z-js { - color: #4076a7; - } - .z-source.z-js .z-constant.z-other.z-object.z-key.z-js .z-string.z-unquoted.z-label.z-js { - color: #cb414d; - } - } -}
\ No newline at end of file diff --git a/sass/syntax/syntax-dracula-abridge-dark.scss b/sass/syntax/syntax-dracula-abridge-dark.scss deleted file mode 100644 index f5fc9c4..0000000 --- a/sass/syntax/syntax-dracula-abridge-dark.scss +++ /dev/null @@ -1,245 +0,0 @@ -.z-code { - color: #f8f8f2; - background-color: #191919; -} -.z-comment { - color: #7080b3; -} -.z-string { - color: #f1fa8c; -} -.z-constant.z-numeric { - color: #bd93f9; -} -.z-constant.z-language { - color: #bd93f9; -} -.z-constant.z-character, .z-constant.z-other { - color: #bd93f9; -} -.z-variable { -} -.z-variable.z-other.z-readwrite.z-instance { - color: #ffb86c; -} -.z-constant.z-character.z-escaped, .z-constant.z-character.z-escape, .z-string .z-source, .z-string .z-source.z-ruby { - color: #ff79c6; -} -.z-source.z-ruby .z-string.z-regexp.z-classic.z-ruby, .z-source.z-ruby .z-string.z-regexp.z-mod-r.z-ruby { - color: #ff7d78; -} -.z-keyword { - color: #ff79c6; -} -.z-storage { - color: #ff79c6; -} -.z-storage.z-type { - color: #8be9fd; - font-style: italic; -} -.z-storage.z-type.z-namespace { - color: #8be9fd; - font-style: italic; -} -.z-storage.z-type.z-class { - color: #ff79c6; - font-style: italic; -} -.z-entity.z-name.z-class { - color: #8be9fd; - text-decoration: underline; -} -.z-meta.z-path { - color: #66d9ef; - text-decoration: underline; -} -.z-entity.z-other.z-inherited-class { - color: #8be9fd; - text-decoration: underline; - font-style: italic; -} -.z-entity.z-name.z-function { - color: #50fa7b; -} -.z-variable.z-parameter { - color: #ffb86c; - font-style: italic; -} -.z-entity.z-name.z-tag { - color: #ff79c6; -} -.z-entity.z-other.z-attribute-name { - color: #50fa7b; -} -.z-support.z-function { - color: #8be9fd; -} -.z-support.z-constant { - color: #6be5fd; -} -.z-support.z-type, .z-support.z-class { - color: #66d9ef; - font-style: italic; -} -.z-support.z-other.z-variable { -} -.z-support.z-other.z-namespace { - color: #66d9ef; - font-style: italic; -} -.z-invalid { - color: #f8f8f0; - background-color: #ff79c6; -} -.z-invalid.z-deprecated { - color: #f8f8f0; - background-color: #bd93f9; -} -.z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json { - color: #cfcfc2; -} -.z-meta.z-diff, .z-meta.z-diff.z-header { - color: #7080b3; -} -.z-markup.z-deleted { - color: #ff79c6; -} -.z-markup.z-inserted { - color: #50fa7b; -} -.z-markup.z-changed { - color: #e6db74; -} -.z-constant.z-numeric.z-line-number.z-find-in-files { - color: #bd93f9; -} -.z-entity.z-name.z-filename { - color: #e6db74; -} -.z-message.z-error { - color: #ff7c6d; -} -.z-punctuation.z-definition.z-string.z-begin.z-json, .z-punctuation.z-definition.z-string.z-end.z-json { - color: #eeeeee; -} -.z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json { - color: #8be9fd; -} -.z-meta.z-structure.z-dictionary.z-value.z-json .z-string.z-quoted.z-double.z-json { - color: #f1fa8c; -} -.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #50fa7b; -} -.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #ffb86c; -} -.z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #ff79c6; -} -.z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #bd93f9; -} -.z-meta .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #50fa7b; -} -.z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #ffb86c; -} -.z-markup.z-strike { - color: #ffb86c; - font-style: italic; -} -.z-markup.z-bold { - color: #ffb86c; -font-weight: bold; -} -.z-markup.z-italic { - color: #ffb86c; - font-style: italic; -} -.z-markup.z-heading { - color: #8be9fd; -} -.z-punctuation.z-definition.z-list_item.z-markdown { - color: #ff79c6; -} -.z-markup.z-quote { - color: #7080b3; - font-style: italic; -} -.z-punctuation.z-definition.z-blockquote.z-markdown { - color: #7080b3; - background-color: #7080b3; - font-style: italic; -} -.z-meta.z-separator { - color: #7080b3; -} -.z-text.z-html.z-markdown .z-markup.z-raw.z-inline { - color: #50fa7b; -} -.z-markup.z-underline { - color: #bd93f9; - text-decoration: underline; -} -.z-markup.z-raw.z-block { - color: #cfcfc2; -} -.z-markup.z-raw.z-block.z-fenced.z-markdown .z-source { - color: #f8f8f2; -} -.z-punctuation.z-definition.z-fenced.z-markdown, .z-variable.z-language.z-fenced.z-markdown { - color: #7080b3; - font-style: italic; -} -.z-variable.z-language.z-fenced.z-markdown { - color: #7080b3; - font-style: italic; -} -.z-punctuation.z-accessor { - color: #ff79c6; -} -.z-meta.z-function.z-return-type { - color: #ff79c6; -} -.z-punctuation.z-section.z-block.z-begin { - color: #ffffff; -} -.z-punctuation.z-section.z-block.z-end { - color: #ffffff; -} -.z-punctuation.z-section.z-embedded.z-begin { - color: #ff79c6; -} -.z-punctuation.z-section.z-embedded.z-end { - color: #ff79c6; -} -.z-punctuation.z-separator.z-namespace { - color: #ff79c6; -} -.z-variable.z-function { - color: #50fa7b; -} -.z-variable.z-other { - color: #ffffff; -} -.z-variable.z-language { - color: #bd93f9; -} -.z-entity.z-name.z-module.z-ruby { - color: #8be9fd; -} -.z-entity.z-name.z-constant.z-ruby { - color: #bd93f9; -} -.z-support.z-function.z-builtin.z-ruby { - color: #ffffff; -} -.z-storage.z-type.z-namespace.z-cs { - color: #ff79c6; -} -.z-entity.z-name.z-namespace.z-cs { - color: #8be9fd; -} diff --git a/sass/syntax/syntax-dracula-abridge-light.scss b/sass/syntax/syntax-dracula-abridge-light.scss deleted file mode 100644 index db807f0..0000000 --- a/sass/syntax/syntax-dracula-abridge-light.scss +++ /dev/null @@ -1,245 +0,0 @@ -.z-code { - color: #72726d; - background-color: #ffffff; -} -.z-comment { - color: #6272a4; -} -.z-string { - color: #6b7807; -} -.z-constant.z-numeric { - color: #8660c1; -} -.z-constant.z-language { - color: #8660c1; -} -.z-constant.z-character, .z-constant.z-other { - color: #8660c1; -} -.z-variable { -} -.z-variable.z-other.z-readwrite.z-instance { - color: #a1661c; -} -.z-constant.z-character.z-escaped, .z-constant.z-character.z-escape, .z-string .z-source, .z-string .z-source.z-ruby { - color: #c13f8e; -} -.z-source.z-ruby .z-string.z-regexp.z-classic.z-ruby, .z-source.z-ruby .z-string.z-regexp.z-mod-r.z-ruby { - color: #d9303a; -} -.z-keyword { - color: #c13f8e; -} -.z-storage { - color: #c13f8e; -} -.z-storage.z-type { - color: #007d90; - font-style: italic; -} -.z-storage.z-type.z-namespace { - color: #007d90; - font-style: italic; -} -.z-storage.z-type.z-class { - color: #c13f8e; - font-style: italic; -} -.z-entity.z-name.z-class { - color: #007d90; - text-decoration: underline; -} -.z-meta.z-path { - color: #007f93; - text-decoration: underline; -} -.z-entity.z-other.z-inherited-class { - color: #007d90; - text-decoration: underline; - font-style: italic; -} -.z-entity.z-name.z-function { - color: #008504; -} -.z-variable.z-parameter { - color: #a1661c; - font-style: italic; -} -.z-entity.z-name.z-tag { - color: #c13f8e; -} -.z-entity.z-other.z-attribute-name { - color: #008504; -} -.z-support.z-function { - color: #007d90; -} -.z-support.z-constant { - color: #007e94; -} -.z-support.z-type, .z-support.z-class { - color: #007f93; - font-style: italic; -} -.z-support.z-other.z-variable { -} -.z-support.z-other.z-namespace { - color: #007f93; - font-style: italic; -} -.z-invalid { - color: #72726b; - background-color: #c13f8e; -} -.z-invalid.z-deprecated { - color: #72726b; - background-color: #8660c1; -} -.z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json { - color: #747469; -} -.z-meta.z-diff, .z-meta.z-diff.z-header { - color: #6272a4; -} -.z-markup.z-deleted { - color: #c13f8e; -} -.z-markup.z-inserted { - color: #008504; -} -.z-markup.z-changed { - color: #7b760c; -} -.z-constant.z-numeric.z-line-number.z-find-in-files { - color: #8660c1; -} -.z-entity.z-name.z-filename { - color: #7b760c; -} -.z-message.z-error { - color: #e31625; -} -.z-punctuation.z-definition.z-string.z-begin.z-json, .z-punctuation.z-definition.z-string.z-end.z-json { - color: #727272; -} -.z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json { - color: #007d90; -} -.z-meta.z-structure.z-dictionary.z-value.z-json .z-string.z-quoted.z-double.z-json { - color: #6b7807; -} -.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #008504; -} -.z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #a1661c; -} -.z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #c13f8e; -} -.z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #8660c1; -} -.z-meta .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #008504; -} -.z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #a1661c; -} -.z-markup.z-strike { - color: #a1661c; - font-style: italic; -} -.z-markup.z-bold { - color: #a1661c; -font-weight: bold; -} -.z-markup.z-italic { - color: #a1661c; - font-style: italic; -} -.z-markup.z-heading { - color: #007d90; -} -.z-punctuation.z-definition.z-list_item.z-markdown { - color: #c13f8e; -} -.z-markup.z-quote { - color: #6272a4; - font-style: italic; -} -.z-punctuation.z-definition.z-blockquote.z-markdown { - color: #6272a4; - background-color: #6272a4; - font-style: italic; -} -.z-meta.z-separator { - color: #6272a4; -} -.z-text.z-html.z-markdown .z-markup.z-raw.z-inline { - color: #008504; -} -.z-markup.z-underline { - color: #8660c1; - text-decoration: underline; -} -.z-markup.z-raw.z-block { - color: #747469; -} -.z-markup.z-raw.z-block.z-fenced.z-markdown .z-source { - color: #72726d; -} -.z-punctuation.z-definition.z-fenced.z-markdown, .z-variable.z-language.z-fenced.z-markdown { - color: #6272a4; - font-style: italic; -} -.z-variable.z-language.z-fenced.z-markdown { - color: #6272a4; - font-style: italic; -} -.z-punctuation.z-accessor { - color: #c13f8e; -} -.z-meta.z-function.z-return-type { - color: #c13f8e; -} -.z-punctuation.z-section.z-block.z-begin { - color: #ffffff; -} -.z-punctuation.z-section.z-block.z-end { - color: #ffffff; -} -.z-punctuation.z-section.z-embedded.z-begin { - color: #c13f8e; -} -.z-punctuation.z-section.z-embedded.z-end { - color: #c13f8e; -} -.z-punctuation.z-separator.z-namespace { - color: #c13f8e; -} -.z-variable.z-function { - color: #008504; -} -.z-variable.z-other { - color: #ffffff; -} -.z-variable.z-language { - color: #8660c1; -} -.z-entity.z-name.z-module.z-ruby { - color: #007d90; -} -.z-entity.z-name.z-constant.z-ruby { - color: #8660c1; -} -.z-support.z-function.z-builtin.z-ruby { - color: #ffffff; -} -.z-storage.z-type.z-namespace.z-cs { - color: #c13f8e; -} -.z-entity.z-name.z-namespace.z-cs { - color: #007d90; -} diff --git a/sass/syntax/syntax-dracula-abridge-switcher.scss b/sass/syntax/syntax-dracula-abridge-switcher.scss deleted file mode 100644 index ff5b8c5..0000000 --- a/sass/syntax/syntax-dracula-abridge-switcher.scss +++ /dev/null @@ -1,494 +0,0 @@ -:root:not(.light) { - .z-code { - color: #f8f8f2; - background-color: #191919; - } - .z-comment { - color: #7080b3; - } - .z-string { - color: #f1fa8c; - } - .z-constant.z-numeric { - color: #bd93f9; - } - .z-constant.z-language { - color: #bd93f9; - } - .z-constant.z-character, .z-constant.z-other { - color: #bd93f9; - } - .z-variable { - } - .z-variable.z-other.z-readwrite.z-instance { - color: #ffb86c; - } - .z-constant.z-character.z-escaped, .z-constant.z-character.z-escape, .z-string .z-source, .z-string .z-source.z-ruby { - color: #ff79c6; - } - .z-source.z-ruby .z-string.z-regexp.z-classic.z-ruby, .z-source.z-ruby .z-string.z-regexp.z-mod-r.z-ruby { - color: #ff7d78; - } - .z-keyword { - color: #ff79c6; - } - .z-storage { - color: #ff79c6; - } - .z-storage.z-type { - color: #8be9fd; - font-style: italic; - } - .z-storage.z-type.z-namespace { - color: #8be9fd; - font-style: italic; - } - .z-storage.z-type.z-class { - color: #ff79c6; - font-style: italic; - } - .z-entity.z-name.z-class { - color: #8be9fd; - text-decoration: underline; - } - .z-meta.z-path { - color: #66d9ef; - text-decoration: underline; - } - .z-entity.z-other.z-inherited-class { - color: #8be9fd; - text-decoration: underline; - font-style: italic; - } - .z-entity.z-name.z-function { - color: #50fa7b; - } - .z-variable.z-parameter { - color: #ffb86c; - font-style: italic; - } - .z-entity.z-name.z-tag { - color: #ff79c6; - } - .z-entity.z-other.z-attribute-name { - color: #50fa7b; - } - .z-support.z-function { - color: #8be9fd; - } - .z-support.z-constant { - color: #6be5fd; - } - .z-support.z-type, .z-support.z-class { - color: #66d9ef; - font-style: italic; - } - .z-support.z-other.z-variable { - } - .z-support.z-other.z-namespace { - color: #66d9ef; - font-style: italic; - } - .z-invalid { - color: #f8f8f0; - background-color: #ff79c6; - } - .z-invalid.z-deprecated { - color: #f8f8f0; - background-color: #bd93f9; - } - .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json { - color: #cfcfc2; - } - .z-meta.z-diff, .z-meta.z-diff.z-header { - color: #7080b3; - } - .z-markup.z-deleted { - color: #ff79c6; - } - .z-markup.z-inserted { - color: #50fa7b; - } - .z-markup.z-changed { - color: #e6db74; - } - .z-constant.z-numeric.z-line-number.z-find-in-files { - color: #bd93f9; - } - .z-entity.z-name.z-filename { - color: #e6db74; - } - .z-message.z-error { - color: #ff7c6d; - } - .z-punctuation.z-definition.z-string.z-begin.z-json, .z-punctuation.z-definition.z-string.z-end.z-json { - color: #eeeeee; - } - .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json { - color: #8be9fd; - } - .z-meta.z-structure.z-dictionary.z-value.z-json .z-string.z-quoted.z-double.z-json { - color: #f1fa8c; - } - .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #50fa7b; - } - .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #ffb86c; - } - .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #ff79c6; - } - .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #bd93f9; - } - .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #50fa7b; - } - .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #ffb86c; - } - .z-markup.z-strike { - color: #ffb86c; - font-style: italic; - } - .z-markup.z-bold { - color: #ffb86c; - font-weight: bold; - } - .z-markup.z-italic { - color: #ffb86c; - font-style: italic; - } - .z-markup.z-heading { - color: #8be9fd; - } - .z-punctuation.z-definition.z-list_item.z-markdown { - color: #ff79c6; - } - .z-markup.z-quote { - color: #7080b3; - font-style: italic; - } - .z-punctuation.z-definition.z-blockquote.z-markdown { - color: #7080b3; - background-color: #7080b3; - font-style: italic; - } - .z-meta.z-separator { - color: #7080b3; - } - .z-text.z-html.z-markdown .z-markup.z-raw.z-inline { - color: #50fa7b; - } - .z-markup.z-underline { - color: #bd93f9; - text-decoration: underline; - } - .z-markup.z-raw.z-block { - color: #cfcfc2; - } - .z-markup.z-raw.z-block.z-fenced.z-markdown .z-source { - color: #f8f8f2; - } - .z-punctuation.z-definition.z-fenced.z-markdown, .z-variable.z-language.z-fenced.z-markdown { - color: #7080b3; - font-style: italic; - } - .z-variable.z-language.z-fenced.z-markdown { - color: #7080b3; - font-style: italic; - } - .z-punctuation.z-accessor { - color: #ff79c6; - } - .z-meta.z-function.z-return-type { - color: #ff79c6; - } - .z-punctuation.z-section.z-block.z-begin { - color: #ffffff; - } - .z-punctuation.z-section.z-block.z-end { - color: #ffffff; - } - .z-punctuation.z-section.z-embedded.z-begin { - color: #ff79c6; - } - .z-punctuation.z-section.z-embedded.z-end { - color: #ff79c6; - } - .z-punctuation.z-separator.z-namespace { - color: #ff79c6; - } - .z-variable.z-function { - color: #50fa7b; - } - .z-variable.z-other { - color: #ffffff; - } - .z-variable.z-language { - color: #bd93f9; - } - .z-entity.z-name.z-module.z-ruby { - color: #8be9fd; - } - .z-entity.z-name.z-constant.z-ruby { - color: #bd93f9; - } - .z-support.z-function.z-builtin.z-ruby { - color: #ffffff; - } - .z-storage.z-type.z-namespace.z-cs { - color: #ff79c6; - } - .z-entity.z-name.z-namespace.z-cs { - color: #8be9fd; - } -} -:root.light { - .z-code { - color: #72726d; - background-color: #ffffff; - } - .z-comment { - color: #6272a4; - } - .z-string { - color: #6b7807; - } - .z-constant.z-numeric { - color: #8660c1; - } - .z-constant.z-language { - color: #8660c1; - } - .z-constant.z-character, .z-constant.z-other { - color: #8660c1; - } - .z-variable { - } - .z-variable.z-other.z-readwrite.z-instance { - color: #a1661c; - } - .z-constant.z-character.z-escaped, .z-constant.z-character.z-escape, .z-string .z-source, .z-string .z-source.z-ruby { - color: #c13f8e; - } - .z-source.z-ruby .z-string.z-regexp.z-classic.z-ruby, .z-source.z-ruby .z-string.z-regexp.z-mod-r.z-ruby { - color: #d9303a; - } - .z-keyword { - color: #c13f8e; - } - .z-storage { - color: #c13f8e; - } - .z-storage.z-type { - color: #007d90; - font-style: italic; - } - .z-storage.z-type.z-namespace { - color: #007d90; - font-style: italic; - } - .z-storage.z-type.z-class { - color: #c13f8e; - font-style: italic; - } - .z-entity.z-name.z-class { - color: #007d90; - text-decoration: underline; - } - .z-meta.z-path { - color: #007f93; - text-decoration: underline; - } - .z-entity.z-other.z-inherited-class { - color: #007d90; - text-decoration: underline; - font-style: italic; - } - .z-entity.z-name.z-function { - color: #008504; - } - .z-variable.z-parameter { - color: #a1661c; - font-style: italic; - } - .z-entity.z-name.z-tag { - color: #c13f8e; - } - .z-entity.z-other.z-attribute-name { - color: #008504; - } - .z-support.z-function { - color: #007d90; - } - .z-support.z-constant { - color: #007e94; - } - .z-support.z-type, .z-support.z-class { - color: #007f93; - font-style: italic; - } - .z-support.z-other.z-variable { - } - .z-support.z-other.z-namespace { - color: #007f93; - font-style: italic; - } - .z-invalid { - color: #72726b; - background-color: #c13f8e; - } - .z-invalid.z-deprecated { - color: #72726b; - background-color: #8660c1; - } - .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json { - color: #747469; - } - .z-meta.z-diff, .z-meta.z-diff.z-header { - color: #6272a4; - } - .z-markup.z-deleted { - color: #c13f8e; - } - .z-markup.z-inserted { - color: #008504; - } - .z-markup.z-changed { - color: #7b760c; - } - .z-constant.z-numeric.z-line-number.z-find-in-files { - color: #8660c1; - } - .z-entity.z-name.z-filename { - color: #7b760c; - } - .z-message.z-error { - color: #e31625; - } - .z-punctuation.z-definition.z-string.z-begin.z-json, .z-punctuation.z-definition.z-string.z-end.z-json { - color: #727272; - } - .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json { - color: #007d90; - } - .z-meta.z-structure.z-dictionary.z-value.z-json .z-string.z-quoted.z-double.z-json { - color: #6b7807; - } - .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #008504; - } - .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #a1661c; - } - .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #c13f8e; - } - .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #8660c1; - } - .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #008504; - } - .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #a1661c; - } - .z-markup.z-strike { - color: #a1661c; - font-style: italic; - } - .z-markup.z-bold { - color: #a1661c; - font-weight: bold; - } - .z-markup.z-italic { - color: #a1661c; - font-style: italic; - } - .z-markup.z-heading { - color: #007d90; - } - .z-punctuation.z-definition.z-list_item.z-markdown { - color: #c13f8e; - } - .z-markup.z-quote { - color: #6272a4; - font-style: italic; - } - .z-punctuation.z-definition.z-blockquote.z-markdown { - color: #6272a4; - background-color: #6272a4; - font-style: italic; - } - .z-meta.z-separator { - color: #6272a4; - } - .z-text.z-html.z-markdown .z-markup.z-raw.z-inline { - color: #008504; - } - .z-markup.z-underline { - color: #8660c1; - text-decoration: underline; - } - .z-markup.z-raw.z-block { - color: #747469; - } - .z-markup.z-raw.z-block.z-fenced.z-markdown .z-source { - color: #72726d; - } - .z-punctuation.z-definition.z-fenced.z-markdown, .z-variable.z-language.z-fenced.z-markdown { - color: #6272a4; - font-style: italic; - } - .z-variable.z-language.z-fenced.z-markdown { - color: #6272a4; - font-style: italic; - } - .z-punctuation.z-accessor { - color: #c13f8e; - } - .z-meta.z-function.z-return-type { - color: #c13f8e; - } - .z-punctuation.z-section.z-block.z-begin { - color: #ffffff; - } - .z-punctuation.z-section.z-block.z-end { - color: #ffffff; - } - .z-punctuation.z-section.z-embedded.z-begin { - color: #c13f8e; - } - .z-punctuation.z-section.z-embedded.z-end { - color: #c13f8e; - } - .z-punctuation.z-separator.z-namespace { - color: #c13f8e; - } - .z-variable.z-function { - color: #008504; - } - .z-variable.z-other { - color: #ffffff; - } - .z-variable.z-language { - color: #8660c1; - } - .z-entity.z-name.z-module.z-ruby { - color: #007d90; - } - .z-entity.z-name.z-constant.z-ruby { - color: #8660c1; - } - .z-support.z-function.z-builtin.z-ruby { - color: #ffffff; - } - .z-storage.z-type.z-namespace.z-cs { - color: #c13f8e; - } - .z-entity.z-name.z-namespace.z-cs { - color: #007d90; - } -}
\ No newline at end of file diff --git a/sass/syntax/syntax-dracula-abridge.scss b/sass/syntax/syntax-dracula-abridge.scss deleted file mode 100644 index afcb050..0000000 --- a/sass/syntax/syntax-dracula-abridge.scss +++ /dev/null @@ -1,496 +0,0 @@ -:root { - .z-code { - color: #f8f8f2; - background-color: #191919; - } - .z-comment { - color: #7080b3; - } - .z-string { - color: #f1fa8c; - } - .z-constant.z-numeric { - color: #bd93f9; - } - .z-constant.z-language { - color: #bd93f9; - } - .z-constant.z-character, .z-constant.z-other { - color: #bd93f9; - } - .z-variable { - } - .z-variable.z-other.z-readwrite.z-instance { - color: #ffb86c; - } - .z-constant.z-character.z-escaped, .z-constant.z-character.z-escape, .z-string .z-source, .z-string .z-source.z-ruby { - color: #ff79c6; - } - .z-source.z-ruby .z-string.z-regexp.z-classic.z-ruby, .z-source.z-ruby .z-string.z-regexp.z-mod-r.z-ruby { - color: #ff7d78; - } - .z-keyword { - color: #ff79c6; - } - .z-storage { - color: #ff79c6; - } - .z-storage.z-type { - color: #8be9fd; - font-style: italic; - } - .z-storage.z-type.z-namespace { - color: #8be9fd; - font-style: italic; - } - .z-storage.z-type.z-class { - color: #ff79c6; - font-style: italic; - } - .z-entity.z-name.z-class { - color: #8be9fd; - text-decoration: underline; - } - .z-meta.z-path { - color: #66d9ef; - text-decoration: underline; - } - .z-entity.z-other.z-inherited-class { - color: #8be9fd; - text-decoration: underline; - font-style: italic; - } - .z-entity.z-name.z-function { - color: #50fa7b; - } - .z-variable.z-parameter { - color: #ffb86c; - font-style: italic; - } - .z-entity.z-name.z-tag { - color: #ff79c6; - } - .z-entity.z-other.z-attribute-name { - color: #50fa7b; - } - .z-support.z-function { - color: #8be9fd; - } - .z-support.z-constant { - color: #6be5fd; - } - .z-support.z-type, .z-support.z-class { - color: #66d9ef; - font-style: italic; - } - .z-support.z-other.z-variable { - } - .z-support.z-other.z-namespace { - color: #66d9ef; - font-style: italic; - } - .z-invalid { - color: #f8f8f0; - background-color: #ff79c6; - } - .z-invalid.z-deprecated { - color: #f8f8f0; - background-color: #bd93f9; - } - .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json { - color: #cfcfc2; - } - .z-meta.z-diff, .z-meta.z-diff.z-header { - color: #7080b3; - } - .z-markup.z-deleted { - color: #ff79c6; - } - .z-markup.z-inserted { - color: #50fa7b; - } - .z-markup.z-changed { - color: #e6db74; - } - .z-constant.z-numeric.z-line-number.z-find-in-files { - color: #bd93f9; - } - .z-entity.z-name.z-filename { - color: #e6db74; - } - .z-message.z-error { - color: #ff7c6d; - } - .z-punctuation.z-definition.z-string.z-begin.z-json, .z-punctuation.z-definition.z-string.z-end.z-json { - color: #eeeeee; - } - .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json { - color: #8be9fd; - } - .z-meta.z-structure.z-dictionary.z-value.z-json .z-string.z-quoted.z-double.z-json { - color: #f1fa8c; - } - .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #50fa7b; - } - .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #ffb86c; - } - .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #ff79c6; - } - .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #bd93f9; - } - .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #50fa7b; - } - .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #ffb86c; - } - .z-markup.z-strike { - color: #ffb86c; - font-style: italic; - } - .z-markup.z-bold { - color: #ffb86c; - font-weight: bold; - } - .z-markup.z-italic { - color: #ffb86c; - font-style: italic; - } - .z-markup.z-heading { - color: #8be9fd; - } - .z-punctuation.z-definition.z-list_item.z-markdown { - color: #ff79c6; - } - .z-markup.z-quote { - color: #7080b3; - font-style: italic; - } - .z-punctuation.z-definition.z-blockquote.z-markdown { - color: #7080b3; - background-color: #7080b3; - font-style: italic; - } - .z-meta.z-separator { - color: #7080b3; - } - .z-text.z-html.z-markdown .z-markup.z-raw.z-inline { - color: #50fa7b; - } - .z-markup.z-underline { - color: #bd93f9; - text-decoration: underline; - } - .z-markup.z-raw.z-block { - color: #cfcfc2; - } - .z-markup.z-raw.z-block.z-fenced.z-markdown .z-source { - color: #f8f8f2; - } - .z-punctuation.z-definition.z-fenced.z-markdown, .z-variable.z-language.z-fenced.z-markdown { - color: #7080b3; - font-style: italic; - } - .z-variable.z-language.z-fenced.z-markdown { - color: #7080b3; - font-style: italic; - } - .z-punctuation.z-accessor { - color: #ff79c6; - } - .z-meta.z-function.z-return-type { - color: #ff79c6; - } - .z-punctuation.z-section.z-block.z-begin { - color: #ffffff; - } - .z-punctuation.z-section.z-block.z-end { - color: #ffffff; - } - .z-punctuation.z-section.z-embedded.z-begin { - color: #ff79c6; - } - .z-punctuation.z-section.z-embedded.z-end { - color: #ff79c6; - } - .z-punctuation.z-separator.z-namespace { - color: #ff79c6; - } - .z-variable.z-function { - color: #50fa7b; - } - .z-variable.z-other { - color: #ffffff; - } - .z-variable.z-language { - color: #bd93f9; - } - .z-entity.z-name.z-module.z-ruby { - color: #8be9fd; - } - .z-entity.z-name.z-constant.z-ruby { - color: #bd93f9; - } - .z-support.z-function.z-builtin.z-ruby { - color: #ffffff; - } - .z-storage.z-type.z-namespace.z-cs { - color: #ff79c6; - } - .z-entity.z-name.z-namespace.z-cs { - color: #8be9fd; - } -} -@media (prefers-color-scheme: light) { - :root { - .z-code { - color: #72726d; - background-color: #ffffff; - } - .z-comment { - color: #6272a4; - } - .z-string { - color: #6b7807; - } - .z-constant.z-numeric { - color: #8660c1; - } - .z-constant.z-language { - color: #8660c1; - } - .z-constant.z-character, .z-constant.z-other { - color: #8660c1; - } - .z-variable { - } - .z-variable.z-other.z-readwrite.z-instance { - color: #a1661c; - } - .z-constant.z-character.z-escaped, .z-constant.z-character.z-escape, .z-string .z-source, .z-string .z-source.z-ruby { - color: #c13f8e; - } - .z-source.z-ruby .z-string.z-regexp.z-classic.z-ruby, .z-source.z-ruby .z-string.z-regexp.z-mod-r.z-ruby { - color: #d9303a; - } - .z-keyword { - color: #c13f8e; - } - .z-storage { - color: #c13f8e; - } - .z-storage.z-type { - color: #007d90; - font-style: italic; - } - .z-storage.z-type.z-namespace { - color: #007d90; - font-style: italic; - } - .z-storage.z-type.z-class { - color: #c13f8e; - font-style: italic; - } - .z-entity.z-name.z-class { - color: #007d90; - text-decoration: underline; - } - .z-meta.z-path { - color: #007f93; - text-decoration: underline; - } - .z-entity.z-other.z-inherited-class { - color: #007d90; - text-decoration: underline; - font-style: italic; - } - .z-entity.z-name.z-function { - color: #008504; - } - .z-variable.z-parameter { - color: #a1661c; - font-style: italic; - } - .z-entity.z-name.z-tag { - color: #c13f8e; - } - .z-entity.z-other.z-attribute-name { - color: #008504; - } - .z-support.z-function { - color: #007d90; - } - .z-support.z-constant { - color: #007e94; - } - .z-support.z-type, .z-support.z-class { - color: #007f93; - font-style: italic; - } - .z-support.z-other.z-variable { - } - .z-support.z-other.z-namespace { - color: #007f93; - font-style: italic; - } - .z-invalid { - color: #72726b; - background-color: #c13f8e; - } - .z-invalid.z-deprecated { - color: #72726b; - background-color: #8660c1; - } - .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json { - color: #747469; - } - .z-meta.z-diff, .z-meta.z-diff.z-header { - color: #6272a4; - } - .z-markup.z-deleted { - color: #c13f8e; - } - .z-markup.z-inserted { - color: #008504; - } - .z-markup.z-changed { - color: #7b760c; - } - .z-constant.z-numeric.z-line-number.z-find-in-files { - color: #8660c1; - } - .z-entity.z-name.z-filename { - color: #7b760c; - } - .z-message.z-error { - color: #e31625; - } - .z-punctuation.z-definition.z-string.z-begin.z-json, .z-punctuation.z-definition.z-string.z-end.z-json { - color: #727272; - } - .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json { - color: #007d90; - } - .z-meta.z-structure.z-dictionary.z-value.z-json .z-string.z-quoted.z-double.z-json { - color: #6b7807; - } - .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #008504; - } - .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #a1661c; - } - .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #c13f8e; - } - .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #8660c1; - } - .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #008504; - } - .z-meta .z-meta.z-structure.z-dictionary.z-value .z-string { - color: #a1661c; - } - .z-markup.z-strike { - color: #a1661c; - font-style: italic; - } - .z-markup.z-bold { - color: #a1661c; - font-weight: bold; - } - .z-markup.z-italic { - color: #a1661c; - font-style: italic; - } - .z-markup.z-heading { - color: #007d90; - } - .z-punctuation.z-definition.z-list_item.z-markdown { - color: #c13f8e; - } - .z-markup.z-quote { - color: #6272a4; - font-style: italic; - } - .z-punctuation.z-definition.z-blockquote.z-markdown { - color: #6272a4; - background-color: #6272a4; - font-style: italic; - } - .z-meta.z-separator { - color: #6272a4; - } - .z-text.z-html.z-markdown .z-markup.z-raw.z-inline { - color: #008504; - } - .z-markup.z-underline { - color: #8660c1; - text-decoration: underline; - } - .z-markup.z-raw.z-block { - color: #747469; - } - .z-markup.z-raw.z-block.z-fenced.z-markdown .z-source { - color: #72726d; - } - .z-punctuation.z-definition.z-fenced.z-markdown, .z-variable.z-language.z-fenced.z-markdown { - color: #6272a4; - font-style: italic; - } - .z-variable.z-language.z-fenced.z-markdown { - color: #6272a4; - font-style: italic; - } - .z-punctuation.z-accessor { - color: #c13f8e; - } - .z-meta.z-function.z-return-type { - color: #c13f8e; - } - .z-punctuation.z-section.z-block.z-begin { - color: #ffffff; - } - .z-punctuation.z-section.z-block.z-end { - color: #ffffff; - } - .z-punctuation.z-section.z-embedded.z-begin { - color: #c13f8e; - } - .z-punctuation.z-section.z-embedded.z-end { - color: #c13f8e; - } - .z-punctuation.z-separator.z-namespace { - color: #c13f8e; - } - .z-variable.z-function { - color: #008504; - } - .z-variable.z-other { - color: #ffffff; - } - .z-variable.z-language { - color: #8660c1; - } - .z-entity.z-name.z-module.z-ruby { - color: #007d90; - } - .z-entity.z-name.z-constant.z-ruby { - color: #8660c1; - } - .z-support.z-function.z-builtin.z-ruby { - color: #ffffff; - } - .z-storage.z-type.z-namespace.z-cs { - color: #c13f8e; - } - .z-entity.z-name.z-namespace.z-cs { - color: #007d90; - } - } -}
\ No newline at end of file diff --git a/sass/syntax/syntax-material-abridge-dark.scss b/sass/syntax/syntax-material-abridge-dark.scss deleted file mode 100644 index 85035d9..0000000 --- a/sass/syntax/syntax-material-abridge-dark.scss +++ /dev/null @@ -1,260 +0,0 @@ -.z-code { - color: #eeffff; - background-color: #191919; -} -.z-comment, .z-punctuation.z-definition.z-comment { - color: #818181; - font-style: italic; -} -.z-variable, .z-string .z-constant.z-other.z-placeholder { - color: #eeffff; -} -.z-constant.z-other.z-color { - color: #ffffff; -} -.z-invalid, .z-invalid.z-illegal, .z-invalid.z-broken { - color: #ffffff; - background-color: #ff7992; -} -.z-invalid.z-unimplemented { - color: #ffffff; - background-color: #c3e88d; -} -.z-invalid.z-deprecated { - color: #ffffff; - background-color: #c792ea; -} -.z-keyword, .z-storage.z-type, .z-storage.z-modifier { - color: #c792ea; -} -.z-storage.z-type, .z-keyword.z-control { - font-style: italic; -} -.z-keyword.z-operator, .z-constant.z-other.z-color, .z-punctuation, .z-meta.z-tag, .z-punctuation.z-definition.z-tag, .z-punctuation.z-separator.z-inheritance.z-php, .z-punctuation.z-definition.z-tag.z-html, .z-punctuation.z-definition.z-tag.z-begin.z-html, .z-punctuation.z-definition.z-tag.z-end.z-html, .z-punctuation.z-section.z-embedded, .z-keyword.z-other.z-template, .z-keyword.z-other.z-substitution { - color: #89ddff; -} -.z-entity.z-name.z-tag, .z-meta.z-tag.z-sgml, .z-markup.z-deleted.z-git_gutter { - color: #fe7d83; -} -.z-entity.z-name.z-function, .z-meta.z-function-call, .z-variable.z-function, .z-support.z-function, .z-keyword.z-other.z-special-method, .z-meta.z-block-level { - color: #82aaff; -} -.z-support.z-other.z-variable, .z-string.z-other.z-link { - color: #fe7d83; -} -.z-constant.z-numeric, .z-constant.z-language, .z-support.z-constant, .z-constant.z-character, .z-variable.z-parameter, .z-keyword.z-other.z-unit { - color: #f78c6c; -} -.z-string, .z-constant.z-other.z-symbol, .z-constant.z-other.z-key, .z-entity.z-other.z-inherited-class, .z-markup.z-heading, .z-markup.z-inserted.z-git_gutter, .z-meta.z-group.z-braces.z-curly .z-constant.z-other.z-object.z-key.z-js .z-string.z-unquoted.z-label.z-js { - color: #c3e88d; -} -.z-entity.z-name.z-class, .z-entity.z-name.z-type.z-class, .z-support.z-type, .z-support.z-class, .z-support.z-orther.z-namespace.z-use.z-php, .z-meta.z-use.z-php, .z-support.z-other.z-namespace.z-php, .z-markup.z-changed.z-git_gutter, .z-support.z-type.z-sys-types { - color: #ffcb6b; -} -.z-source.z-css .z-support.z-type, .z-source.z-sass .z-support.z-type, .z-source.z-scss .z-support.z-type, .z-source.z-less .z-support.z-type, .z-source.z-stylus .z-support.z-type { - color: #b2ccd6; -} -.z-entity.z-name.z-module.z-js, .z-variable.z-import.z-parameter.z-js, .z-variable.z-other.z-class.z-js { - color: #ff7992; -} -.z-variable.z-language { - color: #ff7992; - font-style: italic; -} -.z-entity.z-name.z-method.z-js { - color: #82aaff; -} -.z-meta.z-class-method.z-js .z-entity.z-name.z-function.z-js, .z-variable.z-function.z-constructor { - color: #82aaff; -} -.z-entity.z-other.z-attribute-name { - color: #c792ea; -} -.z-text.z-html.z-basic .z-entity.z-other.z-attribute-name.z-html, .z-text.z-html.z-basic .z-entity.z-other.z-attribute-name { - color: #ffcb6b; - font-style: italic; -} -.z-entity.z-other.z-attribute-name.z-class { - color: #ffcb6b; -} -.z-source.z-sass .z-keyword.z-control { - color: #82aaff; -} -.z-markup.z-inserted { - color: #c3e88d; -} -.z-markup.z-deleted { - color: #ff7992; -} -.z-markup.z-changed { - color: #c792ea; -} -.z-string.z-regexp { - color: #89ddff; -} -.z-constant.z-character.z-escape { - color: #89ddff; -} -.z-*url*, .z-*link*, .z-*uri* { - text-decoration: underline; -} -.z-constant.z-numeric.z-line-number.z-find-in-files { - color: #d89385; -} -.z-entity.z-name.z-filename.z-find-in-files { - color: #c3e88d; -} -.z-tag.z-decorator.z-js .z-entity.z-name.z-tag.z-js, .z-tag.z-decorator.z-js .z-punctuation.z-definition.z-tag.z-js { - color: #82aaff; - font-style: italic; -} -.z-source.z-js .z-constant.z-other.z-object.z-key.z-js .z-string.z-unquoted.z-label.z-js { - color: #ff7992; - font-style: italic; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #c3e88d; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #c792ea; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #fe7d83; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #82aaff; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #d89385; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #ff7992; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #f78c6c; -} -.z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #ffcb6b; -} -.z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #c792ea; -} -.z-text.z-html.z-markdown, .z-punctuation.z-definition.z-list_item.z-markdown { - color: #eeffff; -} -.z-text.z-html.z-markdown .z-markup.z-raw.z-inline { - color: #c792ea; -} -.z-text.z-html.z-markdown .z-punctuation.z-definition.z-raw.z-markdown { - color: #65737e; -} -.z-markdown.z-heading, .z-markup.z-heading, .z-markup.z-heading .z-entity.z-name, .z-markup.z-heading.z-markdown .z-punctuation.z-definition.z-heading.z-markdown { - color: #c3e88d; -} -.z-markup.z-italic { - color: #fe7d83; - font-style: italic; -} -.z-markup.z-bold, .z-markup.z-bold .z-string { - color: #fe7d83; -font-weight: bold; -} -.z-markup.z-bold .z-markup.z-italic, .z-markup.z-italic .z-markup.z-bold, .z-markup.z-quote .z-markup.z-bold, .z-markup.z-bold .z-markup.z-italic .z-string, .z-markup.z-italic .z-markup.z-bold .z-string, .z-markup.z-quote .z-markup.z-bold .z-string { -font-weight: bold; - font-style: italic; -} -.z-markup.z-underline { - color: #f78c6c; - text-decoration: underline; -} -.z-markup.z-quote .z-punctuation.z-definition.z-blockquote.z-markdown { - color: #65737e; - background-color: #65737e; -} -.z-string.z-other.z-link.z-title.z-markdown { - color: #82aaff; -} -.z-string.z-other.z-link.z-description.z-title.z-markdown { - color: #c792ea; -} -.z-constant.z-other.z-reference.z-link.z-markdown { - color: #ffcb6b; -} -.z-markup.z-raw.z-block { - color: #c792ea; -} -.z-markup.z-raw.z-block.z-fenced.z-markdown { - background-color: #000000; -} -.z-punctuation.z-definition.z-fenced.z-markdown { - background-color: #000000; -} -.z-markup.z-raw.z-block.z-fenced.z-markdown, .z-variable.z-language.z-fenced.z-markdown, .z-punctuation.z-section.z-class.z-end { - color: #eeffff; -} -.z-variable.z-language.z-fenced.z-markdown { - color: #65737e; -} -.z-text.z-html.z-markdown .z-punctuation.z-definition { - color: #818181; -} -.z-text.z-html.z-markdown .z-meta.z-disable-markdown .z-punctuation.z-definition { - color: #89ddff; -} -.z-meta.z-separator { - color: #65737e; - background-color: #000000; -font-weight: bold; -} -.z-acejump.z-label.z-blue { - color: #ffffff; - background-color: #82aaff; -} -.z-acejump.z-label.z-green { - color: #ffffff; - background-color: #c3e88d; -} -.z-acejump.z-label.z-orange { - color: #ffffff; - background-color: #f78c6c; -} -.z-acejump.z-label.z-purple { - color: #ffffff; - background-color: #c792ea; -} -.z-sublimelinter.z-mark.z-warning { - color: #ffcb6b; -} -.z-sublimelinter.z-gutter-mark { - color: #ffffff; -} -.z-sublimelinter.z-mark.z-error { - color: #ff7992; -} -.z-sublimelinter.z-annotations { - background-color: #d89385; -} -.z-markup.z-ignored.z-git_gutter { - color: #65737e; -} -.z-markup.z-untracked.z-git_gutter { - color: #65737e; -} -.z-markup.z-inserted.z-git_gutter { - color: #c3e88d; -} -.z-markup.z-changed.z-git_gutter { - color: #ffcb6b; -} -.z-markup.z-deleted.z-git_gutter { - color: #ff7992; -} -.z-brackethighlighter.z-default { - color: #b2ccd6; -} -.z-brackethighlighter.z-quote { - color: #c3e88d; -} -.z-brackethighlighter.z-unmatched { - color: #ff7992; -} diff --git a/sass/syntax/syntax-material-abridge-light.scss b/sass/syntax/syntax-material-abridge-light.scss deleted file mode 100644 index 05281bb..0000000 --- a/sass/syntax/syntax-material-abridge-light.scss +++ /dev/null @@ -1,260 +0,0 @@ -.z-code { - color: #317e78; - background-color: #ffffff; -} -.z-comment, .z-punctuation.z-definition.z-comment { - color: #6b7577; - font-style: italic; -} -.z-variable, .z-string .z-constant.z-other.z-placeholder { - color: #317e78; -} -.z-constant.z-other.z-color { - color: #ffffff; -} -.z-invalid, .z-invalid.z-illegal, .z-invalid.z-broken { - color: #ffffff; - background-color: #d92d2d; -} -.z-invalid.z-unimplemented { - color: #ffffff; - background-color: #587f22; -} -.z-invalid.z-deprecated { - color: #ffffff; - background-color: #7c4dff; -} -.z-keyword, .z-storage.z-type, .z-storage.z-modifier { - color: #7c4dff; -} -.z-storage.z-type, .z-keyword.z-control { - font-style: italic; -} -.z-keyword.z-operator, .z-constant.z-other.z-color, .z-punctuation, .z-meta.z-tag, .z-punctuation.z-definition.z-tag, .z-punctuation.z-separator.z-inheritance.z-php, .z-punctuation.z-definition.z-tag.z-html, .z-punctuation.z-definition.z-tag.z-begin.z-html, .z-punctuation.z-definition.z-tag.z-end.z-html, .z-punctuation.z-section.z-embedded, .z-keyword.z-other.z-template, .z-keyword.z-other.z-substitution { - color: #008088; -} -.z-entity.z-name.z-tag, .z-meta.z-tag.z-sgml, .z-markup.z-deleted.z-git_gutter { - color: #d72952; -} -.z-entity.z-name.z-function, .z-meta.z-function-call, .z-variable.z-function, .z-support.z-function, .z-keyword.z-other.z-special-method, .z-meta.z-block-level { - color: #5274a9; -} -.z-support.z-other.z-variable, .z-string.z-other.z-link { - color: #d72952; -} -.z-constant.z-numeric, .z-constant.z-language, .z-support.z-constant, .z-constant.z-character, .z-variable.z-parameter, .z-keyword.z-other.z-unit { - color: #c94625; -} -.z-string, .z-constant.z-other.z-symbol, .z-constant.z-other.z-key, .z-entity.z-other.z-inherited-class, .z-markup.z-heading, .z-markup.z-inserted.z-git_gutter, .z-meta.z-group.z-braces.z-curly .z-constant.z-other.z-object.z-key.z-js .z-string.z-unquoted.z-label.z-js { - color: #587f22; -} -.z-entity.z-name.z-class, .z-entity.z-name.z-type.z-class, .z-support.z-type, .z-support.z-class, .z-support.z-orther.z-namespace.z-use.z-php, .z-meta.z-use.z-php, .z-support.z-other.z-namespace.z-php, .z-markup.z-changed.z-git_gutter, .z-support.z-type.z-sys-types { - color: #a16700; -} -.z-source.z-css .z-support.z-type, .z-source.z-sass .z-support.z-type, .z-source.z-scss .z-support.z-type, .z-source.z-less .z-support.z-type, .z-source.z-stylus .z-support.z-type { - color: #64738c; -} -.z-entity.z-name.z-module.z-js, .z-variable.z-import.z-parameter.z-js, .z-variable.z-other.z-class.z-js { - color: #d92d2d; -} -.z-variable.z-language { - color: #d92d2d; - font-style: italic; -} -.z-entity.z-name.z-method.z-js { - color: #5274a9; -} -.z-meta.z-class-method.z-js .z-entity.z-name.z-function.z-js, .z-variable.z-function.z-constructor { - color: #5274a9; -} -.z-entity.z-other.z-attribute-name { - color: #7c4dff; -} -.z-text.z-html.z-basic .z-entity.z-other.z-attribute-name.z-html, .z-text.z-html.z-basic .z-entity.z-other.z-attribute-name { - color: #a16700; - font-style: italic; -} -.z-entity.z-other.z-attribute-name.z-class { - color: #a16700; -} -.z-source.z-sass .z-keyword.z-control { - color: #5274a9; -} -.z-markup.z-inserted { - color: #587f22; -} -.z-markup.z-deleted { - color: #d92d2d; -} -.z-markup.z-changed { - color: #7c4dff; -} -.z-string.z-regexp { - color: #008088; -} -.z-constant.z-character.z-escape { - color: #008088; -} -.z-*url*, .z-*link*, .z-*uri* { - text-decoration: underline; -} -.z-constant.z-numeric.z-line-number.z-find-in-files { - color: #a26356; -} -.z-entity.z-name.z-filename.z-find-in-files { - color: #587f22; -} -.z-tag.z-decorator.z-js .z-entity.z-name.z-tag.z-js, .z-tag.z-decorator.z-js .z-punctuation.z-definition.z-tag.z-js { - color: #5274a9; - font-style: italic; -} -.z-source.z-js .z-constant.z-other.z-object.z-key.z-js .z-string.z-unquoted.z-label.z-js { - color: #d92d2d; - font-style: italic; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #587f22; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #7c4dff; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #d72952; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #5274a9; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #a26356; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #d92d2d; -} -.z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #c94625; -} -.z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #a16700; -} -.z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #7c4dff; -} -.z-text.z-html.z-markdown, .z-punctuation.z-definition.z-list_item.z-markdown { - color: #317e78; -} -.z-text.z-html.z-markdown .z-markup.z-raw.z-inline { - color: #7c4dff; -} -.z-text.z-html.z-markdown .z-punctuation.z-definition.z-raw.z-markdown { - color: #717375; -} -.z-markdown.z-heading, .z-markup.z-heading, .z-markup.z-heading .z-entity.z-name, .z-markup.z-heading.z-markdown .z-punctuation.z-definition.z-heading.z-markdown { - color: #587f22; -} -.z-markup.z-italic { - color: #d72952; - font-style: italic; -} -.z-markup.z-bold, .z-markup.z-bold .z-string { - color: #d72952; -font-weight: bold; -} -.z-markup.z-bold .z-markup.z-italic, .z-markup.z-italic .z-markup.z-bold, .z-markup.z-quote .z-markup.z-bold, .z-markup.z-bold .z-markup.z-italic .z-string, .z-markup.z-italic .z-markup.z-bold .z-string, .z-markup.z-quote .z-markup.z-bold .z-string { -font-weight: bold; - font-style: italic; -} -.z-markup.z-underline { - color: #c94625; - text-decoration: underline; -} -.z-markup.z-quote .z-punctuation.z-definition.z-blockquote.z-markdown { - color: #717375; - background-color: #717375; -} -.z-string.z-other.z-link.z-title.z-markdown { - color: #5274a9; -} -.z-string.z-other.z-link.z-description.z-title.z-markdown { - color: #7c4dff; -} -.z-constant.z-other.z-reference.z-link.z-markdown { - color: #a16700; -} -.z-markup.z-raw.z-block { - color: #7c4dff; -} -.z-markup.z-raw.z-block.z-fenced.z-markdown { - background-color: #62757f; -} -.z-punctuation.z-definition.z-fenced.z-markdown { - background-color: #62757f; -} -.z-markup.z-raw.z-block.z-fenced.z-markdown, .z-variable.z-language.z-fenced.z-markdown, .z-punctuation.z-section.z-class.z-end { - color: #317e78; -} -.z-variable.z-language.z-fenced.z-markdown { - color: #717375; -} -.z-text.z-html.z-markdown .z-punctuation.z-definition { - color: #6b7577; -} -.z-text.z-html.z-markdown .z-meta.z-disable-markdown .z-punctuation.z-definition { - color: #008088; -} -.z-meta.z-separator { - color: #717375; - background-color: #62757f; -font-weight: bold; -} -.z-acejump.z-label.z-blue { - color: #ffffff; - background-color: #5274a9; -} -.z-acejump.z-label.z-green { - color: #ffffff; - background-color: #587f22; -} -.z-acejump.z-label.z-orange { - color: #ffffff; - background-color: #c94625; -} -.z-acejump.z-label.z-purple { - color: #ffffff; - background-color: #7c4dff; -} -.z-sublimelinter.z-mark.z-warning { - color: #a16700; -} -.z-sublimelinter.z-gutter-mark { - color: #ffffff; -} -.z-sublimelinter.z-mark.z-error { - color: #d92d2d; -} -.z-sublimelinter.z-annotations { - background-color: #a26356; -} -.z-markup.z-ignored.z-git_gutter { - color: #717375; -} -.z-markup.z-untracked.z-git_gutter { - color: #717375; -} -.z-markup.z-inserted.z-git_gutter { - color: #587f22; -} -.z-markup.z-changed.z-git_gutter { - color: #a16700; -} -.z-markup.z-deleted.z-git_gutter { - color: #d92d2d; -} -.z-brackethighlighter.z-default { - color: #64738c; -} -.z-brackethighlighter.z-quote { - color: #587f22; -} -.z-brackethighlighter.z-unmatched { - color: #d92d2d; -} diff --git a/sass/syntax/syntax-material-abridge-switcher.scss b/sass/syntax/syntax-material-abridge-switcher.scss deleted file mode 100644 index a65cf95..0000000 --- a/sass/syntax/syntax-material-abridge-switcher.scss +++ /dev/null @@ -1,524 +0,0 @@ -:root:not(.light) { - .z-code { - color: #eeffff; - background-color: #191919; - } - .z-comment, .z-punctuation.z-definition.z-comment { - color: #818181; - font-style: italic; - } - .z-variable, .z-string .z-constant.z-other.z-placeholder { - color: #eeffff; - } - .z-constant.z-other.z-color { - color: #ffffff; - } - .z-invalid, .z-invalid.z-illegal, .z-invalid.z-broken { - color: #ffffff; - background-color: #ff7992; - } - .z-invalid.z-unimplemented { - color: #ffffff; - background-color: #c3e88d; - } - .z-invalid.z-deprecated { - color: #ffffff; - background-color: #c792ea; - } - .z-keyword, .z-storage.z-type, .z-storage.z-modifier { - color: #c792ea; - } - .z-storage.z-type, .z-keyword.z-control { - font-style: italic; - } - .z-keyword.z-operator, .z-constant.z-other.z-color, .z-punctuation, .z-meta.z-tag, .z-punctuation.z-definition.z-tag, .z-punctuation.z-separator.z-inheritance.z-php, .z-punctuation.z-definition.z-tag.z-html, .z-punctuation.z-definition.z-tag.z-begin.z-html, .z-punctuation.z-definition.z-tag.z-end.z-html, .z-punctuation.z-section.z-embedded, .z-keyword.z-other.z-template, .z-keyword.z-other.z-substitution { - color: #89ddff; - } - .z-entity.z-name.z-tag, .z-meta.z-tag.z-sgml, .z-markup.z-deleted.z-git_gutter { - color: #fe7d83; - } - .z-entity.z-name.z-function, .z-meta.z-function-call, .z-variable.z-function, .z-support.z-function, .z-keyword.z-other.z-special-method, .z-meta.z-block-level { - color: #82aaff; - } - .z-support.z-other.z-variable, .z-string.z-other.z-link { - color: #fe7d83; - } - .z-constant.z-numeric, .z-constant.z-language, .z-support.z-constant, .z-constant.z-character, .z-variable.z-parameter, .z-keyword.z-other.z-unit { - color: #f78c6c; - } - .z-string, .z-constant.z-other.z-symbol, .z-constant.z-other.z-key, .z-entity.z-other.z-inherited-class, .z-markup.z-heading, .z-markup.z-inserted.z-git_gutter, .z-meta.z-group.z-braces.z-curly .z-constant.z-other.z-object.z-key.z-js .z-string.z-unquoted.z-label.z-js { - color: #c3e88d; - } - .z-entity.z-name.z-class, .z-entity.z-name.z-type.z-class, .z-support.z-type, .z-support.z-class, .z-support.z-orther.z-namespace.z-use.z-php, .z-meta.z-use.z-php, .z-support.z-other.z-namespace.z-php, .z-markup.z-changed.z-git_gutter, .z-support.z-type.z-sys-types { - color: #ffcb6b; - } - .z-source.z-css .z-support.z-type, .z-source.z-sass .z-support.z-type, .z-source.z-scss .z-support.z-type, .z-source.z-less .z-support.z-type, .z-source.z-stylus .z-support.z-type { - color: #b2ccd6; - } - .z-entity.z-name.z-module.z-js, .z-variable.z-import.z-parameter.z-js, .z-variable.z-other.z-class.z-js { - color: #ff7992; - } - .z-variable.z-language { - color: #ff7992; - font-style: italic; - } - .z-entity.z-name.z-method.z-js { - color: #82aaff; - } - .z-meta.z-class-method.z-js .z-entity.z-name.z-function.z-js, .z-variable.z-function.z-constructor { - color: #82aaff; - } - .z-entity.z-other.z-attribute-name { - color: #c792ea; - } - .z-text.z-html.z-basic .z-entity.z-other.z-attribute-name.z-html, .z-text.z-html.z-basic .z-entity.z-other.z-attribute-name { - color: #ffcb6b; - font-style: italic; - } - .z-entity.z-other.z-attribute-name.z-class { - color: #ffcb6b; - } - .z-source.z-sass .z-keyword.z-control { - color: #82aaff; - } - .z-markup.z-inserted { - color: #c3e88d; - } - .z-markup.z-deleted { - color: #ff7992; - } - .z-markup.z-changed { - color: #c792ea; - } - .z-string.z-regexp { - color: #89ddff; - } - .z-constant.z-character.z-escape { - color: #89ddff; - } - .z-*url*, .z-*link*, .z-*uri* { - text-decoration: underline; - } - .z-constant.z-numeric.z-line-number.z-find-in-files { - color: #d89385; - } - .z-entity.z-name.z-filename.z-find-in-files { - color: #c3e88d; - } - .z-tag.z-decorator.z-js .z-entity.z-name.z-tag.z-js, .z-tag.z-decorator.z-js .z-punctuation.z-definition.z-tag.z-js { - color: #82aaff; - font-style: italic; - } - .z-source.z-js .z-constant.z-other.z-object.z-key.z-js .z-string.z-unquoted.z-label.z-js { - color: #ff7992; - font-style: italic; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #c3e88d; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #c792ea; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #fe7d83; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #82aaff; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #d89385; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #ff7992; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #f78c6c; - } - .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #ffcb6b; - } - .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #c792ea; - } - .z-text.z-html.z-markdown, .z-punctuation.z-definition.z-list_item.z-markdown { - color: #eeffff; - } - .z-text.z-html.z-markdown .z-markup.z-raw.z-inline { - color: #c792ea; - } - .z-text.z-html.z-markdown .z-punctuation.z-definition.z-raw.z-markdown { - color: #65737e; - } - .z-markdown.z-heading, .z-markup.z-heading, .z-markup.z-heading .z-entity.z-name, .z-markup.z-heading.z-markdown .z-punctuation.z-definition.z-heading.z-markdown { - color: #c3e88d; - } - .z-markup.z-italic { - color: #fe7d83; - font-style: italic; - } - .z-markup.z-bold, .z-markup.z-bold .z-string { - color: #fe7d83; - font-weight: bold; - } - .z-markup.z-bold .z-markup.z-italic, .z-markup.z-italic .z-markup.z-bold, .z-markup.z-quote .z-markup.z-bold, .z-markup.z-bold .z-markup.z-italic .z-string, .z-markup.z-italic .z-markup.z-bold .z-string, .z-markup.z-quote .z-markup.z-bold .z-string { - font-weight: bold; - font-style: italic; - } - .z-markup.z-underline { - color: #f78c6c; - text-decoration: underline; - } - .z-markup.z-quote .z-punctuation.z-definition.z-blockquote.z-markdown { - color: #65737e; - background-color: #65737e; - } - .z-string.z-other.z-link.z-title.z-markdown { - color: #82aaff; - } - .z-string.z-other.z-link.z-description.z-title.z-markdown { - color: #c792ea; - } - .z-constant.z-other.z-reference.z-link.z-markdown { - color: #ffcb6b; - } - .z-markup.z-raw.z-block { - color: #c792ea; - } - .z-markup.z-raw.z-block.z-fenced.z-markdown { - background-color: #000000; - } - .z-punctuation.z-definition.z-fenced.z-markdown { - background-color: #000000; - } - .z-markup.z-raw.z-block.z-fenced.z-markdown, .z-variable.z-language.z-fenced.z-markdown, .z-punctuation.z-section.z-class.z-end { - color: #eeffff; - } - .z-variable.z-language.z-fenced.z-markdown { - color: #65737e; - } - .z-text.z-html.z-markdown .z-punctuation.z-definition { - color: #818181; - } - .z-text.z-html.z-markdown .z-meta.z-disable-markdown .z-punctuation.z-definition { - color: #89ddff; - } - .z-meta.z-separator { - color: #65737e; - background-color: #000000; - font-weight: bold; - } - .z-acejump.z-label.z-blue { - color: #ffffff; - background-color: #82aaff; - } - .z-acejump.z-label.z-green { - color: #ffffff; - background-color: #c3e88d; - } - .z-acejump.z-label.z-orange { - color: #ffffff; - background-color: #f78c6c; - } - .z-acejump.z-label.z-purple { - color: #ffffff; - background-color: #c792ea; - } - .z-sublimelinter.z-mark.z-warning { - color: #ffcb6b; - } - .z-sublimelinter.z-gutter-mark { - color: #ffffff; - } - .z-sublimelinter.z-mark.z-error { - color: #ff7992; - } - .z-sublimelinter.z-annotations { - background-color: #d89385; - } - .z-markup.z-ignored.z-git_gutter { - color: #65737e; - } - .z-markup.z-untracked.z-git_gutter { - color: #65737e; - } - .z-markup.z-inserted.z-git_gutter { - color: #c3e88d; - } - .z-markup.z-changed.z-git_gutter { - color: #ffcb6b; - } - .z-markup.z-deleted.z-git_gutter { - color: #ff7992; - } - .z-brackethighlighter.z-default { - color: #b2ccd6; - } - .z-brackethighlighter.z-quote { - color: #c3e88d; - } - .z-brackethighlighter.z-unmatched { - color: #ff7992; - } -} -:root.light { - .z-code { - color: #317e78; - background-color: #ffffff; - } - .z-comment, .z-punctuation.z-definition.z-comment { - color: #6b7577; - font-style: italic; - } - .z-variable, .z-string .z-constant.z-other.z-placeholder { - color: #317e78; - } - .z-constant.z-other.z-color { - color: #ffffff; - } - .z-invalid, .z-invalid.z-illegal, .z-invalid.z-broken { - color: #ffffff; - background-color: #d92d2d; - } - .z-invalid.z-unimplemented { - color: #ffffff; - background-color: #587f22; - } - .z-invalid.z-deprecated { - color: #ffffff; - background-color: #7c4dff; - } - .z-keyword, .z-storage.z-type, .z-storage.z-modifier { - color: #7c4dff; - } - .z-storage.z-type, .z-keyword.z-control { - font-style: italic; - } - .z-keyword.z-operator, .z-constant.z-other.z-color, .z-punctuation, .z-meta.z-tag, .z-punctuation.z-definition.z-tag, .z-punctuation.z-separator.z-inheritance.z-php, .z-punctuation.z-definition.z-tag.z-html, .z-punctuation.z-definition.z-tag.z-begin.z-html, .z-punctuation.z-definition.z-tag.z-end.z-html, .z-punctuation.z-section.z-embedded, .z-keyword.z-other.z-template, .z-keyword.z-other.z-substitution { - color: #008088; - } - .z-entity.z-name.z-tag, .z-meta.z-tag.z-sgml, .z-markup.z-deleted.z-git_gutter { - color: #d72952; - } - .z-entity.z-name.z-function, .z-meta.z-function-call, .z-variable.z-function, .z-support.z-function, .z-keyword.z-other.z-special-method, .z-meta.z-block-level { - color: #5274a9; - } - .z-support.z-other.z-variable, .z-string.z-other.z-link { - color: #d72952; - } - .z-constant.z-numeric, .z-constant.z-language, .z-support.z-constant, .z-constant.z-character, .z-variable.z-parameter, .z-keyword.z-other.z-unit { - color: #c94625; - } - .z-string, .z-constant.z-other.z-symbol, .z-constant.z-other.z-key, .z-entity.z-other.z-inherited-class, .z-markup.z-heading, .z-markup.z-inserted.z-git_gutter, .z-meta.z-group.z-braces.z-curly .z-constant.z-other.z-object.z-key.z-js .z-string.z-unquoted.z-label.z-js { - color: #587f22; - } - .z-entity.z-name.z-class, .z-entity.z-name.z-type.z-class, .z-support.z-type, .z-support.z-class, .z-support.z-orther.z-namespace.z-use.z-php, .z-meta.z-use.z-php, .z-support.z-other.z-namespace.z-php, .z-markup.z-changed.z-git_gutter, .z-support.z-type.z-sys-types { - color: #a16700; - } - .z-source.z-css .z-support.z-type, .z-source.z-sass .z-support.z-type, .z-source.z-scss .z-support.z-type, .z-source.z-less .z-support.z-type, .z-source.z-stylus .z-support.z-type { - color: #64738c; - } - .z-entity.z-name.z-module.z-js, .z-variable.z-import.z-parameter.z-js, .z-variable.z-other.z-class.z-js { - color: #d92d2d; - } - .z-variable.z-language { - color: #d92d2d; - font-style: italic; - } - .z-entity.z-name.z-method.z-js { - color: #5274a9; - } - .z-meta.z-class-method.z-js .z-entity.z-name.z-function.z-js, .z-variable.z-function.z-constructor { - color: #5274a9; - } - .z-entity.z-other.z-attribute-name { - color: #7c4dff; - } - .z-text.z-html.z-basic .z-entity.z-other.z-attribute-name.z-html, .z-text.z-html.z-basic .z-entity.z-other.z-attribute-name { - color: #a16700; - font-style: italic; - } - .z-entity.z-other.z-attribute-name.z-class { - color: #a16700; - } - .z-source.z-sass .z-keyword.z-control { - color: #5274a9; - } - .z-markup.z-inserted { - color: #587f22; - } - .z-markup.z-deleted { - color: #d92d2d; - } - .z-markup.z-changed { - color: #7c4dff; - } - .z-string.z-regexp { - color: #008088; - } - .z-constant.z-character.z-escape { - color: #008088; - } - .z-*url*, .z-*link*, .z-*uri* { - text-decoration: underline; - } - .z-constant.z-numeric.z-line-number.z-find-in-files { - color: #a26356; - } - .z-entity.z-name.z-filename.z-find-in-files { - color: #587f22; - } - .z-tag.z-decorator.z-js .z-entity.z-name.z-tag.z-js, .z-tag.z-decorator.z-js .z-punctuation.z-definition.z-tag.z-js { - color: #5274a9; - font-style: italic; - } - .z-source.z-js .z-constant.z-other.z-object.z-key.z-js .z-string.z-unquoted.z-label.z-js { - color: #d92d2d; - font-style: italic; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #587f22; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #7c4dff; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #d72952; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #5274a9; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #a26356; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #d92d2d; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #c94625; - } - .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #a16700; - } - .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #7c4dff; - } - .z-text.z-html.z-markdown, .z-punctuation.z-definition.z-list_item.z-markdown { - color: #317e78; - } - .z-text.z-html.z-markdown .z-markup.z-raw.z-inline { - color: #7c4dff; - } - .z-text.z-html.z-markdown .z-punctuation.z-definition.z-raw.z-markdown { - color: #717375; - } - .z-markdown.z-heading, .z-markup.z-heading, .z-markup.z-heading .z-entity.z-name, .z-markup.z-heading.z-markdown .z-punctuation.z-definition.z-heading.z-markdown { - color: #587f22; - } - .z-markup.z-italic { - color: #d72952; - font-style: italic; - } - .z-markup.z-bold, .z-markup.z-bold .z-string { - color: #d72952; - font-weight: bold; - } - .z-markup.z-bold .z-markup.z-italic, .z-markup.z-italic .z-markup.z-bold, .z-markup.z-quote .z-markup.z-bold, .z-markup.z-bold .z-markup.z-italic .z-string, .z-markup.z-italic .z-markup.z-bold .z-string, .z-markup.z-quote .z-markup.z-bold .z-string { - font-weight: bold; - font-style: italic; - } - .z-markup.z-underline { - color: #c94625; - text-decoration: underline; - } - .z-markup.z-quote .z-punctuation.z-definition.z-blockquote.z-markdown { - color: #717375; - background-color: #717375; - } - .z-string.z-other.z-link.z-title.z-markdown { - color: #5274a9; - } - .z-string.z-other.z-link.z-description.z-title.z-markdown { - color: #7c4dff; - } - .z-constant.z-other.z-reference.z-link.z-markdown { - color: #a16700; - } - .z-markup.z-raw.z-block { - color: #7c4dff; - } - .z-markup.z-raw.z-block.z-fenced.z-markdown { - background-color: #62757f; - } - .z-punctuation.z-definition.z-fenced.z-markdown { - background-color: #62757f; - } - .z-markup.z-raw.z-block.z-fenced.z-markdown, .z-variable.z-language.z-fenced.z-markdown, .z-punctuation.z-section.z-class.z-end { - color: #317e78; - } - .z-variable.z-language.z-fenced.z-markdown { - color: #717375; - } - .z-text.z-html.z-markdown .z-punctuation.z-definition { - color: #6b7577; - } - .z-text.z-html.z-markdown .z-meta.z-disable-markdown .z-punctuation.z-definition { - color: #008088; - } - .z-meta.z-separator { - color: #717375; - background-color: #62757f; - font-weight: bold; - } - .z-acejump.z-label.z-blue { - color: #ffffff; - background-color: #5274a9; - } - .z-acejump.z-label.z-green { - color: #ffffff; - background-color: #587f22; - } - .z-acejump.z-label.z-orange { - color: #ffffff; - background-color: #c94625; - } - .z-acejump.z-label.z-purple { - color: #ffffff; - background-color: #7c4dff; - } - .z-sublimelinter.z-mark.z-warning { - color: #a16700; - } - .z-sublimelinter.z-gutter-mark { - color: #ffffff; - } - .z-sublimelinter.z-mark.z-error { - color: #d92d2d; - } - .z-sublimelinter.z-annotations { - background-color: #a26356; - } - .z-markup.z-ignored.z-git_gutter { - color: #717375; - } - .z-markup.z-untracked.z-git_gutter { - color: #717375; - } - .z-markup.z-inserted.z-git_gutter { - color: #587f22; - } - .z-markup.z-changed.z-git_gutter { - color: #a16700; - } - .z-markup.z-deleted.z-git_gutter { - color: #d92d2d; - } - .z-brackethighlighter.z-default { - color: #64738c; - } - .z-brackethighlighter.z-quote { - color: #587f22; - } - .z-brackethighlighter.z-unmatched { - color: #d92d2d; - } -}
\ No newline at end of file diff --git a/sass/syntax/syntax-material-abridge.scss b/sass/syntax/syntax-material-abridge.scss deleted file mode 100644 index c448b58..0000000 --- a/sass/syntax/syntax-material-abridge.scss +++ /dev/null @@ -1,526 +0,0 @@ -:root { - .z-code { - color: #eeffff; - background-color: #191919; - } - .z-comment, .z-punctuation.z-definition.z-comment { - color: #818181; - font-style: italic; - } - .z-variable, .z-string .z-constant.z-other.z-placeholder { - color: #eeffff; - } - .z-constant.z-other.z-color { - color: #ffffff; - } - .z-invalid, .z-invalid.z-illegal, .z-invalid.z-broken { - color: #ffffff; - background-color: #ff7992; - } - .z-invalid.z-unimplemented { - color: #ffffff; - background-color: #c3e88d; - } - .z-invalid.z-deprecated { - color: #ffffff; - background-color: #c792ea; - } - .z-keyword, .z-storage.z-type, .z-storage.z-modifier { - color: #c792ea; - } - .z-storage.z-type, .z-keyword.z-control { - font-style: italic; - } - .z-keyword.z-operator, .z-constant.z-other.z-color, .z-punctuation, .z-meta.z-tag, .z-punctuation.z-definition.z-tag, .z-punctuation.z-separator.z-inheritance.z-php, .z-punctuation.z-definition.z-tag.z-html, .z-punctuation.z-definition.z-tag.z-begin.z-html, .z-punctuation.z-definition.z-tag.z-end.z-html, .z-punctuation.z-section.z-embedded, .z-keyword.z-other.z-template, .z-keyword.z-other.z-substitution { - color: #89ddff; - } - .z-entity.z-name.z-tag, .z-meta.z-tag.z-sgml, .z-markup.z-deleted.z-git_gutter { - color: #fe7d83; - } - .z-entity.z-name.z-function, .z-meta.z-function-call, .z-variable.z-function, .z-support.z-function, .z-keyword.z-other.z-special-method, .z-meta.z-block-level { - color: #82aaff; - } - .z-support.z-other.z-variable, .z-string.z-other.z-link { - color: #fe7d83; - } - .z-constant.z-numeric, .z-constant.z-language, .z-support.z-constant, .z-constant.z-character, .z-variable.z-parameter, .z-keyword.z-other.z-unit { - color: #f78c6c; - } - .z-string, .z-constant.z-other.z-symbol, .z-constant.z-other.z-key, .z-entity.z-other.z-inherited-class, .z-markup.z-heading, .z-markup.z-inserted.z-git_gutter, .z-meta.z-group.z-braces.z-curly .z-constant.z-other.z-object.z-key.z-js .z-string.z-unquoted.z-label.z-js { - color: #c3e88d; - } - .z-entity.z-name.z-class, .z-entity.z-name.z-type.z-class, .z-support.z-type, .z-support.z-class, .z-support.z-orther.z-namespace.z-use.z-php, .z-meta.z-use.z-php, .z-support.z-other.z-namespace.z-php, .z-markup.z-changed.z-git_gutter, .z-support.z-type.z-sys-types { - color: #ffcb6b; - } - .z-source.z-css .z-support.z-type, .z-source.z-sass .z-support.z-type, .z-source.z-scss .z-support.z-type, .z-source.z-less .z-support.z-type, .z-source.z-stylus .z-support.z-type { - color: #b2ccd6; - } - .z-entity.z-name.z-module.z-js, .z-variable.z-import.z-parameter.z-js, .z-variable.z-other.z-class.z-js { - color: #ff7992; - } - .z-variable.z-language { - color: #ff7992; - font-style: italic; - } - .z-entity.z-name.z-method.z-js { - color: #82aaff; - } - .z-meta.z-class-method.z-js .z-entity.z-name.z-function.z-js, .z-variable.z-function.z-constructor { - color: #82aaff; - } - .z-entity.z-other.z-attribute-name { - color: #c792ea; - } - .z-text.z-html.z-basic .z-entity.z-other.z-attribute-name.z-html, .z-text.z-html.z-basic .z-entity.z-other.z-attribute-name { - color: #ffcb6b; - font-style: italic; - } - .z-entity.z-other.z-attribute-name.z-class { - color: #ffcb6b; - } - .z-source.z-sass .z-keyword.z-control { - color: #82aaff; - } - .z-markup.z-inserted { - color: #c3e88d; - } - .z-markup.z-deleted { - color: #ff7992; - } - .z-markup.z-changed { - color: #c792ea; - } - .z-string.z-regexp { - color: #89ddff; - } - .z-constant.z-character.z-escape { - color: #89ddff; - } - .z-*url*, .z-*link*, .z-*uri* { - text-decoration: underline; - } - .z-constant.z-numeric.z-line-number.z-find-in-files { - color: #d89385; - } - .z-entity.z-name.z-filename.z-find-in-files { - color: #c3e88d; - } - .z-tag.z-decorator.z-js .z-entity.z-name.z-tag.z-js, .z-tag.z-decorator.z-js .z-punctuation.z-definition.z-tag.z-js { - color: #82aaff; - font-style: italic; - } - .z-source.z-js .z-constant.z-other.z-object.z-key.z-js .z-string.z-unquoted.z-label.z-js { - color: #ff7992; - font-style: italic; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #c3e88d; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #c792ea; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #fe7d83; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #82aaff; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #d89385; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #ff7992; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #f78c6c; - } - .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #ffcb6b; - } - .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #c792ea; - } - .z-text.z-html.z-markdown, .z-punctuation.z-definition.z-list_item.z-markdown { - color: #eeffff; - } - .z-text.z-html.z-markdown .z-markup.z-raw.z-inline { - color: #c792ea; - } - .z-text.z-html.z-markdown .z-punctuation.z-definition.z-raw.z-markdown { - color: #65737e; - } - .z-markdown.z-heading, .z-markup.z-heading, .z-markup.z-heading .z-entity.z-name, .z-markup.z-heading.z-markdown .z-punctuation.z-definition.z-heading.z-markdown { - color: #c3e88d; - } - .z-markup.z-italic { - color: #fe7d83; - font-style: italic; - } - .z-markup.z-bold, .z-markup.z-bold .z-string { - color: #fe7d83; - font-weight: bold; - } - .z-markup.z-bold .z-markup.z-italic, .z-markup.z-italic .z-markup.z-bold, .z-markup.z-quote .z-markup.z-bold, .z-markup.z-bold .z-markup.z-italic .z-string, .z-markup.z-italic .z-markup.z-bold .z-string, .z-markup.z-quote .z-markup.z-bold .z-string { - font-weight: bold; - font-style: italic; - } - .z-markup.z-underline { - color: #f78c6c; - text-decoration: underline; - } - .z-markup.z-quote .z-punctuation.z-definition.z-blockquote.z-markdown { - color: #65737e; - background-color: #65737e; - } - .z-string.z-other.z-link.z-title.z-markdown { - color: #82aaff; - } - .z-string.z-other.z-link.z-description.z-title.z-markdown { - color: #c792ea; - } - .z-constant.z-other.z-reference.z-link.z-markdown { - color: #ffcb6b; - } - .z-markup.z-raw.z-block { - color: #c792ea; - } - .z-markup.z-raw.z-block.z-fenced.z-markdown { - background-color: #000000; - } - .z-punctuation.z-definition.z-fenced.z-markdown { - background-color: #000000; - } - .z-markup.z-raw.z-block.z-fenced.z-markdown, .z-variable.z-language.z-fenced.z-markdown, .z-punctuation.z-section.z-class.z-end { - color: #eeffff; - } - .z-variable.z-language.z-fenced.z-markdown { - color: #65737e; - } - .z-text.z-html.z-markdown .z-punctuation.z-definition { - color: #818181; - } - .z-text.z-html.z-markdown .z-meta.z-disable-markdown .z-punctuation.z-definition { - color: #89ddff; - } - .z-meta.z-separator { - color: #65737e; - background-color: #000000; - font-weight: bold; - } - .z-acejump.z-label.z-blue { - color: #ffffff; - background-color: #82aaff; - } - .z-acejump.z-label.z-green { - color: #ffffff; - background-color: #c3e88d; - } - .z-acejump.z-label.z-orange { - color: #ffffff; - background-color: #f78c6c; - } - .z-acejump.z-label.z-purple { - color: #ffffff; - background-color: #c792ea; - } - .z-sublimelinter.z-mark.z-warning { - color: #ffcb6b; - } - .z-sublimelinter.z-gutter-mark { - color: #ffffff; - } - .z-sublimelinter.z-mark.z-error { - color: #ff7992; - } - .z-sublimelinter.z-annotations { - background-color: #d89385; - } - .z-markup.z-ignored.z-git_gutter { - color: #65737e; - } - .z-markup.z-untracked.z-git_gutter { - color: #65737e; - } - .z-markup.z-inserted.z-git_gutter { - color: #c3e88d; - } - .z-markup.z-changed.z-git_gutter { - color: #ffcb6b; - } - .z-markup.z-deleted.z-git_gutter { - color: #ff7992; - } - .z-brackethighlighter.z-default { - color: #b2ccd6; - } - .z-brackethighlighter.z-quote { - color: #c3e88d; - } - .z-brackethighlighter.z-unmatched { - color: #ff7992; - } -} -@media (prefers-color-scheme: light) { - :root { - .z-code { - color: #317e78; - background-color: #ffffff; - } - .z-comment, .z-punctuation.z-definition.z-comment { - color: #6b7577; - font-style: italic; - } - .z-variable, .z-string .z-constant.z-other.z-placeholder { - color: #317e78; - } - .z-constant.z-other.z-color { - color: #ffffff; - } - .z-invalid, .z-invalid.z-illegal, .z-invalid.z-broken { - color: #ffffff; - background-color: #d92d2d; - } - .z-invalid.z-unimplemented { - color: #ffffff; - background-color: #587f22; - } - .z-invalid.z-deprecated { - color: #ffffff; - background-color: #7c4dff; - } - .z-keyword, .z-storage.z-type, .z-storage.z-modifier { - color: #7c4dff; - } - .z-storage.z-type, .z-keyword.z-control { - font-style: italic; - } - .z-keyword.z-operator, .z-constant.z-other.z-color, .z-punctuation, .z-meta.z-tag, .z-punctuation.z-definition.z-tag, .z-punctuation.z-separator.z-inheritance.z-php, .z-punctuation.z-definition.z-tag.z-html, .z-punctuation.z-definition.z-tag.z-begin.z-html, .z-punctuation.z-definition.z-tag.z-end.z-html, .z-punctuation.z-section.z-embedded, .z-keyword.z-other.z-template, .z-keyword.z-other.z-substitution { - color: #008088; - } - .z-entity.z-name.z-tag, .z-meta.z-tag.z-sgml, .z-markup.z-deleted.z-git_gutter { - color: #d72952; - } - .z-entity.z-name.z-function, .z-meta.z-function-call, .z-variable.z-function, .z-support.z-function, .z-keyword.z-other.z-special-method, .z-meta.z-block-level { - color: #5274a9; - } - .z-support.z-other.z-variable, .z-string.z-other.z-link { - color: #d72952; - } - .z-constant.z-numeric, .z-constant.z-language, .z-support.z-constant, .z-constant.z-character, .z-variable.z-parameter, .z-keyword.z-other.z-unit { - color: #c94625; - } - .z-string, .z-constant.z-other.z-symbol, .z-constant.z-other.z-key, .z-entity.z-other.z-inherited-class, .z-markup.z-heading, .z-markup.z-inserted.z-git_gutter, .z-meta.z-group.z-braces.z-curly .z-constant.z-other.z-object.z-key.z-js .z-string.z-unquoted.z-label.z-js { - color: #587f22; - } - .z-entity.z-name.z-class, .z-entity.z-name.z-type.z-class, .z-support.z-type, .z-support.z-class, .z-support.z-orther.z-namespace.z-use.z-php, .z-meta.z-use.z-php, .z-support.z-other.z-namespace.z-php, .z-markup.z-changed.z-git_gutter, .z-support.z-type.z-sys-types { - color: #a16700; - } - .z-source.z-css .z-support.z-type, .z-source.z-sass .z-support.z-type, .z-source.z-scss .z-support.z-type, .z-source.z-less .z-support.z-type, .z-source.z-stylus .z-support.z-type { - color: #64738c; - } - .z-entity.z-name.z-module.z-js, .z-variable.z-import.z-parameter.z-js, .z-variable.z-other.z-class.z-js { - color: #d92d2d; - } - .z-variable.z-language { - color: #d92d2d; - font-style: italic; - } - .z-entity.z-name.z-method.z-js { - color: #5274a9; - } - .z-meta.z-class-method.z-js .z-entity.z-name.z-function.z-js, .z-variable.z-function.z-constructor { - color: #5274a9; - } - .z-entity.z-other.z-attribute-name { - color: #7c4dff; - } - .z-text.z-html.z-basic .z-entity.z-other.z-attribute-name.z-html, .z-text.z-html.z-basic .z-entity.z-other.z-attribute-name { - color: #a16700; - font-style: italic; - } - .z-entity.z-other.z-attribute-name.z-class { - color: #a16700; - } - .z-source.z-sass .z-keyword.z-control { - color: #5274a9; - } - .z-markup.z-inserted { - color: #587f22; - } - .z-markup.z-deleted { - color: #d92d2d; - } - .z-markup.z-changed { - color: #7c4dff; - } - .z-string.z-regexp { - color: #008088; - } - .z-constant.z-character.z-escape { - color: #008088; - } - .z-*url*, .z-*link*, .z-*uri* { - text-decoration: underline; - } - .z-constant.z-numeric.z-line-number.z-find-in-files { - color: #a26356; - } - .z-entity.z-name.z-filename.z-find-in-files { - color: #587f22; - } - .z-tag.z-decorator.z-js .z-entity.z-name.z-tag.z-js, .z-tag.z-decorator.z-js .z-punctuation.z-definition.z-tag.z-js { - color: #5274a9; - font-style: italic; - } - .z-source.z-js .z-constant.z-other.z-object.z-key.z-js .z-string.z-unquoted.z-label.z-js { - color: #d92d2d; - font-style: italic; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #587f22; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #7c4dff; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #d72952; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #5274a9; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #a26356; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #d92d2d; - } - .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #c94625; - } - .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #a16700; - } - .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string { - color: #7c4dff; - } - .z-text.z-html.z-markdown, .z-punctuation.z-definition.z-list_item.z-markdown { - color: #317e78; - } - .z-text.z-html.z-markdown .z-markup.z-raw.z-inline { - color: #7c4dff; - } - .z-text.z-html.z-markdown .z-punctuation.z-definition.z-raw.z-markdown { - color: #717375; - } - .z-markdown.z-heading, .z-markup.z-heading, .z-markup.z-heading .z-entity.z-name, .z-markup.z-heading.z-markdown .z-punctuation.z-definition.z-heading.z-markdown { - color: #587f22; - } - .z-markup.z-italic { - color: #d72952; - font-style: italic; - } - .z-markup.z-bold, .z-markup.z-bold .z-string { - color: #d72952; - font-weight: bold; - } - .z-markup.z-bold .z-markup.z-italic, .z-markup.z-italic .z-markup.z-bold, .z-markup.z-quote .z-markup.z-bold, .z-markup.z-bold .z-markup.z-italic .z-string, .z-markup.z-italic .z-markup.z-bold .z-string, .z-markup.z-quote .z-markup.z-bold .z-string { - font-weight: bold; - font-style: italic; - } - .z-markup.z-underline { - color: #c94625; - text-decoration: underline; - } - .z-markup.z-quote .z-punctuation.z-definition.z-blockquote.z-markdown { - color: #717375; - background-color: #717375; - } - .z-string.z-other.z-link.z-title.z-markdown { - color: #5274a9; - } - .z-string.z-other.z-link.z-description.z-title.z-markdown { - color: #7c4dff; - } - .z-constant.z-other.z-reference.z-link.z-markdown { - color: #a16700; - } - .z-markup.z-raw.z-block { - color: #7c4dff; - } - .z-markup.z-raw.z-block.z-fenced.z-markdown { - background-color: #62757f; - } - .z-punctuation.z-definition.z-fenced.z-markdown { - background-color: #62757f; - } - .z-markup.z-raw.z-block.z-fenced.z-markdown, .z-variable.z-language.z-fenced.z-markdown, .z-punctuation.z-section.z-class.z-end { - color: #317e78; - } - .z-variable.z-language.z-fenced.z-markdown { - color: #717375; - } - .z-text.z-html.z-markdown .z-punctuation.z-definition { - color: #6b7577; - } - .z-text.z-html.z-markdown .z-meta.z-disable-markdown .z-punctuation.z-definition { - color: #008088; - } - .z-meta.z-separator { - color: #717375; - background-color: #62757f; - font-weight: bold; - } - .z-acejump.z-label.z-blue { - color: #ffffff; - background-color: #5274a9; - } - .z-acejump.z-label.z-green { - color: #ffffff; - background-color: #587f22; - } - .z-acejump.z-label.z-orange { - color: #ffffff; - background-color: #c94625; - } - .z-acejump.z-label.z-purple { - color: #ffffff; - background-color: #7c4dff; - } - .z-sublimelinter.z-mark.z-warning { - color: #a16700; - } - .z-sublimelinter.z-gutter-mark { - color: #ffffff; - } - .z-sublimelinter.z-mark.z-error { - color: #d92d2d; - } - .z-sublimelinter.z-annotations { - background-color: #a26356; - } - .z-markup.z-ignored.z-git_gutter { - color: #717375; - } - .z-markup.z-untracked.z-git_gutter { - color: #717375; - } - .z-markup.z-inserted.z-git_gutter { - color: #587f22; - } - .z-markup.z-changed.z-git_gutter { - color: #a16700; - } - .z-markup.z-deleted.z-git_gutter { - color: #d92d2d; - } - .z-brackethighlighter.z-default { - color: #64738c; - } - .z-brackethighlighter.z-quote { - color: #587f22; - } - .z-brackethighlighter.z-unmatched { - color: #d92d2d; - } - } -}
\ No newline at end of file diff --git a/screenshot.png b/screenshot.png Binary files differindex 399165a..ec8d65f 100644 --- a/screenshot.png +++ b/screenshot.png diff --git a/static/abridge-bundle-nofacade.min.js b/static/abridge-bundle-nofacade.min.js deleted file mode 100644 index 405438b..0000000 --- a/static/abridge-bundle-nofacade.min.js +++ /dev/null @@ -1 +0,0 @@ -const items=document.querySelectorAll(".preStyle");function closeSearchNow(){const e=document.querySelector("main");e.innerHTML=window.main}function goSearchNow(){const e=document.querySelector("main");window.main||(window.main=e.innerHTML);var t=document.getElementById("suggestions"),n=t.cloneNode(!0),o=(n.id="results",document.createElement("div")),i='<form name="closeSearch"><h2><button type="submit" title="Close Search"><i class="svgs x"></i></button> Results For: '.concat(document.getElementById("searchinput").value,"</h2></form>");return o.innerHTML=i,n.insertBefore(o,n.firstChild),e.innerHTML=n.outerHTML,t.innerHTML="",document.getElementById("searchinput").value="",document.body.contains(document.closeSearch)&&(document.closeSearch.onsubmit=function(){closeSearchNow()}),!1}items.forEach(e=>{e.rel="stylesheet"}),document.getElementById("mode").addEventListener("click",()=>{document.documentElement.classList.toggle("light"),localStorage.setItem("theme",document.documentElement.classList.contains("light")?"light":"dark")}),function(){for(var e=document.getElementsByClassName("m-protected"),t=0;t<e.length;t++){var n=e[t].getAttribute("href"),n=atob(n.substring(1));e[t].href="mailto:"+n}}(),function(){function t(e){const t=document.createElement("button"),n=(t.className="cc ",t.type="button",t.innerHTML="Copy",t.addEventListener("click",()=>async function(e,t){var n=t.querySelectorAll("table")["length"];let o="";if(0<n){const i=t.querySelectorAll(":last-child > tr > td:last-child");i.forEach(e=>{o+=e.innerText})}else o=t.querySelector(":last-child > code").innerText;try{"granted"==(result=await navigator.permissions.query({name:"clipboard-write"})).state||"prompt"==result.state?await navigator.clipboard.writeText(o):r(o,t)}catch(e){r(o,t)}finally{e.innerHTML="Copied",setTimeout(function(){e.innerHTML="Copy"},2e3)}}(t,e)),document.createElement("div"));n.className="ccw",n.appendChild(t),e.parentNode.insertBefore(n,e),n.appendChild(e)}function r(e,t){const n=document.createElement("textArea"),o=(n.contentEditable="true",n.readOnly="false",n.className="copyable-text-area",n.value=e,t.insertBefore(n,t.firstChild),document.createRange()),i=(o.selectNodeContents(n),window.getSelection());i.removeAllRanges(),i.addRange(o),n.setSelectionRange(0,999999),document.execCommand("copy"),t.removeChild(n)}document.querySelectorAll("pre").forEach(e=>t(e))}(),function(){function m(e){var t=new m.Index;return t.pipeline.add(m.trimmer,m.stopWordFilter,m.stemmer),e&&e.call(t,t),t}var a,c,e,t,d,h,f,p,g,y,v,S,x,w,b,E,I,C,D,F,N,L,k,_,n;m.version="0.9.5",((lunr=m).utils={}).warn=(n=this,function(e){n.console&&console.warn&&console.warn(e)}),m.utils.toString=function(e){return null==e?"":e.toString()},(m.EventEmitter=function(){this.events={}}).prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop();if("function"!=typeof t)throw new TypeError("last argument must be a function");e.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},m.EventEmitter.prototype.removeListener=function(e,t){this.hasHandler(e)&&-1!==(t=this.events[e].indexOf(t))&&(this.events[e].splice(t,1),0==this.events[e].length&&delete this.events[e])},m.EventEmitter.prototype.emit=function(e){var t;this.hasHandler(e)&&(t=Array.prototype.slice.call(arguments,1),this.events[e].forEach(function(e){e.apply(void 0,t)},this))},m.EventEmitter.prototype.hasHandler=function(e){return e in this.events},(m.tokenizer=function(e){return arguments.length&&null!=e?Array.isArray(e)?(t=(t=e.filter(function(e){return null!=e})).map(function(e){return m.utils.toString(e).toLowerCase()}),n=[],t.forEach(function(e){e=e.split(m.tokenizer.seperator);n=n.concat(e)},this),n):e.toString().trim().toLowerCase().split(m.tokenizer.seperator):[];var t,n}).defaultSeperator=/[\s\-]+/,m.tokenizer.seperator=m.tokenizer.defaultSeperator,m.tokenizer.setSeperator=function(e){null!=e&&"object"==typeof e&&(m.tokenizer.seperator=e)},m.tokenizer.resetSeperator=function(){m.tokenizer.seperator=m.tokenizer.defaultSeperator},m.tokenizer.getSeperator=function(){return m.tokenizer.seperator},(m.Pipeline=function(){this._queue=[]}).registeredFunctions={},m.Pipeline.registerFunction=function(e,t){t in m.Pipeline.registeredFunctions&&m.utils.warn("Overwriting existing registered function: "+t),e.label=t,m.Pipeline.registeredFunctions[t]=e},m.Pipeline.getRegisteredFunction=function(e){return e in m.Pipeline.registeredFunctions!=1?null:m.Pipeline.registeredFunctions[e]},m.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||m.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},m.Pipeline.load=function(e){var n=new m.Pipeline;return e.forEach(function(e){var t=m.Pipeline.getRegisteredFunction(e);if(!t)throw new Error("Cannot load un-registered function: "+e);n.add(t)}),n},m.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach(function(e){m.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},m.Pipeline.prototype.after=function(e,t){m.Pipeline.warnIfFunctionNotRegistered(t);e=this._queue.indexOf(e);if(-1===e)throw new Error("Cannot find existingFn");this._queue.splice(e+1,0,t)},m.Pipeline.prototype.before=function(e,t){m.Pipeline.warnIfFunctionNotRegistered(t);e=this._queue.indexOf(e);if(-1===e)throw new Error("Cannot find existingFn");this._queue.splice(e,0,t)},m.Pipeline.prototype.remove=function(e){e=this._queue.indexOf(e);-1!==e&&this._queue.splice(e,1)},m.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,o=this._queue.length,i=0;i<n;i++){for(var r=e[i],s=0;s<o&&null!=(r=this._queue[s](r,i,e));s++);null!=r&&t.push(r)}return t},m.Pipeline.prototype.reset=function(){this._queue=[]},m.Pipeline.prototype.get=function(){return this._queue},m.Pipeline.prototype.toJSON=function(){return this._queue.map(function(e){return m.Pipeline.warnIfFunctionNotRegistered(e),e.label})},(m.Index=function(){this._fields=[],this._ref="id",this.pipeline=new m.Pipeline,this.documentStore=new m.DocumentStore,this.index={},this.eventEmitter=new m.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))}).prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},m.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},m.Index.load=function(e){e.version!==m.version&&m.utils.warn("version mismatch: current "+m.version+" importing "+e.version);var t,n=new this;for(t in n._fields=e.fields,n._ref=e.ref,n.documentStore=m.DocumentStore.load(e.documentStore),n.pipeline=m.Pipeline.load(e.pipeline),n.index={},e.index)n.index[t]=m.InvertedIndex.load(e.index[t]);return n},m.Index.prototype.addField=function(e){return this._fields.push(e),this.index[e]=new m.InvertedIndex,this},m.Index.prototype.setRef=function(e){return this._ref=e,this},m.Index.prototype.saveDocument=function(e){return this.documentStore=new m.DocumentStore(e),this},m.Index.prototype.addDoc=function(r,e){var s;r&&(e=void 0===e||e,s=r[this._ref],this.documentStore.addDoc(s,r),this._fields.forEach(function(e){var t,n=this.pipeline.run(m.tokenizer(r[e])),o=(this.documentStore.addFieldLength(s,e,n.length),{});for(t in n.forEach(function(e){e in o?o[e]+=1:o[e]=1},this),o){var i=o[t],i=Math.sqrt(i);this.index[e].addToken(t,{ref:s,tf:i})}},this),e&&this.eventEmitter.emit("add",r,this))},m.Index.prototype.removeDocByRef=function(e){e&&!1!==this.documentStore.isDocStored()&&this.documentStore.hasDoc(e)&&(e=this.documentStore.getDoc(e),this.removeDoc(e,!1))},m.Index.prototype.removeDoc=function(e,t){var n;e&&(t=void 0===t||t,n=e[this._ref],this.documentStore.hasDoc(n)&&(this.documentStore.removeDoc(n),this._fields.forEach(function(t){this.pipeline.run(m.tokenizer(e[t])).forEach(function(e){this.index[t].removeToken(e,n)},this)},this),t&&this.eventEmitter.emit("remove",e,this)))},m.Index.prototype.updateDoc=function(e,t){t=void 0===t||t;this.removeDocByRef(e[this._ref],!1),this.addDoc(e,!1),t&&this.eventEmitter.emit("update",e,this)},m.Index.prototype.idf=function(e,t){var n="@"+t+"/"+e;if(Object.prototype.hasOwnProperty.call(this._idfCache,n))return this._idfCache[n];t=this.index[t].getDocFreq(e),e=1+Math.log(this.documentStore.length/(t+1));return this._idfCache[n]=e},m.Index.prototype.getFields=function(){return this._fields.slice()},m.Index.prototype.search=function(e,t){if(!e)return[];e="string"==typeof e?{any:e}:JSON.parse(JSON.stringify(e));var n=null;null!=t&&(n=JSON.stringify(t));for(var o=new m.Configuration(n,this.getFields()).get(),i={},r=Object.keys(e),s=0;s<r.length;s++){var u=r[s];i[u]=this.pipeline.run(m.tokenizer(e[u]))}var l,a={};for(l in o){var c=i[l]||i.any;if(c){var d=this.fieldSearch(c,l,o),h=o[l].boost;for(p in d)d[p]=d[p]*h;for(p in d)p in a?a[p]+=d[p]:a[p]=d[p]}}var f,p,g=[];for(p in a)f={ref:p,score:a[p]},this.documentStore.hasDoc(p)&&(f.doc=this.documentStore.getDoc(p)),g.push(f);return g.sort(function(e,t){return t.score-e.score}),g},m.Index.prototype.fieldSearch=function(e,d,t){var h=t[d].bool,n=t[d].expand,t=t[d].boost,f=null,p={};return 0!==t?(e.forEach(function(a){var e=[a],c=(1==n&&(e=this.index[d].expandToken(a)),{});e.forEach(function(e){var t=this.index[d].getDocs(e),n=this.idf(e,d);if(f&&"AND"==h){var o,i={};for(o in f)o in t&&(i[o]=t[o]);t=i}for(o in e==a&&this.fieldSearchStats(p,e,t),t){var r=this.index[d].getTermFrequency(e,o),s=this.documentStore.getFieldLength(o,d),u=1,l=1,r=r*n*(u=0!=s?1/Math.sqrt(s):u)*(l=e!=a?.15*(1-(e.length-a.length)/e.length):l);o in c?c[o]+=r:c[o]=r}},this),f=this.mergeScores(f,c,h)},this),f=this.coordNorm(f,p,e.length)):void 0},m.Index.prototype.mergeScores=function(e,t,n){if(!e)return t;if("AND"==n){var o={};for(i in t)i in e&&(o[i]=e[i]+t[i]);return o}for(var i in t)i in e?e[i]+=t[i]:e[i]=t[i];return e},m.Index.prototype.fieldSearchStats=function(e,t,n){for(var o in n)o in e?e[o].push(t):e[o]=[t]},m.Index.prototype.coordNorm=function(e,t,n){for(var o in e){var i;o in t&&(i=t[o].length,e[o]=e[o]*i/n)}return e},m.Index.prototype.toJSON=function(){var t={};return this._fields.forEach(function(e){t[e]=this.index[e].toJSON()},this),{version:m.version,fields:this._fields,ref:this._ref,documentStore:this.documentStore.toJSON(),index:t,pipeline:this.pipeline.toJSON()}},m.Index.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},(m.DocumentStore=function(e){this._save=null==e||e,this.docs={},this.docInfo={},this.length=0}).load=function(e){var t=new this;return t.length=e.length,t.docs=e.docs,t.docInfo=e.docInfo,t._save=e.save,t},m.DocumentStore.prototype.isDocStored=function(){return this._save},m.DocumentStore.prototype.addDoc=function(e,t){this.hasDoc(e)||this.length++,this.docs[e]=!0===this._save?function(e){if(null===e||"object"!=typeof e)return e;var t,n=e.constructor();for(t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}(t):null},m.DocumentStore.prototype.getDoc=function(e){return!1===this.hasDoc(e)?null:this.docs[e]},m.DocumentStore.prototype.hasDoc=function(e){return e in this.docs},m.DocumentStore.prototype.removeDoc=function(e){this.hasDoc(e)&&(delete this.docs[e],delete this.docInfo[e],this.length--)},m.DocumentStore.prototype.addFieldLength=function(e,t,n){null!=e&&0!=this.hasDoc(e)&&(this.docInfo[e]||(this.docInfo[e]={}),this.docInfo[e][t]=n)},m.DocumentStore.prototype.updateFieldLength=function(e,t,n){null!=e&&0!=this.hasDoc(e)&&this.addFieldLength(e,t,n)},m.DocumentStore.prototype.getFieldLength=function(e,t){return null!=e&&e in this.docs&&t in this.docInfo[e]?this.docInfo[e][t]:0},m.DocumentStore.prototype.toJSON=function(){return{docs:this.docs,docInfo:this.docInfo,length:this.length,save:this._save}},a={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},c={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},e="[aeiouy]",t="[^aeiou][^aeiouy]*",d=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),h=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),f=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*([aeiouy][aeiou]*)?$"),p=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy]"),g=/^(.+?)(ss|i)es$/,y=/^(.+?)([^s])s$/,v=/^(.+?)eed$/,S=/^(.+?)(ed|ing)$/,x=/.$/,w=/(at|bl|iz)$/,b=new RegExp("([^aeiouylsz])\\1$"),E=new RegExp("^"+t+e+"[^aeiouwxy]$"),I=/^(.+?[^aeiou])y$/,C=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,D=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,F=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,N=/^(.+?)(s|t)(ion)$/,L=/^(.+?)e$/,k=/ll$/,_=new RegExp("^"+t+e+"[^aeiouwxy]$"),m.Pipeline.registerFunction(m.stemmer=function(e){var t,n,o,i,r,s,u,l;return e.length<3?e:("y"==(n=e.substr(0,1))&&(e=n.toUpperCase()+e.substr(1)),u=y,(r=g).test(e)?e=e.replace(r,"$1$2"):u.test(e)&&(e=e.replace(u,"$1$2")),u=S,(r=v).test(e)?(l=r.exec(e),(r=d).test(l[1])&&(e=e.replace(r=x,""))):u.test(e)&&(s=(l=u.exec(e))[1],(u=p).test(s)&&(e=s,o=b,i=E,(u=w).test(e)?e+="e":o.test(e)?e=e.replace(r=x,""):i.test(e)&&(e+="e"))),(r=I).test(e)&&(e=(s=(l=r.exec(e))[1])+"i"),(r=C).test(e)&&(s=(l=r.exec(e))[1],t=l[2],(r=d).test(s)&&(e=s+a[t])),(r=D).test(e)&&(s=(l=r.exec(e))[1],t=l[2],(r=d).test(s)&&(e=s+c[t])),u=N,(r=F).test(e)?(s=(l=r.exec(e))[1],(r=h).test(s)&&(e=s)):u.test(e)&&(s=(l=u.exec(e))[1]+l[2],(u=h).test(s)&&(e=s)),(r=L).test(e)&&(s=(l=r.exec(e))[1],u=f,o=_,((r=h).test(s)||u.test(s)&&!o.test(s))&&(e=s)),u=h,(r=k).test(e)&&u.test(e)&&(e=e.replace(r=x,"")),"y"==n?n.toLowerCase()+e.substr(1):e)},"stemmer"),m.stopWordFilter=function(e){return e&&!0!==m.stopWordFilter.stopWords[e]?e:void 0},m.clearStopWords=function(){m.stopWordFilter.stopWords={}},m.addStopWords=function(e){null!=e&&!1!==Array.isArray(e)&&e.forEach(function(e){m.stopWordFilter.stopWords[e]=!0},this)},m.resetStopWords=function(){m.stopWordFilter.stopWords=m.defaultStopWords},m.stopWordFilter.stopWords=m.defaultStopWords={"":!0,a:!0,able:!0,about:!0,across:!0,after:!0,all:!0,almost:!0,also:!0,am:!0,among:!0,an:!0,and:!0,any:!0,are:!0,as:!0,at:!0,be:!0,because:!0,been:!0,but:!0,by:!0,can:!0,cannot:!0,could:!0,dear:!0,did:!0,do:!0,does:!0,either:!0,else:!0,ever:!0,every:!0,for:!0,from:!0,get:!0,got:!0,had:!0,has:!0,have:!0,he:!0,her:!0,hers:!0,him:!0,his:!0,how:!0,however:!0,i:!0,if:!0,in:!0,into:!0,is:!0,it:!0,its:!0,just:!0,least:!0,let:!0,like:!0,likely:!0,may:!0,me:!0,might:!0,most:!0,must:!0,my:!0,neither:!0,no:!0,nor:!0,not:!0,of:!0,off:!0,often:!0,on:!0,only:!0,or:!0,other:!0,our:!0,own:!0,rather:!0,said:!0,say:!0,says:!0,she:!0,should:!0,since:!0,so:!0,some:!0,than:!0,that:!0,the:!0,their:!0,them:!0,then:!0,there:!0,these:!0,they:!0,this:!0,tis:!0,to:!0,too:!0,twas:!0,us:!0,wants:!0,was:!0,we:!0,were:!0,what:!0,when:!0,where:!0,which:!0,while:!0,who:!0,whom:!0,why:!0,will:!0,with:!0,would:!0,yet:!0,you:!0,your:!0},m.Pipeline.registerFunction(m.stopWordFilter,"stopWordFilter"),m.Pipeline.registerFunction(m.trimmer=function(e){if(null==e)throw new Error("token should not be undefined");return e.replace(/^\W+/,"").replace(/\W+$/,"")},"trimmer"),(m.InvertedIndex=function(){this.root={docs:{},df:0}}).load=function(e){var t=new this;return t.root=e.root,t},m.InvertedIndex.prototype.addToken=function(e,t,n){for(var n=n||this.root,o=0;o<=e.length-1;){var i=e[o];i in n||(n[i]={docs:{},df:0}),o+=1,n=n[i]}var r=t.ref;n.docs[r]?n.docs[r]={tf:t.tf}:(n.docs[r]={tf:t.tf},n.df+=1)},m.InvertedIndex.prototype.hasToken=function(e){if(!e)return!1;for(var t=this.root,n=0;n<e.length;n++){if(!t[e[n]])return!1;t=t[e[n]]}return!0},m.InvertedIndex.prototype.getNode=function(e){if(!e)return null;for(var t=this.root,n=0;n<e.length;n++){if(!t[e[n]])return null;t=t[e[n]]}return t},m.InvertedIndex.prototype.getDocs=function(e){e=this.getNode(e);return null==e?{}:e.docs},m.InvertedIndex.prototype.getTermFrequency=function(e,t){e=this.getNode(e);return null!=e&&t in e.docs?e.docs[t].tf:0},m.InvertedIndex.prototype.getDocFreq=function(e){e=this.getNode(e);return null==e?0:e.df},m.InvertedIndex.prototype.removeToken=function(e,t){e&&null!=(e=this.getNode(e))&&t in e.docs&&(delete e.docs[t],--e.df)},m.InvertedIndex.prototype.expandToken=function(e,t,n){if(null==e||""==e)return[];var o,t=t||[];if(null==n&&null==(n=this.getNode(e)))return t;for(o in 0<n.df&&t.push(e),n)"docs"!==o&&"df"!==o&&this.expandToken(e+o,t,n[o]);return t},m.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},(m.Configuration=function(e,t){var n,e=e||"";if(null==t)throw new Error("fields should not be null");this.config={};try{n=JSON.parse(e),this.buildUserConfig(n,t)}catch(e){m.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(t)}}).prototype.buildDefaultConfig=function(e){this.reset(),e.forEach(function(e){this.config[e]={boost:1,bool:"OR",expand:!1}},this)},m.Configuration.prototype.buildUserConfig=function(e,t){var n,o,i="OR",r=!1;if(this.reset(),"bool"in e&&(i=e.bool||i),"expand"in e&&(r=e.expand||r),"fields"in e)for(var s in e.fields)-1<t.indexOf(s)?(o=r,null!=(n=e.fields[s]).expand&&(o=n.expand),this.config[s]={boost:n.boost||0===n.boost?n.boost:1,bool:n.bool||i,expand:o}):m.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(i,r,t)},m.Configuration.prototype.addAllFields2UserConfig=function(t,n,e){e.forEach(function(e){this.config[e]={boost:1,bool:t,expand:n}},this)},m.Configuration.prototype.get=function(){return this.config},m.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},lunr.SortedSet.prototype.add=function(){for(var e,t=0;t<arguments.length;t++)~this.indexOf(e=arguments[t])||this.elements.splice(this.locationFor(e),0,e);this.length=this.elements.length},lunr.SortedSet.prototype.toArray=function(){return this.elements.slice()},lunr.SortedSet.prototype.map=function(e,t){return this.elements.map(e,t)},lunr.SortedSet.prototype.forEach=function(e,t){return this.elements.forEach(e,t)},lunr.SortedSet.prototype.indexOf=function(e){for(var t=0,n=this.elements.length,o=n-t,i=t+Math.floor(o/2),r=this.elements[i];1<o;){if(r===e)return i;o=(n=e<r?i:n)-(t=r<e?i:t),i=t+Math.floor(o/2),r=this.elements[i]}return r===e?i:-1},lunr.SortedSet.prototype.locationFor=function(e){for(var t=0,n=this.elements.length,o=n-t,i=t+Math.floor(o/2),r=this.elements[i];1<o;)o=(n=e<r?i:n)-(t=r<e?i:t),i=t+Math.floor(o/2),r=this.elements[i];return e<r?i:r<e?i+1:void 0},lunr.SortedSet.prototype.intersect=function(e){for(var t=new lunr.SortedSet,n=0,o=0,i=this.length,r=e.length,s=this.elements,u=e.elements;!(i-1<n||r-1<o);)s[n]!==u[o]?s[n]<u[o]?n++:s[n]>u[o]&&o++:(t.add(s[n]),n++,o++);return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){for(var t,e=this.length>=e.length?(t=this,e):(t=e,this),n=t.clone(),o=0,i=e.toArray();o<i.length;o++)n.add(i[o]);return n},lunr.SortedSet.prototype.toJSON=function(){return this.toArray()},t=this,e=function(){return m},"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=m:t.elasticlunr=m}(),window.onload=function(){document.body.contains(document.goSearch)&&(document.goSearch.onsubmit=function(){return goSearchNow()})};var suggestions=document.getElementById("suggestions"),searchinput=document.getElementById("searchinput");function closeAllLists(e){for(var t=document.getElementById("suggestions");t.firstChild;)t.removeChild(t.firstChild)}function inputFocus(t){191===t.keyCode&&"INPUT"!==document.activeElement.tagName&&"TEXTAREA"!==document.activeElement.tagName&&(t.preventDefault(),searchinput.focus(),suggestions.classList.remove("d-none")),27===t.keyCode&&(searchinput.blur(),suggestions.classList.add("d-none"),closeAllLists());const n=suggestions.querySelectorAll("a");if(!suggestions.classList.contains("d-none")&&0!==n.length){const i=[...n];var o=i.indexOf(document.activeElement);let e=0;38===t.keyCode?(t.preventDefault(),e=0<o?o-1:0,n[e].focus()):40===t.keyCode&&(t.preventDefault(),e=o+1<i.length?o+1:o,n[e].focus())}}function substringByByte(e,t){for(var n="",o=!1,i=0,r=0,s=0,u=0;u<e.length;u++){var l=e.codePointAt(u).toString(16);if(o=4<l.length&&++u+1<e.length?"200d"==e.codePointAt(u+1).toString(16):o){if(i+=getByteByHex(l),u==e.length-1){if(!((r+=i)<=t))break;n+=e.substr(s,u-s+1)}}else if(0!=i){if(!((r=(r+=i)+getByteByHex(l))<=t))break;n+=e.substr(s,u-s+1),s=u+1,i=0}else{if(!((r+=getByteByHex(l))<=t))break;l.length<=4?n+=e[u]:n+=e[u-1]+e[u],s=u+1}}return n}function getByteByBinary(e){return[0,1,2,3,4][Math.ceil(e.length/8)]}function getByteByHex(e){return getByteByBinary(parseInt(e,16).toString(2))}document.addEventListener("keydown",inputFocus),document.addEventListener("click",function(e){suggestions.contains(e.target)||suggestions.classList.add("d-none")}),function(){var u=elasticlunr.Index.load(window.searchIndex);searchinput.addEventListener("input",function(){var n,e=this.value.trim(),o=u.search(e,{bool:"OR",fields:{title:{boost:2},body:{boost:1}}}),i=suggestions.childNodes,r=o.length,s=e.split(/\s+/);suggestions.classList.remove("d-none"),o.forEach(function(e){""!==e.doc.body&&((n=document.createElement("div")).innerHTML="<a href><span></span><span></span></a>",a=n.querySelector("a"),t=n.querySelector("span:first-child"),d=n.querySelector("span:nth-child(2)"),a.href=e.ref,t.textContent=e.doc.title,d.innerHTML=function(e,t){var n=t.map(function(e){return elasticlunr.stemmer(e.toLowerCase())}),o=!1,i=0,r=[],s=e.toLowerCase().split(". ");for(p in s){var u,l=s[p].split(/[\s\n]/),a=8;for(u in l){if(0<(x=l[u]).length){for(var c in n)elasticlunr.stemmer(x).startsWith(n[c])&&(a=40,o=!0);r.push([x,a,i]),a=2}i=i+x.length+1}i+=1}if(0===r.length)return void 0!==e.length&&300<e.length?e.substring(0,300)+"...":e;for(var d=[],h=Math.min(r.length,30),f=0,p=0;p<h;p++)f+=r[p][1];d.push(f);for(p=0;p<r.length-h;p++)f=(f-=r[p][1])+r[p+h][1],d.push(f);var g=0;if(o)for(var m=0,p=d.length-1;0<=p;p--)d[p]>m&&(m=d[p],g=p);for(var y=[],v=r[g][2],p=g;p<g+h;p++){var S,x=r[p];v<x[2]&&(y.push(e.substring(v,x[2])),v=x[2]),40===x[1]&&y.push("<b>"),v=x[2]+x[0].length;40!==x[1]&&12<=x[0].length&&!/^[\x00-\xff]+$/.test(x[0])?(S=substringByByte(e.substring(x[2],v),12),y.push(S)):y.push(e.substring(x[2],v)),40===x[1]&&y.push("</b>")}return y.push("…"),y.join("")}(e.doc.body,s),suggestions.appendChild(n))});for(;i.length>r;)suggestions.removeChild(i[0])},!0),suggestions.addEventListener("click",function(){for(;suggestions.lastChild;)suggestions.removeChild(suggestions.lastChild);return!1},!0),document.body.contains(document.goSearch)&&(document.goSearch.onsubmit=function(){return goSearchNow()})}();
\ No newline at end of file diff --git a/static/abridge-bundle-nosearch.min.js b/static/abridge-bundle-nosearch.min.js deleted file mode 100644 index 4b8865c..0000000 --- a/static/abridge-bundle-nosearch.min.js +++ /dev/null @@ -1 +0,0 @@ -const items=document.querySelectorAll(".preStyle");items.forEach(e=>{e.rel="stylesheet"}),document.getElementById("mode").addEventListener("click",()=>{document.documentElement.classList.toggle("light"),localStorage.setItem("theme",document.documentElement.classList.contains("light")?"light":"dark")}),function(){for(var e=document.getElementsByClassName("m-protected"),t=0;t<e.length;t++){var n=e[t].getAttribute("href"),n=atob(n.substring(1));e[t].href="mailto:"+n}}(),function(){function t(e){const t=document.createElement("button");t.className="cc ",t.type="button",t.innerHTML="Copy",t.addEventListener("click",()=>async function(e,t){var n=t.querySelectorAll("table")["length"];let a="";0<n?t.querySelectorAll(":last-child > tr > td:last-child").forEach(e=>{a+=e.innerText}):a=t.querySelector(":last-child > code").innerText;try{"granted"==(result=await navigator.permissions.query({name:"clipboard-write"})).state||"prompt"==result.state?await navigator.clipboard.writeText(a):l(a,t)}catch(e){l(a,t)}finally{e.innerHTML="Copied",setTimeout(function(){e.innerHTML="Copy"},2e3)}}(t,e));var n=document.createElement("div");n.className="ccw",n.appendChild(t),e.parentNode.insertBefore(n,e),n.appendChild(e)}function l(e,t){var n=document.createElement("textArea"),e=(n.contentEditable="true",n.readOnly="false",n.className="copyable-text-area",n.value=e,t.insertBefore(n,t.firstChild),document.createRange()),a=(e.selectNodeContents(n),window.getSelection());a.removeAllRanges(),a.addRange(e),n.setSelectionRange(0,999999),document.execCommand("copy"),t.removeChild(n)}document.querySelectorAll("pre").forEach(e=>t(e))}();
\ No newline at end of file diff --git a/static/abridge-bundle-noswitcher.min.js b/static/abridge-bundle-noswitcher.min.js deleted file mode 100644 index b78beee..0000000 --- a/static/abridge-bundle-noswitcher.min.js +++ /dev/null @@ -1 +0,0 @@ -const items=document.querySelectorAll(".preStyle");function closeSearchNow(){const e=document.querySelector("main");e.innerHTML=window.main}function goSearchNow(){const e=document.querySelector("main");window.main||(window.main=e.innerHTML);var t=document.getElementById("suggestions"),n=t.cloneNode(!0),o=(n.id="results",document.createElement("div")),i='<form name="closeSearch"><h2><button type="submit" title="Close Search"><i class="svgs x"></i></button> Results For: '.concat(document.getElementById("searchinput").value,"</h2></form>");return o.innerHTML=i,n.insertBefore(o,n.firstChild),e.innerHTML=n.outerHTML,t.innerHTML="",document.getElementById("searchinput").value="",document.body.contains(document.closeSearch)&&(document.closeSearch.onsubmit=function(){closeSearchNow()}),!1}items.forEach(e=>{e.rel="stylesheet"}),function(){for(var e=document.getElementsByClassName("m-protected"),t=0;t<e.length;t++){var n=e[t].getAttribute("href"),n=atob(n.substring(1));e[t].href="mailto:"+n}}(),function(){function t(e){const t=document.createElement("button"),n=(t.className="cc ",t.type="button",t.innerHTML="Copy",t.addEventListener("click",()=>async function(e,t){var n=t.querySelectorAll("table")["length"];let o="";if(0<n){const i=t.querySelectorAll(":last-child > tr > td:last-child");i.forEach(e=>{o+=e.innerText})}else o=t.querySelector(":last-child > code").innerText;try{"granted"==(result=await navigator.permissions.query({name:"clipboard-write"})).state||"prompt"==result.state?await navigator.clipboard.writeText(o):r(o,t)}catch(e){r(o,t)}finally{e.innerHTML="Copied",setTimeout(function(){e.innerHTML="Copy"},2e3)}}(t,e)),document.createElement("div"));n.className="ccw",n.appendChild(t),e.parentNode.insertBefore(n,e),n.appendChild(e)}function r(e,t){const n=document.createElement("textArea"),o=(n.contentEditable="true",n.readOnly="false",n.className="copyable-text-area",n.value=e,t.insertBefore(n,t.firstChild),document.createRange()),i=(o.selectNodeContents(n),window.getSelection());i.removeAllRanges(),i.addRange(o),n.setSelectionRange(0,999999),document.execCommand("copy"),t.removeChild(n)}document.querySelectorAll("pre").forEach(e=>t(e))}(),function(){function m(e){var t=new m.Index;return t.pipeline.add(m.trimmer,m.stopWordFilter,m.stemmer),e&&e.call(t,t),t}var l,c,e,t,d,h,f,p,g,y,v,S,x,w,b,E,I,C,D,F,N,k,L,_,n;m.version="0.9.5",((lunr=m).utils={}).warn=(n=this,function(e){n.console&&console.warn&&console.warn(e)}),m.utils.toString=function(e){return null==e?"":e.toString()},(m.EventEmitter=function(){this.events={}}).prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop();if("function"!=typeof t)throw new TypeError("last argument must be a function");e.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},m.EventEmitter.prototype.removeListener=function(e,t){this.hasHandler(e)&&-1!==(t=this.events[e].indexOf(t))&&(this.events[e].splice(t,1),0==this.events[e].length&&delete this.events[e])},m.EventEmitter.prototype.emit=function(e){var t;this.hasHandler(e)&&(t=Array.prototype.slice.call(arguments,1),this.events[e].forEach(function(e){e.apply(void 0,t)},this))},m.EventEmitter.prototype.hasHandler=function(e){return e in this.events},(m.tokenizer=function(e){return arguments.length&&null!=e?Array.isArray(e)?(t=(t=e.filter(function(e){return null!=e})).map(function(e){return m.utils.toString(e).toLowerCase()}),n=[],t.forEach(function(e){e=e.split(m.tokenizer.seperator);n=n.concat(e)},this),n):e.toString().trim().toLowerCase().split(m.tokenizer.seperator):[];var t,n}).defaultSeperator=/[\s\-]+/,m.tokenizer.seperator=m.tokenizer.defaultSeperator,m.tokenizer.setSeperator=function(e){null!=e&&"object"==typeof e&&(m.tokenizer.seperator=e)},m.tokenizer.resetSeperator=function(){m.tokenizer.seperator=m.tokenizer.defaultSeperator},m.tokenizer.getSeperator=function(){return m.tokenizer.seperator},(m.Pipeline=function(){this._queue=[]}).registeredFunctions={},m.Pipeline.registerFunction=function(e,t){t in m.Pipeline.registeredFunctions&&m.utils.warn("Overwriting existing registered function: "+t),e.label=t,m.Pipeline.registeredFunctions[t]=e},m.Pipeline.getRegisteredFunction=function(e){return e in m.Pipeline.registeredFunctions!=1?null:m.Pipeline.registeredFunctions[e]},m.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||m.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},m.Pipeline.load=function(e){var n=new m.Pipeline;return e.forEach(function(e){var t=m.Pipeline.getRegisteredFunction(e);if(!t)throw new Error("Cannot load un-registered function: "+e);n.add(t)}),n},m.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach(function(e){m.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},m.Pipeline.prototype.after=function(e,t){m.Pipeline.warnIfFunctionNotRegistered(t);e=this._queue.indexOf(e);if(-1===e)throw new Error("Cannot find existingFn");this._queue.splice(e+1,0,t)},m.Pipeline.prototype.before=function(e,t){m.Pipeline.warnIfFunctionNotRegistered(t);e=this._queue.indexOf(e);if(-1===e)throw new Error("Cannot find existingFn");this._queue.splice(e,0,t)},m.Pipeline.prototype.remove=function(e){e=this._queue.indexOf(e);-1!==e&&this._queue.splice(e,1)},m.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,o=this._queue.length,i=0;i<n;i++){for(var r=e[i],s=0;s<o&&null!=(r=this._queue[s](r,i,e));s++);null!=r&&t.push(r)}return t},m.Pipeline.prototype.reset=function(){this._queue=[]},m.Pipeline.prototype.get=function(){return this._queue},m.Pipeline.prototype.toJSON=function(){return this._queue.map(function(e){return m.Pipeline.warnIfFunctionNotRegistered(e),e.label})},(m.Index=function(){this._fields=[],this._ref="id",this.pipeline=new m.Pipeline,this.documentStore=new m.DocumentStore,this.index={},this.eventEmitter=new m.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))}).prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},m.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},m.Index.load=function(e){e.version!==m.version&&m.utils.warn("version mismatch: current "+m.version+" importing "+e.version);var t,n=new this;for(t in n._fields=e.fields,n._ref=e.ref,n.documentStore=m.DocumentStore.load(e.documentStore),n.pipeline=m.Pipeline.load(e.pipeline),n.index={},e.index)n.index[t]=m.InvertedIndex.load(e.index[t]);return n},m.Index.prototype.addField=function(e){return this._fields.push(e),this.index[e]=new m.InvertedIndex,this},m.Index.prototype.setRef=function(e){return this._ref=e,this},m.Index.prototype.saveDocument=function(e){return this.documentStore=new m.DocumentStore(e),this},m.Index.prototype.addDoc=function(r,e){var s;r&&(e=void 0===e||e,s=r[this._ref],this.documentStore.addDoc(s,r),this._fields.forEach(function(e){var t,n=this.pipeline.run(m.tokenizer(r[e])),o=(this.documentStore.addFieldLength(s,e,n.length),{});for(t in n.forEach(function(e){e in o?o[e]+=1:o[e]=1},this),o){var i=o[t],i=Math.sqrt(i);this.index[e].addToken(t,{ref:s,tf:i})}},this),e&&this.eventEmitter.emit("add",r,this))},m.Index.prototype.removeDocByRef=function(e){e&&!1!==this.documentStore.isDocStored()&&this.documentStore.hasDoc(e)&&(e=this.documentStore.getDoc(e),this.removeDoc(e,!1))},m.Index.prototype.removeDoc=function(e,t){var n;e&&(t=void 0===t||t,n=e[this._ref],this.documentStore.hasDoc(n)&&(this.documentStore.removeDoc(n),this._fields.forEach(function(t){this.pipeline.run(m.tokenizer(e[t])).forEach(function(e){this.index[t].removeToken(e,n)},this)},this),t&&this.eventEmitter.emit("remove",e,this)))},m.Index.prototype.updateDoc=function(e,t){t=void 0===t||t;this.removeDocByRef(e[this._ref],!1),this.addDoc(e,!1),t&&this.eventEmitter.emit("update",e,this)},m.Index.prototype.idf=function(e,t){var n="@"+t+"/"+e;if(Object.prototype.hasOwnProperty.call(this._idfCache,n))return this._idfCache[n];t=this.index[t].getDocFreq(e),e=1+Math.log(this.documentStore.length/(t+1));return this._idfCache[n]=e},m.Index.prototype.getFields=function(){return this._fields.slice()},m.Index.prototype.search=function(e,t){if(!e)return[];e="string"==typeof e?{any:e}:JSON.parse(JSON.stringify(e));var n=null;null!=t&&(n=JSON.stringify(t));for(var o=new m.Configuration(n,this.getFields()).get(),i={},r=Object.keys(e),s=0;s<r.length;s++){var u=r[s];i[u]=this.pipeline.run(m.tokenizer(e[u]))}var a,l={};for(a in o){var c=i[a]||i.any;if(c){var d=this.fieldSearch(c,a,o),h=o[a].boost;for(p in d)d[p]=d[p]*h;for(p in d)p in l?l[p]+=d[p]:l[p]=d[p]}}var f,p,g=[];for(p in l)f={ref:p,score:l[p]},this.documentStore.hasDoc(p)&&(f.doc=this.documentStore.getDoc(p)),g.push(f);return g.sort(function(e,t){return t.score-e.score}),g},m.Index.prototype.fieldSearch=function(e,d,t){var h=t[d].bool,n=t[d].expand,t=t[d].boost,f=null,p={};return 0!==t?(e.forEach(function(l){var e=[l],c=(1==n&&(e=this.index[d].expandToken(l)),{});e.forEach(function(e){var t=this.index[d].getDocs(e),n=this.idf(e,d);if(f&&"AND"==h){var o,i={};for(o in f)o in t&&(i[o]=t[o]);t=i}for(o in e==l&&this.fieldSearchStats(p,e,t),t){var r=this.index[d].getTermFrequency(e,o),s=this.documentStore.getFieldLength(o,d),u=1,a=1,r=r*n*(u=0!=s?1/Math.sqrt(s):u)*(a=e!=l?.15*(1-(e.length-l.length)/e.length):a);o in c?c[o]+=r:c[o]=r}},this),f=this.mergeScores(f,c,h)},this),f=this.coordNorm(f,p,e.length)):void 0},m.Index.prototype.mergeScores=function(e,t,n){if(!e)return t;if("AND"==n){var o={};for(i in t)i in e&&(o[i]=e[i]+t[i]);return o}for(var i in t)i in e?e[i]+=t[i]:e[i]=t[i];return e},m.Index.prototype.fieldSearchStats=function(e,t,n){for(var o in n)o in e?e[o].push(t):e[o]=[t]},m.Index.prototype.coordNorm=function(e,t,n){for(var o in e){var i;o in t&&(i=t[o].length,e[o]=e[o]*i/n)}return e},m.Index.prototype.toJSON=function(){var t={};return this._fields.forEach(function(e){t[e]=this.index[e].toJSON()},this),{version:m.version,fields:this._fields,ref:this._ref,documentStore:this.documentStore.toJSON(),index:t,pipeline:this.pipeline.toJSON()}},m.Index.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},(m.DocumentStore=function(e){this._save=null==e||e,this.docs={},this.docInfo={},this.length=0}).load=function(e){var t=new this;return t.length=e.length,t.docs=e.docs,t.docInfo=e.docInfo,t._save=e.save,t},m.DocumentStore.prototype.isDocStored=function(){return this._save},m.DocumentStore.prototype.addDoc=function(e,t){this.hasDoc(e)||this.length++,this.docs[e]=!0===this._save?function(e){if(null===e||"object"!=typeof e)return e;var t,n=e.constructor();for(t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}(t):null},m.DocumentStore.prototype.getDoc=function(e){return!1===this.hasDoc(e)?null:this.docs[e]},m.DocumentStore.prototype.hasDoc=function(e){return e in this.docs},m.DocumentStore.prototype.removeDoc=function(e){this.hasDoc(e)&&(delete this.docs[e],delete this.docInfo[e],this.length--)},m.DocumentStore.prototype.addFieldLength=function(e,t,n){null!=e&&0!=this.hasDoc(e)&&(this.docInfo[e]||(this.docInfo[e]={}),this.docInfo[e][t]=n)},m.DocumentStore.prototype.updateFieldLength=function(e,t,n){null!=e&&0!=this.hasDoc(e)&&this.addFieldLength(e,t,n)},m.DocumentStore.prototype.getFieldLength=function(e,t){return null!=e&&e in this.docs&&t in this.docInfo[e]?this.docInfo[e][t]:0},m.DocumentStore.prototype.toJSON=function(){return{docs:this.docs,docInfo:this.docInfo,length:this.length,save:this._save}},l={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},c={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},e="[aeiouy]",t="[^aeiou][^aeiouy]*",d=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),h=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),f=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*([aeiouy][aeiou]*)?$"),p=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy]"),g=/^(.+?)(ss|i)es$/,y=/^(.+?)([^s])s$/,v=/^(.+?)eed$/,S=/^(.+?)(ed|ing)$/,x=/.$/,w=/(at|bl|iz)$/,b=new RegExp("([^aeiouylsz])\\1$"),E=new RegExp("^"+t+e+"[^aeiouwxy]$"),I=/^(.+?[^aeiou])y$/,C=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,D=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,F=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,N=/^(.+?)(s|t)(ion)$/,k=/^(.+?)e$/,L=/ll$/,_=new RegExp("^"+t+e+"[^aeiouwxy]$"),m.Pipeline.registerFunction(m.stemmer=function(e){var t,n,o,i,r,s,u,a;return e.length<3?e:("y"==(n=e.substr(0,1))&&(e=n.toUpperCase()+e.substr(1)),u=y,(r=g).test(e)?e=e.replace(r,"$1$2"):u.test(e)&&(e=e.replace(u,"$1$2")),u=S,(r=v).test(e)?(a=r.exec(e),(r=d).test(a[1])&&(e=e.replace(r=x,""))):u.test(e)&&(s=(a=u.exec(e))[1],(u=p).test(s)&&(e=s,o=b,i=E,(u=w).test(e)?e+="e":o.test(e)?e=e.replace(r=x,""):i.test(e)&&(e+="e"))),(r=I).test(e)&&(e=(s=(a=r.exec(e))[1])+"i"),(r=C).test(e)&&(s=(a=r.exec(e))[1],t=a[2],(r=d).test(s)&&(e=s+l[t])),(r=D).test(e)&&(s=(a=r.exec(e))[1],t=a[2],(r=d).test(s)&&(e=s+c[t])),u=N,(r=F).test(e)?(s=(a=r.exec(e))[1],(r=h).test(s)&&(e=s)):u.test(e)&&(s=(a=u.exec(e))[1]+a[2],(u=h).test(s)&&(e=s)),(r=k).test(e)&&(s=(a=r.exec(e))[1],u=f,o=_,((r=h).test(s)||u.test(s)&&!o.test(s))&&(e=s)),u=h,(r=L).test(e)&&u.test(e)&&(e=e.replace(r=x,"")),"y"==n?n.toLowerCase()+e.substr(1):e)},"stemmer"),m.stopWordFilter=function(e){return e&&!0!==m.stopWordFilter.stopWords[e]?e:void 0},m.clearStopWords=function(){m.stopWordFilter.stopWords={}},m.addStopWords=function(e){null!=e&&!1!==Array.isArray(e)&&e.forEach(function(e){m.stopWordFilter.stopWords[e]=!0},this)},m.resetStopWords=function(){m.stopWordFilter.stopWords=m.defaultStopWords},m.stopWordFilter.stopWords=m.defaultStopWords={"":!0,a:!0,able:!0,about:!0,across:!0,after:!0,all:!0,almost:!0,also:!0,am:!0,among:!0,an:!0,and:!0,any:!0,are:!0,as:!0,at:!0,be:!0,because:!0,been:!0,but:!0,by:!0,can:!0,cannot:!0,could:!0,dear:!0,did:!0,do:!0,does:!0,either:!0,else:!0,ever:!0,every:!0,for:!0,from:!0,get:!0,got:!0,had:!0,has:!0,have:!0,he:!0,her:!0,hers:!0,him:!0,his:!0,how:!0,however:!0,i:!0,if:!0,in:!0,into:!0,is:!0,it:!0,its:!0,just:!0,least:!0,let:!0,like:!0,likely:!0,may:!0,me:!0,might:!0,most:!0,must:!0,my:!0,neither:!0,no:!0,nor:!0,not:!0,of:!0,off:!0,often:!0,on:!0,only:!0,or:!0,other:!0,our:!0,own:!0,rather:!0,said:!0,say:!0,says:!0,she:!0,should:!0,since:!0,so:!0,some:!0,than:!0,that:!0,the:!0,their:!0,them:!0,then:!0,there:!0,these:!0,they:!0,this:!0,tis:!0,to:!0,too:!0,twas:!0,us:!0,wants:!0,was:!0,we:!0,were:!0,what:!0,when:!0,where:!0,which:!0,while:!0,who:!0,whom:!0,why:!0,will:!0,with:!0,would:!0,yet:!0,you:!0,your:!0},m.Pipeline.registerFunction(m.stopWordFilter,"stopWordFilter"),m.Pipeline.registerFunction(m.trimmer=function(e){if(null==e)throw new Error("token should not be undefined");return e.replace(/^\W+/,"").replace(/\W+$/,"")},"trimmer"),(m.InvertedIndex=function(){this.root={docs:{},df:0}}).load=function(e){var t=new this;return t.root=e.root,t},m.InvertedIndex.prototype.addToken=function(e,t,n){for(var n=n||this.root,o=0;o<=e.length-1;){var i=e[o];i in n||(n[i]={docs:{},df:0}),o+=1,n=n[i]}var r=t.ref;n.docs[r]?n.docs[r]={tf:t.tf}:(n.docs[r]={tf:t.tf},n.df+=1)},m.InvertedIndex.prototype.hasToken=function(e){if(!e)return!1;for(var t=this.root,n=0;n<e.length;n++){if(!t[e[n]])return!1;t=t[e[n]]}return!0},m.InvertedIndex.prototype.getNode=function(e){if(!e)return null;for(var t=this.root,n=0;n<e.length;n++){if(!t[e[n]])return null;t=t[e[n]]}return t},m.InvertedIndex.prototype.getDocs=function(e){e=this.getNode(e);return null==e?{}:e.docs},m.InvertedIndex.prototype.getTermFrequency=function(e,t){e=this.getNode(e);return null!=e&&t in e.docs?e.docs[t].tf:0},m.InvertedIndex.prototype.getDocFreq=function(e){e=this.getNode(e);return null==e?0:e.df},m.InvertedIndex.prototype.removeToken=function(e,t){e&&null!=(e=this.getNode(e))&&t in e.docs&&(delete e.docs[t],--e.df)},m.InvertedIndex.prototype.expandToken=function(e,t,n){if(null==e||""==e)return[];var o,t=t||[];if(null==n&&null==(n=this.getNode(e)))return t;for(o in 0<n.df&&t.push(e),n)"docs"!==o&&"df"!==o&&this.expandToken(e+o,t,n[o]);return t},m.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},(m.Configuration=function(e,t){var n,e=e||"";if(null==t)throw new Error("fields should not be null");this.config={};try{n=JSON.parse(e),this.buildUserConfig(n,t)}catch(e){m.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(t)}}).prototype.buildDefaultConfig=function(e){this.reset(),e.forEach(function(e){this.config[e]={boost:1,bool:"OR",expand:!1}},this)},m.Configuration.prototype.buildUserConfig=function(e,t){var n,o,i="OR",r=!1;if(this.reset(),"bool"in e&&(i=e.bool||i),"expand"in e&&(r=e.expand||r),"fields"in e)for(var s in e.fields)-1<t.indexOf(s)?(o=r,null!=(n=e.fields[s]).expand&&(o=n.expand),this.config[s]={boost:n.boost||0===n.boost?n.boost:1,bool:n.bool||i,expand:o}):m.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(i,r,t)},m.Configuration.prototype.addAllFields2UserConfig=function(t,n,e){e.forEach(function(e){this.config[e]={boost:1,bool:t,expand:n}},this)},m.Configuration.prototype.get=function(){return this.config},m.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},lunr.SortedSet.prototype.add=function(){for(var e,t=0;t<arguments.length;t++)~this.indexOf(e=arguments[t])||this.elements.splice(this.locationFor(e),0,e);this.length=this.elements.length},lunr.SortedSet.prototype.toArray=function(){return this.elements.slice()},lunr.SortedSet.prototype.map=function(e,t){return this.elements.map(e,t)},lunr.SortedSet.prototype.forEach=function(e,t){return this.elements.forEach(e,t)},lunr.SortedSet.prototype.indexOf=function(e){for(var t=0,n=this.elements.length,o=n-t,i=t+Math.floor(o/2),r=this.elements[i];1<o;){if(r===e)return i;o=(n=e<r?i:n)-(t=r<e?i:t),i=t+Math.floor(o/2),r=this.elements[i]}return r===e?i:-1},lunr.SortedSet.prototype.locationFor=function(e){for(var t=0,n=this.elements.length,o=n-t,i=t+Math.floor(o/2),r=this.elements[i];1<o;)o=(n=e<r?i:n)-(t=r<e?i:t),i=t+Math.floor(o/2),r=this.elements[i];return e<r?i:r<e?i+1:void 0},lunr.SortedSet.prototype.intersect=function(e){for(var t=new lunr.SortedSet,n=0,o=0,i=this.length,r=e.length,s=this.elements,u=e.elements;!(i-1<n||r-1<o);)s[n]!==u[o]?s[n]<u[o]?n++:s[n]>u[o]&&o++:(t.add(s[n]),n++,o++);return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){for(var t,e=this.length>=e.length?(t=this,e):(t=e,this),n=t.clone(),o=0,i=e.toArray();o<i.length;o++)n.add(i[o]);return n},lunr.SortedSet.prototype.toJSON=function(){return this.toArray()},t=this,e=function(){return m},"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=m:t.elasticlunr=m}(),window.onload=function(){document.body.contains(document.goSearch)&&(document.goSearch.onsubmit=function(){return goSearchNow()})};var suggestions=document.getElementById("suggestions"),searchinput=document.getElementById("searchinput");function closeAllLists(e){for(var t=document.getElementById("suggestions");t.firstChild;)t.removeChild(t.firstChild)}function inputFocus(t){191===t.keyCode&&"INPUT"!==document.activeElement.tagName&&"TEXTAREA"!==document.activeElement.tagName&&(t.preventDefault(),searchinput.focus(),suggestions.classList.remove("d-none")),27===t.keyCode&&(searchinput.blur(),suggestions.classList.add("d-none"),closeAllLists());const n=suggestions.querySelectorAll("a");if(!suggestions.classList.contains("d-none")&&0!==n.length){const i=[...n];var o=i.indexOf(document.activeElement);let e=0;38===t.keyCode?(t.preventDefault(),e=0<o?o-1:0,n[e].focus()):40===t.keyCode&&(t.preventDefault(),e=o+1<i.length?o+1:o,n[e].focus())}}function substringByByte(e,t){for(var n="",o=!1,i=0,r=0,s=0,u=0;u<e.length;u++){var a=e.codePointAt(u).toString(16);if(o=4<a.length&&++u+1<e.length?"200d"==e.codePointAt(u+1).toString(16):o){if(i+=getByteByHex(a),u==e.length-1){if(!((r+=i)<=t))break;n+=e.substr(s,u-s+1)}}else if(0!=i){if(!((r=(r+=i)+getByteByHex(a))<=t))break;n+=e.substr(s,u-s+1),s=u+1,i=0}else{if(!((r+=getByteByHex(a))<=t))break;a.length<=4?n+=e[u]:n+=e[u-1]+e[u],s=u+1}}return n}function getByteByBinary(e){return[0,1,2,3,4][Math.ceil(e.length/8)]}function getByteByHex(e){return getByteByBinary(parseInt(e,16).toString(2))}document.addEventListener("keydown",inputFocus),document.addEventListener("click",function(e){suggestions.contains(e.target)||suggestions.classList.add("d-none")}),function(){var u=elasticlunr.Index.load(window.searchIndex);searchinput.addEventListener("input",function(){var n,e=this.value.trim(),o=u.search(e,{bool:"OR",fields:{title:{boost:2},body:{boost:1}}}),i=suggestions.childNodes,r=o.length,s=e.split(/\s+/);suggestions.classList.remove("d-none"),o.forEach(function(e){""!==e.doc.body&&((n=document.createElement("div")).innerHTML="<a href><span></span><span></span></a>",a=n.querySelector("a"),t=n.querySelector("span:first-child"),d=n.querySelector("span:nth-child(2)"),a.href=e.ref,t.textContent=e.doc.title,d.innerHTML=function(e,t){var n=t.map(function(e){return elasticlunr.stemmer(e.toLowerCase())}),o=!1,i=0,r=[],s=e.toLowerCase().split(". ");for(p in s){var u,a=s[p].split(/[\s\n]/),l=8;for(u in a){if(0<(x=a[u]).length){for(var c in n)elasticlunr.stemmer(x).startsWith(n[c])&&(l=40,o=!0);r.push([x,l,i]),l=2}i=i+x.length+1}i+=1}if(0===r.length)return void 0!==e.length&&300<e.length?e.substring(0,300)+"...":e;for(var d=[],h=Math.min(r.length,30),f=0,p=0;p<h;p++)f+=r[p][1];d.push(f);for(p=0;p<r.length-h;p++)f=(f-=r[p][1])+r[p+h][1],d.push(f);var g=0;if(o)for(var m=0,p=d.length-1;0<=p;p--)d[p]>m&&(m=d[p],g=p);for(var y=[],v=r[g][2],p=g;p<g+h;p++){var S,x=r[p];v<x[2]&&(y.push(e.substring(v,x[2])),v=x[2]),40===x[1]&&y.push("<b>"),v=x[2]+x[0].length;40!==x[1]&&12<=x[0].length&&!/^[\x00-\xff]+$/.test(x[0])?(S=substringByByte(e.substring(x[2],v),12),y.push(S)):y.push(e.substring(x[2],v)),40===x[1]&&y.push("</b>")}return y.push("…"),y.join("")}(e.doc.body,s),suggestions.appendChild(n))});for(;i.length>r;)suggestions.removeChild(i[0])},!0),suggestions.addEventListener("click",function(){for(;suggestions.lastChild;)suggestions.removeChild(suggestions.lastChild);return!1},!0),document.body.contains(document.goSearch)&&(document.goSearch.onsubmit=function(){return goSearchNow()})}();
\ No newline at end of file diff --git a/static/abridge-bundle-noswitchernosearch.min.js b/static/abridge-bundle-noswitchernosearch.min.js deleted file mode 100644 index 57d4004..0000000 --- a/static/abridge-bundle-noswitchernosearch.min.js +++ /dev/null @@ -1 +0,0 @@ -const items=document.querySelectorAll(".preStyle");items.forEach(e=>{e.rel="stylesheet"}),function(){for(var e=document.getElementsByClassName("m-protected"),t=0;t<e.length;t++){var n=e[t].getAttribute("href"),n=atob(n.substring(1));e[t].href="mailto:"+n}}(),function(){function t(e){const t=document.createElement("button");t.className="cc ",t.type="button",t.innerHTML="Copy",t.addEventListener("click",()=>async function(e,t){var n=t.querySelectorAll("table")["length"];let r="";0<n?t.querySelectorAll(":last-child > tr > td:last-child").forEach(e=>{r+=e.innerText}):r=t.querySelector(":last-child > code").innerText;try{"granted"==(result=await navigator.permissions.query({name:"clipboard-write"})).state||"prompt"==result.state?await navigator.clipboard.writeText(r):a(r,t)}catch(e){a(r,t)}finally{e.innerHTML="Copied",setTimeout(function(){e.innerHTML="Copy"},2e3)}}(t,e));var n=document.createElement("div");n.className="ccw",n.appendChild(t),e.parentNode.insertBefore(n,e),n.appendChild(e)}function a(e,t){var n=document.createElement("textArea"),e=(n.contentEditable="true",n.readOnly="false",n.className="copyable-text-area",n.value=e,t.insertBefore(n,t.firstChild),document.createRange()),r=(e.selectNodeContents(n),window.getSelection());r.removeAllRanges(),r.addRange(e),n.setSelectionRange(0,999999),document.execCommand("copy"),t.removeChild(n)}document.querySelectorAll("pre").forEach(e=>t(e))}();
\ No newline at end of file diff --git a/static/abridge-bundle-searchonly.min.js b/static/abridge-bundle-searchonly.min.js deleted file mode 100644 index 6f79f1b..0000000 --- a/static/abridge-bundle-searchonly.min.js +++ /dev/null @@ -1 +0,0 @@ -function closeSearchNow(){const e=document.querySelector("main");e.innerHTML=window.main}function goSearchNow(){const e=document.querySelector("main");window.main||(window.main=e.innerHTML);var t=document.getElementById("suggestions"),n=t.cloneNode(!0),o=(n.id="results",document.createElement("div")),i='<form name="closeSearch"><h2><button type="submit" title="Close Search"><i class="svgs x"></i></button> Results For: '.concat(document.getElementById("searchinput").value,"</h2></form>");return o.innerHTML=i,n.insertBefore(o,n.firstChild),e.innerHTML=n.outerHTML,t.innerHTML="",document.getElementById("searchinput").value="",document.body.contains(document.closeSearch)&&(document.closeSearch.onsubmit=function(){closeSearchNow()}),!1}!function(){function m(e){var t=new m.Index;return t.pipeline.add(m.trimmer,m.stopWordFilter,m.stemmer),e&&e.call(t,t),t}var l,c,e,t,d,h,f,p,g,y,v,S,x,w,b,I,E,D,F,C,_,k,N,L,n;m.version="0.9.5",((lunr=m).utils={}).warn=(n=this,function(e){n.console&&console.warn&&console.warn(e)}),m.utils.toString=function(e){return null==e?"":e.toString()},(m.EventEmitter=function(){this.events={}}).prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop();if("function"!=typeof t)throw new TypeError("last argument must be a function");e.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},m.EventEmitter.prototype.removeListener=function(e,t){this.hasHandler(e)&&-1!==(t=this.events[e].indexOf(t))&&(this.events[e].splice(t,1),0==this.events[e].length&&delete this.events[e])},m.EventEmitter.prototype.emit=function(e){var t;this.hasHandler(e)&&(t=Array.prototype.slice.call(arguments,1),this.events[e].forEach(function(e){e.apply(void 0,t)},this))},m.EventEmitter.prototype.hasHandler=function(e){return e in this.events},(m.tokenizer=function(e){return arguments.length&&null!=e?Array.isArray(e)?(t=(t=e.filter(function(e){return null!=e})).map(function(e){return m.utils.toString(e).toLowerCase()}),n=[],t.forEach(function(e){e=e.split(m.tokenizer.seperator);n=n.concat(e)},this),n):e.toString().trim().toLowerCase().split(m.tokenizer.seperator):[];var t,n}).defaultSeperator=/[\s\-]+/,m.tokenizer.seperator=m.tokenizer.defaultSeperator,m.tokenizer.setSeperator=function(e){null!=e&&"object"==typeof e&&(m.tokenizer.seperator=e)},m.tokenizer.resetSeperator=function(){m.tokenizer.seperator=m.tokenizer.defaultSeperator},m.tokenizer.getSeperator=function(){return m.tokenizer.seperator},(m.Pipeline=function(){this._queue=[]}).registeredFunctions={},m.Pipeline.registerFunction=function(e,t){t in m.Pipeline.registeredFunctions&&m.utils.warn("Overwriting existing registered function: "+t),e.label=t,m.Pipeline.registeredFunctions[t]=e},m.Pipeline.getRegisteredFunction=function(e){return e in m.Pipeline.registeredFunctions!=1?null:m.Pipeline.registeredFunctions[e]},m.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||m.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},m.Pipeline.load=function(e){var n=new m.Pipeline;return e.forEach(function(e){var t=m.Pipeline.getRegisteredFunction(e);if(!t)throw new Error("Cannot load un-registered function: "+e);n.add(t)}),n},m.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach(function(e){m.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},m.Pipeline.prototype.after=function(e,t){m.Pipeline.warnIfFunctionNotRegistered(t);e=this._queue.indexOf(e);if(-1===e)throw new Error("Cannot find existingFn");this._queue.splice(e+1,0,t)},m.Pipeline.prototype.before=function(e,t){m.Pipeline.warnIfFunctionNotRegistered(t);e=this._queue.indexOf(e);if(-1===e)throw new Error("Cannot find existingFn");this._queue.splice(e,0,t)},m.Pipeline.prototype.remove=function(e){e=this._queue.indexOf(e);-1!==e&&this._queue.splice(e,1)},m.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,o=this._queue.length,i=0;i<n;i++){for(var r=e[i],s=0;s<o&&null!=(r=this._queue[s](r,i,e));s++);null!=r&&t.push(r)}return t},m.Pipeline.prototype.reset=function(){this._queue=[]},m.Pipeline.prototype.get=function(){return this._queue},m.Pipeline.prototype.toJSON=function(){return this._queue.map(function(e){return m.Pipeline.warnIfFunctionNotRegistered(e),e.label})},(m.Index=function(){this._fields=[],this._ref="id",this.pipeline=new m.Pipeline,this.documentStore=new m.DocumentStore,this.index={},this.eventEmitter=new m.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))}).prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},m.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},m.Index.load=function(e){e.version!==m.version&&m.utils.warn("version mismatch: current "+m.version+" importing "+e.version);var t,n=new this;for(t in n._fields=e.fields,n._ref=e.ref,n.documentStore=m.DocumentStore.load(e.documentStore),n.pipeline=m.Pipeline.load(e.pipeline),n.index={},e.index)n.index[t]=m.InvertedIndex.load(e.index[t]);return n},m.Index.prototype.addField=function(e){return this._fields.push(e),this.index[e]=new m.InvertedIndex,this},m.Index.prototype.setRef=function(e){return this._ref=e,this},m.Index.prototype.saveDocument=function(e){return this.documentStore=new m.DocumentStore(e),this},m.Index.prototype.addDoc=function(r,e){var s;r&&(e=void 0===e||e,s=r[this._ref],this.documentStore.addDoc(s,r),this._fields.forEach(function(e){var t,n=this.pipeline.run(m.tokenizer(r[e])),o=(this.documentStore.addFieldLength(s,e,n.length),{});for(t in n.forEach(function(e){e in o?o[e]+=1:o[e]=1},this),o){var i=o[t],i=Math.sqrt(i);this.index[e].addToken(t,{ref:s,tf:i})}},this),e&&this.eventEmitter.emit("add",r,this))},m.Index.prototype.removeDocByRef=function(e){e&&!1!==this.documentStore.isDocStored()&&this.documentStore.hasDoc(e)&&(e=this.documentStore.getDoc(e),this.removeDoc(e,!1))},m.Index.prototype.removeDoc=function(e,t){var n;e&&(t=void 0===t||t,n=e[this._ref],this.documentStore.hasDoc(n)&&(this.documentStore.removeDoc(n),this._fields.forEach(function(t){this.pipeline.run(m.tokenizer(e[t])).forEach(function(e){this.index[t].removeToken(e,n)},this)},this),t&&this.eventEmitter.emit("remove",e,this)))},m.Index.prototype.updateDoc=function(e,t){t=void 0===t||t;this.removeDocByRef(e[this._ref],!1),this.addDoc(e,!1),t&&this.eventEmitter.emit("update",e,this)},m.Index.prototype.idf=function(e,t){var n="@"+t+"/"+e;if(Object.prototype.hasOwnProperty.call(this._idfCache,n))return this._idfCache[n];t=this.index[t].getDocFreq(e),e=1+Math.log(this.documentStore.length/(t+1));return this._idfCache[n]=e},m.Index.prototype.getFields=function(){return this._fields.slice()},m.Index.prototype.search=function(e,t){if(!e)return[];e="string"==typeof e?{any:e}:JSON.parse(JSON.stringify(e));var n=null;null!=t&&(n=JSON.stringify(t));for(var o=new m.Configuration(n,this.getFields()).get(),i={},r=Object.keys(e),s=0;s<r.length;s++){var u=r[s];i[u]=this.pipeline.run(m.tokenizer(e[u]))}var a,l={};for(a in o){var c=i[a]||i.any;if(c){var d=this.fieldSearch(c,a,o),h=o[a].boost;for(p in d)d[p]=d[p]*h;for(p in d)p in l?l[p]+=d[p]:l[p]=d[p]}}var f,p,g=[];for(p in l)f={ref:p,score:l[p]},this.documentStore.hasDoc(p)&&(f.doc=this.documentStore.getDoc(p)),g.push(f);return g.sort(function(e,t){return t.score-e.score}),g},m.Index.prototype.fieldSearch=function(e,d,t){var h=t[d].bool,n=t[d].expand,t=t[d].boost,f=null,p={};return 0!==t?(e.forEach(function(l){var e=[l],c=(1==n&&(e=this.index[d].expandToken(l)),{});e.forEach(function(e){var t=this.index[d].getDocs(e),n=this.idf(e,d);if(f&&"AND"==h){var o,i={};for(o in f)o in t&&(i[o]=t[o]);t=i}for(o in e==l&&this.fieldSearchStats(p,e,t),t){var r=this.index[d].getTermFrequency(e,o),s=this.documentStore.getFieldLength(o,d),u=1,a=1,r=r*n*(u=0!=s?1/Math.sqrt(s):u)*(a=e!=l?.15*(1-(e.length-l.length)/e.length):a);o in c?c[o]+=r:c[o]=r}},this),f=this.mergeScores(f,c,h)},this),f=this.coordNorm(f,p,e.length)):void 0},m.Index.prototype.mergeScores=function(e,t,n){if(!e)return t;if("AND"==n){var o={};for(i in t)i in e&&(o[i]=e[i]+t[i]);return o}for(var i in t)i in e?e[i]+=t[i]:e[i]=t[i];return e},m.Index.prototype.fieldSearchStats=function(e,t,n){for(var o in n)o in e?e[o].push(t):e[o]=[t]},m.Index.prototype.coordNorm=function(e,t,n){for(var o in e){var i;o in t&&(i=t[o].length,e[o]=e[o]*i/n)}return e},m.Index.prototype.toJSON=function(){var t={};return this._fields.forEach(function(e){t[e]=this.index[e].toJSON()},this),{version:m.version,fields:this._fields,ref:this._ref,documentStore:this.documentStore.toJSON(),index:t,pipeline:this.pipeline.toJSON()}},m.Index.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},(m.DocumentStore=function(e){this._save=null==e||e,this.docs={},this.docInfo={},this.length=0}).load=function(e){var t=new this;return t.length=e.length,t.docs=e.docs,t.docInfo=e.docInfo,t._save=e.save,t},m.DocumentStore.prototype.isDocStored=function(){return this._save},m.DocumentStore.prototype.addDoc=function(e,t){this.hasDoc(e)||this.length++,this.docs[e]=!0===this._save?function(e){if(null===e||"object"!=typeof e)return e;var t,n=e.constructor();for(t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}(t):null},m.DocumentStore.prototype.getDoc=function(e){return!1===this.hasDoc(e)?null:this.docs[e]},m.DocumentStore.prototype.hasDoc=function(e){return e in this.docs},m.DocumentStore.prototype.removeDoc=function(e){this.hasDoc(e)&&(delete this.docs[e],delete this.docInfo[e],this.length--)},m.DocumentStore.prototype.addFieldLength=function(e,t,n){null!=e&&0!=this.hasDoc(e)&&(this.docInfo[e]||(this.docInfo[e]={}),this.docInfo[e][t]=n)},m.DocumentStore.prototype.updateFieldLength=function(e,t,n){null!=e&&0!=this.hasDoc(e)&&this.addFieldLength(e,t,n)},m.DocumentStore.prototype.getFieldLength=function(e,t){return null!=e&&e in this.docs&&t in this.docInfo[e]?this.docInfo[e][t]:0},m.DocumentStore.prototype.toJSON=function(){return{docs:this.docs,docInfo:this.docInfo,length:this.length,save:this._save}},l={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},c={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},e="[aeiouy]",t="[^aeiou][^aeiouy]*",d=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),h=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),f=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*([aeiouy][aeiou]*)?$"),p=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy]"),g=/^(.+?)(ss|i)es$/,y=/^(.+?)([^s])s$/,v=/^(.+?)eed$/,S=/^(.+?)(ed|ing)$/,x=/.$/,w=/(at|bl|iz)$/,b=new RegExp("([^aeiouylsz])\\1$"),I=new RegExp("^"+t+e+"[^aeiouwxy]$"),E=/^(.+?[^aeiou])y$/,D=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,F=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,C=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,_=/^(.+?)(s|t)(ion)$/,k=/^(.+?)e$/,N=/ll$/,L=new RegExp("^"+t+e+"[^aeiouwxy]$"),m.Pipeline.registerFunction(m.stemmer=function(e){var t,n,o,i,r,s,u,a;return e.length<3?e:("y"==(n=e.substr(0,1))&&(e=n.toUpperCase()+e.substr(1)),u=y,(r=g).test(e)?e=e.replace(r,"$1$2"):u.test(e)&&(e=e.replace(u,"$1$2")),u=S,(r=v).test(e)?(a=r.exec(e),(r=d).test(a[1])&&(e=e.replace(r=x,""))):u.test(e)&&(s=(a=u.exec(e))[1],(u=p).test(s)&&(e=s,o=b,i=I,(u=w).test(e)?e+="e":o.test(e)?e=e.replace(r=x,""):i.test(e)&&(e+="e"))),(r=E).test(e)&&(e=(s=(a=r.exec(e))[1])+"i"),(r=D).test(e)&&(s=(a=r.exec(e))[1],t=a[2],(r=d).test(s)&&(e=s+l[t])),(r=F).test(e)&&(s=(a=r.exec(e))[1],t=a[2],(r=d).test(s)&&(e=s+c[t])),u=_,(r=C).test(e)?(s=(a=r.exec(e))[1],(r=h).test(s)&&(e=s)):u.test(e)&&(s=(a=u.exec(e))[1]+a[2],(u=h).test(s)&&(e=s)),(r=k).test(e)&&(s=(a=r.exec(e))[1],u=f,o=L,((r=h).test(s)||u.test(s)&&!o.test(s))&&(e=s)),u=h,(r=N).test(e)&&u.test(e)&&(e=e.replace(r=x,"")),"y"==n?n.toLowerCase()+e.substr(1):e)},"stemmer"),m.stopWordFilter=function(e){return e&&!0!==m.stopWordFilter.stopWords[e]?e:void 0},m.clearStopWords=function(){m.stopWordFilter.stopWords={}},m.addStopWords=function(e){null!=e&&!1!==Array.isArray(e)&&e.forEach(function(e){m.stopWordFilter.stopWords[e]=!0},this)},m.resetStopWords=function(){m.stopWordFilter.stopWords=m.defaultStopWords},m.stopWordFilter.stopWords=m.defaultStopWords={"":!0,a:!0,able:!0,about:!0,across:!0,after:!0,all:!0,almost:!0,also:!0,am:!0,among:!0,an:!0,and:!0,any:!0,are:!0,as:!0,at:!0,be:!0,because:!0,been:!0,but:!0,by:!0,can:!0,cannot:!0,could:!0,dear:!0,did:!0,do:!0,does:!0,either:!0,else:!0,ever:!0,every:!0,for:!0,from:!0,get:!0,got:!0,had:!0,has:!0,have:!0,he:!0,her:!0,hers:!0,him:!0,his:!0,how:!0,however:!0,i:!0,if:!0,in:!0,into:!0,is:!0,it:!0,its:!0,just:!0,least:!0,let:!0,like:!0,likely:!0,may:!0,me:!0,might:!0,most:!0,must:!0,my:!0,neither:!0,no:!0,nor:!0,not:!0,of:!0,off:!0,often:!0,on:!0,only:!0,or:!0,other:!0,our:!0,own:!0,rather:!0,said:!0,say:!0,says:!0,she:!0,should:!0,since:!0,so:!0,some:!0,than:!0,that:!0,the:!0,their:!0,them:!0,then:!0,there:!0,these:!0,they:!0,this:!0,tis:!0,to:!0,too:!0,twas:!0,us:!0,wants:!0,was:!0,we:!0,were:!0,what:!0,when:!0,where:!0,which:!0,while:!0,who:!0,whom:!0,why:!0,will:!0,with:!0,would:!0,yet:!0,you:!0,your:!0},m.Pipeline.registerFunction(m.stopWordFilter,"stopWordFilter"),m.Pipeline.registerFunction(m.trimmer=function(e){if(null==e)throw new Error("token should not be undefined");return e.replace(/^\W+/,"").replace(/\W+$/,"")},"trimmer"),(m.InvertedIndex=function(){this.root={docs:{},df:0}}).load=function(e){var t=new this;return t.root=e.root,t},m.InvertedIndex.prototype.addToken=function(e,t,n){for(var n=n||this.root,o=0;o<=e.length-1;){var i=e[o];i in n||(n[i]={docs:{},df:0}),o+=1,n=n[i]}var r=t.ref;n.docs[r]?n.docs[r]={tf:t.tf}:(n.docs[r]={tf:t.tf},n.df+=1)},m.InvertedIndex.prototype.hasToken=function(e){if(!e)return!1;for(var t=this.root,n=0;n<e.length;n++){if(!t[e[n]])return!1;t=t[e[n]]}return!0},m.InvertedIndex.prototype.getNode=function(e){if(!e)return null;for(var t=this.root,n=0;n<e.length;n++){if(!t[e[n]])return null;t=t[e[n]]}return t},m.InvertedIndex.prototype.getDocs=function(e){e=this.getNode(e);return null==e?{}:e.docs},m.InvertedIndex.prototype.getTermFrequency=function(e,t){e=this.getNode(e);return null!=e&&t in e.docs?e.docs[t].tf:0},m.InvertedIndex.prototype.getDocFreq=function(e){e=this.getNode(e);return null==e?0:e.df},m.InvertedIndex.prototype.removeToken=function(e,t){e&&null!=(e=this.getNode(e))&&t in e.docs&&(delete e.docs[t],--e.df)},m.InvertedIndex.prototype.expandToken=function(e,t,n){if(null==e||""==e)return[];var o,t=t||[];if(null==n&&null==(n=this.getNode(e)))return t;for(o in 0<n.df&&t.push(e),n)"docs"!==o&&"df"!==o&&this.expandToken(e+o,t,n[o]);return t},m.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},(m.Configuration=function(e,t){var n,e=e||"";if(null==t)throw new Error("fields should not be null");this.config={};try{n=JSON.parse(e),this.buildUserConfig(n,t)}catch(e){m.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(t)}}).prototype.buildDefaultConfig=function(e){this.reset(),e.forEach(function(e){this.config[e]={boost:1,bool:"OR",expand:!1}},this)},m.Configuration.prototype.buildUserConfig=function(e,t){var n,o,i="OR",r=!1;if(this.reset(),"bool"in e&&(i=e.bool||i),"expand"in e&&(r=e.expand||r),"fields"in e)for(var s in e.fields)-1<t.indexOf(s)?(o=r,null!=(n=e.fields[s]).expand&&(o=n.expand),this.config[s]={boost:n.boost||0===n.boost?n.boost:1,bool:n.bool||i,expand:o}):m.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(i,r,t)},m.Configuration.prototype.addAllFields2UserConfig=function(t,n,e){e.forEach(function(e){this.config[e]={boost:1,bool:t,expand:n}},this)},m.Configuration.prototype.get=function(){return this.config},m.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},lunr.SortedSet.prototype.add=function(){for(var e,t=0;t<arguments.length;t++)~this.indexOf(e=arguments[t])||this.elements.splice(this.locationFor(e),0,e);this.length=this.elements.length},lunr.SortedSet.prototype.toArray=function(){return this.elements.slice()},lunr.SortedSet.prototype.map=function(e,t){return this.elements.map(e,t)},lunr.SortedSet.prototype.forEach=function(e,t){return this.elements.forEach(e,t)},lunr.SortedSet.prototype.indexOf=function(e){for(var t=0,n=this.elements.length,o=n-t,i=t+Math.floor(o/2),r=this.elements[i];1<o;){if(r===e)return i;o=(n=e<r?i:n)-(t=r<e?i:t),i=t+Math.floor(o/2),r=this.elements[i]}return r===e?i:-1},lunr.SortedSet.prototype.locationFor=function(e){for(var t=0,n=this.elements.length,o=n-t,i=t+Math.floor(o/2),r=this.elements[i];1<o;)o=(n=e<r?i:n)-(t=r<e?i:t),i=t+Math.floor(o/2),r=this.elements[i];return e<r?i:r<e?i+1:void 0},lunr.SortedSet.prototype.intersect=function(e){for(var t=new lunr.SortedSet,n=0,o=0,i=this.length,r=e.length,s=this.elements,u=e.elements;!(i-1<n||r-1<o);)s[n]!==u[o]?s[n]<u[o]?n++:s[n]>u[o]&&o++:(t.add(s[n]),n++,o++);return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){for(var t,e=this.length>=e.length?(t=this,e):(t=e,this),n=t.clone(),o=0,i=e.toArray();o<i.length;o++)n.add(i[o]);return n},lunr.SortedSet.prototype.toJSON=function(){return this.toArray()},t=this,e=function(){return m},"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=m:t.elasticlunr=m}(),window.onload=function(){document.body.contains(document.goSearch)&&(document.goSearch.onsubmit=function(){return goSearchNow()})};var suggestions=document.getElementById("suggestions"),searchinput=document.getElementById("searchinput");function closeAllLists(e){for(var t=document.getElementById("suggestions");t.firstChild;)t.removeChild(t.firstChild)}function inputFocus(t){191===t.keyCode&&"INPUT"!==document.activeElement.tagName&&"TEXTAREA"!==document.activeElement.tagName&&(t.preventDefault(),searchinput.focus(),suggestions.classList.remove("d-none")),27===t.keyCode&&(searchinput.blur(),suggestions.classList.add("d-none"),closeAllLists());const n=suggestions.querySelectorAll("a");if(!suggestions.classList.contains("d-none")&&0!==n.length){const i=[...n];var o=i.indexOf(document.activeElement);let e=0;38===t.keyCode?(t.preventDefault(),e=0<o?o-1:0,n[e].focus()):40===t.keyCode&&(t.preventDefault(),e=o+1<i.length?o+1:o,n[e].focus())}}function substringByByte(e,t){for(var n="",o=!1,i=0,r=0,s=0,u=0;u<e.length;u++){var a=e.codePointAt(u).toString(16);if(o=4<a.length&&++u+1<e.length?"200d"==e.codePointAt(u+1).toString(16):o){if(i+=getByteByHex(a),u==e.length-1){if(!((r+=i)<=t))break;n+=e.substr(s,u-s+1)}}else if(0!=i){if(!((r=(r+=i)+getByteByHex(a))<=t))break;n+=e.substr(s,u-s+1),s=u+1,i=0}else{if(!((r+=getByteByHex(a))<=t))break;a.length<=4?n+=e[u]:n+=e[u-1]+e[u],s=u+1}}return n}function getByteByBinary(e){return[0,1,2,3,4][Math.ceil(e.length/8)]}function getByteByHex(e){return getByteByBinary(parseInt(e,16).toString(2))}document.addEventListener("keydown",inputFocus),document.addEventListener("click",function(e){suggestions.contains(e.target)||suggestions.classList.add("d-none")}),function(){var u=elasticlunr.Index.load(window.searchIndex);searchinput.addEventListener("input",function(){var n,e=this.value.trim(),o=u.search(e,{bool:"OR",fields:{title:{boost:2},body:{boost:1}}}),i=suggestions.childNodes,r=o.length,s=e.split(/\s+/);suggestions.classList.remove("d-none"),o.forEach(function(e){""!==e.doc.body&&((n=document.createElement("div")).innerHTML="<a href><span></span><span></span></a>",a=n.querySelector("a"),t=n.querySelector("span:first-child"),d=n.querySelector("span:nth-child(2)"),a.href=e.ref,t.textContent=e.doc.title,d.innerHTML=function(e,t){var n=t.map(function(e){return elasticlunr.stemmer(e.toLowerCase())}),o=!1,i=0,r=[],s=e.toLowerCase().split(". ");for(p in s){var u,a=s[p].split(/[\s\n]/),l=8;for(u in a){if(0<(x=a[u]).length){for(var c in n)elasticlunr.stemmer(x).startsWith(n[c])&&(l=40,o=!0);r.push([x,l,i]),l=2}i=i+x.length+1}i+=1}if(0===r.length)return void 0!==e.length&&300<e.length?e.substring(0,300)+"...":e;for(var d=[],h=Math.min(r.length,30),f=0,p=0;p<h;p++)f+=r[p][1];d.push(f);for(p=0;p<r.length-h;p++)f=(f-=r[p][1])+r[p+h][1],d.push(f);var g=0;if(o)for(var m=0,p=d.length-1;0<=p;p--)d[p]>m&&(m=d[p],g=p);for(var y=[],v=r[g][2],p=g;p<g+h;p++){var S,x=r[p];v<x[2]&&(y.push(e.substring(v,x[2])),v=x[2]),40===x[1]&&y.push("<b>"),v=x[2]+x[0].length;40!==x[1]&&12<=x[0].length&&!/^[\x00-\xff]+$/.test(x[0])?(S=substringByByte(e.substring(x[2],v),12),y.push(S)):y.push(e.substring(x[2],v)),40===x[1]&&y.push("</b>")}return y.push("…"),y.join("")}(e.doc.body,s),suggestions.appendChild(n))});for(;i.length>r;)suggestions.removeChild(i[0])},!0),suggestions.addEventListener("click",function(){for(;suggestions.lastChild;)suggestions.removeChild(suggestions.lastChild);return!1},!0),document.body.contains(document.goSearch)&&(document.goSearch.onsubmit=function(){return goSearchNow()})}();
\ No newline at end of file diff --git a/static/abridge-bundle-stork.min.js b/static/abridge-bundle-stork.min.js deleted file mode 100644 index ec2c45f..0000000 --- a/static/abridge-bundle-stork.min.js +++ /dev/null @@ -1 +0,0 @@ -const items=document.querySelectorAll(".preStyle");items.forEach(e=>{e.rel="stylesheet"}),document.getElementById("mode").addEventListener("click",()=>{document.documentElement.classList.toggle("light"),localStorage.setItem("theme",document.documentElement.classList.contains("light")?"light":"dark")}),window.onload=function(){document.getElementById("searchinput").onclick=function(){var e=document.querySelector("meta[name='base']").getAttribute("content"),t=("/"==e.slice(-1)&&(e=e.slice(0,-1)),document.createElement("script"));t.src=e+"/search_bundle_stork.min.js?h=07a791ddc469ec9b7e93fa64a81899b6c12bb3143e8bd0d1aee0b6dacc885b7e",t.setAttribute("integrity","sha384-ePgzx2d0I+A6dkB+OTuOp13dsBEsL9f847ocaay/uDpwIyj0DUwOm7sEB01VpEiL"),t.setAttribute("type","module"),document.head.appendChild(t),document.getElementById("searchinput").onclick=""}},function(){for(var e=document.getElementsByClassName("m-protected"),t=0;t<e.length;t++){var n=e[t].getAttribute("href"),n=atob(n.substring(1));e[t].href="mailto:"+n}}(),function(){function t(e){const t=document.createElement("button"),n=(t.className="cc ",t.type="button",t.innerHTML="Copy",t.addEventListener("click",()=>async function(e,t){var n=t.querySelectorAll("table")["length"];let c="";if(0<n){const a=t.querySelectorAll(":last-child > tr > td:last-child");a.forEach(e=>{c+=e.innerText})}else c=t.querySelector(":last-child > code").innerText;try{"granted"==(result=await navigator.permissions.query({name:"clipboard-write"})).state||"prompt"==result.state?await navigator.clipboard.writeText(c):o(c,t)}catch(e){o(c,t)}finally{e.innerHTML="Copied",setTimeout(function(){e.innerHTML="Copy"},2e3)}}(t,e)),document.createElement("div"));n.className="ccw",n.appendChild(t),e.parentNode.insertBefore(n,e),n.appendChild(e)}function o(e,t){const n=document.createElement("textArea"),c=(n.contentEditable="true",n.readOnly="false",n.className="copyable-text-area",n.value=e,t.insertBefore(n,t.firstChild),document.createRange()),a=(c.selectNodeContents(n),window.getSelection());a.removeAllRanges(),a.addRange(c),n.setSelectionRange(0,999999),document.execCommand("copy"),t.removeChild(n)}document.querySelectorAll("pre").forEach(e=>t(e))}();
\ No newline at end of file diff --git a/static/abridge-bundle-tinysearch.min.js b/static/abridge-bundle-tinysearch.min.js deleted file mode 100644 index 2b3cbc9..0000000 --- a/static/abridge-bundle-tinysearch.min.js +++ /dev/null @@ -1 +0,0 @@ -const items=document.querySelectorAll(".preStyle");items.forEach(e=>{e.rel="stylesheet"}),document.getElementById("mode").addEventListener("click",()=>{document.documentElement.classList.toggle("light"),localStorage.setItem("theme",document.documentElement.classList.contains("light")?"light":"dark")}),window.onload=function(){document.getElementById("searchinput").onclick=function(){var e=document.querySelector("meta[name='base']").getAttribute("content"),t=("/"==e.slice(-1)&&(e=e.slice(0,-1)),document.createElement("script"));t.src=e+"/search_bundle_tinysearch.min.js?h=1532d7e7d8292eec3ae8364d3d76029049533141d0674e4a02b1a17986e5f8ef",t.setAttribute("integrity","sha384-POHXtCCwUbHtLT1Hn4+cEysiGJyU7RbnIQKfucRPc9gAquQsFc6j4Zca1HoWo+GS"),t.setAttribute("type","module"),document.head.appendChild(t),document.getElementById("searchinput").onclick=""}},function(){for(var e=document.getElementsByClassName("m-protected"),t=0;t<e.length;t++){var n=e[t].getAttribute("href"),n=atob(n.substring(1));e[t].href="mailto:"+n}}(),function(){function t(e){const t=document.createElement("button"),n=(t.className="cc ",t.type="button",t.innerHTML="Copy",t.addEventListener("click",()=>async function(e,t){var n=t.querySelectorAll("table")["length"];let c="";if(0<n){const o=t.querySelectorAll(":last-child > tr > td:last-child");o.forEach(e=>{c+=e.innerText})}else c=t.querySelector(":last-child > code").innerText;try{"granted"==(result=await navigator.permissions.query({name:"clipboard-write"})).state||"prompt"==result.state?await navigator.clipboard.writeText(c):a(c,t)}catch(e){a(c,t)}finally{e.innerHTML="Copied",setTimeout(function(){e.innerHTML="Copy"},2e3)}}(t,e)),document.createElement("div"));n.className="ccw",n.appendChild(t),e.parentNode.insertBefore(n,e),n.appendChild(e)}function a(e,t){const n=document.createElement("textArea"),c=(n.contentEditable="true",n.readOnly="false",n.className="copyable-text-area",n.value=e,t.insertBefore(n,t.firstChild),document.createRange()),o=(c.selectNodeContents(n),window.getSelection());o.removeAllRanges(),o.addRange(c),n.setSelectionRange(0,999999),document.execCommand("copy"),t.removeChild(n)}document.querySelectorAll("pre").forEach(e=>t(e))}();
\ No newline at end of file diff --git a/static/abridge-bundle.min.js b/static/abridge-bundle.min.js deleted file mode 100644 index 56caa44..0000000 --- a/static/abridge-bundle.min.js +++ /dev/null @@ -1 +0,0 @@ -const items=document.querySelectorAll(".preStyle");items.forEach(e=>{e.rel="stylesheet"}),document.getElementById("mode").addEventListener("click",()=>{document.documentElement.classList.toggle("light"),localStorage.setItem("theme",document.documentElement.classList.contains("light")?"light":"dark")}),window.onload=function(){document.getElementById("searchinput").onclick=function(){var e=document.querySelector("meta[name='base']").getAttribute("content"),t=("/"==e.slice(-1)&&(e=e.slice(0,-1)),document.createElement("script"));t.src=e+"/search_bundle.min.js?h=a5da49e60765868acc42bc230eda18acb050d762201feab3275bd8bf8b87b4e6",t.setAttribute("integrity","sha384-CoyxM6A7vQBhuCq0adbhanggafzE/H35VciKh5wTASR4wKO76duaSRzF0+QEsq8b"),document.head.appendChild(t),document.getElementById("searchinput").onclick=""}},function(){for(var e=document.getElementsByClassName("m-protected"),t=0;t<e.length;t++){var n=e[t].getAttribute("href"),n=atob(n.substring(1));e[t].href="mailto:"+n}}(),function(){function t(e){const t=document.createElement("button"),n=(t.className="cc ",t.type="button",t.innerHTML="Copy",t.addEventListener("click",()=>async function(e,t){var n=t.querySelectorAll("table")["length"];let c="";if(0<n){const a=t.querySelectorAll(":last-child > tr > td:last-child");a.forEach(e=>{c+=e.innerText})}else c=t.querySelector(":last-child > code").innerText;try{"granted"==(result=await navigator.permissions.query({name:"clipboard-write"})).state||"prompt"==result.state?await navigator.clipboard.writeText(c):o(c,t)}catch(e){o(c,t)}finally{e.innerHTML="Copied",setTimeout(function(){e.innerHTML="Copy"},2e3)}}(t,e)),document.createElement("div"));n.className="ccw",n.appendChild(t),e.parentNode.insertBefore(n,e),n.appendChild(e)}function o(e,t){const n=document.createElement("textArea"),c=(n.contentEditable="true",n.readOnly="false",n.className="copyable-text-area",n.value=e,t.insertBefore(n,t.firstChild),document.createRange()),a=(c.selectNodeContents(n),window.getSelection());a.removeAllRanges(),a.addRange(c),n.setSelectionRange(0,999999),document.execCommand("copy"),t.removeChild(n)}document.querySelectorAll("pre").forEach(e=>t(e))}();
\ No newline at end of file diff --git a/static/abridge-searchonly.min.js b/static/abridge-searchonly.min.js deleted file mode 100644 index 6f79f1b..0000000 --- a/static/abridge-searchonly.min.js +++ /dev/null @@ -1 +0,0 @@ -function closeSearchNow(){const e=document.querySelector("main");e.innerHTML=window.main}function goSearchNow(){const e=document.querySelector("main");window.main||(window.main=e.innerHTML);var t=document.getElementById("suggestions"),n=t.cloneNode(!0),o=(n.id="results",document.createElement("div")),i='<form name="closeSearch"><h2><button type="submit" title="Close Search"><i class="svgs x"></i></button> Results For: '.concat(document.getElementById("searchinput").value,"</h2></form>");return o.innerHTML=i,n.insertBefore(o,n.firstChild),e.innerHTML=n.outerHTML,t.innerHTML="",document.getElementById("searchinput").value="",document.body.contains(document.closeSearch)&&(document.closeSearch.onsubmit=function(){closeSearchNow()}),!1}!function(){function m(e){var t=new m.Index;return t.pipeline.add(m.trimmer,m.stopWordFilter,m.stemmer),e&&e.call(t,t),t}var l,c,e,t,d,h,f,p,g,y,v,S,x,w,b,I,E,D,F,C,_,k,N,L,n;m.version="0.9.5",((lunr=m).utils={}).warn=(n=this,function(e){n.console&&console.warn&&console.warn(e)}),m.utils.toString=function(e){return null==e?"":e.toString()},(m.EventEmitter=function(){this.events={}}).prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop();if("function"!=typeof t)throw new TypeError("last argument must be a function");e.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},m.EventEmitter.prototype.removeListener=function(e,t){this.hasHandler(e)&&-1!==(t=this.events[e].indexOf(t))&&(this.events[e].splice(t,1),0==this.events[e].length&&delete this.events[e])},m.EventEmitter.prototype.emit=function(e){var t;this.hasHandler(e)&&(t=Array.prototype.slice.call(arguments,1),this.events[e].forEach(function(e){e.apply(void 0,t)},this))},m.EventEmitter.prototype.hasHandler=function(e){return e in this.events},(m.tokenizer=function(e){return arguments.length&&null!=e?Array.isArray(e)?(t=(t=e.filter(function(e){return null!=e})).map(function(e){return m.utils.toString(e).toLowerCase()}),n=[],t.forEach(function(e){e=e.split(m.tokenizer.seperator);n=n.concat(e)},this),n):e.toString().trim().toLowerCase().split(m.tokenizer.seperator):[];var t,n}).defaultSeperator=/[\s\-]+/,m.tokenizer.seperator=m.tokenizer.defaultSeperator,m.tokenizer.setSeperator=function(e){null!=e&&"object"==typeof e&&(m.tokenizer.seperator=e)},m.tokenizer.resetSeperator=function(){m.tokenizer.seperator=m.tokenizer.defaultSeperator},m.tokenizer.getSeperator=function(){return m.tokenizer.seperator},(m.Pipeline=function(){this._queue=[]}).registeredFunctions={},m.Pipeline.registerFunction=function(e,t){t in m.Pipeline.registeredFunctions&&m.utils.warn("Overwriting existing registered function: "+t),e.label=t,m.Pipeline.registeredFunctions[t]=e},m.Pipeline.getRegisteredFunction=function(e){return e in m.Pipeline.registeredFunctions!=1?null:m.Pipeline.registeredFunctions[e]},m.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||m.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},m.Pipeline.load=function(e){var n=new m.Pipeline;return e.forEach(function(e){var t=m.Pipeline.getRegisteredFunction(e);if(!t)throw new Error("Cannot load un-registered function: "+e);n.add(t)}),n},m.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach(function(e){m.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},m.Pipeline.prototype.after=function(e,t){m.Pipeline.warnIfFunctionNotRegistered(t);e=this._queue.indexOf(e);if(-1===e)throw new Error("Cannot find existingFn");this._queue.splice(e+1,0,t)},m.Pipeline.prototype.before=function(e,t){m.Pipeline.warnIfFunctionNotRegistered(t);e=this._queue.indexOf(e);if(-1===e)throw new Error("Cannot find existingFn");this._queue.splice(e,0,t)},m.Pipeline.prototype.remove=function(e){e=this._queue.indexOf(e);-1!==e&&this._queue.splice(e,1)},m.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,o=this._queue.length,i=0;i<n;i++){for(var r=e[i],s=0;s<o&&null!=(r=this._queue[s](r,i,e));s++);null!=r&&t.push(r)}return t},m.Pipeline.prototype.reset=function(){this._queue=[]},m.Pipeline.prototype.get=function(){return this._queue},m.Pipeline.prototype.toJSON=function(){return this._queue.map(function(e){return m.Pipeline.warnIfFunctionNotRegistered(e),e.label})},(m.Index=function(){this._fields=[],this._ref="id",this.pipeline=new m.Pipeline,this.documentStore=new m.DocumentStore,this.index={},this.eventEmitter=new m.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))}).prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},m.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},m.Index.load=function(e){e.version!==m.version&&m.utils.warn("version mismatch: current "+m.version+" importing "+e.version);var t,n=new this;for(t in n._fields=e.fields,n._ref=e.ref,n.documentStore=m.DocumentStore.load(e.documentStore),n.pipeline=m.Pipeline.load(e.pipeline),n.index={},e.index)n.index[t]=m.InvertedIndex.load(e.index[t]);return n},m.Index.prototype.addField=function(e){return this._fields.push(e),this.index[e]=new m.InvertedIndex,this},m.Index.prototype.setRef=function(e){return this._ref=e,this},m.Index.prototype.saveDocument=function(e){return this.documentStore=new m.DocumentStore(e),this},m.Index.prototype.addDoc=function(r,e){var s;r&&(e=void 0===e||e,s=r[this._ref],this.documentStore.addDoc(s,r),this._fields.forEach(function(e){var t,n=this.pipeline.run(m.tokenizer(r[e])),o=(this.documentStore.addFieldLength(s,e,n.length),{});for(t in n.forEach(function(e){e in o?o[e]+=1:o[e]=1},this),o){var i=o[t],i=Math.sqrt(i);this.index[e].addToken(t,{ref:s,tf:i})}},this),e&&this.eventEmitter.emit("add",r,this))},m.Index.prototype.removeDocByRef=function(e){e&&!1!==this.documentStore.isDocStored()&&this.documentStore.hasDoc(e)&&(e=this.documentStore.getDoc(e),this.removeDoc(e,!1))},m.Index.prototype.removeDoc=function(e,t){var n;e&&(t=void 0===t||t,n=e[this._ref],this.documentStore.hasDoc(n)&&(this.documentStore.removeDoc(n),this._fields.forEach(function(t){this.pipeline.run(m.tokenizer(e[t])).forEach(function(e){this.index[t].removeToken(e,n)},this)},this),t&&this.eventEmitter.emit("remove",e,this)))},m.Index.prototype.updateDoc=function(e,t){t=void 0===t||t;this.removeDocByRef(e[this._ref],!1),this.addDoc(e,!1),t&&this.eventEmitter.emit("update",e,this)},m.Index.prototype.idf=function(e,t){var n="@"+t+"/"+e;if(Object.prototype.hasOwnProperty.call(this._idfCache,n))return this._idfCache[n];t=this.index[t].getDocFreq(e),e=1+Math.log(this.documentStore.length/(t+1));return this._idfCache[n]=e},m.Index.prototype.getFields=function(){return this._fields.slice()},m.Index.prototype.search=function(e,t){if(!e)return[];e="string"==typeof e?{any:e}:JSON.parse(JSON.stringify(e));var n=null;null!=t&&(n=JSON.stringify(t));for(var o=new m.Configuration(n,this.getFields()).get(),i={},r=Object.keys(e),s=0;s<r.length;s++){var u=r[s];i[u]=this.pipeline.run(m.tokenizer(e[u]))}var a,l={};for(a in o){var c=i[a]||i.any;if(c){var d=this.fieldSearch(c,a,o),h=o[a].boost;for(p in d)d[p]=d[p]*h;for(p in d)p in l?l[p]+=d[p]:l[p]=d[p]}}var f,p,g=[];for(p in l)f={ref:p,score:l[p]},this.documentStore.hasDoc(p)&&(f.doc=this.documentStore.getDoc(p)),g.push(f);return g.sort(function(e,t){return t.score-e.score}),g},m.Index.prototype.fieldSearch=function(e,d,t){var h=t[d].bool,n=t[d].expand,t=t[d].boost,f=null,p={};return 0!==t?(e.forEach(function(l){var e=[l],c=(1==n&&(e=this.index[d].expandToken(l)),{});e.forEach(function(e){var t=this.index[d].getDocs(e),n=this.idf(e,d);if(f&&"AND"==h){var o,i={};for(o in f)o in t&&(i[o]=t[o]);t=i}for(o in e==l&&this.fieldSearchStats(p,e,t),t){var r=this.index[d].getTermFrequency(e,o),s=this.documentStore.getFieldLength(o,d),u=1,a=1,r=r*n*(u=0!=s?1/Math.sqrt(s):u)*(a=e!=l?.15*(1-(e.length-l.length)/e.length):a);o in c?c[o]+=r:c[o]=r}},this),f=this.mergeScores(f,c,h)},this),f=this.coordNorm(f,p,e.length)):void 0},m.Index.prototype.mergeScores=function(e,t,n){if(!e)return t;if("AND"==n){var o={};for(i in t)i in e&&(o[i]=e[i]+t[i]);return o}for(var i in t)i in e?e[i]+=t[i]:e[i]=t[i];return e},m.Index.prototype.fieldSearchStats=function(e,t,n){for(var o in n)o in e?e[o].push(t):e[o]=[t]},m.Index.prototype.coordNorm=function(e,t,n){for(var o in e){var i;o in t&&(i=t[o].length,e[o]=e[o]*i/n)}return e},m.Index.prototype.toJSON=function(){var t={};return this._fields.forEach(function(e){t[e]=this.index[e].toJSON()},this),{version:m.version,fields:this._fields,ref:this._ref,documentStore:this.documentStore.toJSON(),index:t,pipeline:this.pipeline.toJSON()}},m.Index.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},(m.DocumentStore=function(e){this._save=null==e||e,this.docs={},this.docInfo={},this.length=0}).load=function(e){var t=new this;return t.length=e.length,t.docs=e.docs,t.docInfo=e.docInfo,t._save=e.save,t},m.DocumentStore.prototype.isDocStored=function(){return this._save},m.DocumentStore.prototype.addDoc=function(e,t){this.hasDoc(e)||this.length++,this.docs[e]=!0===this._save?function(e){if(null===e||"object"!=typeof e)return e;var t,n=e.constructor();for(t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}(t):null},m.DocumentStore.prototype.getDoc=function(e){return!1===this.hasDoc(e)?null:this.docs[e]},m.DocumentStore.prototype.hasDoc=function(e){return e in this.docs},m.DocumentStore.prototype.removeDoc=function(e){this.hasDoc(e)&&(delete this.docs[e],delete this.docInfo[e],this.length--)},m.DocumentStore.prototype.addFieldLength=function(e,t,n){null!=e&&0!=this.hasDoc(e)&&(this.docInfo[e]||(this.docInfo[e]={}),this.docInfo[e][t]=n)},m.DocumentStore.prototype.updateFieldLength=function(e,t,n){null!=e&&0!=this.hasDoc(e)&&this.addFieldLength(e,t,n)},m.DocumentStore.prototype.getFieldLength=function(e,t){return null!=e&&e in this.docs&&t in this.docInfo[e]?this.docInfo[e][t]:0},m.DocumentStore.prototype.toJSON=function(){return{docs:this.docs,docInfo:this.docInfo,length:this.length,save:this._save}},l={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},c={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},e="[aeiouy]",t="[^aeiou][^aeiouy]*",d=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),h=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),f=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*([aeiouy][aeiou]*)?$"),p=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy]"),g=/^(.+?)(ss|i)es$/,y=/^(.+?)([^s])s$/,v=/^(.+?)eed$/,S=/^(.+?)(ed|ing)$/,x=/.$/,w=/(at|bl|iz)$/,b=new RegExp("([^aeiouylsz])\\1$"),I=new RegExp("^"+t+e+"[^aeiouwxy]$"),E=/^(.+?[^aeiou])y$/,D=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,F=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,C=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,_=/^(.+?)(s|t)(ion)$/,k=/^(.+?)e$/,N=/ll$/,L=new RegExp("^"+t+e+"[^aeiouwxy]$"),m.Pipeline.registerFunction(m.stemmer=function(e){var t,n,o,i,r,s,u,a;return e.length<3?e:("y"==(n=e.substr(0,1))&&(e=n.toUpperCase()+e.substr(1)),u=y,(r=g).test(e)?e=e.replace(r,"$1$2"):u.test(e)&&(e=e.replace(u,"$1$2")),u=S,(r=v).test(e)?(a=r.exec(e),(r=d).test(a[1])&&(e=e.replace(r=x,""))):u.test(e)&&(s=(a=u.exec(e))[1],(u=p).test(s)&&(e=s,o=b,i=I,(u=w).test(e)?e+="e":o.test(e)?e=e.replace(r=x,""):i.test(e)&&(e+="e"))),(r=E).test(e)&&(e=(s=(a=r.exec(e))[1])+"i"),(r=D).test(e)&&(s=(a=r.exec(e))[1],t=a[2],(r=d).test(s)&&(e=s+l[t])),(r=F).test(e)&&(s=(a=r.exec(e))[1],t=a[2],(r=d).test(s)&&(e=s+c[t])),u=_,(r=C).test(e)?(s=(a=r.exec(e))[1],(r=h).test(s)&&(e=s)):u.test(e)&&(s=(a=u.exec(e))[1]+a[2],(u=h).test(s)&&(e=s)),(r=k).test(e)&&(s=(a=r.exec(e))[1],u=f,o=L,((r=h).test(s)||u.test(s)&&!o.test(s))&&(e=s)),u=h,(r=N).test(e)&&u.test(e)&&(e=e.replace(r=x,"")),"y"==n?n.toLowerCase()+e.substr(1):e)},"stemmer"),m.stopWordFilter=function(e){return e&&!0!==m.stopWordFilter.stopWords[e]?e:void 0},m.clearStopWords=function(){m.stopWordFilter.stopWords={}},m.addStopWords=function(e){null!=e&&!1!==Array.isArray(e)&&e.forEach(function(e){m.stopWordFilter.stopWords[e]=!0},this)},m.resetStopWords=function(){m.stopWordFilter.stopWords=m.defaultStopWords},m.stopWordFilter.stopWords=m.defaultStopWords={"":!0,a:!0,able:!0,about:!0,across:!0,after:!0,all:!0,almost:!0,also:!0,am:!0,among:!0,an:!0,and:!0,any:!0,are:!0,as:!0,at:!0,be:!0,because:!0,been:!0,but:!0,by:!0,can:!0,cannot:!0,could:!0,dear:!0,did:!0,do:!0,does:!0,either:!0,else:!0,ever:!0,every:!0,for:!0,from:!0,get:!0,got:!0,had:!0,has:!0,have:!0,he:!0,her:!0,hers:!0,him:!0,his:!0,how:!0,however:!0,i:!0,if:!0,in:!0,into:!0,is:!0,it:!0,its:!0,just:!0,least:!0,let:!0,like:!0,likely:!0,may:!0,me:!0,might:!0,most:!0,must:!0,my:!0,neither:!0,no:!0,nor:!0,not:!0,of:!0,off:!0,often:!0,on:!0,only:!0,or:!0,other:!0,our:!0,own:!0,rather:!0,said:!0,say:!0,says:!0,she:!0,should:!0,since:!0,so:!0,some:!0,than:!0,that:!0,the:!0,their:!0,them:!0,then:!0,there:!0,these:!0,they:!0,this:!0,tis:!0,to:!0,too:!0,twas:!0,us:!0,wants:!0,was:!0,we:!0,were:!0,what:!0,when:!0,where:!0,which:!0,while:!0,who:!0,whom:!0,why:!0,will:!0,with:!0,would:!0,yet:!0,you:!0,your:!0},m.Pipeline.registerFunction(m.stopWordFilter,"stopWordFilter"),m.Pipeline.registerFunction(m.trimmer=function(e){if(null==e)throw new Error("token should not be undefined");return e.replace(/^\W+/,"").replace(/\W+$/,"")},"trimmer"),(m.InvertedIndex=function(){this.root={docs:{},df:0}}).load=function(e){var t=new this;return t.root=e.root,t},m.InvertedIndex.prototype.addToken=function(e,t,n){for(var n=n||this.root,o=0;o<=e.length-1;){var i=e[o];i in n||(n[i]={docs:{},df:0}),o+=1,n=n[i]}var r=t.ref;n.docs[r]?n.docs[r]={tf:t.tf}:(n.docs[r]={tf:t.tf},n.df+=1)},m.InvertedIndex.prototype.hasToken=function(e){if(!e)return!1;for(var t=this.root,n=0;n<e.length;n++){if(!t[e[n]])return!1;t=t[e[n]]}return!0},m.InvertedIndex.prototype.getNode=function(e){if(!e)return null;for(var t=this.root,n=0;n<e.length;n++){if(!t[e[n]])return null;t=t[e[n]]}return t},m.InvertedIndex.prototype.getDocs=function(e){e=this.getNode(e);return null==e?{}:e.docs},m.InvertedIndex.prototype.getTermFrequency=function(e,t){e=this.getNode(e);return null!=e&&t in e.docs?e.docs[t].tf:0},m.InvertedIndex.prototype.getDocFreq=function(e){e=this.getNode(e);return null==e?0:e.df},m.InvertedIndex.prototype.removeToken=function(e,t){e&&null!=(e=this.getNode(e))&&t in e.docs&&(delete e.docs[t],--e.df)},m.InvertedIndex.prototype.expandToken=function(e,t,n){if(null==e||""==e)return[];var o,t=t||[];if(null==n&&null==(n=this.getNode(e)))return t;for(o in 0<n.df&&t.push(e),n)"docs"!==o&&"df"!==o&&this.expandToken(e+o,t,n[o]);return t},m.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},(m.Configuration=function(e,t){var n,e=e||"";if(null==t)throw new Error("fields should not be null");this.config={};try{n=JSON.parse(e),this.buildUserConfig(n,t)}catch(e){m.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(t)}}).prototype.buildDefaultConfig=function(e){this.reset(),e.forEach(function(e){this.config[e]={boost:1,bool:"OR",expand:!1}},this)},m.Configuration.prototype.buildUserConfig=function(e,t){var n,o,i="OR",r=!1;if(this.reset(),"bool"in e&&(i=e.bool||i),"expand"in e&&(r=e.expand||r),"fields"in e)for(var s in e.fields)-1<t.indexOf(s)?(o=r,null!=(n=e.fields[s]).expand&&(o=n.expand),this.config[s]={boost:n.boost||0===n.boost?n.boost:1,bool:n.bool||i,expand:o}):m.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(i,r,t)},m.Configuration.prototype.addAllFields2UserConfig=function(t,n,e){e.forEach(function(e){this.config[e]={boost:1,bool:t,expand:n}},this)},m.Configuration.prototype.get=function(){return this.config},m.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},lunr.SortedSet.prototype.add=function(){for(var e,t=0;t<arguments.length;t++)~this.indexOf(e=arguments[t])||this.elements.splice(this.locationFor(e),0,e);this.length=this.elements.length},lunr.SortedSet.prototype.toArray=function(){return this.elements.slice()},lunr.SortedSet.prototype.map=function(e,t){return this.elements.map(e,t)},lunr.SortedSet.prototype.forEach=function(e,t){return this.elements.forEach(e,t)},lunr.SortedSet.prototype.indexOf=function(e){for(var t=0,n=this.elements.length,o=n-t,i=t+Math.floor(o/2),r=this.elements[i];1<o;){if(r===e)return i;o=(n=e<r?i:n)-(t=r<e?i:t),i=t+Math.floor(o/2),r=this.elements[i]}return r===e?i:-1},lunr.SortedSet.prototype.locationFor=function(e){for(var t=0,n=this.elements.length,o=n-t,i=t+Math.floor(o/2),r=this.elements[i];1<o;)o=(n=e<r?i:n)-(t=r<e?i:t),i=t+Math.floor(o/2),r=this.elements[i];return e<r?i:r<e?i+1:void 0},lunr.SortedSet.prototype.intersect=function(e){for(var t=new lunr.SortedSet,n=0,o=0,i=this.length,r=e.length,s=this.elements,u=e.elements;!(i-1<n||r-1<o);)s[n]!==u[o]?s[n]<u[o]?n++:s[n]>u[o]&&o++:(t.add(s[n]),n++,o++);return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){for(var t,e=this.length>=e.length?(t=this,e):(t=e,this),n=t.clone(),o=0,i=e.toArray();o<i.length;o++)n.add(i[o]);return n},lunr.SortedSet.prototype.toJSON=function(){return this.toArray()},t=this,e=function(){return m},"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=m:t.elasticlunr=m}(),window.onload=function(){document.body.contains(document.goSearch)&&(document.goSearch.onsubmit=function(){return goSearchNow()})};var suggestions=document.getElementById("suggestions"),searchinput=document.getElementById("searchinput");function closeAllLists(e){for(var t=document.getElementById("suggestions");t.firstChild;)t.removeChild(t.firstChild)}function inputFocus(t){191===t.keyCode&&"INPUT"!==document.activeElement.tagName&&"TEXTAREA"!==document.activeElement.tagName&&(t.preventDefault(),searchinput.focus(),suggestions.classList.remove("d-none")),27===t.keyCode&&(searchinput.blur(),suggestions.classList.add("d-none"),closeAllLists());const n=suggestions.querySelectorAll("a");if(!suggestions.classList.contains("d-none")&&0!==n.length){const i=[...n];var o=i.indexOf(document.activeElement);let e=0;38===t.keyCode?(t.preventDefault(),e=0<o?o-1:0,n[e].focus()):40===t.keyCode&&(t.preventDefault(),e=o+1<i.length?o+1:o,n[e].focus())}}function substringByByte(e,t){for(var n="",o=!1,i=0,r=0,s=0,u=0;u<e.length;u++){var a=e.codePointAt(u).toString(16);if(o=4<a.length&&++u+1<e.length?"200d"==e.codePointAt(u+1).toString(16):o){if(i+=getByteByHex(a),u==e.length-1){if(!((r+=i)<=t))break;n+=e.substr(s,u-s+1)}}else if(0!=i){if(!((r=(r+=i)+getByteByHex(a))<=t))break;n+=e.substr(s,u-s+1),s=u+1,i=0}else{if(!((r+=getByteByHex(a))<=t))break;a.length<=4?n+=e[u]:n+=e[u-1]+e[u],s=u+1}}return n}function getByteByBinary(e){return[0,1,2,3,4][Math.ceil(e.length/8)]}function getByteByHex(e){return getByteByBinary(parseInt(e,16).toString(2))}document.addEventListener("keydown",inputFocus),document.addEventListener("click",function(e){suggestions.contains(e.target)||suggestions.classList.add("d-none")}),function(){var u=elasticlunr.Index.load(window.searchIndex);searchinput.addEventListener("input",function(){var n,e=this.value.trim(),o=u.search(e,{bool:"OR",fields:{title:{boost:2},body:{boost:1}}}),i=suggestions.childNodes,r=o.length,s=e.split(/\s+/);suggestions.classList.remove("d-none"),o.forEach(function(e){""!==e.doc.body&&((n=document.createElement("div")).innerHTML="<a href><span></span><span></span></a>",a=n.querySelector("a"),t=n.querySelector("span:first-child"),d=n.querySelector("span:nth-child(2)"),a.href=e.ref,t.textContent=e.doc.title,d.innerHTML=function(e,t){var n=t.map(function(e){return elasticlunr.stemmer(e.toLowerCase())}),o=!1,i=0,r=[],s=e.toLowerCase().split(". ");for(p in s){var u,a=s[p].split(/[\s\n]/),l=8;for(u in a){if(0<(x=a[u]).length){for(var c in n)elasticlunr.stemmer(x).startsWith(n[c])&&(l=40,o=!0);r.push([x,l,i]),l=2}i=i+x.length+1}i+=1}if(0===r.length)return void 0!==e.length&&300<e.length?e.substring(0,300)+"...":e;for(var d=[],h=Math.min(r.length,30),f=0,p=0;p<h;p++)f+=r[p][1];d.push(f);for(p=0;p<r.length-h;p++)f=(f-=r[p][1])+r[p+h][1],d.push(f);var g=0;if(o)for(var m=0,p=d.length-1;0<=p;p--)d[p]>m&&(m=d[p],g=p);for(var y=[],v=r[g][2],p=g;p<g+h;p++){var S,x=r[p];v<x[2]&&(y.push(e.substring(v,x[2])),v=x[2]),40===x[1]&&y.push("<b>"),v=x[2]+x[0].length;40!==x[1]&&12<=x[0].length&&!/^[\x00-\xff]+$/.test(x[0])?(S=substringByByte(e.substring(x[2],v),12),y.push(S)):y.push(e.substring(x[2],v)),40===x[1]&&y.push("</b>")}return y.push("…"),y.join("")}(e.doc.body,s),suggestions.appendChild(n))});for(;i.length>r;)suggestions.removeChild(i[0])},!0),suggestions.addEventListener("click",function(){for(;suggestions.lastChild;)suggestions.removeChild(suggestions.lastChild);return!1},!0),document.body.contains(document.goSearch)&&(document.goSearch.onsubmit=function(){return goSearchNow()})}();
\ No newline at end of file diff --git a/static/abridge.min.js b/static/abridge.min.js deleted file mode 100644 index 17c6ce2..0000000 --- a/static/abridge.min.js +++ /dev/null @@ -1 +0,0 @@ -const items=document.querySelectorAll(".preStyle");items.forEach(e=>{e.rel="stylesheet"}),window.onload=function(){document.getElementById("searchinput").onclick=function(){var e=document.querySelector("meta[name='base']").getAttribute("content"),t=("/"==e.slice(-1)&&(e=e.slice(0,-1)),document.createElement("script"));t.src=e+"/search_bundle.min.js?h=76e65002d7da460de8f632427edc6d7d78332c34253012931b71179995418c35",t.setAttribute("integrity","sha384-sFalNeH0DxM4NNZpgi1nVlggG/Q0VN3CcRufOgPOXLtpmfWbJFYQ7cVkFkBnLTsw"),document.head.appendChild(t),document.getElementById("searchinput").onclick=""}},function(){for(var e=document.getElementsByClassName("m-protected"),t=0;t<e.length;t++){var n=e[t].getAttribute("href"),n=atob(n.substring(1));e[t].href="mailto:"+n}}(),function(){function t(e){const t=document.createElement("button");t.className="cc ",t.type="button",t.innerHTML="Copy",t.addEventListener("click",()=>async function(e,t){var n=t.querySelectorAll("table")["length"];let c="";0<n?t.querySelectorAll(":last-child > tr > td:last-child").forEach(e=>{c+=e.innerText}):c=t.querySelector(":last-child > code").innerText;try{"granted"==(result=await navigator.permissions.query({name:"clipboard-write"})).state||"prompt"==result.state?await navigator.clipboard.writeText(c):a(c,t)}catch(e){a(c,t)}finally{e.innerHTML="Copied",setTimeout(function(){e.innerHTML="Copy"},2e3)}}(t,e));var n=document.createElement("div");n.className="ccw",n.appendChild(t),e.parentNode.insertBefore(n,e),n.appendChild(e)}function a(e,t){var n=document.createElement("textArea"),e=(n.contentEditable="true",n.readOnly="false",n.className="copyable-text-area",n.value=e,t.insertBefore(n,t.firstChild),document.createRange()),c=(e.selectNodeContents(n),window.getSelection());c.removeAllRanges(),c.addRange(e),n.setSelectionRange(0,999999),document.execCommand("copy"),t.removeChild(n)}document.querySelectorAll("pre").forEach(e=>t(e))}();
\ No newline at end of file diff --git a/static/android-chrome-192x192.png b/static/android-chrome-192x192.png Binary files differindex 4eba45e..3a075c3 100644 --- a/static/android-chrome-192x192.png +++ b/static/android-chrome-192x192.png diff --git a/static/android-chrome-192x192m.png b/static/android-chrome-192x192m.png Binary files differindex f7e37a2..f1e485d 100644 --- a/static/android-chrome-192x192m.png +++ b/static/android-chrome-192x192m.png diff --git a/static/android-chrome-512x512.png b/static/android-chrome-512x512.png Binary files differindex 371daf4..b671d86 100644 --- a/static/android-chrome-512x512.png +++ b/static/android-chrome-512x512.png diff --git a/static/apple-touch-icon.png b/static/apple-touch-icon.png Binary files differindex b872d32..2923e41 100644 --- a/static/apple-touch-icon.png +++ b/static/apple-touch-icon.png diff --git a/static/banner.png b/static/banner.png Binary files differindex 775bff2..a4a46d5 100644 --- a/static/banner.png +++ b/static/banner.png diff --git a/static/codecopy.js b/static/codecopy.js deleted file mode 100644 index c1f3a75..0000000 --- a/static/codecopy.js +++ /dev/null @@ -1,76 +0,0 @@ -// https://aaronluna.dev/blog/add-copy-button-to-code-blocks-hugo-chroma/ -// Further modified for Zola by Jieiku: https://github.com/Jieiku -(function() { - // create copy button - function ccb(highlightDiv) { - const button = document.createElement("button"); - button.className = "cc "; - button.type = "button"; - button.innerHTML = "Copy"; - button.addEventListener("click", () => - ccc(button, highlightDiv) - ); - - // addCopyButtonToDom - const wrapper = document.createElement("div"); - wrapper.className = "ccw"; - wrapper.appendChild(button); - highlightDiv.parentNode.insertBefore(wrapper, highlightDiv); - wrapper.appendChild(highlightDiv); - } - - // copy code clipboard - async function ccc(button, highlightDiv) { - //look for table, if so do it different - const { length } = highlightDiv.querySelectorAll("table"); - let codeToCopy = ""; - if (length > 0) { - const items = highlightDiv.querySelectorAll(":last-child > tr > td:last-child"); - items.forEach(item => { - codeToCopy = codeToCopy + item.innerText; - //console.log(codeToCopy); - }); - } else { - codeToCopy = highlightDiv.querySelector(":last-child > code").innerText; - } - try { - result = await navigator.permissions.query({ name: "clipboard-write" }); - if (result.state == "granted" || result.state == "prompt") { - await navigator.clipboard.writeText(codeToCopy); - } else { - cce(codeToCopy, highlightDiv);//copyCodeBlockExecCommand - } - } catch (_) { - cce(codeToCopy, highlightDiv);//copyCodeBlockExecCommand - } finally { - //codeWasCopied - //button.blur(); - button.innerHTML = "Copied"; - setTimeout(function () { - button.innerHTML = "Copy"; - }, 2000); - } - } - - //copyCodeBlockExecCommand - function cce(codeToCopy, highlightDiv) { - const textArea = document.createElement("textArea"); - textArea.contentEditable = "true"; - textArea.readOnly = "false"; - textArea.className = "copyable-text-area"; - textArea.value = codeToCopy; - highlightDiv.insertBefore(textArea, highlightDiv.firstChild); - const range = document.createRange(); - range.selectNodeContents(textArea); - const sel = window.getSelection(); - sel.removeAllRanges(); - sel.addRange(range); - textArea.setSelectionRange(0, 999999); - document.execCommand("copy"); - highlightDiv.removeChild(textArea); - } - - document - .querySelectorAll("pre") - .forEach((highlightDiv) => ccb(highlightDiv)); -})();
\ No newline at end of file diff --git a/static/favicon-32x32.png b/static/favicon-32x32.png Binary files differindex e68ac3c..df1736f 100644 --- a/static/favicon-32x32.png +++ b/static/favicon-32x32.png diff --git a/static/logo.svg b/static/favicon.svg index 02f7d64..02f7d64 100644 --- a/static/logo.svg +++ b/static/favicon.svg diff --git a/static/font/Lato-Bold.woff2 b/static/font/Lato-Bold.woff2 Binary files differdeleted file mode 100644 index 11de83f..0000000 --- a/static/font/Lato-Bold.woff2 +++ /dev/null diff --git a/static/font/Lato-Italic.woff2 b/static/font/Lato-Italic.woff2 Binary files differdeleted file mode 100644 index 851630f..0000000 --- a/static/font/Lato-Italic.woff2 +++ /dev/null diff --git a/static/font/Lato.woff2 b/static/font/Lato.woff2 Binary files differdeleted file mode 100644 index ff60934..0000000 --- a/static/font/Lato.woff2 +++ /dev/null diff --git a/static/font/Roboto-Mono-Italic.woff2 b/static/font/Roboto-Mono-Italic.woff2 Binary files differnew file mode 100644 index 0000000..ece53bd --- /dev/null +++ b/static/font/Roboto-Mono-Italic.woff2 diff --git a/static/font/Roboto-Mono.woff2 b/static/font/Roboto-Mono.woff2 Binary files differnew file mode 100644 index 0000000..f8894ba --- /dev/null +++ b/static/font/Roboto-Mono.woff2 diff --git a/static/js/abridge.min.js b/static/js/abridge.min.js new file mode 100644 index 0000000..4126e25 --- /dev/null +++ b/static/js/abridge.min.js @@ -0,0 +1 @@ +const items=document.querySelectorAll(".preStyle"),changeIcon=(items.forEach(e=>{e.rel="stylesheet"}),document.getElementById("mode")&&document.getElementById("mode").addEventListener("click",()=>{document.documentElement.classList.toggle("switch"),localStorage.setItem("theme",document.documentElement.classList.contains("switch")?"switch":"default")}),!function(){function g(e){var t=new g.Index;return t.pipeline.add(g.trimmer,g.stopWordFilter,g.stemmer),e&&e.call(t,t),t}var a,c,e,t,d,h,f,p,m,v,y,S,x,w,b,I,E,C,D,F,k,L,_,N,n;g.version="0.9.5",((lunr=g).utils={}).warn=(n=this,function(e){n.console&&console.warn&&console.warn(e)}),g.utils.toString=function(e){return null==e?"":e.toString()},(g.EventEmitter=function(){this.events={}}).prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop();if("function"!=typeof t)throw new TypeError("last argument must be a function");e.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},g.EventEmitter.prototype.removeListener=function(e,t){this.hasHandler(e)&&-1!==(t=this.events[e].indexOf(t))&&(this.events[e].splice(t,1),0==this.events[e].length)&&delete this.events[e]},g.EventEmitter.prototype.emit=function(e){var t;this.hasHandler(e)&&(t=Array.prototype.slice.call(arguments,1),this.events[e].forEach(function(e){e.apply(void 0,t)},this))},g.EventEmitter.prototype.hasHandler=function(e){return e in this.events},(g.tokenizer=function(e){var t,n;return arguments.length&&null!=e?Array.isArray(e)?(t=(t=e.filter(function(e){return null!=e})).map(function(e){return g.utils.toString(e).toLowerCase()}),n=[],t.forEach(function(e){e=e.split(g.tokenizer.seperator),n=n.concat(e)},this),n):e.toString().trim().toLowerCase().split(g.tokenizer.seperator):[]}).defaultSeperator=/[\s\-]+/,g.tokenizer.seperator=g.tokenizer.defaultSeperator,g.tokenizer.setSeperator=function(e){null!=e&&"object"==typeof e&&(g.tokenizer.seperator=e)},g.tokenizer.resetSeperator=function(){g.tokenizer.seperator=g.tokenizer.defaultSeperator},g.tokenizer.getSeperator=function(){return g.tokenizer.seperator},(g.Pipeline=function(){this._queue=[]}).registeredFunctions={},g.Pipeline.registerFunction=function(e,t){t in g.Pipeline.registeredFunctions&&g.utils.warn("Overwriting existing registered function: "+t),e.label=t,g.Pipeline.registeredFunctions[t]=e},g.Pipeline.getRegisteredFunction=function(e){return e in g.Pipeline.registeredFunctions!=1?null:g.Pipeline.registeredFunctions[e]},g.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||g.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},g.Pipeline.load=function(e){var n=new g.Pipeline;return e.forEach(function(e){var t=g.Pipeline.getRegisteredFunction(e);if(!t)throw new Error("Cannot load un-registered function: "+e);n.add(t)}),n},g.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach(function(e){g.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},g.Pipeline.prototype.after=function(e,t){if(g.Pipeline.warnIfFunctionNotRegistered(t),-1===(e=this._queue.indexOf(e)))throw new Error("Cannot find existingFn");this._queue.splice(e+1,0,t)},g.Pipeline.prototype.before=function(e,t){if(g.Pipeline.warnIfFunctionNotRegistered(t),-1===(e=this._queue.indexOf(e)))throw new Error("Cannot find existingFn");this._queue.splice(e,0,t)},g.Pipeline.prototype.remove=function(e){-1!==(e=this._queue.indexOf(e))&&this._queue.splice(e,1)},g.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,o=this._queue.length,i=0;i<n;i++){for(var r=e[i],s=0;s<o&&null!=(r=this._queue[s](r,i,e));s++);null!=r&&t.push(r)}return t},g.Pipeline.prototype.reset=function(){this._queue=[]},g.Pipeline.prototype.get=function(){return this._queue},g.Pipeline.prototype.toJSON=function(){return this._queue.map(function(e){return g.Pipeline.warnIfFunctionNotRegistered(e),e.label})},(g.Index=function(){this._fields=[],this._ref="id",this.pipeline=new g.Pipeline,this.documentStore=new g.DocumentStore,this.index={},this.eventEmitter=new g.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))}).prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},g.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},g.Index.load=function(e){e.version!==g.version&&g.utils.warn("version mismatch: current "+g.version+" importing "+e.version);var t,n=new this;for(t in n._fields=e.fields,n._ref=e.ref,n.documentStore=g.DocumentStore.load(e.documentStore),n.pipeline=g.Pipeline.load(e.pipeline),n.index={},e.index)n.index[t]=g.InvertedIndex.load(e.index[t]);return n},g.Index.prototype.addField=function(e){return this._fields.push(e),this.index[e]=new g.InvertedIndex,this},g.Index.prototype.setRef=function(e){return this._ref=e,this},g.Index.prototype.saveDocument=function(e){return this.documentStore=new g.DocumentStore(e),this},g.Index.prototype.addDoc=function(r,e){var s;r&&(e=void 0===e||e,s=r[this._ref],this.documentStore.addDoc(s,r),this._fields.forEach(function(e){var t,n=this.pipeline.run(g.tokenizer(r[e])),o=(this.documentStore.addFieldLength(s,e,n.length),{});for(t in n.forEach(function(e){e in o?o[e]+=1:o[e]=1},this),o){var i=o[t],i=Math.sqrt(i);this.index[e].addToken(t,{ref:s,tf:i})}},this),e)&&this.eventEmitter.emit("add",r,this)},g.Index.prototype.removeDocByRef=function(e){e&&!1!==this.documentStore.isDocStored()&&this.documentStore.hasDoc(e)&&(e=this.documentStore.getDoc(e),this.removeDoc(e,!1))},g.Index.prototype.removeDoc=function(e,t){var n;e&&(t=void 0===t||t,n=e[this._ref],this.documentStore.hasDoc(n))&&(this.documentStore.removeDoc(n),this._fields.forEach(function(t){this.pipeline.run(g.tokenizer(e[t])).forEach(function(e){this.index[t].removeToken(e,n)},this)},this),t)&&this.eventEmitter.emit("remove",e,this)},g.Index.prototype.updateDoc=function(e,t){t=void 0===t||t,this.removeDocByRef(e[this._ref],!1),this.addDoc(e,!1),t&&this.eventEmitter.emit("update",e,this)},g.Index.prototype.idf=function(e,t){var n="@"+t+"/"+e;return Object.prototype.hasOwnProperty.call(this._idfCache,n)?this._idfCache[n]:(t=this.index[t].getDocFreq(e),e=1+Math.log(this.documentStore.length/(t+1)),this._idfCache[n]=e)},g.Index.prototype.getFields=function(){return this._fields.slice()},g.Index.prototype.search=function(e,t){if(!e)return[];e="string"==typeof e?{any:e}:JSON.parse(JSON.stringify(e));var n=null;null!=t&&(n=JSON.stringify(t));for(var o=new g.Configuration(n,this.getFields()).get(),i={},r=Object.keys(e),s=0;s<r.length;s++){var u=r[s];i[u]=this.pipeline.run(g.tokenizer(e[u]))}var l,a={};for(l in o){var c=i[l]||i.any;if(c){var d=this.fieldSearch(c,l,o),h=o[l].boost;for(p in d)d[p]=d[p]*h;for(p in d)p in a?a[p]+=d[p]:a[p]=d[p]}}var f,p,m=[];for(p in a)f={ref:p,score:a[p]},this.documentStore.hasDoc(p)&&(f.doc=this.documentStore.getDoc(p)),m.push(f);return m.sort(function(e,t){return t.score-e.score}),m},g.Index.prototype.fieldSearch=function(e,a,t){var c=t[a].bool,n=t[a].expand,t=t[a].boost,d=null,h={};return 0!==t?(e.forEach(function(u){var e=[u],l=(1==n&&(e=this.index[a].expandToken(u)),{});e.forEach(function(e){var t=this.index[a].getDocs(e),n=this.idf(e,a);if(d&&"AND"==c){var o,i={};for(o in d)o in t&&(i[o]=t[o]);t=i}for(o in e==u&&this.fieldSearchStats(h,e,t),t){var r=this.index[a].getTermFrequency(e,o),s=this.documentStore.getFieldLength(o,a),r=r*n*(0!=s?1/Math.sqrt(s):1)*(e!=u?.15*(1-(e.length-u.length)/e.length):1);o in l?l[o]+=r:l[o]=r}},this),d=this.mergeScores(d,l,c)},this),d=this.coordNorm(d,h,e.length)):void 0},g.Index.prototype.mergeScores=function(e,t,n){if(!e)return t;if("AND"==n){var o={};for(i in t)i in e&&(o[i]=e[i]+t[i]);return o}for(var i in t)i in e?e[i]+=t[i]:e[i]=t[i];return e},g.Index.prototype.fieldSearchStats=function(e,t,n){for(var o in n)o in e?e[o].push(t):e[o]=[t]},g.Index.prototype.coordNorm=function(e,t,n){for(var o in e){var i;o in t&&(i=t[o].length,e[o]=e[o]*i/n)}return e},g.Index.prototype.toJSON=function(){var t={};return this._fields.forEach(function(e){t[e]=this.index[e].toJSON()},this),{version:g.version,fields:this._fields,ref:this._ref,documentStore:this.documentStore.toJSON(),index:t,pipeline:this.pipeline.toJSON()}},g.Index.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},(g.DocumentStore=function(e){this._save=null==e||e,this.docs={},this.docInfo={},this.length=0}).load=function(e){var t=new this;return t.length=e.length,t.docs=e.docs,t.docInfo=e.docInfo,t._save=e.save,t},g.DocumentStore.prototype.isDocStored=function(){return this._save},g.DocumentStore.prototype.addDoc=function(e,t){this.hasDoc(e)||this.length++,this.docs[e]=!0===this._save?function(e){if(null===e||"object"!=typeof e)return e;var t,n=e.constructor();for(t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}(t):null},g.DocumentStore.prototype.getDoc=function(e){return!1===this.hasDoc(e)?null:this.docs[e]},g.DocumentStore.prototype.hasDoc=function(e){return e in this.docs},g.DocumentStore.prototype.removeDoc=function(e){this.hasDoc(e)&&(delete this.docs[e],delete this.docInfo[e],this.length--)},g.DocumentStore.prototype.addFieldLength=function(e,t,n){null!=e&&0!=this.hasDoc(e)&&(this.docInfo[e]||(this.docInfo[e]={}),this.docInfo[e][t]=n)},g.DocumentStore.prototype.updateFieldLength=function(e,t,n){null!=e&&0!=this.hasDoc(e)&&this.addFieldLength(e,t,n)},g.DocumentStore.prototype.getFieldLength=function(e,t){return null!=e&&e in this.docs&&t in this.docInfo[e]?this.docInfo[e][t]:0},g.DocumentStore.prototype.toJSON=function(){return{docs:this.docs,docInfo:this.docInfo,length:this.length,save:this._save}},a={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},c={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},e="[aeiouy]",t="[^aeiou][^aeiouy]*",d=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),h=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),f=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*([aeiouy][aeiou]*)?$"),p=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy]"),m=/^(.+?)(ss|i)es$/,v=/^(.+?)([^s])s$/,y=/^(.+?)eed$/,S=/^(.+?)(ed|ing)$/,x=/.$/,w=/(at|bl|iz)$/,b=new RegExp("([^aeiouylsz])\\1$"),I=new RegExp("^"+t+e+"[^aeiouwxy]$"),E=/^(.+?[^aeiou])y$/,C=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,D=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,F=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,k=/^(.+?)(s|t)(ion)$/,L=/^(.+?)e$/,_=/ll$/,N=new RegExp("^"+t+e+"[^aeiouwxy]$"),g.Pipeline.registerFunction(g.stemmer=function(e){var t,n,o,i,r,s,u,l;return e.length<3||("y"==(n=e.substr(0,1))&&(e=n.toUpperCase()+e.substr(1)),u=v,(r=m).test(e)?e=e.replace(r,"$1$2"):u.test(e)&&(e=e.replace(u,"$1$2")),u=S,(r=y).test(e)?(l=r.exec(e),(r=d).test(l[1])&&(e=e.replace(r=x,""))):u.test(e)&&(s=(l=u.exec(e))[1],(u=p).test(s))&&(e=s,o=b,i=I,(u=w).test(e)?e+="e":o.test(e)?e=e.replace(r=x,""):i.test(e)&&(e+="e")),(r=E).test(e)&&(e=(s=(l=r.exec(e))[1])+"i"),(r=C).test(e)&&(s=(l=r.exec(e))[1],t=l[2],(r=d).test(s))&&(e=s+a[t]),(r=D).test(e)&&(s=(l=r.exec(e))[1],t=l[2],(r=d).test(s))&&(e=s+c[t]),u=k,(r=F).test(e)?(s=(l=r.exec(e))[1],(r=h).test(s)&&(e=s)):u.test(e)&&(s=(l=u.exec(e))[1]+l[2],(u=h).test(s))&&(e=s),(r=L).test(e)&&(s=(l=r.exec(e))[1],u=f,o=N,(r=h).test(s)||u.test(s)&&!o.test(s))&&(e=s),u=h,(r=_).test(e)&&u.test(e)&&(e=e.replace(r=x,"")),"y"==n&&(e=n.toLowerCase()+e.substr(1))),e},"stemmer"),g.stopWordFilter=function(e){return e&&!0!==g.stopWordFilter.stopWords[e]?e:void 0},g.clearStopWords=function(){g.stopWordFilter.stopWords={}},g.addStopWords=function(e){null!=e&&!1!==Array.isArray(e)&&e.forEach(function(e){g.stopWordFilter.stopWords[e]=!0},this)},g.resetStopWords=function(){g.stopWordFilter.stopWords=g.defaultStopWords},g.stopWordFilter.stopWords=g.defaultStopWords={"":!0,a:!0,able:!0,about:!0,across:!0,after:!0,all:!0,almost:!0,also:!0,am:!0,among:!0,an:!0,and:!0,any:!0,are:!0,as:!0,at:!0,be:!0,because:!0,been:!0,but:!0,by:!0,can:!0,cannot:!0,could:!0,dear:!0,did:!0,do:!0,does:!0,either:!0,else:!0,ever:!0,every:!0,for:!0,from:!0,get:!0,got:!0,had:!0,has:!0,have:!0,he:!0,her:!0,hers:!0,him:!0,his:!0,how:!0,however:!0,i:!0,if:!0,in:!0,into:!0,is:!0,it:!0,its:!0,just:!0,least:!0,let:!0,like:!0,likely:!0,may:!0,me:!0,might:!0,most:!0,must:!0,my:!0,neither:!0,no:!0,nor:!0,not:!0,of:!0,off:!0,often:!0,on:!0,only:!0,or:!0,other:!0,our:!0,own:!0,rather:!0,said:!0,say:!0,says:!0,she:!0,should:!0,since:!0,so:!0,some:!0,than:!0,that:!0,the:!0,their:!0,them:!0,then:!0,there:!0,these:!0,they:!0,this:!0,tis:!0,to:!0,too:!0,twas:!0,us:!0,wants:!0,was:!0,we:!0,were:!0,what:!0,when:!0,where:!0,which:!0,while:!0,who:!0,whom:!0,why:!0,will:!0,with:!0,would:!0,yet:!0,you:!0,your:!0},g.Pipeline.registerFunction(g.stopWordFilter,"stopWordFilter"),g.Pipeline.registerFunction(g.trimmer=function(e){if(null==e)throw new Error("token should not be undefined");return e.replace(/^\W+/,"").replace(/\W+$/,"")},"trimmer"),(g.InvertedIndex=function(){this.root={docs:{},df:0}}).load=function(e){var t=new this;return t.root=e.root,t},g.InvertedIndex.prototype.addToken=function(e,t,n){for(var n=n||this.root,o=0;o<=e.length-1;){var i=e[o];i in n||(n[i]={docs:{},df:0}),o+=1,n=n[i]}var r=t.ref;n.docs[r]?n.docs[r]={tf:t.tf}:(n.docs[r]={tf:t.tf},n.df+=1)},g.InvertedIndex.prototype.hasToken=function(e){if(!e)return!1;for(var t=this.root,n=0;n<e.length;n++){if(!t[e[n]])return!1;t=t[e[n]]}return!0},g.InvertedIndex.prototype.getNode=function(e){if(!e)return null;for(var t=this.root,n=0;n<e.length;n++){if(!t[e[n]])return null;t=t[e[n]]}return t},g.InvertedIndex.prototype.getDocs=function(e){return null==(e=this.getNode(e))?{}:e.docs},g.InvertedIndex.prototype.getTermFrequency=function(e,t){return null!=(e=this.getNode(e))&&t in e.docs?e.docs[t].tf:0},g.InvertedIndex.prototype.getDocFreq=function(e){return null==(e=this.getNode(e))?0:e.df},g.InvertedIndex.prototype.removeToken=function(e,t){e&&null!=(e=this.getNode(e))&&t in e.docs&&(delete e.docs[t],--e.df)},g.InvertedIndex.prototype.expandToken=function(e,t,n){if(null==e||""==e)return[];if(t=t||[],null!=n||null!=(n=this.getNode(e)))for(var o in 0<n.df&&t.push(e),n)"docs"!==o&&"df"!==o&&this.expandToken(e+o,t,n[o]);return t},g.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},(g.Configuration=function(e,t){var n,e=e||"";if(null==t)throw new Error("fields should not be null");this.config={};try{n=JSON.parse(e),this.buildUserConfig(n,t)}catch(e){g.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(t)}}).prototype.buildDefaultConfig=function(e){this.reset(),e.forEach(function(e){this.config[e]={boost:1,bool:"OR",expand:!1}},this)},g.Configuration.prototype.buildUserConfig=function(e,t){var n,o,i="OR",r=!1;if(this.reset(),"bool"in e&&(i=e.bool||i),"expand"in e&&(r=e.expand||r),"fields"in e)for(var s in e.fields)-1<t.indexOf(s)?(o=r,null!=(n=e.fields[s]).expand&&(o=n.expand),this.config[s]={boost:n.boost||0===n.boost?n.boost:1,bool:n.bool||i,expand:o}):g.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(i,r,t)},g.Configuration.prototype.addAllFields2UserConfig=function(t,n,e){e.forEach(function(e){this.config[e]={boost:1,bool:t,expand:n}},this)},g.Configuration.prototype.get=function(){return this.config},g.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},lunr.SortedSet.prototype.add=function(){for(var e,t=0;t<arguments.length;t++)~this.indexOf(e=arguments[t])||this.elements.splice(this.locationFor(e),0,e);this.length=this.elements.length},lunr.SortedSet.prototype.toArray=function(){return this.elements.slice()},lunr.SortedSet.prototype.map=function(e,t){return this.elements.map(e,t)},lunr.SortedSet.prototype.forEach=function(e,t){return this.elements.forEach(e,t)},lunr.SortedSet.prototype.indexOf=function(e){for(var t=0,n=this.elements.length,o=n-t,i=t+Math.floor(o/2),r=this.elements[i];1<o;){if(r===e)return i;o=(n=e<r?i:n)-(t=r<e?i:t),i=t+Math.floor(o/2),r=this.elements[i]}return r===e?i:-1},lunr.SortedSet.prototype.locationFor=function(e){for(var t=0,n=this.elements.length,o=n-t,i=t+Math.floor(o/2),r=this.elements[i];1<o;)o=(n=e<r?i:n)-(t=r<e?i:t),i=t+Math.floor(o/2),r=this.elements[i];return e<r?i:r<e?i+1:void 0},lunr.SortedSet.prototype.intersect=function(e){for(var t=new lunr.SortedSet,n=0,o=0,i=this.length,r=e.length,s=this.elements,u=e.elements;!(i-1<n||r-1<o);)s[n]!==u[o]?s[n]<u[o]?n++:s[n]>u[o]&&o++:(t.add(s[n]),n++,o++);return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){for(var t,e=this.length>=e.length?(t=this,e):(t=e,this),n=t.clone(),o=0,i=e.toArray();o<i.length;o++)n.add(i[o]);return n},lunr.SortedSet.prototype.toJSON=function(){return this.toArray()},"function"==typeof define&&define.amd?define(function(){return g}):"object"==typeof exports?module.exports=g:this.elasticlunr=g}(),window.onload=function(){function w(e){return e=parseInt(e,16).toString(2),[0,1,2,3,4][Math.ceil(e.length/8)]}var s,r,u,l,c;document.body.contains(document.goSearch)&&(document.goSearch.onsubmit=function(){return goSearchNow()},s=document.getElementById("suggestions"),r=document.getElementById("searchinput"),document.addEventListener("keydown",function(t){if(191===t.keyCode&&"INPUT"!==document.activeElement.tagName&&"TEXTAREA"!==document.activeElement.tagName&&(t.preventDefault(),r.focus(),s.classList.remove("d-none")),27===t.keyCode){r.blur(),s.classList.add("d-none");for(var e=document.getElementById("suggestions");e.firstChild;)e.removeChild(e.firstChild)}var n=s.querySelectorAll("a");if(!s.classList.contains("d-none")&&0!==n.length){var o=[...n],i=o.indexOf(document.activeElement);let e=0;38===t.keyCode?(t.preventDefault(),n[e=0<i?i-1:0].focus()):40===t.keyCode&&(t.preventDefault(),n[e=i+1<o.length?i+1:i].focus())}}),document.addEventListener("click",function(e){s.contains(e.target)||s.classList.add("d-none")}),l=document.documentElement.getAttribute("lang").substring(0,2),"/"==(c=document.querySelector("meta[name='base']").getAttribute("content")).slice(-1)&&(c=c.slice(0,-1)),r.addEventListener("input",async function(){var n,e=this.value.trim(),o=(await(u=void 0===u?fetch(c+"/search_index."+l+".json").then(async function(e){return elasticlunr.Index.load(await e.json())}):u)).search(e,{bool:"OR",fields:{title:{boost:2},body:{boost:1}}}),i=s.childNodes,r=o.length,x=e.split(/\s+/);for(s.classList.remove("d-none"),o.forEach(function(e){""!==e.doc.body&&((n=document.createElement("div")).innerHTML="<a href><span></span><span></span></a>",a=n.querySelector("a"),t=n.querySelector("span:first-child"),d=n.querySelector("span:nth-child(2)"),a.href=e.ref,t.textContent=e.doc.title,d.innerHTML=function(e){var t=x.map(function(e){return elasticlunr.stemmer(e.toLowerCase())}),n=!1,o=0,i=[],r=e.toLowerCase().split(". ");for(f in r){var s,u=r[f].split(/[\s\n]/),l=8;for(s in u){if(0<(g=u[s]).length){for(var a in t)elasticlunr.stemmer(g).startsWith(t[a])&&(l=40,n=!0);i.push([g,l,o]),l=2}o=o+g.length+1}o+=1}if(0===i.length)return void 0!==e.length&&300<e.length?e.substring(0,300)+"...":e;for(var c=[],d=Math.min(i.length,30),h=0,f=0;f<d;f++)h+=i[f][1];for(c.push(h),f=0;f<i.length-d;f++)h=(h-=i[f][1])+i[f+d][1],c.push(h);var p=0;if(n)for(var m=0,f=c.length-1;0<=f;f--)m<c[f]&&(m=c[f],p=f);for(var g,v,y=[],S=i[p][2],f=p;f<p+d;f++)S<(g=i[f])[2]&&(y.push(e.substring(S,g[2])),S=g[2]),40===g[1]&&y.push("<b>"),S=g[2]+g[0].length,40!==g[1]&&12<=g[0].length&&!/^[\x00-\xff]+$/.test(g[0])?(v=function(e){for(var t="",n=!1,o=0,i=0,r=0,s=0;s<e.length;s++){var u=e.codePointAt(s).toString(16);if(n=4<u.length&&++s+1<e.length?"200d"==e.codePointAt(s+1).toString(16):n){if(o+=w(u),s==e.length-1){if(!((i+=o)<=12))break;t+=e.substr(r,s-r+1)}}else if(0!=o){if(!((i=(i+=o)+w(u))<=12))break;t+=e.substr(r,s-r+1),r=s+1,o=0}else{if(!((i+=w(u))<=12))break;u.length<=4?t+=e[s]:t+=e[s-1]+e[s],r=s+1}}return t}(e.substring(g[2],S)),y.push(v)):y.push(e.substring(g[2],S)),40===g[1]&&y.push("</b>");return y.push("…"),y.join("")}(e.doc.body),s.appendChild(n))});i.length>r;)s.removeChild(i[0])},!0),s.addEventListener("click",function(){for(;s.lastChild;)s.removeChild(s.lastChild);return!1},!0),document.goSearch.onsubmit=function(){var e=document.querySelector("main"),t=(window.main||(window.main=e.innerHTML),document.getElementById("suggestions")),n=t.cloneNode(!0),o=(n.id="results",document.createElement("div")),i='<form name="closeSearch"><h2><button type="submit" title="Close Search"><i class="svgs x"></i></button> Results For: '.concat(document.getElementById("searchinput").value,"</h2></form>");return o.innerHTML=i,n.insertBefore(o,n.firstChild),e.innerHTML=n.outerHTML,t.innerHTML="",document.getElementById("searchinput").value="",document.body.contains(document.closeSearch)&&(document.closeSearch.onsubmit=function(){document.querySelector("main").innerHTML=window.main}),!1})},!function(){for(var e=document.getElementsByClassName("m-protected"),t=0;t<e.length;t++){var n=e[t].getAttribute("href"),n=atob(n.substring(1));e[t].href="mailto:"+n}}(),(e,t)=>{e.classList.add(t),setTimeout(()=>e.classList.remove(t),2500)}),copyCodeAndChangeIcon=async(t,e)=>{e=(e.querySelector("table")?getTableCode:getNonTableCode)(e);try{await navigator.clipboard.writeText(e),changeIcon(t,"yes")}catch(e){changeIcon(t,"err")}},getNonTableCode=e=>[...e.querySelectorAll("code")].map(e=>e.textContent).join(""),getTableCode=e=>[...e.querySelectorAll("tr")].map(e=>e.querySelector("td:last-child")?.innerText??"").join("");document.querySelectorAll("pre").forEach(e=>{const t=document.createElement("div");t.className="cc svgs svgh copy",t.innerHTML=" ",e.prepend(t),t.addEventListener("click",()=>copyCodeAndChangeIcon(t,e))});
\ No newline at end of file diff --git a/static/js/codecopy.js b/static/js/codecopy.js new file mode 100644 index 0000000..9e00c79 --- /dev/null +++ b/static/js/codecopy.js @@ -0,0 +1,34 @@ +const changeIcon = (copyDiv, className) => { + copyDiv.classList.add(className); + setTimeout(() => copyDiv.classList.remove(className), 2500); +}; + +const copyCodeAndChangeIcon = async (copyDiv, block) => { + const code = block.querySelector('table') ? getTableCode(block) : getNonTableCode(block); + try { + await navigator.clipboard.writeText(code); + changeIcon(copyDiv, "yes"); + } catch (error) { + changeIcon(copyDiv, "err"); + } +}; + +const getNonTableCode = (block) => { + return [...block.querySelectorAll('code')] + .map(code => code.textContent) + .join(''); +}; + +const getTableCode = (block) => { + return [...block.querySelectorAll('tr')] + .map(row => row.querySelector('td:last-child')?.innerText ?? '') + .join(''); +}; + +document.querySelectorAll("pre").forEach((block) => { + const copyDiv = document.createElement("div"); + copyDiv.className = "cc svgs svgh copy"; + copyDiv.innerHTML = " "; + block.prepend(copyDiv); + copyDiv.addEventListener("click", () => copyCodeAndChangeIcon(copyDiv, block));; +}); diff --git a/static/elasticlunr.min.js b/static/js/elasticlunr.min.js index 79dad65..79dad65 100644 --- a/static/elasticlunr.min.js +++ b/static/js/elasticlunr.min.js diff --git a/static/email.js b/static/js/email.js index 01e338a..01e338a 100644 --- a/static/email.js +++ b/static/js/email.js diff --git a/static/auto-render.min.js b/static/js/katex-auto-render.min.js index c169ec6..c169ec6 100644 --- a/static/auto-render.min.js +++ b/static/js/katex-auto-render.min.js diff --git a/static/katex.min.js b/static/js/katex.min.js index a9b96ca..a9b96ca 100644 --- a/static/katex.min.js +++ b/static/js/katex.min.js diff --git a/static/js/katexbundle.min.js b/static/js/katexbundle.min.js new file mode 100644 index 0000000..073d714 --- /dev/null +++ b/static/js/katexbundle.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.katex=t():e.katex=t()}("undefined"!=typeof self?self:this,function(){"use strict";function B(e,t){this.position=void 0;var r,n,e="KaTeX parse error: "+e,i=((t=t&&t.loc)&&t.start<=t.end&&(r=t.lexer.input,n=t.start,t=t.end,n===r.length?e+=" at end of input: ":e+=" at position "+(n+1)+": ",i=r.slice(n,t).replace(/[^]/g,"$&̲"),e+=(15<n?"…"+r.slice(n-15,n):r.slice(0,n))+i+(t+15<r.length?r.slice(t,t+15)+"…":r.slice(t))),new Error(e));return i.name="ParseError",i.__proto__=B.prototype,i.position=n,i}function C(e){return"ordgroup"===e.type||"color"===e.type?1===e.body.length?C(e.body[0]):e:"font"===e.type?C(e.body):e}var N={d:function(e,t){for(var r in t)N.o(t,r)&&!N.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},q={},$=(N.d(q,{default:function(){return tn}}),B.prototype.__proto__=Error.prototype,B),I=/([A-Z])/g,O={"&":"&",">":">","<":"<",'"':""","'":"'"},R=/[&><"']/g,Z={contains:function(e,t){return-1!==e.indexOf(t)},deflt:function(e,t){return void 0===e?t:e},escape:function(e){return String(e).replace(R,function(e){return O[e]})},hyphenate:function(e){return e.replace(I,"-$1").toLowerCase()},getBaseElem:C,isCharacterBox:function(e){e=C(e);return"mathord"===e.type||"textord"===e.type||"atom"===e.type},protocolFromUrl:function(e){e=/^\s*([^\\/#]*?)(?::|�*58|�*3a)/i.exec(e);return null!=e?e[1]:"_relative"}},E={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format <type>"},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color <color>",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:function(e){return"#"+e}},macros:{type:"object",cli:"-m, --macro <def>",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:function(e,t){return t.push(e),t}},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:function(e){return Math.max(0,e)},cli:"--min-rule-thickness <size>",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:function(e){return Math.max(0,e)},cli:"-s, --max-size <n>",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:function(e){return Math.max(0,e)},cli:"-e, --max-expand <n>",cliProcessor:function(e){return"Infinity"===e?1/0:parseInt(e)}},globalGroup:{type:"boolean",cli:!1}};(t=W.prototype).reportNonstrict=function(e,t,r){var n=this.strict;if((n="function"==typeof n?n(e,t,r):n)&&"ignore"!==n){if(!0===n||"error"===n)throw new $("LaTeX-incompatible input and strict mode is set to 'error': "+t+" ["+e+"]",r);"warn"===n?"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+t+" ["+e+"]"):"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+n+"': "+t+" ["+e+"]")}},t.useStrictBehavior=function(e,t,r){var n=this.strict;if("function"==typeof n)try{n=n(e,t,r)}catch(e){n="error"}return!(!n||"ignore"===n||!0!==n&&"error"!==n&&("warn"===n?"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+t+" ["+e+"]"):"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+n+"': "+t+" ["+e+"]"),1))},t.isTrusted=function(e){e.url&&!e.protocol&&(e.protocol=Z.protocolFromUrl(e.url));e="function"==typeof this.trust?this.trust(e):this.trust;return Boolean(e)};var H=W,e=((t=X.prototype).sup=function(){return L[D[this.id]]},t.sub=function(){return L[P[this.id]]},t.fracNum=function(){return L[F[this.id]]},t.fracDen=function(){return L[V[this.id]]},t.cramp=function(){return L[G[this.id]]},t.text=function(){return L[U[this.id]]},X),L=[new e(0,0,!(t.isTight=function(){return 2<=this.size})),new e(1,0,!0),new e(2,1,!1),new e(3,1,!0),new e(4,2,!1),new e(5,2,!0),new e(6,3,!1),new e(7,3,!0)],D=[4,5,4,5,6,7,6,7],P=[5,5,5,5,7,7,7,7],F=[2,3,4,5,6,7,6,7],V=[3,3,5,5,7,7,7,7],G=[1,1,3,3,5,5,7,7],U=[0,1,2,3,2,3,2,3],K={DISPLAY:L[0],TEXT:L[2],SCRIPT:L[4],SCRIPTSCRIPT:L[6]},Y=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function X(e,t,r){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=r}function W(e){for(var t in this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{},E){var r;E.hasOwnProperty(t)&&(r=E[t],this[t]=void 0!==e[t]?r.processor?r.processor(e[t]):e[t]:function(e){if(e.default)return e.default;if(e=e.type,"string"!=typeof(e=Array.isArray(e)?e[0]:e))return e.enum[0];switch(e){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}(r))}}var j=[];function _(e){for(var t=0;t<j.length;t+=2)if(e>=j[t]&&e<=j[t+1])return 1}Y.forEach(function(e){return e.blocks.forEach(function(e){return j.push.apply(j,e)})});var ne={doubleleftarrow:"M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z",doublerightarrow:"M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z",leftarrow:"M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z",leftbrace:"M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z",leftbraceunder:"M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z",leftgroup:"M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z",leftgroupunder:"M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z",leftharpoon:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z",leftharpoonplus:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z",leftharpoondown:"M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z",leftharpoondownplus:"M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z",lefthook:"M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z",leftlinesegment:"M40 281 V428 H0 V94 H40 V241 H400000 v40z\nM40 281 V428 H0 V94 H40 V241 H400000 v40z",leftmapsto:"M40 281 V448H0V74H40V241H400000v40z\nM40 281 V448H0V74H40V241H400000v40z",leftToFrom:"M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z",longequal:"M0 50 h400000 v40H0z m0 194h40000v40H0z\nM0 50 h400000 v40H0z m0 194h40000v40H0z",midbrace:"M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z",midbraceunder:"M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z",oiintSize1:"M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z",oiintSize2:"M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z",oiiintSize1:"M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z",oiiintSize2:"M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z",rightarrow:"M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z",rightbrace:"M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z",rightbraceunder:"M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z",rightgroup:"M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z",rightgroupunder:"M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z",rightharpoon:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z",rightharpoonplus:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z",rightharpoondown:"M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z",rightharpoondownplus:"M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z",righthook:"M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z",rightlinesegment:"M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z",rightToFrom:"M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z",twoheadleftarrow:"M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z",twoheadrightarrow:"M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z",tilde1:"M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z",tilde2:"M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z",tilde3:"M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z",tilde4:"M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z",vec:"M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z",widehat1:"M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z",widehat2:"M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat3:"M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat4:"M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widecheck1:"M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z",widecheck2:"M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck3:"M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck4:"M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",baraboveleftarrow:"M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z",rightarrowabovebar:"M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z",baraboveshortleftharpoon:"M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z",rightharpoonaboveshortbar:"M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z",shortbaraboveleftharpoon:"M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z",shortrightharpoonabovebar:"M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z"},ie=((t=le.prototype).hasClass=function(e){return Z.contains(this.classes,e)},t.toNode=function(){for(var e=document.createDocumentFragment(),t=0;t<this.children.length;t++)e.appendChild(this.children[t].toNode());return e},t.toMarkup=function(){for(var e="",t=0;t<this.children.length;t++)e+=this.children[t].toMarkup();return e},t.toText=function(){return this.children.map(function(e){return e.toText()}).join("")},le),ae={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},oe={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},se={"Å":"A","Ð":"D","Þ":"o","å":"a","ð":"d","þ":"o","А":"A","Б":"B","В":"B","Г":"F","Д":"A","Е":"E","Ж":"K","З":"3","И":"N","Й":"N","К":"K","Л":"N","М":"M","Н":"H","О":"O","П":"N","Р":"P","С":"C","Т":"T","У":"y","Ф":"O","Х":"X","Ц":"U","Ч":"h","Ш":"W","Щ":"W","Ъ":"B","Ы":"X","Ь":"B","Э":"3","Ю":"X","Я":"R","а":"a","б":"b","в":"a","г":"r","д":"y","е":"e","ж":"m","з":"e","и":"n","й":"n","к":"n","л":"n","м":"m","н":"n","о":"o","п":"n","р":"p","с":"c","т":"o","у":"y","ф":"b","х":"x","ц":"n","ч":"n","ш":"w","щ":"w","ъ":"a","ы":"m","ь":"a","э":"e","ю":"m","я":"r"};function le(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}function he(e,t,r){if(!ae[t])throw new Error("Font metrics not found for font: "+t+".");var n=e.charCodeAt(0),i=ae[t][n];if(!i&&e[0]in se&&(n=se[e[0]].charCodeAt(0),i=ae[t][n]),i||"text"!==r||_(n)&&(i=ae[t][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}function me(e,t){return t.size<2?e:ue[e-1][t.size-1]}var ce={},ue=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],pe=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],t=((e=de.prototype).extend=function(e){var t,r={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(t in e)e.hasOwnProperty(t)&&(r[t]=e[t]);return new de(r)},e.havingStyle=function(e){return this.style===e?this:this.extend({style:e,size:me(this.textSize,e)})},e.havingCrampedStyle=function(){return this.havingStyle(this.style.cramp())},e.havingSize=function(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:pe[e-1]})},e.havingBaseStyle=function(e){e=e||this.style.text();var t=me(de.BASESIZE,e);return this.size===t&&this.textSize===de.BASESIZE&&this.style===e?this:this.extend({style:e,size:t})},e.havingBaseSizing=function(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})},e.withColor=function(e){return this.extend({color:e})},e.withPhantom=function(){return this.extend({phantom:!0})},e.withFont=function(e){return this.extend({font:e})},e.withTextFontFamily=function(e){return this.extend({fontFamily:e,font:""})},e.withTextFontWeight=function(e){return this.extend({fontWeight:e,font:""})},e.withTextFontShape=function(e){return this.extend({fontShape:e,font:""})},e.sizingClasses=function(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]},e.baseSizingClasses=function(){return this.size!==de.BASESIZE?["sizing","reset-size"+this.size,"size"+de.BASESIZE]:[]},e.fontMetrics=function(){return this._fontMetrics||(this._fontMetrics=function(e){var t;if(!ce[t=5<=e?0:3<=e?1:2]){var r,n=ce[t]={cssEmPerMu:oe.quad[t]/18};for(r in oe)oe.hasOwnProperty(r)&&(n[r]=oe[r][t])}return ce[t]}(this.size)),this._fontMetrics},e.getColor=function(){return this.phantom?"transparent":this.color},de);function de(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||de.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=pe[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}t.BASESIZE=6;function fe(e){return(e="string"!=typeof e?e.unit:e)in we||e in ke||"ex"===e}function J(e,t){var r;if(e.unit in we)r=we[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if("mu"===e.unit)r=t.fontMetrics().cssEmPerMu;else{var n=t.style.isTight()?t.havingStyle(t.style.text()):t;if("ex"===e.unit)r=n.fontMetrics().xHeight;else{if("em"!==e.unit)throw new $("Invalid unit: '"+e.unit+"'");r=n.fontMetrics().quad}n!==t&&(r*=n.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*r,t.maxSize)}function ge(e){return e.filter(function(e){return e}).join(" ")}function ye(e,t,r){this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=r||{},t&&(t.style.isTight()&&this.classes.push("mtight"),e=t.getColor())&&(this.style.color=e)}function be(e){var t,r,n=document.createElement(e);for(t in n.className=ge(this.classes),this.style)this.style.hasOwnProperty(t)&&(n.style[t]=this.style[t]);for(r in this.attributes)this.attributes.hasOwnProperty(r)&&n.setAttribute(r,this.attributes[r]);for(var i=0;i<this.children.length;i++)n.appendChild(this.children[i].toNode());return n}function xe(e){var t,r,n="<"+e,i=(this.classes.length&&(n+=' class="'+Z.escape(ge(this.classes))+'"'),"");for(t in this.style)this.style.hasOwnProperty(t)&&(i+=Z.hyphenate(t)+":"+this.style[t]+";");for(r in i&&(n+=' style="'+Z.escape(i)+'"'),this.attributes)this.attributes.hasOwnProperty(r)&&(n+=" "+r+'="'+Z.escape(this.attributes[r])+'"');n+=">";for(var a=0;a<this.children.length;a++)n+=this.children[a].toMarkup();return n+"</"+e+">"}var ve=t,we={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:1.00375,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:1.00375},ke={ex:!0,em:!0,mu:!0},Q=function(e){return+e.toFixed(4)+"em"},Se=((e=He.prototype).setAttribute=function(e,t){this.attributes[e]=t},e.hasClass=function(e){return Z.contains(this.classes,e)},e.toNode=function(){return be.call(this,"span")},e.toMarkup=function(){return xe.call(this,"span")},He),Me=((t=Ee.prototype).setAttribute=function(e,t){this.attributes[e]=t},t.hasClass=function(e){return Z.contains(this.classes,e)},t.toNode=function(){return be.call(this,"a")},t.toMarkup=function(){return xe.call(this,"a")},Ee),ze=((e=Re.prototype).hasClass=function(e){return Z.contains(this.classes,e)},e.toNode=function(){var e,t=document.createElement("img");for(e in t.src=this.src,t.alt=this.alt,t.className="mord",this.style)this.style.hasOwnProperty(e)&&(t.style[e]=this.style[e]);return t},e.toMarkup=function(){var e,t="<img src='"+this.src+" 'alt='"+this.alt+"' ",r="";for(e in this.style)this.style.hasOwnProperty(e)&&(r+=Z.hyphenate(e)+":"+this.style[e]+";");return r&&(t+=' style="'+Z.escape(r)+'"'),t+"'/>"},Re),Ae={"î":"ı̂","ï":"ı̈","í":"ı́","ì":"ı̀"},b=((t=Oe.prototype).hasClass=function(e){return Z.contains(this.classes,e)},t.toNode=function(){var e,t=document.createTextNode(this.text),r=null;for(e in 0<this.italic&&((r=document.createElement("span")).style.marginRight=Q(this.italic)),0<this.classes.length&&((r=r||document.createElement("span")).className=ge(this.classes)),this.style)this.style.hasOwnProperty(e)&&((r=r||document.createElement("span")).style[e]=this.style[e]);return r?(r.appendChild(t),r):t},t.toMarkup=function(){var e,t=!1,r="<span",n=(this.classes.length&&(t=!0,r=(r+=' class="')+Z.escape(ge(this.classes))+'"'),"");for(e in 0<this.italic&&(n+="margin-right:"+this.italic+"em;"),this.style)this.style.hasOwnProperty(e)&&(n+=Z.hyphenate(e)+":"+this.style[e]+";");n&&(t=!0,r+=' style="'+Z.escape(n)+'"');var i=Z.escape(this.text);return t?(r=r+">"+i)+"</span>":i},Oe),Te=((e=Ie.prototype).toNode=function(){var e,t=document.createElementNS("http://www.w3.org/2000/svg","svg");for(e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&t.setAttribute(e,this.attributes[e]);for(var r=0;r<this.children.length;r++)t.appendChild(this.children[r].toNode());return t},e.toMarkup=function(){var e,t='<svg xmlns="http://www.w3.org/2000/svg"';for(e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&(t+=" "+e+"='"+this.attributes[e]+"'");t+=">";for(var r=0;r<this.children.length;r++)t+=this.children[r].toMarkup();return t+"</svg>"},Ie),Be=((t=qe.prototype).toNode=function(){var e=document.createElementNS("http://www.w3.org/2000/svg","path");return this.alternate?e.setAttribute("d",this.alternate):e.setAttribute("d",ne[this.pathName]),e},t.toMarkup=function(){return this.alternate?"<path d='"+this.alternate+"'/>":"<path d='"+ne[this.pathName]+"'/>"},qe),Ce=((e=Ne.prototype).toNode=function(){var e,t=document.createElementNS("http://www.w3.org/2000/svg","line");for(e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&t.setAttribute(e,this.attributes[e]);return t},e.toMarkup=function(){var e,t="<line";for(e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&(t+=" "+e+"='"+this.attributes[e]+"'");return t+"/>"},Ne);function Ne(e){this.attributes=void 0,this.attributes=e||{}}function qe(e,t){this.pathName=void 0,this.alternate=void 0,this.pathName=e,this.alternate=t}function Ie(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}function Oe(e,t,r,n,i,a,o,s){this.text=void 0,this.height=void 0,this.depth=void 0,this.italic=void 0,this.skew=void 0,this.width=void 0,this.maxFontSize=void 0,this.classes=void 0,this.style=void 0,this.text=e,this.height=t||0,this.depth=r||0,this.italic=n||0,this.skew=i||0,this.width=a||0,this.classes=o||[],this.style=s||{},this.maxFontSize=0;e=function(e){for(var t=0;t<Y.length;t++)for(var r=Y[t],n=0;n<r.blocks.length;n++){var i=r.blocks[n];if(e>=i[0]&&e<=i[1])return r.name}return null}(this.text.charCodeAt(0));e&&this.classes.push(e+"_fallback"),/[\xee\xef\xed\xec]/.test(this.text)&&(this.text=Ae[this.text])}function Re(e,t,r){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=t,this.src=e,this.classes=["mord"],this.style=r}function Ee(e,t,r,n){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,ye.call(this,t,n),this.children=r||[],this.setAttribute("href",e)}function He(e,t,r,n){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,ye.call(this,e,r,n),this.children=t||[]}function Le(e){if(e instanceof b)return e;throw new Error("Expected symbolNode but got "+String(e)+".")}var De={bin:1,close:1,inner:1,open:1,punct:1,rel:1},Pe={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},Fe={math:{},text:{}},p=Fe;function r(e,t,r,n,i,a){Fe[e][i]={font:t,group:r,replace:n},a&&n&&(Fe[e][n]=Fe[e][i])}var n="math",i="text",a="main",t="ams",e="accent-token",o="bin",s="close",Ve="inner",l="mathord",h="op-token",m="open",c="punct",u="rel",d="spacing",f="textord",Ge=(r(n,a,u,"≡","\\equiv",!0),r(n,a,u,"≺","\\prec",!0),r(n,a,u,"≻","\\succ",!0),r(n,a,u,"∼","\\sim",!0),r(n,a,u,"⊥","\\perp"),r(n,a,u,"⪯","\\preceq",!0),r(n,a,u,"⪰","\\succeq",!0),r(n,a,u,"≃","\\simeq",!0),r(n,a,u,"∣","\\mid",!0),r(n,a,u,"≪","\\ll",!0),r(n,a,u,"≫","\\gg",!0),r(n,a,u,"≍","\\asymp",!0),r(n,a,u,"∥","\\parallel"),r(n,a,u,"⋈","\\bowtie",!0),r(n,a,u,"⌣","\\smile",!0),r(n,a,u,"⊑","\\sqsubseteq",!0),r(n,a,u,"⊒","\\sqsupseteq",!0),r(n,a,u,"≐","\\doteq",!0),r(n,a,u,"⌢","\\frown",!0),r(n,a,u,"∋","\\ni",!0),r(n,a,u,"∝","\\propto",!0),r(n,a,u,"⊢","\\vdash",!0),r(n,a,u,"⊣","\\dashv",!0),r(n,a,u,"∋","\\owns"),r(n,a,c,".","\\ldotp"),r(n,a,c,"⋅","\\cdotp"),r(n,a,f,"#","\\#"),r(i,a,f,"#","\\#"),r(n,a,f,"&","\\&"),r(i,a,f,"&","\\&"),r(n,a,f,"ℵ","\\aleph",!0),r(n,a,f,"∀","\\forall",!0),r(n,a,f,"ℏ","\\hbar",!0),r(n,a,f,"∃","\\exists",!0),r(n,a,f,"∇","\\nabla",!0),r(n,a,f,"♭","\\flat",!0),r(n,a,f,"ℓ","\\ell",!0),r(n,a,f,"♮","\\natural",!0),r(n,a,f,"♣","\\clubsuit",!0),r(n,a,f,"℘","\\wp",!0),r(n,a,f,"♯","\\sharp",!0),r(n,a,f,"♢","\\diamondsuit",!0),r(n,a,f,"ℜ","\\Re",!0),r(n,a,f,"♡","\\heartsuit",!0),r(n,a,f,"ℑ","\\Im",!0),r(n,a,f,"♠","\\spadesuit",!0),r(n,a,f,"§","\\S",!0),r(i,a,f,"§","\\S"),r(n,a,f,"¶","\\P",!0),r(i,a,f,"¶","\\P"),r(n,a,f,"†","\\dag"),r(i,a,f,"†","\\dag"),r(i,a,f,"†","\\textdagger"),r(n,a,f,"‡","\\ddag"),r(i,a,f,"‡","\\ddag"),r(i,a,f,"‡","\\textdaggerdbl"),r(n,a,s,"⎱","\\rmoustache",!0),r(n,a,m,"⎰","\\lmoustache",!0),r(n,a,s,"⟯","\\rgroup",!0),r(n,a,m,"⟮","\\lgroup",!0),r(n,a,o,"∓","\\mp",!0),r(n,a,o,"⊖","\\ominus",!0),r(n,a,o,"⊎","\\uplus",!0),r(n,a,o,"⊓","\\sqcap",!0),r(n,a,o,"∗","\\ast"),r(n,a,o,"⊔","\\sqcup",!0),r(n,a,o,"◯","\\bigcirc",!0),r(n,a,o,"∙","\\bullet",!0),r(n,a,o,"‡","\\ddagger"),r(n,a,o,"≀","\\wr",!0),r(n,a,o,"⨿","\\amalg"),r(n,a,o,"&","\\And"),r(n,a,u,"⟵","\\longleftarrow",!0),r(n,a,u,"⇐","\\Leftarrow",!0),r(n,a,u,"⟸","\\Longleftarrow",!0),r(n,a,u,"⟶","\\longrightarrow",!0),r(n,a,u,"⇒","\\Rightarrow",!0),r(n,a,u,"⟹","\\Longrightarrow",!0),r(n,a,u,"↔","\\leftrightarrow",!0),r(n,a,u,"⟷","\\longleftrightarrow",!0),r(n,a,u,"⇔","\\Leftrightarrow",!0),r(n,a,u,"⟺","\\Longleftrightarrow",!0),r(n,a,u,"↦","\\mapsto",!0),r(n,a,u,"⟼","\\longmapsto",!0),r(n,a,u,"↗","\\nearrow",!0),r(n,a,u,"↩","\\hookleftarrow",!0),r(n,a,u,"↪","\\hookrightarrow",!0),r(n,a,u,"↘","\\searrow",!0),r(n,a,u,"↼","\\leftharpoonup",!0),r(n,a,u,"⇀","\\rightharpoonup",!0),r(n,a,u,"↙","\\swarrow",!0),r(n,a,u,"↽","\\leftharpoondown",!0),r(n,a,u,"⇁","\\rightharpoondown",!0),r(n,a,u,"↖","\\nwarrow",!0),r(n,a,u,"⇌","\\rightleftharpoons",!0),r(n,t,u,"≮","\\nless",!0),r(n,t,u,"","\\@nleqslant"),r(n,t,u,"","\\@nleqq"),r(n,t,u,"⪇","\\lneq",!0),r(n,t,u,"≨","\\lneqq",!0),r(n,t,u,"","\\@lvertneqq"),r(n,t,u,"⋦","\\lnsim",!0),r(n,t,u,"⪉","\\lnapprox",!0),r(n,t,u,"⊀","\\nprec",!0),r(n,t,u,"⋠","\\npreceq",!0),r(n,t,u,"⋨","\\precnsim",!0),r(n,t,u,"⪹","\\precnapprox",!0),r(n,t,u,"≁","\\nsim",!0),r(n,t,u,"","\\@nshortmid"),r(n,t,u,"∤","\\nmid",!0),r(n,t,u,"⊬","\\nvdash",!0),r(n,t,u,"⊭","\\nvDash",!0),r(n,t,u,"⋪","\\ntriangleleft"),r(n,t,u,"⋬","\\ntrianglelefteq",!0),r(n,t,u,"⊊","\\subsetneq",!0),r(n,t,u,"","\\@varsubsetneq"),r(n,t,u,"⫋","\\subsetneqq",!0),r(n,t,u,"","\\@varsubsetneqq"),r(n,t,u,"≯","\\ngtr",!0),r(n,t,u,"","\\@ngeqslant"),r(n,t,u,"","\\@ngeqq"),r(n,t,u,"⪈","\\gneq",!0),r(n,t,u,"≩","\\gneqq",!0),r(n,t,u,"","\\@gvertneqq"),r(n,t,u,"⋧","\\gnsim",!0),r(n,t,u,"⪊","\\gnapprox",!0),r(n,t,u,"⊁","\\nsucc",!0),r(n,t,u,"⋡","\\nsucceq",!0),r(n,t,u,"⋩","\\succnsim",!0),r(n,t,u,"⪺","\\succnapprox",!0),r(n,t,u,"≆","\\ncong",!0),r(n,t,u,"","\\@nshortparallel"),r(n,t,u,"∦","\\nparallel",!0),r(n,t,u,"⊯","\\nVDash",!0),r(n,t,u,"⋫","\\ntriangleright"),r(n,t,u,"⋭","\\ntrianglerighteq",!0),r(n,t,u,"","\\@nsupseteqq"),r(n,t,u,"⊋","\\supsetneq",!0),r(n,t,u,"","\\@varsupsetneq"),r(n,t,u,"⫌","\\supsetneqq",!0),r(n,t,u,"","\\@varsupsetneqq"),r(n,t,u,"⊮","\\nVdash",!0),r(n,t,u,"⪵","\\precneqq",!0),r(n,t,u,"⪶","\\succneqq",!0),r(n,t,u,"","\\@nsubseteqq"),r(n,t,o,"⊴","\\unlhd"),r(n,t,o,"⊵","\\unrhd"),r(n,t,u,"↚","\\nleftarrow",!0),r(n,t,u,"↛","\\nrightarrow",!0),r(n,t,u,"⇍","\\nLeftarrow",!0),r(n,t,u,"⇏","\\nRightarrow",!0),r(n,t,u,"↮","\\nleftrightarrow",!0),r(n,t,u,"⇎","\\nLeftrightarrow",!0),r(n,t,u,"△","\\vartriangle"),r(n,t,f,"ℏ","\\hslash"),r(n,t,f,"▽","\\triangledown"),r(n,t,f,"◊","\\lozenge"),r(n,t,f,"Ⓢ","\\circledS"),r(n,t,f,"®","\\circledR"),r(i,t,f,"®","\\circledR"),r(n,t,f,"∡","\\measuredangle",!0),r(n,t,f,"∄","\\nexists"),r(n,t,f,"℧","\\mho"),r(n,t,f,"Ⅎ","\\Finv",!0),r(n,t,f,"⅁","\\Game",!0),r(n,t,f,"‵","\\backprime"),r(n,t,f,"▲","\\blacktriangle"),r(n,t,f,"▼","\\blacktriangledown"),r(n,t,f,"■","\\blacksquare"),r(n,t,f,"⧫","\\blacklozenge"),r(n,t,f,"★","\\bigstar"),r(n,t,f,"∢","\\sphericalangle",!0),r(n,t,f,"∁","\\complement",!0),r(n,t,f,"ð","\\eth",!0),r(i,a,f,"ð","ð"),r(n,t,f,"╱","\\diagup"),r(n,t,f,"╲","\\diagdown"),r(n,t,f,"□","\\square"),r(n,t,f,"□","\\Box"),r(n,t,f,"◊","\\Diamond"),r(n,t,f,"¥","\\yen",!0),r(i,t,f,"¥","\\yen",!0),r(n,t,f,"✓","\\checkmark",!0),r(i,t,f,"✓","\\checkmark"),r(n,t,f,"ℶ","\\beth",!0),r(n,t,f,"ℸ","\\daleth",!0),r(n,t,f,"ℷ","\\gimel",!0),r(n,t,f,"ϝ","\\digamma",!0),r(n,t,f,"ϰ","\\varkappa"),r(n,t,m,"┌","\\@ulcorner",!0),r(n,t,s,"┐","\\@urcorner",!0),r(n,t,m,"└","\\@llcorner",!0),r(n,t,s,"┘","\\@lrcorner",!0),r(n,t,u,"≦","\\leqq",!0),r(n,t,u,"⩽","\\leqslant",!0),r(n,t,u,"⪕","\\eqslantless",!0),r(n,t,u,"≲","\\lesssim",!0),r(n,t,u,"⪅","\\lessapprox",!0),r(n,t,u,"≊","\\approxeq",!0),r(n,t,o,"⋖","\\lessdot"),r(n,t,u,"⋘","\\lll",!0),r(n,t,u,"≶","\\lessgtr",!0),r(n,t,u,"⋚","\\lesseqgtr",!0),r(n,t,u,"⪋","\\lesseqqgtr",!0),r(n,t,u,"≑","\\doteqdot"),r(n,t,u,"≓","\\risingdotseq",!0),r(n,t,u,"≒","\\fallingdotseq",!0),r(n,t,u,"∽","\\backsim",!0),r(n,t,u,"⋍","\\backsimeq",!0),r(n,t,u,"⫅","\\subseteqq",!0),r(n,t,u,"⋐","\\Subset",!0),r(n,t,u,"⊏","\\sqsubset",!0),r(n,t,u,"≼","\\preccurlyeq",!0),r(n,t,u,"⋞","\\curlyeqprec",!0),r(n,t,u,"≾","\\precsim",!0),r(n,t,u,"⪷","\\precapprox",!0),r(n,t,u,"⊲","\\vartriangleleft"),r(n,t,u,"⊴","\\trianglelefteq"),r(n,t,u,"⊨","\\vDash",!0),r(n,t,u,"⊪","\\Vvdash",!0),r(n,t,u,"⌣","\\smallsmile"),r(n,t,u,"⌢","\\smallfrown"),r(n,t,u,"≏","\\bumpeq",!0),r(n,t,u,"≎","\\Bumpeq",!0),r(n,t,u,"≧","\\geqq",!0),r(n,t,u,"⩾","\\geqslant",!0),r(n,t,u,"⪖","\\eqslantgtr",!0),r(n,t,u,"≳","\\gtrsim",!0),r(n,t,u,"⪆","\\gtrapprox",!0),r(n,t,o,"⋗","\\gtrdot"),r(n,t,u,"⋙","\\ggg",!0),r(n,t,u,"≷","\\gtrless",!0),r(n,t,u,"⋛","\\gtreqless",!0),r(n,t,u,"⪌","\\gtreqqless",!0),r(n,t,u,"≖","\\eqcirc",!0),r(n,t,u,"≗","\\circeq",!0),r(n,t,u,"≜","\\triangleq",!0),r(n,t,u,"∼","\\thicksim"),r(n,t,u,"≈","\\thickapprox"),r(n,t,u,"⫆","\\supseteqq",!0),r(n,t,u,"⋑","\\Supset",!0),r(n,t,u,"⊐","\\sqsupset",!0),r(n,t,u,"≽","\\succcurlyeq",!0),r(n,t,u,"⋟","\\curlyeqsucc",!0),r(n,t,u,"≿","\\succsim",!0),r(n,t,u,"⪸","\\succapprox",!0),r(n,t,u,"⊳","\\vartriangleright"),r(n,t,u,"⊵","\\trianglerighteq"),r(n,t,u,"⊩","\\Vdash",!0),r(n,t,u,"∣","\\shortmid"),r(n,t,u,"∥","\\shortparallel"),r(n,t,u,"≬","\\between",!0),r(n,t,u,"⋔","\\pitchfork",!0),r(n,t,u,"∝","\\varpropto"),r(n,t,u,"◀","\\blacktriangleleft"),r(n,t,u,"∴","\\therefore",!0),r(n,t,u,"∍","\\backepsilon"),r(n,t,u,"▶","\\blacktriangleright"),r(n,t,u,"∵","\\because",!0),r(n,t,u,"⋘","\\llless"),r(n,t,u,"⋙","\\gggtr"),r(n,t,o,"⊲","\\lhd"),r(n,t,o,"⊳","\\rhd"),r(n,t,u,"≂","\\eqsim",!0),r(n,a,u,"⋈","\\Join"),r(n,t,u,"≑","\\Doteq",!0),r(n,t,o,"∔","\\dotplus",!0),r(n,t,o,"∖","\\smallsetminus"),r(n,t,o,"⋒","\\Cap",!0),r(n,t,o,"⋓","\\Cup",!0),r(n,t,o,"⩞","\\doublebarwedge",!0),r(n,t,o,"⊟","\\boxminus",!0),r(n,t,o,"⊞","\\boxplus",!0),r(n,t,o,"⋇","\\divideontimes",!0),r(n,t,o,"⋉","\\ltimes",!0),r(n,t,o,"⋊","\\rtimes",!0),r(n,t,o,"⋋","\\leftthreetimes",!0),r(n,t,o,"⋌","\\rightthreetimes",!0),r(n,t,o,"⋏","\\curlywedge",!0),r(n,t,o,"⋎","\\curlyvee",!0),r(n,t,o,"⊝","\\circleddash",!0),r(n,t,o,"⊛","\\circledast",!0),r(n,t,o,"⋅","\\centerdot"),r(n,t,o,"⊺","\\intercal",!0),r(n,t,o,"⋒","\\doublecap"),r(n,t,o,"⋓","\\doublecup"),r(n,t,o,"⊠","\\boxtimes",!0),r(n,t,u,"⇢","\\dashrightarrow",!0),r(n,t,u,"⇠","\\dashleftarrow",!0),r(n,t,u,"⇇","\\leftleftarrows",!0),r(n,t,u,"⇆","\\leftrightarrows",!0),r(n,t,u,"⇚","\\Lleftarrow",!0),r(n,t,u,"↞","\\twoheadleftarrow",!0),r(n,t,u,"↢","\\leftarrowtail",!0),r(n,t,u,"↫","\\looparrowleft",!0),r(n,t,u,"⇋","\\leftrightharpoons",!0),r(n,t,u,"↶","\\curvearrowleft",!0),r(n,t,u,"↺","\\circlearrowleft",!0),r(n,t,u,"↰","\\Lsh",!0),r(n,t,u,"⇈","\\upuparrows",!0),r(n,t,u,"↿","\\upharpoonleft",!0),r(n,t,u,"⇃","\\downharpoonleft",!0),r(n,a,u,"⊶","\\origof",!0),r(n,a,u,"⊷","\\imageof",!0),r(n,t,u,"⊸","\\multimap",!0),r(n,t,u,"↭","\\leftrightsquigarrow",!0),r(n,t,u,"⇉","\\rightrightarrows",!0),r(n,t,u,"⇄","\\rightleftarrows",!0),r(n,t,u,"↠","\\twoheadrightarrow",!0),r(n,t,u,"↣","\\rightarrowtail",!0),r(n,t,u,"↬","\\looparrowright",!0),r(n,t,u,"↷","\\curvearrowright",!0),r(n,t,u,"↻","\\circlearrowright",!0),r(n,t,u,"↱","\\Rsh",!0),r(n,t,u,"⇊","\\downdownarrows",!0),r(n,t,u,"↾","\\upharpoonright",!0),r(n,t,u,"⇂","\\downharpoonright",!0),r(n,t,u,"⇝","\\rightsquigarrow",!0),r(n,t,u,"⇝","\\leadsto"),r(n,t,u,"⇛","\\Rrightarrow",!0),r(n,t,u,"↾","\\restriction"),r(n,a,f,"‘","`"),r(n,a,f,"$","\\$"),r(i,a,f,"$","\\$"),r(i,a,f,"$","\\textdollar"),r(n,a,f,"%","\\%"),r(i,a,f,"%","\\%"),r(n,a,f,"_","\\_"),r(i,a,f,"_","\\_"),r(i,a,f,"_","\\textunderscore"),r(n,a,f,"∠","\\angle",!0),r(n,a,f,"∞","\\infty",!0),r(n,a,f,"′","\\prime"),r(n,a,f,"△","\\triangle"),r(n,a,f,"Γ","\\Gamma",!0),r(n,a,f,"Δ","\\Delta",!0),r(n,a,f,"Θ","\\Theta",!0),r(n,a,f,"Λ","\\Lambda",!0),r(n,a,f,"Ξ","\\Xi",!0),r(n,a,f,"Π","\\Pi",!0),r(n,a,f,"Σ","\\Sigma",!0),r(n,a,f,"Υ","\\Upsilon",!0),r(n,a,f,"Φ","\\Phi",!0),r(n,a,f,"Ψ","\\Psi",!0),r(n,a,f,"Ω","\\Omega",!0),r(n,a,f,"A","Α"),r(n,a,f,"B","Β"),r(n,a,f,"E","Ε"),r(n,a,f,"Z","Ζ"),r(n,a,f,"H","Η"),r(n,a,f,"I","Ι"),r(n,a,f,"K","Κ"),r(n,a,f,"M","Μ"),r(n,a,f,"N","Ν"),r(n,a,f,"O","Ο"),r(n,a,f,"P","Ρ"),r(n,a,f,"T","Τ"),r(n,a,f,"X","Χ"),r(n,a,f,"¬","\\neg",!0),r(n,a,f,"¬","\\lnot"),r(n,a,f,"⊤","\\top"),r(n,a,f,"⊥","\\bot"),r(n,a,f,"∅","\\emptyset"),r(n,t,f,"∅","\\varnothing"),r(n,a,l,"α","\\alpha",!0),r(n,a,l,"β","\\beta",!0),r(n,a,l,"γ","\\gamma",!0),r(n,a,l,"δ","\\delta",!0),r(n,a,l,"ϵ","\\epsilon",!0),r(n,a,l,"ζ","\\zeta",!0),r(n,a,l,"η","\\eta",!0),r(n,a,l,"θ","\\theta",!0),r(n,a,l,"ι","\\iota",!0),r(n,a,l,"κ","\\kappa",!0),r(n,a,l,"λ","\\lambda",!0),r(n,a,l,"μ","\\mu",!0),r(n,a,l,"ν","\\nu",!0),r(n,a,l,"ξ","\\xi",!0),r(n,a,l,"ο","\\omicron",!0),r(n,a,l,"π","\\pi",!0),r(n,a,l,"ρ","\\rho",!0),r(n,a,l,"σ","\\sigma",!0),r(n,a,l,"τ","\\tau",!0),r(n,a,l,"υ","\\upsilon",!0),r(n,a,l,"ϕ","\\phi",!0),r(n,a,l,"χ","\\chi",!0),r(n,a,l,"ψ","\\psi",!0),r(n,a,l,"ω","\\omega",!0),r(n,a,l,"ε","\\varepsilon",!0),r(n,a,l,"ϑ","\\vartheta",!0),r(n,a,l,"ϖ","\\varpi",!0),r(n,a,l,"ϱ","\\varrho",!0),r(n,a,l,"ς","\\varsigma",!0),r(n,a,l,"φ","\\varphi",!0),r(n,a,o,"∗","*",!0),r(n,a,o,"+","+"),r(n,a,o,"−","-",!0),r(n,a,o,"⋅","\\cdot",!0),r(n,a,o,"∘","\\circ",!0),r(n,a,o,"÷","\\div",!0),r(n,a,o,"±","\\pm",!0),r(n,a,o,"×","\\times",!0),r(n,a,o,"∩","\\cap",!0),r(n,a,o,"∪","\\cup",!0),r(n,a,o,"∖","\\setminus",!0),r(n,a,o,"∧","\\land"),r(n,a,o,"∨","\\lor"),r(n,a,o,"∧","\\wedge",!0),r(n,a,o,"∨","\\vee",!0),r(n,a,f,"√","\\surd"),r(n,a,m,"⟨","\\langle",!0),r(n,a,m,"∣","\\lvert"),r(n,a,m,"∥","\\lVert"),r(n,a,s,"?","?"),r(n,a,s,"!","!"),r(n,a,s,"⟩","\\rangle",!0),r(n,a,s,"∣","\\rvert"),r(n,a,s,"∥","\\rVert"),r(n,a,u,"=","="),r(n,a,u,":",":"),r(n,a,u,"≈","\\approx",!0),r(n,a,u,"≅","\\cong",!0),r(n,a,u,"≥","\\ge"),r(n,a,u,"≥","\\geq",!0),r(n,a,u,"←","\\gets"),r(n,a,u,">","\\gt",!0),r(n,a,u,"∈","\\in",!0),r(n,a,u,"","\\@not"),r(n,a,u,"⊂","\\subset",!0),r(n,a,u,"⊃","\\supset",!0),r(n,a,u,"⊆","\\subseteq",!0),r(n,a,u,"⊇","\\supseteq",!0),r(n,t,u,"⊈","\\nsubseteq",!0),r(n,t,u,"⊉","\\nsupseteq",!0),r(n,a,u,"⊨","\\models"),r(n,a,u,"←","\\leftarrow",!0),r(n,a,u,"≤","\\le"),r(n,a,u,"≤","\\leq",!0),r(n,a,u,"<","\\lt",!0),r(n,a,u,"→","\\rightarrow",!0),r(n,a,u,"→","\\to"),r(n,t,u,"≱","\\ngeq",!0),r(n,t,u,"≰","\\nleq",!0),r(n,a,d," ","\\ "),r(n,a,d," ","\\space"),r(n,a,d," ","\\nobreakspace"),r(i,a,d," ","\\ "),r(i,a,d," "," "),r(i,a,d," ","\\space"),r(i,a,d," ","\\nobreakspace"),r(n,a,d,null,"\\nobreak"),r(n,a,d,null,"\\allowbreak"),r(n,a,c,",",","),r(n,a,c,";",";"),r(n,t,o,"⊼","\\barwedge",!0),r(n,t,o,"⊻","\\veebar",!0),r(n,a,o,"⊙","\\odot",!0),r(n,a,o,"⊕","\\oplus",!0),r(n,a,o,"⊗","\\otimes",!0),r(n,a,f,"∂","\\partial",!0),r(n,a,o,"⊘","\\oslash",!0),r(n,t,o,"⊚","\\circledcirc",!0),r(n,t,o,"⊡","\\boxdot",!0),r(n,a,o,"△","\\bigtriangleup"),r(n,a,o,"▽","\\bigtriangledown"),r(n,a,o,"†","\\dagger"),r(n,a,o,"⋄","\\diamond"),r(n,a,o,"⋆","\\star"),r(n,a,o,"◃","\\triangleleft"),r(n,a,o,"▹","\\triangleright"),r(n,a,m,"{","\\{"),r(i,a,f,"{","\\{"),r(i,a,f,"{","\\textbraceleft"),r(n,a,s,"}","\\}"),r(i,a,f,"}","\\}"),r(i,a,f,"}","\\textbraceright"),r(n,a,m,"{","\\lbrace"),r(n,a,s,"}","\\rbrace"),r(n,a,m,"[","\\lbrack",!0),r(i,a,f,"[","\\lbrack",!0),r(n,a,s,"]","\\rbrack",!0),r(i,a,f,"]","\\rbrack",!0),r(n,a,m,"(","\\lparen",!0),r(n,a,s,")","\\rparen",!0),r(i,a,f,"<","\\textless",!0),r(i,a,f,">","\\textgreater",!0),r(n,a,m,"⌊","\\lfloor",!0),r(n,a,s,"⌋","\\rfloor",!0),r(n,a,m,"⌈","\\lceil",!0),r(n,a,s,"⌉","\\rceil",!0),r(n,a,f,"\\","\\backslash"),r(n,a,f,"∣","|"),r(n,a,f,"∣","\\vert"),r(i,a,f,"|","\\textbar",!0),r(n,a,f,"∥","\\|"),r(n,a,f,"∥","\\Vert"),r(i,a,f,"∥","\\textbardbl"),r(i,a,f,"~","\\textasciitilde"),r(i,a,f,"\\","\\textbackslash"),r(i,a,f,"^","\\textasciicircum"),r(n,a,u,"↑","\\uparrow",!0),r(n,a,u,"⇑","\\Uparrow",!0),r(n,a,u,"↓","\\downarrow",!0),r(n,a,u,"⇓","\\Downarrow",!0),r(n,a,u,"↕","\\updownarrow",!0),r(n,a,u,"⇕","\\Updownarrow",!0),r(n,a,h,"∐","\\coprod"),r(n,a,h,"⋁","\\bigvee"),r(n,a,h,"⋀","\\bigwedge"),r(n,a,h,"⨄","\\biguplus"),r(n,a,h,"⋂","\\bigcap"),r(n,a,h,"⋃","\\bigcup"),r(n,a,h,"∫","\\int"),r(n,a,h,"∫","\\intop"),r(n,a,h,"∬","\\iint"),r(n,a,h,"∭","\\iiint"),r(n,a,h,"∏","\\prod"),r(n,a,h,"∑","\\sum"),r(n,a,h,"⨂","\\bigotimes"),r(n,a,h,"⨁","\\bigoplus"),r(n,a,h,"⨀","\\bigodot"),r(n,a,h,"∮","\\oint"),r(n,a,h,"∯","\\oiint"),r(n,a,h,"∰","\\oiiint"),r(n,a,h,"⨆","\\bigsqcup"),r(n,a,h,"∫","\\smallint"),r(i,a,Ve,"…","\\textellipsis"),r(n,a,Ve,"…","\\mathellipsis"),r(i,a,Ve,"…","\\ldots",!0),r(n,a,Ve,"…","\\ldots",!0),r(n,a,Ve,"⋯","\\@cdots",!0),r(n,a,Ve,"⋱","\\ddots",!0),r(n,a,f,"⋮","\\varvdots"),r(n,a,e,"ˊ","\\acute"),r(n,a,e,"ˋ","\\grave"),r(n,a,e,"¨","\\ddot"),r(n,a,e,"~","\\tilde"),r(n,a,e,"ˉ","\\bar"),r(n,a,e,"˘","\\breve"),r(n,a,e,"ˇ","\\check"),r(n,a,e,"^","\\hat"),r(n,a,e,"⃗","\\vec"),r(n,a,e,"˙","\\dot"),r(n,a,e,"˚","\\mathring"),r(n,a,l,"","\\@imath"),r(n,a,l,"","\\@jmath"),r(n,a,f,"ı","ı"),r(n,a,f,"ȷ","ȷ"),r(i,a,f,"ı","\\i",!0),r(i,a,f,"ȷ","\\j",!0),r(i,a,f,"ß","\\ss",!0),r(i,a,f,"æ","\\ae",!0),r(i,a,f,"œ","\\oe",!0),r(i,a,f,"ø","\\o",!0),r(i,a,f,"Æ","\\AE",!0),r(i,a,f,"Œ","\\OE",!0),r(i,a,f,"Ø","\\O",!0),r(i,a,e,"ˊ","\\'"),r(i,a,e,"ˋ","\\`"),r(i,a,e,"ˆ","\\^"),r(i,a,e,"˜","\\~"),r(i,a,e,"ˉ","\\="),r(i,a,e,"˘","\\u"),r(i,a,e,"˙","\\."),r(i,a,e,"¸","\\c"),r(i,a,e,"˚","\\r"),r(i,a,e,"ˇ","\\v"),r(i,a,e,"¨",'\\"'),r(i,a,e,"˝","\\H"),r(i,a,e,"◯","\\textcircled"),{"--":!0,"---":!0,"``":!0,"''":!0});r(i,a,f,"–","--",!0),r(i,a,f,"–","\\textendash"),r(i,a,f,"—","---",!0),r(i,a,f,"—","\\textemdash"),r(i,a,f,"‘","`",!0),r(i,a,f,"‘","\\textquoteleft"),r(i,a,f,"’","'",!0),r(i,a,f,"’","\\textquoteright"),r(i,a,f,"“","``",!0),r(i,a,f,"“","\\textquotedblleft"),r(i,a,f,"”","''",!0),r(i,a,f,"”","\\textquotedblright"),r(n,a,f,"°","\\degree",!0),r(i,a,f,"°","\\degree"),r(i,a,f,"°","\\textdegree",!0),r(n,a,f,"£","\\pounds"),r(n,a,f,"£","\\mathsterling",!0),r(i,a,f,"£","\\pounds"),r(i,a,f,"£","\\textsterling",!0),r(n,t,f,"✠","\\maltese"),r(i,t,f,"✠","\\maltese");for(var Ue='0123456789/@."',Ye=0;Ye<Ue.length;Ye++){var Xe=Ue.charAt(Ye);r(n,a,f,Xe,Xe)}for(var We='0123456789!@*()-=+";:?/.,',je=0;je<We.length;je++){var _e=We.charAt(je);r(i,a,f,_e,_e)}for(var $e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",Ze=0;Ze<$e.length;Ze++){var Ke=$e.charAt(Ze);r(n,a,l,Ke,Ke),r(i,a,f,Ke,Ke)}r(n,t,f,"C","ℂ"),r(i,t,f,"C","ℂ"),r(n,t,f,"H","ℍ"),r(i,t,f,"H","ℍ"),r(n,t,f,"N","ℕ"),r(i,t,f,"N","ℕ"),r(n,t,f,"P","ℙ"),r(i,t,f,"P","ℙ"),r(n,t,f,"Q","ℚ"),r(i,t,f,"Q","ℚ"),r(n,t,f,"R","ℝ"),r(i,t,f,"R","ℝ"),r(n,t,f,"Z","ℤ"),r(i,t,f,"Z","ℤ"),r(n,a,l,"h","ℎ"),r(i,a,l,"h","ℎ");for(var g="",y=0;y<$e.length;y++){var x=$e.charAt(y);r(n,a,l,x,g=String.fromCharCode(55349,56320+y)),r(i,a,f,x,g),r(n,a,l,x,g=String.fromCharCode(55349,56372+y)),r(i,a,f,x,g),r(n,a,l,x,g=String.fromCharCode(55349,56424+y)),r(i,a,f,x,g),r(n,a,l,x,g=String.fromCharCode(55349,56580+y)),r(i,a,f,x,g),r(n,a,l,x,g=String.fromCharCode(55349,56736+y)),r(i,a,f,x,g),r(n,a,l,x,g=String.fromCharCode(55349,56788+y)),r(i,a,f,x,g),r(n,a,l,x,g=String.fromCharCode(55349,56840+y)),r(i,a,f,x,g),r(n,a,l,x,g=String.fromCharCode(55349,56944+y)),r(i,a,f,x,g),y<26&&(r(n,a,l,x,g=String.fromCharCode(55349,56632+y)),r(i,a,f,x,g),r(n,a,l,x,g=String.fromCharCode(55349,56476+y)),r(i,a,f,x,g))}r(n,a,l,"k",g=String.fromCharCode(55349,56668)),r(i,a,f,"k",g);for(var Je=0;Je<10;Je++){var Qe=Je.toString();r(n,a,l,Qe,g=String.fromCharCode(55349,57294+Je)),r(i,a,f,Qe,g),r(n,a,l,Qe,g=String.fromCharCode(55349,57314+Je)),r(i,a,f,Qe,g),r(n,a,l,Qe,g=String.fromCharCode(55349,57324+Je)),r(i,a,f,Qe,g),r(n,a,l,Qe,g=String.fromCharCode(55349,57334+Je)),r(i,a,f,Qe,g)}for(var et=0;et<"ÐÞþ".length;et++){var tt="ÐÞþ".charAt(et);r(n,a,l,tt,tt),r(i,a,f,tt,tt)}function rt(e,t,r){return{value:e=p[r][e]&&p[r][e].replace?p[r][e].replace:e,metrics:he(e,t,r)}}function nt(e,t,r,n,i){var a=rt(e,t,r),o=a.metrics;return e=a.value,a=o?(a=o.italic,("text"===r||n&&"mathit"===n.font)&&(a=0),new b(e,o.height,o.depth,a,o.skew,o.width,i)):("undefined"!=typeof console&&console.warn("No character metrics for '"+e+"' in style '"+t+"' and mode '"+r+"'"),new b(e,0,0,0,0,0,i)),n&&(a.maxFontSize=n.sizeMultiplier,n.style.isTight()&&a.classes.push("mtight"),o=n.getColor())&&(a.style.color=o),a}function it(e){for(var t=0,r=0,n=0,i=0;i<e.children.length;i++){var a=e.children[i];a.height>t&&(t=a.height),a.depth>r&&(r=a.depth),a.maxFontSize>n&&(n=a.maxFontSize)}e.height=t,e.depth=r,e.maxFontSize=n}function v(e,t,r,n){return e=new Se(e,t,r,n),it(e),e}function at(e,t,r,n){return new Se(e,t,r,n)}function ot(e){return e=new ie(e),it(e),e}function st(e,t,r){var n="";switch(e){case"amsrm":n="AMS";break;case"textrm":n="Main";break;case"textsf":n="SansSerif";break;case"texttt":n="Typewriter";break;default:n=e}return n+"-"+("textbf"===t&&"textit"===r?"BoldItalic":"textbf"===t?"Bold":"textit"===t?"Italic":"Regular")}var lt=[["mathbf","textbf","Main-Bold"],["mathbf","textbf","Main-Bold"],["mathnormal","textit","Math-Italic"],["mathnormal","textit","Math-Italic"],["boldsymbol","boldsymbol","Main-BoldItalic"],["boldsymbol","boldsymbol","Main-BoldItalic"],["mathscr","textscr","Script-Regular"],["","",""],["","",""],["","",""],["mathfrak","textfrak","Fraktur-Regular"],["mathfrak","textfrak","Fraktur-Regular"],["mathbb","textbb","AMS-Regular"],["mathbb","textbb","AMS-Regular"],["","",""],["","",""],["mathsf","textsf","SansSerif-Regular"],["mathsf","textsf","SansSerif-Regular"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathitsf","textitsf","SansSerif-Italic"],["mathitsf","textitsf","SansSerif-Italic"],["","",""],["","",""],["mathtt","texttt","Typewriter-Regular"],["mathtt","texttt","Typewriter-Regular"]],ht=[["mathbf","textbf","Main-Bold"],["","",""],["mathsf","textsf","SansSerif-Regular"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathtt","texttt","Typewriter-Regular"]],mt={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},ct={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},ee={fontMap:mt,makeSymbol:nt,mathsym:function(e,t,r,n){return void 0===n&&(n=[]),"boldsymbol"===r.font&&rt(e,"Main-Bold",t).metrics?nt(e,"Main-Bold",t,r,n.concat(["mathbf"])):"\\"===e||"main"===p[t][e].font?nt(e,"Main-Regular",t,r,n):nt(e,"AMS-Regular",t,r,n.concat(["amsrm"]))},makeSpan:v,makeSvgSpan:at,makeLineSpan:function(e,t,r){e=v([e],[],t);return e.height=Math.max(r||t.fontMetrics().defaultRuleThickness,t.minRuleThickness),e.style.borderBottomWidth=Q(e.height),e.maxFontSize=1,e},makeAnchor:function(e,t,r,n){e=new Me(e,t,r,n);return it(e),e},makeFragment:ot,wrapFragment:function(e,t){return e instanceof ie?v([],[e],t):e},makeVList:function(e,t){for(var e=function(e){if("individualShift"===e.positionType){for(var t=e.children,r=[t[0]],n=-t[0].shift-t[0].elem.depth,i=n,a=1;a<t.length;a++){var o=-t[a].shift-i-t[a].elem.depth,s=o-(t[a-1].elem.height+t[a-1].elem.depth);i+=o,r.push({type:"kern",size:s}),r.push(t[a])}return{children:r,depth:n}}var l;if("top"===e.positionType){for(var h=e.positionData,m=0;m<e.children.length;m++){var c=e.children[m];h-="kern"===c.type?c.size:c.elem.height+c.elem.depth}l=h}else if("bottom"===e.positionType)l=-e.positionData;else{n=e.children[0];if("elem"!==n.type)throw new Error('First child must have type "elem".');if("shift"===e.positionType)l=-n.elem.depth-e.positionData;else{if("firstBaseline"!==e.positionType)throw new Error("Invalid positionType "+e.positionType+".");l=-n.elem.depth}}return{children:e.children,depth:l}}(e),r=e.children,e=e.depth,n=0,i=0;i<r.length;i++){var a=r[i];"elem"===a.type&&(a=a.elem,n=Math.max(n,a.maxFontSize,a.height))}n+=2;var o=v(["pstrut"],[]);o.style.height=Q(n);for(var s=[],l=e,h=e,m=e,c=0;c<r.length;c++){var u,p,d,f=r[c];"kern"===f.type?m+=f.size:(u=f.elem,d=f.wrapperClasses||[],p=f.wrapperStyle||{},(d=v(d,[o,u],void 0,p)).style.top=Q(-n-m-u.depth),f.marginLeft&&(d.style.marginLeft=f.marginLeft),f.marginRight&&(d.style.marginRight=f.marginRight),s.push(d),m+=u.height+u.depth),l=Math.min(l,m),h=Math.max(h,m)}var g,e=v(["vlist"],s),y=(e.style.height=Q(h),g=l<0?(y=v([],[]),(y=v(["vlist"],[y])).style.height=Q(-l),g=v(["vlist-s"],[new b("")]),[v(["vlist-r"],[e,g]),v(["vlist-r"],[y])]):[v(["vlist-r"],[e])],v(["vlist-t"],g));return 2===g.length&&y.classes.push("vlist-t2"),y.height=h,y.depth=-l,y},makeOrd:function(e,t,r){var n,i,a,o,s=e.mode,l=e.text,h=["mord"],e="math"===s||"text"===s&&t.font,m=e?t.font:t.fontFamily;if(55349===l.charCodeAt(0))return o=(a=function(e,t){var r,n=1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536,t="math"===t?0:1;if(119808<=n&&n<120484)return r=Math.floor((n-119808)/26),[lt[r][2],lt[r][t]];if(120782<=n&&n<=120831)return r=Math.floor((n-120782)/10),[ht[r][2],ht[r][t]];if(120485==n||120486==n)return[lt[0][2],lt[0][t]];if(120486<n&&n<120782)return["",""];throw new $("Unsupported character: "+e)}(l,s))[0],a=a[1],nt(l,o,s,t,h.concat(a));if(m){if(i="boldsymbol"===m?(n=(o="textord"!==r&&rt(l,"Math-BoldItalic",s).metrics?{fontName:"Math-BoldItalic",fontClass:"boldsymbol"}:{fontName:"Main-Bold",fontClass:"mathbf"}).fontName,[o.fontClass]):e?(n=mt[m].fontName,[m]):(n=st(m,t.fontWeight,t.fontShape),[m,t.fontWeight,t.fontShape]),rt(l,n,s).metrics)return nt(l,n,s,t,h.concat(i));if(Ge.hasOwnProperty(l)&&"Typewriter"===n.substr(0,10)){for(var c=[],u=0;u<l.length;u++)c.push(nt(l[u],n,s,t,h.concat(i)));return ot(c)}}if("mathord"===r)return nt(l,"Math-Italic",s,t,h.concat(["mathnormal"]));if("textord"===r)return"ams"===(a=p[s][l]&&p[s][l].font)?(o=st("amsrm",t.fontWeight,t.fontShape),nt(l,o,s,t,h.concat("amsrm",t.fontWeight,t.fontShape))):"main"!==a&&a?(e=st(a,t.fontWeight,t.fontShape),nt(l,e,s,t,h.concat(e,t.fontWeight,t.fontShape))):(m=st("textrm",t.fontWeight,t.fontShape),nt(l,m,s,t,h.concat(t.fontWeight,t.fontShape)));throw new Error("unexpected type: "+r+" in makeOrd")},makeGlue:function(e,t){var r=v(["mspace"],[],t),e=J(e,t);return r.style.marginRight=Q(e),r},staticSvg:function(e,t){var e=ct[e],r=e[0],n=e[1],e=e[2],r=new Be(r),r=new Te([r],{width:Q(n),height:Q(e),style:"width:"+Q(n),viewBox:"0 0 "+1e3*n+" "+1e3*e,preserveAspectRatio:"xMinYMin"}),r=at(["overlay"],[r],t);return r.height=e,r.style.height=Q(e),r.style.width=Q(n),r},svgData:ct,tryCombineChars:function(e){for(var t=0;t<e.length-1;t++){var r=e[t],n=e[t+1];r instanceof b&&n instanceof b&&function(e,t){if(ge(e.classes)!==ge(t.classes)||e.skew!==t.skew||e.maxFontSize!==t.maxFontSize)return!1;if(1===e.classes.length){var r=e.classes[0];if("mbin"===r||"mord"===r)return!1}for(var n in e.style)if(e.style.hasOwnProperty(n)&&e.style[n]!==t.style[n])return!1;for(var i in t.style)if(t.style.hasOwnProperty(i)&&e.style[i]!==t.style[i])return!1;return!0}(r,n)&&(r.text+=n.text,r.height=Math.max(r.height,n.height),r.depth=Math.max(r.depth,n.depth),r.italic=n.italic,e.splice(t+1,1),t--)}return e}},d={number:3,unit:"mu"},c={number:4,unit:"mu"},o={number:5,unit:"mu"},ut={mord:{mop:d,mbin:c,mrel:o,minner:d},mop:{mord:d,mop:d,mrel:o,minner:d},mbin:{mord:c,mop:c,mopen:c,minner:c},mrel:{mord:o,mop:o,mopen:o,minner:o},mopen:{},mclose:{mop:d,mbin:c,mrel:o,minner:d},mpunct:{mord:d,mop:d,mrel:o,mopen:d,mclose:d,mpunct:d,minner:d},minner:{mord:d,mop:d,mbin:c,mrel:o,mopen:d,mpunct:d,minner:d}},pt={mord:{mop:d},mop:{mord:d,mop:d},mbin:{},mrel:{},mopen:{},mclose:{mop:d},mpunct:{},minner:{mop:d}},dt={},ft={},gt={};function w(e){for(var t=e.type,r=e.names,n=e.props,i=e.handler,a=e.htmlBuilder,e=e.mathmlBuilder,o={type:t,numArgs:n.numArgs,argTypes:n.argTypes,allowedInArgument:!!n.allowedInArgument,allowedInText:!!n.allowedInText,allowedInMath:void 0===n.allowedInMath||n.allowedInMath,numOptionalArgs:n.numOptionalArgs||0,infix:!!n.infix,primitive:!!n.primitive,handler:i},s=0;s<r.length;++s)dt[r[s]]=o;t&&(a&&(ft[t]=a),e)&&(gt[t]=e)}function yt(e){w({type:e.type,names:[],props:{numArgs:0},handler:function(){throw new Error("Should never be called.")},htmlBuilder:e.htmlBuilder,mathmlBuilder:e.mathmlBuilder})}function bt(e){return"ordgroup"===e.type&&1===e.body.length?e.body[0]:e}function k(e){return"ordgroup"===e.type?e.body:[e]}function te(e,t,r,n){void 0===n&&(n=[null,null]);for(var i,a,o=[],s=0;s<e.length;s++){var l,h=re(e[s],t);h instanceof ie?(l=h.children,o.push.apply(o,l)):o.push(h)}return ee.tryCombineChars(o),r&&(i=t,1===e.length&&("sizing"===(a=e[0]).type?i=t.havingSize(a.size):"styling"===a.type&&(i=t.havingStyle(Mt[a.style]))),a=wt([n[0]||"leftmost"],[],t),n=wt([n[1]||"rightmost"],[],t),At(o,function(e,t){var r=t.classes[0],n=e.classes[0];"mbin"===r&&Z.contains(St,n)?t.classes[0]="mord":"mbin"===n&&Z.contains(kt,r)&&(e.classes[0]="mord")},{node:a},n,r="root"===r),At(o,function(e,t){var t=Bt(t),r=Bt(e),e=t&&r?(e.hasClass("mtight")?pt:ut)[t][r]:null;if(e)return ee.makeGlue(e,i)},{node:a},n,r)),o}function xt(e,t){var r=Tt(e);if(r){r=r.children;if(r.length){if("right"===t)return xt(r[r.length-1],"right");if("left"===t)return xt(r[0],"left")}}return e}function vt(e,t){return e=["nulldelimiter"].concat(e.baseSizingClasses()),wt(t.concat(e))}var wt=ee.makeSpan,kt=["leftmost","mbin","mopen","mrel","mop","mpunct"],St=["rightmost","mrel","mclose","mpunct"],Mt={display:K.DISPLAY,text:K.TEXT,script:K.SCRIPT,scriptscript:K.SCRIPTSCRIPT},zt={mord:"mord",mop:"mop",mbin:"mbin",mrel:"mrel",mopen:"mopen",mclose:"mclose",mpunct:"mpunct",minner:"minner"},At=function e(r,t,n,i,a){i&&r.push(i);for(var o=0;o<r.length;o++){var s,l=r[o],h=Tt(l);h?e(h.children,t,n,null,a):((h=!l.hasClass("mspace"))&&(s=t(l,n.node))&&(n.insertAfter?n.insertAfter(s):(r.unshift(s),o++)),h?n.node=l:a&&l.hasClass("newline")&&(n.node=wt(["leftmost"])),n.insertAfter=function(t){return function(e){r.splice(t+1,0,e),o++}}(o))}i&&r.pop()},Tt=function(e){return e instanceof ie||e instanceof Me||e instanceof Se&&e.hasClass("enclosing")?e:null},Bt=function(e,t){return e&&(t&&(e=xt(e,t)),zt[e.classes[0]])||null},re=function(e,t,r){if(!e)return wt();var n;if(ft[e.type])return n=ft[e.type](e,t),r&&t.size!==r.size&&(n=wt(t.sizingClasses(r),[n],t),t=t.sizeMultiplier/r.sizeMultiplier,n.height*=t,n.depth*=t),n;throw new $("Got group of unknown type: '"+e.type+"'")};function Ct(e,t){e=wt(["base"],e,t),t=wt(["strut"]);return t.style.height=Q(e.height+e.depth),e.depth&&(t.style.verticalAlign=Q(-e.depth)),e.children.unshift(t),e}function Nt(e,t){var r=null;1===e.length&&"tag"===e[0].type&&(r=e[0].tag,e=e[0].body);var n,i=te(e,t,"root");2===i.length&&i[1].hasClass("tag")&&(n=i.pop());for(var a,o=[],s=[],l=0;l<i.length;l++)if(s.push(i[l]),i[l].hasClass("mbin")||i[l].hasClass("mrel")||i[l].hasClass("allowbreak")){for(var h=!1;l<i.length-1&&i[l+1].hasClass("mspace")&&!i[l+1].hasClass("newline");)l++,s.push(i[l]),i[l].hasClass("nobreak")&&(h=!0);h||(o.push(Ct(s,t)),s=[])}else i[l].hasClass("newline")&&(s.pop(),0<s.length&&(o.push(Ct(s,t)),s=[]),o.push(i[l]));0<s.length&&o.push(Ct(s,t)),r?((a=Ct(te(r,t,!0))).classes=["tag"],o.push(a)):n&&o.push(n);e=wt(["katex-html"],o);return e.setAttribute("aria-hidden","true"),a&&((r=a.children[0]).style.height=Q(e.height+e.depth),e.depth)&&(r.style.verticalAlign=Q(-e.depth)),e}function qt(e){return new ie(e)}function It(e,t,r){return!p[t][e]||!p[t][e].replace||55349===e.charCodeAt(0)||Ge.hasOwnProperty(e)&&r&&(r.fontFamily&&"tt"===r.fontFamily.substr(4,2)||r.font&&"tt"===r.font.substr(4,2))||(e=p[t][e].replace),new M.TextNode(e)}function Ot(e){return 1===e.length?e[0]:new M.MathNode("mrow",e)}function Rt(e,t){var r;return"texttt"===t.fontFamily?"monospace":"textsf"===t.fontFamily?"textit"===t.fontShape&&"textbf"===t.fontWeight?"sans-serif-bold-italic":"textit"===t.fontShape?"sans-serif-italic":"textbf"===t.fontWeight?"bold-sans-serif":"sans-serif":"textit"===t.fontShape&&"textbf"===t.fontWeight?"bold-italic":"textit"===t.fontShape?"italic":"textbf"===t.fontWeight?"bold":(t=t.font)&&"mathnormal"!==t?(r=e.mode,"mathit"===t?"italic":"boldsymbol"===t?"textord"===e.type?"bold":"bold-italic":"mathbf"===t?"bold":"mathbb"===t?"double-struck":"mathfrak"===t?"fraktur":"mathscr"===t||"mathcal"===t?"script":"mathsf"===t?"sans-serif":"mathtt"===t?"monospace":(e=e.text,!Z.contains(["\\imath","\\jmath"],e)&&he(e=p[r][e]&&p[r][e].replace?p[r][e].replace:e,ee.fontMap[t].fontName,r)?ee.fontMap[t].variant:null)):null}function S(e,t,r){var n;if(1===e.length)return n=z(e[0],t),r&&n instanceof Ht&&"mo"===n.type&&(n.setAttribute("lspace","0em"),n.setAttribute("rspace","0em")),[n];for(var i,a=[],o=0;o<e.length;o++){var s,l,h=z(e[o],t);if(h instanceof Ht&&i instanceof Ht){if("mtext"===h.type&&"mtext"===i.type&&h.getAttribute("mathvariant")===i.getAttribute("mathvariant")){(s=i.children).push.apply(s,h.children);continue}if("mn"===h.type&&"mn"===i.type){(s=i.children).push.apply(s,h.children);continue}if("mi"===h.type&&1===h.children.length&&"mn"===i.type){var m=h.children[0];if(m instanceof Lt&&"."===m.text){(m=i.children).push.apply(m,h.children);continue}}else"mi"===i.type&&1===i.children.length&&(m=i.children[0])instanceof Lt&&"̸"===m.text&&("mo"===h.type||"mi"===h.type||"mn"===h.type)&&(l=h.children[0])instanceof Lt&&0<l.text.length&&(l.text=l.text.slice(0,1)+"̸"+l.text.slice(1),a.pop())}a.push(h),i=h}return a}function Et(e,t,r){return Ot(S(e,t,r))}(m=Ft.prototype).setAttribute=function(e,t){this.attributes[e]=t},m.getAttribute=function(e){return this.attributes[e]},m.toNode=function(){var e,t=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&t.setAttribute(e,this.attributes[e]);0<this.classes.length&&(t.className=ge(this.classes));for(var r=0;r<this.children.length;r++)t.appendChild(this.children[r].toNode());return t},m.toMarkup=function(){var e,t="<"+this.type;for(e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&(t+=" "+e+'="',t+=Z.escape(this.attributes[e]),t+='"');0<this.classes.length&&(t+=' class ="'+Z.escape(ge(this.classes))+'"'),t+=">";for(var r=0;r<this.children.length;r++)t+=this.children[r].toMarkup();return t+("</"+this.type)+">"},m.toText=function(){return this.children.map(function(e){return e.toText()}).join("")};var Ht=Ft,Lt=((s=Pt.prototype).toNode=function(){return document.createTextNode(this.text)},s.toMarkup=function(){return Z.escape(this.toText())},s.toText=function(){return this.text},Pt),M={MathNode:Ht,TextNode:Lt,SpaceNode:((u=Dt.prototype).toNode=function(){var e;return this.character?document.createTextNode(this.character):((e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace")).setAttribute("width",Q(this.width)),e)},u.toMarkup=function(){return this.character?"<mtext>"+this.character+"</mtext>":'<mspace width="'+Q(this.width)+'"/>'},u.toText=function(){return this.character||" "},Dt),newDocumentFragment:qt},z=function(e,t){if(!e)return new M.MathNode("mrow");if(gt[e.type])return gt[e.type](e,t);throw new $("Got group of unknown type: '"+e.type+"'")};function Dt(e){this.width=void 0,this.character=void 0,this.width=e,this.character=.05555<=e&&e<=.05556?" ":.1666<=e&&e<=.1667?" ":.2222<=e&&e<=.2223?" ":.2777<=e&&e<=.2778?" ":-.05556<=e&&e<=-.05555?" ":-.1667<=e&&e<=-.1666?" ":-.2223<=e&&e<=-.2222?" ":-.2778<=e&&e<=-.2777?" ":null}function Pt(e){this.text=void 0,this.text=e}function Ft(e,t,r){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=t||[],this.classes=r||[]}function Vt(e,t,r,n,i){e=S(e,r),r=1===e.length&&e[0]instanceof Ht&&Z.contains(["mrow","mtable"],e[0].type)?e[0]:new M.MathNode("mrow",e),e=new M.MathNode("annotation",[new M.TextNode(t)]),e.setAttribute("encoding","application/x-tex"),t=new M.MathNode("semantics",[r,e]),r=new M.MathNode("math",[t]);return r.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&r.setAttribute("display","block"),ee.makeSpan([i?"katex":"katex-mathml"],[r])}function Gt(e){return(e=new M.MathNode("mo",[new M.TextNode(Wt[e.replace(/^\\/,"")])])).setAttribute("stretchy","true"),e}function Ut(f,g){var e=(r=function(){var e,t=4e5,r=f.label.substr(1);if(Z.contains(["widehat","widecheck","widetilde","utilde"],r))return a=5<(a="ordgroup"===(a=f.base).type?a.body.length:1)?"widehat"===r||"widecheck"===r?(s=420,t=2364,e=.42,r+"4"):(s=312,t=2340,e=.34,"tilde4"):(a=[1,1,2,2,3,3][a],"widehat"===r||"widecheck"===r?(t=[0,1062,2364,2364,2364][a],s=[0,239,300,360,420][a],e=[0,.24,.3,.3,.36,.42][a],r+a):(t=[0,600,1033,2339,2340][a],s=[0,260,286,306,312][a],e=[0,.26,.286,.3,.306,.34][a],"tilde"+a)),a=new Be(a),a=new Te([a],{width:"100%",height:Q(e),viewBox:"0 0 "+t+" "+s,preserveAspectRatio:"none"}),{span:ee.makeSvgSpan([],[a],g),minWidth:0,height:e};var n,i,a,o=[],s=jt[r],l=s[0],h=s[1],m=s[2],c=m/1e3,u=l.length;if(1===u)n=["hide-tail"],i=[s[3]];else if(2===u)n=["halfarrow-left","halfarrow-right"],i=["xMinYMin","xMaxYMin"];else{if(3!==u)throw new Error("Correct katexImagesData or update code here to support\n "+u+" children.");n=["brace-left","brace-center","brace-right"],i=["xMinYMin","xMidYMin","xMaxYMin"]}for(var p=0;p<u;p++){var d=new Be(l[p]),d=new Te([d],{width:"400em",height:Q(c),viewBox:"0 0 "+t+" "+m,preserveAspectRatio:i[p]+" slice"}),d=ee.makeSvgSpan([n[p]],[d],g);if(1===u)return{span:d,minWidth:h,height:c};d.style.height=Q(c),o.push(d)}return{span:ee.makeSpan(["stretchy"],o,g),minWidth:h,height:c}}()).span,t=r.minWidth,r=r.height;return e.height=r,e.style.height=Q(r),0<t&&(e.style.minWidth=Q(t)),e}var Yt=function(e){return new ve({style:e.displayMode?K.DISPLAY:K.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},Xt=function(e,t){var r;return t.displayMode&&(r=["katex-display"],t.leqno&&r.push("leqno"),t.fleqn&&r.push("fleqn"),e=ee.makeSpan(r,[e])),e},Wt={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},jt={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]};function A(e,t){if(e&&e.type===t)return e;throw new Error("Expected node of type "+t+", but got "+(e?"node of type "+e.type:String(e)))}function _t(e){var t=$t(e);if(t)return t;throw new Error("Expected node of symbol group type, but got "+(e?"node of type "+e.type:String(e)))}function $t(e){return e&&("atom"===e.type||Pe.hasOwnProperty(e.type))?e:null}function Zt(e,t){e&&"supsub"===e.type?(s=(r=A(e.base,"accent")).base,e.base=s,n=function(e){if(e instanceof Se)return e;throw new Error("Expected span<HtmlDomNode> but got "+String(e)+".")}(re(e,t)),e.base=r):s=(r=A(e,"accent")).base;var r,n,e=re(s,t.havingCrampedStyle()),i=0;r.isShifty&&Z.isCharacterBox(s)&&(s=Z.getBaseElem(s),i=Le(re(s,t.havingCrampedStyle())).skew);var a,o,s="\\c"===r.label,l=s?e.height+e.depth:Math.min(e.height,t.fontMetrics().xHeight),h=r.isStretchy?(h=Ut(r,t),ee.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:e},{type:"elem",elem:h,wrapperClasses:["svg-align"],wrapperStyle:0<i?{width:"calc(100% - "+Q(2*i)+")",marginLeft:Q(2*i)}:void 0}]},t)):("\\vec"===r.label?(o=ee.staticSvg("vec",t),a=ee.svgData.vec[1]):((o=Le(o=ee.makeOrd({mode:r.mode,text:r.label},t,"textord"))).italic=0,a=o.width,s&&(l+=o.depth)),h=ee.makeSpan(["accent-body"],[o]),(s="\\textcircled"===r.label)&&(h.classes.push("accent-full"),l=e.height),o=i,s||(o-=a/2),h.style.left=Q(o),"\\textcircled"===r.label&&(h.style.top=".2em"),ee.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:e},{type:"kern",size:-l},{type:"elem",elem:h}]},t)),i=ee.makeSpan(["mord","accent"],[h],t);return n?(n.children[0]=i,n.height=Math.max(i.height,n.height),n.classes[0]="mord",n):i}function Kt(e,t){var r=e.isStretchy?Gt(e.label):new M.MathNode("mo",[It(e.label,e.mode)]);return(e=new M.MathNode("mover",[z(e.base,t),r])).setAttribute("accent","true"),e}function Jt(e){return(e=new M.MathNode("mpadded",e?[e]:[])).setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e}function Qt(e){return"textord"===e.type&&"@"===e.text}var e0=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(function(e){return"\\"+e}).join("|")),t0=(w({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:function(e,t){var t=bt(t[0]),r=!e0.test(e.funcName),n=!r||"\\widehat"===e.funcName||"\\widetilde"===e.funcName||"\\widecheck"===e.funcName;return{type:"accent",mode:e.parser.mode,label:e.funcName,isStretchy:r,isShifty:n,base:t}},htmlBuilder:Zt,mathmlBuilder:Kt}),w({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:function(e,t){var t=t[0],r=e.parser.mode;return"math"===r&&(e.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+e.funcName+" works only in text mode"),r="text"),{type:"accent",mode:r,label:e.funcName,isStretchy:!1,isShifty:!0,base:t}},htmlBuilder:Zt,mathmlBuilder:Kt}),w({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:function(e,t){var r=e.parser,e=e.funcName,t=t[0];return{type:"accentUnder",mode:r.mode,label:e,base:t}},htmlBuilder:function(e,t){var r=re(e.base,t),n=Ut(e,t),e="\\utilde"===e.label?.12:0,n=ee.makeVList({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:e},{type:"elem",elem:r}]},t);return ee.makeSpan(["mord","accentunder"],[n],t)},mathmlBuilder:function(e,t){var r=Gt(e.label),e=new M.MathNode("munder",[z(e.base,t),r]);return e.setAttribute("accentunder","true"),e}}),w({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler:function(e,t,r){var n=e.parser,e=e.funcName;return{type:"xArrow",mode:n.mode,label:e,body:t[0],below:r[0]}},htmlBuilder:function(e,t){var r=t.style,n=t.havingStyle(r.sup()),i=ee.wrapFragment(re(e.body,n,t),t),a="\\x"===e.label.slice(0,2)?"x":"cd";i.classes.push(a+"-arrow-pad"),e.below&&(n=t.havingStyle(r.sub()),(o=ee.wrapFragment(re(e.below,n,t),t)).classes.push(a+"-arrow-pad"));var o,r=Ut(e,t),n=-t.fontMetrics().axisHeight+.5*r.height,a=-t.fontMetrics().axisHeight-.5*r.height-.111;return(.25<i.depth||"\\xleftequilibrium"===e.label)&&(a-=i.depth),(o=o?(e=-t.fontMetrics().axisHeight+o.height+.5*r.height+.111,ee.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:a},{type:"elem",elem:r,shift:n},{type:"elem",elem:o,shift:e}]},t)):ee.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:a},{type:"elem",elem:r,shift:n}]},t)).children[0].children[0].children[1].classes.push("svg-align"),ee.makeSpan(["mrel","x-arrow"],[o],t)},mathmlBuilder:function(e,t){var r,n,i,a=Gt(e.label);return a.setAttribute("minsize","x"===e.label.charAt(0)?"1.75em":"3.0em"),n=e.body?(r=Jt(z(e.body,t)),e.below?(i=Jt(z(e.below,t)),new M.MathNode("munderover",[a,i,r])):new M.MathNode("mover",[a,r])):e.below?(i=Jt(z(e.below,t)),new M.MathNode("munder",[a,i])):(n=Jt(),new M.MathNode("mover",[a,n]))}}),{">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"});w({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler:function(e,t){var r=e.parser,e=e.funcName;return{type:"cdlabel",mode:r.mode,side:e.slice(4),label:t[0]}},htmlBuilder:function(e,t){var r=t.havingStyle(t.style.sup()),r=ee.wrapFragment(re(e.label,r,t),t);return r.classes.push("cd-label-"+e.side),r.style.bottom=Q(.8-r.depth),r.height=0,r.depth=0,r},mathmlBuilder:function(e,t){t=new M.MathNode("mrow",[z(e.label,t)]);return(t=new M.MathNode("mpadded",[t])).setAttribute("width","0"),"left"===e.side&&t.setAttribute("lspace","-1width"),t.setAttribute("voffset","0.7em"),(t=new M.MathNode("mstyle",[t])).setAttribute("displaystyle","false"),t.setAttribute("scriptlevel","1"),t}}),w({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler:function(e,t){return{type:"cdlabelparent",mode:e.parser.mode,fragment:t[0]}},htmlBuilder:function(e,t){e=ee.wrapFragment(re(e.fragment,t),t);return e.classes.push("cd-vert-arrow"),e},mathmlBuilder:function(e,t){return new M.MathNode("mrow",[z(e.fragment,t)])}}),w({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){for(var e=e.parser,r=A(t[0],"ordgroup").body,n="",i=0;i<r.length;i++)n+=A(r[i],"textord").text;var t=parseInt(n);if(isNaN(t))throw new $("\\@char has non-numeric argument "+n);if(t<0||1114111<=t)throw new $("\\@char with invalid code point "+n);return t=t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode(55296+(t>>10),56320+(1023&t))),{type:"textord",mode:e.mode,text:t}}});function r0(e,t){return t=te(e.body,t.withColor(e.color),!1),ee.makeFragment(t)}function n0(e,t){return t=S(e.body,t.withColor(e.color)),(t=new M.MathNode("mstyle",t)).setAttribute("mathcolor",e.color),t}function i0(e){var t=e.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(t))throw new $("Expected a control sequence",e);return t}function a0(e,t,r,n){var i=e.gullet.macros.get(r.text);null==i&&(r.noexpand=!0,i={tokens:[r],numArgs:0,unexpandable:!e.gullet.isExpandable(r.text)}),e.gullet.macros.set(t,i,n)}function o0(e,t,r){if(r=he(p.math[e]&&p.math[e].replace||e,t,r))return r;throw new Error("Unsupported symbol "+e+" and font size "+t+".")}function s0(e,t,r,n){return t=r.havingBaseStyle(t),n=ee.makeSpan(n.concat(t.sizingClasses(r)),[e],r),e=t.sizeMultiplier/r.sizeMultiplier,n.height*=e,n.depth*=e,n.maxFontSize=t.sizeMultiplier,n}function l0(e,t,r){r=t.havingBaseStyle(r),r=(1-t.sizeMultiplier/r.sizeMultiplier)*t.fontMetrics().axisHeight,e.classes.push("delimcenter"),e.style.top=Q(r),e.height-=r,e.depth+=r}function h0(e,t,r,n,i,a){return e=ee.makeSymbol(e,"Size"+t+"-Regular",i,n),i=s0(ee.makeSpan(["delimsizing","size"+t],[e],n),K.TEXT,n,a),r&&l0(i,n,K.TEXT),i}function m0(e,t,r){return{type:"elem",elem:ee.makeSpan(["delimsizinginner","Size1-Regular"===t?"delim-size1":"delim-size4"],[ee.makeSpan([],[ee.makeSymbol(e,t,r)])])}}function c0(e,t,r){var n=(ae["Size4-Regular"][e.charCodeAt(0)]?ae["Size4-Regular"]:ae["Size1-Regular"])[e.charCodeAt(0)][4],e=new Be("inner",function(e,t){switch(e){case"⎜":return"M291 0 H417 V"+t+" H291z M291 0 H417 V"+t+" H291z";case"∣":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145z";case"∥":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145zM367 0 H410 V"+t+" H367z M367 0 H410 V"+t+" H367z";case"⎟":return"M457 0 H583 V"+t+" H457z M457 0 H583 V"+t+" H457z";case"⎢":return"M319 0 H403 V"+t+" H319z M319 0 H403 V"+t+" H319z";case"⎥":return"M263 0 H347 V"+t+" H263z M263 0 H347 V"+t+" H263z";case"⎪":return"M384 0 H504 V"+t+" H384z M384 0 H504 V"+t+" H384z";case"⏐":return"M312 0 H355 V"+t+" H312z M312 0 H355 V"+t+" H312z";case"‖":return"M257 0 H300 V"+t+" H257z M257 0 H300 V"+t+" H257zM478 0 H521 V"+t+" H478z M478 0 H521 V"+t+" H478z";default:return""}}(e,Math.round(1e3*t))),e=new Te([e],{width:Q(n),height:Q(t),style:"width:"+Q(n),viewBox:"0 0 "+1e3*n+" "+Math.round(1e3*t),preserveAspectRatio:"xMinYMin"});return(e=ee.makeSvgSpan([],[e],r)).height=t,e.style.height=Q(t),e.style.width=Q(n),{type:"elem",elem:e}}function u0(e,t,r,n,i,a){var o,s=o=f=e,l=null,h="Size1-Regular";"\\uparrow"===e?o=f="⏐":"\\Uparrow"===e?o=f="‖":"\\downarrow"===e?s=o="⏐":"\\Downarrow"===e?s=o="‖":"\\updownarrow"===e?(s="\\uparrow",o="⏐",f="\\downarrow"):"\\Updownarrow"===e?(s="\\Uparrow",o="‖",f="\\Downarrow"):Z.contains(b0,e)?o="∣":Z.contains(x0,e)?o="∥":"["===e||"\\lbrack"===e?(s="⎡",o="⎢",f="⎣",h="Size4-Regular"):"]"===e||"\\rbrack"===e?(s="⎤",o="⎥",f="⎦",h="Size4-Regular"):"\\lfloor"===e||"⌊"===e?(o=s="⎢",f="⎣",h="Size4-Regular"):"\\lceil"===e||"⌈"===e?(s="⎡",o=f="⎢",h="Size4-Regular"):"\\rfloor"===e||"⌋"===e?(o=s="⎥",f="⎦",h="Size4-Regular"):"\\rceil"===e||"⌉"===e?(s="⎤",o=f="⎥",h="Size4-Regular"):"("===e||"\\lparen"===e?(s="⎛",o="⎜",f="⎝",h="Size4-Regular"):")"===e||"\\rparen"===e?(s="⎞",o="⎟",f="⎠",h="Size4-Regular"):"\\{"===e||"\\lbrace"===e?(s="⎧",l="⎨",f="⎩",o="⎪",h="Size4-Regular"):"\\}"===e||"\\rbrace"===e?(s="⎫",l="⎬",f="⎭",o="⎪",h="Size4-Regular"):"\\lgroup"===e||"⟮"===e?(s="⎧",f="⎩",o="⎪",h="Size4-Regular"):"\\rgroup"===e||"⟯"===e?(s="⎫",f="⎭",o="⎪",h="Size4-Regular"):"\\lmoustache"===e||"⎰"===e?(s="⎧",f="⎭",o="⎪",h="Size4-Regular"):"\\rmoustache"!==e&&"⎱"!==e||(s="⎫",f="⎩",o="⎪",h="Size4-Regular");var e=(e=o0(s,h,i)).height+e.depth,m=(m=o0(o,h,i)).height+m.depth,c=(c=o0(f,h,i)).height+c.depth,u=0,p=1;null!==l&&(u=(d=o0(l,h,i)).height+d.depth,p=2);var t=(d=e+c+u)+Math.max(0,Math.ceil((t-d)/(p*m)))*p*m,d=n.fontMetrics().axisHeight,p=(r&&(d*=n.sizeMultiplier),t/2-d),d=((m=[]).push(m0(f,h,i)),m.push(y0),null===l?m.push(c0(o,t-e-c+.016,n)):(m.push(c0(o,r=(t-e-c-u)/2+.016,n)),m.push(y0),m.push(m0(l,h,i)),m.push(y0),m.push(c0(o,r,n))),m.push(y0),m.push(m0(s,h,i)),n.havingBaseStyle(K.TEXT)),f=ee.makeVList({positionType:"bottom",positionData:p,children:m},d);return s0(ee.makeSpan(["delimsizing","mult"],[f],d),K.TEXT,n,a)}function p0(n,e,t,r,i){return r=function(e,t){e*=1e3;var r="";switch(n){case"sqrtMain":r="M95,"+(622+e+80)+"\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl"+e/2.075+" -"+e+"\nc5.3,-9.3,12,-14,20,-14\nH400000v"+(40+e)+"H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM"+(834+e)+" 80h400000v"+(40+e)+"h-400000z";break;case"sqrtSize1":r="M263,"+(601+e+80)+"c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl"+e/2.084+" -"+e+"\nc4.7,-7.3,11,-11,19,-11\nH40000v"+(40+e)+"H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM"+(1001+e)+" 80h400000v"+(40+e)+"h-400000z";break;case"sqrtSize2":r="M983 "+(10+e+80)+"\nl"+e/3.13+" -"+e+"\nc4,-6.7,10,-10,18,-10 H400000v"+(40+e)+"\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\nM"+(1001+e)+" 80h400000v"+(40+e)+"h-400000z";break;case"sqrtSize3":r="M424,"+(2398+e+80)+"\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\nl"+e/4.223+" -"+e+"c4,-6.7,10,-10,18,-10 H400000\nv"+(40+e)+"H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\nc-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M"+(1001+e)+" 80\nh400000v"+(40+e)+"h-400000z";break;case"sqrtSize4":r="M473,"+(2713+e+80)+"\nc339.3,-1799.3,509.3,-2700,510,-2702 l"+e/5.298+" -"+e+"\nc3.3,-7.3,9.3,-11,18,-11 H400000v"+(40+e)+"H1017.7\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\n606zM"+(1001+e)+" 80h400000v"+(40+e)+"H1017.7z";break;case"sqrtTall":r="M702 "+(80+e)+"H400000"+(40+e)+"\nH742v"+(t-54-80-e)+"l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 80H400000v"+(40+e)+"H742z"}return r}(r,t),r=new Be(n,r),r=new Te([r],{width:"400em",height:Q(e),viewBox:"0 0 400000 "+t,preserveAspectRatio:"xMinYMin slice"}),ee.makeSvgSpan(["hide-tail"],[r],i)}function d0(e,t,r,n){for(var i=Math.min(2,3-n.style.size);i<r.length&&"stack"!==r[i].type;i++){var a=o0(e,function(e){if("small"===e.type)return"Main-Regular";if("large"===e.type)return"Size"+e.size+"-Regular";if("stack"===e.type)return"Size4-Regular";throw new Error("Add support for delim type '"+e.type+"' here.")}(r[i]),"math"),a=a.height+a.depth;if("small"===r[i].type&&(a*=n.havingBaseStyle(r[i].style).sizeMultiplier),t<a)return r[i]}return r[r.length-1]}function f0(e,t,r,n,i,a){"<"===e||"\\lt"===e||"⟨"===e?e="\\langle":">"!==e&&"\\gt"!==e&&"⟩"!==e||(e="\\rangle"),c=Z.contains(k0,e)?M0:Z.contains(v0,e)?A0:z0;var o,s,l,h,m,c=d0(e,t,c,n);return"small"===c.type?(o=e,s=c.style,l=r,h=n,m=a,o=ee.makeSymbol(o,"Main-Regular",i,h),o=s0(o,s,h,m),l&&l0(o,h,s),o):"large"===c.type?h0(e,c.size,r,n,i,a):u0(e,t,r,n,i,a)}w({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler:function(e,t){var e=e.parser,r=A(t[0],"color-token").color,t=t[1];return{type:"color",mode:e.mode,color:r,body:k(t)}},htmlBuilder:r0,mathmlBuilder:n0}),w({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler:function(e,t){var r=e.parser,e=e.breakOnTokenText,t=A(t[0],"color-token").color,e=(r.gullet.macros.set("\\current@color",t),r.parseExpression(!0,e));return{type:"color",mode:r.mode,color:t,body:e}},htmlBuilder:r0,mathmlBuilder:n0}),w({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:1,argTypes:["size"],allowedInText:!0},handler:function(e,t,r){var e=e.parser,r=r[0],n=!e.settings.displayMode||!e.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:e.mode,newLine:n,size:r&&A(r,"size").value}},htmlBuilder:function(e,t){var r=ee.makeSpan(["mspace"],[],t);return e.newLine&&(r.classes.push("newline"),e.size)&&(r.style.marginTop=Q(J(e.size,t))),r},mathmlBuilder:function(e,t){var r=new M.MathNode("mspace");return e.newLine&&(r.setAttribute("linebreak","newline"),e.size)&&r.setAttribute("height",Q(J(e.size,t))),r}});var g0={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},y0=(w({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler:function(e){var t=e.parser,e=e.funcName,r=(t.consumeSpaces(),t.fetch());if(g0[r.text])return"\\global"!==e&&"\\\\globallong"!==e||(r.text=g0[r.text]),A(t.parseFunction(),"internal");throw new $("Invalid token after macro prefix",r)}}),w({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler:function(e){var t=e.parser,e=e.funcName,r=t.gullet.popToken(),n=r.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(n))throw new $("Expected a control sequence",r);for(var i,a=0,o=[[]];"{"!==t.gullet.future().text;)if("#"===(r=t.gullet.popToken()).text){if("{"===t.gullet.future().text){i=t.gullet.future(),o[a].push("{");break}if(r=t.gullet.popToken(),!/^[1-9]$/.test(r.text))throw new $('Invalid argument number "'+r.text+'"');if(parseInt(r.text)!==a+1)throw new $('Argument number "'+r.text+'" out of order');a++,o.push([])}else{if("EOF"===r.text)throw new $("Expected a macro definition");o[a].push(r.text)}var s=t.gullet.consumeArg().tokens;return i&&s.unshift(i),"\\edef"!==e&&"\\xdef"!==e||(s=t.gullet.expandTokens(s)).reverse(),t.gullet.macros.set(n,{tokens:s,numArgs:a,delimiters:o},e===g0[e]),{type:"internal",mode:t.mode}}}),w({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler:function(e){var t,r,n=e.parser,e=e.funcName,i=i0(n.gullet.popToken());n.gullet.consumeSpaces(),r="="===(r=(t=n).gullet.popToken()).text&&" "===(r=t.gullet.popToken()).text?t.gullet.popToken():r;return a0(n,i,r,"\\\\globallet"===e),{type:"internal",mode:n.mode}}}),w({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler:function(e){var t=e.parser,e=e.funcName,r=i0(t.gullet.popToken()),n=t.gullet.popToken(),i=t.gullet.popToken();return a0(t,r,i,"\\\\globalfuture"===e),t.gullet.pushToken(i),t.gullet.pushToken(n),{type:"internal",mode:t.mode}}}),{type:"kern",size:-.008}),b0=["|","\\lvert","\\rvert","\\vert"],x0=["\\|","\\lVert","\\rVert","\\Vert"],v0=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"],w0=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"],k0=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],S0=[0,1.2,1.8,2.4,3],M0=[{type:"small",style:K.SCRIPTSCRIPT},{type:"small",style:K.SCRIPT},{type:"small",style:K.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],z0=[{type:"small",style:K.SCRIPTSCRIPT},{type:"small",style:K.SCRIPT},{type:"small",style:K.TEXT},{type:"stack"}],A0=[{type:"small",style:K.SCRIPTSCRIPT},{type:"small",style:K.SCRIPT},{type:"small",style:K.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],T0={sqrtImage:function(e,t){var r,n=t.havingBaseSizing(),i=d0("\\surd",e*n.sizeMultiplier,A0,n),n=n.sizeMultiplier,a=Math.max(0,t.minRuleThickness-t.fontMetrics().sqrtRuleThickness),o=0,s=0,l=0,i="small"===i.type?(e<1?n=1:e<1.4&&(n=.7),s=(1+a)/n,(r=p0("sqrtMain",o=(1+a+.08)/n,l=1e3+1e3*a+80,a,t)).style.minWidth="0.853em",.833/n):"large"===i.type?(l=1080*S0[i.size],s=(S0[i.size]+a)/n,o=(S0[i.size]+a+.08)/n,(r=p0("sqrtSize"+i.size,o,l,a,t)).style.minWidth="1.02em",1/n):(o=e+a+.08,s=e+a,l=Math.floor(1e3*e+a)+80,(r=p0("sqrtTall",o,l,a,t)).style.minWidth="0.742em",1.056);return r.height=s,r.style.height=Q(o),{span:r,advanceWidth:i,ruleWidth:(t.fontMetrics().sqrtRuleThickness+a)*n}},sizedDelim:function(e,t,r,n,i){if("<"===e||"\\lt"===e||"⟨"===e?e="\\langle":">"!==e&&"\\gt"!==e&&"⟩"!==e||(e="\\rangle"),Z.contains(v0,e)||Z.contains(k0,e))return h0(e,t,!1,r,n,i);if(Z.contains(w0,e))return u0(e,S0[t],!1,r,n,i);throw new $("Illegal delimiter: '"+e+"'")},sizeToMaxHeight:S0,customSizedDelim:f0,leftRightDelim:function(e,t,r,n,i,a){var o=n.fontMetrics().axisHeight*n.sizeMultiplier,s=5/n.fontMetrics().ptPerEm,t=Math.max(t-o,r+o),r=Math.max(t/500*901,2*t-s);return f0(e,r,!0,n,i,a)}},B0={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},C0=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];function N0(e,t){var r=$t(e);if(r&&Z.contains(C0,r.text))return r;throw new $(r?"Invalid delimiter '"+r.text+"' after '"+t.funcName+"'":"Invalid delimiter type '"+e.type+"'",e)}function q0(e){if(!e.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}w({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:function(e,t){t=N0(t[0],e);return{type:"delimsizing",mode:e.parser.mode,size:B0[e.funcName].size,mclass:B0[e.funcName].mclass,delim:t.text}},htmlBuilder:function(e,t){return"."===e.delim?ee.makeSpan([e.mclass]):T0.sizedDelim(e.delim,e.size,t,e.mode,[e.mclass])},mathmlBuilder:function(e){var t=[],t=("."!==e.delim&&t.push(It(e.delim,e.mode)),new M.MathNode("mo",t)),e=("mopen"===e.mclass||"mclose"===e.mclass?t.setAttribute("fence","true"):t.setAttribute("fence","false"),t.setAttribute("stretchy","true"),Q(T0.sizeToMaxHeight[e.size]));return t.setAttribute("minsize",e),t.setAttribute("maxsize",e),t}}),w({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:function(e,t){var r=e.parser.gullet.macros.get("\\current@color");if(r&&"string"!=typeof r)throw new $("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:e.parser.mode,delim:N0(t[0],e).text,color:r}}}),w({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:function(e,t){var t=N0(t[0],e),e=e.parser,r=(++e.leftrightDepth,e.parseExpression(!1)),n=(--e.leftrightDepth,e.expect("\\right",!1),A(e.parseFunction(),"leftright-right"));return{type:"leftright",mode:e.mode,body:r,left:t.text,right:n.delim,rightColor:n.color}},htmlBuilder:function(e,t){q0(e);for(var r,n=te(e.body,t,!0,["mopen","mclose"]),i=0,a=0,o=!1,s=0;s<n.length;s++)n[s].isMiddle?o=!0:(i=Math.max(n[s].height,i),a=Math.max(n[s].depth,a));if(i*=t.sizeMultiplier,a*=t.sizeMultiplier,r="."===e.left?vt(t,["mopen"]):T0.leftRightDelim(e.left,i,a,t,e.mode,["mopen"]),n.unshift(r),o)for(var l=1;l<n.length;l++){var h=n[l].isMiddle;h&&(n[l]=T0.leftRightDelim(h.delim,i,a,h.options,e.mode,[]))}return r="."===e.right?vt(t,["mclose"]):(r=e.rightColor?t.withColor(e.rightColor):t,T0.leftRightDelim(e.right,i,a,r,e.mode,["mclose"])),n.push(r),ee.makeSpan(["minner"],n,t)},mathmlBuilder:function(e,t){q0(e);var r,t=S(e.body,t);return"."!==e.left&&((r=new M.MathNode("mo",[It(e.left,e.mode)])).setAttribute("fence","true"),t.unshift(r)),"."!==e.right&&((r=new M.MathNode("mo",[It(e.right,e.mode)])).setAttribute("fence","true"),e.rightColor&&r.setAttribute("mathcolor",e.rightColor),t.push(r)),Ot(t)}}),w({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:function(e,t){t=N0(t[0],e);if(e.parser.leftrightDepth)return{type:"middle",mode:e.parser.mode,delim:t.text};throw new $("\\middle without preceding \\left",t)},htmlBuilder:function(e,t){var r;return"."===e.delim?r=vt(t,[]):(r=T0.sizedDelim(e.delim,1,t,e.mode,[]),e={delim:e.delim,options:t},r.isMiddle=e),r},mathmlBuilder:function(e,t){e="\\vert"===e.delim||"|"===e.delim?It("|","text"):It(e.delim,e.mode),e=new M.MathNode("mo",[e]);return e.setAttribute("fence","true"),e.setAttribute("lspace","0.05em"),e.setAttribute("rspace","0.05em"),e}});function I0(e,t){var r,n,i,a,o,s,l,h,m=ee.wrapFragment(re(e.body,t),t),c=e.label.substr(1),u=t.sizeMultiplier,p=0,d=Z.isCharacterBox(e.body);return"sout"===c?((r=ee.makeSpan(["stretchy","sout"])).height=t.fontMetrics().defaultRuleThickness/u,p=-.5*t.fontMetrics().xHeight):"phase"===c?(n=J({number:.6,unit:"pt"},t),o=J({number:.35,unit:"ex"},t),u/=t.havingBaseSizing().sizeMultiplier,i=m.height+m.depth+n+o,m.style.paddingLeft=Q(i/2+n),u=Math.floor(1e3*i*u),u=new Te([new Be("phase","M400000 "+u+" H0 L"+u/2+" 0 l65 45 L145 "+(u-80)+" H400000z")],{width:"400em",height:Q(u/1e3),viewBox:"0 0 400000 "+u,preserveAspectRatio:"xMinYMin slice"}),(r=ee.makeSvgSpan(["hide-tail"],[u],t)).style.height=Q(i),p=m.depth+n+o):(/cancel/.test(c)?d||m.classes.push("cancel-pad"):"angl"===c?m.classes.push("anglpad"):m.classes.push("boxpad"),n=i=u=0,i=/box/.test(c)?(n=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness),u=t.fontMetrics().fboxsep+("colorbox"===c?0:n)):"angl"===c?(u=4*(n=Math.max(t.fontMetrics().defaultRuleThickness,t.minRuleThickness)),Math.max(0,.25-m.depth)):u=d?.2:0,o=c,u=u,h=i,s=t,a=(a=m).height+a.depth+u+h,/fbox|color|angl/.test(o)?(l=ee.makeSpan(["stretchy",o],[],s),"fbox"===o&&(u=s.color&&s.getColor())&&(l.style.borderColor=u)):(h=[],/^[bx]cancel$/.test(o)&&h.push(new Ce({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(o)&&h.push(new Ce({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"})),u=new Te(h,{width:"100%",height:Q(a)}),l=ee.makeSvgSpan([],[u],s)),l.height=a,l.style.height=Q(a),r=l,/fbox|boxed|fcolorbox/.test(c)?(r.style.borderStyle="solid",r.style.borderWidth=Q(n)):"angl"===c&&.049!==n&&(r.style.borderTopWidth=Q(n),r.style.borderRightWidth=Q(n)),p=m.depth+i,e.backgroundColor&&(r.style.backgroundColor=e.backgroundColor,e.borderColor)&&(r.style.borderColor=e.borderColor)),u=e.backgroundColor?ee.makeVList({positionType:"individualShift",children:[{type:"elem",elem:r,shift:p},{type:"elem",elem:m,shift:0}]},t):(h=/cancel|phase/.test(c)?["svg-align"]:[],ee.makeVList({positionType:"individualShift",children:[{type:"elem",elem:m,shift:0},{type:"elem",elem:r,shift:p,wrapperClasses:h}]},t)),/cancel/.test(c)&&(u.height=m.height,u.depth=m.depth),/cancel/.test(c)&&!d?ee.makeSpan(["mord","cancel-lap"],[u],t):ee.makeSpan(["mord"],[u],t)}function O0(e,t){var r=new M.MathNode(-1<e.label.indexOf("colorbox")?"mpadded":"menclose",[z(e.body,t)]);switch(e.label){case"\\cancel":r.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":r.setAttribute("notation","downdiagonalstrike");break;case"\\phase":r.setAttribute("notation","phasorangle");break;case"\\sout":r.setAttribute("notation","horizontalstrike");break;case"\\fbox":r.setAttribute("notation","box");break;case"\\angl":r.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":var n=t.fontMetrics().fboxsep*t.fontMetrics().ptPerEm;r.setAttribute("width","+"+2*n+"pt"),r.setAttribute("height","+"+2*n+"pt"),r.setAttribute("lspace",n+"pt"),r.setAttribute("voffset",n+"pt"),"\\fcolorbox"===e.label&&(n=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness),r.setAttribute("style","border: "+n+"em solid "+String(e.borderColor)));break;case"\\xcancel":r.setAttribute("notation","updiagonalstrike downdiagonalstrike")}return e.backgroundColor&&r.setAttribute("mathbackground",e.backgroundColor),r}w({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler:function(e,t,r){var n=e.parser,e=e.funcName,i=A(t[0],"color-token").color,t=t[1];return{type:"enclose",mode:n.mode,label:e,backgroundColor:i,body:t}},htmlBuilder:I0,mathmlBuilder:O0}),w({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler:function(e,t,r){var n=e.parser,e=e.funcName,i=A(t[0],"color-token").color,a=A(t[1],"color-token").color,t=t[2];return{type:"enclose",mode:n.mode,label:e,backgroundColor:a,borderColor:i,body:t}},htmlBuilder:I0,mathmlBuilder:O0}),w({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler:function(e,t){return{type:"enclose",mode:e.parser.mode,label:"\\fbox",body:t[0]}}}),w({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler:function(e,t){var r=e.parser,e=e.funcName,t=t[0];return{type:"enclose",mode:r.mode,label:e,body:t}},htmlBuilder:I0,mathmlBuilder:O0}),w({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler:function(e,t){return{type:"enclose",mode:e.parser.mode,label:"\\angl",body:t[0]}}});var R0={};function E0(e){for(var t=e.type,r=e.names,n=e.props,i=e.handler,a=e.htmlBuilder,e=e.mathmlBuilder,o={type:t,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},s=0;s<r.length;++s)R0[r[s]]=o;a&&(ft[t]=a),e&&(gt[t]=e)}var H0={};function T(e,t){H0[e]=t}F0.range=function(e,t){return t?e&&e.loc&&t.loc&&e.loc.lexer===t.loc.lexer?new F0(e.loc.lexer,e.loc.start,t.loc.end):null:e&&e.loc};var L0=F0,D0=(P0.prototype.range=function(e,t){return new P0(t,L0.range(this,e))},P0);function P0(e,t){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=t}function F0(e,t,r){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=t,this.end=r}function V0(e){var t=[];e.consumeSpaces();for(var r=e.fetch().text;"\\hline"===r||"\\hdashline"===r;)e.consume(),t.push("\\hdashline"===r),e.consumeSpaces(),r=e.fetch().text;return t}function G0(e){if(!e.parser.settings.displayMode)throw new $("{"+e.envName+"} can be used only in display mode.")}function U0(e){if(-1===e.indexOf("ed"))return-1===e.indexOf("*")}function Y0(e,t,r){var n=t.hskipBeforeAndAfter,i=t.addJot,a=t.cols,o=t.arraystretch,s=t.colSeparationType,l=t.autoTag,h=t.singleRow,m=t.emptySingleRow,c=t.maxNumCols,t=t.leqno;if(e.gullet.beginGroup(),h||e.gullet.macros.set("\\cr","\\\\\\relax"),!o){var u=e.gullet.expandMacroAsText("\\arraystretch");if(null==u)o=1;else if(!(o=parseFloat(u))||o<0)throw new $("Invalid \\arraystretch: "+u)}e.gullet.beginGroup();var p=[],d=[p],f=[],g=[],y=null!=l?[]:void 0;function b(){l&&e.gullet.macros.set("\\@eqnsw","1",!0)}function x(){y&&(e.gullet.macros.get("\\df@tag")?(y.push(e.subparse([new D0("\\df@tag")])),e.gullet.macros.set("\\df@tag",void 0,!0)):y.push(Boolean(l)&&"1"===e.gullet.macros.get("\\@eqnsw")))}for(b(),g.push(V0(e));;){var v=e.parseExpression(!1,h?"\\end":"\\\\"),w=(e.gullet.endGroup(),e.gullet.beginGroup(),v={type:"ordgroup",mode:e.mode,body:v},r&&(v={type:"styling",mode:e.mode,style:r,body:[v]}),p.push(v),e.fetch().text);if("&"===w){if(c&&p.length===c){if(h||s)throw new $("Too many tab characters: &",e.nextToken);e.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}e.consume()}else{if("\\end"===w){x(),1===p.length&&"styling"===v.type&&0===v.body[0].body.length&&(1<d.length||!m)&&d.pop(),g.length<d.length+1&&g.push([]);break}if("\\\\"!==w)throw new $("Expected & or \\\\ or \\cr or \\end",e.nextToken);e.consume();v=void 0;" "!==e.gullet.future().text&&(v=e.parseSizeGroup(!0)),f.push(v?v.value:null),x(),g.push(V0(e)),d.push(p=[]),b()}}return e.gullet.endGroup(),e.gullet.endGroup(),{type:"array",mode:e.mode,addJot:i,arraystretch:o,body:d,cols:a,rowGaps:f,hskipBeforeAndAfter:n,hLinesBeforeRow:g,colSeparationType:s,tags:y,leqno:t}}function X0(e){return"d"===e.substr(0,1)?"display":"text"}function W0(e,t){var r=e.body.length,H=e.hLinesBeforeRow,n=0,i=new Array(r),a=[],o=Math.max(t.fontMetrics().arrayRuleWidth,t.minRuleThickness),s=1/t.fontMetrics().ptPerEm,l=5*s,h=(e.colSeparationType&&"small"===e.colSeparationType&&(l=t.havingStyle(K.SCRIPT).sizeMultiplier/t.sizeMultiplier*.2778),"CD"===e.colSeparationType?J({number:3,unit:"ex"},t):12*s),L=3*s,D=.7*(s=e.arraystretch*h),P=.3*s,m=0;function F(e){for(var t=0;t<e.length;++t)0<t&&(m+=.25),a.push({pos:m,isDashed:e[t]})}for(F(H[0]),I=0;I<e.body.length;++I){for(var c=e.body[I],u=D,p=P,d=(n<c.length&&(n=c.length),new Array(c.length)),f=0;f<c.length;++f){var g=re(c[f],t);p<g.depth&&(p=g.depth),u<g.height&&(u=g.height),d[f]=g}var V=e.rowGaps[I],y=0;V&&0<(y=J(V,t))&&(p<(y+=P)&&(p=y),y=0),e.addJot&&(p+=L),d.height=u,d.depth=p,m+=u,d.pos=m,m+=p+y,i[I]=d,F(H[I+1])}var b,x,v=m/2+t.fontMetrics().axisHeight,w=e.cols||[],k=[],S=[];if(e.tags&&e.tags.some(function(e){return e}))for(I=0;I<r;++I){var M=i[I],G=M.pos-v,z=e.tags[I],A=void 0;(A=!0===z?ee.makeSpan(["eqn-num"],[],t):!1===z?ee.makeSpan([],[],t):ee.makeSpan([],te(z,t,!0),t)).depth=M.depth,A.height=M.height,S.push({type:"elem",elem:A,shift:G})}for(x=f=0;f<n||x<w.length;++f,++x){for(var T=w[x]||{},U=!0;"separator"===T.type;){if(U||((b=ee.makeSpan(["arraycolsep"],[])).style.width=Q(t.fontMetrics().doubleRuleSep),k.push(b)),"|"!==T.separator&&":"!==T.separator)throw new $("Invalid separator type: "+T.separator);var B="|"===T.separator?"solid":"dashed",C=ee.makeSpan(["vertical-separator"],[],t),B=(C.style.height=Q(m),C.style.borderRightWidth=Q(o),C.style.borderRightStyle=B,C.style.margin="0 "+Q(-o/2),m-v);B&&(C.style.verticalAlign=Q(-B)),k.push(C),T=w[++x]||{},U=!1}if(!(n<=f)){for(var N=void 0,q=((0<f||e.hskipBeforeAndAfter)&&0!==(N=Z.deflt(T.pregap,l))&&((b=ee.makeSpan(["arraycolsep"],[])).style.width=Q(N),k.push(b)),[]),I=0;I<r;++I){var Y,O=i[I],R=O[f];R&&(Y=O.pos-v,R.depth=O.depth,R.height=O.height,q.push({type:"elem",elem:R,shift:Y}))}q=ee.makeVList({positionType:"individualShift",children:q},t),q=ee.makeSpan(["col-align-"+(T.align||"c")],[q]),k.push(q),(f<n-1||e.hskipBeforeAndAfter)&&0!==(N=Z.deflt(T.postgap,l))&&((b=ee.makeSpan(["arraycolsep"],[])).style.width=Q(N),k.push(b))}}if(i=ee.makeSpan(["mtable"],k),0<a.length){for(var X=ee.makeLineSpan("hline",t,o),W=ee.makeLineSpan("hdashline",t,o),E=[{type:"elem",elem:i,shift:0}];0<a.length;){var j=a.pop(),_=j.pos-v;j.isDashed?E.push({type:"elem",elem:W,shift:_}):E.push({type:"elem",elem:X,shift:_})}i=ee.makeVList({positionType:"individualShift",children:E},t)}return 0===S.length?ee.makeSpan(["mord"],[i],t):(h=ee.makeVList({positionType:"individualShift",children:S},t),h=ee.makeSpan(["tag"],[h],t),ee.makeFragment([i,h]))}function j0(e,t){for(var r=[],n=new M.MathNode("mtd",[],["mtr-glue"]),i=new M.MathNode("mtd",[],["mml-eqn-num"]),a=0;a<e.body.length;a++){for(var o=e.body[a],s=[],l=0;l<o.length;l++)s.push(new M.MathNode("mtd",[z(o[l],t)]));e.tags&&e.tags[a]&&(s.unshift(n),s.push(n),e.leqno?s.unshift(i):s.push(i)),r.push(new M.MathNode("mtr",s))}var h=new M.MathNode("mtable",r),m=.5===e.arraystretch?.1:.16+e.arraystretch-1+(e.addJot?.09:0),m=(h.setAttribute("rowspacing",Q(m)),""),c="";if(e.cols&&0<e.cols.length){var u=e.cols,p="",d=!1,f=0,g=u.length;"separator"===u[0].type&&(m+="top ",f=1),"separator"===u[u.length-1].type&&(m+="bottom ",--g);for(var y=f;y<g;y++)"align"===u[y].type?(c+=$0[u[y].align],d&&(p+="none "),d=!0):"separator"===u[y].type&&d&&(p+="|"===u[y].separator?"solid ":"dashed ",d=!1);h.setAttribute("columnalign",c.trim()),/[sd]/.test(p)&&h.setAttribute("columnlines",p.trim())}if("align"===e.colSeparationType){for(var b=e.cols||[],x="",v=1;v<b.length;v++)x+=v%2?"0em ":"1em ";h.setAttribute("columnspacing",x.trim())}else"alignat"===e.colSeparationType||"gather"===e.colSeparationType?h.setAttribute("columnspacing","0em"):"small"===e.colSeparationType?h.setAttribute("columnspacing","0.2778em"):"CD"===e.colSeparationType?h.setAttribute("columnspacing","0.5em"):h.setAttribute("columnspacing","1em");for(var w="",k=e.hLinesBeforeRow,m=(m+=0<k[0].length?"left ":"")+(0<k[k.length-1].length?"right ":""),S=1;S<k.length-1;S++)w+=0===k[S].length?"none ":k[S][0]?"dashed ":"solid ";return/[sd]/.test(w)&&h.setAttribute("rowlines",w.trim()),""!==m&&(h=new M.MathNode("menclose",[h])).setAttribute("notation",m.trim()),e.arraystretch&&e.arraystretch<1&&(h=new M.MathNode("mstyle",[h])).setAttribute("scriptlevel","1"),h}function _0(e,t){-1===e.envName.indexOf("ed")&&G0(e);var i,r=[],n=-1<e.envName.indexOf("at")?"alignat":"align",a="split"===e.envName,n=Y0(e.parser,{cols:r,addJot:!0,autoTag:a?void 0:U0(e.envName),emptySingleRow:!0,colSeparationType:n,maxNumCols:a?2:void 0,leqno:e.parser.settings.leqno},"display"),o=0,s={type:"ordgroup",mode:e.mode,body:[]};if(t[0]&&"ordgroup"===t[0].type){for(var l="",h=0;h<t[0].body.length;h++)l+=A(t[0].body[h],"textord").text;i=Number(l),o=2*i}var m=!o;n.body.forEach(function(e){for(var t=1;t<e.length;t+=2){var r=A(e[t],"styling");A(r.body[0],"ordgroup").body.unshift(s)}if(m)o<e.length&&(o=e.length);else{var n=e.length/2;if(i<n)throw new $("Too many math in a row: expected "+i+", but got "+n,e[0])}});for(var c=0;c<o;++c){var u="r",p=0;c%2==1?u="l":0<c&&m&&(p=1),r[c]={type:"align",align:u,pregap:p,postgap:0}}return n.colSeparationType=m?"align":"alignat",n}var $0={c:"center ",l:"left ",r:"right "},Z0=(E0({type:"array",names:["array","darray"],props:{numArgs:1},handler:function(e,t){t=($t(t[0])?[t[0]]:A(t[0],"ordgroup").body).map(function(e){var t=_t(e).text;if(-1!=="lcr".indexOf(t))return{type:"align",align:t};if("|"===t)return{type:"separator",separator:"|"};if(":"===t)return{type:"separator",separator:":"};throw new $("Unknown column alignment: "+t,e)}),t={cols:t,hskipBeforeAndAfter:!0,maxNumCols:t.length};return Y0(e.parser,t,X0(e.envName))},htmlBuilder:W0,mathmlBuilder:j0}),E0({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler:function(e){var t={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[e.envName.replace("*","")],r="c",n={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if("*"===e.envName.charAt(e.envName.length-1)){var i=e.parser;if(i.consumeSpaces(),"["===i.fetch().text){if(i.consume(),i.consumeSpaces(),r=i.fetch().text,-1==="lcr".indexOf(r))throw new $("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),n.cols=[{type:"align",align:r}]}}i=Y0(e.parser,n,X0(e.envName)),n=Math.max.apply(Math,[0].concat(i.body.map(function(e){return e.length})));return i.cols=new Array(n).fill({type:"align",align:r}),t?{type:"leftright",mode:e.mode,body:[i],left:t[0],right:t[1],rightColor:void 0}:i},htmlBuilder:W0,mathmlBuilder:j0}),E0({type:"array",names:["smallmatrix"],props:{numArgs:0},handler:function(e){e=Y0(e.parser,{arraystretch:.5},"script");return e.colSeparationType="small",e},htmlBuilder:W0,mathmlBuilder:j0}),E0({type:"array",names:["subarray"],props:{numArgs:1},handler:function(e,t){t=($t(t[0])?[t[0]]:A(t[0],"ordgroup").body).map(function(e){var t=_t(e).text;if(-1!=="lc".indexOf(t))return{type:"align",align:t};throw new $("Unknown column alignment: "+t,e)});if(1<t.length)throw new $("{subarray} can contain only one column");if(0<(e=Y0(e.parser,{cols:t,hskipBeforeAndAfter:!1,arraystretch:.5},"script")).body.length&&1<e.body[0].length)throw new $("{subarray} can contain only one column");return e},htmlBuilder:W0,mathmlBuilder:j0}),E0({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler:function(e){var t=Y0(e.parser,{arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},X0(e.envName));return{type:"leftright",mode:e.mode,body:[t],left:-1<e.envName.indexOf("r")?".":"\\{",right:-1<e.envName.indexOf("r")?"\\}":".",rightColor:void 0}},htmlBuilder:W0,mathmlBuilder:j0}),E0({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:_0,htmlBuilder:W0,mathmlBuilder:j0}),E0({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler:function(e){Z.contains(["gather","gather*"],e.envName)&&G0(e);var t={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:U0(e.envName),emptySingleRow:!0,leqno:e.parser.settings.leqno};return Y0(e.parser,t,"display")},htmlBuilder:W0,mathmlBuilder:j0}),E0({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:_0,htmlBuilder:W0,mathmlBuilder:j0}),E0({type:"array",names:["equation","equation*"],props:{numArgs:0},handler:function(e){G0(e);var t={autoTag:U0(e.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:e.parser.settings.leqno};return Y0(e.parser,t,"display")},htmlBuilder:W0,mathmlBuilder:j0}),E0({type:"array",names:["CD"],props:{numArgs:0},handler:function(e){G0(e);var t=e.parser,r=[];for(t.gullet.beginGroup(),t.gullet.macros.set("\\cr","\\\\\\relax"),t.gullet.beginGroup();;){r.push(t.parseExpression(!1,"\\\\")),t.gullet.endGroup(),t.gullet.beginGroup();var n=t.fetch().text;if("&"!==n&&"\\\\"!==n){if("\\end"!==n)throw new $("Expected \\\\ or \\cr or \\end",t.nextToken);0===r[r.length-1].length&&r.pop();break}t.consume()}for(var i,a=[],o=[a],s=0;s<r.length;s++){for(var l=r[s],h={type:"styling",body:[],mode:"math",style:"display"},m=0;m<l.length;m++)if(Qt(l[m])){a.push(h);var c=_t(l[m+=1]).text,u=new Array(2);if(u[0]={type:"ordgroup",mode:"math",body:[]},u[1]={type:"ordgroup",mode:"math",body:[]},!(-1<"=|.".indexOf(c))){if(!(-1<"<>AV".indexOf(c)))throw new $('Expected one of "<>AV=|." after @',l[m]);for(var p=0;p<2;p++){for(var d=!0,f=m+1;f<l.length;f++){if(("mathord"===(i=l[f]).type||"atom"===i.type)&&i.text===c){d=!1,m=f;break}if(Qt(l[f]))throw new $("Missing a "+c+" character to complete a CD arrow.",l[f]);u[p].body.push(l[f])}if(d)throw new $("Missing a "+c+" character to complete a CD arrow.",l[m])}}var g={type:"styling",body:[function(e,t,r){var n=t0[e];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[t[0]],[t[1]]);case"\\uparrow":case"\\downarrow":var i={type:"atom",text:n,mode:"math",family:"rel"},i={type:"ordgroup",mode:"math",body:[r.callFunction("\\\\cdleft",[t[0]],[]),r.callFunction("\\Big",[i],[]),r.callFunction("\\\\cdright",[t[1]],[])]};return r.callFunction("\\\\cdparent",[i],[]);case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":return r.callFunction("\\Big",[{type:"textord",text:"\\Vert",mode:"math"}],[]);default:return{type:"textord",text:" ",mode:"math"}}}(c,u,t)],mode:"math",style:"display"};a.push(g),h={type:"styling",body:[],mode:"math",style:"display"}}else h.body.push(l[m]);s%2==0?a.push(h):a.shift(),o.push(a=[])}return t.gullet.endGroup(),t.gullet.endGroup(),{type:"array",mode:"math",body:o,arraystretch:1,addJot:!0,rowGaps:[null],cols:new Array(o[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25}),colSeparationType:"CD",hLinesBeforeRow:new Array(o.length+1).fill([])}},htmlBuilder:W0,mathmlBuilder:j0}),T("\\nonumber","\\gdef\\@eqnsw{0}"),T("\\notag","\\nonumber"),w({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler:function(e,t){throw new $(e.funcName+" valid only within array environment")}}),R0),K0=(w({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler:function(e,t){var r=e.parser,e=e.funcName,n=t[0];if("ordgroup"!==n.type)throw new $("Invalid environment name",n);for(var i="",a=0;a<n.body.length;++a)i+=A(n.body[a],"textord").text;if("\\begin"!==e)return{type:"environment",mode:r.mode,name:i,nameGroup:n};if(!Z0.hasOwnProperty(i))throw new $("No such environment: "+i,n);var t=Z0[i],e=r.parseArguments("\\begin{"+i+"}",t),o=e.args,e=e.optArgs,s={mode:r.mode,envName:i,parser:r},t=t.handler(s,o,e),s=(r.expect("\\end",!1),r.nextToken),o=A(r.parseFunction(),"environment");if(o.name!==i)throw new $("Mismatch: \\begin{"+i+"} matched by \\end{"+o.name+"}",s);return t}}),ee.makeSpan);function J0(e,t){var r=te(e.body,t,!0);return K0([e.mclass],r,t)}function Q0(e,t){var r,t=S(e.body,t);return"minner"===e.mclass?r=new M.MathNode("mpadded",t):"mord"===e.mclass?e.isCharacterBox?(r=t[0]).type="mi":r=new M.MathNode("mi",t):(e.isCharacterBox?(r=t[0]).type="mo":r=new M.MathNode("mo",t),"mbin"===e.mclass?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):"mpunct"===e.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):"mopen"===e.mclass||"mclose"===e.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0em"):"minner"===e.mclass&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}w({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler:function(e,t){var r=e.parser,e=e.funcName,t=t[0];return{type:"mclass",mode:r.mode,mclass:"m"+e.substr(5),body:k(t),isCharacterBox:Z.isCharacterBox(t)}},htmlBuilder:J0,mathmlBuilder:Q0});function er(e){return"atom"!==(e="ordgroup"===e.type&&e.body.length?e.body[0]:e).type||"bin"!==e.family&&"rel"!==e.family?"mord":"m"+e.family}function tr(e,t){var r=e.font,t=t.withFont(r);return re(e.body,t)}function rr(e,t){var r=e.font,t=t.withFont(r);return z(e.body,t)}w({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler:function(e,t){return{type:"mclass",mode:e.parser.mode,mclass:er(t[0]),body:k(t[1]),isCharacterBox:Z.isCharacterBox(t[1])}}}),w({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler:function(e,t){var r=e.parser,e=e.funcName,n=t[1],t=t[0],i="\\stackrel"!==e?er(n):"mrel",n={type:"op",mode:n.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:"\\stackrel"!==e,body:k(n)},n={type:"supsub",mode:t.mode,base:n,sup:"\\underset"===e?null:t,sub:"\\underset"===e?t:null};return{type:"mclass",mode:r.mode,mclass:i,body:[n],isCharacterBox:Z.isCharacterBox(n)}},htmlBuilder:J0,mathmlBuilder:Q0});function nr(e,t){return"display"===e?t=t.id>=K.SCRIPT.id?t.text():K.DISPLAY:"text"===e&&t.size===K.DISPLAY.size?t=K.TEXT:"script"===e?t=K.SCRIPT:"scriptscript"===e&&(t=K.SCRIPTSCRIPT),t}function ir(e,t){var r=nr(e.size,t.style),n=r.fracNum(),i=r.fracDen(),n=t.havingStyle(n),a=re(e.numer,n,t);e.continued&&(m=8.5/t.fontMetrics().ptPerEm,c=3.5/t.fontMetrics().ptPerEm,a.height=a.height<m?m:a.height,a.depth=a.depth<c?c:a.depth),n=t.havingStyle(i);var o,s,l,h,m=re(e.denom,n,t),c=e.hasBarLine?(s=(h=e.barSize?(s=J(e.barSize,t),ee.makeLineSpan("frac-line",t,s)):ee.makeLineSpan("frac-line",t)).height,h.height):(h=null,s=0,t.fontMetrics().defaultRuleThickness),i=r.size===K.DISPLAY.size||"display"===e.size?(o=t.fontMetrics().num1,l=0<s?3*c:7*c,t.fontMetrics().denom1):(l=0<s?(o=t.fontMetrics().num2,c):(o=t.fontMetrics().num3,3*c),t.fontMetrics().denom2);return c=h?(c=t.fontMetrics().axisHeight,o-a.depth-(c+.5*s)<l&&(o+=l-(o-a.depth-(c+.5*s))),c-.5*s-(m.height-i)<l&&(i+=l-(c-.5*s-(m.height-i))),ee.makeVList({positionType:"individualShift",children:[{type:"elem",elem:m,shift:i},{type:"elem",elem:h,shift:-(c-.5*s)},{type:"elem",elem:a,shift:-o}]},t)):((h=o-a.depth-(m.height-i))<l&&(o+=.5*(l-h),i+=.5*(l-h)),ee.makeVList({positionType:"individualShift",children:[{type:"elem",elem:m,shift:i},{type:"elem",elem:a,shift:-o}]},t)),n=t.havingStyle(r),c.height*=n.sizeMultiplier/t.sizeMultiplier,c.depth*=n.sizeMultiplier/t.sizeMultiplier,s=r.size===K.DISPLAY.size?t.fontMetrics().delim1:(r.size===K.SCRIPTSCRIPT.size?t.havingStyle(K.SCRIPT):t).fontMetrics().delim2,l=null==e.leftDelim?vt(t,["mopen"]):T0.customSizedDelim(e.leftDelim,s,!0,t.havingStyle(r),e.mode,["mopen"]),h=e.continued?ee.makeSpan([]):null==e.rightDelim?vt(t,["mclose"]):T0.customSizedDelim(e.rightDelim,s,!0,t.havingStyle(r),e.mode,["mclose"]),ee.makeSpan(["mord"].concat(n.sizingClasses(t)),[l,ee.makeSpan(["mfrac"],[c]),h],t)}function ar(e,t){var r=new M.MathNode("mfrac",[z(e.numer,t),z(e.denom,t)]),n=(e.hasBarLine?e.barSize&&(n=J(e.barSize,t),r.setAttribute("linethickness",Q(n))):r.setAttribute("linethickness","0px"),nr(e.size,t.style));return n.size!==t.style.size&&(r=new M.MathNode("mstyle",[r]),t=n.size===K.DISPLAY.size?"true":"false",r.setAttribute("displaystyle",t),r.setAttribute("scriptlevel","0")),null!=e.leftDelim||null!=e.rightDelim?(n=[],null!=e.leftDelim&&((t=new M.MathNode("mo",[new M.TextNode(e.leftDelim.replace("\\",""))])).setAttribute("fence","true"),n.push(t)),n.push(r),null!=e.rightDelim&&((t=new M.MathNode("mo",[new M.TextNode(e.rightDelim.replace("\\",""))])).setAttribute("fence","true"),n.push(t)),Ot(n)):r}function or(e){var t=null;return t=0<e.length?"."===(t=e)?null:t:t}function sr(e,t){var r,n,i=t.style,i="supsub"===e.type?(r=e.sup?re(e.sup,t.havingStyle(i.sup()),t):re(e.sub,t.havingStyle(i.sub()),t),A(e.base,"horizBrace")):A(e,"horizBrace"),e=re(i.base,t.havingBaseStyle(K.DISPLAY)),a=Ut(i,t);return(i.isOver?(n=ee.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:e},{type:"kern",size:.1},{type:"elem",elem:a}]},t)).children[0].children[0].children[1]:(n=ee.makeVList({positionType:"bottom",positionData:e.depth+.1+a.height,children:[{type:"elem",elem:a},{type:"kern",size:.1},{type:"elem",elem:e}]},t)).children[0].children[0].children[0]).classes.push("svg-align"),r&&(a=ee.makeSpan(["mord",i.isOver?"mover":"munder"],[n],t),n=i.isOver?ee.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:.2},{type:"elem",elem:r}]},t):ee.makeVList({positionType:"bottom",positionData:a.depth+.2+r.height+r.depth,children:[{type:"elem",elem:r},{type:"kern",size:.2},{type:"elem",elem:a}]},t)),ee.makeSpan(["mord",i.isOver?"mover":"munder"],[n],t)}function lr(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var t=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!t)throw new $("Invalid size: '"+e+"' in \\includegraphics");if(e={number:+(t[1]+t[2]),unit:t[3]},fe(e))return e;throw new $("Invalid unit: '"+e.unit+"' in \\includegraphics.")}function hr(e,t){switch(t.style.size){case K.DISPLAY.size:return e.display;case K.TEXT.size:return e.text;case K.SCRIPT.size:return e.script;case K.SCRIPTSCRIPT.size:return e.scriptscript;default:return e.text}}function mr(e,t,r,n,i,a,o){e=ee.makeSpan([],[e]);var s,l,h=r&&Z.isCharacterBox(r);if(t&&(s={elem:t=re(t,n.havingStyle(i.sup()),n),kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-t.depth)}),r&&(l={elem:t=re(r,n.havingStyle(i.sub()),n),kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-t.height)}),s&&l)var r=n.fontMetrics().bigOpSpacing5+l.elem.height+l.elem.depth+l.kern+e.depth+o,m=ee.makeVList({positionType:"bottom",positionData:r,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:l.elem,marginLeft:Q(-a)},{type:"kern",size:l.kern},{type:"elem",elem:e},{type:"kern",size:s.kern},{type:"elem",elem:s.elem,marginLeft:Q(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n);else if(l){i=e.height-o;m=ee.makeVList({positionType:"top",positionData:i,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:l.elem,marginLeft:Q(-a)},{type:"kern",size:l.kern},{type:"elem",elem:e}]},n)}else{if(!s)return e;t=e.depth+o;m=ee.makeVList({positionType:"bottom",positionData:t,children:[{type:"elem",elem:e},{type:"kern",size:s.kern},{type:"elem",elem:s.elem,marginLeft:Q(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}return r=[m],l&&0!==a&&!h&&((i=ee.makeSpan(["mspace"],[],n)).style.marginRight=Q(a),r.unshift(i)),ee.makeSpan(["mop","op-limits"],r,n)}function cr(e,t){var r,n,i,a=!1,e=("supsub"===e.type?(r=e.sup,n=e.sub,i=A(e.base,"op"),a=!0):i=A(e,"op"),t.style),o=!1;if(e.size===K.DISPLAY.size&&i.symbol&&!Z.contains(gr,i.name)&&(o=!0),i.symbol){var s,l=o?"Size2-Regular":"Size1-Regular",h="";"\\oiint"!==i.name&&"\\oiiint"!==i.name||(h=i.name.substr(1),i.name="oiint"===h?"\\iint":"\\iiint"),l=ee.makeSymbol(i.name,l,"math",t,["mop","op-symbol",o?"large-op":"small-op"]),0<h.length&&(s=l.italic,m=ee.staticSvg(h+"Size"+(o?"2":"1"),t),l=ee.makeVList({positionType:"individualShift",children:[{type:"elem",elem:l,shift:0},{type:"elem",elem:m,shift:o?.08:0}]},t),i.name="\\"+h,l.classes.unshift("mop"),l.italic=s)}else if(i.body){var m=te(i.body,t,!0);1===m.length&&m[0]instanceof b?(l=m[0]).classes[0]="mop":l=ee.makeSpan(["mop"],m,t)}else{for(var c=[],u=1;u<i.name.length;u++)c.push(ee.mathsym(i.name[u],i.mode,t));l=ee.makeSpan(["mop"],c,t)}return h=o=0,(l instanceof b||"\\oiint"===i.name||"\\oiiint"===i.name)&&!i.suppressBaseShift&&(o=(l.height-l.depth)/2-t.fontMetrics().axisHeight,h=l.italic),a?mr(l,r,n,t,e,h,o):(o&&(l.style.position="relative",l.style.top=Q(o)),l)}function ur(e,t){var r;return e.symbol?(r=new Ht("mo",[It(e.name,e.mode)]),Z.contains(gr,e.name)&&r.setAttribute("largeop","false")):r=e.body?new Ht("mo",S(e.body,t)):(r=new Ht("mi",[new Lt(e.name.slice(1))]),t=new Ht("mo",[It("","text")]),e.parentIsSupSub?new Ht("mrow",[r,t]):qt([r,t])),r}function pr(e,t){var r,n,i,a,o=!1;if("supsub"===e.type?(r=e.sup,n=e.sub,i=A(e.base,"operatorname"),o=!0):i=A(e,"operatorname"),0<i.body.length){for(var e=i.body.map(function(e){var t=e.text;return"string"==typeof t?{type:"textord",mode:e.mode,text:t}:e}),s=te(e,t.withFont("mathrm"),!0),l=0;l<s.length;l++){var h=s[l];h instanceof b&&(h.text=h.text.replace(/\u2212/,"-").replace(/\u2217/,"*"))}a=ee.makeSpan(["mop"],s,t)}else a=ee.makeSpan(["mop"],[],t);return o?mr(a,r,n,t,t.style,0,0):a}var dr={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"},fr=(w({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:function(e,t){var r=e.parser,e=e.funcName,t=bt(t[0]);return{type:"font",mode:r.mode,font:(e=e in dr?dr[e]:e).slice(1),body:t}},htmlBuilder:tr,mathmlBuilder:rr}),w({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:function(e,t){var e=e.parser,t=t[0],r=Z.isCharacterBox(t);return{type:"mclass",mode:e.mode,mclass:er(t),body:[{type:"font",mode:e.mode,font:"boldsymbol",body:t}],isCharacterBox:r}}}),w({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:function(e,t){var r=e.parser,n=e.funcName,e=e.breakOnTokenText,i=r.mode,e=r.parseExpression(!0,e);return{type:"font",mode:i,font:"math"+n.slice(1),body:{type:"ordgroup",mode:r.mode,body:e}}},htmlBuilder:tr,mathmlBuilder:rr}),w({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:function(e,t){var r,n=e.parser,e=e.funcName,i=t[0],t=t[1],a=null,o=null,s="auto";switch(e){case"\\dfrac":case"\\frac":case"\\tfrac":r=!0;break;case"\\\\atopfrac":r=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":r=!1,a="(",o=")";break;case"\\\\bracefrac":r=!1,a="\\{",o="\\}";break;case"\\\\brackfrac":r=!1,a="[",o="]";break;default:throw new Error("Unrecognized genfrac command")}switch(e){case"\\dfrac":case"\\dbinom":s="display";break;case"\\tfrac":case"\\tbinom":s="text"}return{type:"genfrac",mode:n.mode,continued:!1,numer:i,denom:t,hasBarLine:r,leftDelim:a,rightDelim:o,size:s,barSize:null}},htmlBuilder:ir,mathmlBuilder:ar}),w({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:function(e,t){var r=e.parser,e=(e.funcName,t[0]),t=t[1];return{type:"genfrac",mode:r.mode,continued:!0,numer:e,denom:t,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}}}),w({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler:function(e){var t,r=e.parser,n=e.funcName,e=e.token;switch(n){case"\\over":t="\\frac";break;case"\\choose":t="\\binom";break;case"\\atop":t="\\\\atopfrac";break;case"\\brace":t="\\\\bracefrac";break;case"\\brack":t="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:r.mode,replaceWith:t,token:e}}}),["display","text","script","scriptscript"]),gr=(w({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler:function(e,t){var r,e=e.parser,n=t[4],i=t[5],a=bt(t[0]),a="atom"===a.type&&"open"===a.family?or(a.text):null,o=bt(t[1]),o="atom"===o.type&&"close"===o.family?or(o.text):null,s=A(t[2],"size"),l=null,s=!!s.isBlank||0<(l=s.value).number,h="auto",t=t[3];return"ordgroup"===t.type?0<t.body.length&&(r=A(t.body[0],"textord"),h=fr[Number(r.text)]):(t=A(t,"textord"),h=fr[Number(t.text)]),{type:"genfrac",mode:e.mode,numer:n,denom:i,continued:!1,hasBarLine:s,barSize:l,leftDelim:a,rightDelim:o,size:h}},htmlBuilder:ir,mathmlBuilder:ar}),w({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler:function(e,t){var r=e.parser,e=(e.funcName,e.token);return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:A(t[0],"size").value,token:e}}}),w({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:function(e,t){var r=e.parser,e=(e.funcName,t[0]),n=function(e){if(e)return e;throw new Error("Expected non-null, but got "+String(e))}(A(t[1],"infix").size),t=t[2],i=0<n.number;return{type:"genfrac",mode:r.mode,numer:e,denom:t,continued:!1,hasBarLine:i,barSize:n,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:ir,mathmlBuilder:ar}),w({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler:function(e,t){var r=e.parser,e=e.funcName;return{type:"horizBrace",mode:r.mode,label:e,isOver:/^\\over/.test(e),base:t[0]}},htmlBuilder:sr,mathmlBuilder:function(e,t){var r=Gt(e.label);return new M.MathNode(e.isOver?"mover":"munder",[z(e.base,t),r])}}),w({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:function(e,t){var e=e.parser,r=t[1],t=A(t[0],"url").url;return e.settings.isTrusted({command:"\\href",url:t})?{type:"href",mode:e.mode,href:t,body:k(r)}:e.formatUnsupportedCmd("\\href")},htmlBuilder:function(e,t){var r=te(e.body,t,!1);return ee.makeAnchor(e.href,[],r,t)},mathmlBuilder:function(e,t){t=Et(e.body,t);return(t=t instanceof Ht?t:new Ht("mrow",[t])).setAttribute("href",e.href),t}}),w({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:function(e,t){var e=e.parser,r=A(t[0],"url").url;if(!e.settings.isTrusted({command:"\\url",url:r}))return e.formatUnsupportedCmd("\\url");for(var n=[],i=0;i<r.length;i++){var a=r[i];n.push({type:"textord",mode:"text",text:a="~"===a?"\\textasciitilde":a})}t={type:"text",mode:e.mode,font:"\\texttt",body:n};return{type:"href",mode:e.mode,href:r,body:k(t)}}}),w({type:"hbox",names:["\\hbox"],props:{numArgs:1,argTypes:["text"],allowedInText:!0,primitive:!0},handler:function(e,t){return{type:"hbox",mode:e.parser.mode,body:k(t[0])}},htmlBuilder:function(e,t){e=te(e.body,t,!1);return ee.makeFragment(e)},mathmlBuilder:function(e,t){return new M.MathNode("mrow",S(e.body,t))}}),w({type:"html",names:["\\htmlClass","\\htmlId","\\htmlStyle","\\htmlData"],props:{numArgs:2,argTypes:["raw","original"],allowedInText:!0},handler:function(e,t){var r,n=e.parser,i=e.funcName,a=(e.token,A(t[0],"raw").string),e=t[1],o=(n.settings.strict&&n.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode"),{});switch(i){case"\\htmlClass":r={command:"\\htmlClass",class:o.class=a};break;case"\\htmlId":r={command:"\\htmlId",id:o.id=a};break;case"\\htmlStyle":r={command:"\\htmlStyle",style:o.style=a};break;case"\\htmlData":for(var s=a.split(","),l=0;l<s.length;l++){var h=s[l].split("=");if(2!==h.length)throw new $("Error parsing key-value for \\htmlData");o["data-"+h[0].trim()]=h[1].trim()}r={command:"\\htmlData",attributes:o};break;default:throw new Error("Unrecognized html command")}return n.settings.isTrusted(r)?{type:"html",mode:n.mode,attributes:o,body:k(e)}:n.formatUnsupportedCmd(i)},htmlBuilder:function(e,t){var r,n=te(e.body,t,!1),i=["enclosing"],a=(e.attributes.class&&i.push.apply(i,e.attributes.class.trim().split(/\s+/)),ee.makeSpan(i,n,t));for(r in e.attributes)"class"!==r&&e.attributes.hasOwnProperty(r)&&a.setAttribute(r,e.attributes[r]);return a},mathmlBuilder:function(e,t){return Et(e.body,t)}}),w({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:function(e,t){return{type:"htmlmathml",mode:e.parser.mode,html:k(t[0]),mathml:k(t[1])}},htmlBuilder:function(e,t){e=te(e.html,t,!1);return ee.makeFragment(e)},mathmlBuilder:function(e,t){return Et(e.mathml,t)}}),w({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:function(e,t,r){var e=e.parser,n={number:0,unit:"em"},i={number:.9,unit:"em"},a={number:0,unit:"em"},o="";if(r[0])for(var s=A(r[0],"raw").string.split(","),l=0;l<s.length;l++){var h=s[l].split("=");if(2===h.length){var m=h[1].trim();switch(h[0].trim()){case"alt":o=m;break;case"width":n=lr(m);break;case"height":i=lr(m);break;case"totalheight":a=lr(m);break;default:throw new $("Invalid key: '"+h[0]+"' in \\includegraphics.")}}}r=A(t[0],"url").url;return""===o&&(o=(o=(o=r).replace(/^.*[\\/]/,"")).substring(0,o.lastIndexOf("."))),e.settings.isTrusted({command:"\\includegraphics",url:r})?{type:"includegraphics",mode:e.mode,alt:o,width:n,height:i,totalheight:a,src:r}:e.formatUnsupportedCmd("\\includegraphics")},htmlBuilder:function(e,t){var r=J(e.height,t),n=0,i=(0<e.totalheight.number&&(n=J(e.totalheight,t)-r),0),t=(0<e.width.number&&(i=J(e.width,t)),{height:Q(r+n)}),i=(0<i&&(t.width=Q(i)),0<n&&(t.verticalAlign=Q(-n)),new ze(e.src,e.alt,t));return i.height=r,i.depth=n,i},mathmlBuilder:function(e,t){var r=new M.MathNode("mglyph",[]),n=(r.setAttribute("alt",e.alt),J(e.height,t)),i=0;return 0<e.totalheight.number&&(i=J(e.totalheight,t)-n,r.setAttribute("valign",Q(-i))),r.setAttribute("height",Q(n+i)),0<e.width.number&&(n=J(e.width,t),r.setAttribute("width",Q(n))),r.setAttribute("src",e.src),r}}),w({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler:function(e,t){var r,n,i=e.parser,e=e.funcName,t=A(t[0],"size");return i.settings.strict&&(r="m"===e[1],n="mu"===t.value.unit,r?(n||i.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+e+" supports only mu units, not "+t.value.unit+" units"),"math"!==i.mode&&i.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+e+" works only in math mode")):n&&i.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+e+" doesn't support mu units")),{type:"kern",mode:i.mode,dimension:t.value}},htmlBuilder:function(e,t){return ee.makeGlue(e.dimension,t)},mathmlBuilder:function(e,t){e=J(e.dimension,t);return new M.SpaceNode(e)}}),w({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){var r=e.parser,e=e.funcName,t=t[0];return{type:"lap",mode:r.mode,alignment:e.slice(5),body:t}},htmlBuilder:function(e,t){var r="clap"===e.alignment?(r=ee.makeSpan([],[re(e.body,t)]),ee.makeSpan(["inner"],[r],t)):ee.makeSpan(["inner"],[re(e.body,t)]),n=ee.makeSpan(["fix"],[]),e=ee.makeSpan([e.alignment],[r,n],t),r=ee.makeSpan(["strut"]);return r.style.height=Q(e.height+e.depth),e.depth&&(r.style.verticalAlign=Q(-e.depth)),e.children.unshift(r),e=ee.makeSpan(["thinbox"],[e],t),ee.makeSpan(["mord","vbox"],[e],t)},mathmlBuilder:function(e,t){t=new M.MathNode("mpadded",[z(e.body,t)]);return"rlap"!==e.alignment&&(e="llap"===e.alignment?"-1":"-0.5",t.setAttribute("lspace",e+"width")),t.setAttribute("width","0px"),t}}),w({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler:function(e,t){var r=e.funcName,e=e.parser,n=e.mode,r=(e.switchMode("math"),"\\("===r?"\\)":"$"),i=e.parseExpression(!1,r);return e.expect(r),e.switchMode(n),{type:"styling",mode:e.mode,style:"text",body:i}}}),w({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler:function(e,t){throw new $("Mismatched "+e.funcName)}}),w({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:function(e,t){return{type:"mathchoice",mode:e.parser.mode,display:k(t[0]),text:k(t[1]),script:k(t[2]),scriptscript:k(t[3])}},htmlBuilder:function(e,t){e=hr(e,t),e=te(e,t,!1);return ee.makeFragment(e)},mathmlBuilder:function(e,t){e=hr(e,t);return Et(e,t)}}),["\\smallint"]),yr={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"},br=(w({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:function(e,t){var r=e.parser,e=e.funcName;return 1===e.length&&(e=yr[e]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:e}},htmlBuilder:cr,mathmlBuilder:ur}),w({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:function(e,t){e=e.parser,t=t[0];return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:k(t)}},htmlBuilder:cr,mathmlBuilder:ur}),{"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"});w({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler:function(e){var t=e.parser,e=e.funcName;return{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:e}},htmlBuilder:cr,mathmlBuilder:ur}),w({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler:function(e){var t=e.parser,e=e.funcName;return{type:"op",mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:e}},htmlBuilder:cr,mathmlBuilder:ur}),w({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0},handler:function(e){var t=e.parser,e=e.funcName;return 1===e.length&&(e=br[e]),{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:e}},htmlBuilder:cr,mathmlBuilder:ur});function xr(e,t,r){for(var n=te(e,t,!1),i=t.sizeMultiplier/r.sizeMultiplier,a=0;a<n.length;a++){var o=n[a].classes.indexOf("sizing");o<0?Array.prototype.push.apply(n[a].classes,t.sizingClasses(r)):n[a].classes[o+1]==="reset-size"+t.size&&(n[a].classes[o+1]="reset-size"+r.size),n[a].height*=i,n[a].depth*=i}return ee.makeFragment(n)}w({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:function(e,t){var r=e.parser,e=e.funcName,t=t[0];return{type:"operatorname",mode:r.mode,body:k(t),alwaysHandleSupSub:"\\operatornamewithlimits"===e,limits:!1,parentIsSupSub:!1}},htmlBuilder:pr,mathmlBuilder:function(e,t){for(var r=S(e.body,t.withFont("mathrm")),n=!0,i=0;i<r.length;i++){var a=r[i];if(!(a instanceof M.SpaceNode))if(a instanceof M.MathNode)switch(a.type){case"mi":case"mn":case"ms":case"mspace":case"mtext":break;case"mo":var o=a.children[0];1===a.children.length&&o instanceof M.TextNode?o.text=o.text.replace(/\u2212/,"-").replace(/\u2217/,"*"):n=!1;break;default:n=!1}else n=!1}n&&(t=r.map(function(e){return e.toText()}).join(""),r=[new M.TextNode(t)]);var t=new M.MathNode("mi",r),s=(t.setAttribute("mathvariant","normal"),new M.MathNode("mo",[It("","text")]));return e.parentIsSupSub?new M.MathNode("mrow",[t,s]):M.newDocumentFragment([t,s])}}),T("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@"),yt({type:"ordgroup",htmlBuilder:function(e,t){return e.semisimple?ee.makeFragment(te(e.body,t,!1)):ee.makeSpan(["mord"],te(e.body,t,!0),t)},mathmlBuilder:function(e,t){return Et(e.body,t,!0)}}),w({type:"overline",names:["\\overline"],props:{numArgs:1},handler:function(e,t){e=e.parser,t=t[0];return{type:"overline",mode:e.mode,body:t}},htmlBuilder:function(e,t){var e=re(e.body,t.havingCrampedStyle()),r=ee.makeLineSpan("overline-line",t),n=t.fontMetrics().defaultRuleThickness,e=ee.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:e},{type:"kern",size:3*n},{type:"elem",elem:r},{type:"kern",size:n}]},t);return ee.makeSpan(["mord","overline"],[e],t)},mathmlBuilder:function(e,t){var r=new M.MathNode("mo",[new M.TextNode("‾")]),e=(r.setAttribute("stretchy","true"),new M.MathNode("mover",[z(e.body,t),r]));return e.setAttribute("accent","true"),e}}),w({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){e=e.parser,t=t[0];return{type:"phantom",mode:e.mode,body:k(t)}},htmlBuilder:function(e,t){e=te(e.body,t.withPhantom(),!1);return ee.makeFragment(e)},mathmlBuilder:function(e,t){e=S(e.body,t);return new M.MathNode("mphantom",e)}}),w({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){e=e.parser,t=t[0];return{type:"hphantom",mode:e.mode,body:t}},htmlBuilder:function(e,t){var r=ee.makeSpan([],[re(e.body,t.withPhantom())]);if(r.height=0,r.depth=0,r.children)for(var n=0;n<r.children.length;n++)r.children[n].height=0,r.children[n].depth=0;return r=ee.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r}]},t),ee.makeSpan(["mord"],[r],t)},mathmlBuilder:function(e,t){e=S(k(e.body),t),t=new M.MathNode("mphantom",e),e=new M.MathNode("mpadded",[t]);return e.setAttribute("height","0px"),e.setAttribute("depth","0px"),e}}),w({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){e=e.parser,t=t[0];return{type:"vphantom",mode:e.mode,body:t}},htmlBuilder:function(e,t){var e=ee.makeSpan(["inner"],[re(e.body,t.withPhantom())]),r=ee.makeSpan(["fix"],[]);return ee.makeSpan(["mord","rlap"],[e,r],t)},mathmlBuilder:function(e,t){e=S(k(e.body),t),t=new M.MathNode("mphantom",e),e=new M.MathNode("mpadded",[t]);return e.setAttribute("width","0px"),e}}),w({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler:function(e,t){var e=e.parser,r=A(t[0],"size").value,t=t[1];return{type:"raisebox",mode:e.mode,dy:r,body:t}},htmlBuilder:function(e,t){var r=re(e.body,t),e=J(e.dy,t);return ee.makeVList({positionType:"shift",positionData:-e,children:[{type:"elem",elem:r}]},t)},mathmlBuilder:function(e,t){t=new M.MathNode("mpadded",[z(e.body,t)]),e=e.dy.number+e.dy.unit;return t.setAttribute("voffset",e),t}}),w({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0},handler:function(e){return{type:"internal",mode:e.parser.mode}}}),w({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,argTypes:["size","size","size"]},handler:function(e,t,r){var e=e.parser,r=r[0],n=A(t[0],"size"),t=A(t[1],"size");return{type:"rule",mode:e.mode,shift:r&&A(r,"size").value,width:n.value,height:t.value}},htmlBuilder:function(e,t){var r=ee.makeSpan(["mord","rule"],[],t),n=J(e.width,t),i=J(e.height,t),e=e.shift?J(e.shift,t):0;return r.style.borderRightWidth=Q(n),r.style.borderTopWidth=Q(i),r.style.bottom=Q(e),r.width=n,r.height=i+e,r.depth=-e,r.maxFontSize=1.125*i*t.sizeMultiplier,r},mathmlBuilder:function(e,t){var r=J(e.width,t),n=J(e.height,t),e=e.shift?J(e.shift,t):0,t=t.color&&t.getColor()||"black",i=new M.MathNode("mspace"),t=(i.setAttribute("mathbackground",t),i.setAttribute("width",Q(r)),i.setAttribute("height",Q(n)),new M.MathNode("mpadded",[i]));return 0<=e?t.setAttribute("height",Q(e)):(t.setAttribute("height",Q(e)),t.setAttribute("depth",Q(-e))),t.setAttribute("voffset",Q(e)),t}});function vr(){var e=new M.MathNode("mtd",[]);return e.setAttribute("width","50%"),e}function wr(e,t){return(e=e.font)?Tr[e]?t.withTextFontFamily(Tr[e]):Br[e]?t.withTextFontWeight(Br[e]):t.withTextFontShape(Cr[e]):t}var kr=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"],Sr=(w({type:"sizing",names:kr,props:{numArgs:0,allowedInText:!0},handler:function(e,t){var r=e.breakOnTokenText,n=e.funcName,e=e.parser,r=e.parseExpression(!1,r);return{type:"sizing",mode:e.mode,size:kr.indexOf(n)+1,body:r}},htmlBuilder:function(e,t){var r=t.havingSize(e.size);return xr(e.body,r,t)},mathmlBuilder:function(e,t){t=t.havingSize(e.size),e=S(e.body,t),e=new M.MathNode("mstyle",e);return e.setAttribute("mathsize",Q(t.sizeMultiplier)),e}}),w({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:function(e,t,r){var e=e.parser,n=!1,i=!1,a=r[0]&&A(r[0],"ordgroup");if(a)for(var o,s=0;s<a.body.length;++s)if("t"===(o=a.body[s].text))n=!0;else{if("b"!==o){i=n=!1;break}i=!0}else i=n=!0;r=t[0];return{type:"smash",mode:e.mode,body:r,smashHeight:n,smashDepth:i}},htmlBuilder:function(e,t){var r=ee.makeSpan([],[re(e.body,t)]);if(!e.smashHeight&&!e.smashDepth)return r;if(e.smashHeight&&(r.height=0,r.children))for(var n=0;n<r.children.length;n++)r.children[n].height=0;if(e.smashDepth&&(r.depth=0,r.children))for(var i=0;i<r.children.length;i++)r.children[i].depth=0;e=ee.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r}]},t);return ee.makeSpan(["mord"],[e],t)},mathmlBuilder:function(e,t){t=new M.MathNode("mpadded",[z(e.body,t)]);return e.smashHeight&&t.setAttribute("height","0px"),e.smashDepth&&t.setAttribute("depth","0px"),t}}),w({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler:function(e,t,r){e=e.parser,r=r[0],t=t[0];return{type:"sqrt",mode:e.mode,body:t,index:r}},htmlBuilder:function(e,t){var r=re(e.body,t.havingCrampedStyle()),n=(0===r.height&&(r.height=t.fontMetrics().xHeight),r=ee.wrapFragment(r,t),t.fontMetrics().defaultRuleThickness),i=n,i=n+(i=t.style.id<K.TEXT.id?t.fontMetrics().xHeight:i)/4,n=r.height+r.depth+i+n,n=T0.sqrtImage(n,t),a=n.span,o=n.ruleWidth,n=n.advanceWidth,s=a.height-o,s=(s>r.height+r.depth+i&&(i=(i+s-r.height-r.depth)/2),a.height-r.height-i-o),i=(r.style.paddingLeft=Q(n),ee.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+s)},{type:"elem",elem:a},{type:"kern",size:o}]},t));return e.index?(n=t.havingStyle(K.SCRIPTSCRIPT),r=re(e.index,n,t),s=.6*(i.height-i.depth),a=ee.makeVList({positionType:"shift",positionData:-s,children:[{type:"elem",elem:r}]},t),o=ee.makeSpan(["root"],[a]),ee.makeSpan(["mord","sqrt"],[o,i],t)):ee.makeSpan(["mord","sqrt"],[i],t)},mathmlBuilder:function(e,t){var r=e.body,e=e.index;return e?new M.MathNode("mroot",[z(r,t),z(e,t)]):new M.MathNode("msqrt",[z(r,t)])}}),{display:K.DISPLAY,text:K.TEXT,script:K.SCRIPT,scriptscript:K.SCRIPTSCRIPT}),Mr=(w({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler:function(e,t){var r=e.breakOnTokenText,n=e.funcName,e=e.parser,r=e.parseExpression(!0,r),n=n.slice(1,n.length-5);return{type:"styling",mode:e.mode,style:n,body:r}},htmlBuilder:function(e,t){var r=Sr[e.style],r=t.havingStyle(r).withFont("");return xr(e.body,r,t)},mathmlBuilder:function(e,t){var r=Sr[e.style],t=t.havingStyle(r),r=S(e.body,t),t=new M.MathNode("mstyle",r),r={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]}[e.style];return t.setAttribute("scriptlevel",r[0]),t.setAttribute("displaystyle",r[1]),t}}),yt({type:"supsub",htmlBuilder:function(e,t){r=t;var r=(o=(a=e).base)?"op"===o.type?o.limits&&(r.style.size===K.DISPLAY.size||o.alwaysHandleSupSub)?cr:null:"operatorname"===o.type?o.alwaysHandleSupSub&&(r.style.size===K.DISPLAY.size||o.limits)?pr:null:"accent"===o.type?Z.isCharacterBox(o.base)?Zt:null:"horizBrace"===o.type&&!a.sub===o.isOver?sr:null:null;if(r)return r(e,t);var n,i,a=e.base,o=e.sup,r=e.sub,s=re(a,t),l=t.fontMetrics(),h=0,m=0,a=a&&Z.isCharacterBox(a),c=(o&&(c=t.havingStyle(t.style.sup()),n=re(o,c,t),a||(h=s.height-c.fontMetrics().supDrop*c.sizeMultiplier/t.sizeMultiplier)),r&&(o=t.havingStyle(t.style.sub()),i=re(r,o,t),a||(m=s.depth+o.fontMetrics().subDrop*o.sizeMultiplier/t.sizeMultiplier)),t.style===K.DISPLAY?l.sup1:t.style.cramped?l.sup3:l.sup2),r=t.sizeMultiplier,a=Q(.5/l.ptPerEm/r),o=null;if(i&&(r=e.base&&"op"===e.base.type&&e.base.name&&("\\oiint"===e.base.name||"\\oiiint"===e.base.name),s instanceof b||r)&&(o=Q(-s.italic)),n&&i){h=Math.max(h,c,n.depth+.25*l.xHeight),m=Math.max(m,l.sub2);e=4*l.defaultRuleThickness;h-n.depth-(i.height-m)<e&&(m=e-(h-n.depth)+i.height,0<(r=.8*l.xHeight-(h-n.depth)))&&(h+=r,m-=r);var u=ee.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:m,marginRight:a,marginLeft:o},{type:"elem",elem:n,shift:-h,marginRight:a}]},t)}else if(i)m=Math.max(m,l.sub1,i.height-.8*l.xHeight),u=ee.makeVList({positionType:"shift",positionData:m,children:[{type:"elem",elem:i,marginLeft:o,marginRight:a}]},t);else{if(!n)throw new Error("supsub must have either sup or sub.");h=Math.max(h,c,n.depth+.25*l.xHeight),u=ee.makeVList({positionType:"shift",positionData:-h,children:[{type:"elem",elem:n,marginRight:a}]},t)}e=Bt(s,"right")||"mord";return ee.makeSpan([e],[s,ee.makeSpan(["msupsub"],[u])],t)},mathmlBuilder:function(e,t){var r=!1;e.base&&"horizBrace"===e.base.type&&!!e.sup===e.base.isOver&&(r=!0,n=e.base.isOver),!e.base||"op"!==e.base.type&&"operatorname"!==e.base.type||(e.base.parentIsSupSub=!0);var n,i=[z(e.base,t)];return e.sub&&i.push(z(e.sub,t)),e.sup&&i.push(z(e.sup,t)),n=r?n?"mover":"munder":e.sub?e.sup?(r=e.base)&&"op"===r.type&&r.limits&&t.style===K.DISPLAY||r&&"operatorname"===r.type&&r.alwaysHandleSupSub&&(t.style===K.DISPLAY||r.limits)?"munderover":"msubsup":(n=e.base)&&"op"===n.type&&n.limits&&(t.style===K.DISPLAY||n.alwaysHandleSupSub)||n&&"operatorname"===n.type&&n.alwaysHandleSupSub&&(n.limits||t.style===K.DISPLAY)?"munder":"msub":(r=e.base)&&"op"===r.type&&r.limits&&(t.style===K.DISPLAY||r.alwaysHandleSupSub)||r&&"operatorname"===r.type&&r.alwaysHandleSupSub&&(r.limits||t.style===K.DISPLAY)?"mover":"msup",new M.MathNode(n,i)}}),yt({type:"atom",htmlBuilder:function(e,t){return ee.mathsym(e.text,e.mode,t,["m"+e.family])},mathmlBuilder:function(e,t){var r=new M.MathNode("mo",[It(e.text,e.mode)]);return"bin"===e.family?"bold-italic"===(t=Rt(e,t))&&r.setAttribute("mathvariant",t):"punct"===e.family?r.setAttribute("separator","true"):"open"!==e.family&&"close"!==e.family||r.setAttribute("stretchy","false"),r}}),{mi:"italic",mn:"normal",mtext:"normal"}),zr=(yt({type:"mathord",htmlBuilder:function(e,t){return ee.makeOrd(e,t,"mathord")},mathmlBuilder:function(e,t){var r=new M.MathNode("mi",[It(e.text,e.mode,t)]),e=Rt(e,t)||"italic";return e!==Mr[r.type]&&r.setAttribute("mathvariant",e),r}}),yt({type:"textord",htmlBuilder:function(e,t){return ee.makeOrd(e,t,"textord")},mathmlBuilder:function(e,t){var r=It(e.text,e.mode,t),t=Rt(e,t)||"normal",e="text"===e.mode?new M.MathNode("mtext",[r]):/[0-9]/.test(e.text)?new M.MathNode("mn",[r]):"\\prime"===e.text?new M.MathNode("mo",[r]):new M.MathNode("mi",[r]);return t!==Mr[e.type]&&e.setAttribute("mathvariant",t),e}}),{"\\nobreak":"nobreak","\\allowbreak":"allowbreak"}),Ar={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}},Tr=(yt({type:"spacing",htmlBuilder:function(e,t){var r,n;if(Ar.hasOwnProperty(e.text))return r=Ar[e.text].className||"","text"===e.mode?((n=ee.makeOrd(e,t,"textord")).classes.push(r),n):ee.makeSpan(["mspace",r],[ee.mathsym(e.text,e.mode,t)],t);if(zr.hasOwnProperty(e.text))return ee.makeSpan(["mspace",zr[e.text]],[],t);throw new $('Unknown type of space "'+e.text+'"')},mathmlBuilder:function(e,t){if(Ar.hasOwnProperty(e.text))return new M.MathNode("mtext",[new M.TextNode(" ")]);if(zr.hasOwnProperty(e.text))return new M.MathNode("mspace");throw new $('Unknown type of space "'+e.text+'"')}}),yt({type:"tag",mathmlBuilder:function(e,t){e=new M.MathNode("mtable",[new M.MathNode("mtr",[vr(),new M.MathNode("mtd",[Et(e.body,t)]),vr(),new M.MathNode("mtd",[Et(e.tag,t)])])]);return e.setAttribute("width","100%"),e}}),{"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"}),Br={"\\textbf":"textbf","\\textmd":"textmd"},Cr={"\\textit":"textit","\\textup":"textup"},Nr=(w({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler:function(e,t){var r=e.parser,e=e.funcName,t=t[0];return{type:"text",mode:r.mode,body:k(t),font:e}},htmlBuilder:function(e,t){t=wr(e,t),e=te(e.body,t,!0);return ee.makeSpan(["mord","text"],e,t)},mathmlBuilder:function(e,t){t=wr(e,t);return Et(e.body,t)}}),w({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){return{type:"underline",mode:e.parser.mode,body:t[0]}},htmlBuilder:function(e,t){var e=re(e.body,t),r=ee.makeLineSpan("underline-line",t),n=t.fontMetrics().defaultRuleThickness,r=ee.makeVList({positionType:"top",positionData:e.height,children:[{type:"kern",size:n},{type:"elem",elem:r},{type:"kern",size:3*n},{type:"elem",elem:e}]},t);return ee.makeSpan(["mord","underline"],[r],t)},mathmlBuilder:function(e,t){var r=new M.MathNode("mo",[new M.TextNode("‾")]),e=(r.setAttribute("stretchy","true"),new M.MathNode("munder",[z(e.body,t),r]));return e.setAttribute("accentunder","true"),e}}),w({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler:function(e,t){return{type:"vcenter",mode:e.parser.mode,body:t[0]}},htmlBuilder:function(e,t){var e=re(e.body,t),r=t.fontMetrics().axisHeight,r=.5*(e.height-r-(e.depth+r));return ee.makeVList({positionType:"shift",positionData:r,children:[{type:"elem",elem:e}]},t)},mathmlBuilder:function(e,t){return new M.MathNode("mpadded",[z(e.body,t)],["vcenter"])}}),w({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler:function(e,t,r){throw new $("\\verb ended by end of line instead of matching delimiter")},htmlBuilder:function(e,t){for(var r=Nr(e),n=[],i=t.havingStyle(t.style.text()),a=0;a<r.length;a++){var o=r[a];"~"===o&&(o="\\textasciitilde"),n.push(ee.makeSymbol(o,"Typewriter-Regular",e.mode,i,["mord","texttt"]))}return ee.makeSpan(["mord","text"].concat(i.sizingClasses(t)),ee.tryCombineChars(n),i)},mathmlBuilder:function(e,t){e=new M.TextNode(Nr(e)),e=new M.MathNode("mtext",[e]);return e.setAttribute("mathvariant","monospace"),e}}),function(e){return e.body.replace(/ /g,e.star?"␣":" ")}),qr=dt,Ir=new RegExp("[̀-ͯ]+$"),Or=((h=Lr.prototype).setCatcode=function(e,t){this.catcodes[e]=t},h.lex=function(){var e=this.input,t=this.tokenRegex.lastIndex;if(t===e.length)return new D0("EOF",new L0(this,t,t));var r=this.tokenRegex.exec(e);if(null===r||r.index!==t)throw new $("Unexpected character: '"+e[t]+"'",new D0(e[t],new L0(this,t,t+1)));var n,r=r[6]||r[3]||(r[2]?"\\ ":" ");return 14===this.catcodes[r]?(-1===(n=e.indexOf("\n",this.tokenRegex.lastIndex))?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=n+1,this.lex()):new D0(r,new L0(this,t,this.tokenRegex.lastIndex))},Lr),Rr=((Ve=Hr.prototype).beginGroup=function(){this.undefStack.push({})},Ve.endGroup=function(){if(0===this.undefStack.length)throw new $("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e,t=this.undefStack.pop();for(e in t)t.hasOwnProperty(e)&&(null==t[e]?delete this.current[e]:this.current[e]=t[e])},Ve.endGroups=function(){for(;0<this.undefStack.length;)this.endGroup()},Ve.has=function(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)},Ve.get=function(e){return(this.current.hasOwnProperty(e)?this.current:this.builtins)[e]},Ve.set=function(e,t,r){if(r=void 0===r?!1:r){for(var n=0;n<this.undefStack.length;n++)delete this.undefStack[n][e];0<this.undefStack.length&&(this.undefStack[this.undefStack.length-1][e]=t)}else{r=this.undefStack[this.undefStack.length-1];r&&!r.hasOwnProperty(e)&&(r[e]=this.current[e])}null==t?delete this.current[e]:this.current[e]=t},Hr),Er=H0;function Hr(e,t){void 0===e&&(e={}),void 0===t&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}function Lr(e,t){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=t,this.tokenRegex=new RegExp("([ \r\n\t]+)|\\\\(\n|[ \r\t]+\n?)[ \r\t]*|([!-\\[\\]-‧-豈-][̀-ͯ]*|[\ud800-\udbff][\udc00-\udfff][̀-ͯ]*|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5|(\\\\[a-zA-Z@]+)[ \r\n\t]*|\\\\[^\ud800-\udfff])","g"),this.catcodes={"%":14,"~":13}}T("\\noexpand",function(e){var t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}}),T("\\expandafter",function(e){var t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}}),T("\\@firstoftwo",function(e){return{tokens:e.consumeArgs(2)[0],numArgs:0}}),T("\\@secondoftwo",function(e){return{tokens:e.consumeArgs(2)[1],numArgs:0}}),T("\\@ifnextchar",function(e){var t=e.consumeArgs(3),e=(e.consumeSpaces(),e.future());return 1===t[0].length&&t[0][0].text===e.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}}),T("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),T("\\TextOrMath",function(e){var t=e.consumeArgs(2);return"text"===e.mode?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}});function Dr(e,t,r){var n=e.consumeArg().tokens;if(1!==n.length)throw new $("\\newcommand's first argument must be a macro name");var i=n[0].text,a=e.isDefined(i);if(a&&!t)throw new $("\\newcommand{"+i+"} attempting to redefine "+i+"; use \\renewcommand");if(!a&&!r)throw new $("\\renewcommand{"+i+"} when command "+i+" does not yet exist; use \\newcommand");if(t=0,1===(n=e.consumeArg().tokens).length&&"["===n[0].text){for(var o="",s=e.expandNextToken();"]"!==s.text&&"EOF"!==s.text;)o+=s.text,s=e.expandNextToken();if(!o.match(/^\s*[0-9]+\s*$/))throw new $("Invalid number of arguments: "+o);t=parseInt(o),n=e.consumeArg().tokens}return e.macros.set(i,{tokens:n,numArgs:t}),""}function Pr(h){return function(e){function t(r){return function(e){h&&(e.macros.set("|",o),i.length)&&e.macros.set("\\|",s);var t=r;return!r&&i.length&&"|"===e.future().text&&(e.popToken(),t=!0),{tokens:t?i:n,numArgs:0}}}var r=e.consumeArg().tokens,n=e.consumeArg().tokens,i=e.consumeArg().tokens,a=e.consumeArg().tokens,o=e.macros.get("|"),s=e.macros.get("\\|"),l=(e.macros.beginGroup(),e.macros.set("|",t(!1)),i.length&&e.macros.set("\\|",t(!0)),e.consumeArg().tokens),a=e.expandTokens([].concat(a,l,r));return e.macros.endGroup(),{tokens:a.reverse(),numArgs:0}}}var Fr={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15},Vr=(T("\\char",function(e){var t,r,n=e.popToken(),i="";if("'"===n.text)t=8,n=e.popToken();else if('"'===n.text)t=16,n=e.popToken();else if("`"===n.text)if("\\"===(n=e.popToken()).text[0])i=n.text.charCodeAt(1);else{if("EOF"===n.text)throw new $("\\char` missing argument");i=n.text.charCodeAt(0)}else t=10;if(t){if(null==(i=Fr[n.text])||t<=i)throw new $("Invalid base-"+t+" digit "+n.text);for(;null!=(r=Fr[e.future().text])&&r<t;)i=i*t+r,e.popToken()}return"\\@char{"+i+"}"}),T("\\newcommand",function(e){return Dr(e,!1,!0)}),T("\\renewcommand",function(e){return Dr(e,!0,!1)}),T("\\providecommand",function(e){return Dr(e,!0,!0)}),T("\\message",function(e){e=e.consumeArgs(1)[0];return console.log(e.reverse().map(function(e){return e.text}).join("")),""}),T("\\errmessage",function(e){e=e.consumeArgs(1)[0];return console.error(e.reverse().map(function(e){return e.text}).join("")),""}),T("\\show",function(e){var t=e.popToken(),r=t.text;return console.log(t,e.macros.get(r),qr[r],p.math[r],p.text[r]),""}),T("\\bgroup","{"),T("\\egroup","}"),T("~","\\nobreakspace"),T("\\lq","`"),T("\\rq","'"),T("\\aa","\\r a"),T("\\AA","\\r A"),T("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}"),T("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"),T("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"),T("ℬ","\\mathscr{B}"),T("ℰ","\\mathscr{E}"),T("ℱ","\\mathscr{F}"),T("ℋ","\\mathscr{H}"),T("ℐ","\\mathscr{I}"),T("ℒ","\\mathscr{L}"),T("ℳ","\\mathscr{M}"),T("ℛ","\\mathscr{R}"),T("ℭ","\\mathfrak{C}"),T("ℌ","\\mathfrak{H}"),T("ℨ","\\mathfrak{Z}"),T("\\Bbbk","\\Bbb{k}"),T("·","\\cdotp"),T("\\llap","\\mathllap{\\textrm{#1}}"),T("\\rlap","\\mathrlap{\\textrm{#1}}"),T("\\clap","\\mathclap{\\textrm{#1}}"),T("\\mathstrut","\\vphantom{(}"),T("\\underbar","\\underline{\\text{#1}}"),T("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}'),T("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"),T("\\ne","\\neq"),T("≠","\\neq"),T("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}"),T("∉","\\notin"),T("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}"),T("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}"),T("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}"),T("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}"),T("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}"),T("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}"),T("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}"),T("⟂","\\perp"),T("‼","\\mathclose{!\\mkern-0.8mu!}"),T("∌","\\notni"),T("⌜","\\ulcorner"),T("⌝","\\urcorner"),T("⌞","\\llcorner"),T("⌟","\\lrcorner"),T("©","\\copyright"),T("®","\\textregistered"),T("️","\\textregistered"),T("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}'),T("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}'),T("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}'),T("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}'),T("\\vdots","\\mathord{\\varvdots\\rule{0pt}{15pt}}"),T("⋮","\\vdots"),T("\\varGamma","\\mathit{\\Gamma}"),T("\\varDelta","\\mathit{\\Delta}"),T("\\varTheta","\\mathit{\\Theta}"),T("\\varLambda","\\mathit{\\Lambda}"),T("\\varXi","\\mathit{\\Xi}"),T("\\varPi","\\mathit{\\Pi}"),T("\\varSigma","\\mathit{\\Sigma}"),T("\\varUpsilon","\\mathit{\\Upsilon}"),T("\\varPhi","\\mathit{\\Phi}"),T("\\varPsi","\\mathit{\\Psi}"),T("\\varOmega","\\mathit{\\Omega}"),T("\\substack","\\begin{subarray}{c}#1\\end{subarray}"),T("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax"),T("\\boxed","\\fbox{$\\displaystyle{#1}$}"),T("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;"),T("\\implies","\\DOTSB\\;\\Longrightarrow\\;"),T("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;"),{",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"}),Gr=(T("\\dots",function(e){var t="\\dotso",e=e.expandAfterFuture().text;return e in Vr?t=Vr[e]:("\\not"===e.substr(0,4)||e in p.math&&Z.contains(["bin","rel"],p.math[e].group))&&(t="\\dotsb"),t}),{")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0}),e=(T("\\dotso",function(e){return e.future().text in Gr?"\\ldots\\,":"\\ldots"}),T("\\dotsc",function(e){e=e.future().text;return e in Gr&&","!==e?"\\ldots\\,":"\\ldots"}),T("\\cdots",function(e){return e.future().text in Gr?"\\@cdots\\,":"\\@cdots"}),T("\\dotsb","\\cdots"),T("\\dotsm","\\cdots"),T("\\dotsi","\\!\\cdots"),T("\\dotsx","\\ldots\\,"),T("\\DOTSI","\\relax"),T("\\DOTSB","\\relax"),T("\\DOTSX","\\relax"),T("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),T("\\,","\\tmspace+{3mu}{.1667em}"),T("\\thinspace","\\,"),T("\\>","\\mskip{4mu}"),T("\\:","\\tmspace+{4mu}{.2222em}"),T("\\medspace","\\:"),T("\\;","\\tmspace+{5mu}{.2777em}"),T("\\thickspace","\\;"),T("\\!","\\tmspace-{3mu}{.1667em}"),T("\\negthinspace","\\!"),T("\\negmedspace","\\tmspace-{4mu}{.2222em}"),T("\\negthickspace","\\tmspace-{5mu}{.277em}"),T("\\enspace","\\kern.5em "),T("\\enskip","\\hskip.5em\\relax"),T("\\quad","\\hskip1em\\relax"),T("\\qquad","\\hskip2em\\relax"),T("\\tag","\\@ifstar\\tag@literal\\tag@paren"),T("\\tag@paren","\\tag@literal{({#1})}"),T("\\tag@literal",function(e){if(e.macros.get("\\df@tag"))throw new $("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"}),T("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),T("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),T("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}"),T("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),T("\\pmb","\\html@mathml{\\@binrel{#1}{\\mathrlap{#1}\\kern0.5px#1}}{\\mathbf{#1}}"),T("\\newline","\\\\\\relax"),T("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}"),Q(ae["Main-Regular"]["T".charCodeAt(0)][1]-.7*ae["Main-Regular"]["A".charCodeAt(0)][1])),Ur=(T("\\LaTeX","\\textrm{\\html@mathml{L\\kern-.36em\\raisebox{"+e+"}{\\scriptstyle A}\\kern-.15em\\TeX}{LaTeX}}"),T("\\KaTeX","\\textrm{\\html@mathml{K\\kern-.17em\\raisebox{"+e+"}{\\scriptstyle A}\\kern-.15em\\TeX}{KaTeX}}"),T("\\hspace","\\@ifstar\\@hspacer\\@hspace"),T("\\@hspace","\\hskip #1\\relax"),T("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax"),T("\\ordinarycolon",":"),T("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}"),T("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'),T("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'),T("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'),T("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'),T("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'),T("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'),T("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'),T("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'),T("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'),T("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'),T("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'),T("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'),T("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'),T("∷","\\dblcolon"),T("∹","\\eqcolon"),T("≔","\\coloneqq"),T("≕","\\eqqcolon"),T("⩴","\\Coloneqq"),T("\\ratio","\\vcentcolon"),T("\\coloncolon","\\dblcolon"),T("\\colonequals","\\coloneqq"),T("\\coloncolonequals","\\Coloneqq"),T("\\equalscolon","\\eqqcolon"),T("\\equalscoloncolon","\\Eqqcolon"),T("\\colonminus","\\coloneq"),T("\\coloncolonminus","\\Coloneq"),T("\\minuscolon","\\eqcolon"),T("\\minuscoloncolon","\\Eqcolon"),T("\\coloncolonapprox","\\Colonapprox"),T("\\coloncolonsim","\\Colonsim"),T("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),T("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),T("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),T("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),T("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}"),T("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),T("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),T("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}"),T("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}"),T("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}"),T("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}"),T("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}"),T("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}"),T("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}"),T("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}"),T("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}"),T("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}"),T("\\nleqq","\\html@mathml{\\@nleqq}{≰}"),T("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}"),T("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}"),T("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}"),T("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}"),T("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}"),T("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}"),T("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}"),T("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}"),T("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}"),T("\\imath","\\html@mathml{\\@imath}{ı}"),T("\\jmath","\\html@mathml{\\@jmath}{ȷ}"),T("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}"),T("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}"),T("⟦","\\llbracket"),T("⟧","\\rrbracket"),T("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}"),T("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}"),T("⦃","\\lBrace"),T("⦄","\\rBrace"),T("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}"),T("⦵","\\minuso"),T("\\darr","\\downarrow"),T("\\dArr","\\Downarrow"),T("\\Darr","\\Downarrow"),T("\\lang","\\langle"),T("\\rang","\\rangle"),T("\\uarr","\\uparrow"),T("\\uArr","\\Uparrow"),T("\\Uarr","\\Uparrow"),T("\\N","\\mathbb{N}"),T("\\R","\\mathbb{R}"),T("\\Z","\\mathbb{Z}"),T("\\alef","\\aleph"),T("\\alefsym","\\aleph"),T("\\Alpha","\\mathrm{A}"),T("\\Beta","\\mathrm{B}"),T("\\bull","\\bullet"),T("\\Chi","\\mathrm{X}"),T("\\clubs","\\clubsuit"),T("\\cnums","\\mathbb{C}"),T("\\Complex","\\mathbb{C}"),T("\\Dagger","\\ddagger"),T("\\diamonds","\\diamondsuit"),T("\\empty","\\emptyset"),T("\\Epsilon","\\mathrm{E}"),T("\\Eta","\\mathrm{H}"),T("\\exist","\\exists"),T("\\harr","\\leftrightarrow"),T("\\hArr","\\Leftrightarrow"),T("\\Harr","\\Leftrightarrow"),T("\\hearts","\\heartsuit"),T("\\image","\\Im"),T("\\infin","\\infty"),T("\\Iota","\\mathrm{I}"),T("\\isin","\\in"),T("\\Kappa","\\mathrm{K}"),T("\\larr","\\leftarrow"),T("\\lArr","\\Leftarrow"),T("\\Larr","\\Leftarrow"),T("\\lrarr","\\leftrightarrow"),T("\\lrArr","\\Leftrightarrow"),T("\\Lrarr","\\Leftrightarrow"),T("\\Mu","\\mathrm{M}"),T("\\natnums","\\mathbb{N}"),T("\\Nu","\\mathrm{N}"),T("\\Omicron","\\mathrm{O}"),T("\\plusmn","\\pm"),T("\\rarr","\\rightarrow"),T("\\rArr","\\Rightarrow"),T("\\Rarr","\\Rightarrow"),T("\\real","\\Re"),T("\\reals","\\mathbb{R}"),T("\\Reals","\\mathbb{R}"),T("\\Rho","\\mathrm{P}"),T("\\sdot","\\cdot"),T("\\sect","\\S"),T("\\spades","\\spadesuit"),T("\\sub","\\subset"),T("\\sube","\\subseteq"),T("\\supe","\\supseteq"),T("\\Tau","\\mathrm{T}"),T("\\thetasym","\\vartheta"),T("\\weierp","\\wp"),T("\\Zeta","\\mathrm{Z}"),T("\\argmin","\\DOTSB\\operatorname*{arg\\,min}"),T("\\argmax","\\DOTSB\\operatorname*{arg\\,max}"),T("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),T("\\bra","\\mathinner{\\langle{#1}|}"),T("\\ket","\\mathinner{|{#1}\\rangle}"),T("\\braket","\\mathinner{\\langle{#1}\\rangle}"),T("\\Bra","\\left\\langle#1\\right|"),T("\\Ket","\\left|#1\\right\\rangle"),T("\\bra@ket",Pr(!1)),T("\\bra@set",Pr(!0)),T("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}"),T("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}"),T("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}"),T("\\angln","{\\angl n}"),T("\\blue","\\textcolor{##6495ed}{#1}"),T("\\orange","\\textcolor{##ffa500}{#1}"),T("\\pink","\\textcolor{##ff00af}{#1}"),T("\\red","\\textcolor{##df0030}{#1}"),T("\\green","\\textcolor{##28ae7b}{#1}"),T("\\gray","\\textcolor{gray}{#1}"),T("\\purple","\\textcolor{##9d38bd}{#1}"),T("\\blueA","\\textcolor{##ccfaff}{#1}"),T("\\blueB","\\textcolor{##80f6ff}{#1}"),T("\\blueC","\\textcolor{##63d9ea}{#1}"),T("\\blueD","\\textcolor{##11accd}{#1}"),T("\\blueE","\\textcolor{##0c7f99}{#1}"),T("\\tealA","\\textcolor{##94fff5}{#1}"),T("\\tealB","\\textcolor{##26edd5}{#1}"),T("\\tealC","\\textcolor{##01d1c1}{#1}"),T("\\tealD","\\textcolor{##01a995}{#1}"),T("\\tealE","\\textcolor{##208170}{#1}"),T("\\greenA","\\textcolor{##b6ffb0}{#1}"),T("\\greenB","\\textcolor{##8af281}{#1}"),T("\\greenC","\\textcolor{##74cf70}{#1}"),T("\\greenD","\\textcolor{##1fab54}{#1}"),T("\\greenE","\\textcolor{##0d923f}{#1}"),T("\\goldA","\\textcolor{##ffd0a9}{#1}"),T("\\goldB","\\textcolor{##ffbb71}{#1}"),T("\\goldC","\\textcolor{##ff9c39}{#1}"),T("\\goldD","\\textcolor{##e07d10}{#1}"),T("\\goldE","\\textcolor{##a75a05}{#1}"),T("\\redA","\\textcolor{##fca9a9}{#1}"),T("\\redB","\\textcolor{##ff8482}{#1}"),T("\\redC","\\textcolor{##f9685d}{#1}"),T("\\redD","\\textcolor{##e84d39}{#1}"),T("\\redE","\\textcolor{##bc2612}{#1}"),T("\\maroonA","\\textcolor{##ffbde0}{#1}"),T("\\maroonB","\\textcolor{##ff92c6}{#1}"),T("\\maroonC","\\textcolor{##ed5fa6}{#1}"),T("\\maroonD","\\textcolor{##ca337c}{#1}"),T("\\maroonE","\\textcolor{##9e034e}{#1}"),T("\\purpleA","\\textcolor{##ddd7ff}{#1}"),T("\\purpleB","\\textcolor{##c6b9fc}{#1}"),T("\\purpleC","\\textcolor{##aa87ff}{#1}"),T("\\purpleD","\\textcolor{##7854ab}{#1}"),T("\\purpleE","\\textcolor{##543b78}{#1}"),T("\\mintA","\\textcolor{##f5f9e8}{#1}"),T("\\mintB","\\textcolor{##edf2df}{#1}"),T("\\mintC","\\textcolor{##e0e5cc}{#1}"),T("\\grayA","\\textcolor{##f6f7f7}{#1}"),T("\\grayB","\\textcolor{##f0f1f2}{#1}"),T("\\grayC","\\textcolor{##e3e5e6}{#1}"),T("\\grayD","\\textcolor{##d6d8da}{#1}"),T("\\grayE","\\textcolor{##babec2}{#1}"),T("\\grayF","\\textcolor{##888d93}{#1}"),T("\\grayG","\\textcolor{##626569}{#1}"),T("\\grayH","\\textcolor{##3b3e40}{#1}"),T("\\grayI","\\textcolor{##21242c}{#1}"),T("\\kaBlue","\\textcolor{##314453}{#1}"),T("\\kaGreen","\\textcolor{##71B307}{#1}"),{"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0}),Yr=((t=Kr.prototype).feed=function(e){this.lexer=new Or(e,this.settings)},t.switchMode=function(e){this.mode=e},t.beginGroup=function(){this.macros.beginGroup()},t.endGroup=function(){this.macros.endGroup()},t.endGroups=function(){this.macros.endGroups()},t.future=function(){return 0===this.stack.length&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]},t.popToken=function(){return this.future(),this.stack.pop()},t.pushToken=function(e){this.stack.push(e)},t.pushTokens=function(e){var t;(t=this.stack).push.apply(t,e)},t.scanArgument=function(e){if(e){if(this.consumeSpaces(),"["!==this.future().text)return null;var t=this.popToken(),e=this.consumeArg(["]"]),r=e.tokens,n=e.end}else{e=this.consumeArg();r=e.tokens,t=e.start,n=e.end}return this.pushToken(new D0("EOF",n.loc)),this.pushTokens(r),t.range(n,"")},t.consumeSpaces=function(){for(;" "===this.future().text;)this.stack.pop()},t.consumeArg=function(e){var t=[],r=e&&0<e.length;r||this.consumeSpaces();var n,i=this.future(),a=0,o=0;do{if(n=this.popToken(),t.push(n),"{"===n.text)++a;else if("}"===n.text){if(-1==--a)throw new $("Extra }",n)}else if("EOF"===n.text)throw new $("Unexpected end of input in a macro argument, expected '"+(e&&r?e[o]:"}")+"'",n);if(e&&r)if((0===a||1===a&&"{"===e[o])&&n.text===e[o]){if(++o===e.length){t.splice(-o,o);break}}else o=0}while(0!==a||r);return"{"===i.text&&"}"===t[t.length-1].text&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:i,end:n}},t.consumeArgs=function(e,t){if(t){if(t.length!==e+1)throw new $("The length of delimiters doesn't match the number of args!");for(var r=t[0],n=0;n<r.length;n++){var i=this.popToken();if(r[n]!==i.text)throw new $("Use of the macro doesn't match its definition",i)}}for(var a=[],o=0;o<e;o++)a.push(this.consumeArg(t&&t[o+1]).tokens);return a},t.expandOnce=function(e){var t=this.popToken(),r=t.text,n=t.noexpand?null:this._getExpansion(r);if(null==n||e&&n.unexpandable){if(e&&null==n&&"\\"===r[0]&&!this.isDefined(r))throw new $("Undefined control sequence: "+r);return this.pushToken(t),t}if(this.expansionCount++,this.expansionCount>this.settings.maxExpand)throw new $("Too many expansions: infinite loop or need to increase maxExpand setting");var i=n.tokens,a=this.consumeArgs(n.numArgs,n.delimiters);if(n.numArgs)for(var o=(i=i.slice()).length-1;0<=o;--o){var s=i[o];if("#"===s.text){if(0===o)throw new $("Incomplete placeholder at end of macro body",s);if("#"===(s=i[--o]).text)i.splice(o+1,1);else{if(!/^[1-9]$/.test(s.text))throw new $("Not a valid argument number",s);i.splice.apply(i,[o,2].concat(a[+s.text-1]))}}}return this.pushTokens(i),i},t.expandAfterFuture=function(){return this.expandOnce(),this.future()},t.expandNextToken=function(){for(;;){var e=this.expandOnce();if(e instanceof D0)return e.treatAsRelax&&(e.text="\\relax"),this.stack.pop()}throw new Error},t.expandMacro=function(e){return this.macros.has(e)?this.expandTokens([new D0(e)]):void 0},t.expandTokens=function(e){var t=[],r=this.stack.length;for(this.pushTokens(e);this.stack.length>r;){var n=this.expandOnce(!0);n instanceof D0&&(n.treatAsRelax&&(n.noexpand=!1,n.treatAsRelax=!1),t.push(this.stack.pop()))}return t},t.expandMacroAsText=function(e){e=this.expandMacro(e);return e&&e.map(function(e){return e.text}).join("")},t._getExpansion=function(e){var t=this.macros.get(e);if(null==t)return t;if(1===e.length){e=this.lexer.catcodes[e];if(null!=e&&13!==e)return}e="function"==typeof t?t(this):t;if("string"!=typeof e)return e;var r=0;if(-1!==e.indexOf("#"))for(var n=e.replace(/##/g,"");-1!==n.indexOf("#"+(r+1));)++r;for(var i=new Or(e,this.settings),a=[],o=i.lex();"EOF"!==o.text;)a.push(o),o=i.lex();return a.reverse(),{tokens:a,numArgs:r}},t.isDefined=function(e){return this.macros.has(e)||qr.hasOwnProperty(e)||p.math.hasOwnProperty(e)||p.text.hasOwnProperty(e)||Ur.hasOwnProperty(e)},t.isExpandable=function(e){var t=this.macros.get(e);return null!=t?"string"==typeof t||"function"==typeof t||!t.unexpandable:qr.hasOwnProperty(e)&&!qr[e].primitive},Kr),Xr=/^[\u208a\u208b\u208c\u208d\u208e\u2080\u2081\u2082\u2083\u2084\u2085\u2086\u2087\u2088\u2089\u2090\u2091\u2095\u1d62\u2c7c\u2096\u2097\u2098\u2099\u2092\u209a\u1d63\u209b\u209c\u1d64\u1d65\u2093\u1d66\u1d67\u1d68\u1d69\u1d6a]/,Wr=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g","ʰ":"h","ⁱ":"i","ʲ":"j","ᵏ":"k","ˡ":"l","ᵐ":"m","ⁿ":"n","ᵒ":"o","ᵖ":"p","ʳ":"r","ˢ":"s","ᵗ":"t","ᵘ":"u","ᵛ":"v","ʷ":"w","ˣ":"x","ʸ":"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),jr={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},_r={"á":"á","à":"à","ä":"ä","ǟ":"ǟ","ã":"ã","ā":"ā","ă":"ă","ắ":"ắ","ằ":"ằ","ẵ":"ẵ","ǎ":"ǎ","â":"â","ấ":"ấ","ầ":"ầ","ẫ":"ẫ","ȧ":"ȧ","ǡ":"ǡ","å":"å","ǻ":"ǻ","ḃ":"ḃ","ć":"ć","ḉ":"ḉ","č":"č","ĉ":"ĉ","ċ":"ċ","ç":"ç","ď":"ď","ḋ":"ḋ","ḑ":"ḑ","é":"é","è":"è","ë":"ë","ẽ":"ẽ","ē":"ē","ḗ":"ḗ","ḕ":"ḕ","ĕ":"ĕ","ḝ":"ḝ","ě":"ě","ê":"ê","ế":"ế","ề":"ề","ễ":"ễ","ė":"ė","ȩ":"ȩ","ḟ":"ḟ","ǵ":"ǵ","ḡ":"ḡ","ğ":"ğ","ǧ":"ǧ","ĝ":"ĝ","ġ":"ġ","ģ":"ģ","ḧ":"ḧ","ȟ":"ȟ","ĥ":"ĥ","ḣ":"ḣ","ḩ":"ḩ","í":"í","ì":"ì","ï":"ï","ḯ":"ḯ","ĩ":"ĩ","ī":"ī","ĭ":"ĭ","ǐ":"ǐ","î":"î","ǰ":"ǰ","ĵ":"ĵ","ḱ":"ḱ","ǩ":"ǩ","ķ":"ķ","ĺ":"ĺ","ľ":"ľ","ļ":"ļ","ḿ":"ḿ","ṁ":"ṁ","ń":"ń","ǹ":"ǹ","ñ":"ñ","ň":"ň","ṅ":"ṅ","ņ":"ņ","ó":"ó","ò":"ò","ö":"ö","ȫ":"ȫ","õ":"õ","ṍ":"ṍ","ṏ":"ṏ","ȭ":"ȭ","ō":"ō","ṓ":"ṓ","ṑ":"ṑ","ŏ":"ŏ","ǒ":"ǒ","ô":"ô","ố":"ố","ồ":"ồ","ỗ":"ỗ","ȯ":"ȯ","ȱ":"ȱ","ő":"ő","ṕ":"ṕ","ṗ":"ṗ","ŕ":"ŕ","ř":"ř","ṙ":"ṙ","ŗ":"ŗ","ś":"ś","ṥ":"ṥ","š":"š","ṧ":"ṧ","ŝ":"ŝ","ṡ":"ṡ","ş":"ş","ẗ":"ẗ","ť":"ť","ṫ":"ṫ","ţ":"ţ","ú":"ú","ù":"ù","ü":"ü","ǘ":"ǘ","ǜ":"ǜ","ǖ":"ǖ","ǚ":"ǚ","ũ":"ũ","ṹ":"ṹ","ū":"ū","ṻ":"ṻ","ŭ":"ŭ","ǔ":"ǔ","û":"û","ů":"ů","ű":"ű","ṽ":"ṽ","ẃ":"ẃ","ẁ":"ẁ","ẅ":"ẅ","ŵ":"ŵ","ẇ":"ẇ","ẘ":"ẘ","ẍ":"ẍ","ẋ":"ẋ","ý":"ý","ỳ":"ỳ","ÿ":"ÿ","ỹ":"ỹ","ȳ":"ȳ","ŷ":"ŷ","ẏ":"ẏ","ẙ":"ẙ","ź":"ź","ž":"ž","ẑ":"ẑ","ż":"ż","Á":"Á","À":"À","Ä":"Ä","Ǟ":"Ǟ","Ã":"Ã","Ā":"Ā","Ă":"Ă","Ắ":"Ắ","Ằ":"Ằ","Ẵ":"Ẵ","Ǎ":"Ǎ","Â":"Â","Ấ":"Ấ","Ầ":"Ầ","Ẫ":"Ẫ","Ȧ":"Ȧ","Ǡ":"Ǡ","Å":"Å","Ǻ":"Ǻ","Ḃ":"Ḃ","Ć":"Ć","Ḉ":"Ḉ","Č":"Č","Ĉ":"Ĉ","Ċ":"Ċ","Ç":"Ç","Ď":"Ď","Ḋ":"Ḋ","Ḑ":"Ḑ","É":"É","È":"È","Ë":"Ë","Ẽ":"Ẽ","Ē":"Ē","Ḗ":"Ḗ","Ḕ":"Ḕ","Ĕ":"Ĕ","Ḝ":"Ḝ","Ě":"Ě","Ê":"Ê","Ế":"Ế","Ề":"Ề","Ễ":"Ễ","Ė":"Ė","Ȩ":"Ȩ","Ḟ":"Ḟ","Ǵ":"Ǵ","Ḡ":"Ḡ","Ğ":"Ğ","Ǧ":"Ǧ","Ĝ":"Ĝ","Ġ":"Ġ","Ģ":"Ģ","Ḧ":"Ḧ","Ȟ":"Ȟ","Ĥ":"Ĥ","Ḣ":"Ḣ","Ḩ":"Ḩ","Í":"Í","Ì":"Ì","Ï":"Ï","Ḯ":"Ḯ","Ĩ":"Ĩ","Ī":"Ī","Ĭ":"Ĭ","Ǐ":"Ǐ","Î":"Î","İ":"İ","Ĵ":"Ĵ","Ḱ":"Ḱ","Ǩ":"Ǩ","Ķ":"Ķ","Ĺ":"Ĺ","Ľ":"Ľ","Ļ":"Ļ","Ḿ":"Ḿ","Ṁ":"Ṁ","Ń":"Ń","Ǹ":"Ǹ","Ñ":"Ñ","Ň":"Ň","Ṅ":"Ṅ","Ņ":"Ņ","Ó":"Ó","Ò":"Ò","Ö":"Ö","Ȫ":"Ȫ","Õ":"Õ","Ṍ":"Ṍ","Ṏ":"Ṏ","Ȭ":"Ȭ","Ō":"Ō","Ṓ":"Ṓ","Ṑ":"Ṑ","Ŏ":"Ŏ","Ǒ":"Ǒ","Ô":"Ô","Ố":"Ố","Ồ":"Ồ","Ỗ":"Ỗ","Ȯ":"Ȯ","Ȱ":"Ȱ","Ő":"Ő","Ṕ":"Ṕ","Ṗ":"Ṗ","Ŕ":"Ŕ","Ř":"Ř","Ṙ":"Ṙ","Ŗ":"Ŗ","Ś":"Ś","Ṥ":"Ṥ","Š":"Š","Ṧ":"Ṧ","Ŝ":"Ŝ","Ṡ":"Ṡ","Ş":"Ş","Ť":"Ť","Ṫ":"Ṫ","Ţ":"Ţ","Ú":"Ú","Ù":"Ù","Ü":"Ü","Ǘ":"Ǘ","Ǜ":"Ǜ","Ǖ":"Ǖ","Ǚ":"Ǚ","Ũ":"Ũ","Ṹ":"Ṹ","Ū":"Ū","Ṻ":"Ṻ","Ŭ":"Ŭ","Ǔ":"Ǔ","Û":"Û","Ů":"Ů","Ű":"Ű","Ṽ":"Ṽ","Ẃ":"Ẃ","Ẁ":"Ẁ","Ẅ":"Ẅ","Ŵ":"Ŵ","Ẇ":"Ẇ","Ẍ":"Ẍ","Ẋ":"Ẋ","Ý":"Ý","Ỳ":"Ỳ","Ÿ":"Ÿ","Ỹ":"Ỹ","Ȳ":"Ȳ","Ŷ":"Ŷ","Ẏ":"Ẏ","Ź":"Ź","Ž":"Ž","Ẑ":"Ẑ","Ż":"Ż","ά":"ά","ὰ":"ὰ","ᾱ":"ᾱ","ᾰ":"ᾰ","έ":"έ","ὲ":"ὲ","ή":"ή","ὴ":"ὴ","ί":"ί","ὶ":"ὶ","ϊ":"ϊ","ΐ":"ΐ","ῒ":"ῒ","ῑ":"ῑ","ῐ":"ῐ","ό":"ό","ὸ":"ὸ","ύ":"ύ","ὺ":"ὺ","ϋ":"ϋ","ΰ":"ΰ","ῢ":"ῢ","ῡ":"ῡ","ῠ":"ῠ","ώ":"ώ","ὼ":"ὼ","Ύ":"Ύ","Ὺ":"Ὺ","Ϋ":"Ϋ","Ῡ":"Ῡ","Ῠ":"Ῠ","Ώ":"Ώ","Ὼ":"Ὼ"},$r=((c=Zr.prototype).expect=function(e,t){if(void 0===t&&(t=!0),this.fetch().text!==e)throw new $("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());t&&this.consume()},c.consume=function(){this.nextToken=null},c.fetch=function(){return null==this.nextToken&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken},c.switchMode=function(e){this.mode=e,this.gullet.switchMode(e)},c.parse=function(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}},c.subparse=function(e){var t=this.nextToken,e=(this.consume(),this.gullet.pushToken(new D0("}")),this.gullet.pushTokens(e),this.parseExpression(!1));return this.expect("}"),this.nextToken=t,e},c.parseExpression=function(e,t){for(var r=[];;){"math"===this.mode&&this.consumeSpaces();var n=this.fetch();if(-1!==Zr.endOfExpression.indexOf(n.text))break;if(t&&n.text===t)break;if(e&&qr[n.text]&&qr[n.text].infix)break;n=this.parseAtom(t);if(!n)break;"internal"!==n.type&&r.push(n)}return"text"===this.mode&&this.formLigatures(r),this.handleInfixNodes(r)},c.handleInfixNodes=function(e){for(var t,r,n,i=-1,a=0;a<e.length;a++)if("infix"===e[a].type){if(-1!==i)throw new $("only one infix operator per group",e[a].token);t=e[i=a].replaceWith}return-1!==i&&t?(r=e.slice(0,i),n=e.slice(i+1),r=1===r.length&&"ordgroup"===r[0].type?r[0]:{type:"ordgroup",mode:this.mode,body:r},n=1===n.length&&"ordgroup"===n[0].type?n[0]:{type:"ordgroup",mode:this.mode,body:n},["\\\\abovefrac"===t?this.callFunction(t,[r,e[i],n],[]):this.callFunction(t,[r,n],[])]):e},c.handleSupSubscript=function(e){var t=this.fetch(),r=t.text,e=(this.consume(),this.consumeSpaces(),this.parseGroup(e));if(e)return e;throw new $("Expected group after '"+r+"'",t)},c.formatUnsupportedCmd=function(e){for(var t=[],r=0;r<e.length;r++)t.push({type:"textord",mode:"text",text:e[r]});var n={type:"text",mode:this.mode,body:t};return{type:"color",mode:this.mode,color:this.settings.errorColor,body:[n]}},c.parseAtom=function(e){var t,r,n=this.parseGroup("atom",e);if("text"===this.mode)return n;for(;;){this.consumeSpaces();var i=this.fetch();if("\\limits"===i.text||"\\nolimits"===i.text){if(n&&"op"===n.type){var a="\\limits"===i.text;n.limits=a,n.alwaysHandleSupSub=!0}else{if(!n||"operatorname"!==n.type)throw new $("Limit controls must follow a math operator",i);n.alwaysHandleSupSub&&(n.limits="\\limits"===i.text)}this.consume()}else if("^"===i.text){if(t)throw new $("Double superscript",i);t=this.handleSupSubscript("superscript")}else if("_"===i.text){if(r)throw new $("Double subscript",i);r=this.handleSupSubscript("subscript")}else if("'"===i.text){if(t)throw new $("Double superscript",i);var o={type:"textord",mode:this.mode,text:"\\prime"},s=[o];for(this.consume();"'"===this.fetch().text;)s.push(o),this.consume();"^"===this.fetch().text&&s.push(this.handleSupSubscript("superscript")),t={type:"ordgroup",mode:this.mode,body:s}}else{if(!Wr[i.text])break;var l=Wr[i.text],h=Xr.test(i.text);for(this.consume();;){var m=this.fetch().text;if(!Wr[m])break;if(Xr.test(m)!==h)break;this.consume(),l+=Wr[m]}a=new Zr(l,this.settings).parse();h?r={type:"ordgroup",mode:"math",body:a}:t={type:"ordgroup",mode:"math",body:a}}}return t||r?{type:"supsub",mode:this.mode,base:n,sup:t,sub:r}:n},c.parseFunction=function(e,t){var r=this.fetch(),n=r.text,i=qr[n];if(!i)return null;if(this.consume(),t&&"atom"!==t&&!i.allowedInArgument)throw new $("Got function '"+n+"' with no arguments"+(t?" as "+t:""),r);if("text"===this.mode&&!i.allowedInText)throw new $("Can't use function '"+n+"' in text mode",r);if("math"===this.mode&&!1===i.allowedInMath)throw new $("Can't use function '"+n+"' in math mode",r);t=this.parseArguments(n,i),i=t.args,t=t.optArgs;return this.callFunction(n,i,t,r,e)},c.callFunction=function(e,t,r,n,i){var a=qr[e];if(a&&a.handler)return a.handler({funcName:e,parser:this,token:n,breakOnTokenText:i},t,r);throw new $("No function handler for "+e)},c.parseArguments=function(e,t){var r=t.numArgs+t.numOptionalArgs;if(0===r)return{args:[],optArgs:[]};for(var n=[],i=[],a=0;a<r;a++){var o=t.argTypes&&t.argTypes[a],s=a<t.numOptionalArgs,o=((t.primitive&&null==o||"sqrt"===t.type&&1===a&&null==i[0])&&(o="primitive"),this.parseGroupOfType("argument to '"+e+"'",o,s));if(s)i.push(o);else{if(null==o)throw new $("Null argument, please report this as a bug");n.push(o)}}return{args:n,optArgs:i}},c.parseGroupOfType=function(e,t,r){switch(t){case"color":return this.parseColorGroup(r);case"size":return this.parseSizeGroup(r);case"url":return this.parseUrlGroup(r);case"math":case"text":return this.parseArgumentGroup(r,t);case"hbox":var n=this.parseArgumentGroup(r,"text");return null!=n?{type:"styling",mode:n.mode,body:[n],style:"text"}:null;case"raw":n=this.parseStringGroup("raw",r);return null!=n?{type:"raw",mode:"text",string:n.text}:null;case"primitive":if(r)throw new $("A primitive argument cannot be optional");n=this.parseGroup(e);if(null==n)throw new $("Expected group as "+e,this.fetch());return n;case"original":case null:case void 0:return this.parseArgumentGroup(r);default:throw new $("Unknown group type as "+e,this.fetch())}},c.consumeSpaces=function(){for(;" "===this.fetch().text;)this.consume()},c.parseStringGroup=function(e,t){t=this.gullet.scanArgument(t);if(null==t)return null;for(var r,n="";"EOF"!==(r=this.fetch()).text;)n+=r.text,this.consume();return this.consume(),t.text=n,t},c.parseRegexGroup=function(e,t){for(var r,n=this.fetch(),i=n,a="";"EOF"!==(r=this.fetch()).text&&e.test(a+r.text);)a+=(i=r).text,this.consume();if(""===a)throw new $("Invalid "+t+": '"+n.text+"'",n);return n.range(i,a)},c.parseColorGroup=function(e){e=this.parseStringGroup("color",e);if(null==e)return null;var t=/^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i.exec(e.text);if(t)return t=t[0],/^[0-9a-f]{6}$/i.test(t)&&(t="#"+t),{type:"color-token",mode:this.mode,color:t};throw new $("Invalid color: '"+e.text+"'",e)},c.parseSizeGroup=function(e){var t,r=!1;if(this.gullet.consumeSpaces(),!(t=e||"{"===this.gullet.future().text?this.parseStringGroup("size",e):this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,"size")))return null;e||0!==t.text.length||(t.text="0pt",r=!0);e=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t.text);if(!e)throw new $("Invalid size: '"+t.text+"'",t);e={number:+(e[1]+e[2]),unit:e[3]};if(fe(e))return{type:"size",mode:this.mode,value:e,isBlank:r};throw new $("Invalid unit: '"+e.unit+"'",t)},c.parseUrlGroup=function(e){this.gullet.lexer.setCatcode("%",13),this.gullet.lexer.setCatcode("~",12);var e=this.parseStringGroup("url",e);return this.gullet.lexer.setCatcode("%",14),this.gullet.lexer.setCatcode("~",13),null==e?null:(e=e.text.replace(/\\([#$%&~_^{}])/g,"$1"),{type:"url",mode:this.mode,url:e})},c.parseArgumentGroup=function(e,t){var r,n,e=this.gullet.scanArgument(e);return null==e?null:(r=this.mode,t&&this.switchMode(t),this.gullet.beginGroup(),n=this.parseExpression(!1,"EOF"),this.expect("EOF"),this.gullet.endGroup(),e={type:"ordgroup",mode:this.mode,loc:e.loc,body:n},t&&this.switchMode(r),e)},c.parseGroup=function(e,t){var r=this.fetch(),n=r.text;if("{"===n||"\\begingroup"===n){this.consume();var i="{"===n?"}":"\\endgroup",a=(this.gullet.beginGroup(),this.parseExpression(!1,i)),o=this.fetch();this.expect(i),this.gullet.endGroup(),i={type:"ordgroup",mode:this.mode,loc:L0.range(r,o),body:a,semisimple:"\\begingroup"===n||void 0}}else if(null==(i=this.parseFunction(t,e)||this.parseSymbol())&&"\\"===n[0]&&!Ur.hasOwnProperty(n)){if(this.settings.throwOnError)throw new $("Undefined control sequence: "+n,r);i=this.formatUnsupportedCmd(n),this.consume()}return i},c.formLigatures=function(e){for(var t=e.length-1,r=0;r<t;++r){var n=e[r],i=n.text;"-"===i&&"-"===e[r+1].text&&(r+1<t&&"-"===e[r+2].text?(e.splice(r,3,{type:"textord",mode:"text",loc:L0.range(n,e[r+2]),text:"---"}),t-=2):(e.splice(r,2,{type:"textord",mode:"text",loc:L0.range(n,e[r+1]),text:"--"}),--t)),"'"!==i&&"`"!==i||e[r+1].text!==i||(e.splice(r,2,{type:"textord",mode:"text",loc:L0.range(n,e[r+1]),text:i+i}),--t)}},c.parseSymbol=function(){var e=this.fetch(),t=e.text;if(/^\\verb[^a-zA-Z]/.test(t)){this.consume();var r=t.slice(5),n="*"===r.charAt(0);if((r=n?r.slice(1):r).length<2||r.charAt(0)!==r.slice(-1))throw new $("\\verb assertion failed --\n please report what input caused this bug");return{type:"verb",mode:"text",body:r=r.slice(1,-1),star:n}}_r.hasOwnProperty(t[0])&&!p[this.mode][t[0]]&&(this.settings.strict&&"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Accented Unicode text character "'+t[0]+'" used in math mode',e),t=_r[t[0]]+t.substr(1));var i=Ir.exec(t);if(i&&("i"===(t=t.substring(0,i.index))?t="ı":"j"===t&&(t="ȷ")),p[this.mode][t]){this.settings.strict&&"math"===this.mode&&0<="ÐÞþ".indexOf(t)&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+t[0]+'" used in math mode',e);var r=p[this.mode][t].group,n=L0.range(e),a=De.hasOwnProperty(r)?{type:"atom",mode:this.mode,family:r,loc:n,text:t}:{type:r,mode:this.mode,loc:n,text:t}}else{if(!(128<=t.charCodeAt(0)))return null;this.settings.strict&&(_(t.charCodeAt(0))?"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'" ('+t.charCodeAt(0)+")",e)),a={type:"textord",mode:"text",loc:L0.range(e),text:t}}if(this.consume(),i)for(var o=0;o<i[0].length;o++){var s=i[0][o];if(!jr[s])throw new $("Unknown accent ' "+s+"'",e);var l=jr[s][this.mode]||jr[s].text;if(!l)throw new $("Accent "+s+" unsupported in "+this.mode+" mode",e);a={type:"accent",mode:this.mode,loc:L0.range(e),label:l,isStretchy:!1,isShifty:!0,base:a}}return a},Zr);function Zr(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new Yr(e,t,this.mode),this.settings=t,this.leftrightDepth=0}function Kr(e,t,r){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=t,this.expansionCount=0,this.feed(e),this.macros=new Rr(Er,t.macros),this.mode=r,this.stack=[]}$r.endOfExpression=["}","\\endgroup","\\end","\\right","&"];function Jr(e,t){if(!("string"==typeof e||e instanceof String))throw new TypeError("KaTeX can only parse string typed expression");delete(e=new $r(e,t)).gullet.macros.current["\\df@tag"];var r=e.parse();if(delete e.gullet.macros.current["\\current@color"],delete e.gullet.macros.current["\\color"],e.gullet.macros.get("\\df@tag")){if(!t.displayMode)throw new $("\\tag works only in display equations");r=[{type:"tag",mode:"text",body:r,tag:e.subparse([new D0("\\df@tag")])}]}return r}function Qr(e,t,r){if(!r.throwOnError&&e instanceof $)return(t=ee.makeSpan(["katex-error"],[new b(t)])).setAttribute("title",e.toString()),t.setAttribute("style","color:"+r.errorColor),t;throw e}function en(e,t){var r,n,i,a,o,s=new H(t);try{var l=Jr(e,s);return r=l,n=e,o=Yt(i=s),"mathml"===i.output?Vt(r,n,o,i.displayMode,!0):(r="html"===i.output?(a=Nt(r,o),ee.makeSpan(["katex"],[a])):(a=Vt(r,n,o,i.displayMode,!1),n=Nt(r,o),ee.makeSpan(["katex"],[a,n])),Xt(r,i))}catch(t){return Qr(t,e,s)}}var o=function(e,t,r){t.textContent="";e=en(e,r).toNode();t.appendChild(e)},tn=("undefined"!=typeof document&&"CSS1Compat"!==document.compatMode&&("undefined"!=typeof console&&console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype."),o=function(){throw new $("KaTeX doesn't work in quirks mode.")}),{version:"0.15.6",render:o,renderToString:function(e,t){return en(e,t).toMarkup()},ParseError:$,SETTINGS_SCHEMA:E,__parse:function(e,t){t=new H(t);return Jr(e,t)},__renderToDomTree:en,__renderToHTMLTree:function(e,t){var r=new H(t);try{var n=Jr(e,r),i=r;return n=Nt(n,Yt(i)),n=ee.makeSpan(["katex"],[n]),Xt(n,i)}catch(t){return Qr(t,e,r)}},__setFontMetrics:function(e,t){ae[e]=t},__defineSymbol:r,__defineMacro:T,__domTree:{Span:Se,Anchor:Me,SymbolNode:b,SvgNode:Te,PathNode:Be,LineNode:Ce}});return q.default}),function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("katex"));else if("function"==typeof define&&define.amd)define(["katex"],t);else{var r,n="object"==typeof exports?t(require("katex")):t(e.katex);for(r in n)("object"==typeof exports?exports:e)[r]=n[r]}}("undefined"!=typeof self?self:this,function(t){return function(){"use strict";var r={771:function(e){e.exports=t}},n={};function i(e){var t=n[e];return void 0!==t||(t=n[e]={exports:{}},r[e](t,t.exports,i)),t.exports}i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,{a:t}),t},i.d=function(e,t){for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};var e=i(771),a=i.n(e),e=document.body.getElementsByTagName("script");return(e=Array.prototype.slice.call(e)).forEach(function(e){if(!e.type||!e.type.match(/math\/tex/i))return-1;var t=null!=e.type.match(/mode\s*=\s*display(;|\s|\n|$)/),r=document.createElement(t?"div":"span");r.setAttribute("class",t?"equation":"inline-equation");try{a().render(e.text,r,{displayMode:t})}catch(t){r.textContent=e.text}e.parentNode.replaceChild(r,e)}),{}.default}()}),function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("katex")):"function"==typeof define&&define.amd?define(["katex"],t):"object"==typeof exports?exports.renderMathInElement=t(require("katex")):e.renderMathInElement=t(e.katex)}("undefined"!=typeof self?self:this,function(m){return function(){"use strict";var r={771:function(e){e.exports=m}},n={};function i(e){var t=n[e];return void 0!==t||(t=n[e]={exports:{}},r[e](t,t.exports,i)),t.exports}i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,{a:t}),t},i.d=function(e,t){for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};var e,s,l,a,t,o={};return i.d(o,{default:function(){return t}}),e=i(771),s=i.n(e),l=/^\\begin{/,a=function(e,t){var r=function(t,e){for(var r,n=[],i=new RegExp("("+e.map(function(e){return e.left.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")}).join("|")+")");-1!==(r=t.search(i));){0<r&&(n.push({type:"text",data:t.slice(0,r)}),t=t.slice(r));var a=e.findIndex(function(e){return t.startsWith(e.left)});if(-1===(r=function(e,t,r){for(var n=r,i=0,a=e.length;n<t.length;){var o=t[n];if(i<=0&&t.slice(n,n+a)===e)return n;"\\"===o?n++:"{"===o?i++:"}"===o&&i--,n++}return-1}(e[a].right,t,e[a].left.length)))break;var o=t.slice(0,r+e[a].right.length),s=l.test(o)?o:t.slice(e[a].left.length,r);n.push({type:"math",data:s,rawData:o,display:e[a].display}),t=t.slice(r+e[a].right.length)}return""!==t&&n.push({type:"text",data:t}),n}(e,t.delimiters);if(1===r.length&&"text"===r[0].type)return null;for(var n=document.createDocumentFragment(),i=0;i<r.length;i++)if("text"===r[i].type)n.appendChild(document.createTextNode(r[i].data));else{var a=document.createElement("span"),o=r[i].data;t.displayMode=r[i].display;try{t.preProcess&&(o=t.preProcess(o)),s().render(o,a,t)}catch(e){if(!(e instanceof s().ParseError))throw e;t.errorCallback("KaTeX auto-render: Failed to parse `"+r[i].data+"` with ",e),n.appendChild(document.createTextNode(r[i].rawData));continue}n.appendChild(a)}return n},t=function(e,t){if(!e)throw new Error("No element provided to render");var r,n={};for(r in t)t.hasOwnProperty(r)&&(n[r]=t[r]);n.delimiters=n.delimiters||[{left:"$$",right:"$$",display:!0},{left:"\\(",right:"\\)",display:!1},{left:"\\begin{equation}",right:"\\end{equation}",display:!0},{left:"\\begin{align}",right:"\\end{align}",display:!0},{left:"\\begin{alignat}",right:"\\end{alignat}",display:!0},{left:"\\begin{gather}",right:"\\end{gather}",display:!0},{left:"\\begin{CD}",right:"\\end{CD}",display:!0},{left:"\\[",right:"\\]",display:!0}],n.ignoredTags=n.ignoredTags||["script","noscript","style","textarea","pre","code","option"],n.ignoredClasses=n.ignoredClasses||[],n.errorCallback=n.errorCallback||console.error,n.macros=n.macros||{},h(e,n)},o.default;function h(e,r){for(var t=0;t<e.childNodes.length;t++){var n,i=e.childNodes[t];3===i.nodeType?(n=a(i.textContent,r))&&(t+=n.childNodes.length-1,e.replaceChild(n,i)):1===i.nodeType&&function(){var t=" "+i.className+" ";-1===r.ignoredTags.indexOf(i.nodeName.toLowerCase())&&r.ignoredClasses.every(function(e){return-1===t.indexOf(" "+e+" ")})&&h(i,r)}()}}}()}),document.addEventListener("DOMContentLoaded",function(){renderMathInElement(document.body,{delimiters:[{left:"$$",right:"$$",display:!0},{left:"$",right:"$",display:!1},{left:"\\(",right:"\\)",display:!1},{left:"\\[",right:"\\]",display:!0}],throwOnError:!1})});
\ No newline at end of file diff --git a/static/katexoptions.js b/static/js/katexoptions.js index b4fa30c..b4fa30c 100644 --- a/static/katexoptions.js +++ b/static/js/katexoptions.js diff --git a/static/js/lunr.da.js b/static/js/lunr.da.js new file mode 100644 index 0000000..6ea9ef3 --- /dev/null +++ b/static/js/lunr.da.js @@ -0,0 +1,280 @@ +/*! + * Lunr languages, `Danish` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +/** + * export the module via AMD, CommonJS or as a browser global + * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js + */ +; +(function(root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(factory) + } else if (typeof exports === 'object') { + /** + * Node. Does not work with strict CommonJS, but + * only CommonJS-like environments that support module.exports, + * like Node. + */ + module.exports = factory() + } else { + // Browser globals (root is window) + factory()(root.lunr); + } +}(this, function() { + /** + * Just return a value to define the module export. + * This example returns an object, but the module + * can return a function as the exported value. + */ + return function(lunr) { + /* throw error if lunr is not yet included */ + if ('undefined' === typeof lunr) { + throw new Error('Lunr is not present. Please include / require Lunr before this script.'); + } + + /* throw error if lunr stemmer support is not yet included */ + if ('undefined' === typeof lunr.stemmerSupport) { + throw new Error('Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.'); + } + + /* register specific locale function */ + lunr.da = function() { + this.pipeline.reset(); + this.pipeline.add( + lunr.da.trimmer, + lunr.da.stopWordFilter, + lunr.da.stemmer + ); + }; + + /* lunr trimmer function */ + lunr.da.wordCharacters = "A-Za-z\xAA\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u02E0-\u02E4\u1D00-\u1D25\u1D2C-\u1D5C\u1D62-\u1D65\u1D6B-\u1D77\u1D79-\u1DBE\u1E00-\u1EFF\u2071\u207F\u2090-\u209C\u212A\u212B\u2132\u214E\u2160-\u2188\u2C60-\u2C7F\uA722-\uA787\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA7FF\uAB30-\uAB5A\uAB5C-\uAB64\uFB00-\uFB06\uFF21-\uFF3A\uFF41-\uFF5A"; + lunr.da.trimmer = lunr.trimmerSupport.generateTrimmer(lunr.da.wordCharacters); + + lunr.Pipeline.registerFunction(lunr.da.trimmer, 'trimmer-da'); + + /* lunr stemmer function */ + lunr.da.stemmer = (function() { + /* create the wrapped stemmer object */ + var Among = lunr.stemmerSupport.Among, + SnowballProgram = lunr.stemmerSupport.SnowballProgram, + st = new function DanishStemmer() { + var a_0 = [new Among("hed", -1, 1), new Among("ethed", 0, 1), + new Among("ered", -1, 1), new Among("e", -1, 1), + new Among("erede", 3, 1), new Among("ende", 3, 1), + new Among("erende", 5, 1), new Among("ene", 3, 1), + new Among("erne", 3, 1), new Among("ere", 3, 1), + new Among("en", -1, 1), new Among("heden", 10, 1), + new Among("eren", 10, 1), new Among("er", -1, 1), + new Among("heder", 13, 1), new Among("erer", 13, 1), + new Among("s", -1, 2), new Among("heds", 16, 1), + new Among("es", 16, 1), new Among("endes", 18, 1), + new Among("erendes", 19, 1), new Among("enes", 18, 1), + new Among("ernes", 18, 1), new Among("eres", 18, 1), + new Among("ens", 16, 1), new Among("hedens", 24, 1), + new Among("erens", 24, 1), new Among("ers", 16, 1), + new Among("ets", 16, 1), new Among("erets", 28, 1), + new Among("et", -1, 1), new Among("eret", 30, 1) + ], + a_1 = [ + new Among("gd", -1, -1), new Among("dt", -1, -1), + new Among("gt", -1, -1), new Among("kt", -1, -1) + ], + a_2 = [ + new Among("ig", -1, 1), new Among("lig", 0, 1), + new Among("elig", 1, 1), new Among("els", -1, 1), + new Among("l\u00F8st", -1, 2) + ], + g_v = [17, 65, 16, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 128 + ], + g_s_ending = [239, 254, 42, 3, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16 + ], + I_x, I_p1, S_ch, sbp = new SnowballProgram(); + this.setCurrent = function(word) { + sbp.setCurrent(word); + }; + this.getCurrent = function() { + return sbp.getCurrent(); + }; + + function r_mark_regions() { + var v_1, c = sbp.cursor + 3; + I_p1 = sbp.limit; + if (0 <= c && c <= sbp.limit) { + I_x = c; + while (true) { + v_1 = sbp.cursor; + if (sbp.in_grouping(g_v, 97, 248)) { + sbp.cursor = v_1; + break; + } + sbp.cursor = v_1; + if (v_1 >= sbp.limit) + return; + sbp.cursor++; + } + while (!sbp.out_grouping(g_v, 97, 248)) { + if (sbp.cursor >= sbp.limit) + return; + sbp.cursor++; + } + I_p1 = sbp.cursor; + if (I_p1 < I_x) + I_p1 = I_x; + } + } + + function r_main_suffix() { + var among_var, v_1; + if (sbp.cursor >= I_p1) { + v_1 = sbp.limit_backward; + sbp.limit_backward = I_p1; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_0, 32); + sbp.limit_backward = v_1; + if (among_var) { + sbp.bra = sbp.cursor; + switch (among_var) { + case 1: + sbp.slice_del(); + break; + case 2: + if (sbp.in_grouping_b(g_s_ending, 97, 229)) + sbp.slice_del(); + break; + } + } + } + } + + function r_consonant_pair() { + var v_1 = sbp.limit - sbp.cursor, + v_2; + if (sbp.cursor >= I_p1) { + v_2 = sbp.limit_backward; + sbp.limit_backward = I_p1; + sbp.ket = sbp.cursor; + if (sbp.find_among_b(a_1, 4)) { + sbp.bra = sbp.cursor; + sbp.limit_backward = v_2; + sbp.cursor = sbp.limit - v_1; + if (sbp.cursor > sbp.limit_backward) { + sbp.cursor--; + sbp.bra = sbp.cursor; + sbp.slice_del(); + } + } else + sbp.limit_backward = v_2; + } + } + + function r_other_suffix() { + var among_var, v_1 = sbp.limit - sbp.cursor, + v_2, v_3; + sbp.ket = sbp.cursor; + if (sbp.eq_s_b(2, "st")) { + sbp.bra = sbp.cursor; + if (sbp.eq_s_b(2, "ig")) + sbp.slice_del(); + } + sbp.cursor = sbp.limit - v_1; + if (sbp.cursor >= I_p1) { + v_2 = sbp.limit_backward; + sbp.limit_backward = I_p1; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_2, 5); + sbp.limit_backward = v_2; + if (among_var) { + sbp.bra = sbp.cursor; + switch (among_var) { + case 1: + sbp.slice_del(); + v_3 = sbp.limit - sbp.cursor; + r_consonant_pair(); + sbp.cursor = sbp.limit - v_3; + break; + case 2: + sbp.slice_from("l\u00F8s"); + break; + } + } + } + } + + function r_undouble() { + var v_1; + if (sbp.cursor >= I_p1) { + v_1 = sbp.limit_backward; + sbp.limit_backward = I_p1; + sbp.ket = sbp.cursor; + if (sbp.out_grouping_b(g_v, 97, 248)) { + sbp.bra = sbp.cursor; + S_ch = sbp.slice_to(S_ch); + sbp.limit_backward = v_1; + if (sbp.eq_v_b(S_ch)) + sbp.slice_del(); + } else + sbp.limit_backward = v_1; + } + } + this.stem = function() { + var v_1 = sbp.cursor; + r_mark_regions(); + sbp.limit_backward = v_1; + sbp.cursor = sbp.limit; + r_main_suffix(); + sbp.cursor = sbp.limit; + r_consonant_pair(); + sbp.cursor = sbp.limit; + r_other_suffix(); + sbp.cursor = sbp.limit; + r_undouble(); + return true; + } + }; + + /* and return a function that stems a word for the current locale */ + return function(word) { + st.setCurrent(word); + st.stem(); + return st.getCurrent(); + } + })(); + + lunr.Pipeline.registerFunction(lunr.da.stemmer, 'stemmer-da'); + + /* stop word filter function */ + lunr.da.stopWordFilter = function(token) { + if (lunr.da.stopWordFilter.stopWords.indexOf(token) === -1) { + return token; + } + }; + + lunr.da.stopWordFilter.stopWords = new lunr.SortedSet(); + lunr.da.stopWordFilter.stopWords.length = 95; + + // The space at the beginning is crucial: It marks the empty string + // as a stop word. lunr.js crashes during search when documents + // processed by the pipeline still contain the empty string. + lunr.da.stopWordFilter.stopWords.elements = ' ad af alle alt anden at blev blive bliver da de dem den denne der deres det dette dig din disse dog du efter eller en end er et for fra ham han hans har havde have hende hendes her hos hun hvad hvis hvor i ikke ind jeg jer jo kunne man mange med meget men mig min mine mit mod ned noget nogle nu når og også om op os over på selv sig sin sine sit skal skulle som sådan thi til ud under var vi vil ville vor være været'.split(' '); + + lunr.Pipeline.registerFunction(lunr.da.stopWordFilter, 'stopWordFilter-da'); + }; +}))
\ No newline at end of file diff --git a/static/js/lunr.da.min.js b/static/js/lunr.da.min.js new file mode 100644 index 0000000..2c3f742 --- /dev/null +++ b/static/js/lunr.da.min.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(r){if(void 0===r)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===r.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var e,t,i;r.da=function(){this.pipeline.reset(),this.pipeline.add(r.da.trimmer,r.da.stopWordFilter,r.da.stemmer)},r.da.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",r.da.trimmer=r.trimmerSupport.generateTrimmer(r.da.wordCharacters),r.Pipeline.registerFunction(r.da.trimmer,"trimmer-da"),r.da.stemmer=(e=r.stemmerSupport.Among,t=r.stemmerSupport.SnowballProgram,i=new function(){var n,s,o,d=[new e("hed",-1,1),new e("ethed",0,1),new e("ered",-1,1),new e("e",-1,1),new e("erede",3,1),new e("ende",3,1),new e("erende",5,1),new e("ene",3,1),new e("erne",3,1),new e("ere",3,1),new e("en",-1,1),new e("heden",10,1),new e("eren",10,1),new e("er",-1,1),new e("heder",13,1),new e("erer",13,1),new e("s",-1,2),new e("heds",16,1),new e("es",16,1),new e("endes",18,1),new e("erendes",19,1),new e("enes",18,1),new e("ernes",18,1),new e("eres",18,1),new e("ens",16,1),new e("hedens",24,1),new e("erens",24,1),new e("ers",16,1),new e("ets",16,1),new e("erets",28,1),new e("et",-1,1),new e("eret",30,1)],i=[new e("gd",-1,-1),new e("dt",-1,-1),new e("gt",-1,-1),new e("kt",-1,-1)],a=[new e("ig",-1,1),new e("lig",0,1),new e("elig",1,1),new e("els",-1,1),new e("løst",-1,2)],u=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,48,0,128],l=[239,254,42,3,0,0,0,0,0,0,0,0,0,0,0,0,16],c=new t;function m(){var e,r=c.limit-c.cursor;c.cursor>=s&&(e=c.limit_backward,c.limit_backward=s,c.ket=c.cursor,c.find_among_b(i,4)?(c.bra=c.cursor,c.limit_backward=e,c.cursor=c.limit-r,c.cursor>c.limit_backward&&(c.cursor--,c.bra=c.cursor,c.slice_del())):c.limit_backward=e)}this.setCurrent=function(e){c.setCurrent(e)},this.getCurrent=function(){return c.getCurrent()},this.stem=function(){var e,r=c.cursor;if(!function(){var e,r=c.cursor+3;if(s=c.limit,0<=r&&r<=c.limit){for(n=r;;){if(e=c.cursor,c.in_grouping(u,97,248)){c.cursor=e;break}if((c.cursor=e)>=c.limit)return;c.cursor++}for(;!c.out_grouping(u,97,248);){if(c.cursor>=c.limit)return;c.cursor++}(s=c.cursor)<n&&(s=n)}}(),c.limit_backward=r,c.cursor=c.limit,c.cursor>=s&&(r=c.limit_backward,c.limit_backward=s,c.ket=c.cursor,e=c.find_among_b(d,32),c.limit_backward=r,e))switch(c.bra=c.cursor,e){case 1:c.slice_del();break;case 2:c.in_grouping_b(l,97,229)&&c.slice_del()}c.cursor=c.limit,m(),c.cursor=c.limit;var i,t,r=c.limit-c.cursor;if(c.ket=c.cursor,c.eq_s_b(2,"st")&&(c.bra=c.cursor,c.eq_s_b(2,"ig"))&&c.slice_del(),c.cursor=c.limit-r,c.cursor>=s&&(r=c.limit_backward,c.limit_backward=s,c.ket=c.cursor,i=c.find_among_b(a,5),c.limit_backward=r,i))switch(c.bra=c.cursor,i){case 1:c.slice_del(),t=c.limit-c.cursor,m(),c.cursor=c.limit-t;break;case 2:c.slice_from("løs")}return c.cursor=c.limit,c.cursor>=s&&(e=c.limit_backward,c.limit_backward=s,c.ket=c.cursor,c.out_grouping_b(u,97,248)?(c.bra=c.cursor,o=c.slice_to(o),c.limit_backward=e,c.eq_v_b(o)&&c.slice_del()):c.limit_backward=e),!0}},function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}),r.Pipeline.registerFunction(r.da.stemmer,"stemmer-da"),r.da.stopWordFilter=function(e){if(-1===r.da.stopWordFilter.stopWords.indexOf(e))return e},r.da.stopWordFilter.stopWords=new r.SortedSet,r.da.stopWordFilter.stopWords.length=95,r.da.stopWordFilter.stopWords.elements=" ad af alle alt anden at blev blive bliver da de dem den denne der deres det dette dig din disse dog du efter eller en end er et for fra ham han hans har havde have hende hendes her hos hun hvad hvis hvor i ikke ind jeg jer jo kunne man mange med meget men mig min mine mit mod ned noget nogle nu når og også om op os over på selv sig sin sine sit skal skulle som sådan thi til ud under var vi vil ville vor være været".split(" "),r.Pipeline.registerFunction(r.da.stopWordFilter,"stopWordFilter-da")}});
\ No newline at end of file diff --git a/static/js/lunr.de.js b/static/js/lunr.de.js new file mode 100644 index 0000000..3ed2b93 --- /dev/null +++ b/static/js/lunr.de.js @@ -0,0 +1,380 @@ +/*! + * Lunr languages, `German` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +/** + * export the module via AMD, CommonJS or as a browser global + * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js + */ +; +(function(root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(factory) + } else if (typeof exports === 'object') { + /** + * Node. Does not work with strict CommonJS, but + * only CommonJS-like environments that support module.exports, + * like Node. + */ + module.exports = factory() + } else { + // Browser globals (root is window) + factory()(root.lunr); + } +}(this, function() { + /** + * Just return a value to define the module export. + * This example returns an object, but the module + * can return a function as the exported value. + */ + return function(lunr) { + /* throw error if lunr is not yet included */ + if ('undefined' === typeof lunr) { + throw new Error('Lunr is not present. Please include / require Lunr before this script.'); + } + + /* throw error if lunr stemmer support is not yet included */ + if ('undefined' === typeof lunr.stemmerSupport) { + throw new Error('Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.'); + } + + /* register specific locale function */ + lunr.de = function() { + this.pipeline.reset(); + this.pipeline.add( + lunr.de.trimmer, + lunr.de.stopWordFilter, + lunr.de.stemmer + ); + }; + + /* lunr trimmer function */ + lunr.de.wordCharacters = "A-Za-z\xAA\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u02E0-\u02E4\u1D00-\u1D25\u1D2C-\u1D5C\u1D62-\u1D65\u1D6B-\u1D77\u1D79-\u1DBE\u1E00-\u1EFF\u2071\u207F\u2090-\u209C\u212A\u212B\u2132\u214E\u2160-\u2188\u2C60-\u2C7F\uA722-\uA787\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA7FF\uAB30-\uAB5A\uAB5C-\uAB64\uFB00-\uFB06\uFF21-\uFF3A\uFF41-\uFF5A"; + lunr.de.trimmer = lunr.trimmerSupport.generateTrimmer(lunr.de.wordCharacters); + + lunr.Pipeline.registerFunction(lunr.de.trimmer, 'trimmer-de'); + + /* lunr stemmer function */ + lunr.de.stemmer = (function() { + /* create the wrapped stemmer object */ + var Among = lunr.stemmerSupport.Among, + SnowballProgram = lunr.stemmerSupport.SnowballProgram, + st = new function GermanStemmer() { + var a_0 = [new Among("", -1, 6), new Among("U", 0, 2), + new Among("Y", 0, 1), new Among("\u00E4", 0, 3), + new Among("\u00F6", 0, 4), new Among("\u00FC", 0, 5) + ], + a_1 = [ + new Among("e", -1, 2), new Among("em", -1, 1), + new Among("en", -1, 2), new Among("ern", -1, 1), + new Among("er", -1, 1), new Among("s", -1, 3), + new Among("es", 5, 2) + ], + a_2 = [new Among("en", -1, 1), + new Among("er", -1, 1), new Among("st", -1, 2), + new Among("est", 2, 1) + ], + a_3 = [new Among("ig", -1, 1), + new Among("lich", -1, 1) + ], + a_4 = [new Among("end", -1, 1), + new Among("ig", -1, 2), new Among("ung", -1, 1), + new Among("lich", -1, 3), new Among("isch", -1, 2), + new Among("ik", -1, 2), new Among("heit", -1, 3), + new Among("keit", -1, 4) + ], + g_v = [17, 65, 16, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 8, 0, 32, 8 + ], + g_s_ending = [117, 30, 5], + g_st_ending = [ + 117, 30, 4 + ], + I_x, I_p2, I_p1, sbp = new SnowballProgram(); + this.setCurrent = function(word) { + sbp.setCurrent(word); + }; + this.getCurrent = function() { + return sbp.getCurrent(); + }; + + function habr1(c1, c2, v_1) { + if (sbp.eq_s(1, c1)) { + sbp.ket = sbp.cursor; + if (sbp.in_grouping(g_v, 97, 252)) { + sbp.slice_from(c2); + sbp.cursor = v_1; + return true; + } + } + return false; + } + + function r_prelude() { + var v_1 = sbp.cursor, + v_2, v_3, v_4, v_5; + while (true) { + v_2 = sbp.cursor; + sbp.bra = v_2; + if (sbp.eq_s(1, "\u00DF")) { + sbp.ket = sbp.cursor; + sbp.slice_from("ss"); + } else { + if (v_2 >= sbp.limit) + break; + sbp.cursor = v_2 + 1; + } + } + sbp.cursor = v_1; + while (true) { + v_3 = sbp.cursor; + while (true) { + v_4 = sbp.cursor; + if (sbp.in_grouping(g_v, 97, 252)) { + v_5 = sbp.cursor; + sbp.bra = v_5; + if (habr1("u", "U", v_4)) + break; + sbp.cursor = v_5; + if (habr1("y", "Y", v_4)) + break; + } + if (v_4 >= sbp.limit) { + sbp.cursor = v_3; + return; + } + sbp.cursor = v_4 + 1; + } + } + } + + function habr2() { + while (!sbp.in_grouping(g_v, 97, 252)) { + if (sbp.cursor >= sbp.limit) + return true; + sbp.cursor++; + } + while (!sbp.out_grouping(g_v, 97, 252)) { + if (sbp.cursor >= sbp.limit) + return true; + sbp.cursor++; + } + return false; + } + + function r_mark_regions() { + I_p1 = sbp.limit; + I_p2 = I_p1; + var c = sbp.cursor + 3; + if (0 <= c && c <= sbp.limit) { + I_x = c; + if (!habr2()) { + I_p1 = sbp.cursor; + if (I_p1 < I_x) + I_p1 = I_x; + if (!habr2()) + I_p2 = sbp.cursor; + } + } + } + + function r_postlude() { + var among_var, v_1; + while (true) { + v_1 = sbp.cursor; + sbp.bra = v_1; + among_var = sbp.find_among(a_0, 6); + if (!among_var) + return; + sbp.ket = sbp.cursor; + switch (among_var) { + case 1: + sbp.slice_from("y"); + break; + case 2: + case 5: + sbp.slice_from("u"); + break; + case 3: + sbp.slice_from("a"); + break; + case 4: + sbp.slice_from("o"); + break; + case 6: + if (sbp.cursor >= sbp.limit) + return; + sbp.cursor++; + break; + } + } + } + + function r_R1() { + return I_p1 <= sbp.cursor; + } + + function r_R2() { + return I_p2 <= sbp.cursor; + } + + function r_standard_suffix() { + var among_var, v_1 = sbp.limit - sbp.cursor, + v_2, v_3, v_4; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_1, 7); + if (among_var) { + sbp.bra = sbp.cursor; + if (r_R1()) { + switch (among_var) { + case 1: + sbp.slice_del(); + break; + case 2: + sbp.slice_del(); + sbp.ket = sbp.cursor; + if (sbp.eq_s_b(1, "s")) { + sbp.bra = sbp.cursor; + if (sbp.eq_s_b(3, "nis")) + sbp.slice_del(); + } + break; + case 3: + if (sbp.in_grouping_b(g_s_ending, 98, 116)) + sbp.slice_del(); + break; + } + } + } + sbp.cursor = sbp.limit - v_1; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_2, 4); + if (among_var) { + sbp.bra = sbp.cursor; + if (r_R1()) { + switch (among_var) { + case 1: + sbp.slice_del(); + break; + case 2: + if (sbp.in_grouping_b(g_st_ending, 98, 116)) { + var c = sbp.cursor - 3; + if (sbp.limit_backward <= c && c <= sbp.limit) { + sbp.cursor = c; + sbp.slice_del(); + } + } + break; + } + } + } + sbp.cursor = sbp.limit - v_1; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_4, 8); + if (among_var) { + sbp.bra = sbp.cursor; + if (r_R2()) { + switch (among_var) { + case 1: + sbp.slice_del(); + sbp.ket = sbp.cursor; + if (sbp.eq_s_b(2, "ig")) { + sbp.bra = sbp.cursor; + v_2 = sbp.limit - sbp.cursor; + if (!sbp.eq_s_b(1, "e")) { + sbp.cursor = sbp.limit - v_2; + if (r_R2()) + sbp.slice_del(); + } + } + break; + case 2: + v_3 = sbp.limit - sbp.cursor; + if (!sbp.eq_s_b(1, "e")) { + sbp.cursor = sbp.limit - v_3; + sbp.slice_del(); + } + break; + case 3: + sbp.slice_del(); + sbp.ket = sbp.cursor; + v_4 = sbp.limit - sbp.cursor; + if (!sbp.eq_s_b(2, "er")) { + sbp.cursor = sbp.limit - v_4; + if (!sbp.eq_s_b(2, "en")) + break; + } + sbp.bra = sbp.cursor; + if (r_R1()) + sbp.slice_del(); + break; + case 4: + sbp.slice_del(); + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_3, 2); + if (among_var) { + sbp.bra = sbp.cursor; + if (r_R2() && among_var == 1) + sbp.slice_del(); + } + break; + } + } + } + } + this.stem = function() { + var v_1 = sbp.cursor; + r_prelude(); + sbp.cursor = v_1; + r_mark_regions(); + sbp.limit_backward = v_1; + sbp.cursor = sbp.limit; + r_standard_suffix(); + sbp.cursor = sbp.limit_backward; + r_postlude(); + return true; + } + }; + + /* and return a function that stems a word for the current locale */ + return function(word) { + st.setCurrent(word); + st.stem(); + return st.getCurrent(); + } + })(); + + lunr.Pipeline.registerFunction(lunr.de.stemmer, 'stemmer-de'); + + /* stop word filter function */ + lunr.de.stopWordFilter = function(token) { + if (lunr.de.stopWordFilter.stopWords.indexOf(token) === -1) { + return token; + } + }; + + lunr.de.stopWordFilter.stopWords = new lunr.SortedSet(); + lunr.de.stopWordFilter.stopWords.length = 232; + + // The space at the beginning is crucial: It marks the empty string + // as a stop word. lunr.js crashes during search when documents + // processed by the pipeline still contain the empty string. + lunr.de.stopWordFilter.stopWords.elements = ' aber alle allem allen aller alles als also am an ander andere anderem anderen anderer anderes anderm andern anderr anders auch auf aus bei bin bis bist da damit dann das dasselbe dazu daß dein deine deinem deinen deiner deines dem demselben den denn denselben der derer derselbe derselben des desselben dessen dich die dies diese dieselbe dieselben diesem diesen dieser dieses dir doch dort du durch ein eine einem einen einer eines einig einige einigem einigen einiger einiges einmal er es etwas euch euer eure eurem euren eurer eures für gegen gewesen hab habe haben hat hatte hatten hier hin hinter ich ihm ihn ihnen ihr ihre ihrem ihren ihrer ihres im in indem ins ist jede jedem jeden jeder jedes jene jenem jenen jener jenes jetzt kann kein keine keinem keinen keiner keines können könnte machen man manche manchem manchen mancher manches mein meine meinem meinen meiner meines mich mir mit muss musste nach nicht nichts noch nun nur ob oder ohne sehr sein seine seinem seinen seiner seines selbst sich sie sind so solche solchem solchen solcher solches soll sollte sondern sonst um und uns unse unsem unsen unser unses unter viel vom von vor war waren warst was weg weil weiter welche welchem welchen welcher welches wenn werde werden wie wieder will wir wird wirst wo wollen wollte während würde würden zu zum zur zwar zwischen über'.split(' '); + + lunr.Pipeline.registerFunction(lunr.de.stopWordFilter, 'stopWordFilter-de'); + }; +}))
\ No newline at end of file diff --git a/static/js/lunr.de.min.js b/static/js/lunr.de.min.js new file mode 100644 index 0000000..a10d26b --- /dev/null +++ b/static/js/lunr.de.min.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(r){if(void 0===r)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===r.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var e,n,i;r.de=function(){this.pipeline.reset(),this.pipeline.add(r.de.trimmer,r.de.stopWordFilter,r.de.stemmer)},r.de.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",r.de.trimmer=r.trimmerSupport.generateTrimmer(r.de.wordCharacters),r.Pipeline.registerFunction(r.de.trimmer,"trimmer-de"),r.de.stemmer=(e=r.stemmerSupport.Among,n=r.stemmerSupport.SnowballProgram,i=new function(){var t,o,c,u=[new e("",-1,6),new e("U",0,2),new e("Y",0,1),new e("ä",0,3),new e("ö",0,4),new e("ü",0,5)],d=[new e("e",-1,2),new e("em",-1,1),new e("en",-1,2),new e("ern",-1,1),new e("er",-1,1),new e("s",-1,3),new e("es",5,2)],l=[new e("en",-1,1),new e("er",-1,1),new e("st",-1,2),new e("est",2,1)],a=[new e("ig",-1,1),new e("lich",-1,1)],m=[new e("end",-1,1),new e("ig",-1,2),new e("ung",-1,1),new e("lich",-1,3),new e("isch",-1,2),new e("ik",-1,2),new e("heit",-1,3),new e("keit",-1,4)],w=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32,8],h=[117,30,5],b=[117,30,4],f=new n;function _(e,r,n){return f.eq_s(1,e)&&(f.ket=f.cursor,f.in_grouping(w,97,252))&&(f.slice_from(r),f.cursor=n,1)}function p(){for(;!f.in_grouping(w,97,252);){if(f.cursor>=f.limit)return 1;f.cursor++}for(;!f.out_grouping(w,97,252);){if(f.cursor>=f.limit)return 1;f.cursor++}}function g(){return c<=f.cursor}function k(){return o<=f.cursor}this.setCurrent=function(e){f.setCurrent(e)},this.getCurrent=function(){return f.getCurrent()},this.stem=function(){var e=f.cursor;!function(){for(var e,r,n,i,s=f.cursor;;)if(e=f.cursor,f.bra=e,f.eq_s(1,"ß"))f.ket=f.cursor,f.slice_from("ss");else{if(e>=f.limit)break;f.cursor=e+1}for(f.cursor=s;;)for(r=f.cursor;;){if(n=f.cursor,f.in_grouping(w,97,252)){if(i=f.cursor,f.bra=i,_("u","U",n))break;if(f.cursor=i,_("y","Y",n))break}if(n>=f.limit)return f.cursor=r;f.cursor=n+1}}(),f.cursor=e,c=f.limit,o=c,0<=(s=f.cursor+3)&&s<=f.limit&&(t=s,p()||((c=f.cursor)<t&&(c=t),p())||(o=f.cursor)),f.limit_backward=e,f.cursor=f.limit;var r,n,i,s=f.limit-f.cursor;if(f.ket=f.cursor,(r=f.find_among_b(d,7))&&(f.bra=f.cursor,g()))switch(r){case 1:f.slice_del();break;case 2:f.slice_del(),f.ket=f.cursor,f.eq_s_b(1,"s")&&(f.bra=f.cursor,f.eq_s_b(3,"nis"))&&f.slice_del();break;case 3:f.in_grouping_b(h,98,116)&&f.slice_del()}if(f.cursor=f.limit-s,f.ket=f.cursor,(r=f.find_among_b(l,4))&&(f.bra=f.cursor,g()))switch(r){case 1:f.slice_del();break;case 2:f.in_grouping_b(b,98,116)&&(i=f.cursor-3,f.limit_backward<=i)&&i<=f.limit&&(f.cursor=i,f.slice_del())}if(f.cursor=f.limit-s,f.ket=f.cursor,(r=f.find_among_b(m,8))&&(f.bra=f.cursor,k()))switch(r){case 1:f.slice_del(),f.ket=f.cursor,f.eq_s_b(2,"ig")&&(f.bra=f.cursor,n=f.limit-f.cursor,f.eq_s_b(1,"e")||(f.cursor=f.limit-n,k()&&f.slice_del()));break;case 2:n=f.limit-f.cursor,f.eq_s_b(1,"e")||(f.cursor=f.limit-n,f.slice_del());break;case 3:f.slice_del(),f.ket=f.cursor,n=f.limit-f.cursor,(f.eq_s_b(2,"er")||(f.cursor=f.limit-n,f.eq_s_b(2,"en")))&&(f.bra=f.cursor,g())&&f.slice_del();break;case 4:f.slice_del(),f.ket=f.cursor,(r=f.find_among_b(a,2))&&(f.bra=f.cursor,k())&&1==r&&f.slice_del()}return f.cursor=f.limit_backward,function(){for(var e;;){if(e=f.cursor,f.bra=e,!(e=f.find_among(u,6)))return;switch(f.ket=f.cursor,e){case 1:f.slice_from("y");break;case 2:case 5:f.slice_from("u");break;case 3:f.slice_from("a");break;case 4:f.slice_from("o");break;case 6:if(f.cursor>=f.limit)return;f.cursor++}}}(),!0}},function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}),r.Pipeline.registerFunction(r.de.stemmer,"stemmer-de"),r.de.stopWordFilter=function(e){if(-1===r.de.stopWordFilter.stopWords.indexOf(e))return e},r.de.stopWordFilter.stopWords=new r.SortedSet,r.de.stopWordFilter.stopWords.length=232,r.de.stopWordFilter.stopWords.elements=" aber alle allem allen aller alles als also am an ander andere anderem anderen anderer anderes anderm andern anderr anders auch auf aus bei bin bis bist da damit dann das dasselbe dazu daß dein deine deinem deinen deiner deines dem demselben den denn denselben der derer derselbe derselben des desselben dessen dich die dies diese dieselbe dieselben diesem diesen dieser dieses dir doch dort du durch ein eine einem einen einer eines einig einige einigem einigen einiger einiges einmal er es etwas euch euer eure eurem euren eurer eures für gegen gewesen hab habe haben hat hatte hatten hier hin hinter ich ihm ihn ihnen ihr ihre ihrem ihren ihrer ihres im in indem ins ist jede jedem jeden jeder jedes jene jenem jenen jener jenes jetzt kann kein keine keinem keinen keiner keines können könnte machen man manche manchem manchen mancher manches mein meine meinem meinen meiner meines mich mir mit muss musste nach nicht nichts noch nun nur ob oder ohne sehr sein seine seinem seinen seiner seines selbst sich sie sind so solche solchem solchen solcher solches soll sollte sondern sonst um und uns unse unsem unsen unser unses unter viel vom von vor war waren warst was weg weil weiter welche welchem welchen welcher welches wenn werde werden wie wieder will wir wird wirst wo wollen wollte während würde würden zu zum zur zwar zwischen über".split(" "),r.Pipeline.registerFunction(r.de.stopWordFilter,"stopWordFilter-de")}});
\ No newline at end of file diff --git a/static/js/lunr.du.js b/static/js/lunr.du.js new file mode 100644 index 0000000..7d13826 --- /dev/null +++ b/static/js/lunr.du.js @@ -0,0 +1,444 @@ +/*! + * Lunr languages, `Dutch` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +/** + * export the module via AMD, CommonJS or as a browser global + * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js + */ +; +(function(root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(factory) + } else if (typeof exports === 'object') { + /** + * Node. Does not work with strict CommonJS, but + * only CommonJS-like environments that support module.exports, + * like Node. + */ + module.exports = factory() + } else { + // Browser globals (root is window) + factory()(root.lunr); + } +}(this, function() { + /** + * Just return a value to define the module export. + * This example returns an object, but the module + * can return a function as the exported value. + */ + return function(lunr) { + /* throw error if lunr is not yet included */ + if ('undefined' === typeof lunr) { + throw new Error('Lunr is not present. Please include / require Lunr before this script.'); + } + + /* throw error if lunr stemmer support is not yet included */ + if ('undefined' === typeof lunr.stemmerSupport) { + throw new Error('Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.'); + } + + /* register specific locale function */ + lunr.du = function() { + this.pipeline.reset(); + this.pipeline.add( + lunr.du.trimmer, + lunr.du.stopWordFilter, + lunr.du.stemmer + ); + }; + + /* lunr trimmer function */ + lunr.du.wordCharacters = "A-Za-z\xAA\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u02E0-\u02E4\u1D00-\u1D25\u1D2C-\u1D5C\u1D62-\u1D65\u1D6B-\u1D77\u1D79-\u1DBE\u1E00-\u1EFF\u2071\u207F\u2090-\u209C\u212A\u212B\u2132\u214E\u2160-\u2188\u2C60-\u2C7F\uA722-\uA787\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA7FF\uAB30-\uAB5A\uAB5C-\uAB64\uFB00-\uFB06\uFF21-\uFF3A\uFF41-\uFF5A"; + lunr.du.trimmer = lunr.trimmerSupport.generateTrimmer(lunr.du.wordCharacters); + + lunr.Pipeline.registerFunction(lunr.du.trimmer, 'trimmer-du'); + + /* lunr stemmer function */ + lunr.du.stemmer = (function() { + /* create the wrapped stemmer object */ + var Among = lunr.stemmerSupport.Among, + SnowballProgram = lunr.stemmerSupport.SnowballProgram, + st = new function DutchStemmer() { + var a_0 = [new Among("", -1, 6), new Among("\u00E1", 0, 1), + new Among("\u00E4", 0, 1), new Among("\u00E9", 0, 2), + new Among("\u00EB", 0, 2), new Among("\u00ED", 0, 3), + new Among("\u00EF", 0, 3), new Among("\u00F3", 0, 4), + new Among("\u00F6", 0, 4), new Among("\u00FA", 0, 5), + new Among("\u00FC", 0, 5) + ], + a_1 = [new Among("", -1, 3), + new Among("I", 0, 2), new Among("Y", 0, 1) + ], + a_2 = [ + new Among("dd", -1, -1), new Among("kk", -1, -1), + new Among("tt", -1, -1) + ], + a_3 = [new Among("ene", -1, 2), + new Among("se", -1, 3), new Among("en", -1, 2), + new Among("heden", 2, 1), new Among("s", -1, 3) + ], + a_4 = [ + new Among("end", -1, 1), new Among("ig", -1, 2), + new Among("ing", -1, 1), new Among("lijk", -1, 3), + new Among("baar", -1, 4), new Among("bar", -1, 5) + ], + a_5 = [ + new Among("aa", -1, -1), new Among("ee", -1, -1), + new Among("oo", -1, -1), new Among("uu", -1, -1) + ], + g_v = [17, 65, + 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 + ], + g_v_I = [1, 0, 0, + 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 + ], + g_v_j = [ + 17, 67, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 + ], + I_p2, I_p1, B_e_found, sbp = new SnowballProgram(); + this.setCurrent = function(word) { + sbp.setCurrent(word); + }; + this.getCurrent = function() { + return sbp.getCurrent(); + }; + + function r_prelude() { + var among_var, v_1 = sbp.cursor, + v_2, v_3; + while (true) { + sbp.bra = sbp.cursor; + among_var = sbp.find_among(a_0, 11); + if (among_var) { + sbp.ket = sbp.cursor; + switch (among_var) { + case 1: + sbp.slice_from("a"); + continue; + case 2: + sbp.slice_from("e"); + continue; + case 3: + sbp.slice_from("i"); + continue; + case 4: + sbp.slice_from("o"); + continue; + case 5: + sbp.slice_from("u"); + continue; + case 6: + if (sbp.cursor >= sbp.limit) + break; + sbp.cursor++; + continue; + } + } + break; + } + sbp.cursor = v_1; + sbp.bra = v_1; + if (sbp.eq_s(1, "y")) { + sbp.ket = sbp.cursor; + sbp.slice_from("Y"); + } else + sbp.cursor = v_1; + while (true) { + v_2 = sbp.cursor; + if (sbp.in_grouping(g_v, 97, 232)) { + v_3 = sbp.cursor; + sbp.bra = v_3; + if (sbp.eq_s(1, "i")) { + sbp.ket = sbp.cursor; + if (sbp.in_grouping(g_v, 97, 232)) { + sbp.slice_from("I"); + sbp.cursor = v_2; + } + } else { + sbp.cursor = v_3; + if (sbp.eq_s(1, "y")) { + sbp.ket = sbp.cursor; + sbp.slice_from("Y"); + sbp.cursor = v_2; + } else if (habr1(v_2)) + break; + } + } else if (habr1(v_2)) + break; + } + } + + function habr1(v_1) { + sbp.cursor = v_1; + if (v_1 >= sbp.limit) + return true; + sbp.cursor++; + return false; + } + + function r_mark_regions() { + I_p1 = sbp.limit; + I_p2 = I_p1; + if (!habr2()) { + I_p1 = sbp.cursor; + if (I_p1 < 3) + I_p1 = 3; + if (!habr2()) + I_p2 = sbp.cursor; + } + } + + function habr2() { + while (!sbp.in_grouping(g_v, 97, 232)) { + if (sbp.cursor >= sbp.limit) + return true; + sbp.cursor++; + } + while (!sbp.out_grouping(g_v, 97, 232)) { + if (sbp.cursor >= sbp.limit) + return true; + sbp.cursor++; + } + return false; + } + + function r_postlude() { + var among_var; + while (true) { + sbp.bra = sbp.cursor; + among_var = sbp.find_among(a_1, 3); + if (among_var) { + sbp.ket = sbp.cursor; + switch (among_var) { + case 1: + sbp.slice_from("y"); + break; + case 2: + sbp.slice_from("i"); + break; + case 3: + if (sbp.cursor >= sbp.limit) + return; + sbp.cursor++; + break; + } + } + } + } + + function r_R1() { + return I_p1 <= sbp.cursor; + } + + function r_R2() { + return I_p2 <= sbp.cursor; + } + + function r_undouble() { + var v_1 = sbp.limit - sbp.cursor; + if (sbp.find_among_b(a_2, 3)) { + sbp.cursor = sbp.limit - v_1; + sbp.ket = sbp.cursor; + if (sbp.cursor > sbp.limit_backward) { + sbp.cursor--; + sbp.bra = sbp.cursor; + sbp.slice_del(); + } + } + } + + function r_e_ending() { + var v_1; + B_e_found = false; + sbp.ket = sbp.cursor; + if (sbp.eq_s_b(1, "e")) { + sbp.bra = sbp.cursor; + if (r_R1()) { + v_1 = sbp.limit - sbp.cursor; + if (sbp.out_grouping_b(g_v, 97, 232)) { + sbp.cursor = sbp.limit - v_1; + sbp.slice_del(); + B_e_found = true; + r_undouble(); + } + } + } + } + + function r_en_ending() { + var v_1; + if (r_R1()) { + v_1 = sbp.limit - sbp.cursor; + if (sbp.out_grouping_b(g_v, 97, 232)) { + sbp.cursor = sbp.limit - v_1; + if (!sbp.eq_s_b(3, "gem")) { + sbp.cursor = sbp.limit - v_1; + sbp.slice_del(); + r_undouble(); + } + } + } + } + + function r_standard_suffix() { + var among_var, v_1 = sbp.limit - sbp.cursor, + v_2, v_3, v_4, v_5, v_6; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_3, 5); + if (among_var) { + sbp.bra = sbp.cursor; + switch (among_var) { + case 1: + if (r_R1()) + sbp.slice_from("heid"); + break; + case 2: + r_en_ending(); + break; + case 3: + if (r_R1() && sbp.out_grouping_b(g_v_j, 97, 232)) + sbp.slice_del(); + break; + } + } + sbp.cursor = sbp.limit - v_1; + r_e_ending(); + sbp.cursor = sbp.limit - v_1; + sbp.ket = sbp.cursor; + if (sbp.eq_s_b(4, "heid")) { + sbp.bra = sbp.cursor; + if (r_R2()) { + v_2 = sbp.limit - sbp.cursor; + if (!sbp.eq_s_b(1, "c")) { + sbp.cursor = sbp.limit - v_2; + sbp.slice_del(); + sbp.ket = sbp.cursor; + if (sbp.eq_s_b(2, "en")) { + sbp.bra = sbp.cursor; + r_en_ending(); + } + } + } + } + sbp.cursor = sbp.limit - v_1; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_4, 6); + if (among_var) { + sbp.bra = sbp.cursor; + switch (among_var) { + case 1: + if (r_R2()) { + sbp.slice_del(); + v_3 = sbp.limit - sbp.cursor; + sbp.ket = sbp.cursor; + if (sbp.eq_s_b(2, "ig")) { + sbp.bra = sbp.cursor; + if (r_R2()) { + v_4 = sbp.limit - sbp.cursor; + if (!sbp.eq_s_b(1, "e")) { + sbp.cursor = sbp.limit - v_4; + sbp.slice_del(); + break; + } + } + } + sbp.cursor = sbp.limit - v_3; + r_undouble(); + } + break; + case 2: + if (r_R2()) { + v_5 = sbp.limit - sbp.cursor; + if (!sbp.eq_s_b(1, "e")) { + sbp.cursor = sbp.limit - v_5; + sbp.slice_del(); + } + } + break; + case 3: + if (r_R2()) { + sbp.slice_del(); + r_e_ending(); + } + break; + case 4: + if (r_R2()) + sbp.slice_del(); + break; + case 5: + if (r_R2() && B_e_found) + sbp.slice_del(); + break; + } + } + sbp.cursor = sbp.limit - v_1; + if (sbp.out_grouping_b(g_v_I, 73, 232)) { + v_6 = sbp.limit - sbp.cursor; + if (sbp.find_among_b(a_5, 4) && sbp.out_grouping_b(g_v, 97, 232)) { + sbp.cursor = sbp.limit - v_6; + sbp.ket = sbp.cursor; + if (sbp.cursor > sbp.limit_backward) { + sbp.cursor--; + sbp.bra = sbp.cursor; + sbp.slice_del(); + } + } + } + } + this.stem = function() { + var v_1 = sbp.cursor; + r_prelude(); + sbp.cursor = v_1; + r_mark_regions(); + sbp.limit_backward = v_1; + sbp.cursor = sbp.limit; + r_standard_suffix(); + sbp.cursor = sbp.limit_backward; + r_postlude(); + return true; + } + }; + + /* and return a function that stems a word for the current locale */ + return function(word) { + st.setCurrent(word); + st.stem(); + return st.getCurrent(); + } + })(); + + lunr.Pipeline.registerFunction(lunr.du.stemmer, 'stemmer-du'); + + /* stop word filter function */ + lunr.du.stopWordFilter = function(token) { + if (lunr.du.stopWordFilter.stopWords.indexOf(token) === -1) { + return token; + } + }; + + lunr.du.stopWordFilter.stopWords = new lunr.SortedSet(); + lunr.du.stopWordFilter.stopWords.length = 103; + + // The space at the beginning is crucial: It marks the empty string + // as a stop word. lunr.js crashes during search when documents + // processed by the pipeline still contain the empty string. + lunr.du.stopWordFilter.stopWords.elements = ' aan al alles als altijd andere ben bij daar dan dat de der deze die dit doch doen door dus een eens en er ge geen geweest haar had heb hebben heeft hem het hier hij hoe hun iemand iets ik in is ja je kan kon kunnen maar me meer men met mij mijn moet na naar niet niets nog nu of om omdat onder ons ook op over reeds te tegen toch toen tot u uit uw van veel voor want waren was wat werd wezen wie wil worden wordt zal ze zelf zich zij zijn zo zonder zou'.split(' '); + + lunr.Pipeline.registerFunction(lunr.du.stopWordFilter, 'stopWordFilter-du'); + }; +}))
\ No newline at end of file diff --git a/static/js/lunr.du.min.js b/static/js/lunr.du.min.js new file mode 100644 index 0000000..a93f314 --- /dev/null +++ b/static/js/lunr.du.min.js @@ -0,0 +1 @@ +!function(r,e){"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=e():e()(r.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var r,i,o;e.du=function(){this.pipeline.reset(),this.pipeline.add(e.du.trimmer,e.du.stopWordFilter,e.du.stemmer)},e.du.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.du.trimmer=e.trimmerSupport.generateTrimmer(e.du.wordCharacters),e.Pipeline.registerFunction(e.du.trimmer,"trimmer-du"),e.du.stemmer=(r=e.stemmerSupport.Among,i=e.stemmerSupport.SnowballProgram,o=new function(){var c,a,l,m=[new r("",-1,6),new r("á",0,1),new r("ä",0,1),new r("é",0,2),new r("ë",0,2),new r("í",0,3),new r("ï",0,3),new r("ó",0,4),new r("ö",0,4),new r("ú",0,5),new r("ü",0,5)],d=[new r("",-1,3),new r("I",0,2),new r("Y",0,1)],e=[new r("dd",-1,-1),new r("kk",-1,-1),new r("tt",-1,-1)],f=[new r("ene",-1,2),new r("se",-1,3),new r("en",-1,2),new r("heden",2,1),new r("s",-1,3)],_=[new r("end",-1,1),new r("ig",-1,2),new r("ing",-1,1),new r("lijk",-1,3),new r("baar",-1,4),new r("bar",-1,5)],w=[new r("aa",-1,-1),new r("ee",-1,-1),new r("oo",-1,-1),new r("uu",-1,-1)],b=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],p=[1,0,0,17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],g=[17,67,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],k=new i;function h(r){if((k.cursor=r)>=k.limit)return 1;k.cursor++}function v(){for(;!k.in_grouping(b,97,232);){if(k.cursor>=k.limit)return 1;k.cursor++}for(;!k.out_grouping(b,97,232);){if(k.cursor>=k.limit)return 1;k.cursor++}}function q(){return a<=k.cursor}function z(){return c<=k.cursor}function W(){var r=k.limit-k.cursor;k.find_among_b(e,3)&&(k.cursor=k.limit-r,k.ket=k.cursor,k.cursor>k.limit_backward)&&(k.cursor--,k.bra=k.cursor,k.slice_del())}function j(){var r;l=!1,k.ket=k.cursor,k.eq_s_b(1,"e")&&(k.bra=k.cursor,q())&&(r=k.limit-k.cursor,k.out_grouping_b(b,97,232))&&(k.cursor=k.limit-r,k.slice_del(),l=!0,W())}function F(){var r;q()&&(r=k.limit-k.cursor,k.out_grouping_b(b,97,232))&&(k.cursor=k.limit-r,k.eq_s_b(3,"gem")||(k.cursor=k.limit-r,k.slice_del(),W()))}this.setCurrent=function(r){k.setCurrent(r)},this.getCurrent=function(){return k.getCurrent()},this.stem=function(){for(var r,e,i,o=k.cursor,t=k.cursor;;){if(k.bra=k.cursor,r=k.find_among(m,11))switch(k.ket=k.cursor,r){case 1:k.slice_from("a");continue;case 2:k.slice_from("e");continue;case 3:k.slice_from("i");continue;case 4:k.slice_from("o");continue;case 5:k.slice_from("u");continue;case 6:if(!(k.cursor>=k.limit)){k.cursor++;continue}}break}for(k.cursor=t,k.bra=t,k.eq_s(1,"y")?(k.ket=k.cursor,k.slice_from("Y")):k.cursor=t;;)if(e=k.cursor,k.in_grouping(b,97,232)){if(i=k.cursor,k.bra=i,k.eq_s(1,"i"))k.ket=k.cursor,k.in_grouping(b,97,232)&&(k.slice_from("I"),k.cursor=e);else if(k.cursor=i,k.eq_s(1,"y"))k.ket=k.cursor,k.slice_from("Y"),k.cursor=e;else if(h(e))break}else if(h(e))break;k.cursor=o,a=k.limit,c=a,v()||((a=k.cursor)<3&&(a=3),v())||(c=k.cursor),k.limit_backward=o,k.cursor=k.limit;var s,n,u,t=k.limit-k.cursor;if(k.ket=k.cursor,o=k.find_among_b(f,5))switch(k.bra=k.cursor,o){case 1:q()&&k.slice_from("heid");break;case 2:F();break;case 3:q()&&k.out_grouping_b(g,97,232)&&k.slice_del()}if(k.cursor=k.limit-t,j(),k.cursor=k.limit-t,k.ket=k.cursor,k.eq_s_b(4,"heid")&&(k.bra=k.cursor,z())&&(u=k.limit-k.cursor,k.eq_s_b(1,"c")||(k.cursor=k.limit-u,k.slice_del(),k.ket=k.cursor,k.eq_s_b(2,"en")&&(k.bra=k.cursor,F()))),k.cursor=k.limit-t,k.ket=k.cursor,o=k.find_among_b(_,6))switch(k.bra=k.cursor,o){case 1:if(z()){if(k.slice_del(),s=k.limit-k.cursor,k.ket=k.cursor,k.eq_s_b(2,"ig")&&(k.bra=k.cursor,z())&&(n=k.limit-k.cursor,!k.eq_s_b(1,"e"))){k.cursor=k.limit-n,k.slice_del();break}k.cursor=k.limit-s,W()}break;case 2:z()&&(n=k.limit-k.cursor,k.eq_s_b(1,"e")||(k.cursor=k.limit-n,k.slice_del()));break;case 3:z()&&(k.slice_del(),j());break;case 4:z()&&k.slice_del();break;case 5:z()&&l&&k.slice_del()}return k.cursor=k.limit-t,k.out_grouping_b(p,73,232)&&(u=k.limit-k.cursor,k.find_among_b(w,4))&&k.out_grouping_b(b,97,232)&&(k.cursor=k.limit-u,k.ket=k.cursor,k.cursor>k.limit_backward)&&(k.cursor--,k.bra=k.cursor,k.slice_del()),k.cursor=k.limit_backward,function(){for(var r;;)if(k.bra=k.cursor,r=k.find_among(d,3))switch(k.ket=k.cursor,r){case 1:k.slice_from("y");break;case 2:k.slice_from("i");break;case 3:if(k.cursor>=k.limit)return;k.cursor++}}(),!0}},function(r){return o.setCurrent(r),o.stem(),o.getCurrent()}),e.Pipeline.registerFunction(e.du.stemmer,"stemmer-du"),e.du.stopWordFilter=function(r){if(-1===e.du.stopWordFilter.stopWords.indexOf(r))return r},e.du.stopWordFilter.stopWords=new e.SortedSet,e.du.stopWordFilter.stopWords.length=103,e.du.stopWordFilter.stopWords.elements=" aan al alles als altijd andere ben bij daar dan dat de der deze die dit doch doen door dus een eens en er ge geen geweest haar had heb hebben heeft hem het hier hij hoe hun iemand iets ik in is ja je kan kon kunnen maar me meer men met mij mijn moet na naar niet niets nog nu of om omdat onder ons ook op over reeds te tegen toch toen tot u uit uw van veel voor want waren was wat werd wezen wie wil worden wordt zal ze zelf zich zij zijn zo zonder zou".split(" "),e.Pipeline.registerFunction(e.du.stopWordFilter,"stopWordFilter-du")}});
\ No newline at end of file diff --git a/static/js/lunr.es.js b/static/js/lunr.es.js new file mode 100644 index 0000000..f8c382d --- /dev/null +++ b/static/js/lunr.es.js @@ -0,0 +1,595 @@ +/*! + * Lunr languages, `Spanish` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +/** + * export the module via AMD, CommonJS or as a browser global + * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js + */ +; +(function(root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(factory) + } else if (typeof exports === 'object') { + /** + * Node. Does not work with strict CommonJS, but + * only CommonJS-like environments that support module.exports, + * like Node. + */ + module.exports = factory() + } else { + // Browser globals (root is window) + factory()(root.lunr); + } +}(this, function() { + /** + * Just return a value to define the module export. + * This example returns an object, but the module + * can return a function as the exported value. + */ + return function(lunr) { + /* throw error if lunr is not yet included */ + if ('undefined' === typeof lunr) { + throw new Error('Lunr is not present. Please include / require Lunr before this script.'); + } + + /* throw error if lunr stemmer support is not yet included */ + if ('undefined' === typeof lunr.stemmerSupport) { + throw new Error('Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.'); + } + + /* register specific locale function */ + lunr.es = function() { + this.pipeline.reset(); + this.pipeline.add( + lunr.es.trimmer, + lunr.es.stopWordFilter, + lunr.es.stemmer + ); + }; + + /* lunr trimmer function */ + lunr.es.wordCharacters = "A-Za-z\xAA\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u02E0-\u02E4\u1D00-\u1D25\u1D2C-\u1D5C\u1D62-\u1D65\u1D6B-\u1D77\u1D79-\u1DBE\u1E00-\u1EFF\u2071\u207F\u2090-\u209C\u212A\u212B\u2132\u214E\u2160-\u2188\u2C60-\u2C7F\uA722-\uA787\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA7FF\uAB30-\uAB5A\uAB5C-\uAB64\uFB00-\uFB06\uFF21-\uFF3A\uFF41-\uFF5A"; + lunr.es.trimmer = lunr.trimmerSupport.generateTrimmer(lunr.es.wordCharacters); + + lunr.Pipeline.registerFunction(lunr.es.trimmer, 'trimmer-es'); + + /* lunr stemmer function */ + lunr.es.stemmer = (function() { + /* create the wrapped stemmer object */ + var Among = lunr.stemmerSupport.Among, + SnowballProgram = lunr.stemmerSupport.SnowballProgram, + st = new function SpanishStemmer() { + var a_0 = [new Among("", -1, 6), new Among("\u00E1", 0, 1), + new Among("\u00E9", 0, 2), new Among("\u00ED", 0, 3), + new Among("\u00F3", 0, 4), new Among("\u00FA", 0, 5) + ], + a_1 = [ + new Among("la", -1, -1), new Among("sela", 0, -1), + new Among("le", -1, -1), new Among("me", -1, -1), + new Among("se", -1, -1), new Among("lo", -1, -1), + new Among("selo", 5, -1), new Among("las", -1, -1), + new Among("selas", 7, -1), new Among("les", -1, -1), + new Among("los", -1, -1), new Among("selos", 10, -1), + new Among("nos", -1, -1) + ], + a_2 = [new Among("ando", -1, 6), + new Among("iendo", -1, 6), new Among("yendo", -1, 7), + new Among("\u00E1ndo", -1, 2), new Among("i\u00E9ndo", -1, 1), + new Among("ar", -1, 6), new Among("er", -1, 6), + new Among("ir", -1, 6), new Among("\u00E1r", -1, 3), + new Among("\u00E9r", -1, 4), new Among("\u00EDr", -1, 5) + ], + a_3 = [ + new Among("ic", -1, -1), new Among("ad", -1, -1), + new Among("os", -1, -1), new Among("iv", -1, 1) + ], + a_4 = [ + new Among("able", -1, 1), new Among("ible", -1, 1), + new Among("ante", -1, 1) + ], + a_5 = [new Among("ic", -1, 1), + new Among("abil", -1, 1), new Among("iv", -1, 1) + ], + a_6 = [ + new Among("ica", -1, 1), new Among("ancia", -1, 2), + new Among("encia", -1, 5), new Among("adora", -1, 2), + new Among("osa", -1, 1), new Among("ista", -1, 1), + new Among("iva", -1, 9), new Among("anza", -1, 1), + new Among("log\u00EDa", -1, 3), new Among("idad", -1, 8), + new Among("able", -1, 1), new Among("ible", -1, 1), + new Among("ante", -1, 2), new Among("mente", -1, 7), + new Among("amente", 13, 6), new Among("aci\u00F3n", -1, 2), + new Among("uci\u00F3n", -1, 4), new Among("ico", -1, 1), + new Among("ismo", -1, 1), new Among("oso", -1, 1), + new Among("amiento", -1, 1), new Among("imiento", -1, 1), + new Among("ivo", -1, 9), new Among("ador", -1, 2), + new Among("icas", -1, 1), new Among("ancias", -1, 2), + new Among("encias", -1, 5), new Among("adoras", -1, 2), + new Among("osas", -1, 1), new Among("istas", -1, 1), + new Among("ivas", -1, 9), new Among("anzas", -1, 1), + new Among("log\u00EDas", -1, 3), new Among("idades", -1, 8), + new Among("ables", -1, 1), new Among("ibles", -1, 1), + new Among("aciones", -1, 2), new Among("uciones", -1, 4), + new Among("adores", -1, 2), new Among("antes", -1, 2), + new Among("icos", -1, 1), new Among("ismos", -1, 1), + new Among("osos", -1, 1), new Among("amientos", -1, 1), + new Among("imientos", -1, 1), new Among("ivos", -1, 9) + ], + a_7 = [ + new Among("ya", -1, 1), new Among("ye", -1, 1), + new Among("yan", -1, 1), new Among("yen", -1, 1), + new Among("yeron", -1, 1), new Among("yendo", -1, 1), + new Among("yo", -1, 1), new Among("yas", -1, 1), + new Among("yes", -1, 1), new Among("yais", -1, 1), + new Among("yamos", -1, 1), new Among("y\u00F3", -1, 1) + ], + a_8 = [ + new Among("aba", -1, 2), new Among("ada", -1, 2), + new Among("ida", -1, 2), new Among("ara", -1, 2), + new Among("iera", -1, 2), new Among("\u00EDa", -1, 2), + new Among("ar\u00EDa", 5, 2), new Among("er\u00EDa", 5, 2), + new Among("ir\u00EDa", 5, 2), new Among("ad", -1, 2), + new Among("ed", -1, 2), new Among("id", -1, 2), + new Among("ase", -1, 2), new Among("iese", -1, 2), + new Among("aste", -1, 2), new Among("iste", -1, 2), + new Among("an", -1, 2), new Among("aban", 16, 2), + new Among("aran", 16, 2), new Among("ieran", 16, 2), + new Among("\u00EDan", 16, 2), new Among("ar\u00EDan", 20, 2), + new Among("er\u00EDan", 20, 2), new Among("ir\u00EDan", 20, 2), + new Among("en", -1, 1), new Among("asen", 24, 2), + new Among("iesen", 24, 2), new Among("aron", -1, 2), + new Among("ieron", -1, 2), new Among("ar\u00E1n", -1, 2), + new Among("er\u00E1n", -1, 2), new Among("ir\u00E1n", -1, 2), + new Among("ado", -1, 2), new Among("ido", -1, 2), + new Among("ando", -1, 2), new Among("iendo", -1, 2), + new Among("ar", -1, 2), new Among("er", -1, 2), + new Among("ir", -1, 2), new Among("as", -1, 2), + new Among("abas", 39, 2), new Among("adas", 39, 2), + new Among("idas", 39, 2), new Among("aras", 39, 2), + new Among("ieras", 39, 2), new Among("\u00EDas", 39, 2), + new Among("ar\u00EDas", 45, 2), new Among("er\u00EDas", 45, 2), + new Among("ir\u00EDas", 45, 2), new Among("es", -1, 1), + new Among("ases", 49, 2), new Among("ieses", 49, 2), + new Among("abais", -1, 2), new Among("arais", -1, 2), + new Among("ierais", -1, 2), new Among("\u00EDais", -1, 2), + new Among("ar\u00EDais", 55, 2), new Among("er\u00EDais", 55, 2), + new Among("ir\u00EDais", 55, 2), new Among("aseis", -1, 2), + new Among("ieseis", -1, 2), new Among("asteis", -1, 2), + new Among("isteis", -1, 2), new Among("\u00E1is", -1, 2), + new Among("\u00E9is", -1, 1), new Among("ar\u00E9is", 64, 2), + new Among("er\u00E9is", 64, 2), new Among("ir\u00E9is", 64, 2), + new Among("ados", -1, 2), new Among("idos", -1, 2), + new Among("amos", -1, 2), new Among("\u00E1bamos", 70, 2), + new Among("\u00E1ramos", 70, 2), new Among("i\u00E9ramos", 70, 2), + new Among("\u00EDamos", 70, 2), new Among("ar\u00EDamos", 74, 2), + new Among("er\u00EDamos", 74, 2), new Among("ir\u00EDamos", 74, 2), + new Among("emos", -1, 1), new Among("aremos", 78, 2), + new Among("eremos", 78, 2), new Among("iremos", 78, 2), + new Among("\u00E1semos", 78, 2), new Among("i\u00E9semos", 78, 2), + new Among("imos", -1, 2), new Among("ar\u00E1s", -1, 2), + new Among("er\u00E1s", -1, 2), new Among("ir\u00E1s", -1, 2), + new Among("\u00EDs", -1, 2), new Among("ar\u00E1", -1, 2), + new Among("er\u00E1", -1, 2), new Among("ir\u00E1", -1, 2), + new Among("ar\u00E9", -1, 2), new Among("er\u00E9", -1, 2), + new Among("ir\u00E9", -1, 2), new Among("i\u00F3", -1, 2) + ], + a_9 = [ + new Among("a", -1, 1), new Among("e", -1, 2), + new Among("o", -1, 1), new Among("os", -1, 1), + new Among("\u00E1", -1, 1), new Among("\u00E9", -1, 2), + new Among("\u00ED", -1, 1), new Among("\u00F3", -1, 1) + ], + g_v = [17, + 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 4, 10 + ], + I_p2, I_p1, I_pV, sbp = new SnowballProgram(); + this.setCurrent = function(word) { + sbp.setCurrent(word); + }; + this.getCurrent = function() { + return sbp.getCurrent(); + }; + + function habr1() { + if (sbp.out_grouping(g_v, 97, 252)) { + while (!sbp.in_grouping(g_v, 97, 252)) { + if (sbp.cursor >= sbp.limit) + return true; + sbp.cursor++; + } + return false; + } + return true; + } + + function habr2() { + if (sbp.in_grouping(g_v, 97, 252)) { + var v_1 = sbp.cursor; + if (habr1()) { + sbp.cursor = v_1; + if (!sbp.in_grouping(g_v, 97, 252)) + return true; + while (!sbp.out_grouping(g_v, 97, 252)) { + if (sbp.cursor >= sbp.limit) + return true; + sbp.cursor++; + } + } + return false; + } + return true; + } + + function habr3() { + var v_1 = sbp.cursor, + v_2; + if (habr2()) { + sbp.cursor = v_1; + if (!sbp.out_grouping(g_v, 97, 252)) + return; + v_2 = sbp.cursor; + if (habr1()) { + sbp.cursor = v_2; + if (!sbp.in_grouping(g_v, 97, 252) || sbp.cursor >= sbp.limit) + return; + sbp.cursor++; + } + } + I_pV = sbp.cursor; + } + + function habr4() { + while (!sbp.in_grouping(g_v, 97, 252)) { + if (sbp.cursor >= sbp.limit) + return false; + sbp.cursor++; + } + while (!sbp.out_grouping(g_v, 97, 252)) { + if (sbp.cursor >= sbp.limit) + return false; + sbp.cursor++; + } + return true; + } + + function r_mark_regions() { + var v_1 = sbp.cursor; + I_pV = sbp.limit; + I_p1 = I_pV; + I_p2 = I_pV; + habr3(); + sbp.cursor = v_1; + if (habr4()) { + I_p1 = sbp.cursor; + if (habr4()) + I_p2 = sbp.cursor; + } + } + + function r_postlude() { + var among_var; + while (true) { + sbp.bra = sbp.cursor; + among_var = sbp.find_among(a_0, 6); + if (among_var) { + sbp.ket = sbp.cursor; + switch (among_var) { + case 1: + sbp.slice_from("a"); + continue; + case 2: + sbp.slice_from("e"); + continue; + case 3: + sbp.slice_from("i"); + continue; + case 4: + sbp.slice_from("o"); + continue; + case 5: + sbp.slice_from("u"); + continue; + case 6: + if (sbp.cursor >= sbp.limit) + break; + sbp.cursor++; + continue; + } + } + break; + } + } + + function r_RV() { + return I_pV <= sbp.cursor; + } + + function r_R1() { + return I_p1 <= sbp.cursor; + } + + function r_R2() { + return I_p2 <= sbp.cursor; + } + + function r_attached_pronoun() { + var among_var; + sbp.ket = sbp.cursor; + if (sbp.find_among_b(a_1, 13)) { + sbp.bra = sbp.cursor; + among_var = sbp.find_among_b(a_2, 11); + if (among_var && r_RV()) + switch (among_var) { + case 1: + sbp.bra = sbp.cursor; + sbp.slice_from("iendo"); + break; + case 2: + sbp.bra = sbp.cursor; + sbp.slice_from("ando"); + break; + case 3: + sbp.bra = sbp.cursor; + sbp.slice_from("ar"); + break; + case 4: + sbp.bra = sbp.cursor; + sbp.slice_from("er"); + break; + case 5: + sbp.bra = sbp.cursor; + sbp.slice_from("ir"); + break; + case 6: + sbp.slice_del(); + break; + case 7: + if (sbp.eq_s_b(1, "u")) + sbp.slice_del(); + break; + } + } + } + + function habr5(a, n) { + if (!r_R2()) + return true; + sbp.slice_del(); + sbp.ket = sbp.cursor; + var among_var = sbp.find_among_b(a, n); + if (among_var) { + sbp.bra = sbp.cursor; + if (among_var == 1 && r_R2()) + sbp.slice_del(); + } + return false; + } + + function habr6(c1) { + if (!r_R2()) + return true; + sbp.slice_del(); + sbp.ket = sbp.cursor; + if (sbp.eq_s_b(2, c1)) { + sbp.bra = sbp.cursor; + if (r_R2()) + sbp.slice_del(); + } + return false; + } + + function r_standard_suffix() { + var among_var; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_6, 46); + if (among_var) { + sbp.bra = sbp.cursor; + switch (among_var) { + case 1: + if (!r_R2()) + return false; + sbp.slice_del(); + break; + case 2: + if (habr6("ic")) + return false; + break; + case 3: + if (!r_R2()) + return false; + sbp.slice_from("log"); + break; + case 4: + if (!r_R2()) + return false; + sbp.slice_from("u"); + break; + case 5: + if (!r_R2()) + return false; + sbp.slice_from("ente"); + break; + case 6: + if (!r_R1()) + return false; + sbp.slice_del(); + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_3, 4); + if (among_var) { + sbp.bra = sbp.cursor; + if (r_R2()) { + sbp.slice_del(); + if (among_var == 1) { + sbp.ket = sbp.cursor; + if (sbp.eq_s_b(2, "at")) { + sbp.bra = sbp.cursor; + if (r_R2()) + sbp.slice_del(); + } + } + } + } + break; + case 7: + if (habr5(a_4, 3)) + return false; + break; + case 8: + if (habr5(a_5, 3)) + return false; + break; + case 9: + if (habr6("at")) + return false; + break; + } + return true; + } + return false; + } + + function r_y_verb_suffix() { + var among_var, v_1; + if (sbp.cursor >= I_pV) { + v_1 = sbp.limit_backward; + sbp.limit_backward = I_pV; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_7, 12); + sbp.limit_backward = v_1; + if (among_var) { + sbp.bra = sbp.cursor; + if (among_var == 1) { + if (!sbp.eq_s_b(1, "u")) + return false; + sbp.slice_del(); + } + return true; + } + } + return false; + } + + function r_verb_suffix() { + var among_var, v_1, v_2, v_3; + if (sbp.cursor >= I_pV) { + v_1 = sbp.limit_backward; + sbp.limit_backward = I_pV; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_8, 96); + sbp.limit_backward = v_1; + if (among_var) { + sbp.bra = sbp.cursor; + switch (among_var) { + case 1: + v_2 = sbp.limit - sbp.cursor; + if (sbp.eq_s_b(1, "u")) { + v_3 = sbp.limit - sbp.cursor; + if (sbp.eq_s_b(1, "g")) + sbp.cursor = sbp.limit - v_3; + else + sbp.cursor = sbp.limit - v_2; + } else + sbp.cursor = sbp.limit - v_2; + sbp.bra = sbp.cursor; + case 2: + sbp.slice_del(); + break; + } + } + } + } + + function r_residual_suffix() { + var among_var, v_1; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_9, 8); + if (among_var) { + sbp.bra = sbp.cursor; + switch (among_var) { + case 1: + if (r_RV()) + sbp.slice_del(); + break; + case 2: + if (r_RV()) { + sbp.slice_del(); + sbp.ket = sbp.cursor; + if (sbp.eq_s_b(1, "u")) { + sbp.bra = sbp.cursor; + v_1 = sbp.limit - sbp.cursor; + if (sbp.eq_s_b(1, "g")) { + sbp.cursor = sbp.limit - v_1; + if (r_RV()) + sbp.slice_del(); + } + } + } + break; + } + } + } + this.stem = function() { + var v_1 = sbp.cursor; + r_mark_regions(); + sbp.limit_backward = v_1; + sbp.cursor = sbp.limit; + r_attached_pronoun(); + sbp.cursor = sbp.limit; + if (!r_standard_suffix()) { + sbp.cursor = sbp.limit; + if (!r_y_verb_suffix()) { + sbp.cursor = sbp.limit; + r_verb_suffix(); + } + } + sbp.cursor = sbp.limit; + r_residual_suffix(); + sbp.cursor = sbp.limit_backward; + r_postlude(); + return true; + } + }; + + /* and return a function that stems a word for the current locale */ + return function(word) { + st.setCurrent(word); + st.stem(); + return st.getCurrent(); + } + })(); + + lunr.Pipeline.registerFunction(lunr.es.stemmer, 'stemmer-es'); + + /* stop word filter function */ + lunr.es.stopWordFilter = function(token) { + if (lunr.es.stopWordFilter.stopWords.indexOf(token) === -1) { + return token; + } + }; + + lunr.es.stopWordFilter.stopWords = new lunr.SortedSet(); + lunr.es.stopWordFilter.stopWords.length = 309; + + // The space at the beginning is crucial: It marks the empty string + // as a stop word. lunr.js crashes during search when documents + // processed by the pipeline still contain the empty string. + lunr.es.stopWordFilter.stopWords.elements = ' a al algo algunas algunos ante antes como con contra cual cuando de del desde donde durante e el ella ellas ellos en entre era erais eran eras eres es esa esas ese eso esos esta estaba estabais estaban estabas estad estada estadas estado estados estamos estando estar estaremos estará estarán estarás estaré estaréis estaría estaríais estaríamos estarían estarías estas este estemos esto estos estoy estuve estuviera estuvierais estuvieran estuvieras estuvieron estuviese estuvieseis estuviesen estuvieses estuvimos estuviste estuvisteis estuviéramos estuviésemos estuvo está estábamos estáis están estás esté estéis estén estés fue fuera fuerais fueran fueras fueron fuese fueseis fuesen fueses fui fuimos fuiste fuisteis fuéramos fuésemos ha habida habidas habido habidos habiendo habremos habrá habrán habrás habré habréis habría habríais habríamos habrían habrías habéis había habíais habíamos habían habías han has hasta hay haya hayamos hayan hayas hayáis he hemos hube hubiera hubierais hubieran hubieras hubieron hubiese hubieseis hubiesen hubieses hubimos hubiste hubisteis hubiéramos hubiésemos hubo la las le les lo los me mi mis mucho muchos muy más mí mía mías mío míos nada ni no nos nosotras nosotros nuestra nuestras nuestro nuestros o os otra otras otro otros para pero poco por porque que quien quienes qué se sea seamos sean seas seremos será serán serás seré seréis sería seríais seríamos serían serías seáis sido siendo sin sobre sois somos son soy su sus suya suyas suyo suyos sí también tanto te tendremos tendrá tendrán tendrás tendré tendréis tendría tendríais tendríamos tendrían tendrías tened tenemos tenga tengamos tengan tengas tengo tengáis tenida tenidas tenido tenidos teniendo tenéis tenía teníais teníamos tenían tenías ti tiene tienen tienes todo todos tu tus tuve tuviera tuvierais tuvieran tuvieras tuvieron tuviese tuvieseis tuviesen tuvieses tuvimos tuviste tuvisteis tuviéramos tuviésemos tuvo tuya tuyas tuyo tuyos tú un una uno unos vosotras vosotros vuestra vuestras vuestro vuestros y ya yo él éramos'.split(' '); + + lunr.Pipeline.registerFunction(lunr.es.stopWordFilter, 'stopWordFilter-es'); + }; +}))
\ No newline at end of file diff --git a/static/js/lunr.es.min.js b/static/js/lunr.es.min.js new file mode 100644 index 0000000..f8463d4 --- /dev/null +++ b/static/js/lunr.es.min.js @@ -0,0 +1 @@ +!function(e,s){"function"==typeof define&&define.amd?define(s):"object"==typeof exports?module.exports=s():s()(e.lunr)}(this,function(){return function(s){if(void 0===s)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===s.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var e,W,r;s.es=function(){this.pipeline.reset(),this.pipeline.add(s.es.trimmer,s.es.stopWordFilter,s.es.stemmer)},s.es.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",s.es.trimmer=s.trimmerSupport.generateTrimmer(s.es.wordCharacters),s.Pipeline.registerFunction(s.es.trimmer,"trimmer-es"),s.es.stemmer=(e=s.stemmerSupport.Among,W=s.stemmerSupport.SnowballProgram,r=new function(){var u,w,c,m=[new e("",-1,6),new e("á",0,1),new e("é",0,2),new e("í",0,3),new e("ó",0,4),new e("ú",0,5)],l=[new e("la",-1,-1),new e("sela",0,-1),new e("le",-1,-1),new e("me",-1,-1),new e("se",-1,-1),new e("lo",-1,-1),new e("selo",5,-1),new e("las",-1,-1),new e("selas",7,-1),new e("les",-1,-1),new e("los",-1,-1),new e("selos",10,-1),new e("nos",-1,-1)],d=[new e("ando",-1,6),new e("iendo",-1,6),new e("yendo",-1,7),new e("ándo",-1,2),new e("iéndo",-1,1),new e("ar",-1,6),new e("er",-1,6),new e("ir",-1,6),new e("ár",-1,3),new e("ér",-1,4),new e("ír",-1,5)],s=[new e("ic",-1,-1),new e("ad",-1,-1),new e("os",-1,-1),new e("iv",-1,1)],r=[new e("able",-1,1),new e("ible",-1,1),new e("ante",-1,1)],n=[new e("ic",-1,1),new e("abil",-1,1),new e("iv",-1,1)],i=[new e("ica",-1,1),new e("ancia",-1,2),new e("encia",-1,5),new e("adora",-1,2),new e("osa",-1,1),new e("ista",-1,1),new e("iva",-1,9),new e("anza",-1,1),new e("logía",-1,3),new e("idad",-1,8),new e("able",-1,1),new e("ible",-1,1),new e("ante",-1,2),new e("mente",-1,7),new e("amente",13,6),new e("ación",-1,2),new e("ución",-1,4),new e("ico",-1,1),new e("ismo",-1,1),new e("oso",-1,1),new e("amiento",-1,1),new e("imiento",-1,1),new e("ivo",-1,9),new e("ador",-1,2),new e("icas",-1,1),new e("ancias",-1,2),new e("encias",-1,5),new e("adoras",-1,2),new e("osas",-1,1),new e("istas",-1,1),new e("ivas",-1,9),new e("anzas",-1,1),new e("logías",-1,3),new e("idades",-1,8),new e("ables",-1,1),new e("ibles",-1,1),new e("aciones",-1,2),new e("uciones",-1,4),new e("adores",-1,2),new e("antes",-1,2),new e("icos",-1,1),new e("ismos",-1,1),new e("osos",-1,1),new e("amientos",-1,1),new e("imientos",-1,1),new e("ivos",-1,9)],b=[new e("ya",-1,1),new e("ye",-1,1),new e("yan",-1,1),new e("yen",-1,1),new e("yeron",-1,1),new e("yendo",-1,1),new e("yo",-1,1),new e("yas",-1,1),new e("yes",-1,1),new e("yais",-1,1),new e("yamos",-1,1),new e("yó",-1,1)],f=[new e("aba",-1,2),new e("ada",-1,2),new e("ida",-1,2),new e("ara",-1,2),new e("iera",-1,2),new e("ía",-1,2),new e("aría",5,2),new e("ería",5,2),new e("iría",5,2),new e("ad",-1,2),new e("ed",-1,2),new e("id",-1,2),new e("ase",-1,2),new e("iese",-1,2),new e("aste",-1,2),new e("iste",-1,2),new e("an",-1,2),new e("aban",16,2),new e("aran",16,2),new e("ieran",16,2),new e("ían",16,2),new e("arían",20,2),new e("erían",20,2),new e("irían",20,2),new e("en",-1,1),new e("asen",24,2),new e("iesen",24,2),new e("aron",-1,2),new e("ieron",-1,2),new e("arán",-1,2),new e("erán",-1,2),new e("irán",-1,2),new e("ado",-1,2),new e("ido",-1,2),new e("ando",-1,2),new e("iendo",-1,2),new e("ar",-1,2),new e("er",-1,2),new e("ir",-1,2),new e("as",-1,2),new e("abas",39,2),new e("adas",39,2),new e("idas",39,2),new e("aras",39,2),new e("ieras",39,2),new e("ías",39,2),new e("arías",45,2),new e("erías",45,2),new e("irías",45,2),new e("es",-1,1),new e("ases",49,2),new e("ieses",49,2),new e("abais",-1,2),new e("arais",-1,2),new e("ierais",-1,2),new e("íais",-1,2),new e("aríais",55,2),new e("eríais",55,2),new e("iríais",55,2),new e("aseis",-1,2),new e("ieseis",-1,2),new e("asteis",-1,2),new e("isteis",-1,2),new e("áis",-1,2),new e("éis",-1,1),new e("aréis",64,2),new e("eréis",64,2),new e("iréis",64,2),new e("ados",-1,2),new e("idos",-1,2),new e("amos",-1,2),new e("ábamos",70,2),new e("áramos",70,2),new e("iéramos",70,2),new e("íamos",70,2),new e("aríamos",74,2),new e("eríamos",74,2),new e("iríamos",74,2),new e("emos",-1,1),new e("aremos",78,2),new e("eremos",78,2),new e("iremos",78,2),new e("ásemos",78,2),new e("iésemos",78,2),new e("imos",-1,2),new e("arás",-1,2),new e("erás",-1,2),new e("irás",-1,2),new e("ís",-1,2),new e("ará",-1,2),new e("erá",-1,2),new e("irá",-1,2),new e("aré",-1,2),new e("eré",-1,2),new e("iré",-1,2),new e("ió",-1,2)],_=[new e("a",-1,1),new e("e",-1,2),new e("o",-1,1),new e("os",-1,1),new e("á",-1,1),new e("é",-1,2),new e("í",-1,1),new e("ó",-1,1)],a=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,1,17,4,10],h=new W;function o(){if(!h.out_grouping(a,97,252))return 1;for(;!h.in_grouping(a,97,252);){if(h.cursor>=h.limit)return 1;h.cursor++}}function p(){var e=h.cursor;if(function(){if(!h.in_grouping(a,97,252))return 1;var e=h.cursor;if(o()){if(h.cursor=e,!h.in_grouping(a,97,252))return 1;for(;!h.out_grouping(a,97,252);){if(h.cursor>=h.limit)return 1;h.cursor++}}}()){if(h.cursor=e,!h.out_grouping(a,97,252))return;if(e=h.cursor,o()){if(h.cursor=e,!h.in_grouping(a,97,252)||h.cursor>=h.limit)return;h.cursor++}}c=h.cursor}function v(){for(;!h.in_grouping(a,97,252);){if(h.cursor>=h.limit)return;h.cursor++}for(;!h.out_grouping(a,97,252);){if(h.cursor>=h.limit)return;h.cursor++}return 1}function g(){return c<=h.cursor}function t(){return u<=h.cursor}function k(e,s){if(!t())return 1;h.slice_del(),h.ket=h.cursor;e=h.find_among_b(e,s);e&&(h.bra=h.cursor,1==e)&&t()&&h.slice_del()}function y(e){if(!t())return 1;h.slice_del(),h.ket=h.cursor,h.eq_s_b(2,e)&&(h.bra=h.cursor,t())&&h.slice_del()}function q(){var e;if(h.ket=h.cursor,e=h.find_among_b(i,46)){switch(h.bra=h.cursor,e){case 1:if(!t())return;h.slice_del();break;case 2:if(y("ic"))return;break;case 3:if(!t())return;h.slice_from("log");break;case 4:if(!t())return;h.slice_from("u");break;case 5:if(!t())return;h.slice_from("ente");break;case 6:if(!(w<=h.cursor))return;h.slice_del(),h.ket=h.cursor,(e=h.find_among_b(s,4))&&(h.bra=h.cursor,t())&&(h.slice_del(),1==e)&&(h.ket=h.cursor,h.eq_s_b(2,"at"))&&(h.bra=h.cursor,t())&&h.slice_del();break;case 7:if(k(r,3))return;break;case 8:if(k(n,3))return;break;case 9:if(y("at"))return}return 1}}this.setCurrent=function(e){h.setCurrent(e)},this.getCurrent=function(){return h.getCurrent()},this.stem=function(){var e,s,r,n,i,a,o,t=h.cursor;if(r=h.cursor,c=h.limit,u=w=c,p(),h.cursor=r,v()&&(w=h.cursor,v())&&(u=h.cursor),h.limit_backward=t,h.cursor=h.limit,h.ket=h.cursor,h.find_among_b(l,13)&&(h.bra=h.cursor,e=h.find_among_b(d,11))&&g())switch(e){case 1:h.bra=h.cursor,h.slice_from("iendo");break;case 2:h.bra=h.cursor,h.slice_from("ando");break;case 3:h.bra=h.cursor,h.slice_from("ar");break;case 4:h.bra=h.cursor,h.slice_from("er");break;case 5:h.bra=h.cursor,h.slice_from("ir");break;case 6:h.slice_del();break;case 7:h.eq_s_b(1,"u")&&h.slice_del()}if((h.cursor=h.limit,!q())&&(h.cursor=h.limit,!function(){var e,s;if(h.cursor>=c&&(s=h.limit_backward,h.limit_backward=c,h.ket=h.cursor,e=h.find_among_b(b,12),h.limit_backward=s,e)){if(h.bra=h.cursor,1==e){if(!h.eq_s_b(1,"u"))return;h.slice_del()}return 1}}()&&(h.cursor=h.limit,h.cursor>=c)&&(r=h.limit_backward,h.limit_backward=c,h.ket=h.cursor,s=h.find_among_b(f,96),h.limit_backward=r,s)))switch(h.bra=h.cursor,s){case 1:n=h.limit-h.cursor,h.eq_s_b(1,"u")&&(i=h.limit-h.cursor,h.eq_s_b(1,"g"))?h.cursor=h.limit-i:h.cursor=h.limit-n,h.bra=h.cursor;case 2:h.slice_del()}if(h.cursor=h.limit,h.ket=h.cursor,t=h.find_among_b(_,8))switch(h.bra=h.cursor,t){case 1:g()&&h.slice_del();break;case 2:g()&&(h.slice_del(),h.ket=h.cursor,h.eq_s_b(1,"u"))&&(h.bra=h.cursor,a=h.limit-h.cursor,h.eq_s_b(1,"g"))&&(h.cursor=h.limit-a,g())&&h.slice_del()}for(h.cursor=h.limit_backward;;){if(h.bra=h.cursor,o=h.find_among(m,6))switch(h.ket=h.cursor,o){case 1:h.slice_from("a");continue;case 2:h.slice_from("e");continue;case 3:h.slice_from("i");continue;case 4:h.slice_from("o");continue;case 5:h.slice_from("u");continue;case 6:if(!(h.cursor>=h.limit)){h.cursor++;continue}}break}return!0}},function(e){return r.setCurrent(e),r.stem(),r.getCurrent()}),s.Pipeline.registerFunction(s.es.stemmer,"stemmer-es"),s.es.stopWordFilter=function(e){if(-1===s.es.stopWordFilter.stopWords.indexOf(e))return e},s.es.stopWordFilter.stopWords=new s.SortedSet,s.es.stopWordFilter.stopWords.length=309,s.es.stopWordFilter.stopWords.elements=" a al algo algunas algunos ante antes como con contra cual cuando de del desde donde durante e el ella ellas ellos en entre era erais eran eras eres es esa esas ese eso esos esta estaba estabais estaban estabas estad estada estadas estado estados estamos estando estar estaremos estará estarán estarás estaré estaréis estaría estaríais estaríamos estarían estarías estas este estemos esto estos estoy estuve estuviera estuvierais estuvieran estuvieras estuvieron estuviese estuvieseis estuviesen estuvieses estuvimos estuviste estuvisteis estuviéramos estuviésemos estuvo está estábamos estáis están estás esté estéis estén estés fue fuera fuerais fueran fueras fueron fuese fueseis fuesen fueses fui fuimos fuiste fuisteis fuéramos fuésemos ha habida habidas habido habidos habiendo habremos habrá habrán habrás habré habréis habría habríais habríamos habrían habrías habéis había habíais habíamos habían habías han has hasta hay haya hayamos hayan hayas hayáis he hemos hube hubiera hubierais hubieran hubieras hubieron hubiese hubieseis hubiesen hubieses hubimos hubiste hubisteis hubiéramos hubiésemos hubo la las le les lo los me mi mis mucho muchos muy más mí mía mías mío míos nada ni no nos nosotras nosotros nuestra nuestras nuestro nuestros o os otra otras otro otros para pero poco por porque que quien quienes qué se sea seamos sean seas seremos será serán serás seré seréis sería seríais seríamos serían serías seáis sido siendo sin sobre sois somos son soy su sus suya suyas suyo suyos sí también tanto te tendremos tendrá tendrán tendrás tendré tendréis tendría tendríais tendríamos tendrían tendrías tened tenemos tenga tengamos tengan tengas tengo tengáis tenida tenidas tenido tenidos teniendo tenéis tenía teníais teníamos tenían tenías ti tiene tienen tienes todo todos tu tus tuve tuviera tuvierais tuvieran tuvieras tuvieron tuviese tuvieseis tuviesen tuvieses tuvimos tuviste tuvisteis tuviéramos tuviésemos tuvo tuya tuyas tuyo tuyos tú un una uno unos vosotras vosotros vuestra vuestras vuestro vuestros y ya yo él éramos".split(" "),s.Pipeline.registerFunction(s.es.stopWordFilter,"stopWordFilter-es")}});
\ No newline at end of file diff --git a/static/js/lunr.fi.js b/static/js/lunr.fi.js new file mode 100644 index 0000000..c49d7de --- /dev/null +++ b/static/js/lunr.fi.js @@ -0,0 +1,536 @@ +/*! + * Lunr languages, `Finnish` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +/** + * export the module via AMD, CommonJS or as a browser global + * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js + */ +; +(function(root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(factory) + } else if (typeof exports === 'object') { + /** + * Node. Does not work with strict CommonJS, but + * only CommonJS-like environments that support module.exports, + * like Node. + */ + module.exports = factory() + } else { + // Browser globals (root is window) + factory()(root.lunr); + } +}(this, function() { + /** + * Just return a value to define the module export. + * This example returns an object, but the module + * can return a function as the exported value. + */ + return function(lunr) { + /* throw error if lunr is not yet included */ + if ('undefined' === typeof lunr) { + throw new Error('Lunr is not present. Please include / require Lunr before this script.'); + } + + /* throw error if lunr stemmer support is not yet included */ + if ('undefined' === typeof lunr.stemmerSupport) { + throw new Error('Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.'); + } + + /* register specific locale function */ + lunr.fi = function() { + this.pipeline.reset(); + this.pipeline.add( + lunr.fi.trimmer, + lunr.fi.stopWordFilter, + lunr.fi.stemmer + ); + }; + + /* lunr trimmer function */ + lunr.fi.wordCharacters = "A-Za-z\xAA\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u02E0-\u02E4\u1D00-\u1D25\u1D2C-\u1D5C\u1D62-\u1D65\u1D6B-\u1D77\u1D79-\u1DBE\u1E00-\u1EFF\u2071\u207F\u2090-\u209C\u212A\u212B\u2132\u214E\u2160-\u2188\u2C60-\u2C7F\uA722-\uA787\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA7FF\uAB30-\uAB5A\uAB5C-\uAB64\uFB00-\uFB06\uFF21-\uFF3A\uFF41-\uFF5A"; + lunr.fi.trimmer = lunr.trimmerSupport.generateTrimmer(lunr.fi.wordCharacters); + + lunr.Pipeline.registerFunction(lunr.fi.trimmer, 'trimmer-fi'); + + /* lunr stemmer function */ + lunr.fi.stemmer = (function() { + /* create the wrapped stemmer object */ + var Among = lunr.stemmerSupport.Among, + SnowballProgram = lunr.stemmerSupport.SnowballProgram, + st = new function FinnishStemmer() { + var a_0 = [new Among("pa", -1, 1), new Among("sti", -1, 2), + new Among("kaan", -1, 1), new Among("han", -1, 1), + new Among("kin", -1, 1), new Among("h\u00E4n", -1, 1), + new Among("k\u00E4\u00E4n", -1, 1), new Among("ko", -1, 1), + new Among("p\u00E4", -1, 1), new Among("k\u00F6", -1, 1) + ], + a_1 = [ + new Among("lla", -1, -1), new Among("na", -1, -1), + new Among("ssa", -1, -1), new Among("ta", -1, -1), + new Among("lta", 3, -1), new Among("sta", 3, -1) + ], + a_2 = [ + new Among("ll\u00E4", -1, -1), new Among("n\u00E4", -1, -1), + new Among("ss\u00E4", -1, -1), new Among("t\u00E4", -1, -1), + new Among("lt\u00E4", 3, -1), new Among("st\u00E4", 3, -1) + ], + a_3 = [ + new Among("lle", -1, -1), new Among("ine", -1, -1) + ], + a_4 = [ + new Among("nsa", -1, 3), new Among("mme", -1, 3), + new Among("nne", -1, 3), new Among("ni", -1, 2), + new Among("si", -1, 1), new Among("an", -1, 4), + new Among("en", -1, 6), new Among("\u00E4n", -1, 5), + new Among("ns\u00E4", -1, 3) + ], + a_5 = [new Among("aa", -1, -1), + new Among("ee", -1, -1), new Among("ii", -1, -1), + new Among("oo", -1, -1), new Among("uu", -1, -1), + new Among("\u00E4\u00E4", -1, -1), + new Among("\u00F6\u00F6", -1, -1) + ], + a_6 = [new Among("a", -1, 8), + new Among("lla", 0, -1), new Among("na", 0, -1), + new Among("ssa", 0, -1), new Among("ta", 0, -1), + new Among("lta", 4, -1), new Among("sta", 4, -1), + new Among("tta", 4, 9), new Among("lle", -1, -1), + new Among("ine", -1, -1), new Among("ksi", -1, -1), + new Among("n", -1, 7), new Among("han", 11, 1), + new Among("den", 11, -1, r_VI), new Among("seen", 11, -1, r_LONG), + new Among("hen", 11, 2), new Among("tten", 11, -1, r_VI), + new Among("hin", 11, 3), new Among("siin", 11, -1, r_VI), + new Among("hon", 11, 4), new Among("h\u00E4n", 11, 5), + new Among("h\u00F6n", 11, 6), new Among("\u00E4", -1, 8), + new Among("ll\u00E4", 22, -1), new Among("n\u00E4", 22, -1), + new Among("ss\u00E4", 22, -1), new Among("t\u00E4", 22, -1), + new Among("lt\u00E4", 26, -1), new Among("st\u00E4", 26, -1), + new Among("tt\u00E4", 26, 9) + ], + a_7 = [new Among("eja", -1, -1), + new Among("mma", -1, 1), new Among("imma", 1, -1), + new Among("mpa", -1, 1), new Among("impa", 3, -1), + new Among("mmi", -1, 1), new Among("immi", 5, -1), + new Among("mpi", -1, 1), new Among("impi", 7, -1), + new Among("ej\u00E4", -1, -1), new Among("mm\u00E4", -1, 1), + new Among("imm\u00E4", 10, -1), new Among("mp\u00E4", -1, 1), + new Among("imp\u00E4", 12, -1) + ], + a_8 = [new Among("i", -1, -1), + new Among("j", -1, -1) + ], + a_9 = [new Among("mma", -1, 1), + new Among("imma", 0, -1) + ], + g_AEI = [17, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 8 + ], + g_V1 = [17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 8, 0, 32 + ], + g_V2 = [17, 65, 16, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 8, 0, 32 + ], + g_particle_end = [17, 97, 24, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32 + ], + B_ending_removed, S_x, I_p2, I_p1, sbp = new SnowballProgram(); + this.setCurrent = function(word) { + sbp.setCurrent(word); + }; + this.getCurrent = function() { + return sbp.getCurrent(); + }; + + function r_mark_regions() { + I_p1 = sbp.limit; + I_p2 = I_p1; + if (!habr1()) { + I_p1 = sbp.cursor; + if (!habr1()) + I_p2 = sbp.cursor; + } + } + + function habr1() { + var v_1; + while (true) { + v_1 = sbp.cursor; + if (sbp.in_grouping(g_V1, 97, 246)) + break; + sbp.cursor = v_1; + if (v_1 >= sbp.limit) + return true; + sbp.cursor++; + } + sbp.cursor = v_1; + while (!sbp.out_grouping(g_V1, 97, 246)) { + if (sbp.cursor >= sbp.limit) + return true; + sbp.cursor++; + } + return false; + } + + function r_R2() { + return I_p2 <= sbp.cursor; + } + + function r_particle_etc() { + var among_var, v_1; + if (sbp.cursor >= I_p1) { + v_1 = sbp.limit_backward; + sbp.limit_backward = I_p1; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_0, 10); + if (among_var) { + sbp.bra = sbp.cursor; + sbp.limit_backward = v_1; + switch (among_var) { + case 1: + if (!sbp.in_grouping_b(g_particle_end, 97, 246)) + return; + break; + case 2: + if (!r_R2()) + return; + break; + } + sbp.slice_del(); + } else + sbp.limit_backward = v_1; + } + } + + function r_possessive() { + var among_var, v_1, v_2; + if (sbp.cursor >= I_p1) { + v_1 = sbp.limit_backward; + sbp.limit_backward = I_p1; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_4, 9); + if (among_var) { + sbp.bra = sbp.cursor; + sbp.limit_backward = v_1; + switch (among_var) { + case 1: + v_2 = sbp.limit - sbp.cursor; + if (!sbp.eq_s_b(1, "k")) { + sbp.cursor = sbp.limit - v_2; + sbp.slice_del(); + } + break; + case 2: + sbp.slice_del(); + sbp.ket = sbp.cursor; + if (sbp.eq_s_b(3, "kse")) { + sbp.bra = sbp.cursor; + sbp.slice_from("ksi"); + } + break; + case 3: + sbp.slice_del(); + break; + case 4: + if (sbp.find_among_b(a_1, 6)) + sbp.slice_del(); + break; + case 5: + if (sbp.find_among_b(a_2, 6)) + sbp.slice_del(); + break; + case 6: + if (sbp.find_among_b(a_3, 2)) + sbp.slice_del(); + break; + } + } else + sbp.limit_backward = v_1; + } + } + + function r_LONG() { + return sbp.find_among_b(a_5, 7); + } + + function r_VI() { + return sbp.eq_s_b(1, "i") && sbp.in_grouping_b(g_V2, 97, 246); + } + + function r_case_ending() { + var among_var, v_1, v_2; + if (sbp.cursor >= I_p1) { + v_1 = sbp.limit_backward; + sbp.limit_backward = I_p1; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_6, 30); + if (among_var) { + sbp.bra = sbp.cursor; + sbp.limit_backward = v_1; + switch (among_var) { + case 1: + if (!sbp.eq_s_b(1, "a")) + return; + break; + case 2: + case 9: + if (!sbp.eq_s_b(1, "e")) + return; + break; + case 3: + if (!sbp.eq_s_b(1, "i")) + return; + break; + case 4: + if (!sbp.eq_s_b(1, "o")) + return; + break; + case 5: + if (!sbp.eq_s_b(1, "\u00E4")) + return; + break; + case 6: + if (!sbp.eq_s_b(1, "\u00F6")) + return; + break; + case 7: + v_2 = sbp.limit - sbp.cursor; + if (!r_LONG()) { + sbp.cursor = sbp.limit - v_2; + if (!sbp.eq_s_b(2, "ie")) { + sbp.cursor = sbp.limit - v_2; + break; + } + } + sbp.cursor = sbp.limit - v_2; + if (sbp.cursor <= sbp.limit_backward) { + sbp.cursor = sbp.limit - v_2; + break; + } + sbp.cursor--; + sbp.bra = sbp.cursor; + break; + case 8: + if (!sbp.in_grouping_b(g_V1, 97, 246) || !sbp.out_grouping_b(g_V1, 97, 246)) + return; + break; + } + sbp.slice_del(); + B_ending_removed = true; + } else + sbp.limit_backward = v_1; + } + } + + function r_other_endings() { + var among_var, v_1, v_2; + if (sbp.cursor >= I_p2) { + v_1 = sbp.limit_backward; + sbp.limit_backward = I_p2; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_7, 14); + if (among_var) { + sbp.bra = sbp.cursor; + sbp.limit_backward = v_1; + if (among_var == 1) { + v_2 = sbp.limit - sbp.cursor; + if (sbp.eq_s_b(2, "po")) + return; + sbp.cursor = sbp.limit - v_2; + } + sbp.slice_del(); + } else + sbp.limit_backward = v_1; + } + } + + function r_i_plural() { + var v_1; + if (sbp.cursor >= I_p1) { + v_1 = sbp.limit_backward; + sbp.limit_backward = I_p1; + sbp.ket = sbp.cursor; + if (sbp.find_among_b(a_8, 2)) { + sbp.bra = sbp.cursor; + sbp.limit_backward = v_1; + sbp.slice_del(); + } else + sbp.limit_backward = v_1; + } + } + + function r_t_plural() { + var among_var, v_1, v_2, v_3, v_4, v_5; + if (sbp.cursor >= I_p1) { + v_1 = sbp.limit_backward; + sbp.limit_backward = I_p1; + sbp.ket = sbp.cursor; + if (sbp.eq_s_b(1, "t")) { + sbp.bra = sbp.cursor; + v_2 = sbp.limit - sbp.cursor; + if (sbp.in_grouping_b(g_V1, 97, 246)) { + sbp.cursor = sbp.limit - v_2; + sbp.slice_del(); + sbp.limit_backward = v_1; + v_3 = sbp.limit - sbp.cursor; + if (sbp.cursor >= I_p2) { + sbp.cursor = I_p2; + v_4 = sbp.limit_backward; + sbp.limit_backward = sbp.cursor; + sbp.cursor = sbp.limit - v_3; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_9, 2); + if (among_var) { + sbp.bra = sbp.cursor; + sbp.limit_backward = v_4; + if (among_var == 1) { + v_5 = sbp.limit - sbp.cursor; + if (sbp.eq_s_b(2, "po")) + return; + sbp.cursor = sbp.limit - v_5; + } + sbp.slice_del(); + return; + } + } + } + } + sbp.limit_backward = v_1; + } + } + + function r_tidy() { + var v_1, v_2, v_3, v_4; + if (sbp.cursor >= I_p1) { + v_1 = sbp.limit_backward; + sbp.limit_backward = I_p1; + v_2 = sbp.limit - sbp.cursor; + if (r_LONG()) { + sbp.cursor = sbp.limit - v_2; + sbp.ket = sbp.cursor; + if (sbp.cursor > sbp.limit_backward) { + sbp.cursor--; + sbp.bra = sbp.cursor; + sbp.slice_del(); + } + } + sbp.cursor = sbp.limit - v_2; + sbp.ket = sbp.cursor; + if (sbp.in_grouping_b(g_AEI, 97, 228)) { + sbp.bra = sbp.cursor; + if (sbp.out_grouping_b(g_V1, 97, 246)) + sbp.slice_del(); + } + sbp.cursor = sbp.limit - v_2; + sbp.ket = sbp.cursor; + if (sbp.eq_s_b(1, "j")) { + sbp.bra = sbp.cursor; + v_3 = sbp.limit - sbp.cursor; + if (!sbp.eq_s_b(1, "o")) { + sbp.cursor = sbp.limit - v_3; + if (sbp.eq_s_b(1, "u")) + sbp.slice_del(); + } else + sbp.slice_del(); + } + sbp.cursor = sbp.limit - v_2; + sbp.ket = sbp.cursor; + if (sbp.eq_s_b(1, "o")) { + sbp.bra = sbp.cursor; + if (sbp.eq_s_b(1, "j")) + sbp.slice_del(); + } + sbp.cursor = sbp.limit - v_2; + sbp.limit_backward = v_1; + while (true) { + v_4 = sbp.limit - sbp.cursor; + if (sbp.out_grouping_b(g_V1, 97, 246)) { + sbp.cursor = sbp.limit - v_4; + break; + } + sbp.cursor = sbp.limit - v_4; + if (sbp.cursor <= sbp.limit_backward) + return; + sbp.cursor--; + } + sbp.ket = sbp.cursor; + if (sbp.cursor > sbp.limit_backward) { + sbp.cursor--; + sbp.bra = sbp.cursor; + S_x = sbp.slice_to(); + if (sbp.eq_v_b(S_x)) + sbp.slice_del(); + } + } + } + this.stem = function() { + var v_1 = sbp.cursor; + r_mark_regions(); + B_ending_removed = false; + sbp.limit_backward = v_1; + sbp.cursor = sbp.limit; + r_particle_etc(); + sbp.cursor = sbp.limit; + r_possessive(); + sbp.cursor = sbp.limit; + r_case_ending(); + sbp.cursor = sbp.limit; + r_other_endings(); + sbp.cursor = sbp.limit; + if (B_ending_removed) { + r_i_plural(); + sbp.cursor = sbp.limit; + } else { + sbp.cursor = sbp.limit; + r_t_plural(); + sbp.cursor = sbp.limit; + } + r_tidy(); + return true; + } + }; + + /* and return a function that stems a word for the current locale */ + return function(word) { + st.setCurrent(word); + st.stem(); + return st.getCurrent(); + } + })(); + + lunr.Pipeline.registerFunction(lunr.fi.stemmer, 'stemmer-fi'); + + /* stop word filter function */ + lunr.fi.stopWordFilter = function(token) { + if (lunr.fi.stopWordFilter.stopWords.indexOf(token) === -1) { + return token; + } + }; + + lunr.fi.stopWordFilter.stopWords = new lunr.SortedSet(); + lunr.fi.stopWordFilter.stopWords.length = 236; + + // The space at the beginning is crucial: It marks the empty string + // as a stop word. lunr.js crashes during search when documents + // processed by the pipeline still contain the empty string. + lunr.fi.stopWordFilter.stopWords.elements = ' ei eivät emme en et ette että he heidän heidät heihin heille heillä heiltä heissä heistä heitä hän häneen hänelle hänellä häneltä hänen hänessä hänestä hänet häntä itse ja johon joiden joihin joiksi joilla joille joilta joina joissa joista joita joka joksi jolla jolle jolta jona jonka jos jossa josta jota jotka kanssa keiden keihin keiksi keille keillä keiltä keinä keissä keistä keitä keneen keneksi kenelle kenellä keneltä kenen kenenä kenessä kenestä kenet ketkä ketkä ketä koska kuin kuka kun me meidän meidät meihin meille meillä meiltä meissä meistä meitä mihin miksi mikä mille millä miltä minkä minkä minua minulla minulle minulta minun minussa minusta minut minuun minä minä missä mistä mitkä mitä mukaan mutta ne niiden niihin niiksi niille niillä niiltä niin niin niinä niissä niistä niitä noiden noihin noiksi noilla noille noilta noin noina noissa noista noita nuo nyt näiden näihin näiksi näille näillä näiltä näinä näissä näistä näitä nämä ole olemme olen olet olette oli olimme olin olisi olisimme olisin olisit olisitte olisivat olit olitte olivat olla olleet ollut on ovat poikki se sekä sen siihen siinä siitä siksi sille sillä sillä siltä sinua sinulla sinulle sinulta sinun sinussa sinusta sinut sinuun sinä sinä sitä tai te teidän teidät teihin teille teillä teiltä teissä teistä teitä tuo tuohon tuoksi tuolla tuolle tuolta tuon tuona tuossa tuosta tuota tähän täksi tälle tällä tältä tämä tämän tänä tässä tästä tätä vaan vai vaikka yli'.split(' '); + + lunr.Pipeline.registerFunction(lunr.fi.stopWordFilter, 'stopWordFilter-fi'); + }; +}))
\ No newline at end of file diff --git a/static/js/lunr.fi.min.js b/static/js/lunr.fi.min.js new file mode 100644 index 0000000..4d8f82e --- /dev/null +++ b/static/js/lunr.fi.min.js @@ -0,0 +1 @@ +!function(i,e){"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=e():e()(i.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var v,W,r;e.fi=function(){this.pipeline.reset(),this.pipeline.add(e.fi.trimmer,e.fi.stopWordFilter,e.fi.stemmer)},e.fi.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.fi.trimmer=e.trimmerSupport.generateTrimmer(e.fi.wordCharacters),e.Pipeline.registerFunction(e.fi.trimmer,"trimmer-fi"),e.fi.stemmer=(v=e.stemmerSupport.Among,W=e.stemmerSupport.SnowballProgram,r=new function(){var n,t,s,o,r=[new v("pa",-1,1),new v("sti",-1,2),new v("kaan",-1,1),new v("han",-1,1),new v("kin",-1,1),new v("hän",-1,1),new v("kään",-1,1),new v("ko",-1,1),new v("pä",-1,1),new v("kö",-1,1)],l=[new v("lla",-1,-1),new v("na",-1,-1),new v("ssa",-1,-1),new v("ta",-1,-1),new v("lta",3,-1),new v("sta",3,-1)],a=[new v("llä",-1,-1),new v("nä",-1,-1),new v("ssä",-1,-1),new v("tä",-1,-1),new v("ltä",3,-1),new v("stä",3,-1)],u=[new v("lle",-1,-1),new v("ine",-1,-1)],c=[new v("nsa",-1,3),new v("mme",-1,3),new v("nne",-1,3),new v("ni",-1,2),new v("si",-1,1),new v("an",-1,4),new v("en",-1,6),new v("än",-1,5),new v("nsä",-1,3)],i=[new v("aa",-1,-1),new v("ee",-1,-1),new v("ii",-1,-1),new v("oo",-1,-1),new v("uu",-1,-1),new v("ää",-1,-1),new v("öö",-1,-1)],m=[new v("a",-1,8),new v("lla",0,-1),new v("na",0,-1),new v("ssa",0,-1),new v("ta",0,-1),new v("lta",4,-1),new v("sta",4,-1),new v("tta",4,9),new v("lle",-1,-1),new v("ine",-1,-1),new v("ksi",-1,-1),new v("n",-1,7),new v("han",11,1),new v("den",11,-1,q),new v("seen",11,-1,j),new v("hen",11,2),new v("tten",11,-1,q),new v("hin",11,3),new v("siin",11,-1,q),new v("hon",11,4),new v("hän",11,5),new v("hön",11,6),new v("ä",-1,8),new v("llä",22,-1),new v("nä",22,-1),new v("ssä",22,-1),new v("tä",22,-1),new v("ltä",26,-1),new v("stä",26,-1),new v("ttä",26,9)],w=[new v("eja",-1,-1),new v("mma",-1,1),new v("imma",1,-1),new v("mpa",-1,1),new v("impa",3,-1),new v("mmi",-1,1),new v("immi",5,-1),new v("mpi",-1,1),new v("impi",7,-1),new v("ejä",-1,-1),new v("mmä",-1,1),new v("immä",10,-1),new v("mpä",-1,1),new v("impä",12,-1)],_=[new v("i",-1,-1),new v("j",-1,-1)],k=[new v("mma",-1,1),new v("imma",0,-1)],b=[17,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8],d=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32],e=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32],f=[17,97,24,1,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32],p=new W;function h(){for(var i;i=p.cursor,!p.in_grouping(d,97,246);){if((p.cursor=i)>=p.limit)return 1;p.cursor++}for(p.cursor=i;!p.out_grouping(d,97,246);){if(p.cursor>=p.limit)return 1;p.cursor++}}function g(){var i,e;if(p.cursor>=o)if(e=p.limit_backward,p.limit_backward=o,p.ket=p.cursor,i=p.find_among_b(r,10)){switch(p.bra=p.cursor,p.limit_backward=e,i){case 1:if(p.in_grouping_b(f,97,246))break;return;case 2:if(s<=p.cursor)break;return}p.slice_del()}else p.limit_backward=e}function j(){return p.find_among_b(i,7)}function q(){return p.eq_s_b(1,"i")&&p.in_grouping_b(e,97,246)}this.setCurrent=function(i){p.setCurrent(i)},this.getCurrent=function(){return p.getCurrent()},this.stem=function(){var i,e,r=p.cursor;if(o=p.limit,s=o,h()||(o=p.cursor,h())||(s=p.cursor),n=!1,p.limit_backward=r,p.cursor=p.limit,g(),p.cursor=p.limit,p.cursor>=o)if(r=p.limit_backward,p.limit_backward=o,p.ket=p.cursor,e=p.find_among_b(c,9))switch(p.bra=p.cursor,p.limit_backward=r,e){case 1:i=p.limit-p.cursor,p.eq_s_b(1,"k")||(p.cursor=p.limit-i,p.slice_del());break;case 2:p.slice_del(),p.ket=p.cursor,p.eq_s_b(3,"kse")&&(p.bra=p.cursor,p.slice_from("ksi"));break;case 3:p.slice_del();break;case 4:p.find_among_b(l,6)&&p.slice_del();break;case 5:p.find_among_b(a,6)&&p.slice_del();break;case 6:p.find_among_b(u,2)&&p.slice_del()}else p.limit_backward=r;return p.cursor=p.limit,function(){var i,e,r;if(p.cursor>=o)if(e=p.limit_backward,p.limit_backward=o,p.ket=p.cursor,i=p.find_among_b(m,30)){switch(p.bra=p.cursor,p.limit_backward=e,i){case 1:if(p.eq_s_b(1,"a"))break;return;case 2:case 9:if(p.eq_s_b(1,"e"))break;return;case 3:if(p.eq_s_b(1,"i"))break;return;case 4:if(p.eq_s_b(1,"o"))break;return;case 5:if(p.eq_s_b(1,"ä"))break;return;case 6:if(p.eq_s_b(1,"ö"))break;return;case 7:r=p.limit-p.cursor,j()||(p.cursor=p.limit-r,p.eq_s_b(2,"ie"))?(p.cursor=p.limit-r,p.cursor<=p.limit_backward?p.cursor=p.limit-r:(p.cursor--,p.bra=p.cursor)):p.cursor=p.limit-r;break;case 8:if(p.in_grouping_b(d,97,246)&&p.out_grouping_b(d,97,246))break;return}p.slice_del(),n=!0}else p.limit_backward=e}(),p.cursor=p.limit,function(){var i,e;if(p.cursor>=s)if(i=p.limit_backward,p.limit_backward=s,p.ket=p.cursor,e=p.find_among_b(w,14)){if(p.bra=p.cursor,p.limit_backward=i,1==e){if(e=p.limit-p.cursor,p.eq_s_b(2,"po"))return;p.cursor=p.limit-e}p.slice_del()}else p.limit_backward=i}(),p.cursor=p.limit,n?p.cursor>=o&&(e=p.limit_backward,p.limit_backward=o,p.ket=p.cursor,p.find_among_b(_,2)?(p.bra=p.cursor,p.limit_backward=e,p.slice_del()):p.limit_backward=e):(p.cursor=p.limit,function(){var i,e,r,n;if(p.cursor>=o)if(e=p.limit_backward,p.limit_backward=o,p.ket=p.cursor,p.eq_s_b(1,"t")&&(p.bra=p.cursor,n=p.limit-p.cursor,p.in_grouping_b(d,97,246))&&(p.cursor=p.limit-n,p.slice_del(),p.limit_backward=e,n=p.limit-p.cursor,p.cursor>=s)&&(p.cursor=s,r=p.limit_backward,p.limit_backward=p.cursor,p.cursor=p.limit-n,p.ket=p.cursor,i=p.find_among_b(k,2))){if(p.bra=p.cursor,p.limit_backward=r,1==i){if(n=p.limit-p.cursor,p.eq_s_b(2,"po"))return;p.cursor=p.limit-n}p.slice_del()}else p.limit_backward=e}()),p.cursor=p.limit,function(){var i,e,r,n;if(p.cursor>=o){for(i=p.limit_backward,p.limit_backward=o,e=p.limit-p.cursor,j()&&(p.cursor=p.limit-e,p.ket=p.cursor,p.cursor>p.limit_backward)&&(p.cursor--,p.bra=p.cursor,p.slice_del()),p.cursor=p.limit-e,p.ket=p.cursor,p.in_grouping_b(b,97,228)&&(p.bra=p.cursor,p.out_grouping_b(d,97,246))&&p.slice_del(),p.cursor=p.limit-e,p.ket=p.cursor,p.eq_s_b(1,"j")&&(p.bra=p.cursor,r=p.limit-p.cursor,p.eq_s_b(1,"o")||(p.cursor=p.limit-r,p.eq_s_b(1,"u")))&&p.slice_del(),p.cursor=p.limit-e,p.ket=p.cursor,p.eq_s_b(1,"o")&&(p.bra=p.cursor,p.eq_s_b(1,"j"))&&p.slice_del(),p.cursor=p.limit-e,p.limit_backward=i;;){if(n=p.limit-p.cursor,p.out_grouping_b(d,97,246)){p.cursor=p.limit-n;break}if(p.cursor=p.limit-n,p.cursor<=p.limit_backward)return;p.cursor--}p.ket=p.cursor,p.cursor>p.limit_backward&&(p.cursor--,p.bra=p.cursor,t=p.slice_to(),p.eq_v_b(t))&&p.slice_del()}}(),!0}},function(i){return r.setCurrent(i),r.stem(),r.getCurrent()}),e.Pipeline.registerFunction(e.fi.stemmer,"stemmer-fi"),e.fi.stopWordFilter=function(i){if(-1===e.fi.stopWordFilter.stopWords.indexOf(i))return i},e.fi.stopWordFilter.stopWords=new e.SortedSet,e.fi.stopWordFilter.stopWords.length=236,e.fi.stopWordFilter.stopWords.elements=" ei eivät emme en et ette että he heidän heidät heihin heille heillä heiltä heissä heistä heitä hän häneen hänelle hänellä häneltä hänen hänessä hänestä hänet häntä itse ja johon joiden joihin joiksi joilla joille joilta joina joissa joista joita joka joksi jolla jolle jolta jona jonka jos jossa josta jota jotka kanssa keiden keihin keiksi keille keillä keiltä keinä keissä keistä keitä keneen keneksi kenelle kenellä keneltä kenen kenenä kenessä kenestä kenet ketkä ketkä ketä koska kuin kuka kun me meidän meidät meihin meille meillä meiltä meissä meistä meitä mihin miksi mikä mille millä miltä minkä minkä minua minulla minulle minulta minun minussa minusta minut minuun minä minä missä mistä mitkä mitä mukaan mutta ne niiden niihin niiksi niille niillä niiltä niin niin niinä niissä niistä niitä noiden noihin noiksi noilla noille noilta noin noina noissa noista noita nuo nyt näiden näihin näiksi näille näillä näiltä näinä näissä näistä näitä nämä ole olemme olen olet olette oli olimme olin olisi olisimme olisin olisit olisitte olisivat olit olitte olivat olla olleet ollut on ovat poikki se sekä sen siihen siinä siitä siksi sille sillä sillä siltä sinua sinulla sinulle sinulta sinun sinussa sinusta sinut sinuun sinä sinä sitä tai te teidän teidät teihin teille teillä teiltä teissä teistä teitä tuo tuohon tuoksi tuolla tuolle tuolta tuon tuona tuossa tuosta tuota tähän täksi tälle tällä tältä tämä tämän tänä tässä tästä tätä vaan vai vaikka yli".split(" "),e.Pipeline.registerFunction(e.fi.stopWordFilter,"stopWordFilter-fi")}});
\ No newline at end of file diff --git a/static/js/lunr.fr.js b/static/js/lunr.fr.js new file mode 100644 index 0000000..07978b2 --- /dev/null +++ b/static/js/lunr.fr.js @@ -0,0 +1,698 @@ +/*! + * Lunr languages, `French` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +/** + * export the module via AMD, CommonJS or as a browser global + * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js + */ +; +(function(root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(factory) + } else if (typeof exports === 'object') { + /** + * Node. Does not work with strict CommonJS, but + * only CommonJS-like environments that support module.exports, + * like Node. + */ + module.exports = factory() + } else { + // Browser globals (root is window) + factory()(root.lunr); + } +}(this, function() { + /** + * Just return a value to define the module export. + * This example returns an object, but the module + * can return a function as the exported value. + */ + return function(lunr) { + /* throw error if lunr is not yet included */ + if ('undefined' === typeof lunr) { + throw new Error('Lunr is not present. Please include / require Lunr before this script.'); + } + + /* throw error if lunr stemmer support is not yet included */ + if ('undefined' === typeof lunr.stemmerSupport) { + throw new Error('Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.'); + } + + /* register specific locale function */ + lunr.fr = function() { + this.pipeline.reset(); + this.pipeline.add( + lunr.fr.trimmer, + lunr.fr.stopWordFilter, + lunr.fr.stemmer + ); + }; + + /* lunr trimmer function */ + lunr.fr.wordCharacters = "A-Za-z\xAA\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u02E0-\u02E4\u1D00-\u1D25\u1D2C-\u1D5C\u1D62-\u1D65\u1D6B-\u1D77\u1D79-\u1DBE\u1E00-\u1EFF\u2071\u207F\u2090-\u209C\u212A\u212B\u2132\u214E\u2160-\u2188\u2C60-\u2C7F\uA722-\uA787\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA7FF\uAB30-\uAB5A\uAB5C-\uAB64\uFB00-\uFB06\uFF21-\uFF3A\uFF41-\uFF5A"; + lunr.fr.trimmer = lunr.trimmerSupport.generateTrimmer(lunr.fr.wordCharacters); + + lunr.Pipeline.registerFunction(lunr.fr.trimmer, 'trimmer-fr'); + + /* lunr stemmer function */ + lunr.fr.stemmer = (function() { + /* create the wrapped stemmer object */ + var Among = lunr.stemmerSupport.Among, + SnowballProgram = lunr.stemmerSupport.SnowballProgram, + st = new function FrenchStemmer() { + var a_0 = [new Among("col", -1, -1), new Among("par", -1, -1), + new Among("tap", -1, -1) + ], + a_1 = [new Among("", -1, 4), + new Among("I", 0, 1), new Among("U", 0, 2), new Among("Y", 0, 3) + ], + a_2 = [ + new Among("iqU", -1, 3), new Among("abl", -1, 3), + new Among("I\u00E8r", -1, 4), new Among("i\u00E8r", -1, 4), + new Among("eus", -1, 2), new Among("iv", -1, 1) + ], + a_3 = [ + new Among("ic", -1, 2), new Among("abil", -1, 1), + new Among("iv", -1, 3) + ], + a_4 = [new Among("iqUe", -1, 1), + new Among("atrice", -1, 2), new Among("ance", -1, 1), + new Among("ence", -1, 5), new Among("logie", -1, 3), + new Among("able", -1, 1), new Among("isme", -1, 1), + new Among("euse", -1, 11), new Among("iste", -1, 1), + new Among("ive", -1, 8), new Among("if", -1, 8), + new Among("usion", -1, 4), new Among("ation", -1, 2), + new Among("ution", -1, 4), new Among("ateur", -1, 2), + new Among("iqUes", -1, 1), new Among("atrices", -1, 2), + new Among("ances", -1, 1), new Among("ences", -1, 5), + new Among("logies", -1, 3), new Among("ables", -1, 1), + new Among("ismes", -1, 1), new Among("euses", -1, 11), + new Among("istes", -1, 1), new Among("ives", -1, 8), + new Among("ifs", -1, 8), new Among("usions", -1, 4), + new Among("ations", -1, 2), new Among("utions", -1, 4), + new Among("ateurs", -1, 2), new Among("ments", -1, 15), + new Among("ements", 30, 6), new Among("issements", 31, 12), + new Among("it\u00E9s", -1, 7), new Among("ment", -1, 15), + new Among("ement", 34, 6), new Among("issement", 35, 12), + new Among("amment", 34, 13), new Among("emment", 34, 14), + new Among("aux", -1, 10), new Among("eaux", 39, 9), + new Among("eux", -1, 1), new Among("it\u00E9", -1, 7) + ], + a_5 = [ + new Among("ira", -1, 1), new Among("ie", -1, 1), + new Among("isse", -1, 1), new Among("issante", -1, 1), + new Among("i", -1, 1), new Among("irai", 4, 1), + new Among("ir", -1, 1), new Among("iras", -1, 1), + new Among("ies", -1, 1), new Among("\u00EEmes", -1, 1), + new Among("isses", -1, 1), new Among("issantes", -1, 1), + new Among("\u00EEtes", -1, 1), new Among("is", -1, 1), + new Among("irais", 13, 1), new Among("issais", 13, 1), + new Among("irions", -1, 1), new Among("issions", -1, 1), + new Among("irons", -1, 1), new Among("issons", -1, 1), + new Among("issants", -1, 1), new Among("it", -1, 1), + new Among("irait", 21, 1), new Among("issait", 21, 1), + new Among("issant", -1, 1), new Among("iraIent", -1, 1), + new Among("issaIent", -1, 1), new Among("irent", -1, 1), + new Among("issent", -1, 1), new Among("iront", -1, 1), + new Among("\u00EEt", -1, 1), new Among("iriez", -1, 1), + new Among("issiez", -1, 1), new Among("irez", -1, 1), + new Among("issez", -1, 1) + ], + a_6 = [new Among("a", -1, 3), + new Among("era", 0, 2), new Among("asse", -1, 3), + new Among("ante", -1, 3), new Among("\u00E9e", -1, 2), + new Among("ai", -1, 3), new Among("erai", 5, 2), + new Among("er", -1, 2), new Among("as", -1, 3), + new Among("eras", 8, 2), new Among("\u00E2mes", -1, 3), + new Among("asses", -1, 3), new Among("antes", -1, 3), + new Among("\u00E2tes", -1, 3), new Among("\u00E9es", -1, 2), + new Among("ais", -1, 3), new Among("erais", 15, 2), + new Among("ions", -1, 1), new Among("erions", 17, 2), + new Among("assions", 17, 3), new Among("erons", -1, 2), + new Among("ants", -1, 3), new Among("\u00E9s", -1, 2), + new Among("ait", -1, 3), new Among("erait", 23, 2), + new Among("ant", -1, 3), new Among("aIent", -1, 3), + new Among("eraIent", 26, 2), new Among("\u00E8rent", -1, 2), + new Among("assent", -1, 3), new Among("eront", -1, 2), + new Among("\u00E2t", -1, 3), new Among("ez", -1, 2), + new Among("iez", 32, 2), new Among("eriez", 33, 2), + new Among("assiez", 33, 3), new Among("erez", 32, 2), + new Among("\u00E9", -1, 2) + ], + a_7 = [new Among("e", -1, 3), + new Among("I\u00E8re", 0, 2), new Among("i\u00E8re", 0, 2), + new Among("ion", -1, 1), new Among("Ier", -1, 2), + new Among("ier", -1, 2), new Among("\u00EB", -1, 4) + ], + a_8 = [ + new Among("ell", -1, -1), new Among("eill", -1, -1), + new Among("enn", -1, -1), new Among("onn", -1, -1), + new Among("ett", -1, -1) + ], + g_v = [17, 65, 16, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 128, 130, 103, 8, 5 + ], + g_keep_with_s = [1, 65, 20, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 + ], + I_p2, I_p1, I_pV, sbp = new SnowballProgram(); + this.setCurrent = function(word) { + sbp.setCurrent(word); + }; + this.getCurrent = function() { + return sbp.getCurrent(); + }; + + function habr1(c1, c2, v_1) { + if (sbp.eq_s(1, c1)) { + sbp.ket = sbp.cursor; + if (sbp.in_grouping(g_v, 97, 251)) { + sbp.slice_from(c2); + sbp.cursor = v_1; + return true; + } + } + return false; + } + + function habr2(c1, c2, v_1) { + if (sbp.eq_s(1, c1)) { + sbp.ket = sbp.cursor; + sbp.slice_from(c2); + sbp.cursor = v_1; + return true; + } + return false; + } + + function r_prelude() { + var v_1, v_2; + while (true) { + v_1 = sbp.cursor; + if (sbp.in_grouping(g_v, 97, 251)) { + sbp.bra = sbp.cursor; + v_2 = sbp.cursor; + if (habr1("u", "U", v_1)) + continue; + sbp.cursor = v_2; + if (habr1("i", "I", v_1)) + continue; + sbp.cursor = v_2; + if (habr2("y", "Y", v_1)) + continue; + } + sbp.cursor = v_1; + sbp.bra = v_1; + if (!habr1("y", "Y", v_1)) { + sbp.cursor = v_1; + if (sbp.eq_s(1, "q")) { + sbp.bra = sbp.cursor; + if (habr2("u", "U", v_1)) + continue; + } + sbp.cursor = v_1; + if (v_1 >= sbp.limit) + return; + sbp.cursor++; + } + } + } + + function habr3() { + while (!sbp.in_grouping(g_v, 97, 251)) { + if (sbp.cursor >= sbp.limit) + return true; + sbp.cursor++; + } + while (!sbp.out_grouping(g_v, 97, 251)) { + if (sbp.cursor >= sbp.limit) + return true; + sbp.cursor++; + } + return false; + } + + function r_mark_regions() { + var v_1 = sbp.cursor; + I_pV = sbp.limit; + I_p1 = I_pV; + I_p2 = I_pV; + if (sbp.in_grouping(g_v, 97, 251) && sbp.in_grouping(g_v, 97, 251) && sbp.cursor < sbp.limit) + sbp.cursor++; + else { + sbp.cursor = v_1; + if (!sbp.find_among(a_0, 3)) { + sbp.cursor = v_1; + do { + if (sbp.cursor >= sbp.limit) { + sbp.cursor = I_pV; + break; + } + sbp.cursor++; + } while (!sbp.in_grouping(g_v, 97, 251)); + } + } + I_pV = sbp.cursor; + sbp.cursor = v_1; + if (!habr3()) { + I_p1 = sbp.cursor; + if (!habr3()) + I_p2 = sbp.cursor; + } + } + + function r_postlude() { + var among_var, v_1; + while (true) { + v_1 = sbp.cursor; + sbp.bra = v_1; + among_var = sbp.find_among(a_1, 4); + if (!among_var) + break; + sbp.ket = sbp.cursor; + switch (among_var) { + case 1: + sbp.slice_from("i"); + break; + case 2: + sbp.slice_from("u"); + break; + case 3: + sbp.slice_from("y"); + break; + case 4: + if (sbp.cursor >= sbp.limit) + return; + sbp.cursor++; + break; + } + } + } + + function r_RV() { + return I_pV <= sbp.cursor; + } + + function r_R1() { + return I_p1 <= sbp.cursor; + } + + function r_R2() { + return I_p2 <= sbp.cursor; + } + + function r_standard_suffix() { + var among_var, v_1; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_4, 43); + if (among_var) { + sbp.bra = sbp.cursor; + switch (among_var) { + case 1: + if (!r_R2()) + return false; + sbp.slice_del(); + break; + case 2: + if (!r_R2()) + return false; + sbp.slice_del(); + sbp.ket = sbp.cursor; + if (sbp.eq_s_b(2, "ic")) { + sbp.bra = sbp.cursor; + if (!r_R2()) + sbp.slice_from("iqU"); + else + sbp.slice_del(); + } + break; + case 3: + if (!r_R2()) + return false; + sbp.slice_from("log"); + break; + case 4: + if (!r_R2()) + return false; + sbp.slice_from("u"); + break; + case 5: + if (!r_R2()) + return false; + sbp.slice_from("ent"); + break; + case 6: + if (!r_RV()) + return false; + sbp.slice_del(); + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_2, 6); + if (among_var) { + sbp.bra = sbp.cursor; + switch (among_var) { + case 1: + if (r_R2()) { + sbp.slice_del(); + sbp.ket = sbp.cursor; + if (sbp.eq_s_b(2, "at")) { + sbp.bra = sbp.cursor; + if (r_R2()) + sbp.slice_del(); + } + } + break; + case 2: + if (r_R2()) + sbp.slice_del(); + else if (r_R1()) + sbp.slice_from("eux"); + break; + case 3: + if (r_R2()) + sbp.slice_del(); + break; + case 4: + if (r_RV()) + sbp.slice_from("i"); + break; + } + } + break; + case 7: + if (!r_R2()) + return false; + sbp.slice_del(); + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_3, 3); + if (among_var) { + sbp.bra = sbp.cursor; + switch (among_var) { + case 1: + if (r_R2()) + sbp.slice_del(); + else + sbp.slice_from("abl"); + break; + case 2: + if (r_R2()) + sbp.slice_del(); + else + sbp.slice_from("iqU"); + break; + case 3: + if (r_R2()) + sbp.slice_del(); + break; + } + } + break; + case 8: + if (!r_R2()) + return false; + sbp.slice_del(); + sbp.ket = sbp.cursor; + if (sbp.eq_s_b(2, "at")) { + sbp.bra = sbp.cursor; + if (r_R2()) { + sbp.slice_del(); + sbp.ket = sbp.cursor; + if (sbp.eq_s_b(2, "ic")) { + sbp.bra = sbp.cursor; + if (r_R2()) + sbp.slice_del(); + else + sbp.slice_from("iqU"); + break; + } + } + } + break; + case 9: + sbp.slice_from("eau"); + break; + case 10: + if (!r_R1()) + return false; + sbp.slice_from("al"); + break; + case 11: + if (r_R2()) + sbp.slice_del(); + else if (!r_R1()) + return false; + else + sbp.slice_from("eux"); + break; + case 12: + if (!r_R1() || !sbp.out_grouping_b(g_v, 97, 251)) + return false; + sbp.slice_del(); + break; + case 13: + if (r_RV()) + sbp.slice_from("ant"); + return false; + case 14: + if (r_RV()) + sbp.slice_from("ent"); + return false; + case 15: + v_1 = sbp.limit - sbp.cursor; + if (sbp.in_grouping_b(g_v, 97, 251) && r_RV()) { + sbp.cursor = sbp.limit - v_1; + sbp.slice_del(); + } + return false; + } + return true; + } + return false; + } + + function r_i_verb_suffix() { + var among_var, v_1; + if (sbp.cursor < I_pV) + return false; + v_1 = sbp.limit_backward; + sbp.limit_backward = I_pV; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_5, 35); + if (!among_var) { + sbp.limit_backward = v_1; + return false; + } + sbp.bra = sbp.cursor; + if (among_var == 1) { + if (!sbp.out_grouping_b(g_v, 97, 251)) { + sbp.limit_backward = v_1; + return false; + } + sbp.slice_del(); + } + sbp.limit_backward = v_1; + return true; + } + + function r_verb_suffix() { + var among_var, v_2, v_3; + if (sbp.cursor < I_pV) + return false; + v_2 = sbp.limit_backward; + sbp.limit_backward = I_pV; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_6, 38); + if (!among_var) { + sbp.limit_backward = v_2; + return false; + } + sbp.bra = sbp.cursor; + switch (among_var) { + case 1: + if (!r_R2()) { + sbp.limit_backward = v_2; + return false; + } + sbp.slice_del(); + break; + case 2: + sbp.slice_del(); + break; + case 3: + sbp.slice_del(); + v_3 = sbp.limit - sbp.cursor; + sbp.ket = sbp.cursor; + if (sbp.eq_s_b(1, "e")) { + sbp.bra = sbp.cursor; + sbp.slice_del(); + } else + sbp.cursor = sbp.limit - v_3; + break; + } + sbp.limit_backward = v_2; + return true; + } + + function r_residual_suffix() { + var among_var, v_1 = sbp.limit - sbp.cursor, + v_2, v_4, v_5; + sbp.ket = sbp.cursor; + if (sbp.eq_s_b(1, "s")) { + sbp.bra = sbp.cursor; + v_2 = sbp.limit - sbp.cursor; + if (sbp.out_grouping_b(g_keep_with_s, 97, 232)) { + sbp.cursor = sbp.limit - v_2; + sbp.slice_del(); + } else + sbp.cursor = sbp.limit - v_1; + } else + sbp.cursor = sbp.limit - v_1; + if (sbp.cursor >= I_pV) { + v_4 = sbp.limit_backward; + sbp.limit_backward = I_pV; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_7, 7); + if (among_var) { + sbp.bra = sbp.cursor; + switch (among_var) { + case 1: + if (r_R2()) { + v_5 = sbp.limit - sbp.cursor; + if (!sbp.eq_s_b(1, "s")) { + sbp.cursor = sbp.limit - v_5; + if (!sbp.eq_s_b(1, "t")) + break; + } + sbp.slice_del(); + } + break; + case 2: + sbp.slice_from("i"); + break; + case 3: + sbp.slice_del(); + break; + case 4: + if (sbp.eq_s_b(2, "gu")) + sbp.slice_del(); + break; + } + } + sbp.limit_backward = v_4; + } + } + + function r_un_double() { + var v_1 = sbp.limit - sbp.cursor; + if (sbp.find_among_b(a_8, 5)) { + sbp.cursor = sbp.limit - v_1; + sbp.ket = sbp.cursor; + if (sbp.cursor > sbp.limit_backward) { + sbp.cursor--; + sbp.bra = sbp.cursor; + sbp.slice_del(); + } + } + } + + function r_un_accent() { + var v_1, v_2 = 1; + while (sbp.out_grouping_b(g_v, 97, 251)) + v_2--; + if (v_2 <= 0) { + sbp.ket = sbp.cursor; + v_1 = sbp.limit - sbp.cursor; + if (!sbp.eq_s_b(1, "\u00E9")) { + sbp.cursor = sbp.limit - v_1; + if (!sbp.eq_s_b(1, "\u00E8")) + return; + } + sbp.bra = sbp.cursor; + sbp.slice_from("e"); + } + } + + function habr5() { + if (!r_standard_suffix()) { + sbp.cursor = sbp.limit; + if (!r_i_verb_suffix()) { + sbp.cursor = sbp.limit; + if (!r_verb_suffix()) { + sbp.cursor = sbp.limit; + r_residual_suffix(); + return; + } + } + } + sbp.cursor = sbp.limit; + sbp.ket = sbp.cursor; + if (sbp.eq_s_b(1, "Y")) { + sbp.bra = sbp.cursor; + sbp.slice_from("i"); + } else { + sbp.cursor = sbp.limit; + if (sbp.eq_s_b(1, "\u00E7")) { + sbp.bra = sbp.cursor; + sbp.slice_from("c"); + } + } + } + this.stem = function() { + var v_1 = sbp.cursor; + r_prelude(); + sbp.cursor = v_1; + r_mark_regions(); + sbp.limit_backward = v_1; + sbp.cursor = sbp.limit; + habr5(); + sbp.cursor = sbp.limit; + r_un_double(); + sbp.cursor = sbp.limit; + r_un_accent(); + sbp.cursor = sbp.limit_backward; + r_postlude(); + return true; + } + }; + + /* and return a function that stems a word for the current locale */ + return function(word) { + st.setCurrent(word); + st.stem(); + return st.getCurrent(); + } + })(); + + lunr.Pipeline.registerFunction(lunr.fr.stemmer, 'stemmer-fr'); + + /* stop word filter function */ + lunr.fr.stopWordFilter = function(token) { + if (lunr.fr.stopWordFilter.stopWords.indexOf(token) === -1) { + return token; + } + }; + + lunr.fr.stopWordFilter.stopWords = new lunr.SortedSet(); + lunr.fr.stopWordFilter.stopWords.length = 164; + + // The space at the beginning is crucial: It marks the empty string + // as a stop word. lunr.js crashes during search when documents + // processed by the pipeline still contain the empty string. + lunr.fr.stopWordFilter.stopWords.elements = ' ai aie aient aies ait as au aura aurai auraient aurais aurait auras aurez auriez aurions aurons auront aux avaient avais avait avec avez aviez avions avons ayant ayez ayons c ce ceci celà ces cet cette d dans de des du elle en es est et eu eue eues eurent eus eusse eussent eusses eussiez eussions eut eux eûmes eût eûtes furent fus fusse fussent fusses fussiez fussions fut fûmes fût fûtes ici il ils j je l la le les leur leurs lui m ma mais me mes moi mon même n ne nos notre nous on ont ou par pas pour qu que quel quelle quelles quels qui s sa sans se sera serai seraient serais serait seras serez seriez serions serons seront ses soi soient sois soit sommes son sont soyez soyons suis sur t ta te tes toi ton tu un une vos votre vous y à étaient étais était étant étiez étions été étée étées étés êtes'.split(' '); + + lunr.Pipeline.registerFunction(lunr.fr.stopWordFilter, 'stopWordFilter-fr'); + }; +}))
\ No newline at end of file diff --git a/static/js/lunr.fr.min.js b/static/js/lunr.fr.min.js new file mode 100644 index 0000000..2f29909 --- /dev/null +++ b/static/js/lunr.fr.min.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(r){if(void 0===r)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===r.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var e,s,i;r.fr=function(){this.pipeline.reset(),this.pipeline.add(r.fr.trimmer,r.fr.stopWordFilter,r.fr.stemmer)},r.fr.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",r.fr.trimmer=r.trimmerSupport.generateTrimmer(r.fr.wordCharacters),r.Pipeline.registerFunction(r.fr.trimmer,"trimmer-fr"),r.fr.stemmer=(e=r.stemmerSupport.Among,s=r.stemmerSupport.SnowballProgram,i=new function(){var i,n,t,o=[new e("col",-1,-1),new e("par",-1,-1),new e("tap",-1,-1)],u=[new e("",-1,4),new e("I",0,1),new e("U",0,2),new e("Y",0,3)],c=[new e("iqU",-1,3),new e("abl",-1,3),new e("Ièr",-1,4),new e("ièr",-1,4),new e("eus",-1,2),new e("iv",-1,1)],a=[new e("ic",-1,2),new e("abil",-1,1),new e("iv",-1,3)],l=[new e("iqUe",-1,1),new e("atrice",-1,2),new e("ance",-1,1),new e("ence",-1,5),new e("logie",-1,3),new e("able",-1,1),new e("isme",-1,1),new e("euse",-1,11),new e("iste",-1,1),new e("ive",-1,8),new e("if",-1,8),new e("usion",-1,4),new e("ation",-1,2),new e("ution",-1,4),new e("ateur",-1,2),new e("iqUes",-1,1),new e("atrices",-1,2),new e("ances",-1,1),new e("ences",-1,5),new e("logies",-1,3),new e("ables",-1,1),new e("ismes",-1,1),new e("euses",-1,11),new e("istes",-1,1),new e("ives",-1,8),new e("ifs",-1,8),new e("usions",-1,4),new e("ations",-1,2),new e("utions",-1,4),new e("ateurs",-1,2),new e("ments",-1,15),new e("ements",30,6),new e("issements",31,12),new e("ités",-1,7),new e("ment",-1,15),new e("ement",34,6),new e("issement",35,12),new e("amment",34,13),new e("emment",34,14),new e("aux",-1,10),new e("eaux",39,9),new e("eux",-1,1),new e("ité",-1,7)],w=[new e("ira",-1,1),new e("ie",-1,1),new e("isse",-1,1),new e("issante",-1,1),new e("i",-1,1),new e("irai",4,1),new e("ir",-1,1),new e("iras",-1,1),new e("ies",-1,1),new e("îmes",-1,1),new e("isses",-1,1),new e("issantes",-1,1),new e("îtes",-1,1),new e("is",-1,1),new e("irais",13,1),new e("issais",13,1),new e("irions",-1,1),new e("issions",-1,1),new e("irons",-1,1),new e("issons",-1,1),new e("issants",-1,1),new e("it",-1,1),new e("irait",21,1),new e("issait",21,1),new e("issant",-1,1),new e("iraIent",-1,1),new e("issaIent",-1,1),new e("irent",-1,1),new e("issent",-1,1),new e("iront",-1,1),new e("ît",-1,1),new e("iriez",-1,1),new e("issiez",-1,1),new e("irez",-1,1),new e("issez",-1,1)],f=[new e("a",-1,3),new e("era",0,2),new e("asse",-1,3),new e("ante",-1,3),new e("ée",-1,2),new e("ai",-1,3),new e("erai",5,2),new e("er",-1,2),new e("as",-1,3),new e("eras",8,2),new e("âmes",-1,3),new e("asses",-1,3),new e("antes",-1,3),new e("âtes",-1,3),new e("ées",-1,2),new e("ais",-1,3),new e("erais",15,2),new e("ions",-1,1),new e("erions",17,2),new e("assions",17,3),new e("erons",-1,2),new e("ants",-1,3),new e("és",-1,2),new e("ait",-1,3),new e("erait",23,2),new e("ant",-1,3),new e("aIent",-1,3),new e("eraIent",26,2),new e("èrent",-1,2),new e("assent",-1,3),new e("eront",-1,2),new e("ât",-1,3),new e("ez",-1,2),new e("iez",32,2),new e("eriez",33,2),new e("assiez",33,3),new e("erez",32,2),new e("é",-1,2)],m=[new e("e",-1,3),new e("Ière",0,2),new e("ière",0,2),new e("ion",-1,1),new e("Ier",-1,2),new e("ier",-1,2),new e("ë",-1,4)],_=[new e("ell",-1,-1),new e("eill",-1,-1),new e("enn",-1,-1),new e("onn",-1,-1),new e("ett",-1,-1)],b=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,128,130,103,8,5],d=[1,65,20,0,0,0,0,0,0,0,0,0,0,0,0,0,128],k=new s;function p(e,r,s){return k.eq_s(1,e)&&(k.ket=k.cursor,k.in_grouping(b,97,251))&&(k.slice_from(r),k.cursor=s,1)}function g(e,r,s){return k.eq_s(1,e)&&(k.ket=k.cursor,k.slice_from(r),k.cursor=s,1)}function q(){for(;!k.in_grouping(b,97,251);){if(k.cursor>=k.limit)return 1;k.cursor++}for(;!k.out_grouping(b,97,251);){if(k.cursor>=k.limit)return 1;k.cursor++}}function v(){return t<=k.cursor}function z(){return n<=k.cursor}function h(){return i<=k.cursor}function W(){if(function(){var e,r;if(k.ket=k.cursor,e=k.find_among_b(l,43)){switch(k.bra=k.cursor,e){case 1:if(!h())return;k.slice_del();break;case 2:if(!h())return;k.slice_del(),k.ket=k.cursor,k.eq_s_b(2,"ic")&&(k.bra=k.cursor,h()?k.slice_del():k.slice_from("iqU"));break;case 3:if(!h())return;k.slice_from("log");break;case 4:if(!h())return;k.slice_from("u");break;case 5:if(!h())return;k.slice_from("ent");break;case 6:if(!v())return;if(k.slice_del(),k.ket=k.cursor,e=k.find_among_b(c,6))switch(k.bra=k.cursor,e){case 1:h()&&(k.slice_del(),k.ket=k.cursor,k.eq_s_b(2,"at"))&&(k.bra=k.cursor,h())&&k.slice_del();break;case 2:h()?k.slice_del():z()&&k.slice_from("eux");break;case 3:h()&&k.slice_del();break;case 4:v()&&k.slice_from("i")}break;case 7:if(!h())return;if(k.slice_del(),k.ket=k.cursor,e=k.find_among_b(a,3))switch(k.bra=k.cursor,e){case 1:h()?k.slice_del():k.slice_from("abl");break;case 2:h()?k.slice_del():k.slice_from("iqU");break;case 3:h()&&k.slice_del()}break;case 8:if(!h())return;k.slice_del(),k.ket=k.cursor,k.eq_s_b(2,"at")&&(k.bra=k.cursor,h())&&(k.slice_del(),k.ket=k.cursor,k.eq_s_b(2,"ic"))&&(k.bra=k.cursor,h()?k.slice_del():k.slice_from("iqU"));break;case 9:k.slice_from("eau");break;case 10:if(!z())return;k.slice_from("al");break;case 11:if(h())k.slice_del();else{if(!z())return;k.slice_from("eux")}break;case 12:if(!z()||!k.out_grouping_b(b,97,251))return;k.slice_del();break;case 13:return v()&&k.slice_from("ant"),0;case 14:return v()&&k.slice_from("ent"),0;case 15:return r=k.limit-k.cursor,k.in_grouping_b(b,97,251)&&v()&&(k.cursor=k.limit-r,k.slice_del()),0}return 1}}()||(k.cursor=k.limit,function(){var e,r;if(!(k.cursor<t)){if(r=k.limit_backward,k.limit_backward=t,k.ket=k.cursor,e=k.find_among_b(w,35)){if(k.bra=k.cursor,1==e){if(!k.out_grouping_b(b,97,251))return k.limit_backward=r,0;k.slice_del()}return k.limit_backward=r,1}k.limit_backward=r}}())||(k.cursor=k.limit,function(){var e,r,s;if(!(k.cursor<t)){if(r=k.limit_backward,k.limit_backward=t,k.ket=k.cursor,e=k.find_among_b(f,38)){switch(k.bra=k.cursor,e){case 1:if(!h())return k.limit_backward=r,0;k.slice_del();break;case 2:k.slice_del();break;case 3:k.slice_del(),s=k.limit-k.cursor,k.ket=k.cursor,k.eq_s_b(1,"e")?(k.bra=k.cursor,k.slice_del()):k.cursor=k.limit-s}return k.limit_backward=r,1}k.limit_backward=r}}()))k.cursor=k.limit,k.ket=k.cursor,k.eq_s_b(1,"Y")?(k.bra=k.cursor,k.slice_from("i")):(k.cursor=k.limit,k.eq_s_b(1,"ç")&&(k.bra=k.cursor,k.slice_from("c")));else{k.cursor=k.limit;var e,r,s=k.limit-k.cursor;if(k.ket=k.cursor,k.eq_s_b(1,"s")&&(k.bra=k.cursor,e=k.limit-k.cursor,k.out_grouping_b(d,97,232))?(k.cursor=k.limit-e,k.slice_del()):k.cursor=k.limit-s,k.cursor>=t){if(e=k.limit_backward,k.limit_backward=t,k.ket=k.cursor,s=k.find_among_b(m,7))switch(k.bra=k.cursor,s){case 1:if(h()){if(r=k.limit-k.cursor,!k.eq_s_b(1,"s")&&(k.cursor=k.limit-r,!k.eq_s_b(1,"t")))break;k.slice_del()}break;case 2:k.slice_from("i");break;case 3:k.slice_del();break;case 4:k.eq_s_b(2,"gu")&&k.slice_del()}k.limit_backward=e}}}this.setCurrent=function(e){k.setCurrent(e)},this.getCurrent=function(){return k.getCurrent()},this.stem=function(){var e=k.cursor,r=(!function(){for(var e,r;;){if(e=k.cursor,k.in_grouping(b,97,251)){if(k.bra=k.cursor,r=k.cursor,p("u","U",e))continue;if(k.cursor=r,p("i","I",e))continue;if(k.cursor=r,g("y","Y",e))continue}if(k.cursor=e,k.bra=e,!p("y","Y",e)&&(k.cursor=e,!k.eq_s(1,"q")||(k.bra=k.cursor,!g("u","U",e)))){if((k.cursor=e)>=k.limit)return;k.cursor++}}}(),k.cursor=e,k.cursor);if(t=k.limit,i=n=t,k.in_grouping(b,97,251)&&k.in_grouping(b,97,251)&&k.cursor<k.limit)k.cursor++;else if(k.cursor=r,!k.find_among(o,3)){k.cursor=r;do{if(k.cursor>=k.limit){k.cursor=t;break}}while(k.cursor++,!k.in_grouping(b,97,251))}t=k.cursor,k.cursor=r,q()||(n=k.cursor,q())||(i=k.cursor),k.limit_backward=e,k.cursor=k.limit,W(),k.cursor=k.limit,r=k.limit-k.cursor,k.find_among_b(_,5)&&(k.cursor=k.limit-r,k.ket=k.cursor,k.cursor>k.limit_backward)&&(k.cursor--,k.bra=k.cursor,k.slice_del()),k.cursor=k.limit;for(var s=1;k.out_grouping_b(b,97,251);)s--;return s<=0&&(k.ket=k.cursor,e=k.limit-k.cursor,k.eq_s_b(1,"é")||(k.cursor=k.limit-e,k.eq_s_b(1,"è")))&&(k.bra=k.cursor,k.slice_from("e")),k.cursor=k.limit_backward,function(){for(var e;e=k.cursor,k.bra=e,e=k.find_among(u,4);)switch(k.ket=k.cursor,e){case 1:k.slice_from("i");break;case 2:k.slice_from("u");break;case 3:k.slice_from("y");break;case 4:if(k.cursor>=k.limit)return;k.cursor++}}(),!0}},function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}),r.Pipeline.registerFunction(r.fr.stemmer,"stemmer-fr"),r.fr.stopWordFilter=function(e){if(-1===r.fr.stopWordFilter.stopWords.indexOf(e))return e},r.fr.stopWordFilter.stopWords=new r.SortedSet,r.fr.stopWordFilter.stopWords.length=164,r.fr.stopWordFilter.stopWords.elements=" ai aie aient aies ait as au aura aurai auraient aurais aurait auras aurez auriez aurions aurons auront aux avaient avais avait avec avez aviez avions avons ayant ayez ayons c ce ceci celà ces cet cette d dans de des du elle en es est et eu eue eues eurent eus eusse eussent eusses eussiez eussions eut eux eûmes eût eûtes furent fus fusse fussent fusses fussiez fussions fut fûmes fût fûtes ici il ils j je l la le les leur leurs lui m ma mais me mes moi mon même n ne nos notre nous on ont ou par pas pour qu que quel quelle quelles quels qui s sa sans se sera serai seraient serais serait seras serez seriez serions serons seront ses soi soient sois soit sommes son sont soyez soyons suis sur t ta te tes toi ton tu un une vos votre vous y à étaient étais était étant étiez étions été étée étées étés êtes".split(" "),r.Pipeline.registerFunction(r.fr.stopWordFilter,"stopWordFilter-fr")}});
\ No newline at end of file diff --git a/static/js/lunr.hu.js b/static/js/lunr.hu.js new file mode 100644 index 0000000..de7dc97 --- /dev/null +++ b/static/js/lunr.hu.js @@ -0,0 +1,561 @@ +/*! + * Lunr languages, `Hungarian` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +/** + * export the module via AMD, CommonJS or as a browser global + * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js + */ +; +(function(root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(factory) + } else if (typeof exports === 'object') { + /** + * Node. Does not work with strict CommonJS, but + * only CommonJS-like environments that support module.exports, + * like Node. + */ + module.exports = factory() + } else { + // Browser globals (root is window) + factory()(root.lunr); + } +}(this, function() { + /** + * Just return a value to define the module export. + * This example returns an object, but the module + * can return a function as the exported value. + */ + return function(lunr) { + /* throw error if lunr is not yet included */ + if ('undefined' === typeof lunr) { + throw new Error('Lunr is not present. Please include / require Lunr before this script.'); + } + + /* throw error if lunr stemmer support is not yet included */ + if ('undefined' === typeof lunr.stemmerSupport) { + throw new Error('Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.'); + } + + /* register specific locale function */ + lunr.hu = function() { + this.pipeline.reset(); + this.pipeline.add( + lunr.hu.trimmer, + lunr.hu.stopWordFilter, + lunr.hu.stemmer + ); + }; + + /* lunr trimmer function */ + lunr.hu.wordCharacters = "A-Za-z\xAA\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u02E0-\u02E4\u1D00-\u1D25\u1D2C-\u1D5C\u1D62-\u1D65\u1D6B-\u1D77\u1D79-\u1DBE\u1E00-\u1EFF\u2071\u207F\u2090-\u209C\u212A\u212B\u2132\u214E\u2160-\u2188\u2C60-\u2C7F\uA722-\uA787\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA7FF\uAB30-\uAB5A\uAB5C-\uAB64\uFB00-\uFB06\uFF21-\uFF3A\uFF41-\uFF5A"; + lunr.hu.trimmer = lunr.trimmerSupport.generateTrimmer(lunr.hu.wordCharacters); + + lunr.Pipeline.registerFunction(lunr.hu.trimmer, 'trimmer-hu'); + + /* lunr stemmer function */ + lunr.hu.stemmer = (function() { + /* create the wrapped stemmer object */ + var Among = lunr.stemmerSupport.Among, + SnowballProgram = lunr.stemmerSupport.SnowballProgram, + st = new function HungarianStemmer() { + var a_0 = [new Among("cs", -1, -1), new Among("dzs", -1, -1), + new Among("gy", -1, -1), new Among("ly", -1, -1), + new Among("ny", -1, -1), new Among("sz", -1, -1), + new Among("ty", -1, -1), new Among("zs", -1, -1) + ], + a_1 = [ + new Among("\u00E1", -1, 1), new Among("\u00E9", -1, 2) + ], + a_2 = [ + new Among("bb", -1, -1), new Among("cc", -1, -1), + new Among("dd", -1, -1), new Among("ff", -1, -1), + new Among("gg", -1, -1), new Among("jj", -1, -1), + new Among("kk", -1, -1), new Among("ll", -1, -1), + new Among("mm", -1, -1), new Among("nn", -1, -1), + new Among("pp", -1, -1), new Among("rr", -1, -1), + new Among("ccs", -1, -1), new Among("ss", -1, -1), + new Among("zzs", -1, -1), new Among("tt", -1, -1), + new Among("vv", -1, -1), new Among("ggy", -1, -1), + new Among("lly", -1, -1), new Among("nny", -1, -1), + new Among("tty", -1, -1), new Among("ssz", -1, -1), + new Among("zz", -1, -1) + ], + a_3 = [new Among("al", -1, 1), + new Among("el", -1, 2) + ], + a_4 = [new Among("ba", -1, -1), + new Among("ra", -1, -1), new Among("be", -1, -1), + new Among("re", -1, -1), new Among("ig", -1, -1), + new Among("nak", -1, -1), new Among("nek", -1, -1), + new Among("val", -1, -1), new Among("vel", -1, -1), + new Among("ul", -1, -1), new Among("n\u00E1l", -1, -1), + new Among("n\u00E9l", -1, -1), new Among("b\u00F3l", -1, -1), + new Among("r\u00F3l", -1, -1), new Among("t\u00F3l", -1, -1), + new Among("b\u00F5l", -1, -1), new Among("r\u00F5l", -1, -1), + new Among("t\u00F5l", -1, -1), new Among("\u00FCl", -1, -1), + new Among("n", -1, -1), new Among("an", 19, -1), + new Among("ban", 20, -1), new Among("en", 19, -1), + new Among("ben", 22, -1), new Among("k\u00E9ppen", 22, -1), + new Among("on", 19, -1), new Among("\u00F6n", 19, -1), + new Among("k\u00E9pp", -1, -1), new Among("kor", -1, -1), + new Among("t", -1, -1), new Among("at", 29, -1), + new Among("et", 29, -1), new Among("k\u00E9nt", 29, -1), + new Among("ank\u00E9nt", 32, -1), new Among("enk\u00E9nt", 32, -1), + new Among("onk\u00E9nt", 32, -1), new Among("ot", 29, -1), + new Among("\u00E9rt", 29, -1), new Among("\u00F6t", 29, -1), + new Among("hez", -1, -1), new Among("hoz", -1, -1), + new Among("h\u00F6z", -1, -1), new Among("v\u00E1", -1, -1), + new Among("v\u00E9", -1, -1) + ], + a_5 = [new Among("\u00E1n", -1, 2), + new Among("\u00E9n", -1, 1), new Among("\u00E1nk\u00E9nt", -1, 3) + ], + a_6 = [ + new Among("stul", -1, 2), new Among("astul", 0, 1), + new Among("\u00E1stul", 0, 3), new Among("st\u00FCl", -1, 2), + new Among("est\u00FCl", 3, 1), new Among("\u00E9st\u00FCl", 3, 4) + ], + a_7 = [ + new Among("\u00E1", -1, 1), new Among("\u00E9", -1, 2) + ], + a_8 = [ + new Among("k", -1, 7), new Among("ak", 0, 4), + new Among("ek", 0, 6), new Among("ok", 0, 5), + new Among("\u00E1k", 0, 1), new Among("\u00E9k", 0, 2), + new Among("\u00F6k", 0, 3) + ], + a_9 = [new Among("\u00E9i", -1, 7), + new Among("\u00E1\u00E9i", 0, 6), new Among("\u00E9\u00E9i", 0, 5), + new Among("\u00E9", -1, 9), new Among("k\u00E9", 3, 4), + new Among("ak\u00E9", 4, 1), new Among("ek\u00E9", 4, 1), + new Among("ok\u00E9", 4, 1), new Among("\u00E1k\u00E9", 4, 3), + new Among("\u00E9k\u00E9", 4, 2), new Among("\u00F6k\u00E9", 4, 1), + new Among("\u00E9\u00E9", 3, 8) + ], + a_10 = [new Among("a", -1, 18), + new Among("ja", 0, 17), new Among("d", -1, 16), + new Among("ad", 2, 13), new Among("ed", 2, 13), + new Among("od", 2, 13), new Among("\u00E1d", 2, 14), + new Among("\u00E9d", 2, 15), new Among("\u00F6d", 2, 13), + new Among("e", -1, 18), new Among("je", 9, 17), + new Among("nk", -1, 4), new Among("unk", 11, 1), + new Among("\u00E1nk", 11, 2), new Among("\u00E9nk", 11, 3), + new Among("\u00FCnk", 11, 1), new Among("uk", -1, 8), + new Among("juk", 16, 7), new Among("\u00E1juk", 17, 5), + new Among("\u00FCk", -1, 8), new Among("j\u00FCk", 19, 7), + new Among("\u00E9j\u00FCk", 20, 6), new Among("m", -1, 12), + new Among("am", 22, 9), new Among("em", 22, 9), + new Among("om", 22, 9), new Among("\u00E1m", 22, 10), + new Among("\u00E9m", 22, 11), new Among("o", -1, 18), + new Among("\u00E1", -1, 19), new Among("\u00E9", -1, 20) + ], + a_11 = [ + new Among("id", -1, 10), new Among("aid", 0, 9), + new Among("jaid", 1, 6), new Among("eid", 0, 9), + new Among("jeid", 3, 6), new Among("\u00E1id", 0, 7), + new Among("\u00E9id", 0, 8), new Among("i", -1, 15), + new Among("ai", 7, 14), new Among("jai", 8, 11), + new Among("ei", 7, 14), new Among("jei", 10, 11), + new Among("\u00E1i", 7, 12), new Among("\u00E9i", 7, 13), + new Among("itek", -1, 24), new Among("eitek", 14, 21), + new Among("jeitek", 15, 20), new Among("\u00E9itek", 14, 23), + new Among("ik", -1, 29), new Among("aik", 18, 26), + new Among("jaik", 19, 25), new Among("eik", 18, 26), + new Among("jeik", 21, 25), new Among("\u00E1ik", 18, 27), + new Among("\u00E9ik", 18, 28), new Among("ink", -1, 20), + new Among("aink", 25, 17), new Among("jaink", 26, 16), + new Among("eink", 25, 17), new Among("jeink", 28, 16), + new Among("\u00E1ink", 25, 18), new Among("\u00E9ink", 25, 19), + new Among("aitok", -1, 21), new Among("jaitok", 32, 20), + new Among("\u00E1itok", -1, 22), new Among("im", -1, 5), + new Among("aim", 35, 4), new Among("jaim", 36, 1), + new Among("eim", 35, 4), new Among("jeim", 38, 1), + new Among("\u00E1im", 35, 2), new Among("\u00E9im", 35, 3) + ], + g_v = [ + 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 52, 14 + ], + I_p1, sbp = new SnowballProgram(); + this.setCurrent = function(word) { + sbp.setCurrent(word); + }; + this.getCurrent = function() { + return sbp.getCurrent(); + }; + + function r_mark_regions() { + var v_1 = sbp.cursor, + v_2; + I_p1 = sbp.limit; + if (sbp.in_grouping(g_v, 97, 252)) { + while (true) { + v_2 = sbp.cursor; + if (sbp.out_grouping(g_v, 97, 252)) { + sbp.cursor = v_2; + if (!sbp.find_among(a_0, 8)) { + sbp.cursor = v_2; + if (v_2 < sbp.limit) + sbp.cursor++; + } + I_p1 = sbp.cursor; + return; + } + sbp.cursor = v_2; + if (v_2 >= sbp.limit) { + I_p1 = v_2; + return; + } + sbp.cursor++; + } + } + sbp.cursor = v_1; + if (sbp.out_grouping(g_v, 97, 252)) { + while (!sbp.in_grouping(g_v, 97, 252)) { + if (sbp.cursor >= sbp.limit) + return; + sbp.cursor++; + } + I_p1 = sbp.cursor; + } + } + + function r_R1() { + return I_p1 <= sbp.cursor; + } + + function r_v_ending() { + var among_var; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_1, 2); + if (among_var) { + sbp.bra = sbp.cursor; + if (r_R1()) { + switch (among_var) { + case 1: + sbp.slice_from("a"); + break; + case 2: + sbp.slice_from("e"); + break; + } + } + } + } + + function r_double() { + var v_1 = sbp.limit - sbp.cursor; + if (!sbp.find_among_b(a_2, 23)) + return false; + sbp.cursor = sbp.limit - v_1; + return true; + } + + function r_undouble() { + if (sbp.cursor > sbp.limit_backward) { + sbp.cursor--; + sbp.ket = sbp.cursor; + var c = sbp.cursor - 1; + if (sbp.limit_backward <= c && c <= sbp.limit) { + sbp.cursor = c; + sbp.bra = c; + sbp.slice_del(); + } + } + } + + function r_instrum() { + var among_var; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_3, 2); + if (among_var) { + sbp.bra = sbp.cursor; + if (r_R1()) { + if (among_var == 1 || among_var == 2) + if (!r_double()) + return; + sbp.slice_del(); + r_undouble(); + } + } + } + + function r_case() { + sbp.ket = sbp.cursor; + if (sbp.find_among_b(a_4, 44)) { + sbp.bra = sbp.cursor; + if (r_R1()) { + sbp.slice_del(); + r_v_ending(); + } + } + } + + function r_case_special() { + var among_var; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_5, 3); + if (among_var) { + sbp.bra = sbp.cursor; + if (r_R1()) { + switch (among_var) { + case 1: + sbp.slice_from("e"); + break; + case 2: + case 3: + sbp.slice_from("a"); + break; + } + } + } + } + + function r_case_other() { + var among_var; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_6, 6); + if (among_var) { + sbp.bra = sbp.cursor; + if (r_R1()) { + switch (among_var) { + case 1: + case 2: + sbp.slice_del(); + break; + case 3: + sbp.slice_from("a"); + break; + case 4: + sbp.slice_from("e"); + break; + } + } + } + } + + function r_factive() { + var among_var; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_7, 2); + if (among_var) { + sbp.bra = sbp.cursor; + if (r_R1()) { + if (among_var == 1 || among_var == 2) + if (!r_double()) + return; + sbp.slice_del(); + r_undouble() + } + } + } + + function r_plural() { + var among_var; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_8, 7); + if (among_var) { + sbp.bra = sbp.cursor; + if (r_R1()) { + switch (among_var) { + case 1: + sbp.slice_from("a"); + break; + case 2: + sbp.slice_from("e"); + break; + case 3: + case 4: + case 5: + case 6: + case 7: + sbp.slice_del(); + break; + } + } + } + } + + function r_owned() { + var among_var; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_9, 12); + if (among_var) { + sbp.bra = sbp.cursor; + if (r_R1()) { + switch (among_var) { + case 1: + case 4: + case 7: + case 9: + sbp.slice_del(); + break; + case 2: + case 5: + case 8: + sbp.slice_from("e"); + break; + case 3: + case 6: + sbp.slice_from("a"); + break; + } + } + } + } + + function r_sing_owner() { + var among_var; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_10, 31); + if (among_var) { + sbp.bra = sbp.cursor; + if (r_R1()) { + switch (among_var) { + case 1: + case 4: + case 7: + case 8: + case 9: + case 12: + case 13: + case 16: + case 17: + case 18: + sbp.slice_del(); + break; + case 2: + case 5: + case 10: + case 14: + case 19: + sbp.slice_from("a"); + break; + case 3: + case 6: + case 11: + case 15: + case 20: + sbp.slice_from("e"); + break; + } + } + } + } + + function r_plur_owner() { + var among_var; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_11, 42); + if (among_var) { + sbp.bra = sbp.cursor; + if (r_R1()) { + switch (among_var) { + case 1: + case 4: + case 5: + case 6: + case 9: + case 10: + case 11: + case 14: + case 15: + case 16: + case 17: + case 20: + case 21: + case 24: + case 25: + case 26: + case 29: + sbp.slice_del(); + break; + case 2: + case 7: + case 12: + case 18: + case 22: + case 27: + sbp.slice_from("a"); + break; + case 3: + case 8: + case 13: + case 19: + case 23: + case 28: + sbp.slice_from("e"); + break; + } + } + } + } + this.stem = function() { + var v_1 = sbp.cursor; + r_mark_regions(); + sbp.limit_backward = v_1; + sbp.cursor = sbp.limit; + r_instrum(); + sbp.cursor = sbp.limit; + r_case(); + sbp.cursor = sbp.limit; + r_case_special(); + sbp.cursor = sbp.limit; + r_case_other(); + sbp.cursor = sbp.limit; + r_factive(); + sbp.cursor = sbp.limit; + r_owned(); + sbp.cursor = sbp.limit; + r_sing_owner(); + sbp.cursor = sbp.limit; + r_plur_owner(); + sbp.cursor = sbp.limit; + r_plural(); + return true; + } + }; + + /* and return a function that stems a word for the current locale */ + return function(word) { + st.setCurrent(word); + st.stem(); + return st.getCurrent(); + } + })(); + + lunr.Pipeline.registerFunction(lunr.hu.stemmer, 'stemmer-hu'); + + /* stop word filter function */ + lunr.hu.stopWordFilter = function(token) { + if (lunr.hu.stopWordFilter.stopWords.indexOf(token) === -1) { + return token; + } + }; + + lunr.hu.stopWordFilter.stopWords = new lunr.SortedSet(); + lunr.hu.stopWordFilter.stopWords.length = 200; + + // The space at the beginning is crucial: It marks the empty string + // as a stop word. lunr.js crashes during search when documents + // processed by the pipeline still contain the empty string. + lunr.hu.stopWordFilter.stopWords.elements = ' a abban ahhoz ahogy ahol aki akik akkor alatt amely amelyek amelyekben amelyeket amelyet amelynek ami amikor amit amolyan amíg annak arra arról az azok azon azonban azt aztán azután azzal azért be belül benne bár cikk cikkek cikkeket csak de e ebben eddig egy egyes egyetlen egyik egyre egyéb egész ehhez ekkor el ellen elsõ elég elõ elõször elõtt emilyen ennek erre ez ezek ezen ezt ezzel ezért fel felé hanem hiszen hogy hogyan igen ill ill. illetve ilyen ilyenkor ismét ison itt jobban jó jól kell kellett keressünk keresztül ki kívül között közül legalább legyen lehet lehetett lenne lenni lesz lett maga magát majd majd meg mellett mely melyek mert mi mikor milyen minden mindenki mindent mindig mint mintha mit mivel miért most már más másik még míg nagy nagyobb nagyon ne nekem neki nem nincs néha néhány nélkül olyan ott pedig persze rá s saját sem semmi sok sokat sokkal szemben szerint szinte számára talán tehát teljes tovább továbbá több ugyanis utolsó után utána vagy vagyis vagyok valaki valami valamint való van vannak vele vissza viszont volna volt voltak voltam voltunk által általában át én éppen és így õ õk õket össze úgy új újabb újra'.split(' '); + + lunr.Pipeline.registerFunction(lunr.hu.stopWordFilter, 'stopWordFilter-hu'); + }; +}))
\ No newline at end of file diff --git a/static/js/lunr.hu.min.js b/static/js/lunr.hu.min.js new file mode 100644 index 0000000..2c556e5 --- /dev/null +++ b/static/js/lunr.hu.min.js @@ -0,0 +1 @@ +!function(e,n){"function"==typeof define&&define.amd?define(n):"object"==typeof exports?module.exports=n():n()(e.lunr)}(this,function(){return function(n){if(void 0===n)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===n.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var e,_,r;n.hu=function(){this.pipeline.reset(),this.pipeline.add(n.hu.trimmer,n.hu.stopWordFilter,n.hu.stemmer)},n.hu.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",n.hu.trimmer=n.trimmerSupport.generateTrimmer(n.hu.wordCharacters),n.Pipeline.registerFunction(n.hu.trimmer,"trimmer-hu"),n.hu.stemmer=(e=n.stemmerSupport.Among,_=n.stemmerSupport.SnowballProgram,r=new function(){var r,i=[new e("cs",-1,-1),new e("dzs",-1,-1),new e("gy",-1,-1),new e("ly",-1,-1),new e("ny",-1,-1),new e("sz",-1,-1),new e("ty",-1,-1),new e("zs",-1,-1)],n=[new e("á",-1,1),new e("é",-1,2)],s=[new e("bb",-1,-1),new e("cc",-1,-1),new e("dd",-1,-1),new e("ff",-1,-1),new e("gg",-1,-1),new e("jj",-1,-1),new e("kk",-1,-1),new e("ll",-1,-1),new e("mm",-1,-1),new e("nn",-1,-1),new e("pp",-1,-1),new e("rr",-1,-1),new e("ccs",-1,-1),new e("ss",-1,-1),new e("zzs",-1,-1),new e("tt",-1,-1),new e("vv",-1,-1),new e("ggy",-1,-1),new e("lly",-1,-1),new e("nny",-1,-1),new e("tty",-1,-1),new e("ssz",-1,-1),new e("zz",-1,-1)],a=[new e("al",-1,1),new e("el",-1,2)],t=[new e("ba",-1,-1),new e("ra",-1,-1),new e("be",-1,-1),new e("re",-1,-1),new e("ig",-1,-1),new e("nak",-1,-1),new e("nek",-1,-1),new e("val",-1,-1),new e("vel",-1,-1),new e("ul",-1,-1),new e("nál",-1,-1),new e("nél",-1,-1),new e("ból",-1,-1),new e("ról",-1,-1),new e("tól",-1,-1),new e("bõl",-1,-1),new e("rõl",-1,-1),new e("tõl",-1,-1),new e("ül",-1,-1),new e("n",-1,-1),new e("an",19,-1),new e("ban",20,-1),new e("en",19,-1),new e("ben",22,-1),new e("képpen",22,-1),new e("on",19,-1),new e("ön",19,-1),new e("képp",-1,-1),new e("kor",-1,-1),new e("t",-1,-1),new e("at",29,-1),new e("et",29,-1),new e("ként",29,-1),new e("anként",32,-1),new e("enként",32,-1),new e("onként",32,-1),new e("ot",29,-1),new e("ért",29,-1),new e("öt",29,-1),new e("hez",-1,-1),new e("hoz",-1,-1),new e("höz",-1,-1),new e("vá",-1,-1),new e("vé",-1,-1)],o=[new e("án",-1,2),new e("én",-1,1),new e("ánként",-1,3)],w=[new e("stul",-1,2),new e("astul",0,1),new e("ástul",0,3),new e("stül",-1,2),new e("estül",3,1),new e("éstül",3,4)],c=[new e("á",-1,1),new e("é",-1,2)],l=[new e("k",-1,7),new e("ak",0,4),new e("ek",0,6),new e("ok",0,5),new e("ák",0,1),new e("ék",0,2),new e("ök",0,3)],m=[new e("éi",-1,7),new e("áéi",0,6),new e("ééi",0,5),new e("é",-1,9),new e("ké",3,4),new e("aké",4,1),new e("eké",4,1),new e("oké",4,1),new e("áké",4,3),new e("éké",4,2),new e("öké",4,1),new e("éé",3,8)],u=[new e("a",-1,18),new e("ja",0,17),new e("d",-1,16),new e("ad",2,13),new e("ed",2,13),new e("od",2,13),new e("ád",2,14),new e("éd",2,15),new e("öd",2,13),new e("e",-1,18),new e("je",9,17),new e("nk",-1,4),new e("unk",11,1),new e("ánk",11,2),new e("énk",11,3),new e("ünk",11,1),new e("uk",-1,8),new e("juk",16,7),new e("ájuk",17,5),new e("ük",-1,8),new e("jük",19,7),new e("éjük",20,6),new e("m",-1,12),new e("am",22,9),new e("em",22,9),new e("om",22,9),new e("ám",22,10),new e("ém",22,11),new e("o",-1,18),new e("á",-1,19),new e("é",-1,20)],k=[new e("id",-1,10),new e("aid",0,9),new e("jaid",1,6),new e("eid",0,9),new e("jeid",3,6),new e("áid",0,7),new e("éid",0,8),new e("i",-1,15),new e("ai",7,14),new e("jai",8,11),new e("ei",7,14),new e("jei",10,11),new e("ái",7,12),new e("éi",7,13),new e("itek",-1,24),new e("eitek",14,21),new e("jeitek",15,20),new e("éitek",14,23),new e("ik",-1,29),new e("aik",18,26),new e("jaik",19,25),new e("eik",18,26),new e("jeik",21,25),new e("áik",18,27),new e("éik",18,28),new e("ink",-1,20),new e("aink",25,17),new e("jaink",26,16),new e("eink",25,17),new e("jeink",28,16),new e("áink",25,18),new e("éink",25,19),new e("aitok",-1,21),new e("jaitok",32,20),new e("áitok",-1,22),new e("im",-1,5),new e("aim",35,4),new e("jaim",36,1),new e("eim",35,4),new e("jeim",38,1),new e("áim",35,2),new e("éim",35,3)],d=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,1,17,52,14],b=new _;function f(){return r<=b.cursor}function g(){var e=b.limit-b.cursor;return b.find_among_b(s,23)&&(b.cursor=b.limit-e,1)}function h(){var e;b.cursor>b.limit_backward&&(b.cursor--,b.ket=b.cursor,e=b.cursor-1,b.limit_backward<=e)&&e<=b.limit&&(b.cursor=e,b.bra=e,b.slice_del())}function p(){var e;if((b.ket=b.cursor,b.find_among_b(t,44))&&(b.bra=b.cursor,f()&&(b.slice_del(),b.ket=b.cursor,e=b.find_among_b(n,2))&&(b.bra=b.cursor,f())))switch(e){case 1:b.slice_from("a");break;case 2:b.slice_from("e")}}this.setCurrent=function(e){b.setCurrent(e)},this.getCurrent=function(){return b.getCurrent()},this.stem=function(){var e=b.cursor;if(!function(){var e,n=b.cursor;if(r=b.limit,b.in_grouping(d,97,252))for(;;){if(e=b.cursor,b.out_grouping(d,97,252))return b.cursor=e,b.find_among(i,8)||(b.cursor=e)<b.limit&&b.cursor++,r=b.cursor;if((b.cursor=e)>=b.limit)return r=e;b.cursor++}if(b.cursor=n,b.out_grouping(d,97,252)){for(;!b.in_grouping(d,97,252);){if(b.cursor>=b.limit)return;b.cursor++}r=b.cursor}}(),b.limit_backward=e,b.cursor=b.limit,b.ket=b.cursor,(e=b.find_among_b(a,2))&&(b.bra=b.cursor,f())&&(1!=e&&2!=e||g())&&(b.slice_del(),h()),b.cursor=b.limit,p(),b.cursor=b.limit,b.ket=b.cursor,(e=b.find_among_b(o,3))&&(b.bra=b.cursor,f()))switch(e){case 1:b.slice_from("e");break;case 2:case 3:b.slice_from("a")}if(b.cursor=b.limit,b.ket=b.cursor,(e=b.find_among_b(w,6))&&(b.bra=b.cursor,f()))switch(e){case 1:case 2:b.slice_del();break;case 3:b.slice_from("a");break;case 4:b.slice_from("e")}if(b.cursor=b.limit,b.ket=b.cursor,(e=b.find_among_b(c,2))&&(b.bra=b.cursor,f())&&(1!=e&&2!=e||g())&&(b.slice_del(),h()),b.cursor=b.limit,b.ket=b.cursor,(e=b.find_among_b(m,12))&&(b.bra=b.cursor,f()))switch(e){case 1:case 4:case 7:case 9:b.slice_del();break;case 2:case 5:case 8:b.slice_from("e");break;case 3:case 6:b.slice_from("a")}if(b.cursor=b.limit,b.ket=b.cursor,(e=b.find_among_b(u,31))&&(b.bra=b.cursor,f()))switch(e){case 1:case 4:case 7:case 8:case 9:case 12:case 13:case 16:case 17:case 18:b.slice_del();break;case 2:case 5:case 10:case 14:case 19:b.slice_from("a");break;case 3:case 6:case 11:case 15:case 20:b.slice_from("e")}if(b.cursor=b.limit,b.ket=b.cursor,(e=b.find_among_b(k,42))&&(b.bra=b.cursor,f()))switch(e){case 1:case 4:case 5:case 6:case 9:case 10:case 11:case 14:case 15:case 16:case 17:case 20:case 21:case 24:case 25:case 26:case 29:b.slice_del();break;case 2:case 7:case 12:case 18:case 22:case 27:b.slice_from("a");break;case 3:case 8:case 13:case 19:case 23:case 28:b.slice_from("e")}if(b.cursor=b.limit,b.ket=b.cursor,(e=b.find_among_b(l,7))&&(b.bra=b.cursor,f()))switch(e){case 1:b.slice_from("a");break;case 2:b.slice_from("e");break;case 3:case 4:case 5:case 6:case 7:b.slice_del()}return!0}},function(e){return r.setCurrent(e),r.stem(),r.getCurrent()}),n.Pipeline.registerFunction(n.hu.stemmer,"stemmer-hu"),n.hu.stopWordFilter=function(e){if(-1===n.hu.stopWordFilter.stopWords.indexOf(e))return e},n.hu.stopWordFilter.stopWords=new n.SortedSet,n.hu.stopWordFilter.stopWords.length=200,n.hu.stopWordFilter.stopWords.elements=" a abban ahhoz ahogy ahol aki akik akkor alatt amely amelyek amelyekben amelyeket amelyet amelynek ami amikor amit amolyan amíg annak arra arról az azok azon azonban azt aztán azután azzal azért be belül benne bár cikk cikkek cikkeket csak de e ebben eddig egy egyes egyetlen egyik egyre egyéb egész ehhez ekkor el ellen elsõ elég elõ elõször elõtt emilyen ennek erre ez ezek ezen ezt ezzel ezért fel felé hanem hiszen hogy hogyan igen ill ill. illetve ilyen ilyenkor ismét ison itt jobban jó jól kell kellett keressünk keresztül ki kívül között közül legalább legyen lehet lehetett lenne lenni lesz lett maga magát majd majd meg mellett mely melyek mert mi mikor milyen minden mindenki mindent mindig mint mintha mit mivel miért most már más másik még míg nagy nagyobb nagyon ne nekem neki nem nincs néha néhány nélkül olyan ott pedig persze rá s saját sem semmi sok sokat sokkal szemben szerint szinte számára talán tehát teljes tovább továbbá több ugyanis utolsó után utána vagy vagyis vagyok valaki valami valamint való van vannak vele vissza viszont volna volt voltak voltam voltunk által általában át én éppen és így õ õk õket össze úgy új újabb újra".split(" "),n.Pipeline.registerFunction(n.hu.stopWordFilter,"stopWordFilter-hu")}});
\ No newline at end of file diff --git a/static/js/lunr.it.js b/static/js/lunr.it.js new file mode 100644 index 0000000..91fc8bd --- /dev/null +++ b/static/js/lunr.it.js @@ -0,0 +1,612 @@ +/*! + * Lunr languages, `Italian` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +/** + * export the module via AMD, CommonJS or as a browser global + * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js + */ +; +(function(root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(factory) + } else if (typeof exports === 'object') { + /** + * Node. Does not work with strict CommonJS, but + * only CommonJS-like environments that support module.exports, + * like Node. + */ + module.exports = factory() + } else { + // Browser globals (root is window) + factory()(root.lunr); + } +}(this, function() { + /** + * Just return a value to define the module export. + * This example returns an object, but the module + * can return a function as the exported value. + */ + return function(lunr) { + /* throw error if lunr is not yet included */ + if ('undefined' === typeof lunr) { + throw new Error('Lunr is not present. Please include / require Lunr before this script.'); + } + + /* throw error if lunr stemmer support is not yet included */ + if ('undefined' === typeof lunr.stemmerSupport) { + throw new Error('Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.'); + } + + /* register specific locale function */ + lunr.it = function() { + this.pipeline.reset(); + this.pipeline.add( + lunr.it.trimmer, + lunr.it.stopWordFilter, + lunr.it.stemmer + ); + }; + + /* lunr trimmer function */ + lunr.it.wordCharacters = "A-Za-z\xAA\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u02E0-\u02E4\u1D00-\u1D25\u1D2C-\u1D5C\u1D62-\u1D65\u1D6B-\u1D77\u1D79-\u1DBE\u1E00-\u1EFF\u2071\u207F\u2090-\u209C\u212A\u212B\u2132\u214E\u2160-\u2188\u2C60-\u2C7F\uA722-\uA787\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA7FF\uAB30-\uAB5A\uAB5C-\uAB64\uFB00-\uFB06\uFF21-\uFF3A\uFF41-\uFF5A"; + lunr.it.trimmer = lunr.trimmerSupport.generateTrimmer(lunr.it.wordCharacters); + + lunr.Pipeline.registerFunction(lunr.it.trimmer, 'trimmer-it'); + + /* lunr stemmer function */ + lunr.it.stemmer = (function() { + /* create the wrapped stemmer object */ + var Among = lunr.stemmerSupport.Among, + SnowballProgram = lunr.stemmerSupport.SnowballProgram, + st = new function ItalianStemmer() { + var a_0 = [new Among("", -1, 7), new Among("qu", 0, 6), + new Among("\u00E1", 0, 1), new Among("\u00E9", 0, 2), + new Among("\u00ED", 0, 3), new Among("\u00F3", 0, 4), + new Among("\u00FA", 0, 5) + ], + a_1 = [new Among("", -1, 3), + new Among("I", 0, 1), new Among("U", 0, 2) + ], + a_2 = [ + new Among("la", -1, -1), new Among("cela", 0, -1), + new Among("gliela", 0, -1), new Among("mela", 0, -1), + new Among("tela", 0, -1), new Among("vela", 0, -1), + new Among("le", -1, -1), new Among("cele", 6, -1), + new Among("gliele", 6, -1), new Among("mele", 6, -1), + new Among("tele", 6, -1), new Among("vele", 6, -1), + new Among("ne", -1, -1), new Among("cene", 12, -1), + new Among("gliene", 12, -1), new Among("mene", 12, -1), + new Among("sene", 12, -1), new Among("tene", 12, -1), + new Among("vene", 12, -1), new Among("ci", -1, -1), + new Among("li", -1, -1), new Among("celi", 20, -1), + new Among("glieli", 20, -1), new Among("meli", 20, -1), + new Among("teli", 20, -1), new Among("veli", 20, -1), + new Among("gli", 20, -1), new Among("mi", -1, -1), + new Among("si", -1, -1), new Among("ti", -1, -1), + new Among("vi", -1, -1), new Among("lo", -1, -1), + new Among("celo", 31, -1), new Among("glielo", 31, -1), + new Among("melo", 31, -1), new Among("telo", 31, -1), + new Among("velo", 31, -1) + ], + a_3 = [new Among("ando", -1, 1), + new Among("endo", -1, 1), new Among("ar", -1, 2), + new Among("er", -1, 2), new Among("ir", -1, 2) + ], + a_4 = [ + new Among("ic", -1, -1), new Among("abil", -1, -1), + new Among("os", -1, -1), new Among("iv", -1, 1) + ], + a_5 = [ + new Among("ic", -1, 1), new Among("abil", -1, 1), + new Among("iv", -1, 1) + ], + a_6 = [new Among("ica", -1, 1), + new Among("logia", -1, 3), new Among("osa", -1, 1), + new Among("ista", -1, 1), new Among("iva", -1, 9), + new Among("anza", -1, 1), new Among("enza", -1, 5), + new Among("ice", -1, 1), new Among("atrice", 7, 1), + new Among("iche", -1, 1), new Among("logie", -1, 3), + new Among("abile", -1, 1), new Among("ibile", -1, 1), + new Among("usione", -1, 4), new Among("azione", -1, 2), + new Among("uzione", -1, 4), new Among("atore", -1, 2), + new Among("ose", -1, 1), new Among("ante", -1, 1), + new Among("mente", -1, 1), new Among("amente", 19, 7), + new Among("iste", -1, 1), new Among("ive", -1, 9), + new Among("anze", -1, 1), new Among("enze", -1, 5), + new Among("ici", -1, 1), new Among("atrici", 25, 1), + new Among("ichi", -1, 1), new Among("abili", -1, 1), + new Among("ibili", -1, 1), new Among("ismi", -1, 1), + new Among("usioni", -1, 4), new Among("azioni", -1, 2), + new Among("uzioni", -1, 4), new Among("atori", -1, 2), + new Among("osi", -1, 1), new Among("anti", -1, 1), + new Among("amenti", -1, 6), new Among("imenti", -1, 6), + new Among("isti", -1, 1), new Among("ivi", -1, 9), + new Among("ico", -1, 1), new Among("ismo", -1, 1), + new Among("oso", -1, 1), new Among("amento", -1, 6), + new Among("imento", -1, 6), new Among("ivo", -1, 9), + new Among("it\u00E0", -1, 8), new Among("ist\u00E0", -1, 1), + new Among("ist\u00E8", -1, 1), new Among("ist\u00EC", -1, 1) + ], + a_7 = [ + new Among("isca", -1, 1), new Among("enda", -1, 1), + new Among("ata", -1, 1), new Among("ita", -1, 1), + new Among("uta", -1, 1), new Among("ava", -1, 1), + new Among("eva", -1, 1), new Among("iva", -1, 1), + new Among("erebbe", -1, 1), new Among("irebbe", -1, 1), + new Among("isce", -1, 1), new Among("ende", -1, 1), + new Among("are", -1, 1), new Among("ere", -1, 1), + new Among("ire", -1, 1), new Among("asse", -1, 1), + new Among("ate", -1, 1), new Among("avate", 16, 1), + new Among("evate", 16, 1), new Among("ivate", 16, 1), + new Among("ete", -1, 1), new Among("erete", 20, 1), + new Among("irete", 20, 1), new Among("ite", -1, 1), + new Among("ereste", -1, 1), new Among("ireste", -1, 1), + new Among("ute", -1, 1), new Among("erai", -1, 1), + new Among("irai", -1, 1), new Among("isci", -1, 1), + new Among("endi", -1, 1), new Among("erei", -1, 1), + new Among("irei", -1, 1), new Among("assi", -1, 1), + new Among("ati", -1, 1), new Among("iti", -1, 1), + new Among("eresti", -1, 1), new Among("iresti", -1, 1), + new Among("uti", -1, 1), new Among("avi", -1, 1), + new Among("evi", -1, 1), new Among("ivi", -1, 1), + new Among("isco", -1, 1), new Among("ando", -1, 1), + new Among("endo", -1, 1), new Among("Yamo", -1, 1), + new Among("iamo", -1, 1), new Among("avamo", -1, 1), + new Among("evamo", -1, 1), new Among("ivamo", -1, 1), + new Among("eremo", -1, 1), new Among("iremo", -1, 1), + new Among("assimo", -1, 1), new Among("ammo", -1, 1), + new Among("emmo", -1, 1), new Among("eremmo", 54, 1), + new Among("iremmo", 54, 1), new Among("immo", -1, 1), + new Among("ano", -1, 1), new Among("iscano", 58, 1), + new Among("avano", 58, 1), new Among("evano", 58, 1), + new Among("ivano", 58, 1), new Among("eranno", -1, 1), + new Among("iranno", -1, 1), new Among("ono", -1, 1), + new Among("iscono", 65, 1), new Among("arono", 65, 1), + new Among("erono", 65, 1), new Among("irono", 65, 1), + new Among("erebbero", -1, 1), new Among("irebbero", -1, 1), + new Among("assero", -1, 1), new Among("essero", -1, 1), + new Among("issero", -1, 1), new Among("ato", -1, 1), + new Among("ito", -1, 1), new Among("uto", -1, 1), + new Among("avo", -1, 1), new Among("evo", -1, 1), + new Among("ivo", -1, 1), new Among("ar", -1, 1), + new Among("ir", -1, 1), new Among("er\u00E0", -1, 1), + new Among("ir\u00E0", -1, 1), new Among("er\u00F2", -1, 1), + new Among("ir\u00F2", -1, 1) + ], + g_v = [17, 65, 16, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 128, 128, 8, 2, 1 + ], + g_AEIO = [17, 65, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 8, 2 + ], + g_CG = [17], + I_p2, I_p1, I_pV, sbp = new SnowballProgram(); + this.setCurrent = function(word) { + sbp.setCurrent(word); + }; + this.getCurrent = function() { + return sbp.getCurrent(); + }; + + function habr1(c1, c2, v_1) { + if (sbp.eq_s(1, c1)) { + sbp.ket = sbp.cursor; + if (sbp.in_grouping(g_v, 97, 249)) { + sbp.slice_from(c2); + sbp.cursor = v_1; + return true; + } + } + return false; + } + + function r_prelude() { + var among_var, v_1 = sbp.cursor, + v_2, v_3, v_4; + while (true) { + sbp.bra = sbp.cursor; + among_var = sbp.find_among(a_0, 7); + if (among_var) { + sbp.ket = sbp.cursor; + switch (among_var) { + case 1: + sbp.slice_from("\u00E0"); + continue; + case 2: + sbp.slice_from("\u00E8"); + continue; + case 3: + sbp.slice_from("\u00EC"); + continue; + case 4: + sbp.slice_from("\u00F2"); + continue; + case 5: + sbp.slice_from("\u00F9"); + continue; + case 6: + sbp.slice_from("qU"); + continue; + case 7: + if (sbp.cursor >= sbp.limit) + break; + sbp.cursor++; + continue; + } + } + break; + } + sbp.cursor = v_1; + while (true) { + v_2 = sbp.cursor; + while (true) { + v_3 = sbp.cursor; + if (sbp.in_grouping(g_v, 97, 249)) { + sbp.bra = sbp.cursor; + v_4 = sbp.cursor; + if (habr1("u", "U", v_3)) + break; + sbp.cursor = v_4; + if (habr1("i", "I", v_3)) + break; + } + sbp.cursor = v_3; + if (sbp.cursor >= sbp.limit) { + sbp.cursor = v_2; + return; + } + sbp.cursor++; + } + } + } + + function habr2(v_1) { + sbp.cursor = v_1; + if (!sbp.in_grouping(g_v, 97, 249)) + return false; + while (!sbp.out_grouping(g_v, 97, 249)) { + if (sbp.cursor >= sbp.limit) + return false; + sbp.cursor++; + } + return true; + } + + function habr3() { + if (sbp.in_grouping(g_v, 97, 249)) { + var v_1 = sbp.cursor; + if (sbp.out_grouping(g_v, 97, 249)) { + while (!sbp.in_grouping(g_v, 97, 249)) { + if (sbp.cursor >= sbp.limit) + return habr2(v_1); + sbp.cursor++; + } + return true; + } + return habr2(v_1); + } + return false; + } + + function habr4() { + var v_1 = sbp.cursor, + v_2; + if (!habr3()) { + sbp.cursor = v_1; + if (!sbp.out_grouping(g_v, 97, 249)) + return; + v_2 = sbp.cursor; + if (sbp.out_grouping(g_v, 97, 249)) { + while (!sbp.in_grouping(g_v, 97, 249)) { + if (sbp.cursor >= sbp.limit) { + sbp.cursor = v_2; + if (sbp.in_grouping(g_v, 97, 249) && sbp.cursor < sbp.limit) + sbp.cursor++; + return; + } + sbp.cursor++; + } + I_pV = sbp.cursor; + return; + } + sbp.cursor = v_2; + if (!sbp.in_grouping(g_v, 97, 249) || sbp.cursor >= sbp.limit) + return; + sbp.cursor++; + } + I_pV = sbp.cursor; + } + + function habr5() { + while (!sbp.in_grouping(g_v, 97, 249)) { + if (sbp.cursor >= sbp.limit) + return false; + sbp.cursor++; + } + while (!sbp.out_grouping(g_v, 97, 249)) { + if (sbp.cursor >= sbp.limit) + return false; + sbp.cursor++; + } + return true; + } + + function r_mark_regions() { + var v_1 = sbp.cursor; + I_pV = sbp.limit; + I_p1 = I_pV; + I_p2 = I_pV; + habr4(); + sbp.cursor = v_1; + if (habr5()) { + I_p1 = sbp.cursor; + if (habr5()) + I_p2 = sbp.cursor; + } + } + + function r_postlude() { + var among_var; + while (true) { + sbp.bra = sbp.cursor; + among_var = sbp.find_among(a_1, 3); + if (!among_var) + break; + sbp.ket = sbp.cursor; + switch (among_var) { + case 1: + sbp.slice_from("i"); + break; + case 2: + sbp.slice_from("u"); + break; + case 3: + if (sbp.cursor >= sbp.limit) + return; + sbp.cursor++; + break; + } + } + } + + function r_RV() { + return I_pV <= sbp.cursor; + } + + function r_R1() { + return I_p1 <= sbp.cursor; + } + + function r_R2() { + return I_p2 <= sbp.cursor; + } + + function r_attached_pronoun() { + var among_var; + sbp.ket = sbp.cursor; + if (sbp.find_among_b(a_2, 37)) { + sbp.bra = sbp.cursor; + among_var = sbp.find_among_b(a_3, 5); + if (among_var && r_RV()) { + switch (among_var) { + case 1: + sbp.slice_del(); + break; + case 2: + sbp.slice_from("e"); + break; + } + } + } + } + + function r_standard_suffix() { + var among_var; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_6, 51); + if (!among_var) + return false; + sbp.bra = sbp.cursor; + switch (among_var) { + case 1: + if (!r_R2()) + return false; + sbp.slice_del(); + break; + case 2: + if (!r_R2()) + return false; + sbp.slice_del(); + sbp.ket = sbp.cursor; + if (sbp.eq_s_b(2, "ic")) { + sbp.bra = sbp.cursor; + if (r_R2()) + sbp.slice_del(); + } + break; + case 3: + if (!r_R2()) + return false; + sbp.slice_from("log"); + break; + case 4: + if (!r_R2()) + return false; + sbp.slice_from("u"); + break; + case 5: + if (!r_R2()) + return false; + sbp.slice_from("ente"); + break; + case 6: + if (!r_RV()) + return false; + sbp.slice_del(); + break; + case 7: + if (!r_R1()) + return false; + sbp.slice_del(); + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_4, 4); + if (among_var) { + sbp.bra = sbp.cursor; + if (r_R2()) { + sbp.slice_del(); + if (among_var == 1) { + sbp.ket = sbp.cursor; + if (sbp.eq_s_b(2, "at")) { + sbp.bra = sbp.cursor; + if (r_R2()) + sbp.slice_del(); + } + } + } + } + break; + case 8: + if (!r_R2()) + return false; + sbp.slice_del(); + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_5, 3); + if (among_var) { + sbp.bra = sbp.cursor; + if (among_var == 1) + if (r_R2()) + sbp.slice_del(); + } + break; + case 9: + if (!r_R2()) + return false; + sbp.slice_del(); + sbp.ket = sbp.cursor; + if (sbp.eq_s_b(2, "at")) { + sbp.bra = sbp.cursor; + if (r_R2()) { + sbp.slice_del(); + sbp.ket = sbp.cursor; + if (sbp.eq_s_b(2, "ic")) { + sbp.bra = sbp.cursor; + if (r_R2()) + sbp.slice_del(); + } + } + } + break; + } + return true; + } + + function r_verb_suffix() { + var among_var, v_1; + if (sbp.cursor >= I_pV) { + v_1 = sbp.limit_backward; + sbp.limit_backward = I_pV; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_7, 87); + if (among_var) { + sbp.bra = sbp.cursor; + if (among_var == 1) + sbp.slice_del(); + } + sbp.limit_backward = v_1; + } + } + + function habr6() { + var v_1 = sbp.limit - sbp.cursor; + sbp.ket = sbp.cursor; + if (sbp.in_grouping_b(g_AEIO, 97, 242)) { + sbp.bra = sbp.cursor; + if (r_RV()) { + sbp.slice_del(); + sbp.ket = sbp.cursor; + if (sbp.eq_s_b(1, "i")) { + sbp.bra = sbp.cursor; + if (r_RV()) { + sbp.slice_del(); + return; + } + } + } + } + sbp.cursor = sbp.limit - v_1; + } + + function r_vowel_suffix() { + habr6(); + sbp.ket = sbp.cursor; + if (sbp.eq_s_b(1, "h")) { + sbp.bra = sbp.cursor; + if (sbp.in_grouping_b(g_CG, 99, 103)) + if (r_RV()) + sbp.slice_del(); + } + } + this.stem = function() { + var v_1 = sbp.cursor; + r_prelude(); + sbp.cursor = v_1; + r_mark_regions(); + sbp.limit_backward = v_1; + sbp.cursor = sbp.limit; + r_attached_pronoun(); + sbp.cursor = sbp.limit; + if (!r_standard_suffix()) { + sbp.cursor = sbp.limit; + r_verb_suffix(); + } + sbp.cursor = sbp.limit; + r_vowel_suffix(); + sbp.cursor = sbp.limit_backward; + r_postlude(); + return true; + } + }; + + /* and return a function that stems a word for the current locale */ + return function(word) { + st.setCurrent(word); + st.stem(); + return st.getCurrent(); + } + })(); + + lunr.Pipeline.registerFunction(lunr.it.stemmer, 'stemmer-it'); + + /* stop word filter function */ + lunr.it.stopWordFilter = function(token) { + if (lunr.it.stopWordFilter.stopWords.indexOf(token) === -1) { + return token; + } + }; + + lunr.it.stopWordFilter.stopWords = new lunr.SortedSet(); + lunr.it.stopWordFilter.stopWords.length = 280; + + // The space at the beginning is crucial: It marks the empty string + // as a stop word. lunr.js crashes during search when documents + // processed by the pipeline still contain the empty string. + lunr.it.stopWordFilter.stopWords.elements = ' a abbia abbiamo abbiano abbiate ad agl agli ai al all alla alle allo anche avemmo avendo avesse avessero avessi avessimo aveste avesti avete aveva avevamo avevano avevate avevi avevo avrai avranno avrebbe avrebbero avrei avremmo avremo avreste avresti avrete avrà avrò avuta avute avuti avuto c che chi ci coi col come con contro cui da dagl dagli dai dal dall dalla dalle dallo degl degli dei del dell della delle dello di dov dove e ebbe ebbero ebbi ed era erano eravamo eravate eri ero essendo faccia facciamo facciano facciate faccio facemmo facendo facesse facessero facessi facessimo faceste facesti faceva facevamo facevano facevate facevi facevo fai fanno farai faranno farebbe farebbero farei faremmo faremo fareste faresti farete farà farò fece fecero feci fosse fossero fossi fossimo foste fosti fu fui fummo furono gli ha hai hanno ho i il in io l la le lei li lo loro lui ma mi mia mie miei mio ne negl negli nei nel nell nella nelle nello noi non nostra nostre nostri nostro o per perché più quale quanta quante quanti quanto quella quelle quelli quello questa queste questi questo sarai saranno sarebbe sarebbero sarei saremmo saremo sareste saresti sarete sarà sarò se sei si sia siamo siano siate siete sono sta stai stando stanno starai staranno starebbe starebbero starei staremmo staremo stareste staresti starete starà starò stava stavamo stavano stavate stavi stavo stemmo stesse stessero stessi stessimo steste stesti stette stettero stetti stia stiamo stiano stiate sto su sua sue sugl sugli sui sul sull sulla sulle sullo suo suoi ti tra tu tua tue tuo tuoi tutti tutto un una uno vi voi vostra vostre vostri vostro è'.split(' '); + + lunr.Pipeline.registerFunction(lunr.it.stopWordFilter, 'stopWordFilter-it'); + }; +}))
\ No newline at end of file diff --git a/static/js/lunr.it.min.js b/static/js/lunr.it.min.js new file mode 100644 index 0000000..f232c3f --- /dev/null +++ b/static/js/lunr.it.min.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(r){if(void 0===r)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===r.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var e,F,i;r.it=function(){this.pipeline.reset(),this.pipeline.add(r.it.trimmer,r.it.stopWordFilter,r.it.stemmer)},r.it.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",r.it.trimmer=r.trimmerSupport.generateTrimmer(r.it.wordCharacters),r.Pipeline.registerFunction(r.it.trimmer,"trimmer-it"),r.it.stemmer=(e=r.stemmerSupport.Among,F=r.stemmerSupport.SnowballProgram,i=new function(){var n,o,s,t=[new e("",-1,7),new e("qu",0,6),new e("á",0,1),new e("é",0,2),new e("í",0,3),new e("ó",0,4),new e("ú",0,5)],a=[new e("",-1,3),new e("I",0,1),new e("U",0,2)],u=[new e("la",-1,-1),new e("cela",0,-1),new e("gliela",0,-1),new e("mela",0,-1),new e("tela",0,-1),new e("vela",0,-1),new e("le",-1,-1),new e("cele",6,-1),new e("gliele",6,-1),new e("mele",6,-1),new e("tele",6,-1),new e("vele",6,-1),new e("ne",-1,-1),new e("cene",12,-1),new e("gliene",12,-1),new e("mene",12,-1),new e("sene",12,-1),new e("tene",12,-1),new e("vene",12,-1),new e("ci",-1,-1),new e("li",-1,-1),new e("celi",20,-1),new e("glieli",20,-1),new e("meli",20,-1),new e("teli",20,-1),new e("veli",20,-1),new e("gli",20,-1),new e("mi",-1,-1),new e("si",-1,-1),new e("ti",-1,-1),new e("vi",-1,-1),new e("lo",-1,-1),new e("celo",31,-1),new e("glielo",31,-1),new e("melo",31,-1),new e("telo",31,-1),new e("velo",31,-1)],c=[new e("ando",-1,1),new e("endo",-1,1),new e("ar",-1,2),new e("er",-1,2),new e("ir",-1,2)],r=[new e("ic",-1,-1),new e("abil",-1,-1),new e("os",-1,-1),new e("iv",-1,1)],i=[new e("ic",-1,1),new e("abil",-1,1),new e("iv",-1,1)],w=[new e("ica",-1,1),new e("logia",-1,3),new e("osa",-1,1),new e("ista",-1,1),new e("iva",-1,9),new e("anza",-1,1),new e("enza",-1,5),new e("ice",-1,1),new e("atrice",7,1),new e("iche",-1,1),new e("logie",-1,3),new e("abile",-1,1),new e("ibile",-1,1),new e("usione",-1,4),new e("azione",-1,2),new e("uzione",-1,4),new e("atore",-1,2),new e("ose",-1,1),new e("ante",-1,1),new e("mente",-1,1),new e("amente",19,7),new e("iste",-1,1),new e("ive",-1,9),new e("anze",-1,1),new e("enze",-1,5),new e("ici",-1,1),new e("atrici",25,1),new e("ichi",-1,1),new e("abili",-1,1),new e("ibili",-1,1),new e("ismi",-1,1),new e("usioni",-1,4),new e("azioni",-1,2),new e("uzioni",-1,4),new e("atori",-1,2),new e("osi",-1,1),new e("anti",-1,1),new e("amenti",-1,6),new e("imenti",-1,6),new e("isti",-1,1),new e("ivi",-1,9),new e("ico",-1,1),new e("ismo",-1,1),new e("oso",-1,1),new e("amento",-1,6),new e("imento",-1,6),new e("ivo",-1,9),new e("ità",-1,8),new e("istà",-1,1),new e("istè",-1,1),new e("istì",-1,1)],l=[new e("isca",-1,1),new e("enda",-1,1),new e("ata",-1,1),new e("ita",-1,1),new e("uta",-1,1),new e("ava",-1,1),new e("eva",-1,1),new e("iva",-1,1),new e("erebbe",-1,1),new e("irebbe",-1,1),new e("isce",-1,1),new e("ende",-1,1),new e("are",-1,1),new e("ere",-1,1),new e("ire",-1,1),new e("asse",-1,1),new e("ate",-1,1),new e("avate",16,1),new e("evate",16,1),new e("ivate",16,1),new e("ete",-1,1),new e("erete",20,1),new e("irete",20,1),new e("ite",-1,1),new e("ereste",-1,1),new e("ireste",-1,1),new e("ute",-1,1),new e("erai",-1,1),new e("irai",-1,1),new e("isci",-1,1),new e("endi",-1,1),new e("erei",-1,1),new e("irei",-1,1),new e("assi",-1,1),new e("ati",-1,1),new e("iti",-1,1),new e("eresti",-1,1),new e("iresti",-1,1),new e("uti",-1,1),new e("avi",-1,1),new e("evi",-1,1),new e("ivi",-1,1),new e("isco",-1,1),new e("ando",-1,1),new e("endo",-1,1),new e("Yamo",-1,1),new e("iamo",-1,1),new e("avamo",-1,1),new e("evamo",-1,1),new e("ivamo",-1,1),new e("eremo",-1,1),new e("iremo",-1,1),new e("assimo",-1,1),new e("ammo",-1,1),new e("emmo",-1,1),new e("eremmo",54,1),new e("iremmo",54,1),new e("immo",-1,1),new e("ano",-1,1),new e("iscano",58,1),new e("avano",58,1),new e("evano",58,1),new e("ivano",58,1),new e("eranno",-1,1),new e("iranno",-1,1),new e("ono",-1,1),new e("iscono",65,1),new e("arono",65,1),new e("erono",65,1),new e("irono",65,1),new e("erebbero",-1,1),new e("irebbero",-1,1),new e("assero",-1,1),new e("essero",-1,1),new e("issero",-1,1),new e("ato",-1,1),new e("ito",-1,1),new e("uto",-1,1),new e("avo",-1,1),new e("evo",-1,1),new e("ivo",-1,1),new e("ar",-1,1),new e("ir",-1,1),new e("erà",-1,1),new e("irà",-1,1),new e("erò",-1,1),new e("irò",-1,1)],m=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,128,128,8,2,1],f=[17,65,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,8,2],v=[17],b=new F;function d(e,r,i){return b.eq_s(1,e)&&(b.ket=b.cursor,b.in_grouping(m,97,249))&&(b.slice_from(r),b.cursor=i,1)}function _(e){if(b.cursor=e,!b.in_grouping(m,97,249))return!1;for(;!b.out_grouping(m,97,249);){if(b.cursor>=b.limit)return!1;b.cursor++}return!0}function g(){var e,r=b.cursor;if(!function(){if(b.in_grouping(m,97,249)){var e=b.cursor;if(b.out_grouping(m,97,249)){for(;!b.in_grouping(m,97,249);){if(b.cursor>=b.limit)return _(e);b.cursor++}return 1}return _(e)}}()){if(b.cursor=r,!b.out_grouping(m,97,249))return;if(e=b.cursor,b.out_grouping(m,97,249)){for(;!b.in_grouping(m,97,249);){if(b.cursor>=b.limit)return b.cursor=e,void(b.in_grouping(m,97,249)&&b.cursor<b.limit&&b.cursor++);b.cursor++}return void(s=b.cursor)}if(b.cursor=e,!b.in_grouping(m,97,249)||b.cursor>=b.limit)return;b.cursor++}s=b.cursor}function p(){for(;!b.in_grouping(m,97,249);){if(b.cursor>=b.limit)return;b.cursor++}for(;!b.out_grouping(m,97,249);){if(b.cursor>=b.limit)return;b.cursor++}return 1}function k(){return s<=b.cursor}function h(){return n<=b.cursor}function q(){var e;if(b.ket=b.cursor,e=b.find_among_b(w,51)){switch(b.bra=b.cursor,e){case 1:if(!h())return;b.slice_del();break;case 2:if(!h())return;b.slice_del(),b.ket=b.cursor,b.eq_s_b(2,"ic")&&(b.bra=b.cursor,h())&&b.slice_del();break;case 3:if(!h())return;b.slice_from("log");break;case 4:if(!h())return;b.slice_from("u");break;case 5:if(!h())return;b.slice_from("ente");break;case 6:if(!k())return;b.slice_del();break;case 7:if(!(o<=b.cursor))return;b.slice_del(),b.ket=b.cursor,(e=b.find_among_b(r,4))&&(b.bra=b.cursor,h())&&(b.slice_del(),1==e)&&(b.ket=b.cursor,b.eq_s_b(2,"at"))&&(b.bra=b.cursor,h())&&b.slice_del();break;case 8:if(!h())return;b.slice_del(),b.ket=b.cursor,(e=b.find_among_b(i,3))&&(b.bra=b.cursor,1==e)&&h()&&b.slice_del();break;case 9:if(!h())return;b.slice_del(),b.ket=b.cursor,b.eq_s_b(2,"at")&&(b.bra=b.cursor,h())&&(b.slice_del(),b.ket=b.cursor,b.eq_s_b(2,"ic"))&&(b.bra=b.cursor,h())&&b.slice_del()}return 1}}function W(){var e;e=b.limit-b.cursor,b.ket=b.cursor,b.in_grouping_b(f,97,242)&&(b.bra=b.cursor,k())&&(b.slice_del(),b.ket=b.cursor,b.eq_s_b(1,"i"))&&(b.bra=b.cursor,k())?b.slice_del():b.cursor=b.limit-e,b.ket=b.cursor,b.eq_s_b(1,"h")&&(b.bra=b.cursor,b.in_grouping_b(v,99,103))&&k()&&b.slice_del()}this.setCurrent=function(e){b.setCurrent(e)},this.getCurrent=function(){return b.getCurrent()},this.stem=function(){var e,r,i=b.cursor;if(!function(){for(var e,r,i,n,o=b.cursor;;){if(b.bra=b.cursor,e=b.find_among(t,7))switch(b.ket=b.cursor,e){case 1:b.slice_from("à");continue;case 2:b.slice_from("è");continue;case 3:b.slice_from("ì");continue;case 4:b.slice_from("ò");continue;case 5:b.slice_from("ù");continue;case 6:b.slice_from("qU");continue;case 7:if(!(b.cursor>=b.limit)){b.cursor++;continue}}break}for(b.cursor=o;;)for(r=b.cursor;;){if(i=b.cursor,b.in_grouping(m,97,249)){if(b.bra=b.cursor,n=b.cursor,d("u","U",i))break;if(b.cursor=n,d("i","I",i))break}if(b.cursor=i,b.cursor>=b.limit)return b.cursor=r;b.cursor++}}(),b.cursor=i,r=b.cursor,s=b.limit,n=o=s,g(),b.cursor=r,p()&&(o=b.cursor,p())&&(n=b.cursor),b.limit_backward=i,b.cursor=b.limit,b.ket=b.cursor,b.find_among_b(u,37)&&(b.bra=b.cursor,e=b.find_among_b(c,5))&&k())switch(e){case 1:b.slice_del();break;case 2:b.slice_from("e")}return b.cursor=b.limit,q()||(b.cursor=b.limit,b.cursor>=s&&(r=b.limit_backward,b.limit_backward=s,b.ket=b.cursor,(i=b.find_among_b(l,87))&&(b.bra=b.cursor,1==i)&&b.slice_del(),b.limit_backward=r)),b.cursor=b.limit,W(),b.cursor=b.limit_backward,function(){for(var e;b.bra=b.cursor,e=b.find_among(a,3);)switch(b.ket=b.cursor,e){case 1:b.slice_from("i");break;case 2:b.slice_from("u");break;case 3:if(b.cursor>=b.limit)return;b.cursor++}}(),!0}},function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}),r.Pipeline.registerFunction(r.it.stemmer,"stemmer-it"),r.it.stopWordFilter=function(e){if(-1===r.it.stopWordFilter.stopWords.indexOf(e))return e},r.it.stopWordFilter.stopWords=new r.SortedSet,r.it.stopWordFilter.stopWords.length=280,r.it.stopWordFilter.stopWords.elements=" a abbia abbiamo abbiano abbiate ad agl agli ai al all alla alle allo anche avemmo avendo avesse avessero avessi avessimo aveste avesti avete aveva avevamo avevano avevate avevi avevo avrai avranno avrebbe avrebbero avrei avremmo avremo avreste avresti avrete avrà avrò avuta avute avuti avuto c che chi ci coi col come con contro cui da dagl dagli dai dal dall dalla dalle dallo degl degli dei del dell della delle dello di dov dove e ebbe ebbero ebbi ed era erano eravamo eravate eri ero essendo faccia facciamo facciano facciate faccio facemmo facendo facesse facessero facessi facessimo faceste facesti faceva facevamo facevano facevate facevi facevo fai fanno farai faranno farebbe farebbero farei faremmo faremo fareste faresti farete farà farò fece fecero feci fosse fossero fossi fossimo foste fosti fu fui fummo furono gli ha hai hanno ho i il in io l la le lei li lo loro lui ma mi mia mie miei mio ne negl negli nei nel nell nella nelle nello noi non nostra nostre nostri nostro o per perché più quale quanta quante quanti quanto quella quelle quelli quello questa queste questi questo sarai saranno sarebbe sarebbero sarei saremmo saremo sareste saresti sarete sarà sarò se sei si sia siamo siano siate siete sono sta stai stando stanno starai staranno starebbe starebbero starei staremmo staremo stareste staresti starete starà starò stava stavamo stavano stavate stavi stavo stemmo stesse stessero stessi stessimo steste stesti stette stettero stetti stia stiamo stiano stiate sto su sua sue sugl sugli sui sul sull sulla sulle sullo suo suoi ti tra tu tua tue tuo tuoi tutti tutto un una uno vi voi vostra vostre vostri vostro è".split(" "),r.Pipeline.registerFunction(r.it.stopWordFilter,"stopWordFilter-it")}});
\ No newline at end of file diff --git a/static/js/lunr.jp.js b/static/js/lunr.jp.js new file mode 100644 index 0000000..4dcdc43 --- /dev/null +++ b/static/js/lunr.jp.js @@ -0,0 +1,118 @@ +/*! + * Lunr languages, `Japanese` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Chad Liu + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +/** + * export the module via AMD, CommonJS or as a browser global + * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js + */ +; +(function(root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(factory) + } else if (typeof exports === 'object') { + /** + * Node. Does not work with strict CommonJS, but + * only CommonJS-like environments that support module.exports, + * like Node. + */ + module.exports = factory() + } else { + // Browser globals (root is window) + factory()(root.lunr); + } +}(this, function() { + /** + * Just return a value to define the module export. + * This example returns an object, but the module + * can return a function as the exported value. + */ + return function(lunr) { + /* throw error if lunr is not yet included */ + if ('undefined' === typeof lunr) { + throw new Error('Lunr is not present. Please include / require Lunr before this script.'); + } + + /* throw error if lunr stemmer support is not yet included */ + if ('undefined' === typeof lunr.stemmerSupport) { + throw new Error('Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.'); + } + + /* register specific locale function */ + lunr.jp = function() { + this.pipeline.reset(); + this.pipeline.add( + lunr.jp.stopWordFilter, + lunr.jp.stemmer + ); + // change the tokenizer for japanese one + lunr.tokenizer = lunr.jp.tokenizer; + }; + var segmenter = new TinySegmenter(); // インスタンス生成 + + lunr.jp.tokenizer = function (obj) { + if (!arguments.length || obj == null || obj == undefined) return [] + if (Array.isArray(obj)) return obj.map(function (t) { return t.toLowerCase() }) + + var str = obj.toString().replace(/^\s+/, '') + + for (var i = str.length - 1; i >= 0; i--) { + if (/\S/.test(str.charAt(i))) { + str = str.substring(0, i + 1) + break + } + } + + + var segs = segmenter.segment(str); // 単語の配列が返る + return segs.filter(function (token) { + return !!token + }) + .map(function (token) { + return token + }) + } + + /* lunr stemmer function */ + lunr.jp.stemmer = (function() { + + /* TODO japanese stemmer */ + return function(word) { + return word; + } + })(); + + lunr.Pipeline.registerFunction(lunr.jp.stemmer, 'stemmer-jp'); + + /* stop word filter function */ + lunr.jp.stopWordFilter = function(token) { + if (lunr.jp.stopWordFilter.stopWords.indexOf(token) === -1) { + return token; + } + }; + + lunr.jp.stopWordFilter.stopWords = new lunr.SortedSet(); + lunr.jp.stopWordFilter.stopWords.length = 45; + + // The space at the beginning is crucial: It marks the empty string + // as a stop word. lunr.js crashes during search when documents + // processed by the pipeline still contain the empty string. + // stopword for japanese is from http://www.ranks.nl/stopwords/japanese + lunr.jp.stopWordFilter.stopWords.elements = ' これ それ あれ この その あの ここ そこ あそこ こちら どこ だれ なに なん 何 私 貴方 貴方方 我々 私達 あの人 あのかた 彼女 彼 です あります おります います は が の に を で え から まで より も どの と し それで しかし'.split(' '); + lunr.Pipeline.registerFunction(lunr.jp.stopWordFilter, 'stopWordFilter-jp'); + }; +}))
\ No newline at end of file diff --git a/static/js/lunr.jp.min.js b/static/js/lunr.jp.min.js new file mode 100644 index 0000000..b70d9ee --- /dev/null +++ b/static/js/lunr.jp.min.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(r){if(void 0===r)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===r.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");r.jp=function(){this.pipeline.reset(),this.pipeline.add(r.jp.stopWordFilter,r.jp.stemmer),r.tokenizer=r.jp.tokenizer};var n=new TinySegmenter;r.jp.tokenizer=function(e){if(!arguments.length||null==e)return[];if(Array.isArray(e))return e.map(function(e){return e.toLowerCase()});for(var r=e.toString().replace(/^\s+/,""),t=r.length-1;0<=t;t--)if(/\S/.test(r.charAt(t))){r=r.substring(0,t+1);break}return n.segment(r).filter(function(e){return!!e}).map(function(e){return e})},r.jp.stemmer=function(e){return e},r.Pipeline.registerFunction(r.jp.stemmer,"stemmer-jp"),r.jp.stopWordFilter=function(e){if(-1===r.jp.stopWordFilter.stopWords.indexOf(e))return e},r.jp.stopWordFilter.stopWords=new r.SortedSet,r.jp.stopWordFilter.stopWords.length=45,r.jp.stopWordFilter.stopWords.elements=" これ それ あれ この その あの ここ そこ あそこ こちら どこ だれ なに なん 何 私 貴方 貴方方 我々 私達 あの人 あのかた 彼女 彼 です あります おります います は が の に を で え から まで より も どの と し それで しかし".split(" "),r.Pipeline.registerFunction(r.jp.stopWordFilter,"stopWordFilter-jp")}});
\ No newline at end of file diff --git a/static/js/lunr.no.js b/static/js/lunr.no.js new file mode 100644 index 0000000..acaa024 --- /dev/null +++ b/static/js/lunr.no.js @@ -0,0 +1,253 @@ +/*! + * Lunr languages, `Norwegian` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +/** + * export the module via AMD, CommonJS or as a browser global + * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js + */ +; +(function(root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(factory) + } else if (typeof exports === 'object') { + /** + * Node. Does not work with strict CommonJS, but + * only CommonJS-like environments that support module.exports, + * like Node. + */ + module.exports = factory() + } else { + // Browser globals (root is window) + factory()(root.lunr); + } +}(this, function() { + /** + * Just return a value to define the module export. + * This example returns an object, but the module + * can return a function as the exported value. + */ + return function(lunr) { + /* throw error if lunr is not yet included */ + if ('undefined' === typeof lunr) { + throw new Error('Lunr is not present. Please include / require Lunr before this script.'); + } + + /* throw error if lunr stemmer support is not yet included */ + if ('undefined' === typeof lunr.stemmerSupport) { + throw new Error('Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.'); + } + + /* register specific locale function */ + lunr.no = function() { + this.pipeline.reset(); + this.pipeline.add( + lunr.no.trimmer, + lunr.no.stopWordFilter, + lunr.no.stemmer + ); + }; + + /* lunr trimmer function */ + lunr.no.wordCharacters = "A-Za-z\xAA\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u02E0-\u02E4\u1D00-\u1D25\u1D2C-\u1D5C\u1D62-\u1D65\u1D6B-\u1D77\u1D79-\u1DBE\u1E00-\u1EFF\u2071\u207F\u2090-\u209C\u212A\u212B\u2132\u214E\u2160-\u2188\u2C60-\u2C7F\uA722-\uA787\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA7FF\uAB30-\uAB5A\uAB5C-\uAB64\uFB00-\uFB06\uFF21-\uFF3A\uFF41-\uFF5A"; + lunr.no.trimmer = lunr.trimmerSupport.generateTrimmer(lunr.no.wordCharacters); + + lunr.Pipeline.registerFunction(lunr.no.trimmer, 'trimmer-no'); + + /* lunr stemmer function */ + lunr.no.stemmer = (function() { + /* create the wrapped stemmer object */ + var Among = lunr.stemmerSupport.Among, + SnowballProgram = lunr.stemmerSupport.SnowballProgram, + st = new function NorwegianStemmer() { + var a_0 = [new Among("a", -1, 1), new Among("e", -1, 1), + new Among("ede", 1, 1), new Among("ande", 1, 1), + new Among("ende", 1, 1), new Among("ane", 1, 1), + new Among("ene", 1, 1), new Among("hetene", 6, 1), + new Among("erte", 1, 3), new Among("en", -1, 1), + new Among("heten", 9, 1), new Among("ar", -1, 1), + new Among("er", -1, 1), new Among("heter", 12, 1), + new Among("s", -1, 2), new Among("as", 14, 1), + new Among("es", 14, 1), new Among("edes", 16, 1), + new Among("endes", 16, 1), new Among("enes", 16, 1), + new Among("hetenes", 19, 1), new Among("ens", 14, 1), + new Among("hetens", 21, 1), new Among("ers", 14, 1), + new Among("ets", 14, 1), new Among("et", -1, 1), + new Among("het", 25, 1), new Among("ert", -1, 3), + new Among("ast", -1, 1) + ], + a_1 = [new Among("dt", -1, -1), + new Among("vt", -1, -1) + ], + a_2 = [new Among("leg", -1, 1), + new Among("eleg", 0, 1), new Among("ig", -1, 1), + new Among("eig", 2, 1), new Among("lig", 2, 1), + new Among("elig", 4, 1), new Among("els", -1, 1), + new Among("lov", -1, 1), new Among("elov", 7, 1), + new Among("slov", 7, 1), new Among("hetslov", 9, 1) + ], + g_v = [17, + 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 128 + ], + g_s_ending = [ + 119, 125, 149, 1 + ], + I_x, I_p1, sbp = new SnowballProgram(); + this.setCurrent = function(word) { + sbp.setCurrent(word); + }; + this.getCurrent = function() { + return sbp.getCurrent(); + }; + + function r_mark_regions() { + var v_1, c = sbp.cursor + 3; + I_p1 = sbp.limit; + if (0 <= c || c <= sbp.limit) { + I_x = c; + while (true) { + v_1 = sbp.cursor; + if (sbp.in_grouping(g_v, 97, 248)) { + sbp.cursor = v_1; + break; + } + if (v_1 >= sbp.limit) + return; + sbp.cursor = v_1 + 1; + } + while (!sbp.out_grouping(g_v, 97, 248)) { + if (sbp.cursor >= sbp.limit) + return; + sbp.cursor++; + } + I_p1 = sbp.cursor; + if (I_p1 < I_x) + I_p1 = I_x; + } + } + + function r_main_suffix() { + var among_var, v_1, v_2; + if (sbp.cursor >= I_p1) { + v_1 = sbp.limit_backward; + sbp.limit_backward = I_p1; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_0, 29); + sbp.limit_backward = v_1; + if (among_var) { + sbp.bra = sbp.cursor; + switch (among_var) { + case 1: + sbp.slice_del(); + break; + case 2: + v_2 = sbp.limit - sbp.cursor; + if (sbp.in_grouping_b(g_s_ending, 98, 122)) + sbp.slice_del(); + else { + sbp.cursor = sbp.limit - v_2; + if (sbp.eq_s_b(1, "k") && sbp.out_grouping_b(g_v, 97, 248)) + sbp.slice_del(); + } + break; + case 3: + sbp.slice_from("er"); + break; + } + } + } + } + + function r_consonant_pair() { + var v_1 = sbp.limit - sbp.cursor, + v_2; + if (sbp.cursor >= I_p1) { + v_2 = sbp.limit_backward; + sbp.limit_backward = I_p1; + sbp.ket = sbp.cursor; + if (sbp.find_among_b(a_1, 2)) { + sbp.bra = sbp.cursor; + sbp.limit_backward = v_2; + sbp.cursor = sbp.limit - v_1; + if (sbp.cursor > sbp.limit_backward) { + sbp.cursor--; + sbp.bra = sbp.cursor; + sbp.slice_del(); + } + } else + sbp.limit_backward = v_2; + } + } + + function r_other_suffix() { + var among_var, v_1; + if (sbp.cursor >= I_p1) { + v_1 = sbp.limit_backward; + sbp.limit_backward = I_p1; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_2, 11); + if (among_var) { + sbp.bra = sbp.cursor; + sbp.limit_backward = v_1; + if (among_var == 1) + sbp.slice_del(); + } else + sbp.limit_backward = v_1; + } + } + this.stem = function() { + var v_1 = sbp.cursor; + r_mark_regions(); + sbp.limit_backward = v_1; + sbp.cursor = sbp.limit; + r_main_suffix(); + sbp.cursor = sbp.limit; + r_consonant_pair(); + sbp.cursor = sbp.limit; + r_other_suffix(); + return true; + } + }; + + /* and return a function that stems a word for the current locale */ + return function(word) { + st.setCurrent(word); + st.stem(); + return st.getCurrent(); + } + })(); + + lunr.Pipeline.registerFunction(lunr.no.stemmer, 'stemmer-no'); + + /* stop word filter function */ + lunr.no.stopWordFilter = function(token) { + if (lunr.no.stopWordFilter.stopWords.indexOf(token) === -1) { + return token; + } + }; + + lunr.no.stopWordFilter.stopWords = new lunr.SortedSet(); + lunr.no.stopWordFilter.stopWords.length = 177; + + // The space at the beginning is crucial: It marks the empty string + // as a stop word. lunr.js crashes during search when documents + // processed by the pipeline still contain the empty string. + lunr.no.stopWordFilter.stopWords.elements = ' alle at av bare begge ble blei bli blir blitt både båe da de deg dei deim deira deires dem den denne der dere deres det dette di din disse ditt du dykk dykkar då eg ein eit eitt eller elles en enn er et ett etter for fordi fra før ha hadde han hans har hennar henne hennes her hjå ho hoe honom hoss hossen hun hva hvem hver hvilke hvilken hvis hvor hvordan hvorfor i ikke ikkje ikkje ingen ingi inkje inn inni ja jeg kan kom korleis korso kun kunne kva kvar kvarhelst kven kvi kvifor man mange me med medan meg meget mellom men mi min mine mitt mot mykje ned no noe noen noka noko nokon nokor nokre nå når og også om opp oss over på samme seg selv si si sia sidan siden sin sine sitt sjøl skal skulle slik so som som somme somt så sånn til um upp ut uten var vart varte ved vere verte vi vil ville vore vors vort vår være være vært å'.split(' '); + + lunr.Pipeline.registerFunction(lunr.no.stopWordFilter, 'stopWordFilter-no'); + }; +}))
\ No newline at end of file diff --git a/static/js/lunr.no.min.js b/static/js/lunr.no.min.js new file mode 100644 index 0000000..ac91e96 --- /dev/null +++ b/static/js/lunr.no.min.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(r){if(void 0===r)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===r.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var e,n,i;r.no=function(){this.pipeline.reset(),this.pipeline.add(r.no.trimmer,r.no.stopWordFilter,r.no.stemmer)},r.no.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",r.no.trimmer=r.trimmerSupport.generateTrimmer(r.no.wordCharacters),r.Pipeline.registerFunction(r.no.trimmer,"trimmer-no"),r.no.stemmer=(e=r.stemmerSupport.Among,n=r.stemmerSupport.SnowballProgram,i=new function(){var t,o,s=[new e("a",-1,1),new e("e",-1,1),new e("ede",1,1),new e("ande",1,1),new e("ende",1,1),new e("ane",1,1),new e("ene",1,1),new e("hetene",6,1),new e("erte",1,3),new e("en",-1,1),new e("heten",9,1),new e("ar",-1,1),new e("er",-1,1),new e("heter",12,1),new e("s",-1,2),new e("as",14,1),new e("es",14,1),new e("edes",16,1),new e("endes",16,1),new e("enes",16,1),new e("hetenes",19,1),new e("ens",14,1),new e("hetens",21,1),new e("ers",14,1),new e("ets",14,1),new e("et",-1,1),new e("het",25,1),new e("ert",-1,3),new e("ast",-1,1)],m=[new e("dt",-1,-1),new e("vt",-1,-1)],a=[new e("leg",-1,1),new e("eleg",0,1),new e("ig",-1,1),new e("eig",2,1),new e("lig",2,1),new e("elig",4,1),new e("els",-1,1),new e("lov",-1,1),new e("elov",7,1),new e("slov",7,1),new e("hetslov",9,1)],l=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,48,0,128],d=[119,125,149,1],u=new n;this.setCurrent=function(e){u.setCurrent(e)},this.getCurrent=function(){return u.getCurrent()},this.stem=function(){var e,r,n,i=u.cursor;if(!function(){var e,r=u.cursor+3;if(o=u.limit,0<=r||r<=u.limit){for(t=r;;){if(e=u.cursor,u.in_grouping(l,97,248)){u.cursor=e;break}if(e>=u.limit)return;u.cursor=e+1}for(;!u.out_grouping(l,97,248);){if(u.cursor>=u.limit)return;u.cursor++}(o=u.cursor)<t&&(o=t)}}(),u.limit_backward=i,u.cursor=u.limit,u.cursor>=o&&(i=u.limit_backward,u.limit_backward=o,u.ket=u.cursor,r=u.find_among_b(s,29),u.limit_backward=i,r))switch(u.bra=u.cursor,r){case 1:u.slice_del();break;case 2:e=u.limit-u.cursor,(u.in_grouping_b(d,98,122)||(u.cursor=u.limit-e,u.eq_s_b(1,"k")&&u.out_grouping_b(l,97,248)))&&u.slice_del();break;case 3:u.slice_from("er")}return u.cursor=u.limit,i=u.limit-u.cursor,u.cursor>=o&&(r=u.limit_backward,u.limit_backward=o,u.ket=u.cursor,u.find_among_b(m,2)?(u.bra=u.cursor,u.limit_backward=r,u.cursor=u.limit-i,u.cursor>u.limit_backward&&(u.cursor--,u.bra=u.cursor,u.slice_del())):u.limit_backward=r),u.cursor=u.limit,u.cursor>=o&&(i=u.limit_backward,u.limit_backward=o,u.ket=u.cursor,(n=u.find_among_b(a,11))?(u.bra=u.cursor,u.limit_backward=i,1==n&&u.slice_del()):u.limit_backward=i),!0}},function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}),r.Pipeline.registerFunction(r.no.stemmer,"stemmer-no"),r.no.stopWordFilter=function(e){if(-1===r.no.stopWordFilter.stopWords.indexOf(e))return e},r.no.stopWordFilter.stopWords=new r.SortedSet,r.no.stopWordFilter.stopWords.length=177,r.no.stopWordFilter.stopWords.elements=" alle at av bare begge ble blei bli blir blitt både båe da de deg dei deim deira deires dem den denne der dere deres det dette di din disse ditt du dykk dykkar då eg ein eit eitt eller elles en enn er et ett etter for fordi fra før ha hadde han hans har hennar henne hennes her hjå ho hoe honom hoss hossen hun hva hvem hver hvilke hvilken hvis hvor hvordan hvorfor i ikke ikkje ikkje ingen ingi inkje inn inni ja jeg kan kom korleis korso kun kunne kva kvar kvarhelst kven kvi kvifor man mange me med medan meg meget mellom men mi min mine mitt mot mykje ned no noe noen noka noko nokon nokor nokre nå når og også om opp oss over på samme seg selv si si sia sidan siden sin sine sitt sjøl skal skulle slik so som som somme somt så sånn til um upp ut uten var vart varte ved vere verte vi vil ville vore vors vort vår være være vært å".split(" "),r.Pipeline.registerFunction(r.no.stopWordFilter,"stopWordFilter-no")}});
\ No newline at end of file diff --git a/static/js/lunr.pt.js b/static/js/lunr.pt.js new file mode 100644 index 0000000..b340325 --- /dev/null +++ b/static/js/lunr.pt.js @@ -0,0 +1,566 @@ +/*! + * Lunr languages, `Portuguese` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +/** + * export the module via AMD, CommonJS or as a browser global + * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js + */ +; +(function(root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(factory) + } else if (typeof exports === 'object') { + /** + * Node. Does not work with strict CommonJS, but + * only CommonJS-like environments that support module.exports, + * like Node. + */ + module.exports = factory() + } else { + // Browser globals (root is window) + factory()(root.lunr); + } +}(this, function() { + /** + * Just return a value to define the module export. + * This example returns an object, but the module + * can return a function as the exported value. + */ + return function(lunr) { + /* throw error if lunr is not yet included */ + if ('undefined' === typeof lunr) { + throw new Error('Lunr is not present. Please include / require Lunr before this script.'); + } + + /* throw error if lunr stemmer support is not yet included */ + if ('undefined' === typeof lunr.stemmerSupport) { + throw new Error('Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.'); + } + + /* register specific locale function */ + lunr.pt = function() { + this.pipeline.reset(); + this.pipeline.add( + lunr.pt.trimmer, + lunr.pt.stopWordFilter, + lunr.pt.stemmer + ); + }; + + /* lunr trimmer function */ + lunr.pt.wordCharacters = "A-Za-z\xAA\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u02E0-\u02E4\u1D00-\u1D25\u1D2C-\u1D5C\u1D62-\u1D65\u1D6B-\u1D77\u1D79-\u1DBE\u1E00-\u1EFF\u2071\u207F\u2090-\u209C\u212A\u212B\u2132\u214E\u2160-\u2188\u2C60-\u2C7F\uA722-\uA787\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA7FF\uAB30-\uAB5A\uAB5C-\uAB64\uFB00-\uFB06\uFF21-\uFF3A\uFF41-\uFF5A"; + lunr.pt.trimmer = lunr.trimmerSupport.generateTrimmer(lunr.pt.wordCharacters); + + lunr.Pipeline.registerFunction(lunr.pt.trimmer, 'trimmer-pt'); + + /* lunr stemmer function */ + lunr.pt.stemmer = (function() { + /* create the wrapped stemmer object */ + var Among = lunr.stemmerSupport.Among, + SnowballProgram = lunr.stemmerSupport.SnowballProgram, + st = new function PortugueseStemmer() { + var a_0 = [new Among("", -1, 3), new Among("\u00E3", 0, 1), + new Among("\u00F5", 0, 2) + ], + a_1 = [new Among("", -1, 3), + new Among("a~", 0, 1), new Among("o~", 0, 2) + ], + a_2 = [ + new Among("ic", -1, -1), new Among("ad", -1, -1), + new Among("os", -1, -1), new Among("iv", -1, 1) + ], + a_3 = [ + new Among("ante", -1, 1), new Among("avel", -1, 1), + new Among("\u00EDvel", -1, 1) + ], + a_4 = [new Among("ic", -1, 1), + new Among("abil", -1, 1), new Among("iv", -1, 1) + ], + a_5 = [ + new Among("ica", -1, 1), new Among("\u00E2ncia", -1, 1), + new Among("\u00EAncia", -1, 4), new Among("ira", -1, 9), + new Among("adora", -1, 1), new Among("osa", -1, 1), + new Among("ista", -1, 1), new Among("iva", -1, 8), + new Among("eza", -1, 1), new Among("log\u00EDa", -1, 2), + new Among("idade", -1, 7), new Among("ante", -1, 1), + new Among("mente", -1, 6), new Among("amente", 12, 5), + new Among("\u00E1vel", -1, 1), new Among("\u00EDvel", -1, 1), + new Among("uci\u00F3n", -1, 3), new Among("ico", -1, 1), + new Among("ismo", -1, 1), new Among("oso", -1, 1), + new Among("amento", -1, 1), new Among("imento", -1, 1), + new Among("ivo", -1, 8), new Among("a\u00E7a~o", -1, 1), + new Among("ador", -1, 1), new Among("icas", -1, 1), + new Among("\u00EAncias", -1, 4), new Among("iras", -1, 9), + new Among("adoras", -1, 1), new Among("osas", -1, 1), + new Among("istas", -1, 1), new Among("ivas", -1, 8), + new Among("ezas", -1, 1), new Among("log\u00EDas", -1, 2), + new Among("idades", -1, 7), new Among("uciones", -1, 3), + new Among("adores", -1, 1), new Among("antes", -1, 1), + new Among("a\u00E7o~es", -1, 1), new Among("icos", -1, 1), + new Among("ismos", -1, 1), new Among("osos", -1, 1), + new Among("amentos", -1, 1), new Among("imentos", -1, 1), + new Among("ivos", -1, 8) + ], + a_6 = [new Among("ada", -1, 1), + new Among("ida", -1, 1), new Among("ia", -1, 1), + new Among("aria", 2, 1), new Among("eria", 2, 1), + new Among("iria", 2, 1), new Among("ara", -1, 1), + new Among("era", -1, 1), new Among("ira", -1, 1), + new Among("ava", -1, 1), new Among("asse", -1, 1), + new Among("esse", -1, 1), new Among("isse", -1, 1), + new Among("aste", -1, 1), new Among("este", -1, 1), + new Among("iste", -1, 1), new Among("ei", -1, 1), + new Among("arei", 16, 1), new Among("erei", 16, 1), + new Among("irei", 16, 1), new Among("am", -1, 1), + new Among("iam", 20, 1), new Among("ariam", 21, 1), + new Among("eriam", 21, 1), new Among("iriam", 21, 1), + new Among("aram", 20, 1), new Among("eram", 20, 1), + new Among("iram", 20, 1), new Among("avam", 20, 1), + new Among("em", -1, 1), new Among("arem", 29, 1), + new Among("erem", 29, 1), new Among("irem", 29, 1), + new Among("assem", 29, 1), new Among("essem", 29, 1), + new Among("issem", 29, 1), new Among("ado", -1, 1), + new Among("ido", -1, 1), new Among("ando", -1, 1), + new Among("endo", -1, 1), new Among("indo", -1, 1), + new Among("ara~o", -1, 1), new Among("era~o", -1, 1), + new Among("ira~o", -1, 1), new Among("ar", -1, 1), + new Among("er", -1, 1), new Among("ir", -1, 1), + new Among("as", -1, 1), new Among("adas", 47, 1), + new Among("idas", 47, 1), new Among("ias", 47, 1), + new Among("arias", 50, 1), new Among("erias", 50, 1), + new Among("irias", 50, 1), new Among("aras", 47, 1), + new Among("eras", 47, 1), new Among("iras", 47, 1), + new Among("avas", 47, 1), new Among("es", -1, 1), + new Among("ardes", 58, 1), new Among("erdes", 58, 1), + new Among("irdes", 58, 1), new Among("ares", 58, 1), + new Among("eres", 58, 1), new Among("ires", 58, 1), + new Among("asses", 58, 1), new Among("esses", 58, 1), + new Among("isses", 58, 1), new Among("astes", 58, 1), + new Among("estes", 58, 1), new Among("istes", 58, 1), + new Among("is", -1, 1), new Among("ais", 71, 1), + new Among("eis", 71, 1), new Among("areis", 73, 1), + new Among("ereis", 73, 1), new Among("ireis", 73, 1), + new Among("\u00E1reis", 73, 1), new Among("\u00E9reis", 73, 1), + new Among("\u00EDreis", 73, 1), new Among("\u00E1sseis", 73, 1), + new Among("\u00E9sseis", 73, 1), new Among("\u00EDsseis", 73, 1), + new Among("\u00E1veis", 73, 1), new Among("\u00EDeis", 73, 1), + new Among("ar\u00EDeis", 84, 1), new Among("er\u00EDeis", 84, 1), + new Among("ir\u00EDeis", 84, 1), new Among("ados", -1, 1), + new Among("idos", -1, 1), new Among("amos", -1, 1), + new Among("\u00E1ramos", 90, 1), new Among("\u00E9ramos", 90, 1), + new Among("\u00EDramos", 90, 1), new Among("\u00E1vamos", 90, 1), + new Among("\u00EDamos", 90, 1), new Among("ar\u00EDamos", 95, 1), + new Among("er\u00EDamos", 95, 1), new Among("ir\u00EDamos", 95, 1), + new Among("emos", -1, 1), new Among("aremos", 99, 1), + new Among("eremos", 99, 1), new Among("iremos", 99, 1), + new Among("\u00E1ssemos", 99, 1), new Among("\u00EAssemos", 99, 1), + new Among("\u00EDssemos", 99, 1), new Among("imos", -1, 1), + new Among("armos", -1, 1), new Among("ermos", -1, 1), + new Among("irmos", -1, 1), new Among("\u00E1mos", -1, 1), + new Among("ar\u00E1s", -1, 1), new Among("er\u00E1s", -1, 1), + new Among("ir\u00E1s", -1, 1), new Among("eu", -1, 1), + new Among("iu", -1, 1), new Among("ou", -1, 1), + new Among("ar\u00E1", -1, 1), new Among("er\u00E1", -1, 1), + new Among("ir\u00E1", -1, 1) + ], + a_7 = [new Among("a", -1, 1), + new Among("i", -1, 1), new Among("o", -1, 1), + new Among("os", -1, 1), new Among("\u00E1", -1, 1), + new Among("\u00ED", -1, 1), new Among("\u00F3", -1, 1) + ], + a_8 = [ + new Among("e", -1, 1), new Among("\u00E7", -1, 2), + new Among("\u00E9", -1, 1), new Among("\u00EA", -1, 1) + ], + g_v = [17, + 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 19, 12, 2 + ], + I_p2, I_p1, I_pV, sbp = new SnowballProgram(); + this.setCurrent = function(word) { + sbp.setCurrent(word); + }; + this.getCurrent = function() { + return sbp.getCurrent(); + }; + + function r_prelude() { + var among_var; + while (true) { + sbp.bra = sbp.cursor; + among_var = sbp.find_among(a_0, 3); + if (among_var) { + sbp.ket = sbp.cursor; + switch (among_var) { + case 1: + sbp.slice_from("a~"); + continue; + case 2: + sbp.slice_from("o~"); + continue; + case 3: + if (sbp.cursor >= sbp.limit) + break; + sbp.cursor++; + continue; + } + } + break; + } + } + + function habr2() { + if (sbp.out_grouping(g_v, 97, 250)) { + while (!sbp.in_grouping(g_v, 97, 250)) { + if (sbp.cursor >= sbp.limit) + return true; + sbp.cursor++; + } + return false; + } + return true; + } + + function habr3() { + if (sbp.in_grouping(g_v, 97, 250)) { + while (!sbp.out_grouping(g_v, 97, 250)) { + if (sbp.cursor >= sbp.limit) + return false; + sbp.cursor++; + } + } + I_pV = sbp.cursor; + return true; + } + + function habr4() { + var v_1 = sbp.cursor, + v_2, v_3; + if (sbp.in_grouping(g_v, 97, 250)) { + v_2 = sbp.cursor; + if (habr2()) { + sbp.cursor = v_2; + if (habr3()) + return; + } else + I_pV = sbp.cursor; + } + sbp.cursor = v_1; + if (sbp.out_grouping(g_v, 97, 250)) { + v_3 = sbp.cursor; + if (habr2()) { + sbp.cursor = v_3; + if (!sbp.in_grouping(g_v, 97, 250) || sbp.cursor >= sbp.limit) + return; + sbp.cursor++; + } + I_pV = sbp.cursor; + } + } + + function habr5() { + while (!sbp.in_grouping(g_v, 97, 250)) { + if (sbp.cursor >= sbp.limit) + return false; + sbp.cursor++; + } + while (!sbp.out_grouping(g_v, 97, 250)) { + if (sbp.cursor >= sbp.limit) + return false; + sbp.cursor++; + } + return true; + } + + function r_mark_regions() { + var v_1 = sbp.cursor; + I_pV = sbp.limit; + I_p1 = I_pV; + I_p2 = I_pV; + habr4(); + sbp.cursor = v_1; + if (habr5()) { + I_p1 = sbp.cursor; + if (habr5()) + I_p2 = sbp.cursor; + } + } + + function r_postlude() { + var among_var; + while (true) { + sbp.bra = sbp.cursor; + among_var = sbp.find_among(a_1, 3); + if (among_var) { + sbp.ket = sbp.cursor; + switch (among_var) { + case 1: + sbp.slice_from("\u00E3"); + continue; + case 2: + sbp.slice_from("\u00F5"); + continue; + case 3: + if (sbp.cursor >= sbp.limit) + break; + sbp.cursor++; + continue; + } + } + break; + } + } + + function r_RV() { + return I_pV <= sbp.cursor; + } + + function r_R1() { + return I_p1 <= sbp.cursor; + } + + function r_R2() { + return I_p2 <= sbp.cursor; + } + + function r_standard_suffix() { + var among_var; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_5, 45); + if (!among_var) + return false; + sbp.bra = sbp.cursor; + switch (among_var) { + case 1: + if (!r_R2()) + return false; + sbp.slice_del(); + break; + case 2: + if (!r_R2()) + return false; + sbp.slice_from("log"); + break; + case 3: + if (!r_R2()) + return false; + sbp.slice_from("u"); + break; + case 4: + if (!r_R2()) + return false; + sbp.slice_from("ente"); + break; + case 5: + if (!r_R1()) + return false; + sbp.slice_del(); + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_2, 4); + if (among_var) { + sbp.bra = sbp.cursor; + if (r_R2()) { + sbp.slice_del(); + if (among_var == 1) { + sbp.ket = sbp.cursor; + if (sbp.eq_s_b(2, "at")) { + sbp.bra = sbp.cursor; + if (r_R2()) + sbp.slice_del(); + } + } + } + } + break; + case 6: + if (!r_R2()) + return false; + sbp.slice_del(); + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_3, 3); + if (among_var) { + sbp.bra = sbp.cursor; + if (among_var == 1) + if (r_R2()) + sbp.slice_del(); + } + break; + case 7: + if (!r_R2()) + return false; + sbp.slice_del(); + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_4, 3); + if (among_var) { + sbp.bra = sbp.cursor; + if (among_var == 1) + if (r_R2()) + sbp.slice_del(); + } + break; + case 8: + if (!r_R2()) + return false; + sbp.slice_del(); + sbp.ket = sbp.cursor; + if (sbp.eq_s_b(2, "at")) { + sbp.bra = sbp.cursor; + if (r_R2()) + sbp.slice_del(); + } + break; + case 9: + if (!r_RV() || !sbp.eq_s_b(1, "e")) + return false; + sbp.slice_from("ir"); + break; + } + return true; + } + + function r_verb_suffix() { + var among_var, v_1; + if (sbp.cursor >= I_pV) { + v_1 = sbp.limit_backward; + sbp.limit_backward = I_pV; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_6, 120); + if (among_var) { + sbp.bra = sbp.cursor; + if (among_var == 1) + sbp.slice_del(); + sbp.limit_backward = v_1; + return true; + } + sbp.limit_backward = v_1; + } + return false; + } + + function r_residual_suffix() { + var among_var; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_7, 7); + if (among_var) { + sbp.bra = sbp.cursor; + if (among_var == 1) + if (r_RV()) + sbp.slice_del(); + } + } + + function habr6(c1, c2) { + if (sbp.eq_s_b(1, c1)) { + sbp.bra = sbp.cursor; + var v_1 = sbp.limit - sbp.cursor; + if (sbp.eq_s_b(1, c2)) { + sbp.cursor = sbp.limit - v_1; + if (r_RV()) + sbp.slice_del(); + return false; + } + } + return true; + } + + function r_residual_form() { + var among_var, v_1, v_2, v_3; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_8, 4); + if (among_var) { + sbp.bra = sbp.cursor; + switch (among_var) { + case 1: + if (r_RV()) { + sbp.slice_del(); + sbp.ket = sbp.cursor; + v_1 = sbp.limit - sbp.cursor; + if (habr6("u", "g")) + habr6("i", "c") + } + break; + case 2: + sbp.slice_from("c"); + break; + } + } + } + + function habr1() { + if (!r_standard_suffix()) { + sbp.cursor = sbp.limit; + if (!r_verb_suffix()) { + sbp.cursor = sbp.limit; + r_residual_suffix(); + return; + } + } + sbp.cursor = sbp.limit; + sbp.ket = sbp.cursor; + if (sbp.eq_s_b(1, "i")) { + sbp.bra = sbp.cursor; + if (sbp.eq_s_b(1, "c")) { + sbp.cursor = sbp.limit; + if (r_RV()) + sbp.slice_del(); + } + } + } + this.stem = function() { + var v_1 = sbp.cursor; + r_prelude(); + sbp.cursor = v_1; + r_mark_regions(); + sbp.limit_backward = v_1; + sbp.cursor = sbp.limit; + habr1(); + sbp.cursor = sbp.limit; + r_residual_form(); + sbp.cursor = sbp.limit_backward; + r_postlude(); + return true; + } + }; + + /* and return a function that stems a word for the current locale */ + return function(word) { + st.setCurrent(word); + st.stem(); + return st.getCurrent(); + } + })(); + + lunr.Pipeline.registerFunction(lunr.pt.stemmer, 'stemmer-pt'); + + /* stop word filter function */ + lunr.pt.stopWordFilter = function(token) { + if (lunr.pt.stopWordFilter.stopWords.indexOf(token) === -1) { + return token; + } + }; + + lunr.pt.stopWordFilter.stopWords = new lunr.SortedSet(); + lunr.pt.stopWordFilter.stopWords.length = 204; + + // The space at the beginning is crucial: It marks the empty string + // as a stop word. lunr.js crashes during search when documents + // processed by the pipeline still contain the empty string. + lunr.pt.stopWordFilter.stopWords.elements = ' a ao aos aquela aquelas aquele aqueles aquilo as até com como da das de dela delas dele deles depois do dos e ela elas ele eles em entre era eram essa essas esse esses esta estamos estas estava estavam este esteja estejam estejamos estes esteve estive estivemos estiver estivera estiveram estiverem estivermos estivesse estivessem estivéramos estivéssemos estou está estávamos estão eu foi fomos for fora foram forem formos fosse fossem fui fôramos fôssemos haja hajam hajamos havemos hei houve houvemos houver houvera houveram houverei houverem houveremos houveria houveriam houvermos houverá houverão houveríamos houvesse houvessem houvéramos houvéssemos há hão isso isto já lhe lhes mais mas me mesmo meu meus minha minhas muito na nas nem no nos nossa nossas nosso nossos num numa não nós o os ou para pela pelas pelo pelos por qual quando que quem se seja sejam sejamos sem serei seremos seria seriam será serão seríamos seu seus somos sou sua suas são só também te tem temos tenha tenham tenhamos tenho terei teremos teria teriam terá terão teríamos teu teus teve tinha tinham tive tivemos tiver tivera tiveram tiverem tivermos tivesse tivessem tivéramos tivéssemos tu tua tuas tém tínhamos um uma você vocês vos à às éramos'.split(' '); + + lunr.Pipeline.registerFunction(lunr.pt.stopWordFilter, 'stopWordFilter-pt'); + }; +}))
\ No newline at end of file diff --git a/static/js/lunr.pt.min.js b/static/js/lunr.pt.min.js new file mode 100644 index 0000000..c82fed6 --- /dev/null +++ b/static/js/lunr.pt.min.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(r){if(void 0===r)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===r.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var e,W,s;r.pt=function(){this.pipeline.reset(),this.pipeline.add(r.pt.trimmer,r.pt.stopWordFilter,r.pt.stemmer)},r.pt.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",r.pt.trimmer=r.trimmerSupport.generateTrimmer(r.pt.wordCharacters),r.Pipeline.registerFunction(r.pt.trimmer,"trimmer-pt"),r.pt.stemmer=(e=r.stemmerSupport.Among,W=r.stemmerSupport.SnowballProgram,s=new function(){var o,i,t,a=[new e("",-1,3),new e("ã",0,1),new e("õ",0,2)],u=[new e("",-1,3),new e("a~",0,1),new e("o~",0,2)],r=[new e("ic",-1,-1),new e("ad",-1,-1),new e("os",-1,-1),new e("iv",-1,1)],s=[new e("ante",-1,1),new e("avel",-1,1),new e("ível",-1,1)],n=[new e("ic",-1,1),new e("abil",-1,1),new e("iv",-1,1)],w=[new e("ica",-1,1),new e("ância",-1,1),new e("ência",-1,4),new e("ira",-1,9),new e("adora",-1,1),new e("osa",-1,1),new e("ista",-1,1),new e("iva",-1,8),new e("eza",-1,1),new e("logía",-1,2),new e("idade",-1,7),new e("ante",-1,1),new e("mente",-1,6),new e("amente",12,5),new e("ável",-1,1),new e("ível",-1,1),new e("ución",-1,3),new e("ico",-1,1),new e("ismo",-1,1),new e("oso",-1,1),new e("amento",-1,1),new e("imento",-1,1),new e("ivo",-1,8),new e("aça~o",-1,1),new e("ador",-1,1),new e("icas",-1,1),new e("ências",-1,4),new e("iras",-1,9),new e("adoras",-1,1),new e("osas",-1,1),new e("istas",-1,1),new e("ivas",-1,8),new e("ezas",-1,1),new e("logías",-1,2),new e("idades",-1,7),new e("uciones",-1,3),new e("adores",-1,1),new e("antes",-1,1),new e("aço~es",-1,1),new e("icos",-1,1),new e("ismos",-1,1),new e("osos",-1,1),new e("amentos",-1,1),new e("imentos",-1,1),new e("ivos",-1,8)],m=[new e("ada",-1,1),new e("ida",-1,1),new e("ia",-1,1),new e("aria",2,1),new e("eria",2,1),new e("iria",2,1),new e("ara",-1,1),new e("era",-1,1),new e("ira",-1,1),new e("ava",-1,1),new e("asse",-1,1),new e("esse",-1,1),new e("isse",-1,1),new e("aste",-1,1),new e("este",-1,1),new e("iste",-1,1),new e("ei",-1,1),new e("arei",16,1),new e("erei",16,1),new e("irei",16,1),new e("am",-1,1),new e("iam",20,1),new e("ariam",21,1),new e("eriam",21,1),new e("iriam",21,1),new e("aram",20,1),new e("eram",20,1),new e("iram",20,1),new e("avam",20,1),new e("em",-1,1),new e("arem",29,1),new e("erem",29,1),new e("irem",29,1),new e("assem",29,1),new e("essem",29,1),new e("issem",29,1),new e("ado",-1,1),new e("ido",-1,1),new e("ando",-1,1),new e("endo",-1,1),new e("indo",-1,1),new e("ara~o",-1,1),new e("era~o",-1,1),new e("ira~o",-1,1),new e("ar",-1,1),new e("er",-1,1),new e("ir",-1,1),new e("as",-1,1),new e("adas",47,1),new e("idas",47,1),new e("ias",47,1),new e("arias",50,1),new e("erias",50,1),new e("irias",50,1),new e("aras",47,1),new e("eras",47,1),new e("iras",47,1),new e("avas",47,1),new e("es",-1,1),new e("ardes",58,1),new e("erdes",58,1),new e("irdes",58,1),new e("ares",58,1),new e("eres",58,1),new e("ires",58,1),new e("asses",58,1),new e("esses",58,1),new e("isses",58,1),new e("astes",58,1),new e("estes",58,1),new e("istes",58,1),new e("is",-1,1),new e("ais",71,1),new e("eis",71,1),new e("areis",73,1),new e("ereis",73,1),new e("ireis",73,1),new e("áreis",73,1),new e("éreis",73,1),new e("íreis",73,1),new e("ásseis",73,1),new e("ésseis",73,1),new e("ísseis",73,1),new e("áveis",73,1),new e("íeis",73,1),new e("aríeis",84,1),new e("eríeis",84,1),new e("iríeis",84,1),new e("ados",-1,1),new e("idos",-1,1),new e("amos",-1,1),new e("áramos",90,1),new e("éramos",90,1),new e("íramos",90,1),new e("ávamos",90,1),new e("íamos",90,1),new e("aríamos",95,1),new e("eríamos",95,1),new e("iríamos",95,1),new e("emos",-1,1),new e("aremos",99,1),new e("eremos",99,1),new e("iremos",99,1),new e("ássemos",99,1),new e("êssemos",99,1),new e("íssemos",99,1),new e("imos",-1,1),new e("armos",-1,1),new e("ermos",-1,1),new e("irmos",-1,1),new e("ámos",-1,1),new e("arás",-1,1),new e("erás",-1,1),new e("irás",-1,1),new e("eu",-1,1),new e("iu",-1,1),new e("ou",-1,1),new e("ará",-1,1),new e("erá",-1,1),new e("irá",-1,1)],c=[new e("a",-1,1),new e("i",-1,1),new e("o",-1,1),new e("os",-1,1),new e("á",-1,1),new e("í",-1,1),new e("ó",-1,1)],l=[new e("e",-1,1),new e("ç",-1,2),new e("é",-1,1),new e("ê",-1,1)],f=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,3,19,12,2],d=new W;function p(){if(!d.out_grouping(f,97,250))return 1;for(;!d.in_grouping(f,97,250);){if(d.cursor>=d.limit)return 1;d.cursor++}}function v(){var e,r=d.cursor;if(d.in_grouping(f,97,250))if(e=d.cursor,p()){if(d.cursor=e,function(){if(d.in_grouping(f,97,250))for(;!d.out_grouping(f,97,250);){if(d.cursor>=d.limit)return;d.cursor++}return t=d.cursor,1}())return}else t=d.cursor;if(d.cursor=r,d.out_grouping(f,97,250)){if(e=d.cursor,p()){if(d.cursor=e,!d.in_grouping(f,97,250)||d.cursor>=d.limit)return;d.cursor++}t=d.cursor}}function _(){for(;!d.in_grouping(f,97,250);){if(d.cursor>=d.limit)return;d.cursor++}for(;!d.out_grouping(f,97,250);){if(d.cursor>=d.limit)return;d.cursor++}return 1}function h(){return t<=d.cursor}function b(){return o<=d.cursor}function g(){var e;if(d.ket=d.cursor,e=d.find_among_b(w,45)){switch(d.bra=d.cursor,e){case 1:if(!b())return;d.slice_del();break;case 2:if(!b())return;d.slice_from("log");break;case 3:if(!b())return;d.slice_from("u");break;case 4:if(!b())return;d.slice_from("ente");break;case 5:if(!(i<=d.cursor))return;d.slice_del(),d.ket=d.cursor,(e=d.find_among_b(r,4))&&(d.bra=d.cursor,b())&&(d.slice_del(),1==e)&&(d.ket=d.cursor,d.eq_s_b(2,"at"))&&(d.bra=d.cursor,b())&&d.slice_del();break;case 6:if(!b())return;d.slice_del(),d.ket=d.cursor,(e=d.find_among_b(s,3))&&(d.bra=d.cursor,1==e)&&b()&&d.slice_del();break;case 7:if(!b())return;d.slice_del(),d.ket=d.cursor,(e=d.find_among_b(n,3))&&(d.bra=d.cursor,1==e)&&b()&&d.slice_del();break;case 8:if(!b())return;d.slice_del(),d.ket=d.cursor,d.eq_s_b(2,"at")&&(d.bra=d.cursor,b())&&d.slice_del();break;case 9:if(!h()||!d.eq_s_b(1,"e"))return;d.slice_from("ir")}return 1}}function k(e,r){if(d.eq_s_b(1,e)){d.bra=d.cursor;e=d.limit-d.cursor;if(d.eq_s_b(1,r))return d.cursor=d.limit-e,void(h()&&d.slice_del())}return 1}function q(){var e;g()||(d.cursor=d.limit,function(){var e,r;if(d.cursor>=t){if(r=d.limit_backward,d.limit_backward=t,d.ket=d.cursor,e=d.find_among_b(m,120))return d.bra=d.cursor,1==e&&d.slice_del(),d.limit_backward=r,1;d.limit_backward=r}}())?(d.cursor=d.limit,d.ket=d.cursor,d.eq_s_b(1,"i")&&(d.bra=d.cursor,d.eq_s_b(1,"c"))&&(d.cursor=d.limit,h())&&d.slice_del()):(d.cursor=d.limit,d.ket=d.cursor,(e=d.find_among_b(c,7))&&(d.bra=d.cursor,1==e)&&h()&&d.slice_del())}this.setCurrent=function(e){d.setCurrent(e)},this.getCurrent=function(){return d.getCurrent()},this.stem=function(){for(var e,r,s,n=d.cursor;;){if(d.bra=d.cursor,e=d.find_among(a,3))switch(d.ket=d.cursor,e){case 1:d.slice_from("a~");continue;case 2:d.slice_from("o~");continue;case 3:if(!(d.cursor>=d.limit)){d.cursor++;continue}}break}if(d.cursor=n,r=d.cursor,t=d.limit,o=i=t,v(),d.cursor=r,_()&&(i=d.cursor,_())&&(o=d.cursor),d.limit_backward=n,d.cursor=d.limit,q(),d.cursor=d.limit,d.ket=d.cursor,r=d.find_among_b(l,4))switch(d.bra=d.cursor,r){case 1:h()&&(d.slice_del(),d.ket=d.cursor,d.limit,d.cursor,k("u","g"))&&k("i","c");break;case 2:d.slice_from("c")}for(d.cursor=d.limit_backward;;){if(d.bra=d.cursor,s=d.find_among(u,3))switch(d.ket=d.cursor,s){case 1:d.slice_from("ã");continue;case 2:d.slice_from("õ");continue;case 3:if(!(d.cursor>=d.limit)){d.cursor++;continue}}break}return!0}},function(e){return s.setCurrent(e),s.stem(),s.getCurrent()}),r.Pipeline.registerFunction(r.pt.stemmer,"stemmer-pt"),r.pt.stopWordFilter=function(e){if(-1===r.pt.stopWordFilter.stopWords.indexOf(e))return e},r.pt.stopWordFilter.stopWords=new r.SortedSet,r.pt.stopWordFilter.stopWords.length=204,r.pt.stopWordFilter.stopWords.elements=" a ao aos aquela aquelas aquele aqueles aquilo as até com como da das de dela delas dele deles depois do dos e ela elas ele eles em entre era eram essa essas esse esses esta estamos estas estava estavam este esteja estejam estejamos estes esteve estive estivemos estiver estivera estiveram estiverem estivermos estivesse estivessem estivéramos estivéssemos estou está estávamos estão eu foi fomos for fora foram forem formos fosse fossem fui fôramos fôssemos haja hajam hajamos havemos hei houve houvemos houver houvera houveram houverei houverem houveremos houveria houveriam houvermos houverá houverão houveríamos houvesse houvessem houvéramos houvéssemos há hão isso isto já lhe lhes mais mas me mesmo meu meus minha minhas muito na nas nem no nos nossa nossas nosso nossos num numa não nós o os ou para pela pelas pelo pelos por qual quando que quem se seja sejam sejamos sem serei seremos seria seriam será serão seríamos seu seus somos sou sua suas são só também te tem temos tenha tenham tenhamos tenho terei teremos teria teriam terá terão teríamos teu teus teve tinha tinham tive tivemos tiver tivera tiveram tiverem tivermos tivesse tivessem tivéramos tivéssemos tu tua tuas tém tínhamos um uma você vocês vos à às éramos".split(" "),r.Pipeline.registerFunction(r.pt.stopWordFilter,"stopWordFilter-pt")}});
\ No newline at end of file diff --git a/static/js/lunr.ro.js b/static/js/lunr.ro.js new file mode 100644 index 0000000..845497f --- /dev/null +++ b/static/js/lunr.ro.js @@ -0,0 +1,554 @@ +/*! + * Lunr languages, `Romanian` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +/** + * export the module via AMD, CommonJS or as a browser global + * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js + */ +; +(function(root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(factory) + } else if (typeof exports === 'object') { + /** + * Node. Does not work with strict CommonJS, but + * only CommonJS-like environments that support module.exports, + * like Node. + */ + module.exports = factory() + } else { + // Browser globals (root is window) + factory()(root.lunr); + } +}(this, function() { + /** + * Just return a value to define the module export. + * This example returns an object, but the module + * can return a function as the exported value. + */ + return function(lunr) { + /* throw error if lunr is not yet included */ + if ('undefined' === typeof lunr) { + throw new Error('Lunr is not present. Please include / require Lunr before this script.'); + } + + /* throw error if lunr stemmer support is not yet included */ + if ('undefined' === typeof lunr.stemmerSupport) { + throw new Error('Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.'); + } + + /* register specific locale function */ + lunr.ro = function() { + this.pipeline.reset(); + this.pipeline.add( + lunr.ro.trimmer, + lunr.ro.stopWordFilter, + lunr.ro.stemmer + ); + }; + + /* lunr trimmer function */ + lunr.ro.wordCharacters = "A-Za-z\xAA\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u02E0-\u02E4\u1D00-\u1D25\u1D2C-\u1D5C\u1D62-\u1D65\u1D6B-\u1D77\u1D79-\u1DBE\u1E00-\u1EFF\u2071\u207F\u2090-\u209C\u212A\u212B\u2132\u214E\u2160-\u2188\u2C60-\u2C7F\uA722-\uA787\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA7FF\uAB30-\uAB5A\uAB5C-\uAB64\uFB00-\uFB06\uFF21-\uFF3A\uFF41-\uFF5A"; + lunr.ro.trimmer = lunr.trimmerSupport.generateTrimmer(lunr.ro.wordCharacters); + + lunr.Pipeline.registerFunction(lunr.ro.trimmer, 'trimmer-ro'); + + /* lunr stemmer function */ + lunr.ro.stemmer = (function() { + /* create the wrapped stemmer object */ + var Among = lunr.stemmerSupport.Among, + SnowballProgram = lunr.stemmerSupport.SnowballProgram, + st = new function RomanianStemmer() { + var a_0 = [new Among("", -1, 3), new Among("I", 0, 1), new Among("U", 0, 2)], + a_1 = [ + new Among("ea", -1, 3), new Among("a\u0163ia", -1, 7), + new Among("aua", -1, 2), new Among("iua", -1, 4), + new Among("a\u0163ie", -1, 7), new Among("ele", -1, 3), + new Among("ile", -1, 5), new Among("iile", 6, 4), + new Among("iei", -1, 4), new Among("atei", -1, 6), + new Among("ii", -1, 4), new Among("ului", -1, 1), + new Among("ul", -1, 1), new Among("elor", -1, 3), + new Among("ilor", -1, 4), new Among("iilor", 14, 4) + ], + a_2 = [ + new Among("icala", -1, 4), new Among("iciva", -1, 4), + new Among("ativa", -1, 5), new Among("itiva", -1, 6), + new Among("icale", -1, 4), new Among("a\u0163iune", -1, 5), + new Among("i\u0163iune", -1, 6), new Among("atoare", -1, 5), + new Among("itoare", -1, 6), new Among("\u0103toare", -1, 5), + new Among("icitate", -1, 4), new Among("abilitate", -1, 1), + new Among("ibilitate", -1, 2), new Among("ivitate", -1, 3), + new Among("icive", -1, 4), new Among("ative", -1, 5), + new Among("itive", -1, 6), new Among("icali", -1, 4), + new Among("atori", -1, 5), new Among("icatori", 18, 4), + new Among("itori", -1, 6), new Among("\u0103tori", -1, 5), + new Among("icitati", -1, 4), new Among("abilitati", -1, 1), + new Among("ivitati", -1, 3), new Among("icivi", -1, 4), + new Among("ativi", -1, 5), new Among("itivi", -1, 6), + new Among("icit\u0103i", -1, 4), new Among("abilit\u0103i", -1, 1), + new Among("ivit\u0103i", -1, 3), + new Among("icit\u0103\u0163i", -1, 4), + new Among("abilit\u0103\u0163i", -1, 1), + new Among("ivit\u0103\u0163i", -1, 3), new Among("ical", -1, 4), + new Among("ator", -1, 5), new Among("icator", 35, 4), + new Among("itor", -1, 6), new Among("\u0103tor", -1, 5), + new Among("iciv", -1, 4), new Among("ativ", -1, 5), + new Among("itiv", -1, 6), new Among("ical\u0103", -1, 4), + new Among("iciv\u0103", -1, 4), new Among("ativ\u0103", -1, 5), + new Among("itiv\u0103", -1, 6) + ], + a_3 = [new Among("ica", -1, 1), + new Among("abila", -1, 1), new Among("ibila", -1, 1), + new Among("oasa", -1, 1), new Among("ata", -1, 1), + new Among("ita", -1, 1), new Among("anta", -1, 1), + new Among("ista", -1, 3), new Among("uta", -1, 1), + new Among("iva", -1, 1), new Among("ic", -1, 1), + new Among("ice", -1, 1), new Among("abile", -1, 1), + new Among("ibile", -1, 1), new Among("isme", -1, 3), + new Among("iune", -1, 2), new Among("oase", -1, 1), + new Among("ate", -1, 1), new Among("itate", 17, 1), + new Among("ite", -1, 1), new Among("ante", -1, 1), + new Among("iste", -1, 3), new Among("ute", -1, 1), + new Among("ive", -1, 1), new Among("ici", -1, 1), + new Among("abili", -1, 1), new Among("ibili", -1, 1), + new Among("iuni", -1, 2), new Among("atori", -1, 1), + new Among("osi", -1, 1), new Among("ati", -1, 1), + new Among("itati", 30, 1), new Among("iti", -1, 1), + new Among("anti", -1, 1), new Among("isti", -1, 3), + new Among("uti", -1, 1), new Among("i\u015Fti", -1, 3), + new Among("ivi", -1, 1), new Among("it\u0103i", -1, 1), + new Among("o\u015Fi", -1, 1), new Among("it\u0103\u0163i", -1, 1), + new Among("abil", -1, 1), new Among("ibil", -1, 1), + new Among("ism", -1, 3), new Among("ator", -1, 1), + new Among("os", -1, 1), new Among("at", -1, 1), + new Among("it", -1, 1), new Among("ant", -1, 1), + new Among("ist", -1, 3), new Among("ut", -1, 1), + new Among("iv", -1, 1), new Among("ic\u0103", -1, 1), + new Among("abil\u0103", -1, 1), new Among("ibil\u0103", -1, 1), + new Among("oas\u0103", -1, 1), new Among("at\u0103", -1, 1), + new Among("it\u0103", -1, 1), new Among("ant\u0103", -1, 1), + new Among("ist\u0103", -1, 3), new Among("ut\u0103", -1, 1), + new Among("iv\u0103", -1, 1) + ], + a_4 = [new Among("ea", -1, 1), + new Among("ia", -1, 1), new Among("esc", -1, 1), + new Among("\u0103sc", -1, 1), new Among("ind", -1, 1), + new Among("\u00E2nd", -1, 1), new Among("are", -1, 1), + new Among("ere", -1, 1), new Among("ire", -1, 1), + new Among("\u00E2re", -1, 1), new Among("se", -1, 2), + new Among("ase", 10, 1), new Among("sese", 10, 2), + new Among("ise", 10, 1), new Among("use", 10, 1), + new Among("\u00E2se", 10, 1), new Among("e\u015Fte", -1, 1), + new Among("\u0103\u015Fte", -1, 1), new Among("eze", -1, 1), + new Among("ai", -1, 1), new Among("eai", 19, 1), + new Among("iai", 19, 1), new Among("sei", -1, 2), + new Among("e\u015Fti", -1, 1), new Among("\u0103\u015Fti", -1, 1), + new Among("ui", -1, 1), new Among("ezi", -1, 1), + new Among("\u00E2i", -1, 1), new Among("a\u015Fi", -1, 1), + new Among("se\u015Fi", -1, 2), new Among("ase\u015Fi", 29, 1), + new Among("sese\u015Fi", 29, 2), new Among("ise\u015Fi", 29, 1), + new Among("use\u015Fi", 29, 1), + new Among("\u00E2se\u015Fi", 29, 1), new Among("i\u015Fi", -1, 1), + new Among("u\u015Fi", -1, 1), new Among("\u00E2\u015Fi", -1, 1), + new Among("a\u0163i", -1, 2), new Among("ea\u0163i", 38, 1), + new Among("ia\u0163i", 38, 1), new Among("e\u0163i", -1, 2), + new Among("i\u0163i", -1, 2), new Among("\u00E2\u0163i", -1, 2), + new Among("ar\u0103\u0163i", -1, 1), + new Among("ser\u0103\u0163i", -1, 2), + new Among("aser\u0103\u0163i", 45, 1), + new Among("seser\u0103\u0163i", 45, 2), + new Among("iser\u0103\u0163i", 45, 1), + new Among("user\u0103\u0163i", 45, 1), + new Among("\u00E2ser\u0103\u0163i", 45, 1), + new Among("ir\u0103\u0163i", -1, 1), + new Among("ur\u0103\u0163i", -1, 1), + new Among("\u00E2r\u0103\u0163i", -1, 1), new Among("am", -1, 1), + new Among("eam", 54, 1), new Among("iam", 54, 1), + new Among("em", -1, 2), new Among("asem", 57, 1), + new Among("sesem", 57, 2), new Among("isem", 57, 1), + new Among("usem", 57, 1), new Among("\u00E2sem", 57, 1), + new Among("im", -1, 2), new Among("\u00E2m", -1, 2), + new Among("\u0103m", -1, 2), new Among("ar\u0103m", 65, 1), + new Among("ser\u0103m", 65, 2), new Among("aser\u0103m", 67, 1), + new Among("seser\u0103m", 67, 2), new Among("iser\u0103m", 67, 1), + new Among("user\u0103m", 67, 1), + new Among("\u00E2ser\u0103m", 67, 1), + new Among("ir\u0103m", 65, 1), new Among("ur\u0103m", 65, 1), + new Among("\u00E2r\u0103m", 65, 1), new Among("au", -1, 1), + new Among("eau", 76, 1), new Among("iau", 76, 1), + new Among("indu", -1, 1), new Among("\u00E2ndu", -1, 1), + new Among("ez", -1, 1), new Among("easc\u0103", -1, 1), + new Among("ar\u0103", -1, 1), new Among("ser\u0103", -1, 2), + new Among("aser\u0103", 84, 1), new Among("seser\u0103", 84, 2), + new Among("iser\u0103", 84, 1), new Among("user\u0103", 84, 1), + new Among("\u00E2ser\u0103", 84, 1), new Among("ir\u0103", -1, 1), + new Among("ur\u0103", -1, 1), new Among("\u00E2r\u0103", -1, 1), + new Among("eaz\u0103", -1, 1) + ], + a_5 = [new Among("a", -1, 1), + new Among("e", -1, 1), new Among("ie", 1, 1), + new Among("i", -1, 1), new Among("\u0103", -1, 1) + ], + g_v = [17, 65, + 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 32, 0, 0, 4 + ], + B_standard_suffix_removed, I_p2, I_p1, I_pV, sbp = new SnowballProgram(); + this.setCurrent = function(word) { + sbp.setCurrent(word); + }; + this.getCurrent = function() { + return sbp.getCurrent(); + }; + + function habr1(c1, c2) { + if (sbp.eq_s(1, c1)) { + sbp.ket = sbp.cursor; + if (sbp.in_grouping(g_v, 97, 259)) + sbp.slice_from(c2); + } + } + + function r_prelude() { + var v_1, v_2; + while (true) { + v_1 = sbp.cursor; + if (sbp.in_grouping(g_v, 97, 259)) { + v_2 = sbp.cursor; + sbp.bra = v_2; + habr1("u", "U"); + sbp.cursor = v_2; + habr1("i", "I"); + } + sbp.cursor = v_1; + if (sbp.cursor >= sbp.limit) { + break; + } + sbp.cursor++; + } + } + + function habr2() { + if (sbp.out_grouping(g_v, 97, 259)) { + while (!sbp.in_grouping(g_v, 97, 259)) { + if (sbp.cursor >= sbp.limit) + return true; + sbp.cursor++; + } + return false; + } + return true; + } + + function habr3() { + if (sbp.in_grouping(g_v, 97, 259)) { + while (!sbp.out_grouping(g_v, 97, 259)) { + if (sbp.cursor >= sbp.limit) + return true; + sbp.cursor++; + } + } + return false; + } + + function habr4() { + var v_1 = sbp.cursor, + v_2, v_3; + if (sbp.in_grouping(g_v, 97, 259)) { + v_2 = sbp.cursor; + if (habr2()) { + sbp.cursor = v_2; + if (!habr3()) { + I_pV = sbp.cursor; + return; + } + } else { + I_pV = sbp.cursor; + return; + } + } + sbp.cursor = v_1; + if (sbp.out_grouping(g_v, 97, 259)) { + v_3 = sbp.cursor; + if (habr2()) { + sbp.cursor = v_3; + if (sbp.in_grouping(g_v, 97, 259) && sbp.cursor < sbp.limit) + sbp.cursor++; + } + I_pV = sbp.cursor; + } + } + + function habr5() { + while (!sbp.in_grouping(g_v, 97, 259)) { + if (sbp.cursor >= sbp.limit) + return false; + sbp.cursor++; + } + while (!sbp.out_grouping(g_v, 97, 259)) { + if (sbp.cursor >= sbp.limit) + return false; + sbp.cursor++; + } + return true; + } + + function r_mark_regions() { + var v_1 = sbp.cursor; + I_pV = sbp.limit; + I_p1 = I_pV; + I_p2 = I_pV; + habr4(); + sbp.cursor = v_1; + if (habr5()) { + I_p1 = sbp.cursor; + if (habr5()) + I_p2 = sbp.cursor; + } + } + + function r_postlude() { + var among_var; + while (true) { + sbp.bra = sbp.cursor; + among_var = sbp.find_among(a_0, 3); + if (among_var) { + sbp.ket = sbp.cursor; + switch (among_var) { + case 1: + sbp.slice_from("i"); + continue; + case 2: + sbp.slice_from("u"); + continue; + case 3: + if (sbp.cursor >= sbp.limit) + break; + sbp.cursor++; + continue; + } + } + break; + } + } + + function r_RV() { + return I_pV <= sbp.cursor; + } + + function r_R1() { + return I_p1 <= sbp.cursor; + } + + function r_R2() { + return I_p2 <= sbp.cursor; + } + + function r_step_0() { + var among_var, v_1; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_1, 16); + if (among_var) { + sbp.bra = sbp.cursor; + if (r_R1()) { + switch (among_var) { + case 1: + sbp.slice_del(); + break; + case 2: + sbp.slice_from("a"); + break; + case 3: + sbp.slice_from("e"); + break; + case 4: + sbp.slice_from("i"); + break; + case 5: + v_1 = sbp.limit - sbp.cursor; + if (!sbp.eq_s_b(2, "ab")) { + sbp.cursor = sbp.limit - v_1; + sbp.slice_from("i"); + } + break; + case 6: + sbp.slice_from("at"); + break; + case 7: + sbp.slice_from("a\u0163i"); + break; + } + } + } + } + + function r_combo_suffix() { + var among_var, v_1 = sbp.limit - sbp.cursor; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_2, 46); + if (among_var) { + sbp.bra = sbp.cursor; + if (r_R1()) { + switch (among_var) { + case 1: + sbp.slice_from("abil"); + break; + case 2: + sbp.slice_from("ibil"); + break; + case 3: + sbp.slice_from("iv"); + break; + case 4: + sbp.slice_from("ic"); + break; + case 5: + sbp.slice_from("at"); + break; + case 6: + sbp.slice_from("it"); + break; + } + B_standard_suffix_removed = true; + sbp.cursor = sbp.limit - v_1; + return true; + } + } + return false; + } + + function r_standard_suffix() { + var among_var, v_1; + B_standard_suffix_removed = false; + while (true) { + v_1 = sbp.limit - sbp.cursor; + if (!r_combo_suffix()) { + sbp.cursor = sbp.limit - v_1; + break; + } + } + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_3, 62); + if (among_var) { + sbp.bra = sbp.cursor; + if (r_R2()) { + switch (among_var) { + case 1: + sbp.slice_del(); + break; + case 2: + if (sbp.eq_s_b(1, "\u0163")) { + sbp.bra = sbp.cursor; + sbp.slice_from("t"); + } + break; + case 3: + sbp.slice_from("ist"); + break; + } + B_standard_suffix_removed = true; + } + } + } + + function r_verb_suffix() { + var among_var, v_1, v_2; + if (sbp.cursor >= I_pV) { + v_1 = sbp.limit_backward; + sbp.limit_backward = I_pV; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_4, 94); + if (among_var) { + sbp.bra = sbp.cursor; + switch (among_var) { + case 1: + v_2 = sbp.limit - sbp.cursor; + if (!sbp.out_grouping_b(g_v, 97, 259)) { + sbp.cursor = sbp.limit - v_2; + if (!sbp.eq_s_b(1, "u")) + break; + } + case 2: + sbp.slice_del(); + break; + } + } + sbp.limit_backward = v_1; + } + } + + function r_vowel_suffix() { + var among_var; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_5, 5); + if (among_var) { + sbp.bra = sbp.cursor; + if (r_RV() && among_var == 1) + sbp.slice_del(); + } + } + this.stem = function() { + var v_1 = sbp.cursor; + r_prelude(); + sbp.cursor = v_1; + r_mark_regions(); + sbp.limit_backward = v_1; + sbp.cursor = sbp.limit; + r_step_0(); + sbp.cursor = sbp.limit; + r_standard_suffix(); + sbp.cursor = sbp.limit; + if (!B_standard_suffix_removed) { + sbp.cursor = sbp.limit; + r_verb_suffix(); + sbp.cursor = sbp.limit; + } + r_vowel_suffix(); + sbp.cursor = sbp.limit_backward; + r_postlude(); + return true; + } + }; + + /* and return a function that stems a word for the current locale */ + return function(word) { + st.setCurrent(word); + st.stem(); + return st.getCurrent(); + } + })(); + + lunr.Pipeline.registerFunction(lunr.ro.stemmer, 'stemmer-ro'); + + /* stop word filter function */ + lunr.ro.stopWordFilter = function(token) { + if (lunr.ro.stopWordFilter.stopWords.indexOf(token) === -1) { + return token; + } + }; + + lunr.ro.stopWordFilter.stopWords = new lunr.SortedSet(); + lunr.ro.stopWordFilter.stopWords.length = 282; + + // The space at the beginning is crucial: It marks the empty string + // as a stop word. lunr.js crashes during search when documents + // processed by the pipeline still contain the empty string. + lunr.ro.stopWordFilter.stopWords.elements = ' acea aceasta această aceea acei aceia acel acela acele acelea acest acesta aceste acestea aceşti aceştia acolo acord acum ai aia aibă aici al ale alea altceva altcineva am ar are asemenea asta astea astăzi asupra au avea avem aveţi azi aş aşadar aţi bine bucur bună ca care caut ce cel ceva chiar cinci cine cineva contra cu cum cumva curând curînd când cât câte câtva câţi cînd cît cîte cîtva cîţi că căci cărei căror cărui către da dacă dar datorită dată dau de deci deja deoarece departe deşi din dinaintea dintr- dintre doi doilea două drept după dă ea ei el ele eram este eu eşti face fata fi fie fiecare fii fim fiu fiţi frumos fără graţie halbă iar ieri la le li lor lui lângă lîngă mai mea mei mele mereu meu mi mie mine mult multă mulţi mulţumesc mâine mîine mă ne nevoie nici nicăieri nimeni nimeri nimic nişte noastre noastră noi noroc nostru nouă noştri nu opt ori oricare orice oricine oricum oricând oricât oricînd oricît oriunde patra patru patrulea pe pentru peste pic poate pot prea prima primul prin puţin puţina puţină până pînă rog sa sale sau se spate spre sub sunt suntem sunteţi sută sînt sîntem sînteţi să săi său ta tale te timp tine toate toată tot totuşi toţi trei treia treilea tu tăi tău un una unde undeva unei uneia unele uneori unii unor unora unu unui unuia unul vi voastre voastră voi vostru vouă voştri vreme vreo vreun vă zece zero zi zice îi îl îmi împotriva în înainte înaintea încotro încât încît între întrucât întrucît îţi ăla ălea ăsta ăstea ăştia şapte şase şi ştiu ţi ţie'.split(' '); + + lunr.Pipeline.registerFunction(lunr.ro.stopWordFilter, 'stopWordFilter-ro'); + }; +}))
\ No newline at end of file diff --git a/static/js/lunr.ro.min.js b/static/js/lunr.ro.min.js new file mode 100644 index 0000000..0f38816 --- /dev/null +++ b/static/js/lunr.ro.min.js @@ -0,0 +1 @@ +!function(e,i){"function"==typeof define&&define.amd?define(i):"object"==typeof exports?module.exports=i():i()(e.lunr)}(this,function(){return function(i){if(void 0===i)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===i.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var e,a,r;i.ro=function(){this.pipeline.reset(),this.pipeline.add(i.ro.trimmer,i.ro.stopWordFilter,i.ro.stemmer)},i.ro.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",i.ro.trimmer=i.trimmerSupport.generateTrimmer(i.ro.wordCharacters),i.Pipeline.registerFunction(i.ro.trimmer,"trimmer-ro"),i.ro.stemmer=(e=i.stemmerSupport.Among,a=i.stemmerSupport.SnowballProgram,r=new function(){var s,c,u,w,m=[new e("",-1,3),new e("I",0,1),new e("U",0,2)],l=[new e("ea",-1,3),new e("aţia",-1,7),new e("aua",-1,2),new e("iua",-1,4),new e("aţie",-1,7),new e("ele",-1,3),new e("ile",-1,5),new e("iile",6,4),new e("iei",-1,4),new e("atei",-1,6),new e("ii",-1,4),new e("ului",-1,1),new e("ul",-1,1),new e("elor",-1,3),new e("ilor",-1,4),new e("iilor",14,4)],r=[new e("icala",-1,4),new e("iciva",-1,4),new e("ativa",-1,5),new e("itiva",-1,6),new e("icale",-1,4),new e("aţiune",-1,5),new e("iţiune",-1,6),new e("atoare",-1,5),new e("itoare",-1,6),new e("ătoare",-1,5),new e("icitate",-1,4),new e("abilitate",-1,1),new e("ibilitate",-1,2),new e("ivitate",-1,3),new e("icive",-1,4),new e("ative",-1,5),new e("itive",-1,6),new e("icali",-1,4),new e("atori",-1,5),new e("icatori",18,4),new e("itori",-1,6),new e("ători",-1,5),new e("icitati",-1,4),new e("abilitati",-1,1),new e("ivitati",-1,3),new e("icivi",-1,4),new e("ativi",-1,5),new e("itivi",-1,6),new e("icităi",-1,4),new e("abilităi",-1,1),new e("ivităi",-1,3),new e("icităţi",-1,4),new e("abilităţi",-1,1),new e("ivităţi",-1,3),new e("ical",-1,4),new e("ator",-1,5),new e("icator",35,4),new e("itor",-1,6),new e("ător",-1,5),new e("iciv",-1,4),new e("ativ",-1,5),new e("itiv",-1,6),new e("icală",-1,4),new e("icivă",-1,4),new e("ativă",-1,5),new e("itivă",-1,6)],n=[new e("ica",-1,1),new e("abila",-1,1),new e("ibila",-1,1),new e("oasa",-1,1),new e("ata",-1,1),new e("ita",-1,1),new e("anta",-1,1),new e("ista",-1,3),new e("uta",-1,1),new e("iva",-1,1),new e("ic",-1,1),new e("ice",-1,1),new e("abile",-1,1),new e("ibile",-1,1),new e("isme",-1,3),new e("iune",-1,2),new e("oase",-1,1),new e("ate",-1,1),new e("itate",17,1),new e("ite",-1,1),new e("ante",-1,1),new e("iste",-1,3),new e("ute",-1,1),new e("ive",-1,1),new e("ici",-1,1),new e("abili",-1,1),new e("ibili",-1,1),new e("iuni",-1,2),new e("atori",-1,1),new e("osi",-1,1),new e("ati",-1,1),new e("itati",30,1),new e("iti",-1,1),new e("anti",-1,1),new e("isti",-1,3),new e("uti",-1,1),new e("işti",-1,3),new e("ivi",-1,1),new e("ităi",-1,1),new e("oşi",-1,1),new e("ităţi",-1,1),new e("abil",-1,1),new e("ibil",-1,1),new e("ism",-1,3),new e("ator",-1,1),new e("os",-1,1),new e("at",-1,1),new e("it",-1,1),new e("ant",-1,1),new e("ist",-1,3),new e("ut",-1,1),new e("iv",-1,1),new e("ică",-1,1),new e("abilă",-1,1),new e("ibilă",-1,1),new e("oasă",-1,1),new e("ată",-1,1),new e("ită",-1,1),new e("antă",-1,1),new e("istă",-1,3),new e("ută",-1,1),new e("ivă",-1,1)],f=[new e("ea",-1,1),new e("ia",-1,1),new e("esc",-1,1),new e("ăsc",-1,1),new e("ind",-1,1),new e("ând",-1,1),new e("are",-1,1),new e("ere",-1,1),new e("ire",-1,1),new e("âre",-1,1),new e("se",-1,2),new e("ase",10,1),new e("sese",10,2),new e("ise",10,1),new e("use",10,1),new e("âse",10,1),new e("eşte",-1,1),new e("ăşte",-1,1),new e("eze",-1,1),new e("ai",-1,1),new e("eai",19,1),new e("iai",19,1),new e("sei",-1,2),new e("eşti",-1,1),new e("ăşti",-1,1),new e("ui",-1,1),new e("ezi",-1,1),new e("âi",-1,1),new e("aşi",-1,1),new e("seşi",-1,2),new e("aseşi",29,1),new e("seseşi",29,2),new e("iseşi",29,1),new e("useşi",29,1),new e("âseşi",29,1),new e("işi",-1,1),new e("uşi",-1,1),new e("âşi",-1,1),new e("aţi",-1,2),new e("eaţi",38,1),new e("iaţi",38,1),new e("eţi",-1,2),new e("iţi",-1,2),new e("âţi",-1,2),new e("arăţi",-1,1),new e("serăţi",-1,2),new e("aserăţi",45,1),new e("seserăţi",45,2),new e("iserăţi",45,1),new e("userăţi",45,1),new e("âserăţi",45,1),new e("irăţi",-1,1),new e("urăţi",-1,1),new e("ârăţi",-1,1),new e("am",-1,1),new e("eam",54,1),new e("iam",54,1),new e("em",-1,2),new e("asem",57,1),new e("sesem",57,2),new e("isem",57,1),new e("usem",57,1),new e("âsem",57,1),new e("im",-1,2),new e("âm",-1,2),new e("ăm",-1,2),new e("arăm",65,1),new e("serăm",65,2),new e("aserăm",67,1),new e("seserăm",67,2),new e("iserăm",67,1),new e("userăm",67,1),new e("âserăm",67,1),new e("irăm",65,1),new e("urăm",65,1),new e("ârăm",65,1),new e("au",-1,1),new e("eau",76,1),new e("iau",76,1),new e("indu",-1,1),new e("ându",-1,1),new e("ez",-1,1),new e("ească",-1,1),new e("ară",-1,1),new e("seră",-1,2),new e("aseră",84,1),new e("seseră",84,2),new e("iseră",84,1),new e("useră",84,1),new e("âseră",84,1),new e("iră",-1,1),new e("ură",-1,1),new e("âră",-1,1),new e("ează",-1,1)],i=[new e("a",-1,1),new e("e",-1,1),new e("ie",1,1),new e("i",-1,1),new e("ă",-1,1)],d=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,2,32,0,0,4],p=new a;function b(e,i){p.eq_s(1,e)&&(p.ket=p.cursor,p.in_grouping(d,97,259))&&p.slice_from(i)}function t(){if(!p.out_grouping(d,97,259))return 1;for(;!p.in_grouping(d,97,259);){if(p.cursor>=p.limit)return 1;p.cursor++}}function v(){var e,i=p.cursor;if(p.in_grouping(d,97,259)){if(e=p.cursor,!t())return void(w=p.cursor);if(p.cursor=e,!function(){if(p.in_grouping(d,97,259))for(;!p.out_grouping(d,97,259);){if(p.cursor>=p.limit)return 1;p.cursor++}}())return void(w=p.cursor)}p.cursor=i,p.out_grouping(d,97,259)&&(e=p.cursor,t()&&(p.cursor=e,p.in_grouping(d,97,259))&&p.cursor<p.limit&&p.cursor++,w=p.cursor)}function _(){for(;!p.in_grouping(d,97,259);){if(p.cursor>=p.limit)return;p.cursor++}for(;!p.out_grouping(d,97,259);){if(p.cursor>=p.limit)return;p.cursor++}return 1}function g(){return u<=p.cursor}function k(){var e,i;for(s=!1;;)if(i=p.limit-p.cursor,!function(){var e,i=p.limit-p.cursor;if(p.ket=p.cursor,(e=p.find_among_b(r,46))&&(p.bra=p.cursor,g())){switch(e){case 1:p.slice_from("abil");break;case 2:p.slice_from("ibil");break;case 3:p.slice_from("iv");break;case 4:p.slice_from("ic");break;case 5:p.slice_from("at");break;case 6:p.slice_from("it")}return s=!0,p.cursor=p.limit-i,1}}()){p.cursor=p.limit-i;break}if(p.ket=p.cursor,(e=p.find_among_b(n,62))&&(p.bra=p.cursor,c<=p.cursor)){switch(e){case 1:p.slice_del();break;case 2:p.eq_s_b(1,"ţ")&&(p.bra=p.cursor,p.slice_from("t"));break;case 3:p.slice_from("ist")}s=!0}}function h(){var e;p.ket=p.cursor,(e=p.find_among_b(i,5))&&(p.bra=p.cursor,w<=p.cursor)&&1==e&&p.slice_del()}this.setCurrent=function(e){p.setCurrent(e)},this.getCurrent=function(){return p.getCurrent()},this.stem=function(){for(var e,i,r,n,t,a,o=p.cursor;e=p.cursor,p.in_grouping(d,97,259)&&(i=p.cursor,p.bra=i,b("u","U"),p.cursor=i,b("i","I")),p.cursor=e,!(p.cursor>=p.limit);)p.cursor++;if(p.cursor=o,n=p.cursor,w=p.limit,c=u=w,v(),p.cursor=n,_()&&(u=p.cursor,_())&&(c=p.cursor),p.limit_backward=o,p.cursor=p.limit,p.ket=p.cursor,(n=p.find_among_b(l,16))&&(p.bra=p.cursor,g()))switch(n){case 1:p.slice_del();break;case 2:p.slice_from("a");break;case 3:p.slice_from("e");break;case 4:p.slice_from("i");break;case 5:r=p.limit-p.cursor,p.eq_s_b(2,"ab")||(p.cursor=p.limit-r,p.slice_from("i"));break;case 6:p.slice_from("at");break;case 7:p.slice_from("aţi")}if(p.cursor=p.limit,k(),p.cursor=p.limit,!s){if(p.cursor=p.limit,p.cursor>=w){if(o=p.limit_backward,p.limit_backward=w,p.ket=p.cursor,n=p.find_among_b(f,94))switch(p.bra=p.cursor,n){case 1:if(t=p.limit-p.cursor,!p.out_grouping_b(d,97,259)&&(p.cursor=p.limit-t,!p.eq_s_b(1,"u")))break;case 2:p.slice_del()}p.limit_backward=o}p.cursor=p.limit}for(h(),p.cursor=p.limit_backward;;){if(p.bra=p.cursor,a=p.find_among(m,3))switch(p.ket=p.cursor,a){case 1:p.slice_from("i");continue;case 2:p.slice_from("u");continue;case 3:if(!(p.cursor>=p.limit)){p.cursor++;continue}}break}return!0}},function(e){return r.setCurrent(e),r.stem(),r.getCurrent()}),i.Pipeline.registerFunction(i.ro.stemmer,"stemmer-ro"),i.ro.stopWordFilter=function(e){if(-1===i.ro.stopWordFilter.stopWords.indexOf(e))return e},i.ro.stopWordFilter.stopWords=new i.SortedSet,i.ro.stopWordFilter.stopWords.length=282,i.ro.stopWordFilter.stopWords.elements=" acea aceasta această aceea acei aceia acel acela acele acelea acest acesta aceste acestea aceşti aceştia acolo acord acum ai aia aibă aici al ale alea altceva altcineva am ar are asemenea asta astea astăzi asupra au avea avem aveţi azi aş aşadar aţi bine bucur bună ca care caut ce cel ceva chiar cinci cine cineva contra cu cum cumva curând curînd când cât câte câtva câţi cînd cît cîte cîtva cîţi că căci cărei căror cărui către da dacă dar datorită dată dau de deci deja deoarece departe deşi din dinaintea dintr- dintre doi doilea două drept după dă ea ei el ele eram este eu eşti face fata fi fie fiecare fii fim fiu fiţi frumos fără graţie halbă iar ieri la le li lor lui lângă lîngă mai mea mei mele mereu meu mi mie mine mult multă mulţi mulţumesc mâine mîine mă ne nevoie nici nicăieri nimeni nimeri nimic nişte noastre noastră noi noroc nostru nouă noştri nu opt ori oricare orice oricine oricum oricând oricât oricînd oricît oriunde patra patru patrulea pe pentru peste pic poate pot prea prima primul prin puţin puţina puţină până pînă rog sa sale sau se spate spre sub sunt suntem sunteţi sută sînt sîntem sînteţi să săi său ta tale te timp tine toate toată tot totuşi toţi trei treia treilea tu tăi tău un una unde undeva unei uneia unele uneori unii unor unora unu unui unuia unul vi voastre voastră voi vostru vouă voştri vreme vreo vreun vă zece zero zi zice îi îl îmi împotriva în înainte înaintea încotro încât încît între întrucât întrucît îţi ăla ălea ăsta ăstea ăştia şapte şase şi ştiu ţi ţie".split(" "),i.Pipeline.registerFunction(i.ro.stopWordFilter,"stopWordFilter-ro")}});
\ No newline at end of file diff --git a/static/js/lunr.ru.js b/static/js/lunr.ru.js new file mode 100644 index 0000000..7d57236 --- /dev/null +++ b/static/js/lunr.ru.js @@ -0,0 +1,387 @@ +/*! + * Lunr languages, `Russian` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +/** + * export the module via AMD, CommonJS or as a browser global + * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js + */ +; +(function(root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(factory) + } else if (typeof exports === 'object') { + /** + * Node. Does not work with strict CommonJS, but + * only CommonJS-like environments that support module.exports, + * like Node. + */ + module.exports = factory() + } else { + // Browser globals (root is window) + factory()(root.lunr); + } +}(this, function() { + /** + * Just return a value to define the module export. + * This example returns an object, but the module + * can return a function as the exported value. + */ + return function(lunr) { + /* throw error if lunr is not yet included */ + if ('undefined' === typeof lunr) { + throw new Error('Lunr is not present. Please include / require Lunr before this script.'); + } + + /* throw error if lunr stemmer support is not yet included */ + if ('undefined' === typeof lunr.stemmerSupport) { + throw new Error('Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.'); + } + + /* register specific locale function */ + lunr.ru = function() { + this.pipeline.reset(); + this.pipeline.add( + lunr.ru.trimmer, + lunr.ru.stopWordFilter, + lunr.ru.stemmer + ); + }; + + /* lunr trimmer function */ + lunr.ru.wordCharacters = "\u0400-\u0484\u0487-\u052F\u1D2B\u1D78\u2DE0-\u2DFF\uA640-\uA69F\uFE2E\uFE2F"; + lunr.ru.trimmer = lunr.trimmerSupport.generateTrimmer(lunr.ru.wordCharacters); + + lunr.Pipeline.registerFunction(lunr.ru.trimmer, 'trimmer-ru'); + + /* lunr stemmer function */ + lunr.ru.stemmer = (function() { + /* create the wrapped stemmer object */ + var Among = lunr.stemmerSupport.Among, + SnowballProgram = lunr.stemmerSupport.SnowballProgram, + st = new function RussianStemmer() { + var a_0 = [new Among("\u0432", -1, 1), new Among("\u0438\u0432", 0, 2), + new Among("\u044B\u0432", 0, 2), + new Among("\u0432\u0448\u0438", -1, 1), + new Among("\u0438\u0432\u0448\u0438", 3, 2), + new Among("\u044B\u0432\u0448\u0438", 3, 2), + new Among("\u0432\u0448\u0438\u0441\u044C", -1, 1), + new Among("\u0438\u0432\u0448\u0438\u0441\u044C", 6, 2), + new Among("\u044B\u0432\u0448\u0438\u0441\u044C", 6, 2) + ], + a_1 = [ + new Among("\u0435\u0435", -1, 1), new Among("\u0438\u0435", -1, 1), + new Among("\u043E\u0435", -1, 1), new Among("\u044B\u0435", -1, 1), + new Among("\u0438\u043C\u0438", -1, 1), + new Among("\u044B\u043C\u0438", -1, 1), + new Among("\u0435\u0439", -1, 1), new Among("\u0438\u0439", -1, 1), + new Among("\u043E\u0439", -1, 1), new Among("\u044B\u0439", -1, 1), + new Among("\u0435\u043C", -1, 1), new Among("\u0438\u043C", -1, 1), + new Among("\u043E\u043C", -1, 1), new Among("\u044B\u043C", -1, 1), + new Among("\u0435\u0433\u043E", -1, 1), + new Among("\u043E\u0433\u043E", -1, 1), + new Among("\u0435\u043C\u0443", -1, 1), + new Among("\u043E\u043C\u0443", -1, 1), + new Among("\u0438\u0445", -1, 1), new Among("\u044B\u0445", -1, 1), + new Among("\u0435\u044E", -1, 1), new Among("\u043E\u044E", -1, 1), + new Among("\u0443\u044E", -1, 1), new Among("\u044E\u044E", -1, 1), + new Among("\u0430\u044F", -1, 1), new Among("\u044F\u044F", -1, 1) + ], + a_2 = [ + new Among("\u0435\u043C", -1, 1), new Among("\u043D\u043D", -1, 1), + new Among("\u0432\u0448", -1, 1), + new Among("\u0438\u0432\u0448", 2, 2), + new Among("\u044B\u0432\u0448", 2, 2), new Among("\u0449", -1, 1), + new Among("\u044E\u0449", 5, 1), + new Among("\u0443\u044E\u0449", 6, 2) + ], + a_3 = [ + new Among("\u0441\u044C", -1, 1), new Among("\u0441\u044F", -1, 1) + ], + a_4 = [ + new Among("\u043B\u0430", -1, 1), + new Among("\u0438\u043B\u0430", 0, 2), + new Among("\u044B\u043B\u0430", 0, 2), + new Among("\u043D\u0430", -1, 1), + new Among("\u0435\u043D\u0430", 3, 2), + new Among("\u0435\u0442\u0435", -1, 1), + new Among("\u0438\u0442\u0435", -1, 2), + new Among("\u0439\u0442\u0435", -1, 1), + new Among("\u0435\u0439\u0442\u0435", 7, 2), + new Among("\u0443\u0439\u0442\u0435", 7, 2), + new Among("\u043B\u0438", -1, 1), + new Among("\u0438\u043B\u0438", 10, 2), + new Among("\u044B\u043B\u0438", 10, 2), new Among("\u0439", -1, 1), + new Among("\u0435\u0439", 13, 2), new Among("\u0443\u0439", 13, 2), + new Among("\u043B", -1, 1), new Among("\u0438\u043B", 16, 2), + new Among("\u044B\u043B", 16, 2), new Among("\u0435\u043C", -1, 1), + new Among("\u0438\u043C", -1, 2), new Among("\u044B\u043C", -1, 2), + new Among("\u043D", -1, 1), new Among("\u0435\u043D", 22, 2), + new Among("\u043B\u043E", -1, 1), + new Among("\u0438\u043B\u043E", 24, 2), + new Among("\u044B\u043B\u043E", 24, 2), + new Among("\u043D\u043E", -1, 1), + new Among("\u0435\u043D\u043E", 27, 2), + new Among("\u043D\u043D\u043E", 27, 1), + new Among("\u0435\u0442", -1, 1), + new Among("\u0443\u0435\u0442", 30, 2), + new Among("\u0438\u0442", -1, 2), new Among("\u044B\u0442", -1, 2), + new Among("\u044E\u0442", -1, 1), + new Among("\u0443\u044E\u0442", 34, 2), + new Among("\u044F\u0442", -1, 2), new Among("\u043D\u044B", -1, 1), + new Among("\u0435\u043D\u044B", 37, 2), + new Among("\u0442\u044C", -1, 1), + new Among("\u0438\u0442\u044C", 39, 2), + new Among("\u044B\u0442\u044C", 39, 2), + new Among("\u0435\u0448\u044C", -1, 1), + new Among("\u0438\u0448\u044C", -1, 2), new Among("\u044E", -1, 2), + new Among("\u0443\u044E", 44, 2) + ], + a_5 = [ + new Among("\u0430", -1, 1), new Among("\u0435\u0432", -1, 1), + new Among("\u043E\u0432", -1, 1), new Among("\u0435", -1, 1), + new Among("\u0438\u0435", 3, 1), new Among("\u044C\u0435", 3, 1), + new Among("\u0438", -1, 1), new Among("\u0435\u0438", 6, 1), + new Among("\u0438\u0438", 6, 1), + new Among("\u0430\u043C\u0438", 6, 1), + new Among("\u044F\u043C\u0438", 6, 1), + new Among("\u0438\u044F\u043C\u0438", 10, 1), + new Among("\u0439", -1, 1), new Among("\u0435\u0439", 12, 1), + new Among("\u0438\u0435\u0439", 13, 1), + new Among("\u0438\u0439", 12, 1), new Among("\u043E\u0439", 12, 1), + new Among("\u0430\u043C", -1, 1), new Among("\u0435\u043C", -1, 1), + new Among("\u0438\u0435\u043C", 18, 1), + new Among("\u043E\u043C", -1, 1), new Among("\u044F\u043C", -1, 1), + new Among("\u0438\u044F\u043C", 21, 1), new Among("\u043E", -1, 1), + new Among("\u0443", -1, 1), new Among("\u0430\u0445", -1, 1), + new Among("\u044F\u0445", -1, 1), + new Among("\u0438\u044F\u0445", 26, 1), new Among("\u044B", -1, 1), + new Among("\u044C", -1, 1), new Among("\u044E", -1, 1), + new Among("\u0438\u044E", 30, 1), new Among("\u044C\u044E", 30, 1), + new Among("\u044F", -1, 1), new Among("\u0438\u044F", 33, 1), + new Among("\u044C\u044F", 33, 1) + ], + a_6 = [ + new Among("\u043E\u0441\u0442", -1, 1), + new Among("\u043E\u0441\u0442\u044C", -1, 1) + ], + a_7 = [ + new Among("\u0435\u0439\u0448\u0435", -1, 1), + new Among("\u043D", -1, 2), new Among("\u0435\u0439\u0448", -1, 1), + new Among("\u044C", -1, 3) + ], + g_v = [33, 65, 8, 232], + I_p2, I_pV, sbp = new SnowballProgram(); + this.setCurrent = function(word) { + sbp.setCurrent(word); + }; + this.getCurrent = function() { + return sbp.getCurrent(); + }; + + function habr3() { + while (!sbp.in_grouping(g_v, 1072, 1103)) { + if (sbp.cursor >= sbp.limit) + return false; + sbp.cursor++; + } + return true; + } + + function habr4() { + while (!sbp.out_grouping(g_v, 1072, 1103)) { + if (sbp.cursor >= sbp.limit) + return false; + sbp.cursor++; + } + return true; + } + + function r_mark_regions() { + I_pV = sbp.limit; + I_p2 = I_pV; + if (habr3()) { + I_pV = sbp.cursor; + if (habr4()) + if (habr3()) + if (habr4()) + I_p2 = sbp.cursor; + } + } + + function r_R2() { + return I_p2 <= sbp.cursor; + } + + function habr2(a, n) { + var among_var, v_1; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a, n); + if (among_var) { + sbp.bra = sbp.cursor; + switch (among_var) { + case 1: + v_1 = sbp.limit - sbp.cursor; + if (!sbp.eq_s_b(1, "\u0430")) { + sbp.cursor = sbp.limit - v_1; + if (!sbp.eq_s_b(1, "\u044F")) + return false; + } + case 2: + sbp.slice_del(); + break; + } + return true; + } + return false; + } + + function r_perfective_gerund() { + return habr2(a_0, 9); + } + + function habr1(a, n) { + var among_var; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a, n); + if (among_var) { + sbp.bra = sbp.cursor; + if (among_var == 1) + sbp.slice_del(); + return true; + } + return false; + } + + function r_adjective() { + return habr1(a_1, 26); + } + + function r_adjectival() { + var among_var; + if (r_adjective()) { + habr2(a_2, 8); + return true; + } + return false; + } + + function r_reflexive() { + return habr1(a_3, 2); + } + + function r_verb() { + return habr2(a_4, 46); + } + + function r_noun() { + habr1(a_5, 36); + } + + function r_derivational() { + var among_var; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_6, 2); + if (among_var) { + sbp.bra = sbp.cursor; + if (r_R2() && among_var == 1) + sbp.slice_del(); + } + } + + function r_tidy_up() { + var among_var; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_7, 4); + if (among_var) { + sbp.bra = sbp.cursor; + switch (among_var) { + case 1: + sbp.slice_del(); + sbp.ket = sbp.cursor; + if (!sbp.eq_s_b(1, "\u043D")) + break; + sbp.bra = sbp.cursor; + case 2: + if (!sbp.eq_s_b(1, "\u043D")) + break; + case 3: + sbp.slice_del(); + break; + } + } + } + this.stem = function() { + r_mark_regions(); + sbp.cursor = sbp.limit; + if (sbp.cursor < I_pV) + return false; + sbp.limit_backward = I_pV; + if (!r_perfective_gerund()) { + sbp.cursor = sbp.limit; + if (!r_reflexive()) + sbp.cursor = sbp.limit; + if (!r_adjectival()) { + sbp.cursor = sbp.limit; + if (!r_verb()) { + sbp.cursor = sbp.limit; + r_noun(); + } + } + } + sbp.cursor = sbp.limit; + sbp.ket = sbp.cursor; + if (sbp.eq_s_b(1, "\u0438")) { + sbp.bra = sbp.cursor; + sbp.slice_del(); + } else + sbp.cursor = sbp.limit; + r_derivational(); + sbp.cursor = sbp.limit; + r_tidy_up(); + return true; + } + }; + + /* and return a function that stems a word for the current locale */ + return function(word) { + st.setCurrent(word); + st.stem(); + return st.getCurrent(); + } + })(); + + lunr.Pipeline.registerFunction(lunr.ru.stemmer, 'stemmer-ru'); + + /* stop word filter function */ + lunr.ru.stopWordFilter = function(token) { + if (lunr.ru.stopWordFilter.stopWords.indexOf(token) === -1) { + return token; + } + }; + + lunr.ru.stopWordFilter.stopWords = new lunr.SortedSet(); + lunr.ru.stopWordFilter.stopWords.length = 422; + + // The space at the beginning is crucial: It marks the empty string + // as a stop word. lunr.js crashes during search when documents + // processed by the pipeline still contain the empty string. + lunr.ru.stopWordFilter.stopWords.elements = ' алло без близко более больше будем будет будете будешь будто буду будут будь бы бывает бывь был была были было быть в важная важное важные важный вам вами вас ваш ваша ваше ваши вверх вдали вдруг ведь везде весь вниз внизу во вокруг вон восемнадцатый восемнадцать восемь восьмой вот впрочем времени время все всегда всего всем всеми всему всех всею всю всюду вся всё второй вы г где говорил говорит год года году да давно даже далеко дальше даром два двадцатый двадцать две двенадцатый двенадцать двух девятнадцатый девятнадцать девятый девять действительно дел день десятый десять для до довольно долго должно другая другие других друго другое другой е его ее ей ему если есть еще ещё ею её ж же жизнь за занят занята занято заняты затем зато зачем здесь значит и из или им именно иметь ими имя иногда их к каждая каждое каждые каждый кажется как какая какой кем когда кого ком кому конечно которая которого которой которые который которых кроме кругом кто куда лет ли лишь лучше люди м мало между меля менее меньше меня миллионов мимо мира мне много многочисленная многочисленное многочисленные многочисленный мной мною мог могут мож может можно можхо мои мой мор мочь моя моё мы на наверху над надо назад наиболее наконец нам нами нас начала наш наша наше наши не него недавно недалеко нее ней нельзя нем немного нему непрерывно нередко несколько нет нею неё ни нибудь ниже низко никогда никуда ними них ничего но ну нужно нх о об оба обычно один одиннадцатый одиннадцать однажды однако одного одной около он она они оно опять особенно от отовсюду отсюда очень первый перед по под пожалуйста позже пока пор пора после посреди потом потому почему почти прекрасно при про просто против процентов пятнадцатый пятнадцать пятый пять раз разве рано раньше рядом с сам сама сами самим самими самих само самого самой самом самому саму свое своего своей свои своих свою сеаой себе себя сегодня седьмой сейчас семнадцатый семнадцать семь сих сказал сказала сказать сколько слишком сначала снова со собой собою совсем спасибо стал суть т та так такая также такие такое такой там твой твоя твоё те тебе тебя тем теми теперь тех то тобой тобою тогда того тоже только том тому тот тою третий три тринадцатый тринадцать ту туда тут ты тысяч у уж уже уметь хорошо хотеть хоть хотя хочешь часто чаще чего человек чем чему через четвертый четыре четырнадцатый четырнадцать что чтоб чтобы чуть шестнадцатый шестнадцать шестой шесть эта эти этим этими этих это этого этой этом этому этот эту я а'.split(' '); + + lunr.Pipeline.registerFunction(lunr.ru.stopWordFilter, 'stopWordFilter-ru'); + }; +}))
\ No newline at end of file diff --git a/static/js/lunr.ru.min.js b/static/js/lunr.ru.min.js new file mode 100644 index 0000000..717c438 --- /dev/null +++ b/static/js/lunr.ru.min.js @@ -0,0 +1 @@ +!function(e,n){"function"==typeof define&&define.amd?define(n):"object"==typeof exports?module.exports=n():n()(e.lunr)}(this,function(){return function(n){if(void 0===n)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===n.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var g,h,r;n.ru=function(){this.pipeline.reset(),this.pipeline.add(n.ru.trimmer,n.ru.stopWordFilter,n.ru.stemmer)},n.ru.wordCharacters="Ѐ-҄҇-ԯᴫᵸⷠ-ⷿꙀ-ꚟ︮︯",n.ru.trimmer=n.trimmerSupport.generateTrimmer(n.ru.wordCharacters),n.Pipeline.registerFunction(n.ru.trimmer,"trimmer-ru"),n.ru.stemmer=(g=n.stemmerSupport.Among,h=n.stemmerSupport.SnowballProgram,r=new function(){var n,r,w=[new g("в",-1,1),new g("ив",0,2),new g("ыв",0,2),new g("вши",-1,1),new g("ивши",3,2),new g("ывши",3,2),new g("вшись",-1,1),new g("ившись",6,2),new g("ывшись",6,2)],e=[new g("ее",-1,1),new g("ие",-1,1),new g("ое",-1,1),new g("ые",-1,1),new g("ими",-1,1),new g("ыми",-1,1),new g("ей",-1,1),new g("ий",-1,1),new g("ой",-1,1),new g("ый",-1,1),new g("ем",-1,1),new g("им",-1,1),new g("ом",-1,1),new g("ым",-1,1),new g("его",-1,1),new g("ого",-1,1),new g("ему",-1,1),new g("ому",-1,1),new g("их",-1,1),new g("ых",-1,1),new g("ею",-1,1),new g("ою",-1,1),new g("ую",-1,1),new g("юю",-1,1),new g("ая",-1,1),new g("яя",-1,1)],t=[new g("ем",-1,1),new g("нн",-1,1),new g("вш",-1,1),new g("ивш",2,2),new g("ывш",2,2),new g("щ",-1,1),new g("ющ",5,1),new g("ующ",6,2)],i=[new g("сь",-1,1),new g("ся",-1,1)],o=[new g("ла",-1,1),new g("ила",0,2),new g("ыла",0,2),new g("на",-1,1),new g("ена",3,2),new g("ете",-1,1),new g("ите",-1,2),new g("йте",-1,1),new g("ейте",7,2),new g("уйте",7,2),new g("ли",-1,1),new g("или",10,2),new g("ыли",10,2),new g("й",-1,1),new g("ей",13,2),new g("уй",13,2),new g("л",-1,1),new g("ил",16,2),new g("ыл",16,2),new g("ем",-1,1),new g("им",-1,2),new g("ым",-1,2),new g("н",-1,1),new g("ен",22,2),new g("ло",-1,1),new g("ило",24,2),new g("ыло",24,2),new g("но",-1,1),new g("ено",27,2),new g("нно",27,1),new g("ет",-1,1),new g("ует",30,2),new g("ит",-1,2),new g("ыт",-1,2),new g("ют",-1,1),new g("уют",34,2),new g("ят",-1,2),new g("ны",-1,1),new g("ены",37,2),new g("ть",-1,1),new g("ить",39,2),new g("ыть",39,2),new g("ешь",-1,1),new g("ишь",-1,2),new g("ю",-1,2),new g("ую",44,2)],u=[new g("а",-1,1),new g("ев",-1,1),new g("ов",-1,1),new g("е",-1,1),new g("ие",3,1),new g("ье",3,1),new g("и",-1,1),new g("еи",6,1),new g("ии",6,1),new g("ами",6,1),new g("ями",6,1),new g("иями",10,1),new g("й",-1,1),new g("ей",12,1),new g("ией",13,1),new g("ий",12,1),new g("ой",12,1),new g("ам",-1,1),new g("ем",-1,1),new g("ием",18,1),new g("ом",-1,1),new g("ям",-1,1),new g("иям",21,1),new g("о",-1,1),new g("у",-1,1),new g("ах",-1,1),new g("ях",-1,1),new g("иях",26,1),new g("ы",-1,1),new g("ь",-1,1),new g("ю",-1,1),new g("ию",30,1),new g("ью",30,1),new g("я",-1,1),new g("ия",33,1),new g("ья",33,1)],s=[new g("ост",-1,1),new g("ость",-1,1)],c=[new g("ейше",-1,1),new g("н",-1,2),new g("ейш",-1,1),new g("ь",-1,3)],m=[33,65,8,232],l=new h;function f(){for(;!l.in_grouping(m,1072,1103);){if(l.cursor>=l.limit)return;l.cursor++}return 1}function p(){for(;!l.out_grouping(m,1072,1103);){if(l.cursor>=l.limit)return;l.cursor++}return 1}function d(e,n){var r;if(l.ket=l.cursor,e=l.find_among_b(e,n)){switch(l.bra=l.cursor,e){case 1:if(r=l.limit-l.cursor,!l.eq_s_b(1,"а")&&(l.cursor=l.limit-r,!l.eq_s_b(1,"я")))return!1;case 2:l.slice_del()}return!0}return!1}function a(e,n){return l.ket=l.cursor,!!(e=l.find_among_b(e,n))&&(l.bra=l.cursor,1==e&&l.slice_del(),!0)}function _(){return a(e,26)&&(d(t,8),1)}function b(){var e;l.ket=l.cursor,(e=l.find_among_b(s,2))&&(l.bra=l.cursor,n<=l.cursor)&&1==e&&l.slice_del()}this.setCurrent=function(e){l.setCurrent(e)},this.getCurrent=function(){return l.getCurrent()},this.stem=function(){if(r=l.limit,n=r,f()&&(r=l.cursor,p())&&f()&&p()&&(n=l.cursor),l.cursor=l.limit,l.cursor<r)return!1;var e;if(l.limit_backward=r,d(w,9)||(l.cursor=l.limit,a(i,2)||(l.cursor=l.limit),_())||(l.cursor=l.limit,d(o,46))||(l.cursor=l.limit,a(u,36)),l.cursor=l.limit,l.ket=l.cursor,l.eq_s_b(1,"и")?(l.bra=l.cursor,l.slice_del()):l.cursor=l.limit,b(),l.cursor=l.limit,l.ket=l.cursor,e=l.find_among_b(c,4))switch(l.bra=l.cursor,e){case 1:if(l.slice_del(),l.ket=l.cursor,!l.eq_s_b(1,"н"))break;l.bra=l.cursor;case 2:if(!l.eq_s_b(1,"н"))break;case 3:l.slice_del()}return!0}},function(e){return r.setCurrent(e),r.stem(),r.getCurrent()}),n.Pipeline.registerFunction(n.ru.stemmer,"stemmer-ru"),n.ru.stopWordFilter=function(e){if(-1===n.ru.stopWordFilter.stopWords.indexOf(e))return e},n.ru.stopWordFilter.stopWords=new n.SortedSet,n.ru.stopWordFilter.stopWords.length=422,n.ru.stopWordFilter.stopWords.elements=" алло без близко более больше будем будет будете будешь будто буду будут будь бы бывает бывь был была были было быть в важная важное важные важный вам вами вас ваш ваша ваше ваши вверх вдали вдруг ведь везде весь вниз внизу во вокруг вон восемнадцатый восемнадцать восемь восьмой вот впрочем времени время все всегда всего всем всеми всему всех всею всю всюду вся всё второй вы г где говорил говорит год года году да давно даже далеко дальше даром два двадцатый двадцать две двенадцатый двенадцать двух девятнадцатый девятнадцать девятый девять действительно дел день десятый десять для до довольно долго должно другая другие других друго другое другой е его ее ей ему если есть еще ещё ею её ж же жизнь за занят занята занято заняты затем зато зачем здесь значит и из или им именно иметь ими имя иногда их к каждая каждое каждые каждый кажется как какая какой кем когда кого ком кому конечно которая которого которой которые который которых кроме кругом кто куда лет ли лишь лучше люди м мало между меля менее меньше меня миллионов мимо мира мне много многочисленная многочисленное многочисленные многочисленный мной мною мог могут мож может можно можхо мои мой мор мочь моя моё мы на наверху над надо назад наиболее наконец нам нами нас начала наш наша наше наши не него недавно недалеко нее ней нельзя нем немного нему непрерывно нередко несколько нет нею неё ни нибудь ниже низко никогда никуда ними них ничего но ну нужно нх о об оба обычно один одиннадцатый одиннадцать однажды однако одного одной около он она они оно опять особенно от отовсюду отсюда очень первый перед по под пожалуйста позже пока пор пора после посреди потом потому почему почти прекрасно при про просто против процентов пятнадцатый пятнадцать пятый пять раз разве рано раньше рядом с сам сама сами самим самими самих само самого самой самом самому саму свое своего своей свои своих свою сеаой себе себя сегодня седьмой сейчас семнадцатый семнадцать семь сих сказал сказала сказать сколько слишком сначала снова со собой собою совсем спасибо стал суть т та так такая также такие такое такой там твой твоя твоё те тебе тебя тем теми теперь тех то тобой тобою тогда того тоже только том тому тот тою третий три тринадцатый тринадцать ту туда тут ты тысяч у уж уже уметь хорошо хотеть хоть хотя хочешь часто чаще чего человек чем чему через четвертый четыре четырнадцатый четырнадцать что чтоб чтобы чуть шестнадцатый шестнадцать шестой шесть эта эти этим этими этих это этого этой этом этому этот эту я \ufeffа".split(" "),n.Pipeline.registerFunction(n.ru.stopWordFilter,"stopWordFilter-ru")}});
\ No newline at end of file diff --git a/static/js/lunr.stemmer.support.js b/static/js/lunr.stemmer.support.js new file mode 100644 index 0000000..abfd300 --- /dev/null +++ b/static/js/lunr.stemmer.support.js @@ -0,0 +1,295 @@ +/*! + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +/** + * export the module via AMD, CommonJS or as a browser global + * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js + */ +;(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(factory) + } else if (typeof exports === 'object') { + /** + * Node. Does not work with strict CommonJS, but + * only CommonJS-like environments that support module.exports, + * like Node. + */ + module.exports = factory() + } else { + // Browser globals (root is window) + factory()(root.lunr); + } +}(this, function () { + /** + * Just return a value to define the module export. + * This example returns an object, but the module + * can return a function as the exported value. + */ + return function(lunr) { + /* provides utilities for the included stemmers */ + lunr.stemmerSupport = { + Among: function(s, substring_i, result, method) { + this.toCharArray = function(s) { + var sLength = s.length, charArr = new Array(sLength); + for (var i = 0; i < sLength; i++) + charArr[i] = s.charCodeAt(i); + return charArr; + }; + + if ((!s && s != "") || (!substring_i && (substring_i != 0)) || !result) + throw ("Bad Among initialisation: s:" + s + ", substring_i: " + + substring_i + ", result: " + result); + this.s_size = s.length; + this.s = this.toCharArray(s); + this.substring_i = substring_i; + this.result = result; + this.method = method; + }, + SnowballProgram: function() { + var current; + return { + bra : 0, + ket : 0, + limit : 0, + cursor : 0, + limit_backward : 0, + setCurrent : function(word) { + current = word; + this.cursor = 0; + this.limit = word.length; + this.limit_backward = 0; + this.bra = this.cursor; + this.ket = this.limit; + }, + getCurrent : function() { + var result = current; + current = null; + return result; + }, + in_grouping : function(s, min, max) { + if (this.cursor < this.limit) { + var ch = current.charCodeAt(this.cursor); + if (ch <= max && ch >= min) { + ch -= min; + if (s[ch >> 3] & (0X1 << (ch & 0X7))) { + this.cursor++; + return true; + } + } + } + return false; + }, + in_grouping_b : function(s, min, max) { + if (this.cursor > this.limit_backward) { + var ch = current.charCodeAt(this.cursor - 1); + if (ch <= max && ch >= min) { + ch -= min; + if (s[ch >> 3] & (0X1 << (ch & 0X7))) { + this.cursor--; + return true; + } + } + } + return false; + }, + out_grouping : function(s, min, max) { + if (this.cursor < this.limit) { + var ch = current.charCodeAt(this.cursor); + if (ch > max || ch < min) { + this.cursor++; + return true; + } + ch -= min; + if (!(s[ch >> 3] & (0X1 << (ch & 0X7)))) { + this.cursor++; + return true; + } + } + return false; + }, + out_grouping_b : function(s, min, max) { + if (this.cursor > this.limit_backward) { + var ch = current.charCodeAt(this.cursor - 1); + if (ch > max || ch < min) { + this.cursor--; + return true; + } + ch -= min; + if (!(s[ch >> 3] & (0X1 << (ch & 0X7)))) { + this.cursor--; + return true; + } + } + return false; + }, + eq_s : function(s_size, s) { + if (this.limit - this.cursor < s_size) + return false; + for (var i = 0; i < s_size; i++) + if (current.charCodeAt(this.cursor + i) != s.charCodeAt(i)) + return false; + this.cursor += s_size; + return true; + }, + eq_s_b : function(s_size, s) { + if (this.cursor - this.limit_backward < s_size) + return false; + for (var i = 0; i < s_size; i++) + if (current.charCodeAt(this.cursor - s_size + i) != s + .charCodeAt(i)) + return false; + this.cursor -= s_size; + return true; + }, + find_among : function(v, v_size) { + var i = 0, j = v_size, c = this.cursor, l = this.limit, common_i = 0, common_j = 0, first_key_inspected = false; + while (true) { + var k = i + ((j - i) >> 1), diff = 0, common = common_i < common_j + ? common_i + : common_j, w = v[k]; + for (var i2 = common; i2 < w.s_size; i2++) { + if (c + common == l) { + diff = -1; + break; + } + diff = current.charCodeAt(c + common) - w.s[i2]; + if (diff) + break; + common++; + } + if (diff < 0) { + j = k; + common_j = common; + } else { + i = k; + common_i = common; + } + if (j - i <= 1) { + if (i > 0 || j == i || first_key_inspected) + break; + first_key_inspected = true; + } + } + while (true) { + var w = v[i]; + if (common_i >= w.s_size) { + this.cursor = c + w.s_size; + if (!w.method) + return w.result; + var res = w.method(); + this.cursor = c + w.s_size; + if (res) + return w.result; + } + i = w.substring_i; + if (i < 0) + return 0; + } + }, + find_among_b : function(v, v_size) { + var i = 0, j = v_size, c = this.cursor, lb = this.limit_backward, common_i = 0, common_j = 0, first_key_inspected = false; + while (true) { + var k = i + ((j - i) >> 1), diff = 0, common = common_i < common_j + ? common_i + : common_j, w = v[k]; + for (var i2 = w.s_size - 1 - common; i2 >= 0; i2--) { + if (c - common == lb) { + diff = -1; + break; + } + diff = current.charCodeAt(c - 1 - common) - w.s[i2]; + if (diff) + break; + common++; + } + if (diff < 0) { + j = k; + common_j = common; + } else { + i = k; + common_i = common; + } + if (j - i <= 1) { + if (i > 0 || j == i || first_key_inspected) + break; + first_key_inspected = true; + } + } + while (true) { + var w = v[i]; + if (common_i >= w.s_size) { + this.cursor = c - w.s_size; + if (!w.method) + return w.result; + var res = w.method(); + this.cursor = c - w.s_size; + if (res) + return w.result; + } + i = w.substring_i; + if (i < 0) + return 0; + } + }, + replace_s : function(c_bra, c_ket, s) { + var adjustment = s.length - (c_ket - c_bra), left = current + .substring(0, c_bra), right = current.substring(c_ket); + current = left + s + right; + this.limit += adjustment; + if (this.cursor >= c_ket) + this.cursor += adjustment; + else if (this.cursor > c_bra) + this.cursor = c_bra; + return adjustment; + }, + slice_check : function() { + if (this.bra < 0 || this.bra > this.ket || this.ket > this.limit + || this.limit > current.length) + throw ("faulty slice operation"); + }, + slice_from : function(s) { + this.slice_check(); + this.replace_s(this.bra, this.ket, s); + }, + slice_del : function() { + this.slice_from(""); + }, + insert : function(c_bra, c_ket, s) { + var adjustment = this.replace_s(c_bra, c_ket, s); + if (c_bra <= this.bra) + this.bra += adjustment; + if (c_bra <= this.ket) + this.ket += adjustment; + }, + slice_to : function() { + this.slice_check(); + return current.substring(this.bra, this.ket); + }, + eq_v_b : function(s) { + return this.eq_s_b(s.length, s); + } + }; + } + }; + + lunr.trimmerSupport = { + generateTrimmer: function(wordCharacters) { + var startRegex = new RegExp("^[^" + wordCharacters + "]+") + var endRegex = new RegExp("[^" + wordCharacters + "]+$") + + return function(token) { + return token + .replace(startRegex, '') + .replace(endRegex, ''); + }; + } + } + } +})); diff --git a/static/js/lunr.stemmer.support.min.js b/static/js/lunr.stemmer.support.min.js new file mode 100644 index 0000000..3ffdbd6 --- /dev/null +++ b/static/js/lunr.stemmer.support.min.js @@ -0,0 +1 @@ +!function(r,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():t()(r.lunr)}(this,function(){return function(r){r.stemmerSupport={Among:function(r,t,i,s){if(this.toCharArray=function(r){for(var t=r.length,i=new Array(t),s=0;s<t;s++)i[s]=r.charCodeAt(s);return i},!r&&""!=r||!t&&0!=t||!i)throw"Bad Among initialisation: s:"+r+", substring_i: "+t+", result: "+i;this.s_size=r.length,this.s=this.toCharArray(r),this.substring_i=t,this.result=i,this.method=s},SnowballProgram:function(){var b;return{bra:0,ket:0,limit:0,cursor:0,limit_backward:0,setCurrent:function(r){b=r,this.cursor=0,this.limit=r.length,this.limit_backward=0,this.bra=this.cursor,this.ket=this.limit},getCurrent:function(){var r=b;return b=null,r},in_grouping:function(r,t,i){if(this.cursor<this.limit){var s=b.charCodeAt(this.cursor);if(s<=i&&t<=s&&r[(s-=t)>>3]&1<<(7&s))return this.cursor++,!0}return!1},in_grouping_b:function(r,t,i){if(this.cursor>this.limit_backward){var s=b.charCodeAt(this.cursor-1);if(s<=i&&t<=s&&r[(s-=t)>>3]&1<<(7&s))return this.cursor--,!0}return!1},out_grouping:function(r,t,i){if(this.cursor<this.limit){var s=b.charCodeAt(this.cursor);if(i<s||s<t)return this.cursor++,!0;if(!(r[(s-=t)>>3]&1<<(7&s)))return this.cursor++,!0}return!1},out_grouping_b:function(r,t,i){if(this.cursor>this.limit_backward){var s=b.charCodeAt(this.cursor-1);if(i<s||s<t)return this.cursor--,!0;if(!(r[(s-=t)>>3]&1<<(7&s)))return this.cursor--,!0}return!1},eq_s:function(r,t){if(this.limit-this.cursor<r)return!1;for(var i=0;i<r;i++)if(b.charCodeAt(this.cursor+i)!=t.charCodeAt(i))return!1;return this.cursor+=r,!0},eq_s_b:function(r,t){if(this.cursor-this.limit_backward<r)return!1;for(var i=0;i<r;i++)if(b.charCodeAt(this.cursor-r+i)!=t.charCodeAt(i))return!1;return this.cursor-=r,!0},find_among:function(r,t){for(var i=0,s=t,e=this.cursor,n=this.limit,u=0,o=0,h=!1;;){for(var c=i+(s-i>>1),f=0,a=u<o?u:o,l=r[c],_=a;_<l.s_size;_++){if(e+a==n){f=-1;break}if(f=b.charCodeAt(e+a)-l.s[_])break;a++}if(f<0?(s=c,o=a):(i=c,u=a),s-i<=1){if(0<i||s==i||h)break;h=!0}}for(;;){if(u>=(l=r[i]).s_size){if(this.cursor=e+l.s_size,!l.method)return l.result;var m=l.method();if(this.cursor=e+l.s_size,m)return l.result}if((i=l.substring_i)<0)return 0}},find_among_b:function(r,t){for(var i=0,s=t,e=this.cursor,n=this.limit_backward,u=0,o=0,h=!1;;){for(var c,f=i+(s-i>>1),a=0,l=u<o?u:o,_=(c=r[f]).s_size-1-l;0<=_;_--){if(e-l==n){a=-1;break}if(a=b.charCodeAt(e-1-l)-c.s[_])break;l++}if(a<0?(s=f,o=l):(i=f,u=l),s-i<=1){if(0<i||s==i||h)break;h=!0}}for(;;){if(u>=(c=r[i]).s_size){if(this.cursor=e-c.s_size,!c.method)return c.result;var m=c.method();if(this.cursor=e-c.s_size,m)return c.result}if((i=c.substring_i)<0)return 0}},replace_s:function(r,t,i){var s=i.length-(t-r);return b=b.substring(0,r)+i+b.substring(t),this.limit+=s,this.cursor>=t?this.cursor+=s:this.cursor>r&&(this.cursor=r),s},slice_check:function(){if(this.bra<0||this.bra>this.ket||this.ket>this.limit||this.limit>b.length)throw"faulty slice operation"},slice_from:function(r){this.slice_check(),this.replace_s(this.bra,this.ket,r)},slice_del:function(){this.slice_from("")},insert:function(r,t,i){t=this.replace_s(r,t,i);r<=this.bra&&(this.bra+=t),r<=this.ket&&(this.ket+=t)},slice_to:function(){return this.slice_check(),b.substring(this.bra,this.ket)},eq_v_b:function(r){return this.eq_s_b(r.length,r)}}}},r.trimmerSupport={generateTrimmer:function(r){var t=new RegExp("^[^"+r+"]+"),i=new RegExp("[^"+r+"]+$");return function(r){return r.replace(t,"").replace(i,"")}}}}});
\ No newline at end of file diff --git a/static/js/lunr.sv.js b/static/js/lunr.sv.js new file mode 100644 index 0000000..d48ea4a --- /dev/null +++ b/static/js/lunr.sv.js @@ -0,0 +1,252 @@ +/*! + * Lunr languages, `Swedish` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +/** + * export the module via AMD, CommonJS or as a browser global + * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js + */ +; +(function(root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(factory) + } else if (typeof exports === 'object') { + /** + * Node. Does not work with strict CommonJS, but + * only CommonJS-like environments that support module.exports, + * like Node. + */ + module.exports = factory() + } else { + // Browser globals (root is window) + factory()(root.lunr); + } +}(this, function() { + /** + * Just return a value to define the module export. + * This example returns an object, but the module + * can return a function as the exported value. + */ + return function(lunr) { + /* throw error if lunr is not yet included */ + if ('undefined' === typeof lunr) { + throw new Error('Lunr is not present. Please include / require Lunr before this script.'); + } + + /* throw error if lunr stemmer support is not yet included */ + if ('undefined' === typeof lunr.stemmerSupport) { + throw new Error('Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.'); + } + + /* register specific locale function */ + lunr.sv = function() { + this.pipeline.reset(); + this.pipeline.add( + lunr.sv.trimmer, + lunr.sv.stopWordFilter, + lunr.sv.stemmer + ); + }; + + /* lunr trimmer function */ + lunr.sv.wordCharacters = "A-Za-z\xAA\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u02E0-\u02E4\u1D00-\u1D25\u1D2C-\u1D5C\u1D62-\u1D65\u1D6B-\u1D77\u1D79-\u1DBE\u1E00-\u1EFF\u2071\u207F\u2090-\u209C\u212A\u212B\u2132\u214E\u2160-\u2188\u2C60-\u2C7F\uA722-\uA787\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA7FF\uAB30-\uAB5A\uAB5C-\uAB64\uFB00-\uFB06\uFF21-\uFF3A\uFF41-\uFF5A"; + lunr.sv.trimmer = lunr.trimmerSupport.generateTrimmer(lunr.sv.wordCharacters); + + lunr.Pipeline.registerFunction(lunr.sv.trimmer, 'trimmer-sv'); + + /* lunr stemmer function */ + lunr.sv.stemmer = (function() { + /* create the wrapped stemmer object */ + var Among = lunr.stemmerSupport.Among, + SnowballProgram = lunr.stemmerSupport.SnowballProgram, + st = new function SwedishStemmer() { + var a_0 = [new Among("a", -1, 1), new Among("arna", 0, 1), + new Among("erna", 0, 1), new Among("heterna", 2, 1), + new Among("orna", 0, 1), new Among("ad", -1, 1), + new Among("e", -1, 1), new Among("ade", 6, 1), + new Among("ande", 6, 1), new Among("arne", 6, 1), + new Among("are", 6, 1), new Among("aste", 6, 1), + new Among("en", -1, 1), new Among("anden", 12, 1), + new Among("aren", 12, 1), new Among("heten", 12, 1), + new Among("ern", -1, 1), new Among("ar", -1, 1), + new Among("er", -1, 1), new Among("heter", 18, 1), + new Among("or", -1, 1), new Among("s", -1, 2), + new Among("as", 21, 1), new Among("arnas", 22, 1), + new Among("ernas", 22, 1), new Among("ornas", 22, 1), + new Among("es", 21, 1), new Among("ades", 26, 1), + new Among("andes", 26, 1), new Among("ens", 21, 1), + new Among("arens", 29, 1), new Among("hetens", 29, 1), + new Among("erns", 21, 1), new Among("at", -1, 1), + new Among("andet", -1, 1), new Among("het", -1, 1), + new Among("ast", -1, 1) + ], + a_1 = [new Among("dd", -1, -1), + new Among("gd", -1, -1), new Among("nn", -1, -1), + new Among("dt", -1, -1), new Among("gt", -1, -1), + new Among("kt", -1, -1), new Among("tt", -1, -1) + ], + a_2 = [ + new Among("ig", -1, 1), new Among("lig", 0, 1), + new Among("els", -1, 1), new Among("fullt", -1, 3), + new Among("l\u00F6st", -1, 2) + ], + g_v = [17, 65, 16, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 32 + ], + g_s_ending = [119, 127, 149], + I_x, I_p1, sbp = new SnowballProgram(); + this.setCurrent = function(word) { + sbp.setCurrent(word); + }; + this.getCurrent = function() { + return sbp.getCurrent(); + }; + + function r_mark_regions() { + var v_1, c = sbp.cursor + 3; + I_p1 = sbp.limit; + if (0 <= c || c <= sbp.limit) { + I_x = c; + while (true) { + v_1 = sbp.cursor; + if (sbp.in_grouping(g_v, 97, 246)) { + sbp.cursor = v_1; + break; + } + sbp.cursor = v_1; + if (sbp.cursor >= sbp.limit) + return; + sbp.cursor++; + } + while (!sbp.out_grouping(g_v, 97, 246)) { + if (sbp.cursor >= sbp.limit) + return; + sbp.cursor++; + } + I_p1 = sbp.cursor; + if (I_p1 < I_x) + I_p1 = I_x; + } + } + + function r_main_suffix() { + var among_var, v_2 = sbp.limit_backward; + if (sbp.cursor >= I_p1) { + sbp.limit_backward = I_p1; + sbp.cursor = sbp.limit; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_0, 37); + sbp.limit_backward = v_2; + if (among_var) { + sbp.bra = sbp.cursor; + switch (among_var) { + case 1: + sbp.slice_del(); + break; + case 2: + if (sbp.in_grouping_b(g_s_ending, 98, 121)) + sbp.slice_del(); + break; + } + } + } + } + + function r_consonant_pair() { + var v_1 = sbp.limit_backward; + if (sbp.cursor >= I_p1) { + sbp.limit_backward = I_p1; + sbp.cursor = sbp.limit; + if (sbp.find_among_b(a_1, 7)) { + sbp.cursor = sbp.limit; + sbp.ket = sbp.cursor; + if (sbp.cursor > sbp.limit_backward) { + sbp.bra = --sbp.cursor; + sbp.slice_del(); + } + } + sbp.limit_backward = v_1; + } + } + + function r_other_suffix() { + var among_var, v_2; + if (sbp.cursor >= I_p1) { + v_2 = sbp.limit_backward; + sbp.limit_backward = I_p1; + sbp.cursor = sbp.limit; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_2, 5); + if (among_var) { + sbp.bra = sbp.cursor; + switch (among_var) { + case 1: + sbp.slice_del(); + break; + case 2: + sbp.slice_from("l\u00F6s"); + break; + case 3: + sbp.slice_from("full"); + break; + } + } + sbp.limit_backward = v_2; + } + } + this.stem = function() { + var v_1 = sbp.cursor; + r_mark_regions(); + sbp.limit_backward = v_1; + sbp.cursor = sbp.limit; + r_main_suffix(); + sbp.cursor = sbp.limit; + r_consonant_pair(); + sbp.cursor = sbp.limit; + r_other_suffix(); + return true; + } + }; + + /* and return a function that stems a word for the current locale */ + return function(word) { + st.setCurrent(word); + st.stem(); + return st.getCurrent(); + } + })(); + + lunr.Pipeline.registerFunction(lunr.sv.stemmer, 'stemmer-sv'); + + /* stop word filter function */ + lunr.sv.stopWordFilter = function(token) { + if (lunr.sv.stopWordFilter.stopWords.indexOf(token) === -1) { + return token; + } + }; + + lunr.sv.stopWordFilter.stopWords = new lunr.SortedSet(); + lunr.sv.stopWordFilter.stopWords.length = 115; + + // The space at the beginning is crucial: It marks the empty string + // as a stop word. lunr.js crashes during search when documents + // processed by the pipeline still contain the empty string. + lunr.sv.stopWordFilter.stopWords.elements = ' alla allt att av blev bli blir blivit de dem den denna deras dess dessa det detta dig din dina ditt du där då efter ej eller en er era ert ett från för ha hade han hans har henne hennes hon honom hur här i icke ingen inom inte jag ju kan kunde man med mellan men mig min mina mitt mot mycket ni nu när någon något några och om oss på samma sedan sig sin sina sitta själv skulle som så sådan sådana sådant till under upp ut utan vad var vara varför varit varje vars vart vem vi vid vilka vilkas vilken vilket vår våra vårt än är åt över'.split(' '); + + lunr.Pipeline.registerFunction(lunr.sv.stopWordFilter, 'stopWordFilter-sv'); + }; +}))
\ No newline at end of file diff --git a/static/js/lunr.sv.min.js b/static/js/lunr.sv.min.js new file mode 100644 index 0000000..835f98b --- /dev/null +++ b/static/js/lunr.sv.min.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(r){if(void 0===r)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===r.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var e,d,n;r.sv=function(){this.pipeline.reset(),this.pipeline.add(r.sv.trimmer,r.sv.stopWordFilter,r.sv.stemmer)},r.sv.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",r.sv.trimmer=r.trimmerSupport.generateTrimmer(r.sv.wordCharacters),r.Pipeline.registerFunction(r.sv.trimmer,"trimmer-sv"),r.sv.stemmer=(e=r.stemmerSupport.Among,d=r.stemmerSupport.SnowballProgram,n=new function(){var n,t,i=[new e("a",-1,1),new e("arna",0,1),new e("erna",0,1),new e("heterna",2,1),new e("orna",0,1),new e("ad",-1,1),new e("e",-1,1),new e("ade",6,1),new e("ande",6,1),new e("arne",6,1),new e("are",6,1),new e("aste",6,1),new e("en",-1,1),new e("anden",12,1),new e("aren",12,1),new e("heten",12,1),new e("ern",-1,1),new e("ar",-1,1),new e("er",-1,1),new e("heter",18,1),new e("or",-1,1),new e("s",-1,2),new e("as",21,1),new e("arnas",22,1),new e("ernas",22,1),new e("ornas",22,1),new e("es",21,1),new e("ades",26,1),new e("andes",26,1),new e("ens",21,1),new e("arens",29,1),new e("hetens",29,1),new e("erns",21,1),new e("at",-1,1),new e("andet",-1,1),new e("het",-1,1),new e("ast",-1,1)],s=[new e("dd",-1,-1),new e("gd",-1,-1),new e("nn",-1,-1),new e("dt",-1,-1),new e("gt",-1,-1),new e("kt",-1,-1),new e("tt",-1,-1)],a=[new e("ig",-1,1),new e("lig",0,1),new e("els",-1,1),new e("fullt",-1,3),new e("löst",-1,2)],o=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,24,0,32],u=[119,127,149],l=new d;this.setCurrent=function(e){l.setCurrent(e)},this.getCurrent=function(){return l.getCurrent()},this.stem=function(){var e=l.cursor;!function(){var e,r=l.cursor+3;if(t=l.limit,0<=r||r<=l.limit){for(n=r;;){if(e=l.cursor,l.in_grouping(o,97,246)){l.cursor=e;break}if(l.cursor=e,l.cursor>=l.limit)return;l.cursor++}for(;!l.out_grouping(o,97,246);){if(l.cursor>=l.limit)return;l.cursor++}(t=l.cursor)<n&&(t=n)}}(),l.limit_backward=e,l.cursor=l.limit;var r,e=l.limit_backward;if(l.cursor>=t&&(l.limit_backward=t,l.cursor=l.limit,l.ket=l.cursor,r=l.find_among_b(i,37),l.limit_backward=e,r))switch(l.bra=l.cursor,r){case 1:l.slice_del();break;case 2:l.in_grouping_b(u,98,121)&&l.slice_del()}if(l.cursor=l.limit,e=l.limit_backward,l.cursor>=t&&(l.limit_backward=t,l.cursor=l.limit,l.find_among_b(s,7)&&(l.cursor=l.limit,l.ket=l.cursor,l.cursor>l.limit_backward)&&(l.bra=--l.cursor,l.slice_del()),l.limit_backward=e),l.cursor=l.limit,l.cursor>=t){if(r=l.limit_backward,l.limit_backward=t,l.cursor=l.limit,l.ket=l.cursor,e=l.find_among_b(a,5))switch(l.bra=l.cursor,e){case 1:l.slice_del();break;case 2:l.slice_from("lös");break;case 3:l.slice_from("full")}l.limit_backward=r}return!0}},function(e){return n.setCurrent(e),n.stem(),n.getCurrent()}),r.Pipeline.registerFunction(r.sv.stemmer,"stemmer-sv"),r.sv.stopWordFilter=function(e){if(-1===r.sv.stopWordFilter.stopWords.indexOf(e))return e},r.sv.stopWordFilter.stopWords=new r.SortedSet,r.sv.stopWordFilter.stopWords.length=115,r.sv.stopWordFilter.stopWords.elements=" alla allt att av blev bli blir blivit de dem den denna deras dess dessa det detta dig din dina ditt du där då efter ej eller en er era ert ett från för ha hade han hans har henne hennes hon honom hur här i icke ingen inom inte jag ju kan kunde man med mellan men mig min mina mitt mot mycket ni nu när någon något några och om oss på samma sedan sig sin sina sitta själv skulle som så sådan sådana sådant till under upp ut utan vad var vara varför varit varje vars vart vem vi vid vilka vilkas vilken vilket vår våra vårt än är åt över".split(" "),r.Pipeline.registerFunction(r.sv.stopWordFilter,"stopWordFilter-sv")}});
\ No newline at end of file diff --git a/static/js/lunr.tr.js b/static/js/lunr.tr.js new file mode 100644 index 0000000..1e5d8da --- /dev/null +++ b/static/js/lunr.tr.js @@ -0,0 +1,1070 @@ +/*! + * Lunr languages, `Turkish` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +/** + * export the module via AMD, CommonJS or as a browser global + * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js + */ +; +(function(root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(factory) + } else if (typeof exports === 'object') { + /** + * Node. Does not work with strict CommonJS, but + * only CommonJS-like environments that support module.exports, + * like Node. + */ + module.exports = factory() + } else { + // Browser globals (root is window) + factory()(root.lunr); + } +}(this, function() { + /** + * Just return a value to define the module export. + * This example returns an object, but the module + * can return a function as the exported value. + */ + return function(lunr) { + /* throw error if lunr is not yet included */ + if ('undefined' === typeof lunr) { + throw new Error('Lunr is not present. Please include / require Lunr before this script.'); + } + + /* throw error if lunr stemmer support is not yet included */ + if ('undefined' === typeof lunr.stemmerSupport) { + throw new Error('Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.'); + } + + /* register specific locale function */ + lunr.tr = function() { + this.pipeline.reset(); + this.pipeline.add( + lunr.tr.trimmer, + lunr.tr.stopWordFilter, + lunr.tr.stemmer + ); + }; + + /* lunr trimmer function */ + lunr.tr.wordCharacters = "A-Za-z\xAA\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u02E0-\u02E4\u1D00-\u1D25\u1D2C-\u1D5C\u1D62-\u1D65\u1D6B-\u1D77\u1D79-\u1DBE\u1E00-\u1EFF\u2071\u207F\u2090-\u209C\u212A\u212B\u2132\u214E\u2160-\u2188\u2C60-\u2C7F\uA722-\uA787\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA7FF\uAB30-\uAB5A\uAB5C-\uAB64\uFB00-\uFB06\uFF21-\uFF3A\uFF41-\uFF5A"; + lunr.tr.trimmer = lunr.trimmerSupport.generateTrimmer(lunr.tr.wordCharacters); + + lunr.Pipeline.registerFunction(lunr.tr.trimmer, 'trimmer-tr'); + + /* lunr stemmer function */ + lunr.tr.stemmer = (function() { + /* create the wrapped stemmer object */ + var Among = lunr.stemmerSupport.Among, + SnowballProgram = lunr.stemmerSupport.SnowballProgram, + st = new function TurkishStemmer() { + var a_0 = [new Among("m", -1, -1), new Among("n", -1, -1), + new Among("miz", -1, -1), new Among("niz", -1, -1), + new Among("muz", -1, -1), new Among("nuz", -1, -1), + new Among("m\u00FCz", -1, -1), new Among("n\u00FCz", -1, -1), + new Among("m\u0131z", -1, -1), new Among("n\u0131z", -1, -1) + ], + a_1 = [ + new Among("leri", -1, -1), new Among("lar\u0131", -1, -1) + ], + a_2 = [ + new Among("ni", -1, -1), new Among("nu", -1, -1), + new Among("n\u00FC", -1, -1), new Among("n\u0131", -1, -1) + ], + a_3 = [ + new Among("in", -1, -1), new Among("un", -1, -1), + new Among("\u00FCn", -1, -1), new Among("\u0131n", -1, -1) + ], + a_4 = [ + new Among("a", -1, -1), new Among("e", -1, -1) + ], + a_5 = [ + new Among("na", -1, -1), new Among("ne", -1, -1) + ], + a_6 = [ + new Among("da", -1, -1), new Among("ta", -1, -1), + new Among("de", -1, -1), new Among("te", -1, -1) + ], + a_7 = [ + new Among("nda", -1, -1), new Among("nde", -1, -1) + ], + a_8 = [ + new Among("dan", -1, -1), new Among("tan", -1, -1), + new Among("den", -1, -1), new Among("ten", -1, -1) + ], + a_9 = [ + new Among("ndan", -1, -1), new Among("nden", -1, -1) + ], + a_10 = [ + new Among("la", -1, -1), new Among("le", -1, -1) + ], + a_11 = [ + new Among("ca", -1, -1), new Among("ce", -1, -1) + ], + a_12 = [ + new Among("im", -1, -1), new Among("um", -1, -1), + new Among("\u00FCm", -1, -1), new Among("\u0131m", -1, -1) + ], + a_13 = [ + new Among("sin", -1, -1), new Among("sun", -1, -1), + new Among("s\u00FCn", -1, -1), new Among("s\u0131n", -1, -1) + ], + a_14 = [ + new Among("iz", -1, -1), new Among("uz", -1, -1), + new Among("\u00FCz", -1, -1), new Among("\u0131z", -1, -1) + ], + a_15 = [ + new Among("siniz", -1, -1), new Among("sunuz", -1, -1), + new Among("s\u00FCn\u00FCz", -1, -1), + new Among("s\u0131n\u0131z", -1, -1) + ], + a_16 = [ + new Among("lar", -1, -1), new Among("ler", -1, -1) + ], + a_17 = [ + new Among("niz", -1, -1), new Among("nuz", -1, -1), + new Among("n\u00FCz", -1, -1), new Among("n\u0131z", -1, -1) + ], + a_18 = [ + new Among("dir", -1, -1), new Among("tir", -1, -1), + new Among("dur", -1, -1), new Among("tur", -1, -1), + new Among("d\u00FCr", -1, -1), new Among("t\u00FCr", -1, -1), + new Among("d\u0131r", -1, -1), new Among("t\u0131r", -1, -1) + ], + a_19 = [ + new Among("cas\u0131na", -1, -1), new Among("cesine", -1, -1) + ], + a_20 = [ + new Among("di", -1, -1), new Among("ti", -1, -1), + new Among("dik", -1, -1), new Among("tik", -1, -1), + new Among("duk", -1, -1), new Among("tuk", -1, -1), + new Among("d\u00FCk", -1, -1), new Among("t\u00FCk", -1, -1), + new Among("d\u0131k", -1, -1), new Among("t\u0131k", -1, -1), + new Among("dim", -1, -1), new Among("tim", -1, -1), + new Among("dum", -1, -1), new Among("tum", -1, -1), + new Among("d\u00FCm", -1, -1), new Among("t\u00FCm", -1, -1), + new Among("d\u0131m", -1, -1), new Among("t\u0131m", -1, -1), + new Among("din", -1, -1), new Among("tin", -1, -1), + new Among("dun", -1, -1), new Among("tun", -1, -1), + new Among("d\u00FCn", -1, -1), new Among("t\u00FCn", -1, -1), + new Among("d\u0131n", -1, -1), new Among("t\u0131n", -1, -1), + new Among("du", -1, -1), new Among("tu", -1, -1), + new Among("d\u00FC", -1, -1), new Among("t\u00FC", -1, -1), + new Among("d\u0131", -1, -1), new Among("t\u0131", -1, -1) + ], + a_21 = [ + new Among("sa", -1, -1), new Among("se", -1, -1), + new Among("sak", -1, -1), new Among("sek", -1, -1), + new Among("sam", -1, -1), new Among("sem", -1, -1), + new Among("san", -1, -1), new Among("sen", -1, -1) + ], + a_22 = [ + new Among("mi\u015F", -1, -1), new Among("mu\u015F", -1, -1), + new Among("m\u00FC\u015F", -1, -1), + new Among("m\u0131\u015F", -1, -1) + ], + a_23 = [new Among("b", -1, 1), + new Among("c", -1, 2), new Among("d", -1, 3), + new Among("\u011F", -1, 4) + ], + g_vowel = [17, 65, 16, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 8, 0, 0, 0, 0, 0, 0, 1 + ], + g_U = [ + 1, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, + 0, 0, 0, 1 + ], + g_vowel1 = [1, 64, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 + ], + g_vowel2 = [17, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130 + ], + g_vowel3 = [1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1 + ], + g_vowel4 = [17], + g_vowel5 = [65], + g_vowel6 = [65], + B_c_s_n_s, I_strlen, g_habr = [ + ["a", g_vowel1, 97, 305], + ["e", g_vowel2, 101, 252], + ["\u0131", g_vowel3, 97, 305], + ["i", g_vowel4, 101, 105], + ["o", g_vowel5, 111, 117], + ["\u00F6", g_vowel6, 246, 252], + ["u", g_vowel5, 111, 117] + ], + sbp = new SnowballProgram(); + this.setCurrent = function(word) { + sbp.setCurrent(word); + }; + this.getCurrent = function() { + return sbp.getCurrent(); + }; + + function habr1(g_v, n1, n2) { + while (true) { + var v_1 = sbp.limit - sbp.cursor; + if (sbp.in_grouping_b(g_v, n1, n2)) { + sbp.cursor = sbp.limit - v_1; + break; + } + sbp.cursor = sbp.limit - v_1; + if (sbp.cursor <= sbp.limit_backward) + return false; + sbp.cursor--; + } + return true; + } + + function r_check_vowel_harmony() { + var v_1, v_2; + v_1 = sbp.limit - sbp.cursor; + habr1(g_vowel, 97, 305); + for (var i = 0; i < g_habr.length; i++) { + v_2 = sbp.limit - sbp.cursor; + var habr = g_habr[i]; + if (sbp.eq_s_b(1, habr[0]) && habr1(habr[1], habr[2], habr[3])) { + sbp.cursor = sbp.limit - v_1; + return true; + } + sbp.cursor = sbp.limit - v_2; + } + sbp.cursor = sbp.limit - v_2; + if (!sbp.eq_s_b(1, "\u00FC") || !habr1(g_vowel6, 246, 252)) + return false; + sbp.cursor = sbp.limit - v_1; + return true; + } + + function habr2(f1, f2) { + var v_1 = sbp.limit - sbp.cursor, + v_2; + if (f1()) { + sbp.cursor = sbp.limit - v_1; + if (sbp.cursor > sbp.limit_backward) { + sbp.cursor--; + v_2 = sbp.limit - sbp.cursor; + if (f2()) { + sbp.cursor = sbp.limit - v_2; + return true; + } + } + } + sbp.cursor = sbp.limit - v_1; + if (f1()) { + sbp.cursor = sbp.limit - v_1; + return false; + } + sbp.cursor = sbp.limit - v_1; + if (sbp.cursor <= sbp.limit_backward) + return false; + sbp.cursor--; + if (!f2()) + return false; + sbp.cursor = sbp.limit - v_1; + return true; + } + + function habr3(f1) { + return habr2(f1, function() { + return sbp.in_grouping_b(g_vowel, 97, 305); + }); + } + + function r_mark_suffix_with_optional_n_consonant() { + return habr3(function() { + return sbp.eq_s_b(1, "n"); + }); + } + + function r_mark_suffix_with_optional_s_consonant() { + return habr3(function() { + return sbp.eq_s_b(1, "s"); + }); + } + + function r_mark_suffix_with_optional_y_consonant() { + return habr3(function() { + return sbp.eq_s_b(1, "y"); + }); + } + + function r_mark_suffix_with_optional_U_vowel() { + return habr2(function() { + return sbp.in_grouping_b(g_U, 105, 305); + }, function() { + return sbp.out_grouping_b(g_vowel, 97, 305); + }); + } + + function r_mark_possessives() { + return sbp.find_among_b(a_0, 10) && r_mark_suffix_with_optional_U_vowel(); + } + + function r_mark_sU() { + return r_check_vowel_harmony() && sbp.in_grouping_b(g_U, 105, 305) && r_mark_suffix_with_optional_s_consonant(); + } + + function r_mark_lArI() { + return sbp.find_among_b(a_1, 2); + } + + function r_mark_yU() { + return r_check_vowel_harmony() && sbp.in_grouping_b(g_U, 105, 305) && r_mark_suffix_with_optional_y_consonant(); + } + + function r_mark_nU() { + return r_check_vowel_harmony() && sbp.find_among_b(a_2, 4); + } + + function r_mark_nUn() { + return r_check_vowel_harmony() && sbp.find_among_b(a_3, 4) && r_mark_suffix_with_optional_n_consonant(); + } + + function r_mark_yA() { + return r_check_vowel_harmony() && sbp.find_among_b(a_4, 2) && r_mark_suffix_with_optional_y_consonant(); + } + + function r_mark_nA() { + return r_check_vowel_harmony() && sbp.find_among_b(a_5, 2); + } + + function r_mark_DA() { + return r_check_vowel_harmony() && sbp.find_among_b(a_6, 4); + } + + function r_mark_ndA() { + return r_check_vowel_harmony() && sbp.find_among_b(a_7, 2); + } + + function r_mark_DAn() { + return r_check_vowel_harmony() && sbp.find_among_b(a_8, 4); + } + + function r_mark_ndAn() { + return r_check_vowel_harmony() && sbp.find_among_b(a_9, 2); + } + + function r_mark_ylA() { + return r_check_vowel_harmony() && sbp.find_among_b(a_10, 2) && r_mark_suffix_with_optional_y_consonant(); + } + + function r_mark_ki() { + return sbp.eq_s_b(2, "ki"); + } + + function r_mark_ncA() { + return r_check_vowel_harmony() && sbp.find_among_b(a_11, 2) && r_mark_suffix_with_optional_n_consonant(); + } + + function r_mark_yUm() { + return r_check_vowel_harmony() && sbp.find_among_b(a_12, 4) && r_mark_suffix_with_optional_y_consonant(); + } + + function r_mark_sUn() { + return r_check_vowel_harmony() && sbp.find_among_b(a_13, 4); + } + + function r_mark_yUz() { + return r_check_vowel_harmony() && sbp.find_among_b(a_14, 4) && r_mark_suffix_with_optional_y_consonant(); + } + + function r_mark_sUnUz() { + return sbp.find_among_b(a_15, 4); + } + + function r_mark_lAr() { + return r_check_vowel_harmony() && sbp.find_among_b(a_16, 2); + } + + function r_mark_nUz() { + return r_check_vowel_harmony() && sbp.find_among_b(a_17, 4); + } + + function r_mark_DUr() { + return r_check_vowel_harmony() && sbp.find_among_b(a_18, 8); + } + + function r_mark_cAsInA() { + return sbp.find_among_b(a_19, 2); + } + + function r_mark_yDU() { + return r_check_vowel_harmony() && sbp.find_among_b(a_20, 32) && r_mark_suffix_with_optional_y_consonant(); + } + + function r_mark_ysA() { + return sbp.find_among_b(a_21, 8) && r_mark_suffix_with_optional_y_consonant(); + } + + function r_mark_ymUs_() { + return r_check_vowel_harmony() && sbp.find_among_b(a_22, 4) && r_mark_suffix_with_optional_y_consonant(); + } + + function r_mark_yken() { + return sbp.eq_s_b(3, "ken") && r_mark_suffix_with_optional_y_consonant(); + } + + function habr4() { + var v_1 = sbp.limit - sbp.cursor; + if (!r_mark_ymUs_()) { + sbp.cursor = sbp.limit - v_1; + if (!r_mark_yDU()) { + sbp.cursor = sbp.limit - v_1; + if (!r_mark_ysA()) { + sbp.cursor = sbp.limit - v_1; + if (!r_mark_yken()) + return true; + } + } + } + return false; + } + + function habr5() { + if (r_mark_cAsInA()) { + var v_1 = sbp.limit - sbp.cursor; + if (!r_mark_sUnUz()) { + sbp.cursor = sbp.limit - v_1; + if (!r_mark_lAr()) { + sbp.cursor = sbp.limit - v_1; + if (!r_mark_yUm()) { + sbp.cursor = sbp.limit - v_1; + if (!r_mark_sUn()) { + sbp.cursor = sbp.limit - v_1; + if (!r_mark_yUz()) + sbp.cursor = sbp.limit - v_1; + } + } + } + } + if (r_mark_ymUs_()) + return false; + } + return true; + } + + function habr6() { + if (r_mark_lAr()) { + sbp.bra = sbp.cursor; + sbp.slice_del(); + var v_1 = sbp.limit - sbp.cursor; + sbp.ket = sbp.cursor; + if (!r_mark_DUr()) { + sbp.cursor = sbp.limit - v_1; + if (!r_mark_yDU()) { + sbp.cursor = sbp.limit - v_1; + if (!r_mark_ysA()) { + sbp.cursor = sbp.limit - v_1; + if (!r_mark_ymUs_()) + sbp.cursor = sbp.limit - v_1; + } + } + } + B_c_s_n_s = false; + return false; + } + return true; + } + + function habr7() { + if (!r_mark_nUz()) + return true; + var v_1 = sbp.limit - sbp.cursor; + if (!r_mark_yDU()) { + sbp.cursor = sbp.limit - v_1; + if (!r_mark_ysA()) + return true; + } + return false; + } + + function habr8() { + var v_1 = sbp.limit - sbp.cursor, + v_2; + if (!r_mark_sUnUz()) { + sbp.cursor = sbp.limit - v_1; + if (!r_mark_yUz()) { + sbp.cursor = sbp.limit - v_1; + if (!r_mark_sUn()) { + sbp.cursor = sbp.limit - v_1; + if (!r_mark_yUm()) + return true; + } + } + } + sbp.bra = sbp.cursor; + sbp.slice_del(); + v_2 = sbp.limit - sbp.cursor; + sbp.ket = sbp.cursor; + if (!r_mark_ymUs_()) + sbp.cursor = sbp.limit - v_2; + return false; + } + + function r_stem_nominal_verb_suffixes() { + var v_1 = sbp.limit - sbp.cursor, + v_2; + sbp.ket = sbp.cursor; + B_c_s_n_s = true; + if (habr4()) { + sbp.cursor = sbp.limit - v_1; + if (habr5()) { + sbp.cursor = sbp.limit - v_1; + if (habr6()) { + sbp.cursor = sbp.limit - v_1; + if (habr7()) { + sbp.cursor = sbp.limit - v_1; + if (habr8()) { + sbp.cursor = sbp.limit - v_1; + if (!r_mark_DUr()) + return; + sbp.bra = sbp.cursor; + sbp.slice_del(); + sbp.ket = sbp.cursor; + v_2 = sbp.limit - sbp.cursor; + if (!r_mark_sUnUz()) { + sbp.cursor = sbp.limit - v_2; + if (!r_mark_lAr()) { + sbp.cursor = sbp.limit - v_2; + if (!r_mark_yUm()) { + sbp.cursor = sbp.limit - v_2; + if (!r_mark_sUn()) { + sbp.cursor = sbp.limit - v_2; + if (!r_mark_yUz()) + sbp.cursor = sbp.limit - v_2; + } + } + } + } + if (!r_mark_ymUs_()) + sbp.cursor = sbp.limit - v_2; + } + } + } + } + } + sbp.bra = sbp.cursor; + sbp.slice_del(); + } + + function r_stem_suffix_chain_before_ki() { + var v_1, v_2, v_3, v_4; + sbp.ket = sbp.cursor; + if (r_mark_ki()) { + v_1 = sbp.limit - sbp.cursor; + if (r_mark_DA()) { + sbp.bra = sbp.cursor; + sbp.slice_del(); + v_2 = sbp.limit - sbp.cursor; + sbp.ket = sbp.cursor; + if (r_mark_lAr()) { + sbp.bra = sbp.cursor; + sbp.slice_del(); + r_stem_suffix_chain_before_ki(); + } else { + sbp.cursor = sbp.limit - v_2; + if (r_mark_possessives()) { + sbp.bra = sbp.cursor; + sbp.slice_del(); + sbp.ket = sbp.cursor; + if (r_mark_lAr()) { + sbp.bra = sbp.cursor; + sbp.slice_del(); + r_stem_suffix_chain_before_ki(); + } + } + } + return true; + } + sbp.cursor = sbp.limit - v_1; + if (r_mark_nUn()) { + sbp.bra = sbp.cursor; + sbp.slice_del(); + sbp.ket = sbp.cursor; + v_3 = sbp.limit - sbp.cursor; + if (r_mark_lArI()) { + sbp.bra = sbp.cursor; + sbp.slice_del(); + } else { + sbp.cursor = sbp.limit - v_3; + sbp.ket = sbp.cursor; + if (!r_mark_possessives()) { + sbp.cursor = sbp.limit - v_3; + if (!r_mark_sU()) { + sbp.cursor = sbp.limit - v_3; + if (!r_stem_suffix_chain_before_ki()) + return true; + } + } + sbp.bra = sbp.cursor; + sbp.slice_del(); + sbp.ket = sbp.cursor; + if (r_mark_lAr()) { + sbp.bra = sbp.cursor; + sbp.slice_del(); + r_stem_suffix_chain_before_ki() + } + } + return true; + } + sbp.cursor = sbp.limit - v_1; + if (r_mark_ndA()) { + v_4 = sbp.limit - sbp.cursor; + if (r_mark_lArI()) { + sbp.bra = sbp.cursor; + sbp.slice_del(); + } else { + sbp.cursor = sbp.limit - v_4; + if (r_mark_sU()) { + sbp.bra = sbp.cursor; + sbp.slice_del(); + sbp.ket = sbp.cursor; + if (r_mark_lAr()) { + sbp.bra = sbp.cursor; + sbp.slice_del(); + r_stem_suffix_chain_before_ki(); + } + } else { + sbp.cursor = sbp.limit - v_4; + if (!r_stem_suffix_chain_before_ki()) + return false; + } + } + return true; + } + } + return false; + } + + function habr9(v_1) { + sbp.ket = sbp.cursor; + if (!r_mark_ndA()) { + sbp.cursor = sbp.limit - v_1; + if (!r_mark_nA()) + return false; + } + var v_2 = sbp.limit - sbp.cursor; + if (r_mark_lArI()) { + sbp.bra = sbp.cursor; + sbp.slice_del(); + } else { + sbp.cursor = sbp.limit - v_2; + if (r_mark_sU()) { + sbp.bra = sbp.cursor; + sbp.slice_del(); + sbp.ket = sbp.cursor; + if (r_mark_lAr()) { + sbp.bra = sbp.cursor; + sbp.slice_del(); + r_stem_suffix_chain_before_ki(); + } + } else { + sbp.cursor = sbp.limit - v_2; + if (!r_stem_suffix_chain_before_ki()) + return false; + } + } + return true; + } + + function habr10(v_1) { + sbp.ket = sbp.cursor; + if (!r_mark_ndAn()) { + sbp.cursor = sbp.limit - v_1; + if (!r_mark_nU()) + return false; + } + var v_2 = sbp.limit - sbp.cursor; + if (!r_mark_sU()) { + sbp.cursor = sbp.limit - v_2; + if (!r_mark_lArI()) + return false; + } + sbp.bra = sbp.cursor; + sbp.slice_del(); + sbp.ket = sbp.cursor; + if (r_mark_lAr()) { + sbp.bra = sbp.cursor; + sbp.slice_del(); + r_stem_suffix_chain_before_ki(); + } + return true; + } + + function habr11() { + var v_1 = sbp.limit - sbp.cursor, + v_2; + sbp.ket = sbp.cursor; + if (!r_mark_nUn()) { + sbp.cursor = sbp.limit - v_1; + if (!r_mark_ylA()) + return false; + } + sbp.bra = sbp.cursor; + sbp.slice_del(); + v_2 = sbp.limit - sbp.cursor; + sbp.ket = sbp.cursor; + if (r_mark_lAr()) { + sbp.bra = sbp.cursor; + sbp.slice_del(); + if (r_stem_suffix_chain_before_ki()) + return true; + } + sbp.cursor = sbp.limit - v_2; + sbp.ket = sbp.cursor; + if (!r_mark_possessives()) { + sbp.cursor = sbp.limit - v_2; + if (!r_mark_sU()) { + sbp.cursor = sbp.limit - v_2; + if (!r_stem_suffix_chain_before_ki()) + return true; + } + } + sbp.bra = sbp.cursor; + sbp.slice_del(); + sbp.ket = sbp.cursor; + if (r_mark_lAr()) { + sbp.bra = sbp.cursor; + sbp.slice_del(); + r_stem_suffix_chain_before_ki(); + } + return true; + } + + function habr12() { + var v_1 = sbp.limit - sbp.cursor, + v_2, v_3; + sbp.ket = sbp.cursor; + if (!r_mark_DA()) { + sbp.cursor = sbp.limit - v_1; + if (!r_mark_yU()) { + sbp.cursor = sbp.limit - v_1; + if (!r_mark_yA()) + return false; + } + } + sbp.bra = sbp.cursor; + sbp.slice_del(); + sbp.ket = sbp.cursor; + v_2 = sbp.limit - sbp.cursor; + if (r_mark_possessives()) { + sbp.bra = sbp.cursor; + sbp.slice_del(); + v_3 = sbp.limit - sbp.cursor; + sbp.ket = sbp.cursor; + if (!r_mark_lAr()) + sbp.cursor = sbp.limit - v_3; + } else { + sbp.cursor = sbp.limit - v_2; + if (!r_mark_lAr()) + return true; + } + sbp.bra = sbp.cursor; + sbp.slice_del(); + sbp.ket = sbp.cursor; + r_stem_suffix_chain_before_ki(); + return true; + } + + function r_stem_noun_suffixes() { + var v_1 = sbp.limit - sbp.cursor, + v_2, v_3; + sbp.ket = sbp.cursor; + if (r_mark_lAr()) { + sbp.bra = sbp.cursor; + sbp.slice_del(); + r_stem_suffix_chain_before_ki(); + return; + } + sbp.cursor = sbp.limit - v_1; + sbp.ket = sbp.cursor; + if (r_mark_ncA()) { + sbp.bra = sbp.cursor; + sbp.slice_del(); + v_2 = sbp.limit - sbp.cursor; + sbp.ket = sbp.cursor; + if (r_mark_lArI()) { + sbp.bra = sbp.cursor; + sbp.slice_del(); + } else { + sbp.cursor = sbp.limit - v_2; + sbp.ket = sbp.cursor; + if (!r_mark_possessives()) { + sbp.cursor = sbp.limit - v_2; + if (!r_mark_sU()) { + sbp.cursor = sbp.limit - v_2; + sbp.ket = sbp.cursor; + if (!r_mark_lAr()) + return; + sbp.bra = sbp.cursor; + sbp.slice_del(); + if (!r_stem_suffix_chain_before_ki()) + return; + } + } + sbp.bra = sbp.cursor; + sbp.slice_del(); + sbp.ket = sbp.cursor; + if (r_mark_lAr()) { + sbp.bra = sbp.cursor; + sbp.slice_del(); + r_stem_suffix_chain_before_ki(); + } + } + return; + } + sbp.cursor = sbp.limit - v_1; + if (habr9(v_1)) + return; + sbp.cursor = sbp.limit - v_1; + if (habr10(v_1)) + return; + sbp.cursor = sbp.limit - v_1; + sbp.ket = sbp.cursor; + if (r_mark_DAn()) { + sbp.bra = sbp.cursor; + sbp.slice_del(); + sbp.ket = sbp.cursor; + v_3 = sbp.limit - sbp.cursor; + if (r_mark_possessives()) { + sbp.bra = sbp.cursor; + sbp.slice_del(); + sbp.ket = sbp.cursor; + if (r_mark_lAr()) { + sbp.bra = sbp.cursor; + sbp.slice_del(); + r_stem_suffix_chain_before_ki(); + } + } else { + sbp.cursor = sbp.limit - v_3; + if (r_mark_lAr()) { + sbp.bra = sbp.cursor; + sbp.slice_del(); + r_stem_suffix_chain_before_ki(); + } else { + sbp.cursor = sbp.limit - v_3; + r_stem_suffix_chain_before_ki(); + } + } + return; + } + sbp.cursor = sbp.limit - v_1; + if (habr11()) + return; + sbp.cursor = sbp.limit - v_1; + if (r_mark_lArI()) { + sbp.bra = sbp.cursor; + sbp.slice_del(); + return; + } + sbp.cursor = sbp.limit - v_1; + if (r_stem_suffix_chain_before_ki()) + return; + sbp.cursor = sbp.limit - v_1; + if (habr12()) + return; + sbp.cursor = sbp.limit - v_1; + sbp.ket = sbp.cursor; + if (!r_mark_possessives()) { + sbp.cursor = sbp.limit - v_1; + if (!r_mark_sU()) + return; + } + sbp.bra = sbp.cursor; + sbp.slice_del(); + sbp.ket = sbp.cursor; + if (r_mark_lAr()) { + sbp.bra = sbp.cursor; + sbp.slice_del(); + r_stem_suffix_chain_before_ki(); + } + } + + function r_post_process_last_consonants() { + var among_var; + sbp.ket = sbp.cursor; + among_var = sbp.find_among_b(a_23, 4); + if (among_var) { + sbp.bra = sbp.cursor; + switch (among_var) { + case 1: + sbp.slice_from("p"); + break; + case 2: + sbp.slice_from("\u00E7"); + break; + case 3: + sbp.slice_from("t"); + break; + case 4: + sbp.slice_from("k"); + break; + } + } + } + + function habr13() { + while (true) { + var v_1 = sbp.limit - sbp.cursor; + if (sbp.in_grouping_b(g_vowel, 97, 305)) { + sbp.cursor = sbp.limit - v_1; + break; + } + sbp.cursor = sbp.limit - v_1; + if (sbp.cursor <= sbp.limit_backward) + return false; + sbp.cursor--; + } + return true; + } + + function habr14(v_1, c1, c2) { + sbp.cursor = sbp.limit - v_1; + if (habr13()) { + var v_2 = sbp.limit - sbp.cursor; + if (!sbp.eq_s_b(1, c1)) { + sbp.cursor = sbp.limit - v_2; + if (!sbp.eq_s_b(1, c2)) + return true; + } + sbp.cursor = sbp.limit - v_1; + var c = sbp.cursor; + sbp.insert(sbp.cursor, sbp.cursor, c2); + sbp.cursor = c; + return false; + } + return true; + } + + function r_append_U_to_stems_ending_with_d_or_g() { + var v_1 = sbp.limit - sbp.cursor; + if (!sbp.eq_s_b(1, "d")) { + sbp.cursor = sbp.limit - v_1; + if (!sbp.eq_s_b(1, "g")) + return; + } + if (habr14(v_1, "a", "\u0131")) + if (habr14(v_1, "e", "i")) + if (habr14(v_1, "o", "u")) + habr14(v_1, "\u00F6", "\u00FC") + } + + function r_more_than_one_syllable_word() { + var v_1 = sbp.cursor, + v_2 = 2, + v_3; + while (true) { + v_3 = sbp.cursor; + while (!sbp.in_grouping(g_vowel, 97, 305)) { + if (sbp.cursor >= sbp.limit) { + sbp.cursor = v_3; + if (v_2 > 0) + return false; + sbp.cursor = v_1; + return true; + } + sbp.cursor++; + } + v_2--; + } + } + + function habr15(v_1, n1, c1) { + while (!sbp.eq_s(n1, c1)) { + if (sbp.cursor >= sbp.limit) + return true; + sbp.cursor++; + } + I_strlen = n1; + if (I_strlen != sbp.limit) + return true; + sbp.cursor = v_1; + return false; + } + + function r_is_reserved_word() { + var v_1 = sbp.cursor; + if (habr15(v_1, 2, "ad")) { + sbp.cursor = v_1; + if (habr15(v_1, 5, "soyad")) + return false; + } + return true; + } + + function r_postlude() { + var v_1 = sbp.cursor; + if (r_is_reserved_word()) + return false; + sbp.limit_backward = v_1; + sbp.cursor = sbp.limit; + r_append_U_to_stems_ending_with_d_or_g(); + sbp.cursor = sbp.limit; + r_post_process_last_consonants(); + return true; + } + this.stem = function() { + if (r_more_than_one_syllable_word()) { + sbp.limit_backward = sbp.cursor; + sbp.cursor = sbp.limit; + r_stem_nominal_verb_suffixes(); + sbp.cursor = sbp.limit; + if (B_c_s_n_s) { + r_stem_noun_suffixes(); + sbp.cursor = sbp.limit_backward; + if (r_postlude()) + return true; + } + } + return false; + } + }; + + /* and return a function that stems a word for the current locale */ + return function(word) { + st.setCurrent(word); + st.stem(); + return st.getCurrent(); + } + })(); + + lunr.Pipeline.registerFunction(lunr.tr.stemmer, 'stemmer-tr'); + + /* stop word filter function */ + lunr.tr.stopWordFilter = function(token) { + if (lunr.tr.stopWordFilter.stopWords.indexOf(token) === -1) { + return token; + } + }; + + lunr.tr.stopWordFilter.stopWords = new lunr.SortedSet(); + lunr.tr.stopWordFilter.stopWords.length = 210; + + // The space at the beginning is crucial: It marks the empty string + // as a stop word. lunr.js crashes during search when documents + // processed by the pipeline still contain the empty string. + lunr.tr.stopWordFilter.stopWords.elements = ' acaba altmış altı ama ancak arada aslında ayrıca bana bazı belki ben benden beni benim beri beş bile bin bir biri birkaç birkez birçok birşey birşeyi biz bizden bize bizi bizim bu buna bunda bundan bunlar bunları bunların bunu bunun burada böyle böylece da daha dahi de defa değil diye diğer doksan dokuz dolayı dolayısıyla dört edecek eden ederek edilecek ediliyor edilmesi ediyor elli en etmesi etti ettiği ettiğini eğer gibi göre halen hangi hatta hem henüz hep hepsi her herhangi herkesin hiç hiçbir iki ile ilgili ise itibaren itibariyle için işte kadar karşın katrilyon kendi kendilerine kendini kendisi kendisine kendisini kez ki kim kimden kime kimi kimse kırk milyar milyon mu mü mı nasıl ne neden nedenle nerde nerede nereye niye niçin o olan olarak oldu olduklarını olduğu olduğunu olmadı olmadığı olmak olması olmayan olmaz olsa olsun olup olur olursa oluyor on ona ondan onlar onlardan onları onların onu onun otuz oysa pek rağmen sadece sanki sekiz seksen sen senden seni senin siz sizden sizi sizin tarafından trilyon tüm var vardı ve veya ya yani yapacak yapmak yaptı yaptıkları yaptığı yaptığını yapılan yapılması yapıyor yedi yerine yetmiş yine yirmi yoksa yüz zaten çok çünkü öyle üzere üç şey şeyden şeyi şeyler şu şuna şunda şundan şunları şunu şöyle'.split(' '); + + lunr.Pipeline.registerFunction(lunr.tr.stopWordFilter, 'stopWordFilter-tr'); + }; +}))
\ No newline at end of file diff --git a/static/js/lunr.tr.min.js b/static/js/lunr.tr.min.js new file mode 100644 index 0000000..54adb6d --- /dev/null +++ b/static/js/lunr.tr.min.js @@ -0,0 +1 @@ +!function(r,i){"function"==typeof define&&define.amd?define(i):"object"==typeof exports?module.exports=i():i()(r.lunr)}(this,function(){return function(i){if(void 0===i)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===i.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var mr,dr,e;i.tr=function(){this.pipeline.reset(),this.pipeline.add(i.tr.trimmer,i.tr.stopWordFilter,i.tr.stemmer)},i.tr.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",i.tr.trimmer=i.trimmerSupport.generateTrimmer(i.tr.wordCharacters),i.Pipeline.registerFunction(i.tr.trimmer,"trimmer-tr"),i.tr.stemmer=(mr=i.stemmerSupport.Among,dr=i.stemmerSupport.SnowballProgram,e=new function(){var i,r=[new mr("m",-1,-1),new mr("n",-1,-1),new mr("miz",-1,-1),new mr("niz",-1,-1),new mr("muz",-1,-1),new mr("nuz",-1,-1),new mr("müz",-1,-1),new mr("nüz",-1,-1),new mr("mız",-1,-1),new mr("nız",-1,-1)],e=[new mr("leri",-1,-1),new mr("ları",-1,-1)],n=[new mr("ni",-1,-1),new mr("nu",-1,-1),new mr("nü",-1,-1),new mr("nı",-1,-1)],t=[new mr("in",-1,-1),new mr("un",-1,-1),new mr("ün",-1,-1),new mr("ın",-1,-1)],u=[new mr("a",-1,-1),new mr("e",-1,-1)],T=[new mr("na",-1,-1),new mr("ne",-1,-1)],Z=[new mr("da",-1,-1),new mr("ta",-1,-1),new mr("de",-1,-1),new mr("te",-1,-1)],B=[new mr("nda",-1,-1),new mr("nde",-1,-1)],D=[new mr("dan",-1,-1),new mr("tan",-1,-1),new mr("den",-1,-1),new mr("ten",-1,-1)],G=[new mr("ndan",-1,-1),new mr("nden",-1,-1)],H=[new mr("la",-1,-1),new mr("le",-1,-1)],I=[new mr("ca",-1,-1),new mr("ce",-1,-1)],J=[new mr("im",-1,-1),new mr("um",-1,-1),new mr("üm",-1,-1),new mr("ım",-1,-1)],K=[new mr("sin",-1,-1),new mr("sun",-1,-1),new mr("sün",-1,-1),new mr("sın",-1,-1)],M=[new mr("iz",-1,-1),new mr("uz",-1,-1),new mr("üz",-1,-1),new mr("ız",-1,-1)],N=[new mr("siniz",-1,-1),new mr("sunuz",-1,-1),new mr("sünüz",-1,-1),new mr("sınız",-1,-1)],Q=[new mr("lar",-1,-1),new mr("ler",-1,-1)],R=[new mr("niz",-1,-1),new mr("nuz",-1,-1),new mr("nüz",-1,-1),new mr("nız",-1,-1)],U=[new mr("dir",-1,-1),new mr("tir",-1,-1),new mr("dur",-1,-1),new mr("tur",-1,-1),new mr("dür",-1,-1),new mr("tür",-1,-1),new mr("dır",-1,-1),new mr("tır",-1,-1)],V=[new mr("casına",-1,-1),new mr("cesine",-1,-1)],X=[new mr("di",-1,-1),new mr("ti",-1,-1),new mr("dik",-1,-1),new mr("tik",-1,-1),new mr("duk",-1,-1),new mr("tuk",-1,-1),new mr("dük",-1,-1),new mr("tük",-1,-1),new mr("dık",-1,-1),new mr("tık",-1,-1),new mr("dim",-1,-1),new mr("tim",-1,-1),new mr("dum",-1,-1),new mr("tum",-1,-1),new mr("düm",-1,-1),new mr("tüm",-1,-1),new mr("dım",-1,-1),new mr("tım",-1,-1),new mr("din",-1,-1),new mr("tin",-1,-1),new mr("dun",-1,-1),new mr("tun",-1,-1),new mr("dün",-1,-1),new mr("tün",-1,-1),new mr("dın",-1,-1),new mr("tın",-1,-1),new mr("du",-1,-1),new mr("tu",-1,-1),new mr("dü",-1,-1),new mr("tü",-1,-1),new mr("dı",-1,-1),new mr("tı",-1,-1)],Y=[new mr("sa",-1,-1),new mr("se",-1,-1),new mr("sak",-1,-1),new mr("sek",-1,-1),new mr("sam",-1,-1),new mr("sem",-1,-1),new mr("san",-1,-1),new mr("sen",-1,-1)],$=[new mr("miş",-1,-1),new mr("muş",-1,-1),new mr("müş",-1,-1),new mr("mış",-1,-1)],rr=[new mr("b",-1,1),new mr("c",-1,2),new mr("d",-1,3),new mr("ğ",-1,4)],o=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,8,0,0,0,0,0,0,1],s=[1,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,1],c=[65],l=[65],a=[["a",[1,64,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],97,305],["e",[17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130],101,252],["ı",[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],97,305],["i",[17],101,105],["o",c,111,117],["ö",l,246,252],["u",c,111,117]],m=new dr;function d(r,i,e){for(;;){var n=m.limit-m.cursor;if(m.in_grouping_b(r,i,e)){m.cursor=m.limit-n;break}if(m.cursor=m.limit-n,m.cursor<=m.limit_backward)return;m.cursor--}return 1}function f(){var r=m.limit-m.cursor;d(o,97,305);for(var i=0;i<a.length;i++){var e=m.limit-m.cursor,n=a[i];if(m.eq_s_b(1,n[0])&&d(n[1],n[2],n[3]))return m.cursor=m.limit-r,!0;m.cursor=m.limit-e}return m.cursor=m.limit-e,!(!m.eq_s_b(1,"ü")||!d(l,246,252)||(m.cursor=m.limit-r,0))}function b(r,i){var e,n=m.limit-m.cursor;if(r()&&(m.cursor=m.limit-n,m.cursor>m.limit_backward)&&(m.cursor--,e=m.limit-m.cursor,i()))m.cursor=m.limit-e;else{if(m.cursor=m.limit-n,r())return m.cursor=m.limit-n,!1;if(m.cursor=m.limit-n,m.cursor<=m.limit_backward)return!1;if(m.cursor--,!i())return!1;m.cursor=m.limit-n}return!0}function w(r){return b(r,function(){return m.in_grouping_b(o,97,305)})}function _(){return w(function(){return m.eq_s_b(1,"n")})}function k(){return w(function(){return m.eq_s_b(1,"y")})}function p(){return m.find_among_b(r,10)&&b(function(){return m.in_grouping_b(s,105,305)},function(){return m.out_grouping_b(o,97,305)})}function g(){return f()&&m.in_grouping_b(s,105,305)&&w(function(){return m.eq_s_b(1,"s")})}function y(){return m.find_among_b(e,2)}function z(){return f()&&m.find_among_b(t,4)&&_()}function h(){return f()&&m.find_among_b(Z,4)}function v(){return f()&&m.find_among_b(B,2)}function q(){return f()&&m.find_among_b(J,4)&&k()}function W(){return f()&&m.find_among_b(K,4)}function F(){return f()&&m.find_among_b(M,4)&&k()}function C(){return m.find_among_b(N,4)}function S(){return f()&&m.find_among_b(Q,2)}function P(){return f()&&m.find_among_b(U,8)}function L(){return f()&&m.find_among_b(X,32)&&k()}function x(){return m.find_among_b(Y,8)&&k()}function A(){return f()&&m.find_among_b($,4)&&k()}function ir(){var r=m.limit-m.cursor;return!(A()||(m.cursor=m.limit-r,L())||(m.cursor=m.limit-r,x())||(m.cursor=m.limit-r,m.eq_s_b(3,"ken")&&k()))}function er(){if(m.find_among_b(V,2)){var r=m.limit-m.cursor;if(C()||(m.cursor=m.limit-r,S())||(m.cursor=m.limit-r,q())||(m.cursor=m.limit-r,W())||(m.cursor=m.limit-r,F())||(m.cursor=m.limit-r),A())return}return 1}function nr(){var r;return!(f()&&m.find_among_b(R,4)&&(r=m.limit-m.cursor,L()||(m.cursor=m.limit-r,x())))}function tr(){var r=m.limit-m.cursor;if(m.ket=m.cursor,i=!0,ir()&&(m.cursor=m.limit-r,er())&&(m.cursor=m.limit-r,function(){var r;if(!S())return 1;m.bra=m.cursor,m.slice_del(),r=m.limit-m.cursor,m.ket=m.cursor,P()||(m.cursor=m.limit-r,L())||(m.cursor=m.limit-r,x())||(m.cursor=m.limit-r,A())||(m.cursor=m.limit-r),i=!1}())&&(m.cursor=m.limit-r,nr())&&(m.cursor=m.limit-r,function(){var r=m.limit-m.cursor;if(!(C()||(m.cursor=m.limit-r,F())||(m.cursor=m.limit-r,W())||(m.cursor=m.limit-r,q())))return 1;m.bra=m.cursor,m.slice_del(),r=m.limit-m.cursor,m.ket=m.cursor,A()||(m.cursor=m.limit-r)}())){if(m.cursor=m.limit-r,!P())return;m.bra=m.cursor,m.slice_del(),m.ket=m.cursor,r=m.limit-m.cursor,C()||(m.cursor=m.limit-r,S())||(m.cursor=m.limit-r,q())||(m.cursor=m.limit-r,W())||(m.cursor=m.limit-r,F())||(m.cursor=m.limit-r),A()||(m.cursor=m.limit-r)}m.bra=m.cursor,m.slice_del()}function E(){var r,i;if(m.ket=m.cursor,m.eq_s_b(2,"ki")){if(r=m.limit-m.cursor,h())return m.bra=m.cursor,m.slice_del(),i=m.limit-m.cursor,m.ket=m.cursor,(S()||(m.cursor=m.limit-i,p()&&(m.bra=m.cursor,m.slice_del(),m.ket=m.cursor,S())))&&(m.bra=m.cursor,m.slice_del(),E()),1;if(m.cursor=m.limit-r,z()){if(m.bra=m.cursor,m.slice_del(),m.ket=m.cursor,i=m.limit-m.cursor,y())m.bra=m.cursor,m.slice_del();else{if(m.cursor=m.limit-i,m.ket=m.cursor,!p()&&(m.cursor=m.limit-i,!g())&&(m.cursor=m.limit-i,!E()))return 1;m.bra=m.cursor,m.slice_del(),m.ket=m.cursor,S()&&(m.bra=m.cursor,m.slice_del(),E())}return 1}if(m.cursor=m.limit-r,v()){if(i=m.limit-m.cursor,y())m.bra=m.cursor,m.slice_del();else if(m.cursor=m.limit-i,g())m.bra=m.cursor,m.slice_del(),m.ket=m.cursor,S()&&(m.bra=m.cursor,m.slice_del(),E());else if(m.cursor=m.limit-i,!E())return;return 1}}}function ur(r){if(m.ket=m.cursor,v()||(m.cursor=m.limit-r,f()&&m.find_among_b(T,2))){r=m.limit-m.cursor;if(y())m.bra=m.cursor,m.slice_del();else if(m.cursor=m.limit-r,g())m.bra=m.cursor,m.slice_del(),m.ket=m.cursor,S()&&(m.bra=m.cursor,m.slice_del(),E());else if(m.cursor=m.limit-r,!E())return;return 1}}function or(r){if(m.ket=m.cursor,f()&&m.find_among_b(G,2)||(m.cursor=m.limit-r,f()&&m.find_among_b(n,4)))return r=m.limit-m.cursor,g()||(m.cursor=m.limit-r,y())?(m.bra=m.cursor,m.slice_del(),m.ket=m.cursor,S()&&(m.bra=m.cursor,m.slice_del(),E()),1):void 0}function sr(){var r=m.limit-m.cursor;return m.ket=m.cursor,(z()||(m.cursor=m.limit-r,f()&&m.find_among_b(H,2)&&k()))&&(m.bra=m.cursor,m.slice_del(),r=m.limit-m.cursor,m.ket=m.cursor,S()&&(m.bra=m.cursor,m.slice_del(),E())||(m.cursor=m.limit-r,m.ket=m.cursor,(p()||(m.cursor=m.limit-r,g())||(m.cursor=m.limit-r,E()))&&(m.bra=m.cursor,m.slice_del(),m.ket=m.cursor,S())&&(m.bra=m.cursor,m.slice_del(),E())),1)}function cr(){var r,i=m.limit-m.cursor;if(m.ket=m.cursor,h()||(m.cursor=m.limit-i,f()&&m.in_grouping_b(s,105,305)&&k())||(m.cursor=m.limit-i,f()&&m.find_among_b(u,2)&&k())){if(m.bra=m.cursor,m.slice_del(),m.ket=m.cursor,i=m.limit-m.cursor,p())m.bra=m.cursor,m.slice_del(),r=m.limit-m.cursor,m.ket=m.cursor,S()||(m.cursor=m.limit-r);else if(m.cursor=m.limit-i,!S())return 1;return m.bra=m.cursor,m.slice_del(),m.ket=m.cursor,E(),1}}function lr(){var r,i=m.limit-m.cursor;if(m.ket=m.cursor,S())m.bra=m.cursor,m.slice_del(),E();else if(m.cursor=m.limit-i,m.ket=m.cursor,f()&&m.find_among_b(I,2)&&_())if(m.bra=m.cursor,m.slice_del(),r=m.limit-m.cursor,m.ket=m.cursor,y())m.bra=m.cursor,m.slice_del();else{if(m.cursor=m.limit-r,m.ket=m.cursor,!p()&&(m.cursor=m.limit-r,!g())){if(m.cursor=m.limit-r,m.ket=m.cursor,!S())return;if(m.bra=m.cursor,m.slice_del(),!E())return}m.bra=m.cursor,m.slice_del(),m.ket=m.cursor,S()&&(m.bra=m.cursor,m.slice_del(),E())}else m.cursor=m.limit-i,ur(i)||(m.cursor=m.limit-i,or(i))||(m.cursor=m.limit-i,m.ket=m.cursor,f()&&m.find_among_b(D,4)?(m.bra=m.cursor,m.slice_del(),m.ket=m.cursor,r=m.limit-m.cursor,p()?(m.bra=m.cursor,m.slice_del(),m.ket=m.cursor,S()&&(m.bra=m.cursor,m.slice_del(),E())):(m.cursor=m.limit-r,S()?(m.bra=m.cursor,m.slice_del()):m.cursor=m.limit-r,E())):(m.cursor=m.limit-i,sr()||(m.cursor=m.limit-i,y()?(m.bra=m.cursor,m.slice_del()):(m.cursor=m.limit-i,E()||(m.cursor=m.limit-i,cr())||(m.cursor=m.limit-i,m.ket=m.cursor,(p()||(m.cursor=m.limit-i,g()))&&(m.bra=m.cursor,m.slice_del(),m.ket=m.cursor,S())&&(m.bra=m.cursor,m.slice_del(),E()))))))}function j(r,i,e){if(m.cursor=m.limit-r,!function(){for(;;){var r=m.limit-m.cursor;if(m.in_grouping_b(o,97,305)){m.cursor=m.limit-r;break}if(m.cursor=m.limit-r,m.cursor<=m.limit_backward)return;m.cursor--}return 1}())return 1;var n=m.limit-m.cursor;if(!m.eq_s_b(1,i)&&(m.cursor=m.limit-n,!m.eq_s_b(1,e)))return 1;m.cursor=m.limit-r;i=m.cursor;m.insert(m.cursor,m.cursor,e),m.cursor=i}function O(r,i,e){for(;!m.eq_s(i,e);){if(m.cursor>=m.limit)return 1;m.cursor++}if(i!=m.limit)return 1;m.cursor=r}function ar(){var r,i=m.cursor;if(O(r=m.cursor,2,"ad")&&O(m.cursor=r,5,"soyad")){if(m.limit_backward=i,m.cursor=m.limit,r=m.limit-m.cursor,(m.eq_s_b(1,"d")||(m.cursor=m.limit-r,m.eq_s_b(1,"g")))&&j(r,"a","ı")&&j(r,"e","i")&&j(r,"o","u")&&j(r,"ö","ü"),m.cursor=m.limit,m.ket=m.cursor,i=m.find_among_b(rr,4))switch(m.bra=m.cursor,i){case 1:m.slice_from("p");break;case 2:m.slice_from("ç");break;case 3:m.slice_from("t");break;case 4:m.slice_from("k")}return 1}}this.setCurrent=function(r){m.setCurrent(r)},this.getCurrent=function(){return m.getCurrent()},this.stem=function(){return!!(function(){for(var r,i=m.cursor,e=2;;){for(r=m.cursor;!m.in_grouping(o,97,305);){if(m.cursor>=m.limit)return m.cursor=r,!(0<e)&&(m.cursor=i,1);m.cursor++}e--}}()&&(m.limit_backward=m.cursor,m.cursor=m.limit,tr(),m.cursor=m.limit,i)&&(lr(),m.cursor=m.limit_backward,ar()))}},function(r){return e.setCurrent(r),e.stem(),e.getCurrent()}),i.Pipeline.registerFunction(i.tr.stemmer,"stemmer-tr"),i.tr.stopWordFilter=function(r){if(-1===i.tr.stopWordFilter.stopWords.indexOf(r))return r},i.tr.stopWordFilter.stopWords=new i.SortedSet,i.tr.stopWordFilter.stopWords.length=210,i.tr.stopWordFilter.stopWords.elements=" acaba altmış altı ama ancak arada aslında ayrıca bana bazı belki ben benden beni benim beri beş bile bin bir biri birkaç birkez birçok birşey birşeyi biz bizden bize bizi bizim bu buna bunda bundan bunlar bunları bunların bunu bunun burada böyle böylece da daha dahi de defa değil diye diğer doksan dokuz dolayı dolayısıyla dört edecek eden ederek edilecek ediliyor edilmesi ediyor elli en etmesi etti ettiği ettiğini eğer gibi göre halen hangi hatta hem henüz hep hepsi her herhangi herkesin hiç hiçbir iki ile ilgili ise itibaren itibariyle için işte kadar karşın katrilyon kendi kendilerine kendini kendisi kendisine kendisini kez ki kim kimden kime kimi kimse kırk milyar milyon mu mü mı nasıl ne neden nedenle nerde nerede nereye niye niçin o olan olarak oldu olduklarını olduğu olduğunu olmadı olmadığı olmak olması olmayan olmaz olsa olsun olup olur olursa oluyor on ona ondan onlar onlardan onları onların onu onun otuz oysa pek rağmen sadece sanki sekiz seksen sen senden seni senin siz sizden sizi sizin tarafından trilyon tüm var vardı ve veya ya yani yapacak yapmak yaptı yaptıkları yaptığı yaptığını yapılan yapılması yapıyor yedi yerine yetmiş yine yirmi yoksa yüz zaten çok çünkü öyle üzere üç şey şeyden şeyi şeyler şu şuna şunda şundan şunları şunu şöyle".split(" "),i.Pipeline.registerFunction(i.tr.stopWordFilter,"stopWordFilter-tr")}});
\ No newline at end of file diff --git a/static/js/lunr.zh.js b/static/js/lunr.zh.js new file mode 100644 index 0000000..8a1b53a --- /dev/null +++ b/static/js/lunr.zh.js @@ -0,0 +1,156 @@ +/*! + * Lunr languages, `Chinese` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2019, Felix Lian (repairearth) + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball zhvaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +/** + * export the module via AMD, CommonJS or as a browser global + * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js + */ +; +(function(root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(factory) + } else if (typeof exports === 'object') { + /** + * Node. Does not work with strict CommonJS, but + * only CommonJS-like environments that support module.exports, + * like Node. + */ + module.exports = factory(require('nodejieba')) + } else { + // Browser globals (root is window) + factory()(root.lunr); + } +}(this, function(nodejieba) { + /** + * Just return a value to define the module export. + * This example returns an object, but the module + * can return a function as the exported value. + */ + return function(lunr, nodejiebaDictJson) { + /* throw error if lunr is not yet included */ + if ('undefined' === typeof lunr) { + throw new Error('Lunr is not present. Please include / require Lunr before this script.'); + } + + /* throw error if lunr stemmer support is not yet included */ + if ('undefined' === typeof lunr.stemmerSupport) { + throw new Error('Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.'); + } + + /* + Chinese tokenization is trickier, since it does not + take into account spaces. + Since the tokenization function is represented different + internally for each of the Lunr versions, this had to be done + in order to try to try to pick the best way of doing this based + on the Lunr version + */ + var isLunr2 = lunr.version[0] == "2"; + + /* register specific locale function */ + lunr.zh = function() { + this.pipeline.reset(); + this.pipeline.add( + lunr.zh.trimmer, + lunr.zh.stopWordFilter, + lunr.zh.stemmer + ); + + // change the tokenizer for Chinese one + if (isLunr2) { // for lunr version 2.0.0 + this.tokenizer = lunr.zh.tokenizer; + } else { + if (lunr.tokenizer) { // for lunr version 0.6.0 + lunr.tokenizer = lunr.zh.tokenizer; + } + if (this.tokenizerFn) { // for lunr version 0.7.0 -> 1.0.0 + this.tokenizerFn = lunr.zh.tokenizer; + } + } + }; + + lunr.zh.tokenizer = function(obj) { + if (!arguments.length || obj == null || obj == undefined) return [] + if (Array.isArray(obj)) return obj.map(function(t) { + return isLunr2 ? new lunr.Token(t.toLowerCase()) : t.toLowerCase() + }) + + nodejiebaDictJson && nodejieba.load(nodejiebaDictJson) + + var str = obj.toString().trim().toLowerCase(); + var tokens = []; + + nodejieba.cut(str, true).forEach(function(seg) { + tokens = tokens.concat(seg.split(' ')) + }) + + tokens = tokens.filter(function(token) { + return !!token; + }); + + var fromIndex = 0 + + return tokens.map(function(token, index) { + if (isLunr2) { + var start = str.indexOf(token, fromIndex) + + var tokenMetadata = {} + tokenMetadata["position"] = [start, token.length] + tokenMetadata["index"] = index + + fromIndex = start + + return new lunr.Token(token, tokenMetadata); + } else { + return token + } + }); + } + + /* lunr trimmer function */ + lunr.zh.wordCharacters = "\\w\u4e00-\u9fa5"; + lunr.zh.trimmer = lunr.trimmerSupport.generateTrimmer(lunr.zh.wordCharacters); + lunr.Pipeline.registerFunction(lunr.zh.trimmer, 'trimmer-zh'); + + /* lunr stemmer function */ + lunr.zh.stemmer = (function() { + + /* TODO Chinese stemmer */ + return function(word) { + return word; + } + })(); + lunr.Pipeline.registerFunction(lunr.zh.stemmer, 'stemmer-zh'); + + /* lunr stop word filter. see https://www.ranks.nl/stopwords/chinese-stopwords */ + lunr.generateStopWordFilter = function (stopWords) { + var words = stopWords.reduce(function (memo, stopWord) { + memo[stopWord] = stopWord + return memo + }, {}) + + return function (token) { + if (token && words[token.toString()] !== token.toString()) return token + } + } + + lunr.zh.stopWordFilter = lunr.generateStopWordFilter( + '的 一 不 在 人 有 是 为 以 于 上 他 而 后 之 来 及 了 因 下 可 到 由 这 与 也 此 但 并 个 其 已 无 小 我 们 起 最 再 今 去 好 只 又 或 很 亦 某 把 那 你 乃 它 吧 被 比 别 趁 当 从 到 得 打 凡 儿 尔 该 各 给 跟 和 何 还 即 几 既 看 据 距 靠 啦 了 另 么 每 们 嘛 拿 哪 那 您 凭 且 却 让 仍 啥 如 若 使 谁 虽 随 同 所 她 哇 嗡 往 哪 些 向 沿 哟 用 于 咱 则 怎 曾 至 致 着 诸 自'.split(' ')); + lunr.Pipeline.registerFunction(lunr.zh.stopWordFilter, 'stopWordFilter-zh'); + }; +})) diff --git a/static/js/lunr.zh.min.js b/static/js/lunr.zh.min.js new file mode 100644 index 0000000..6c2e84d --- /dev/null +++ b/static/js/lunr.zh.min.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r(require("nodejieba")):r()(e.lunr)}(this,function(n){return function(u,t){if(void 0===u)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===u.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var s="2"==u.version[0];u.zh=function(){this.pipeline.reset(),this.pipeline.add(u.zh.trimmer,u.zh.stopWordFilter,u.zh.stemmer),s?this.tokenizer=u.zh.tokenizer:(u.tokenizer&&(u.tokenizer=u.zh.tokenizer),this.tokenizerFn&&(this.tokenizerFn=u.zh.tokenizer))},u.zh.tokenizer=function(e){if(!arguments.length||null==e)return[];if(Array.isArray(e))return e.map(function(e){return s?new u.Token(e.toLowerCase()):e.toLowerCase()});t&&n.load(t);var i=e.toString().trim().toLowerCase(),r=[],o=(n.cut(i,!0).forEach(function(e){r=r.concat(e.split(" "))}),r=r.filter(function(e){return!!e}),0);return r.map(function(e,r){var t,n;return s?(t=i.indexOf(e,o),(n={}).position=[t,e.length],n.index=r,o=t,new u.Token(e,n)):e})},u.zh.wordCharacters="\\w一-龥",u.zh.trimmer=u.trimmerSupport.generateTrimmer(u.zh.wordCharacters),u.Pipeline.registerFunction(u.zh.trimmer,"trimmer-zh"),u.zh.stemmer=function(e){return e},u.Pipeline.registerFunction(u.zh.stemmer,"stemmer-zh"),u.generateStopWordFilter=function(e){var r=e.reduce(function(e,r){return e[r]=r,e},{});return function(e){if(e&&r[e.toString()]!==e.toString())return e}},u.zh.stopWordFilter=u.generateStopWordFilter("的 一 不 在 人 有 是 为 以 于 上 他 而 后 之 来 及 了 因 下 可 到 由 这 与 也 此 但 并 个 其 已 无 小 我 们 起 最 再 今 去 好 只 又 或 很 亦 某 把 那 你 乃 它 吧 被 比 别 趁 当 从 到 得 打 凡 儿 尔 该 各 给 跟 和 何 还 即 几 既 看 据 距 靠 啦 了 另 么 每 们 嘛 拿 哪 那 您 凭 且 却 让 仍 啥 如 若 使 谁 虽 随 同 所 她 哇 嗡 往 哪 些 向 沿 哟 用 于 咱 则 怎 曾 至 致 着 诸 自".split(" ")),u.Pipeline.registerFunction(u.zh.stopWordFilter,"stopWordFilter-zh")}});
\ No newline at end of file diff --git a/static/mathtex-script-type.min.js b/static/js/mathtex-script-type.min.js index af02830..af02830 100644 --- a/static/mathtex-script-type.min.js +++ b/static/js/mathtex-script-type.min.js diff --git a/static/prestyle.js b/static/js/prestyle.js index 2516247..2516247 100644 --- a/static/prestyle.js +++ b/static/js/prestyle.js diff --git a/static/js/search.js b/static/js/search.js new file mode 100644 index 0000000..cb19e6a --- /dev/null +++ b/static/js/search.js @@ -0,0 +1,366 @@ +window.onload = function() { + if (document.body.contains(document.goSearch)) { + document.goSearch.onsubmit = function() { return goSearchNow() }; + + /* + Source: + - https://github.com/nextapps-de/flexsearch#index-documents-field-search + - https://raw.githack.com/nextapps-de/flexsearch/master/demo/autocomplete.html + - http://elasticlunr.com/ + - https://github.com/getzola/zola/blob/master/docs/static/search.js + - https://github.com/aaranxu/adidoks/blob/main/static/js/search.js + */ + (function(){ + function inputFocus(e) { + + if (e.keyCode === 191//forward slash + && document.activeElement.tagName !== "INPUT" + && document.activeElement.tagName !== "TEXTAREA") { + e.preventDefault(); + searchinput.focus(); + suggestions.classList.remove('d-none'); + } + + if (e.keyCode === 27 ) {//escape + searchinput.blur(); + suggestions.classList.add('d-none'); + closeAllLists(); + } + + const focusableSuggestions= suggestions.querySelectorAll('a'); + if (suggestions.classList.contains('d-none') + || focusableSuggestions.length === 0) { + return; + } + const focusable= [...focusableSuggestions]; + const index = focusable.indexOf(document.activeElement); + + let nextIndex = 0; + + if (e.keyCode === 38) {//up arrow + e.preventDefault(); + nextIndex= index > 0 ? index-1 : 0; + focusableSuggestions[nextIndex].focus(); + } + else if (e.keyCode === 40) {//down arrow + e.preventDefault(); + nextIndex= index+1 < focusable.length ? index+1 : index; + focusableSuggestions[nextIndex].focus(); + } + + } + + var suggestions = document.getElementById("suggestions"); + var searchinput = document.getElementById("searchinput"); + document.addEventListener("keydown", inputFocus); + document.addEventListener("click", function(event) {suggestions.contains(event.target) || suggestions.classList.add("d-none")}); + + var lang = document.documentElement.getAttribute("lang"); + var langOnly = lang.substring(0, 2); + var baseUrl = document.querySelector("meta[name='base']").getAttribute("content"); + if (baseUrl.slice(-1) == "/") { + baseUrl = baseUrl.slice(0, -1); + } + + var index; + searchinput.addEventListener('input', show_results, true); + suggestions.addEventListener('click', accept_suggestion, true); + + + // in page results when press enter or click search icon from search box + function closeSearchNow() { + const main = document.querySelector("main"); + main.innerHTML = window.main + } + + function goSearchNow() { + const main = document.querySelector("main"); + if (!window.main) { + window.main = main.innerHTML + }; + var results = document.getElementById("suggestions");// suggestions div generated by search box + + var ResultsClone = results.cloneNode(true);// make a clone of the results, so that we can alter it + ResultsClone.id = "results";// alter the id of our clone, so that we can apply different css style + + var headerDiv = document.createElement("div");// create a div element + + var headerContent = '<form name="closeSearch"><h2><button type="submit" title="Close Search"><i class="svgs x"></i></button> Results For: '.concat(document.getElementById("searchinput").value, "</h2></form>");// header to use at top of results page + + headerDiv.innerHTML = headerContent;// document element div (headerDiv), set the inner contents to our header html (headerContent) + + ResultsClone.insertBefore(headerDiv, ResultsClone.firstChild);//insert our header div at the top of the page + + main.innerHTML = ResultsClone.outerHTML;//display ResultsClone.outerHTML as the page + results.innerHTML = "";// clear the suggestions div popup + document.getElementById("searchinput").value = "";// clear the search input box + document.body.contains(document.closeSearch) && (document.closeSearch.onsubmit = function() { closeSearchNow() }) + return false + } + + /* Close search suggestion popup list */ + function closeAllLists(elmnt) { + var suggestions = document.getElementById("suggestions"); + while (suggestions.firstChild) { + suggestions.removeChild(suggestions.firstChild); + } + } + + + + async function show_results() { + var initIndex = async function () { + if (index === undefined) { + index = fetch(baseUrl + '/search_index.' + langOnly + '.json') + .then( + async function(response) { + return await elasticlunr.Index.load(await response.json()); + } + ); + } + let res = await index; + return res; + } + var value = this.value.trim(); + var options = { + bool: "OR", + fields: { + title: {boost: 2}, + body: {boost: 1}, + } + }; + //var results = index.search(value, options); + var results = (await initIndex()).search(value, options); + + var entry, childs = suggestions.childNodes; + var i = 0, len = results.length; + var items = value.split(/\s+/); + suggestions.classList.remove('d-none'); + + results.forEach(function(page) { + if (page.doc.body !== '') { + entry = document.createElement('div'); + + entry.innerHTML = '<a href><span></span><span></span></a>'; + + a = entry.querySelector('a'), + t = entry.querySelector('span:first-child'), + d = entry.querySelector('span:nth-child(2)'); + a.href = page.ref; + t.textContent = page.doc.title; + d.innerHTML = makeTeaser(page.doc.body, items); + + suggestions.appendChild(entry); + } + }); + + while(childs.length > len){ + suggestions.removeChild(childs[i]) + } + + } + + function accept_suggestion(){ + + while(suggestions.lastChild){ + + suggestions.removeChild(suggestions.lastChild); + } + + return false; + } + // Get the string bytes from binary + function getByteByBinary(binaryCode) { + // Binary system, starts with `0b` in ES6 + // Octal number system, starts with `0` in ES5 and starts with `0o` in ES6 + // Hexadecimal, starts with `0x` in both ES5 and ES6 + var byteLengthDatas = [0, 1, 2, 3, 4]; + var len = byteLengthDatas[Math.ceil(binaryCode.length / 8)]; + return len; + } + + // Get the string bytes from hexadecimal + function getByteByHex(hexCode) { + return getByteByBinary(parseInt(hexCode, 16).toString(2)); + } + // Get substring by bytes + // If using JavaScript inline substring method, it will return error codes + // Source: https://www.52pojie.cn/thread-1059814-1-1.html + function substringByByte(str, maxLength) { + var result = ""; + var flag = false; + var len = 0; + var length = 0; + var length2 = 0; + for (var i = 0; i < str.length; i++) { + var code = str.codePointAt(i).toString(16); + if (code.length > 4) { + i++; + if ((i + 1) < str.length) { + flag = str.codePointAt(i + 1).toString(16) == "200d"; + } + } + if (flag) { + len += getByteByHex(code); + if (i == str.length - 1) { + length += len; + if (length <= maxLength) { + result += str.substr(length2, i - length2 + 1); + } else { + break + } + } + } else { + if (len != 0) { + length += len; + length += getByteByHex(code); + if (length <= maxLength) { + result += str.substr(length2, i - length2 + 1); + length2 = i + 1; + } else { + break + } + len = 0; + continue; + } + length += getByteByHex(code); + if (length <= maxLength) { + if (code.length <= 4) { + result += str[i] + } else { + result += str[i - 1] + str[i] + } + length2 = i + 1; + } else { + break + } + } + } + return result; + } + /* Taken from mdbook + // The strategy is as follows: + // First, assign a value to each word in the document: + // Words that correspond to search terms (stemmer aware): 40 + // Normal words: 2 + // First word in a sentence: 8 + // Then use a sliding window with a constant number of words and count the + // sum of the values of the words within the window. Then use the window that got the + // maximum sum. If there are multiple maximas, then get the last one. + // Enclose the terms in <b>. + */ + function makeTeaser(body, terms) { + var TERM_WEIGHT = 40; + var NORMAL_WORD_WEIGHT = 2; + var FIRST_WORD_WEIGHT = 8; + var TEASER_MAX_WORDS = 30; + + var stemmedTerms = terms.map(function (w) { + return elasticlunr.stemmer(w.toLowerCase()); + }); + var termFound = false; + var index = 0; + var weighted = []; // contains elements of ["word", weight, index_in_document] + + // split in sentences, then words + var sentences = body.toLowerCase().split(". "); + for (var i in sentences) { + var words = sentences[i].split(/[\s\n]/); + var value = FIRST_WORD_WEIGHT; + for (var j in words) { + + var word = words[j]; + + if (word.length > 0) { + for (var k in stemmedTerms) { + if (elasticlunr.stemmer(word).startsWith(stemmedTerms[k])) { + value = TERM_WEIGHT; + termFound = true; + } + } + weighted.push([word, value, index]); + value = NORMAL_WORD_WEIGHT; + } + + index += word.length; + index += 1; // ' ' or '.' if last word in sentence + } + + index += 1; // because we split at a two-char boundary '. ' + } + + if (weighted.length === 0) { + if (body.length !== undefined && body.length > TEASER_MAX_WORDS * 10) { + return body.substring(0, TEASER_MAX_WORDS * 10) + '...'; + } else { + return body; + } + } + + var windowWeights = []; + var windowSize = Math.min(weighted.length, TEASER_MAX_WORDS); + // We add a window with all the weights first + var curSum = 0; + for (var i = 0; i < windowSize; i++) { + curSum += weighted[i][1]; + } + windowWeights.push(curSum); + + for (var i = 0; i < weighted.length - windowSize; i++) { + curSum -= weighted[i][1]; + curSum += weighted[i + windowSize][1]; + windowWeights.push(curSum); + } + + // If we didn't find the term, just pick the first window + var maxSumIndex = 0; + if (termFound) { + var maxFound = 0; + // backwards + for (var i = windowWeights.length - 1; i >= 0; i--) { + if (windowWeights[i] > maxFound) { + maxFound = windowWeights[i]; + maxSumIndex = i; + } + } + } + + var teaser = []; + var startIndex = weighted[maxSumIndex][2]; + for (var i = maxSumIndex; i < maxSumIndex + windowSize; i++) { + var word = weighted[i]; + if (startIndex < word[2]) { + // missing text from index to start of `word` + teaser.push(body.substring(startIndex, word[2])); + startIndex = word[2]; + } + + // add <em/> around search terms + if (word[1] === TERM_WEIGHT) { + teaser.push("<b>"); + } + + startIndex = word[2] + word[0].length; + // Check the string is ascii characters or not + var re = /^[\x00-\xff]+$/ + if (word[1] !== TERM_WEIGHT && word[0].length >= 12 && !re.test(word[0])) { + // If the string's length is too long, it maybe a Chinese/Japance/Korean article + // if using substring method directly, it may occur error codes on emoji chars + var strBefor = body.substring(word[2], startIndex); + var strAfter = substringByByte(strBefor, 12); + teaser.push(strAfter); + } else { + teaser.push(body.substring(word[2], startIndex)); + } + + if (word[1] === TERM_WEIGHT) { + teaser.push("</b>"); + } + } + teaser.push("…"); + return teaser.join(""); + } + document.goSearch.onsubmit = function() { return goSearchNow() }; + }()); + } +}; diff --git a/static/js/search_elasticlunr.min.js b/static/js/search_elasticlunr.min.js new file mode 100644 index 0000000..56d2c19 --- /dev/null +++ b/static/js/search_elasticlunr.min.js @@ -0,0 +1 @@ +!function(){function g(e){var t=new g.Index;return t.pipeline.add(g.trimmer,g.stopWordFilter,g.stemmer),e&&e.call(t,t),t}var l,c,e,t,d,h,f,p,m,v,y,S,x,w,b,I,E,D,F,C,_,k,N,P,n;g.version="0.9.5",((lunr=g).utils={}).warn=(n=this,function(e){n.console&&console.warn&&console.warn(e)}),g.utils.toString=function(e){return null==e?"":e.toString()},(g.EventEmitter=function(){this.events={}}).prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop();if("function"!=typeof t)throw new TypeError("last argument must be a function");e.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},g.EventEmitter.prototype.removeListener=function(e,t){this.hasHandler(e)&&-1!==(t=this.events[e].indexOf(t))&&(this.events[e].splice(t,1),0==this.events[e].length)&&delete this.events[e]},g.EventEmitter.prototype.emit=function(e){var t;this.hasHandler(e)&&(t=Array.prototype.slice.call(arguments,1),this.events[e].forEach(function(e){e.apply(void 0,t)},this))},g.EventEmitter.prototype.hasHandler=function(e){return e in this.events},(g.tokenizer=function(e){var t,n;return arguments.length&&null!=e?Array.isArray(e)?(t=(t=e.filter(function(e){return null!=e})).map(function(e){return g.utils.toString(e).toLowerCase()}),n=[],t.forEach(function(e){e=e.split(g.tokenizer.seperator);n=n.concat(e)},this),n):e.toString().trim().toLowerCase().split(g.tokenizer.seperator):[]}).defaultSeperator=/[\s\-]+/,g.tokenizer.seperator=g.tokenizer.defaultSeperator,g.tokenizer.setSeperator=function(e){null!=e&&"object"==typeof e&&(g.tokenizer.seperator=e)},g.tokenizer.resetSeperator=function(){g.tokenizer.seperator=g.tokenizer.defaultSeperator},g.tokenizer.getSeperator=function(){return g.tokenizer.seperator},(g.Pipeline=function(){this._queue=[]}).registeredFunctions={},g.Pipeline.registerFunction=function(e,t){t in g.Pipeline.registeredFunctions&&g.utils.warn("Overwriting existing registered function: "+t),e.label=t,g.Pipeline.registeredFunctions[t]=e},g.Pipeline.getRegisteredFunction=function(e){return e in g.Pipeline.registeredFunctions!=1?null:g.Pipeline.registeredFunctions[e]},g.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||g.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},g.Pipeline.load=function(e){var n=new g.Pipeline;return e.forEach(function(e){var t=g.Pipeline.getRegisteredFunction(e);if(!t)throw new Error("Cannot load un-registered function: "+e);n.add(t)}),n},g.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach(function(e){g.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},g.Pipeline.prototype.after=function(e,t){g.Pipeline.warnIfFunctionNotRegistered(t);e=this._queue.indexOf(e);if(-1===e)throw new Error("Cannot find existingFn");this._queue.splice(e+1,0,t)},g.Pipeline.prototype.before=function(e,t){g.Pipeline.warnIfFunctionNotRegistered(t);e=this._queue.indexOf(e);if(-1===e)throw new Error("Cannot find existingFn");this._queue.splice(e,0,t)},g.Pipeline.prototype.remove=function(e){e=this._queue.indexOf(e);-1!==e&&this._queue.splice(e,1)},g.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,o=this._queue.length,i=0;i<n;i++){for(var r=e[i],s=0;s<o&&null!=(r=this._queue[s](r,i,e));s++);null!=r&&t.push(r)}return t},g.Pipeline.prototype.reset=function(){this._queue=[]},g.Pipeline.prototype.get=function(){return this._queue},g.Pipeline.prototype.toJSON=function(){return this._queue.map(function(e){return g.Pipeline.warnIfFunctionNotRegistered(e),e.label})},(g.Index=function(){this._fields=[],this._ref="id",this.pipeline=new g.Pipeline,this.documentStore=new g.DocumentStore,this.index={},this.eventEmitter=new g.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))}).prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},g.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},g.Index.load=function(e){e.version!==g.version&&g.utils.warn("version mismatch: current "+g.version+" importing "+e.version);var t,n=new this;for(t in n._fields=e.fields,n._ref=e.ref,n.documentStore=g.DocumentStore.load(e.documentStore),n.pipeline=g.Pipeline.load(e.pipeline),n.index={},e.index)n.index[t]=g.InvertedIndex.load(e.index[t]);return n},g.Index.prototype.addField=function(e){return this._fields.push(e),this.index[e]=new g.InvertedIndex,this},g.Index.prototype.setRef=function(e){return this._ref=e,this},g.Index.prototype.saveDocument=function(e){return this.documentStore=new g.DocumentStore(e),this},g.Index.prototype.addDoc=function(r,e){var s;r&&(e=void 0===e||e,s=r[this._ref],this.documentStore.addDoc(s,r),this._fields.forEach(function(e){var t,n=this.pipeline.run(g.tokenizer(r[e])),o=(this.documentStore.addFieldLength(s,e,n.length),{});for(t in n.forEach(function(e){e in o?o[e]+=1:o[e]=1},this),o){var i=o[t],i=Math.sqrt(i);this.index[e].addToken(t,{ref:s,tf:i})}},this),e)&&this.eventEmitter.emit("add",r,this)},g.Index.prototype.removeDocByRef=function(e){e&&!1!==this.documentStore.isDocStored()&&this.documentStore.hasDoc(e)&&(e=this.documentStore.getDoc(e),this.removeDoc(e,!1))},g.Index.prototype.removeDoc=function(e,t){var n;e&&(t=void 0===t||t,n=e[this._ref],this.documentStore.hasDoc(n))&&(this.documentStore.removeDoc(n),this._fields.forEach(function(t){this.pipeline.run(g.tokenizer(e[t])).forEach(function(e){this.index[t].removeToken(e,n)},this)},this),t)&&this.eventEmitter.emit("remove",e,this)},g.Index.prototype.updateDoc=function(e,t){t=void 0===t||t;this.removeDocByRef(e[this._ref],!1),this.addDoc(e,!1),t&&this.eventEmitter.emit("update",e,this)},g.Index.prototype.idf=function(e,t){var n="@"+t+"/"+e;return Object.prototype.hasOwnProperty.call(this._idfCache,n)?this._idfCache[n]:(t=this.index[t].getDocFreq(e),e=1+Math.log(this.documentStore.length/(t+1)),this._idfCache[n]=e)},g.Index.prototype.getFields=function(){return this._fields.slice()},g.Index.prototype.search=function(e,t){if(!e)return[];e="string"==typeof e?{any:e}:JSON.parse(JSON.stringify(e));var n=null;null!=t&&(n=JSON.stringify(t));for(var o=new g.Configuration(n,this.getFields()).get(),i={},r=Object.keys(e),s=0;s<r.length;s++){var u=r[s];i[u]=this.pipeline.run(g.tokenizer(e[u]))}var a,l={};for(a in o){var c=i[a]||i.any;if(c){var d=this.fieldSearch(c,a,o),h=o[a].boost;for(p in d)d[p]=d[p]*h;for(p in d)p in l?l[p]+=d[p]:l[p]=d[p]}}var f,p,m=[];for(p in l)f={ref:p,score:l[p]},this.documentStore.hasDoc(p)&&(f.doc=this.documentStore.getDoc(p)),m.push(f);return m.sort(function(e,t){return t.score-e.score}),m},g.Index.prototype.fieldSearch=function(e,d,t){var h=t[d].bool,n=t[d].expand,t=t[d].boost,f=null,p={};return 0!==t?(e.forEach(function(l){var e=[l],c=(1==n&&(e=this.index[d].expandToken(l)),{});e.forEach(function(e){var t=this.index[d].getDocs(e),n=this.idf(e,d);if(f&&"AND"==h){var o,i={};for(o in f)o in t&&(i[o]=t[o]);t=i}for(o in e==l&&this.fieldSearchStats(p,e,t),t){var r=this.index[d].getTermFrequency(e,o),s=this.documentStore.getFieldLength(o,d),u=1,a=1,r=r*n*(u=0!=s?1/Math.sqrt(s):u)*(a=e!=l?.15*(1-(e.length-l.length)/e.length):a);o in c?c[o]+=r:c[o]=r}},this),f=this.mergeScores(f,c,h)},this),f=this.coordNorm(f,p,e.length)):void 0},g.Index.prototype.mergeScores=function(e,t,n){if(!e)return t;if("AND"==n){var o={};for(i in t)i in e&&(o[i]=e[i]+t[i]);return o}for(var i in t)i in e?e[i]+=t[i]:e[i]=t[i];return e},g.Index.prototype.fieldSearchStats=function(e,t,n){for(var o in n)o in e?e[o].push(t):e[o]=[t]},g.Index.prototype.coordNorm=function(e,t,n){for(var o in e){var i;o in t&&(i=t[o].length,e[o]=e[o]*i/n)}return e},g.Index.prototype.toJSON=function(){var t={};return this._fields.forEach(function(e){t[e]=this.index[e].toJSON()},this),{version:g.version,fields:this._fields,ref:this._ref,documentStore:this.documentStore.toJSON(),index:t,pipeline:this.pipeline.toJSON()}},g.Index.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},(g.DocumentStore=function(e){this._save=null==e||e,this.docs={},this.docInfo={},this.length=0}).load=function(e){var t=new this;return t.length=e.length,t.docs=e.docs,t.docInfo=e.docInfo,t._save=e.save,t},g.DocumentStore.prototype.isDocStored=function(){return this._save},g.DocumentStore.prototype.addDoc=function(e,t){this.hasDoc(e)||this.length++,this.docs[e]=!0===this._save?function(e){if(null===e||"object"!=typeof e)return e;var t,n=e.constructor();for(t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}(t):null},g.DocumentStore.prototype.getDoc=function(e){return!1===this.hasDoc(e)?null:this.docs[e]},g.DocumentStore.prototype.hasDoc=function(e){return e in this.docs},g.DocumentStore.prototype.removeDoc=function(e){this.hasDoc(e)&&(delete this.docs[e],delete this.docInfo[e],this.length--)},g.DocumentStore.prototype.addFieldLength=function(e,t,n){null!=e&&0!=this.hasDoc(e)&&(this.docInfo[e]||(this.docInfo[e]={}),this.docInfo[e][t]=n)},g.DocumentStore.prototype.updateFieldLength=function(e,t,n){null!=e&&0!=this.hasDoc(e)&&this.addFieldLength(e,t,n)},g.DocumentStore.prototype.getFieldLength=function(e,t){return null!=e&&e in this.docs&&t in this.docInfo[e]?this.docInfo[e][t]:0},g.DocumentStore.prototype.toJSON=function(){return{docs:this.docs,docInfo:this.docInfo,length:this.length,save:this._save}},l={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},c={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},e="[aeiouy]",t="[^aeiou][^aeiouy]*",d=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),h=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),f=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*([aeiouy][aeiou]*)?$"),p=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy]"),m=/^(.+?)(ss|i)es$/,v=/^(.+?)([^s])s$/,y=/^(.+?)eed$/,S=/^(.+?)(ed|ing)$/,x=/.$/,w=/(at|bl|iz)$/,b=new RegExp("([^aeiouylsz])\\1$"),I=new RegExp("^"+t+e+"[^aeiouwxy]$"),E=/^(.+?[^aeiou])y$/,D=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,F=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,C=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,_=/^(.+?)(s|t)(ion)$/,k=/^(.+?)e$/,N=/ll$/,P=new RegExp("^"+t+e+"[^aeiouwxy]$"),g.Pipeline.registerFunction(g.stemmer=function(e){var t,n,o,i,r,s,u,a;return e.length<3||("y"==(n=e.substr(0,1))&&(e=n.toUpperCase()+e.substr(1)),u=v,(r=m).test(e)?e=e.replace(r,"$1$2"):u.test(e)&&(e=e.replace(u,"$1$2")),u=S,(r=y).test(e)?(a=r.exec(e),(r=d).test(a[1])&&(e=e.replace(r=x,""))):u.test(e)&&(s=(a=u.exec(e))[1],(u=p).test(s))&&(e=s,o=b,i=I,(u=w).test(e)?e+="e":o.test(e)?e=e.replace(r=x,""):i.test(e)&&(e+="e")),(r=E).test(e)&&(e=(s=(a=r.exec(e))[1])+"i"),(r=D).test(e)&&(s=(a=r.exec(e))[1],t=a[2],(r=d).test(s))&&(e=s+l[t]),(r=F).test(e)&&(s=(a=r.exec(e))[1],t=a[2],(r=d).test(s))&&(e=s+c[t]),u=_,(r=C).test(e)?(s=(a=r.exec(e))[1],(r=h).test(s)&&(e=s)):u.test(e)&&(s=(a=u.exec(e))[1]+a[2],(u=h).test(s))&&(e=s),(r=k).test(e)&&(s=(a=r.exec(e))[1],u=f,o=P,(r=h).test(s)||u.test(s)&&!o.test(s))&&(e=s),u=h,(r=N).test(e)&&u.test(e)&&(e=e.replace(r=x,"")),"y"==n&&(e=n.toLowerCase()+e.substr(1))),e},"stemmer"),g.stopWordFilter=function(e){return e&&!0!==g.stopWordFilter.stopWords[e]?e:void 0},g.clearStopWords=function(){g.stopWordFilter.stopWords={}},g.addStopWords=function(e){null!=e&&!1!==Array.isArray(e)&&e.forEach(function(e){g.stopWordFilter.stopWords[e]=!0},this)},g.resetStopWords=function(){g.stopWordFilter.stopWords=g.defaultStopWords},g.stopWordFilter.stopWords=g.defaultStopWords={"":!0,a:!0,able:!0,about:!0,across:!0,after:!0,all:!0,almost:!0,also:!0,am:!0,among:!0,an:!0,and:!0,any:!0,are:!0,as:!0,at:!0,be:!0,because:!0,been:!0,but:!0,by:!0,can:!0,cannot:!0,could:!0,dear:!0,did:!0,do:!0,does:!0,either:!0,else:!0,ever:!0,every:!0,for:!0,from:!0,get:!0,got:!0,had:!0,has:!0,have:!0,he:!0,her:!0,hers:!0,him:!0,his:!0,how:!0,however:!0,i:!0,if:!0,in:!0,into:!0,is:!0,it:!0,its:!0,just:!0,least:!0,let:!0,like:!0,likely:!0,may:!0,me:!0,might:!0,most:!0,must:!0,my:!0,neither:!0,no:!0,nor:!0,not:!0,of:!0,off:!0,often:!0,on:!0,only:!0,or:!0,other:!0,our:!0,own:!0,rather:!0,said:!0,say:!0,says:!0,she:!0,should:!0,since:!0,so:!0,some:!0,than:!0,that:!0,the:!0,their:!0,them:!0,then:!0,there:!0,these:!0,they:!0,this:!0,tis:!0,to:!0,too:!0,twas:!0,us:!0,wants:!0,was:!0,we:!0,were:!0,what:!0,when:!0,where:!0,which:!0,while:!0,who:!0,whom:!0,why:!0,will:!0,with:!0,would:!0,yet:!0,you:!0,your:!0},g.Pipeline.registerFunction(g.stopWordFilter,"stopWordFilter"),g.Pipeline.registerFunction(g.trimmer=function(e){if(null==e)throw new Error("token should not be undefined");return e.replace(/^\W+/,"").replace(/\W+$/,"")},"trimmer"),(g.InvertedIndex=function(){this.root={docs:{},df:0}}).load=function(e){var t=new this;return t.root=e.root,t},g.InvertedIndex.prototype.addToken=function(e,t,n){for(var n=n||this.root,o=0;o<=e.length-1;){var i=e[o];i in n||(n[i]={docs:{},df:0}),o+=1,n=n[i]}var r=t.ref;n.docs[r]?n.docs[r]={tf:t.tf}:(n.docs[r]={tf:t.tf},n.df+=1)},g.InvertedIndex.prototype.hasToken=function(e){if(!e)return!1;for(var t=this.root,n=0;n<e.length;n++){if(!t[e[n]])return!1;t=t[e[n]]}return!0},g.InvertedIndex.prototype.getNode=function(e){if(!e)return null;for(var t=this.root,n=0;n<e.length;n++){if(!t[e[n]])return null;t=t[e[n]]}return t},g.InvertedIndex.prototype.getDocs=function(e){e=this.getNode(e);return null==e?{}:e.docs},g.InvertedIndex.prototype.getTermFrequency=function(e,t){e=this.getNode(e);return null!=e&&t in e.docs?e.docs[t].tf:0},g.InvertedIndex.prototype.getDocFreq=function(e){e=this.getNode(e);return null==e?0:e.df},g.InvertedIndex.prototype.removeToken=function(e,t){e&&null!=(e=this.getNode(e))&&t in e.docs&&(delete e.docs[t],--e.df)},g.InvertedIndex.prototype.expandToken=function(e,t,n){if(null==e||""==e)return[];t=t||[];if(null!=n||null!=(n=this.getNode(e)))for(var o in 0<n.df&&t.push(e),n)"docs"!==o&&"df"!==o&&this.expandToken(e+o,t,n[o]);return t},g.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},(g.Configuration=function(e,t){var n,e=e||"";if(null==t)throw new Error("fields should not be null");this.config={};try{n=JSON.parse(e),this.buildUserConfig(n,t)}catch(e){g.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(t)}}).prototype.buildDefaultConfig=function(e){this.reset(),e.forEach(function(e){this.config[e]={boost:1,bool:"OR",expand:!1}},this)},g.Configuration.prototype.buildUserConfig=function(e,t){var n,o,i="OR",r=!1;if(this.reset(),"bool"in e&&(i=e.bool||i),"expand"in e&&(r=e.expand||r),"fields"in e)for(var s in e.fields)-1<t.indexOf(s)?(o=r,null!=(n=e.fields[s]).expand&&(o=n.expand),this.config[s]={boost:n.boost||0===n.boost?n.boost:1,bool:n.bool||i,expand:o}):g.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(i,r,t)},g.Configuration.prototype.addAllFields2UserConfig=function(t,n,e){e.forEach(function(e){this.config[e]={boost:1,bool:t,expand:n}},this)},g.Configuration.prototype.get=function(){return this.config},g.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},lunr.SortedSet.prototype.add=function(){for(var e,t=0;t<arguments.length;t++)~this.indexOf(e=arguments[t])||this.elements.splice(this.locationFor(e),0,e);this.length=this.elements.length},lunr.SortedSet.prototype.toArray=function(){return this.elements.slice()},lunr.SortedSet.prototype.map=function(e,t){return this.elements.map(e,t)},lunr.SortedSet.prototype.forEach=function(e,t){return this.elements.forEach(e,t)},lunr.SortedSet.prototype.indexOf=function(e){for(var t=0,n=this.elements.length,o=n-t,i=t+Math.floor(o/2),r=this.elements[i];1<o;){if(r===e)return i;o=(n=e<r?i:n)-(t=r<e?i:t),i=t+Math.floor(o/2),r=this.elements[i]}return r===e?i:-1},lunr.SortedSet.prototype.locationFor=function(e){for(var t=0,n=this.elements.length,o=n-t,i=t+Math.floor(o/2),r=this.elements[i];1<o;)o=(n=e<r?i:n)-(t=r<e?i:t),i=t+Math.floor(o/2),r=this.elements[i];return e<r?i:r<e?i+1:void 0},lunr.SortedSet.prototype.intersect=function(e){for(var t=new lunr.SortedSet,n=0,o=0,i=this.length,r=e.length,s=this.elements,u=e.elements;!(i-1<n||r-1<o);)s[n]!==u[o]?s[n]<u[o]?n++:s[n]>u[o]&&o++:(t.add(s[n]),n++,o++);return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){for(var t,e=this.length>=e.length?(t=this,e):(t=e,this),n=t.clone(),o=0,i=e.toArray();o<i.length;o++)n.add(i[o]);return n},lunr.SortedSet.prototype.toJSON=function(){return this.toArray()},t=this,e=function(){return g},"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=g:t.elasticlunr=g}(),window.onload=function(){function e(){var e=document.querySelector("main"),t=(window.main||(window.main=e.innerHTML),document.getElementById("suggestions")),n=t.cloneNode(!0),o=(n.id="results",document.createElement("div")),i='<form name="closeSearch"><h2><button type="submit" title="Close Search"><i class="svgs x"></i></button> Results For: '.concat(document.getElementById("searchinput").value,"</h2></form>");return o.innerHTML=i,n.insertBefore(o,n.firstChild),e.innerHTML=n.outerHTML,t.innerHTML="",document.getElementById("searchinput").value="",document.body.contains(document.closeSearch)&&(document.closeSearch.onsubmit=function(){document.querySelector("main").innerHTML=window.main}),!1}function w(e){return e=parseInt(e,16).toString(2),[0,1,2,3,4][Math.ceil(e.length/8)]}var u,r,l,c,h;document.body.contains(document.goSearch)&&(document.goSearch.onsubmit=function(){return goSearchNow()},u=document.getElementById("suggestions"),r=document.getElementById("searchinput"),document.addEventListener("keydown",function(t){if(191===t.keyCode&&"INPUT"!==document.activeElement.tagName&&"TEXTAREA"!==document.activeElement.tagName&&(t.preventDefault(),r.focus(),u.classList.remove("d-none")),27===t.keyCode){r.blur(),u.classList.add("d-none");for(var e=document.getElementById("suggestions");e.firstChild;)e.removeChild(e.firstChild)}var n=u.querySelectorAll("a");if(!u.classList.contains("d-none")&&0!==n.length){var o=[...n],i=o.indexOf(document.activeElement);let e=0;38===t.keyCode?(t.preventDefault(),n[e=0<i?i-1:0].focus()):40===t.keyCode&&(t.preventDefault(),n[e=i+1<o.length?i+1:i].focus())}}),document.addEventListener("click",function(e){u.contains(e.target)||u.classList.add("d-none")}),c=document.documentElement.getAttribute("lang").substring(0,2),"/"==(h=document.querySelector("meta[name='base']").getAttribute("content")).slice(-1)&&(h=h.slice(0,-1)),r.addEventListener("input",async function(){var n,e=this.value.trim(),o=(await(l=void 0===l?fetch(h+"/search_index."+c+".json").then(async function(e){return elasticlunr.Index.load(await e.json())}):l)).search(e,{bool:"OR",fields:{title:{boost:2},body:{boost:1}}}),i=u.childNodes,r=o.length,s=e.split(/\s+/);u.classList.remove("d-none"),o.forEach(function(e){""!==e.doc.body&&((n=document.createElement("div")).innerHTML="<a href><span></span><span></span></a>",a=n.querySelector("a"),t=n.querySelector("span:first-child"),d=n.querySelector("span:nth-child(2)"),a.href=e.ref,t.textContent=e.doc.title,d.innerHTML=function(e,t){var n=t.map(function(e){return elasticlunr.stemmer(e.toLowerCase())}),o=!1,i=0,r=[],s=e.toLowerCase().split(". ");for(p in s){var u,a=s[p].split(/[\s\n]/),l=8;for(u in a){if(0<(S=a[u]).length){for(var c in n)elasticlunr.stemmer(S).startsWith(n[c])&&(l=40,o=!0);r.push([S,l,i]),l=2}i=i+S.length+1}i+=1}if(0===r.length)return void 0!==e.length&&300<e.length?e.substring(0,300)+"...":e;for(var d=[],h=Math.min(r.length,30),f=0,p=0;p<h;p++)f+=r[p][1];d.push(f);for(p=0;p<r.length-h;p++)f=(f-=r[p][1])+r[p+h][1],d.push(f);var m=0;if(o)for(var g=0,p=d.length-1;0<=p;p--)g<d[p]&&(g=d[p],m=p);for(var v=[],y=r[m][2],p=m;p<m+h;p++){var S,x;y<(S=r[p])[2]&&(v.push(e.substring(y,S[2])),y=S[2]),40===S[1]&&v.push("<b>"),y=S[2]+S[0].length;40!==S[1]&&12<=S[0].length&&!/^[\x00-\xff]+$/.test(S[0])?(x=function(e,t){for(var n="",o=!1,i=0,r=0,s=0,u=0;u<e.length;u++){var a=e.codePointAt(u).toString(16);if(o=4<a.length&&++u+1<e.length?"200d"==e.codePointAt(u+1).toString(16):o){if(i+=w(a),u==e.length-1){if(!((r+=i)<=t))break;n+=e.substr(s,u-s+1)}}else if(0!=i){if(!((r=(r+=i)+w(a))<=t))break;n+=e.substr(s,u-s+1),s=u+1,i=0}else{if(!((r+=w(a))<=t))break;a.length<=4?n+=e[u]:n+=e[u-1]+e[u],s=u+1}}return n}(e.substring(S[2],y),12),v.push(x)):v.push(e.substring(S[2],y)),40===S[1]&&v.push("</b>")}return v.push("…"),v.join("")}(e.doc.body,s),u.appendChild(n))});for(;i.length>r;)u.removeChild(i[0])},!0),u.addEventListener("click",function(){for(;u.lastChild;)u.removeChild(u.lastChild);return!1},!0),document.goSearch.onsubmit=e)};
\ No newline at end of file diff --git a/static/js/search_stork.min.js b/static/js/search_stork.min.js new file mode 100644 index 0000000..a8f9a2c --- /dev/null +++ b/static/js/search_stork.min.js @@ -0,0 +1 @@ +var stork;function loadStork(){var e=document.querySelector("meta[name='base']").getAttribute("content");"/"==e.slice(-1)&&(e=e.slice(0,-1)),stork.initialize(e+"/stork.wasm").then(()=>{console.log("Finished downloading WASM")}).catch(e=>{console.error(e)}),stork.register("stork",e+"/stork.st")}(()=>{"use strict";var n={214:(e,t,r)=>{let u;r.r(t),r.d(t,{default:()=>v,wasm_register_index:()=>function(e,t){try{var n=u.__wbindgen_add_to_stack_pointer(-16),r=h(e,u.__wbindgen_malloc,u.__wbindgen_realloc),o=c,s=function(e){var t=(0,u.__wbindgen_malloc)(+e.length);return d().set(e,+t),c=e.length,t}(t),i=c,a=(u.wasm_register_index(n,r,o,s,i),g()[n/4+0]),l=g()[n/4+1];return m(a,l)}finally{u.__wbindgen_add_to_stack_pointer(16),u.__wbindgen_free(a,l)}},wasm_search:()=>function(e,t){try{var n=u.__wbindgen_add_to_stack_pointer(-16),r=h(e,u.__wbindgen_malloc,u.__wbindgen_realloc),o=c,s=h(t,u.__wbindgen_malloc,u.__wbindgen_realloc),i=c,a=(u.wasm_search(n,r,o,s,i),g()[n/4+0]),l=g()[n/4+1];return m(a,l)}finally{u.__wbindgen_add_to_stack_pointer(16),u.__wbindgen_free(a,l)}},wasm_stork_version:()=>function(){try{var e=u.__wbindgen_add_to_stack_pointer(-16),t=(u.wasm_stork_version(e),g()[e/4+0]),n=g()[e/4+1];return m(t,n)}finally{u.__wbindgen_add_to_stack_pointer(16),u.__wbindgen_free(t,n)}}});const o=new Array(32).fill(void 0);function s(e){return o[e]}o.push(void 0,null,!0,!1);let i=o.length,c=0,n=null;function d(){return n=null!==n&&n.buffer===u.memory.buffer?n:new Uint8Array(u.memory.buffer)}let a=new TextEncoder("utf-8");const l="function"==typeof a.encodeInto?function(e,t){return a.encodeInto(e,t)}:function(e,t){var n=a.encode(e);return t.set(n),{read:e.length,written:n.length}};function h(e,t,n){if(void 0===n){const n=a.encode(e),r=t(n.length);return d().subarray(r,r+n.length).set(n),c=n.length,r}let r=e.length,o=t(r);var s=d();let i=0;for(;i<r;i++){const t=e.charCodeAt(i);if(127<t)break;s[o+i]=t}if(i!==r){0!==i&&(e=e.slice(i)),o=n(o,r,r=i+3*e.length);const t=d().subarray(o+i,o+r);i+=l(e,t).written}return c=i,o}let f=null;function g(){return f=null!==f&&f.buffer===u.memory.buffer?f:new Int32Array(u.memory.buffer)}let p=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});function m(e,t){return p.decode(d().subarray(e,e+t))}p.decode();const v=async function e(t){void 0===t&&(t=new URL("stork_bg.wasm",function(){var e=r.p;let t="";return(!e||e.indexOf("://")<0)&&(t+=window.location.protocol+"//"+window.location.host),(t+=e||"/")+"node_modules/stork-search/stork.js"}()));var n={wbg:{}},{instance:t,module:n}=(n.wbg.__wbg_new_693216e109162396=function(){return e=new Error,i===o.length&&o.push(o.length+1),t=i,i=o[t],o[t]=e,t;var e,t},n.wbg.__wbg_stack_0ddaca5d1abfb52f=function(e,t){var t=h(s(t).stack,u.__wbindgen_malloc,u.__wbindgen_realloc),n=c;g()[e/4+1]=n,g()[e/4+0]=t},n.wbg.__wbg_error_09919627ac0992f5=function(e,t){try{console.error(m(e,t))}finally{u.__wbindgen_free(e,t)}},n.wbg.__wbindgen_object_drop_ref=function(e){s(e),(e=e)<36||(o[e]=i,i=e)},await async function(e,t){if("function"==typeof Response&&e instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(e,t)}catch(t){if("application/wasm"==e.headers.get("Content-Type"))throw t;console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",t)}var n=await e.arrayBuffer();return WebAssembly.instantiate(n,t)}n=await WebAssembly.instantiate(e,t);return n instanceof WebAssembly.Instance?{instance:n,module:e}:n}(await(t="string"==typeof t||"function"==typeof Request&&t instanceof Request||"function"==typeof URL&&t instanceof URL?fetch(t):t),n));return u=t.exports,e.__wbindgen_wasm_module=n,u}},914:(e,l,t)=>{Object.defineProperty(l,"__esModule",{value:!0}),l.calculateOverriddenConfig=l.defaultConfig=void 0;var u=t(445),c=t(466);l.defaultConfig={showProgress:!0,printIndexInfo:!1,showScores:!1,showCloseButton:!0,minimumQueryLength:3,forceOverwrite:!1,resultNoun:{singular:"file",plural:"files"},onQueryUpdate:void 0,onResultSelected:void 0,onResultsHidden:void 0,onInputCleared:void 0,transformResultUrl:function(e){return e}},l.calculateOverriddenConfig=function(e){var t,n=(0,c.difference)(Object.keys(e),Object.keys(l.defaultConfig));if(0<n.length)return t=(0,c.plural)(n.length,"key","keys"),n=JSON.stringify(n),new u.default("Invalid ".concat(t," in config object: ").concat(n));for(var r=Object.assign({},l.defaultConfig),o=0,s=Object.keys(l.defaultConfig);o<s.length;o++){var i=s[o],a=e[i];void 0!==a&&(r[i]=a)}return r}},227:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.existsBeyondContainerBounds=t.setText=t.clear=t.add=t.create=void 0,t.create=function(e,t){e=document.createElement(e);return t.classNames&&e.setAttribute("class",t.classNames.join(" ")),e},t.add=function(e,t,n){n.insertAdjacentElement(t,e)},t.clear=function(e){for(;e&&e.firstChild;)e.removeChild(e.firstChild)},t.setText=function(e,t){t=document.createTextNode(t);e&&e.firstChild?e.replaceChild(t,e.firstChild):e&&e.appendChild(t)},t.existsBeyondContainerBounds=function(e,t){e=e.getBoundingClientRect(),t=t.getBoundingClientRect();return e.bottom>t.bottom||e.top<t.top}},934:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Entity=void 0;var r=n(139),o=n(771),s=n(214),i=n(445);function a(e,t,n){var r=this;this._state="initialized",this.downloadProgress=0,this.results=[],this.totalResultCount=0,this.eventListenerFunctions={},this.highlightedResult=0,this.resultsVisible=!1,this.hoverSelectEnabled=!0,this.setDownloadProgress=function(e){r.state="loading",r.downloadProgress=e,r.config.showProgress&&r.render()},this.name=e,this.url=t,this.config=n}Object.defineProperty(a.prototype,"state",{get:function(){return this._state},set:function(e){this._state=e,this.render()},enumerable:!1,configurable:!0}),a.prototype.getCurrentMessage=function(){var e;return this.domManager?(e=this.domManager.getQuery(),"error"===this.state?"Error! Check the browser console.":"ready"!=this.state?"Loading...":(null==e?void 0:e.length)<this.config.minimumQueryLength?"Filtering...":this.results?0===this.totalResultCount?"No ".concat(this.config.resultNoun.plural," found."):1===this.totalResultCount?"1 ".concat(this.config.resultNoun.singular," found."):"".concat(this.totalResultCount," ").concat(this.config.resultNoun.plural," found."):null):null},a.prototype.generateRenderConfig=function(){return{results:this.results,resultsVisible:!0,showScores:this.config.showScores,message:this.getCurrentMessage(),showProgress:this.config.showProgress,progress:this.downloadProgress,state:this.state}},a.prototype.render=function(){this.domManager&&this.domManager.render(this.generateRenderConfig())},a.prototype.registerIndex=function(r){var o=this;return new Promise(function(e,t){var n=JSON.parse((0,s.wasm_register_index)(o.name,r));n.error?t(new i.default(n.error)):(o.config.printIndexInfo&&console.log(n),o.state="ready",e(n))})},a.prototype.attachToDom=function(){this.domManager=new o.EntityDom(this.name,this),this.render()},a.prototype.injestSearchData=function(e){var r=this,o=(this.results=e.results,this.totalResultCount=e.total_hit_count,this.highlightedResult=0,e.url_prefix||"");this.results.map(function(e){var t="",n=e.excerpts.map(function(e){return e.internal_annotations}).filter(function(e){return!!e})[0];n&&n[0]&&"string"==typeof(n=n[0]).a&&(t+=n.a),e.excerpts&&e.excerpts[0]&&e.excerpts[0].internal_annotations&&e.excerpts[0].internal_annotations[0]&&e.excerpts[0].internal_annotations[0].a&&"string"==typeof e.excerpts[0].internal_annotations[0].a&&(t=e.excerpts[0].internal_annotations[0].a),e.entry.url=r.config.transformResultUrl("".concat(o).concat(e.entry.url).concat(t))}),this.render()},a.prototype.getSanitizedResults=function(){var e=this.results;return e.map(function(e){delete e.title_highlight_ranges,e.excerpts.map(function(e){delete e.highlight_ranges,delete e.internal_annotations})}),e},a.prototype.setDownloadError=function(){this.state="error"},a.prototype.performSearch=function(e){if("ready"===this.state)if(e.length<this.config.minimumQueryLength)this.results=[],this.render();else try{var t=(0,r.resolveSearch)(this.name,e);t&&(this.injestSearchData(t),this.config.onQueryUpdate)&&this.config.onQueryUpdate(e,this.getSanitizedResults())}catch(e){console.error(e)}else this.render()},t.Entity=a},771:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.EntityDom=void 0;var a=n(227),i=n(9),o={results:[],resultsVisible:!1,showScores:!1,message:null,showProgress:!1,progress:1,state:"ready"};function r(n,e){var r=this,e=(this.scrollAnchorPoint="end",this.entity=e,[{selector:'input[data-stork="'.concat(n,'"]'),elementName:"input"},{selector:'div[data-stork="'.concat(n,'-output"]'),elementName:"output"}].map(function(e){var t=document.querySelector(e.selector);if(t)return t;throw new Error('Could not register search box "'.concat(n,'": ').concat(e.elementName," element not found. Make sure an element matches the query selector `").concat(e.selector,"`"))})),t=e[0],e=e[1];this.elements={input:t,output:e,list:(0,a.create)("ul",{classNames:["stork-results"]}),attribution:(0,a.create)("div",{classNames:["stork-attribution"]}),progress:(0,a.create)("div",{classNames:["stork-progress"]}),message:(0,a.create)("div",{classNames:["stork-message"]}),closeButton:(0,a.create)("button",{classNames:["stork-close-button"]})},this.elements.input.removeEventListener("input",this.entity.eventListenerFunctions.inputInputEvent),this.elements.input.removeEventListener("keydown",this.entity.eventListenerFunctions.inputKeydownEvent),this.entity.eventListenerFunctions={inputInputEvent:function(e){r.handleInputEvent(e)},inputKeydownEvent:function(e){r.handleKeyDownEvent(e)}},this.elements.input.addEventListener("input",this.entity.eventListenerFunctions.inputInputEvent),this.elements.input.addEventListener("keydown",this.entity.eventListenerFunctions.inputKeydownEvent),null!=(t=this.elements.list)&&t.addEventListener("mousemove",function(){r.hoverSelectEnabled=!0}),this.elements.attribution.innerHTML='Powered by <a href="https://stork-search.net">Stork</a>',this.elements.closeButton.innerHTML='\n<svg height="0.8em" viewBox="0 0 23 24" xmlns="http://www.w3.org/2000/svg">\n<g fill="none" fill-rule="evenodd" stroke-linecap="round">\n<g transform="translate(-700 -149)" stroke="currentcolor" stroke-width="4">\n<line id="a" x1="702.5" x2="720" y1="152.5" y2="170"/>\n<line transform="translate(711 161) rotate(-90) translate(-711 -161)" x1="702.5" x2="720" y1="152.5" y2="170"/>\n</g>\n</g>\n</svg>',this.entity.config.showProgress&&(0,a.add)(this.elements.progress,"afterend",this.elements.input),null!=(e=this.elements.closeButton)&&e.addEventListener("click",function(){r.elements.input.value="",r.elements.input.focus(),r.render(o);var e=[r.entity.config.onInputCleared,r.entity.config.onResultsHidden],t=e[0],e=e[1];t&&t(),e&&e()})}r.prototype.clearDom=function(){var e;(0,a.clear)(this.elements.output),(0,a.clear)(this.elements.list),null!=(e=this.elements.closeButton)&&e.remove(),this.elements.output.classList.remove("stork-output-visible")},r.prototype.render=function(r){var e,o=this,t=this.elements.input.value;if(this.clearDom(),(this.lastRenderState=r).showProgress&&((e=function(){switch(r.state){case"ready":case"error":return 1;case"initialized":case"loading":return.9*r.progress+.05}}())<1?(this.elements.progress.style.width="".concat(100*e,"%"),this.elements.progress.style.opacity="1"):(this.elements.progress.style.width="100%",this.elements.progress.style.opacity="0")),"error"===r.state&&this.elements.input.classList.add("stork-error"),0<this.getQuery().length&&r.resultsVisible&&(this.elements.output.classList.add("stork-output-visible"),(0,a.add)(this.elements.message,"beforeend",this.elements.output)),r.message&&(0,a.setText)(this.elements.message,r.message),0<(null==(e=r.results)?void 0:e.length)&&r.resultsVisible){(0,a.add)(this.elements.list,"beforeend",this.elements.output);for(var s=this,n=0;n<r.results.length;n++)!function(e){var t=r.results[e],n={selected:e===s.highlightedResult,showScores:r.showScores},t=(0,i.resultToListItem)(t,n);(0,a.add)(t,"beforeend",s.elements.list),t.addEventListener("mousemove",function(){o.hoverSelectEnabled&&e!==o.highlightedResult&&o.changeHighlightedResult({to:e,shouldScrollTo:!1})}),t.addEventListener("mouseleave",function(){o.hoverSelectEnabled&&e===o.highlightedResult&&o.changeHighlightedResult({to:-1,shouldScrollTo:!1})}),t.addEventListener("click",function(e){e.preventDefault(),o.selectResult()})}(n);(0,a.add)(this.elements.attribution,"beforeend",this.elements.output)}0<((null==t?void 0:t.length)||0)&&this.entity.config.showCloseButton&&(0,a.add)(this.elements.closeButton,"afterend",this.elements.input)},r.prototype.selectResult=function(){var e;null!=this.highlightedResult&&(e=this.entity.results[this.highlightedResult],this.entity.config.onResultSelected?Promise.resolve(this.entity.config.onResultSelected(this.getQuery(),e)).finally(function(){window.location.assign(e.entry.url)}):window.location.assign(e.entry.url))},r.prototype.changeHighlightedResult=function(e){var t=this.highlightedResult,n=Math.max(-1,Math.min(this.entity.results.length-1,e.to));this.highlightedResult=n,this.scrollAnchorPoint=(t||0)<n?"end":"start";for(var r=null,o=0;o<this.entity.results.length;o++){var s,i=null==(i=this.elements.list)?void 0:i.children[o];i&&(s="selected",o==n?(i.classList.add(s),r=i):i.classList.remove(s))}return e.shouldScrollTo&&(this.hoverSelectEnabled=!1,r)&&(0,a.existsBeyondContainerBounds)(r,this.elements.list)&&r.scrollIntoView({behavior:"smooth",block:this.scrollAnchorPoint,inline:"nearest"}),n},r.prototype.handleKeyDownEvent=function(e){switch(e.keyCode){case 40:var t;null==this.highlightedResult?this.changeHighlightedResult({to:0,shouldScrollTo:!0}):(t=Math.min(this.highlightedResult+1,this.entity.results.length-1),this.changeHighlightedResult({to:t,shouldScrollTo:!0}));break;case 38:null!=this.highlightedResult&&(t=Math.max(0,this.highlightedResult-1),this.changeHighlightedResult({to:t,shouldScrollTo:!0}));break;case 13:this.selectResult();break;case 27:var n;this.lastRenderState.resultsVisible?(this.render(o),(n=this.entity.config.onResultsHidden)&&n()):0<this.elements.input.value.length&&(this.elements.input.value="",this.render(o),n=this.entity.config.onInputCleared)&&n();break;default:return}},r.prototype.handleInputEvent=function(e){this.entity.performSearch(e.target.value)},r.prototype.getQuery=function(){return this.elements.input.value},t.EntityDom=r},129:function(e,t,n){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},a=(Object.defineProperty(t,"__esModule",{value:!0}),t.debug=t.entityIsReady=t.attachToDom=t.register=void 0,n(934)),l=n(914),u=n(794),c=n(258),d=n(445),h={};t.register=function(o,s,i){return new Promise(function(t,n){var r,e=(0,l.calculateOverriddenConfig)(i);e instanceof d.default?n(e):(h[o]&&!e.forceOverwrite&&n(new d.default("You're registering an index named `".concat(o,"`, but that already exists. If this is expected, set forceOverwrite to true in your Javascript config to allow overwriting indexes."))),r=new a.Entity(o,s,e),h[o]=r,(0,u.loadIndexFromUrl)(s,{progress:function(e){r.setDownloadProgress(e)},load:function(e){(0,c.runAfterWasmLoaded)(function(){r.registerIndex(new Uint8Array(e)).then(t).catch(n)},function(){r.state="error"})},error:function(){r.setDownloadError(),n()}}))})},t.attachToDom=function(e){if(!h[e])throw new Error("Index ".concat(e," has not been registered!"));h[e].attachToDom()},t.entityIsReady=function(e){return"ready"===(null==(e=h[e])?void 0:e.state)},t.debug=function(){return{entities:r({},h),entitiesCount:h.length}}},794:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.loadIndexFromUrl=void 0,t.loadIndexFromUrl=function(e,r){var t=new XMLHttpRequest;t.addEventListener("load",function(e){var t=e.target,n=t.status,t=t.response;0!==n?n<200||299<n?r.error():r.load(t):r.progress(e.loaded/e.total)}),t.addEventListener("error",function(){r.error()}),t.addEventListener("progress",function(e){r.progress(e.loaded/e.total)}),t.responseType="arraybuffer",t.open("GET",e),t.send()}},480:function(e,t,n){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},i=(Object.defineProperty(t,"__esModule",{value:!0}),t.debug=t.register=t.search=t.attach=t.downloadIndex=t.initialize=void 0,n(129)),o=n(258),s=n(139),a=n(445),l=n(34),u=n(214);function c(e){return(0,o.loadWasm)(e=void 0===e?null:e).then(function(){})}function d(r,o,s){return void 0===s&&(s={}),new Promise(function(e,t){var n=(0,l.validateIndexParams)(r,o);n?t(n):(0,i.register)(r,o,s).then(e).catch(t)})}function h(e){try{(0,i.attachToDom)(e)}catch(e){throw new a.default(e.message)}}t.initialize=c,t.downloadIndex=d,t.attach=h,t.register=function(e,t,n){void 0===n&&(n={});var r=c(),t=d(e,t,n);return h(e),Promise.all([r,t]).then()},t.search=function(e,t){if(!e||!t)throw new a.default("Make sure to call stork.search() with two arguments: the index name and the search query.");if((0,i.entityIsReady)(e))return(0,s.resolveSearch)(e,t);throw new a.default("Couldn't find index. Make sure the stork.downloadIndex() promise has resolved before calling stork.search().")},t.debug=function(){return r(r(r({},(0,o.debug)()),(0,i.debug)()),{jsStorkVersion:"1.5.0",wasmStorkVersion:u.wasm_stork_version})}},112:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.highlight=void 0,t.highlight=function(e,t){function n(e,t,n){return e.substr(0,t)+n+e.substr(t)}for(var r=0,o=0,s=t;o<s.length;o++){var i=s[o],a='<mark class="stork-highlight">',l="</mark>";e=n(e,i.beginning+r,a),r+=a.length,e=n(e,i.end+r,l),r+=l.length}return e}},9:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.resultToListItem=void 0;var r=n(112);t.resultToListItem=function(e,t){var n=document.createElement("template");return n.innerHTML='\n<li class="stork-result'.concat(t.selected?" selected":"",'">\n <a href="').concat(e.entry.url,'">\n <div class="stork-title">\n <p>').concat((0,r.highlight)(e.entry.title,e.title_highlight_ranges||[]),"</p>\n ").concat(t.showScores?"<code><b>".concat(e.score,"</b></code>"):"","\n </div>\n ").concat(0<e.excerpts.length?'<div class="stork-excerpt-container" />':"","\n ").concat(e.excerpts.map(function(e){return'<div class="stork-excerpt"><p>\n ...'.concat((0,r.highlight)(e.text,e.highlight_ranges||[]),"...\n </p>\n ").concat(t.showScores?"<code>".concat(e.score,"</code>"):"","\n </div>")}).join(""),"\n ").concat(0<e.excerpts.length?"</div>":"","\n </a>\n</li>"),n.content.firstElementChild}},139:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.resolveSearch=void 0;var o=n(214),s=n(445);t.resolveSearch=function(e,t){var n=null,r=null;try{n=(0,o.wasm_search)(e,t),r=JSON.parse(n)}catch(e){throw new s.default("Could not parse data from wasm_search. If you see this, please file a bug: https://jil.im/storkbug "+n)}if(!r)throw new s.default("Data was an empty object");if(r.error)throw new s.default("Could not perform search: the WASM binary failed to return search results.\n You might not be serving your search index properly.\n If you think this is an error, please file a bug: https://jil.im/storkbug\n \n The WASM binary came back with:\n ".concat(r.error));return r}},445:function(e,t){var r,n,o=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||({__proto__:[]}instanceof Array?function(e,t){e.__proto__=t}:function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}))(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=(Object.defineProperty(t,"__esModule",{value:!0}),n=Error,o(s,n),s);function s(e){e=n.call(this,e)||this;return e.name="StorkError",e}t.default=o},466:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.plural=t.difference=t.htmlToElement=void 0,t.htmlToElement=function(e){var t=document.createElement("template");return e=e.trim(),t.innerHTML=e,t.content.firstChild},t.difference=function(e,t){var e=new Set(e),n=new Set(t),t=new Set(Array.from(e).filter(function(e){return!n.has(e)}));return Array.from(t)},t.plural=function(e,t,n){return 1==e?t:n}},34:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateIndexParams=void 0;var r=n(445);t.validateIndexParams=function(e,t){return"string"!=typeof e?new r.default("Index registration name must be a string."):"string"!=typeof t?new r.default("URL must be a string."):null}},258:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.debug=t.loadWasm=t.runAfterWasmLoaded=void 0;var r=n(214),o=n(445),s="https://files.stork-search.net/releases/v".concat("1.5.0","/stork.wasm"),i=null,a=null,l=[],u=[],c=(t.loadWasm=function(e){var t;return a||(t=(e=void 0===e?null:e)||s,i=t,e=(0,r.default)(t).then(function(){return c(),t}).catch(function(){throw d(),new o.default("Error while loading WASM at ".concat(t))}),a=e)},t.runAfterWasmLoaded=function(e,t){return a?(a.then(function(){return e()}).catch(function(){return t()}),a):(l.push(e),u.push(t),null)},function(){l.forEach(function(e){e()}),l=[]}),d=function(){u.forEach(function(e){e()}),u=[]};t.debug=function(){return{wasmSourceUrl:i,wasmLoadPromise:a,queueLength:l.length}}}},r={};function o(e){var t=r[e];return void 0!==t||(t=r[e]={exports:{}},n[e].call(t.exports,t,t.exports,o)),t.exports}o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.g.importScripts&&(e=o.g.location+"");var e,t=o.g.document;if(e||!t||(e=t.currentScript?t.currentScript.src:e)||(t=t.getElementsByTagName("script")).length&&(e=t[t.length-1].src),!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=e;t=o(480);stork=t})();var loaded=!1;window.onload=function(){document.body.contains(document.goSearch)&&(document.goSearch.onsubmit=function(){return goSearchNow()}),document.getElementById("searchinput").onfocus=function(){loaded||(loadStork(),loaded=!0,document.body.contains(document.goSearch)&&(document.goSearch.onsubmit=function(){return goSearchNow()})),document.getElementById("searchinput").onfocus=""}};
\ No newline at end of file diff --git a/static/js/search_tinysearch.min.js b/static/js/search_tinysearch.min.js new file mode 100644 index 0000000..7630be3 --- /dev/null +++ b/static/js/search_tinysearch.min.js @@ -0,0 +1 @@ +function closeSearchNow(){document.querySelector("main").innerHTML=window.main}function goSearchNow(){var e=document.querySelector("main"),t=(window.main||(window.main=e.innerHTML),document.getElementById("suggestions")),n=t.cloneNode(!0),o=(n.id="results",document.createElement("div")),a='<form name="closeSearch"><h2><button type="submit" title="Close Search"><i class="svgs x"></i></button> Results For: '.concat(document.getElementById("searchinput").value,"</h2></form>");return o.innerHTML=a,n.insertBefore(o,n.firstChild),e.innerHTML=n.outerHTML,t.innerHTML="",document.getElementById("searchinput").value="",document.body.contains(document.closeSearch)&&(document.closeSearch.onsubmit=function(){closeSearchNow()}),!1}var loaded=!1;async function lazyLoad(){var e=document.querySelector("meta[name='base']").getAttribute("content");await init((e="/"==e.slice(-1)?e.slice(0,-1):e)+"/tinysearch_engine_bg.wasm")}function closeAllLists(e){for(var t=document.getElementById("suggestions");t.firstChild;)t.removeChild(t.firstChild)}function markTerm(e,t){return e.replace(new RegExp("(^|)("+t+")(|$)","ig"),"$1<mark><b>$2</b></mark>$3")}function autocomplete(e){e.addEventListener("input",function(e){var t=this.value;if(closeAllLists(),!t)return!1;for(var n=document.getElementById("suggestions"),o=search(t,99),a=0;a<o.length;a++){var r,c,i,s,u=o[a];(s=document.createElement("DIV")).innerHTML="<a href><span></span><span></span></a>",r=s.querySelector("a"),c=s.querySelector("span:first-child"),i=s.querySelector("span:nth-child(2)"),r.href=u[1]+"?q="+encodeURIComponent(t),c.innerHTML=markTerm(u[0],t),i.innerHTML=markTerm(u[2],t),n.appendChild(s)}})}window.onload=function(){document.body.contains(document.goSearch)&&(document.goSearch.onsubmit=function(){return goSearchNow()}),document.getElementById("searchinput").onfocus=function(){loaded||(lazyLoad(),loaded=!0,document.body.contains(document.goSearch)&&(document.goSearch.onsubmit=function(){return goSearchNow()})),document.getElementById("searchinput").onfocus=""}};var searchinput=document.getElementById("searchinput");function suggestionFocus(t){191===t.keyCode&&"INPUT"!==document.activeElement.tagName&&"TEXTAREA"!==document.activeElement.tagName&&(t.preventDefault(),searchinput.focus(),suggestions.classList.remove("d-none")),27===t.keyCode&&(searchinput.blur(),suggestions.classList.add("d-none"),closeAllLists());var n=suggestions.querySelectorAll("a");if(!suggestions.classList.contains("d-none")&&0!==n.length){var o=[...n],a=o.indexOf(document.activeElement);let e=0;38===t.keyCode?(t.preventDefault(),n[e=0<a?a-1:0].focus()):40===t.keyCode&&(t.preventDefault(),n[e=a+1<o.length?a+1:a].focus())}}document.addEventListener("keydown",suggestionFocus);let wasm,cachedTextDecoder=(autocomplete(document.getElementById("searchinput")),new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0})),cachegetUint8Memory0=(cachedTextDecoder.decode(),null);function getUint8Memory0(){return cachegetUint8Memory0=null!==cachegetUint8Memory0&&cachegetUint8Memory0.buffer===wasm.memory.buffer?cachegetUint8Memory0:new Uint8Array(wasm.memory.buffer)}function getStringFromWasm0(e,t){return cachedTextDecoder.decode(getUint8Memory0().subarray(e,e+t))}const heap=new Array(32).fill(void 0);heap.push(void 0,null,!0,!1);let heap_next=heap.length;function addHeapObject(e){heap_next===heap.length&&heap.push(heap.length+1);var t=heap_next;return heap_next=heap[t],heap[t]=e,t}let WASM_VECTOR_LEN=0,cachedTextEncoder=new TextEncoder("utf-8");const encodeString="function"==typeof cachedTextEncoder.encodeInto?function(e,t){return cachedTextEncoder.encodeInto(e,t)}:function(e,t){var n=cachedTextEncoder.encode(e);return t.set(n),{read:e.length,written:n.length}};function passStringToWasm0(e,t,n){if(void 0===n){const n=cachedTextEncoder.encode(e),o=t(n.length);return getUint8Memory0().subarray(o,o+n.length).set(n),WASM_VECTOR_LEN=n.length,o}let o=e.length,a=t(o);var r=getUint8Memory0();let c=0;for(;c<o;c++){const t=e.charCodeAt(c);if(127<t)break;r[a+c]=t}if(c!==o){0!==c&&(e=e.slice(c)),a=n(a,o,o=c+3*e.length);const t=getUint8Memory0().subarray(a+c,a+o);c+=encodeString(e,t).written}return WASM_VECTOR_LEN=c,a}function getObject(e){return heap[e]}function dropObject(e){e<36||(heap[e]=heap_next,heap_next=e)}function takeObject(e){var t=getObject(e);return dropObject(e),t}function search(e,t){var e=passStringToWasm0(e,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc),n=WASM_VECTOR_LEN;return takeObject(wasm.search(e,n,t))}async function load(e,t){if("function"==typeof Response&&e instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(e,t)}catch(t){if("application/wasm"==e.headers.get("Content-Type"))throw t;console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",t)}var n=await e.arrayBuffer();return WebAssembly.instantiate(n,t)}return(n=await WebAssembly.instantiate(e,t))instanceof WebAssembly.Instance?{instance:n,module:e}:n}async function init(e){var t=document.querySelector("meta[name='base']").getAttribute("content"),t=("/"==t.slice(-1)&&(t=t.slice(0,-1)),void 0===e&&(e=new URL(t+"/tinysearch_engine_bg.wasm")),{wbg:{}}),{instance:e,module:t}=(t.wbg.__wbindgen_json_parse=function(e,t){return addHeapObject(JSON.parse(getStringFromWasm0(e,t)))},await load(await(e="string"==typeof e||"function"==typeof Request&&e instanceof Request||"function"==typeof URL&&e instanceof URL?fetch(e):e),t));return wasm=e.exports,init.__wbindgen_wasm_module=t,wasm}
\ No newline at end of file diff --git a/static/js/searchjava.js b/static/js/searchjava.js new file mode 100644 index 0000000..608037c --- /dev/null +++ b/static/js/searchjava.js @@ -0,0 +1,354 @@ +window.onload = function() { + if (document.body.contains(document.goSearch)) { + document.goSearch.onsubmit = function() { return goSearchNow() }; + + /* + Source: + - https://github.com/nextapps-de/flexsearch#index-documents-field-search + - https://raw.githack.com/nextapps-de/flexsearch/master/demo/autocomplete.html + - http://elasticlunr.com/ + - https://github.com/getzola/zola/blob/master/docs/static/search.js + - https://github.com/aaranxu/adidoks/blob/main/static/js/search.js + */ + (function(){ + function inputFocus(e) { + + if (e.keyCode === 191//forward slash + && document.activeElement.tagName !== "INPUT" + && document.activeElement.tagName !== "TEXTAREA") { + e.preventDefault(); + searchinput.focus(); + suggestions.classList.remove('d-none'); + } + + if (e.keyCode === 27 ) {//escape + searchinput.blur(); + suggestions.classList.add('d-none'); + closeAllLists(); + } + + const focusableSuggestions= suggestions.querySelectorAll('a'); + if (suggestions.classList.contains('d-none') + || focusableSuggestions.length === 0) { + return; + } + const focusable= [...focusableSuggestions]; + const index = focusable.indexOf(document.activeElement); + + let nextIndex = 0; + + if (e.keyCode === 38) {//up arrow + e.preventDefault(); + nextIndex= index > 0 ? index-1 : 0; + focusableSuggestions[nextIndex].focus(); + } + else if (e.keyCode === 40) {//down arrow + e.preventDefault(); + nextIndex= index+1 < focusable.length ? index+1 : index; + focusableSuggestions[nextIndex].focus(); + } + + } + + var suggestions = document.getElementById("suggestions"); + var searchinput = document.getElementById("searchinput"); + document.addEventListener("keydown", inputFocus); + document.addEventListener("click", function(event) {suggestions.contains(event.target) || suggestions.classList.add("d-none")}); + + var lang = document.documentElement.getAttribute("lang"); + var langOnly = lang.substring(0, 2); + var baseUrl = document.querySelector("meta[name='base']").getAttribute("content"); + if (baseUrl.slice(-1) == "/") { + baseUrl = baseUrl.slice(0, -1); + } + + var index; + searchinput.addEventListener('input', show_results, true); + suggestions.addEventListener('click', accept_suggestion, true); + + + // in page results when press enter or click search icon from search box + function closeSearchNow() { + const main = document.querySelector("main"); + main.innerHTML = window.main + } + + function goSearchNow() { + const main = document.querySelector("main"); + if (!window.main) { + window.main = main.innerHTML + }; + var results = document.getElementById("suggestions");// suggestions div generated by search box + + var ResultsClone = results.cloneNode(true);// make a clone of the results, so that we can alter it + ResultsClone.id = "results";// alter the id of our clone, so that we can apply different css style + + var headerDiv = document.createElement("div");// create a div element + + var headerContent = '<form name="closeSearch"><h2><button type="submit" title="Close Search"><i class="svgs x"></i></button> Results For: '.concat(document.getElementById("searchinput").value, "</h2></form>");// header to use at top of results page + + headerDiv.innerHTML = headerContent;// document element div (headerDiv), set the inner contents to our header html (headerContent) + + ResultsClone.insertBefore(headerDiv, ResultsClone.firstChild);//insert our header div at the top of the page + + main.innerHTML = ResultsClone.outerHTML;//display ResultsClone.outerHTML as the page + results.innerHTML = "";// clear the suggestions div popup + document.getElementById("searchinput").value = "";// clear the search input box + document.body.contains(document.closeSearch) && (document.closeSearch.onsubmit = function() { closeSearchNow() }) + return false + } + + /* Close search suggestion popup list */ + function closeAllLists(elmnt) { + var suggestions = document.getElementById("suggestions"); + while (suggestions.firstChild) { + suggestions.removeChild(suggestions.firstChild); + } + } + + + var index = elasticlunr.Index.load(window.searchIndex); + + async function show_results() { + var value = this.value.trim(); + var options = { + bool: "OR", + fields: { + title: {boost: 2}, + body: {boost: 1}, + } + }; + var results = index.search(value, options); + + var entry, childs = suggestions.childNodes; + var i = 0, len = results.length; + var items = value.split(/\s+/); + suggestions.classList.remove('d-none'); + + results.forEach(function(page) { + if (page.doc.body !== '') { + entry = document.createElement('div'); + + entry.innerHTML = '<a href><span></span><span></span></a>'; + + a = entry.querySelector('a'), + t = entry.querySelector('span:first-child'), + d = entry.querySelector('span:nth-child(2)'); + a.href = page.ref; + t.textContent = page.doc.title; + d.innerHTML = makeTeaser(page.doc.body, items); + + suggestions.appendChild(entry); + } + }); + + while(childs.length > len){ + suggestions.removeChild(childs[i]) + } + + } + + function accept_suggestion(){ + + while(suggestions.lastChild){ + + suggestions.removeChild(suggestions.lastChild); + } + + return false; + } + // Get the string bytes from binary + function getByteByBinary(binaryCode) { + // Binary system, starts with `0b` in ES6 + // Octal number system, starts with `0` in ES5 and starts with `0o` in ES6 + // Hexadecimal, starts with `0x` in both ES5 and ES6 + var byteLengthDatas = [0, 1, 2, 3, 4]; + var len = byteLengthDatas[Math.ceil(binaryCode.length / 8)]; + return len; + } + + // Get the string bytes from hexadecimal + function getByteByHex(hexCode) { + return getByteByBinary(parseInt(hexCode, 16).toString(2)); + } + // Get substring by bytes + // If using JavaScript inline substring method, it will return error codes + // Source: https://www.52pojie.cn/thread-1059814-1-1.html + function substringByByte(str, maxLength) { + var result = ""; + var flag = false; + var len = 0; + var length = 0; + var length2 = 0; + for (var i = 0; i < str.length; i++) { + var code = str.codePointAt(i).toString(16); + if (code.length > 4) { + i++; + if ((i + 1) < str.length) { + flag = str.codePointAt(i + 1).toString(16) == "200d"; + } + } + if (flag) { + len += getByteByHex(code); + if (i == str.length - 1) { + length += len; + if (length <= maxLength) { + result += str.substr(length2, i - length2 + 1); + } else { + break + } + } + } else { + if (len != 0) { + length += len; + length += getByteByHex(code); + if (length <= maxLength) { + result += str.substr(length2, i - length2 + 1); + length2 = i + 1; + } else { + break + } + len = 0; + continue; + } + length += getByteByHex(code); + if (length <= maxLength) { + if (code.length <= 4) { + result += str[i] + } else { + result += str[i - 1] + str[i] + } + length2 = i + 1; + } else { + break + } + } + } + return result; + } + /* Taken from mdbook + // The strategy is as follows: + // First, assign a value to each word in the document: + // Words that correspond to search terms (stemmer aware): 40 + // Normal words: 2 + // First word in a sentence: 8 + // Then use a sliding window with a constant number of words and count the + // sum of the values of the words within the window. Then use the window that got the + // maximum sum. If there are multiple maximas, then get the last one. + // Enclose the terms in <b>. + */ + function makeTeaser(body, terms) { + var TERM_WEIGHT = 40; + var NORMAL_WORD_WEIGHT = 2; + var FIRST_WORD_WEIGHT = 8; + var TEASER_MAX_WORDS = 30; + + var stemmedTerms = terms.map(function (w) { + return elasticlunr.stemmer(w.toLowerCase()); + }); + var termFound = false; + var index = 0; + var weighted = []; // contains elements of ["word", weight, index_in_document] + + // split in sentences, then words + var sentences = body.toLowerCase().split(". "); + for (var i in sentences) { + var words = sentences[i].split(/[\s\n]/); + var value = FIRST_WORD_WEIGHT; + for (var j in words) { + + var word = words[j]; + + if (word.length > 0) { + for (var k in stemmedTerms) { + if (elasticlunr.stemmer(word).startsWith(stemmedTerms[k])) { + value = TERM_WEIGHT; + termFound = true; + } + } + weighted.push([word, value, index]); + value = NORMAL_WORD_WEIGHT; + } + + index += word.length; + index += 1; // ' ' or '.' if last word in sentence + } + + index += 1; // because we split at a two-char boundary '. ' + } + + if (weighted.length === 0) { + if (body.length !== undefined && body.length > TEASER_MAX_WORDS * 10) { + return body.substring(0, TEASER_MAX_WORDS * 10) + '...'; + } else { + return body; + } + } + + var windowWeights = []; + var windowSize = Math.min(weighted.length, TEASER_MAX_WORDS); + // We add a window with all the weights first + var curSum = 0; + for (var i = 0; i < windowSize; i++) { + curSum += weighted[i][1]; + } + windowWeights.push(curSum); + + for (var i = 0; i < weighted.length - windowSize; i++) { + curSum -= weighted[i][1]; + curSum += weighted[i + windowSize][1]; + windowWeights.push(curSum); + } + + // If we didn't find the term, just pick the first window + var maxSumIndex = 0; + if (termFound) { + var maxFound = 0; + // backwards + for (var i = windowWeights.length - 1; i >= 0; i--) { + if (windowWeights[i] > maxFound) { + maxFound = windowWeights[i]; + maxSumIndex = i; + } + } + } + + var teaser = []; + var startIndex = weighted[maxSumIndex][2]; + for (var i = maxSumIndex; i < maxSumIndex + windowSize; i++) { + var word = weighted[i]; + if (startIndex < word[2]) { + // missing text from index to start of `word` + teaser.push(body.substring(startIndex, word[2])); + startIndex = word[2]; + } + + // add <em/> around search terms + if (word[1] === TERM_WEIGHT) { + teaser.push("<b>"); + } + + startIndex = word[2] + word[0].length; + // Check the string is ascii characters or not + var re = /^[\x00-\xff]+$/ + if (word[1] !== TERM_WEIGHT && word[0].length >= 12 && !re.test(word[0])) { + // If the string's length is too long, it maybe a Chinese/Japance/Korean article + // if using substring method directly, it may occur error codes on emoji chars + var strBefor = body.substring(word[2], startIndex); + var strAfter = substringByByte(strBefor, 12); + teaser.push(strAfter); + } else { + teaser.push(body.substring(word[2], startIndex)); + } + + if (word[1] === TERM_WEIGHT) { + teaser.push("</b>"); + } + } + teaser.push("…"); + return teaser.join(""); + } + document.goSearch.onsubmit = function() { return goSearchNow() }; + }()); + } +}; diff --git a/static/js/searchjavaugly.js b/static/js/searchjavaugly.js new file mode 100644 index 0000000..114aca3 --- /dev/null +++ b/static/js/searchjavaugly.js @@ -0,0 +1,354 @@ +window.onload = function() { + if (document.body.contains(document.goSearch)) { + document.goSearch.onsubmit = function() { return goSearchNow() }; + + /* + Source: + - https://github.com/nextapps-de/flexsearch#index-documents-field-search + - https://raw.githack.com/nextapps-de/flexsearch/master/demo/autocomplete.html + - http://elasticlunr.com/ + - https://github.com/getzola/zola/blob/master/docs/static/search.js + - https://github.com/aaranxu/adidoks/blob/main/static/js/search.js + */ + (function(){ + function inputFocus(e) { + + if (e.keyCode === 191//forward slash + && document.activeElement.tagName !== "INPUT" + && document.activeElement.tagName !== "TEXTAREA") { + e.preventDefault(); + searchinput.focus(); + suggestions.classList.remove('d-none'); + } + + if (e.keyCode === 27 ) {//escape + searchinput.blur(); + suggestions.classList.add('d-none'); + closeAllLists(); + } + + const focusableSuggestions= suggestions.querySelectorAll('a'); + if (suggestions.classList.contains('d-none') + || focusableSuggestions.length === 0) { + return; + } + const focusable= [...focusableSuggestions]; + const index = focusable.indexOf(document.activeElement); + + let nextIndex = 0; + + if (e.keyCode === 38) {//up arrow + e.preventDefault(); + nextIndex= index > 0 ? index-1 : 0; + focusableSuggestions[nextIndex].focus(); + } + else if (e.keyCode === 40) {//down arrow + e.preventDefault(); + nextIndex= index+1 < focusable.length ? index+1 : index; + focusableSuggestions[nextIndex].focus(); + } + + } + + var suggestions = document.getElementById("suggestions"); + var searchinput = document.getElementById("searchinput"); + document.addEventListener("keydown", inputFocus); + document.addEventListener("click", function(event) {suggestions.contains(event.target) || suggestions.classList.add("d-none")}); + + var lang = document.documentElement.getAttribute("lang"); + var langOnly = lang.substring(0, 2); + var baseUrl = document.querySelector("meta[name='base']").getAttribute("content"); + if (baseUrl.slice(-1) == "/") { + baseUrl = baseUrl.slice(0, -1); + } + + var index; + searchinput.addEventListener('input', show_results, true); + suggestions.addEventListener('click', accept_suggestion, true); + + + // in page results when press enter or click search icon from search box + function closeSearchNow() { + const main = document.querySelector("main"); + main.innerHTML = window.main + } + + function goSearchNow() { + const main = document.querySelector("main"); + if (!window.main) { + window.main = main.innerHTML + }; + var results = document.getElementById("suggestions");// suggestions div generated by search box + + var ResultsClone = results.cloneNode(true);// make a clone of the results, so that we can alter it + ResultsClone.id = "results";// alter the id of our clone, so that we can apply different css style + + var headerDiv = document.createElement("div");// create a div element + + var headerContent = '<form name="closeSearch"><h2><button type="submit" title="Close Search"><i class="svgs x"></i></button> Results For: '.concat(document.getElementById("searchinput").value, "</h2></form>");// header to use at top of results page + + headerDiv.innerHTML = headerContent;// document element div (headerDiv), set the inner contents to our header html (headerContent) + + ResultsClone.insertBefore(headerDiv, ResultsClone.firstChild);//insert our header div at the top of the page + + main.innerHTML = ResultsClone.outerHTML;//display ResultsClone.outerHTML as the page + results.innerHTML = "";// clear the suggestions div popup + document.getElementById("searchinput").value = "";// clear the search input box + document.body.contains(document.closeSearch) && (document.closeSearch.onsubmit = function() { closeSearchNow() }) + return false + } + + /* Close search suggestion popup list */ + function closeAllLists(elmnt) { + var suggestions = document.getElementById("suggestions"); + while (suggestions.firstChild) { + suggestions.removeChild(suggestions.firstChild); + } + } + + + var index = elasticlunr.Index.load(window.searchIndex); + + async function show_results() { + var value = this.value.trim(); + var options = { + bool: "OR", + fields: { + title: {boost: 2}, + body: {boost: 1}, + } + }; + var results = index.search(value, options); + + var entry, childs = suggestions.childNodes; + var i = 0, len = results.length; + var items = value.split(/\s+/); + suggestions.classList.remove('d-none'); + + results.forEach(function(page) { + if (page.doc.body !== '') { + entry = document.createElement('div'); + + entry.innerHTML = '<a href><span></span><span></span></a>'; + + a = entry.querySelector('a'), + t = entry.querySelector('span:first-child'), + d = entry.querySelector('span:nth-child(2)'); + a.href = page.ref + 'index.html'; + t.textContent = page.doc.title; + d.innerHTML = makeTeaser(page.doc.body, items); + + suggestions.appendChild(entry); + } + }); + + while(childs.length > len){ + suggestions.removeChild(childs[i]) + } + + } + + function accept_suggestion(){ + + while(suggestions.lastChild){ + + suggestions.removeChild(suggestions.lastChild); + } + + return false; + } + // Get the string bytes from binary + function getByteByBinary(binaryCode) { + // Binary system, starts with `0b` in ES6 + // Octal number system, starts with `0` in ES5 and starts with `0o` in ES6 + // Hexadecimal, starts with `0x` in both ES5 and ES6 + var byteLengthDatas = [0, 1, 2, 3, 4]; + var len = byteLengthDatas[Math.ceil(binaryCode.length / 8)]; + return len; + } + + // Get the string bytes from hexadecimal + function getByteByHex(hexCode) { + return getByteByBinary(parseInt(hexCode, 16).toString(2)); + } + // Get substring by bytes + // If using JavaScript inline substring method, it will return error codes + // Source: https://www.52pojie.cn/thread-1059814-1-1.html + function substringByByte(str, maxLength) { + var result = ""; + var flag = false; + var len = 0; + var length = 0; + var length2 = 0; + for (var i = 0; i < str.length; i++) { + var code = str.codePointAt(i).toString(16); + if (code.length > 4) { + i++; + if ((i + 1) < str.length) { + flag = str.codePointAt(i + 1).toString(16) == "200d"; + } + } + if (flag) { + len += getByteByHex(code); + if (i == str.length - 1) { + length += len; + if (length <= maxLength) { + result += str.substr(length2, i - length2 + 1); + } else { + break + } + } + } else { + if (len != 0) { + length += len; + length += getByteByHex(code); + if (length <= maxLength) { + result += str.substr(length2, i - length2 + 1); + length2 = i + 1; + } else { + break + } + len = 0; + continue; + } + length += getByteByHex(code); + if (length <= maxLength) { + if (code.length <= 4) { + result += str[i] + } else { + result += str[i - 1] + str[i] + } + length2 = i + 1; + } else { + break + } + } + } + return result; + } + /* Taken from mdbook + // The strategy is as follows: + // First, assign a value to each word in the document: + // Words that correspond to search terms (stemmer aware): 40 + // Normal words: 2 + // First word in a sentence: 8 + // Then use a sliding window with a constant number of words and count the + // sum of the values of the words within the window. Then use the window that got the + // maximum sum. If there are multiple maximas, then get the last one. + // Enclose the terms in <b>. + */ + function makeTeaser(body, terms) { + var TERM_WEIGHT = 40; + var NORMAL_WORD_WEIGHT = 2; + var FIRST_WORD_WEIGHT = 8; + var TEASER_MAX_WORDS = 30; + + var stemmedTerms = terms.map(function (w) { + return elasticlunr.stemmer(w.toLowerCase()); + }); + var termFound = false; + var index = 0; + var weighted = []; // contains elements of ["word", weight, index_in_document] + + // split in sentences, then words + var sentences = body.toLowerCase().split(". "); + for (var i in sentences) { + var words = sentences[i].split(/[\s\n]/); + var value = FIRST_WORD_WEIGHT; + for (var j in words) { + + var word = words[j]; + + if (word.length > 0) { + for (var k in stemmedTerms) { + if (elasticlunr.stemmer(word).startsWith(stemmedTerms[k])) { + value = TERM_WEIGHT; + termFound = true; + } + } + weighted.push([word, value, index]); + value = NORMAL_WORD_WEIGHT; + } + + index += word.length; + index += 1; // ' ' or '.' if last word in sentence + } + + index += 1; // because we split at a two-char boundary '. ' + } + + if (weighted.length === 0) { + if (body.length !== undefined && body.length > TEASER_MAX_WORDS * 10) { + return body.substring(0, TEASER_MAX_WORDS * 10) + '...'; + } else { + return body; + } + } + + var windowWeights = []; + var windowSize = Math.min(weighted.length, TEASER_MAX_WORDS); + // We add a window with all the weights first + var curSum = 0; + for (var i = 0; i < windowSize; i++) { + curSum += weighted[i][1]; + } + windowWeights.push(curSum); + + for (var i = 0; i < weighted.length - windowSize; i++) { + curSum -= weighted[i][1]; + curSum += weighted[i + windowSize][1]; + windowWeights.push(curSum); + } + + // If we didn't find the term, just pick the first window + var maxSumIndex = 0; + if (termFound) { + var maxFound = 0; + // backwards + for (var i = windowWeights.length - 1; i >= 0; i--) { + if (windowWeights[i] > maxFound) { + maxFound = windowWeights[i]; + maxSumIndex = i; + } + } + } + + var teaser = []; + var startIndex = weighted[maxSumIndex][2]; + for (var i = maxSumIndex; i < maxSumIndex + windowSize; i++) { + var word = weighted[i]; + if (startIndex < word[2]) { + // missing text from index to start of `word` + teaser.push(body.substring(startIndex, word[2])); + startIndex = word[2]; + } + + // add <em/> around search terms + if (word[1] === TERM_WEIGHT) { + teaser.push("<b>"); + } + + startIndex = word[2] + word[0].length; + // Check the string is ascii characters or not + var re = /^[\x00-\xff]+$/ + if (word[1] !== TERM_WEIGHT && word[0].length >= 12 && !re.test(word[0])) { + // If the string's length is too long, it maybe a Chinese/Japance/Korean article + // if using substring method directly, it may occur error codes on emoji chars + var strBefor = body.substring(word[2], startIndex); + var strAfter = substringByByte(strBefor, 12); + teaser.push(strAfter); + } else { + teaser.push(body.substring(word[2], startIndex)); + } + + if (word[1] === TERM_WEIGHT) { + teaser.push("</b>"); + } + } + teaser.push("…"); + return teaser.join(""); + } + document.goSearch.onsubmit = function() { return goSearchNow() }; + }()); + } +}; diff --git a/static/stork.js b/static/js/stork.js index b464ecd..b464ecd 100644 --- a/static/stork.js +++ b/static/js/stork.js diff --git a/static/js/stork_config.js b/static/js/stork_config.js new file mode 100644 index 0000000..3c589c2 --- /dev/null +++ b/static/js/stork_config.js @@ -0,0 +1,25 @@ +function loadStork() { + var baseUrl = document.querySelector("meta[name='base']").getAttribute("content"); + if (baseUrl.slice(-1) == "/") { + baseUrl = baseUrl.slice(0, -1); + } + stork.initialize(baseUrl + "/stork.wasm").then(() => { + console.log("Finished downloading WASM"); + }) + .catch(e => { + console.error(e); + }); // download WASM + stork.register("stork",baseUrl + "/stork.st"); +} +var loaded = false; +window.onload = function() { + document.body.contains(document.goSearch) && (document.goSearch.onsubmit = function() { return goSearchNow() }) + document.getElementById('searchinput').onfocus = function() { + if (!loaded) { + loadStork(); + loaded = true; + document.body.contains(document.goSearch) && (document.goSearch.onsubmit = function() { return goSearchNow() }) + } + document.getElementById('searchinput').onfocus = ''; + } +}; diff --git a/static/js/theme.js b/static/js/theme.js new file mode 100644 index 0000000..ec10638 --- /dev/null +++ b/static/js/theme.js @@ -0,0 +1,4 @@ +// enforce local storage setting but also fallback to user-agent preferences +if (localStorage.getItem('theme') === 'switch' || (!localStorage.getItem('theme') && !window.matchMedia("(prefers-color-scheme: dark)").matches)) { + document.documentElement.classList.add('switch'); +} diff --git a/static/js/theme.min.js b/static/js/theme.min.js new file mode 100644 index 0000000..8804552 --- /dev/null +++ b/static/js/theme.min.js @@ -0,0 +1 @@ +"switch"!==localStorage.getItem("theme")&&(localStorage.getItem("theme")||window.matchMedia("(prefers-color-scheme: dark)").matches)||document.documentElement.classList.add("switch");
\ No newline at end of file diff --git a/static/js/theme_button.js b/static/js/theme_button.js new file mode 100644 index 0000000..b03f17f --- /dev/null +++ b/static/js/theme_button.js @@ -0,0 +1,7 @@ +// Set lightmode +if (document.getElementById('mode')) { + document.getElementById('mode').addEventListener('click', () => { + document.documentElement.classList.toggle('switch'); + localStorage.setItem('theme', document.documentElement.classList.contains('switch') ? 'switch' : 'default'); + }); +} diff --git a/static/js/theme_light.js b/static/js/theme_light.js new file mode 100644 index 0000000..cea48ac --- /dev/null +++ b/static/js/theme_light.js @@ -0,0 +1,4 @@ +// enforce local storage setting but also fallback to user-agent preferences +if (localStorage.getItem('theme') === 'switch' || (!localStorage.getItem('theme') && !window.matchMedia("(prefers-color-scheme: light)").matches)) { + document.documentElement.classList.add('switch'); +} diff --git a/static/js/theme_light.min.js b/static/js/theme_light.min.js new file mode 100644 index 0000000..fca2f11 --- /dev/null +++ b/static/js/theme_light.min.js @@ -0,0 +1 @@ +"switch"!==localStorage.getItem("theme")&&(localStorage.getItem("theme")||window.matchMedia("(prefers-color-scheme: light)").matches)||document.documentElement.classList.add("switch");
\ No newline at end of file diff --git a/static/tinysearch.js b/static/js/tinysearch.js index ab099ca..b6f8b07 100644 --- a/static/tinysearch.js +++ b/static/js/tinysearch.js @@ -27,8 +27,17 @@ function goSearchNow() { document.body.contains(document.closeSearch) && (document.closeSearch.onsubmit = function() { closeSearchNow() }) return false } +var loaded = false; window.onload = function() { document.body.contains(document.goSearch) && (document.goSearch.onsubmit = function() { return goSearchNow() }) + document.getElementById('searchinput').onfocus = function() { + if (!loaded) { + lazyLoad(); + loaded = true; + document.body.contains(document.goSearch) && (document.goSearch.onsubmit = function() { return goSearchNow() }) + } + document.getElementById('searchinput').onfocus = ''; + } }; async function lazyLoad() { @@ -39,13 +48,6 @@ async function lazyLoad() { await init(baseUrl + "/tinysearch_engine_bg.wasm") } -var loaded = false; -if (!loaded) { - lazyLoad(); - loaded = true; - document.body.contains(document.goSearch) && (document.goSearch.onsubmit = function() { return goSearchNow() }) -} - /* Close search suggestion popup list */ function closeAllLists(elmnt) { var suggestions = document.getElementById("suggestions"); @@ -227,7 +229,7 @@ async function init(e) { if (baseUrl.slice(-1) == "/") { baseUrl = baseUrl.slice(0, -1); } - void 0 === e && (e = new URL(baseUrl + "/tinysearch_engine_bg.wasm", import.meta.url)); + void 0 === e && (e = new URL(baseUrl + "/tinysearch_engine_bg.wasm")); const t = { wbg: {} }; @@ -240,7 +242,3 @@ async function init(e) { } = await load(await (e = "string" == typeof e || "function" == typeof Request && e instanceof Request || "function" == typeof URL && e instanceof URL ? fetch(e) : e), t); return wasm = e.exports, init.__wbindgen_wasm_module = n, wasm } -export default init; -export { - search -}; diff --git a/static/katexbundle.min.js b/static/katexbundle.min.js deleted file mode 100644 index 78c0d11..0000000 --- a/static/katexbundle.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.katex=t():e.katex=t()}("undefined"!=typeof self?self:this,function(){"use strict";function B(e,t){this.position=void 0;var r,n,e="KaTeX parse error: "+e,i=((t=t&&t.loc)&&t.start<=t.end&&(r=t.lexer.input,n=t.start,t=t.end,n===r.length?e+=" at end of input: ":e+=" at position "+(n+1)+": ",i=r.slice(n,t).replace(/[^]/g,"$&̲"),e+=(15<n?"…"+r.slice(n-15,n):r.slice(0,n))+i+(t+15<r.length?r.slice(t,t+15)+"…":r.slice(t))),new Error(e));return i.name="ParseError",i.__proto__=B.prototype,i.position=n,i}function C(e){return"ordgroup"===e.type||"color"===e.type?1===e.body.length?C(e.body[0]):e:"font"===e.type?C(e.body):e}var N={d:function(e,t){for(var r in t)N.o(t,r)&&!N.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},q={},$=(N.d(q,{default:function(){return tn}}),B.prototype.__proto__=Error.prototype,B),I=/([A-Z])/g,O={"&":"&",">":">","<":"<",'"':""","'":"'"},R=/[&><"']/g,Z={contains:function(e,t){return-1!==e.indexOf(t)},deflt:function(e,t){return void 0===e?t:e},escape:function(e){return String(e).replace(R,function(e){return O[e]})},hyphenate:function(e){return e.replace(I,"-$1").toLowerCase()},getBaseElem:C,isCharacterBox:function(e){e=C(e);return"mathord"===e.type||"textord"===e.type||"atom"===e.type},protocolFromUrl:function(e){e=/^\s*([^\\/#]*?)(?::|�*58|�*3a)/i.exec(e);return null!=e?e[1]:"_relative"}},E={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format <type>"},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color <color>",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:function(e){return"#"+e}},macros:{type:"object",cli:"-m, --macro <def>",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:function(e,t){return t.push(e),t}},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:function(e){return Math.max(0,e)},cli:"--min-rule-thickness <size>",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:function(e){return Math.max(0,e)},cli:"-s, --max-size <n>",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:function(e){return Math.max(0,e)},cli:"-e, --max-expand <n>",cliProcessor:function(e){return"Infinity"===e?1/0:parseInt(e)}},globalGroup:{type:"boolean",cli:!1}};(t=W.prototype).reportNonstrict=function(e,t,r){var n=this.strict;if((n="function"==typeof n?n(e,t,r):n)&&"ignore"!==n){if(!0===n||"error"===n)throw new $("LaTeX-incompatible input and strict mode is set to 'error': "+t+" ["+e+"]",r);"warn"===n?"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+t+" ["+e+"]"):"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+n+"': "+t+" ["+e+"]")}},t.useStrictBehavior=function(e,t,r){var n=this.strict;if("function"==typeof n)try{n=n(e,t,r)}catch(e){n="error"}return!(!n||"ignore"===n||!0!==n&&"error"!==n&&("warn"===n?"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+t+" ["+e+"]"):"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+n+"': "+t+" ["+e+"]"),1))},t.isTrusted=function(e){e.url&&!e.protocol&&(e.protocol=Z.protocolFromUrl(e.url));e="function"==typeof this.trust?this.trust(e):this.trust;return Boolean(e)};var H=W,e=((t=X.prototype).sup=function(){return L[D[this.id]]},t.sub=function(){return L[P[this.id]]},t.fracNum=function(){return L[F[this.id]]},t.fracDen=function(){return L[V[this.id]]},t.cramp=function(){return L[G[this.id]]},t.text=function(){return L[U[this.id]]},X),L=[new e(0,0,!(t.isTight=function(){return 2<=this.size})),new e(1,0,!0),new e(2,1,!1),new e(3,1,!0),new e(4,2,!1),new e(5,2,!0),new e(6,3,!1),new e(7,3,!0)],D=[4,5,4,5,6,7,6,7],P=[5,5,5,5,7,7,7,7],F=[2,3,4,5,6,7,6,7],V=[3,3,5,5,7,7,7,7],G=[1,1,3,3,5,5,7,7],U=[0,1,2,3,2,3,2,3],K={DISPLAY:L[0],TEXT:L[2],SCRIPT:L[4],SCRIPTSCRIPT:L[6]},Y=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function X(e,t,r){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=r}function W(e){for(var t in this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{},E){var r;E.hasOwnProperty(t)&&(r=E[t],this[t]=void 0!==e[t]?r.processor?r.processor(e[t]):e[t]:function(e){if(e.default)return e.default;if(e=e.type,"string"!=typeof(e=Array.isArray(e)?e[0]:e))return e.enum[0];switch(e){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}(r))}}var j=[];function _(e){for(var t=0;t<j.length;t+=2)if(e>=j[t]&&e<=j[t+1])return 1}Y.forEach(function(e){return e.blocks.forEach(function(e){return j.push.apply(j,e)})});var ne={doubleleftarrow:"M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z",doublerightarrow:"M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z",leftarrow:"M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z",leftbrace:"M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z",leftbraceunder:"M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z",leftgroup:"M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z",leftgroupunder:"M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z",leftharpoon:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z",leftharpoonplus:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z",leftharpoondown:"M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z",leftharpoondownplus:"M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z",lefthook:"M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z",leftlinesegment:"M40 281 V428 H0 V94 H40 V241 H400000 v40z\nM40 281 V428 H0 V94 H40 V241 H400000 v40z",leftmapsto:"M40 281 V448H0V74H40V241H400000v40z\nM40 281 V448H0V74H40V241H400000v40z",leftToFrom:"M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z",longequal:"M0 50 h400000 v40H0z m0 194h40000v40H0z\nM0 50 h400000 v40H0z m0 194h40000v40H0z",midbrace:"M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z",midbraceunder:"M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z",oiintSize1:"M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z",oiintSize2:"M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z",oiiintSize1:"M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z",oiiintSize2:"M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z",rightarrow:"M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z",rightbrace:"M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z",rightbraceunder:"M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z",rightgroup:"M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z",rightgroupunder:"M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z",rightharpoon:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z",rightharpoonplus:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z",rightharpoondown:"M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z",rightharpoondownplus:"M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z",righthook:"M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z",rightlinesegment:"M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z",rightToFrom:"M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z",twoheadleftarrow:"M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z",twoheadrightarrow:"M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z",tilde1:"M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z",tilde2:"M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z",tilde3:"M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z",tilde4:"M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z",vec:"M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z",widehat1:"M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z",widehat2:"M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat3:"M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat4:"M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widecheck1:"M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z",widecheck2:"M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck3:"M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck4:"M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",baraboveleftarrow:"M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z",rightarrowabovebar:"M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z",baraboveshortleftharpoon:"M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z",rightharpoonaboveshortbar:"M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z",shortbaraboveleftharpoon:"M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z",shortrightharpoonabovebar:"M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z"},ie=((t=le.prototype).hasClass=function(e){return Z.contains(this.classes,e)},t.toNode=function(){for(var e=document.createDocumentFragment(),t=0;t<this.children.length;t++)e.appendChild(this.children[t].toNode());return e},t.toMarkup=function(){for(var e="",t=0;t<this.children.length;t++)e+=this.children[t].toMarkup();return e},t.toText=function(){return this.children.map(function(e){return e.toText()}).join("")},le),ae={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},oe={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},se={"Å":"A","Ð":"D","Þ":"o","å":"a","ð":"d","þ":"o","А":"A","Б":"B","В":"B","Г":"F","Д":"A","Е":"E","Ж":"K","З":"3","И":"N","Й":"N","К":"K","Л":"N","М":"M","Н":"H","О":"O","П":"N","Р":"P","С":"C","Т":"T","У":"y","Ф":"O","Х":"X","Ц":"U","Ч":"h","Ш":"W","Щ":"W","Ъ":"B","Ы":"X","Ь":"B","Э":"3","Ю":"X","Я":"R","а":"a","б":"b","в":"a","г":"r","д":"y","е":"e","ж":"m","з":"e","и":"n","й":"n","к":"n","л":"n","м":"m","н":"n","о":"o","п":"n","р":"p","с":"c","т":"o","у":"y","ф":"b","х":"x","ц":"n","ч":"n","ш":"w","щ":"w","ъ":"a","ы":"m","ь":"a","э":"e","ю":"m","я":"r"};function le(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}function he(e,t,r){if(!ae[t])throw new Error("Font metrics not found for font: "+t+".");var n=e.charCodeAt(0),i=ae[t][n];if(!i&&e[0]in se&&(n=se[e[0]].charCodeAt(0),i=ae[t][n]),i||"text"!==r||_(n)&&(i=ae[t][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}function me(e,t){return t.size<2?e:ue[e-1][t.size-1]}var ce={},ue=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],pe=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],t=((e=de.prototype).extend=function(e){var t,r={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(t in e)e.hasOwnProperty(t)&&(r[t]=e[t]);return new de(r)},e.havingStyle=function(e){return this.style===e?this:this.extend({style:e,size:me(this.textSize,e)})},e.havingCrampedStyle=function(){return this.havingStyle(this.style.cramp())},e.havingSize=function(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:pe[e-1]})},e.havingBaseStyle=function(e){e=e||this.style.text();var t=me(de.BASESIZE,e);return this.size===t&&this.textSize===de.BASESIZE&&this.style===e?this:this.extend({style:e,size:t})},e.havingBaseSizing=function(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})},e.withColor=function(e){return this.extend({color:e})},e.withPhantom=function(){return this.extend({phantom:!0})},e.withFont=function(e){return this.extend({font:e})},e.withTextFontFamily=function(e){return this.extend({fontFamily:e,font:""})},e.withTextFontWeight=function(e){return this.extend({fontWeight:e,font:""})},e.withTextFontShape=function(e){return this.extend({fontShape:e,font:""})},e.sizingClasses=function(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]},e.baseSizingClasses=function(){return this.size!==de.BASESIZE?["sizing","reset-size"+this.size,"size"+de.BASESIZE]:[]},e.fontMetrics=function(){return this._fontMetrics||(this._fontMetrics=function(e){var t;if(!ce[t=5<=e?0:3<=e?1:2]){var r,n=ce[t]={cssEmPerMu:oe.quad[t]/18};for(r in oe)oe.hasOwnProperty(r)&&(n[r]=oe[r][t])}return ce[t]}(this.size)),this._fontMetrics},e.getColor=function(){return this.phantom?"transparent":this.color},de);function de(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||de.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=pe[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}t.BASESIZE=6;function fe(e){return(e="string"!=typeof e?e.unit:e)in we||e in ke||"ex"===e}function J(e,t){var r;if(e.unit in we)r=we[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if("mu"===e.unit)r=t.fontMetrics().cssEmPerMu;else{var n=t.style.isTight()?t.havingStyle(t.style.text()):t;if("ex"===e.unit)r=n.fontMetrics().xHeight;else{if("em"!==e.unit)throw new $("Invalid unit: '"+e.unit+"'");r=n.fontMetrics().quad}n!==t&&(r*=n.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*r,t.maxSize)}function ge(e){return e.filter(function(e){return e}).join(" ")}function ye(e,t,r){this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=r||{},t&&(t.style.isTight()&&this.classes.push("mtight"),(e=t.getColor())&&(this.style.color=e))}function be(e){var t,r,n=document.createElement(e);for(t in n.className=ge(this.classes),this.style)this.style.hasOwnProperty(t)&&(n.style[t]=this.style[t]);for(r in this.attributes)this.attributes.hasOwnProperty(r)&&n.setAttribute(r,this.attributes[r]);for(var i=0;i<this.children.length;i++)n.appendChild(this.children[i].toNode());return n}function xe(e){var t,r,n="<"+e,i=(this.classes.length&&(n+=' class="'+Z.escape(ge(this.classes))+'"'),"");for(t in this.style)this.style.hasOwnProperty(t)&&(i+=Z.hyphenate(t)+":"+this.style[t]+";");for(r in i&&(n+=' style="'+Z.escape(i)+'"'),this.attributes)this.attributes.hasOwnProperty(r)&&(n+=" "+r+'="'+Z.escape(this.attributes[r])+'"');n+=">";for(var a=0;a<this.children.length;a++)n+=this.children[a].toMarkup();return n+"</"+e+">"}var ve=t,we={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:1.00375,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:1.00375},ke={ex:!0,em:!0,mu:!0},Q=function(e){return+e.toFixed(4)+"em"},Se=((e=He.prototype).setAttribute=function(e,t){this.attributes[e]=t},e.hasClass=function(e){return Z.contains(this.classes,e)},e.toNode=function(){return be.call(this,"span")},e.toMarkup=function(){return xe.call(this,"span")},He),Me=((t=Ee.prototype).setAttribute=function(e,t){this.attributes[e]=t},t.hasClass=function(e){return Z.contains(this.classes,e)},t.toNode=function(){return be.call(this,"a")},t.toMarkup=function(){return xe.call(this,"a")},Ee),ze=((e=Re.prototype).hasClass=function(e){return Z.contains(this.classes,e)},e.toNode=function(){var e,t=document.createElement("img");for(e in t.src=this.src,t.alt=this.alt,t.className="mord",this.style)this.style.hasOwnProperty(e)&&(t.style[e]=this.style[e]);return t},e.toMarkup=function(){var e,t="<img src='"+this.src+" 'alt='"+this.alt+"' ",r="";for(e in this.style)this.style.hasOwnProperty(e)&&(r+=Z.hyphenate(e)+":"+this.style[e]+";");return r&&(t+=' style="'+Z.escape(r)+'"'),t+"'/>"},Re),Ae={"î":"ı̂","ï":"ı̈","í":"ı́","ì":"ı̀"},b=((t=Oe.prototype).hasClass=function(e){return Z.contains(this.classes,e)},t.toNode=function(){var e,t=document.createTextNode(this.text),r=null;for(e in 0<this.italic&&((r=document.createElement("span")).style.marginRight=Q(this.italic)),0<this.classes.length&&((r=r||document.createElement("span")).className=ge(this.classes)),this.style)this.style.hasOwnProperty(e)&&((r=r||document.createElement("span")).style[e]=this.style[e]);return r?(r.appendChild(t),r):t},t.toMarkup=function(){var e,t=!1,r="<span",n=(this.classes.length&&(t=!0,r=(r+=' class="')+Z.escape(ge(this.classes))+'"'),"");for(e in 0<this.italic&&(n+="margin-right:"+this.italic+"em;"),this.style)this.style.hasOwnProperty(e)&&(n+=Z.hyphenate(e)+":"+this.style[e]+";");n&&(t=!0,r+=' style="'+Z.escape(n)+'"');var i=Z.escape(this.text);return t?(r=r+">"+i)+"</span>":i},Oe),Te=((e=Ie.prototype).toNode=function(){var e,t=document.createElementNS("http://www.w3.org/2000/svg","svg");for(e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&t.setAttribute(e,this.attributes[e]);for(var r=0;r<this.children.length;r++)t.appendChild(this.children[r].toNode());return t},e.toMarkup=function(){var e,t='<svg xmlns="http://www.w3.org/2000/svg"';for(e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&(t+=" "+e+"='"+this.attributes[e]+"'");t+=">";for(var r=0;r<this.children.length;r++)t+=this.children[r].toMarkup();return t+"</svg>"},Ie),Be=((t=qe.prototype).toNode=function(){var e=document.createElementNS("http://www.w3.org/2000/svg","path");return this.alternate?e.setAttribute("d",this.alternate):e.setAttribute("d",ne[this.pathName]),e},t.toMarkup=function(){return this.alternate?"<path d='"+this.alternate+"'/>":"<path d='"+ne[this.pathName]+"'/>"},qe),Ce=((e=Ne.prototype).toNode=function(){var e,t=document.createElementNS("http://www.w3.org/2000/svg","line");for(e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&t.setAttribute(e,this.attributes[e]);return t},e.toMarkup=function(){var e,t="<line";for(e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&(t+=" "+e+"='"+this.attributes[e]+"'");return t+"/>"},Ne);function Ne(e){this.attributes=void 0,this.attributes=e||{}}function qe(e,t){this.pathName=void 0,this.alternate=void 0,this.pathName=e,this.alternate=t}function Ie(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}function Oe(e,t,r,n,i,a,o,s){this.text=void 0,this.height=void 0,this.depth=void 0,this.italic=void 0,this.skew=void 0,this.width=void 0,this.maxFontSize=void 0,this.classes=void 0,this.style=void 0,this.text=e,this.height=t||0,this.depth=r||0,this.italic=n||0,this.skew=i||0,this.width=a||0,this.classes=o||[],this.style=s||{},this.maxFontSize=0;e=function(e){for(var t=0;t<Y.length;t++)for(var r=Y[t],n=0;n<r.blocks.length;n++){var i=r.blocks[n];if(e>=i[0]&&e<=i[1])return r.name}return null}(this.text.charCodeAt(0));e&&this.classes.push(e+"_fallback"),/[\xee\xef\xed\xec]/.test(this.text)&&(this.text=Ae[this.text])}function Re(e,t,r){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=t,this.src=e,this.classes=["mord"],this.style=r}function Ee(e,t,r,n){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,ye.call(this,t,n),this.children=r||[],this.setAttribute("href",e)}function He(e,t,r,n){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,ye.call(this,e,r,n),this.children=t||[]}function Le(e){if(e instanceof b)return e;throw new Error("Expected symbolNode but got "+String(e)+".")}var De={bin:1,close:1,inner:1,open:1,punct:1,rel:1},Pe={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},Fe={math:{},text:{}},p=Fe;function r(e,t,r,n,i,a){Fe[e][i]={font:t,group:r,replace:n},a&&n&&(Fe[e][n]=Fe[e][i])}var n="math",i="text",a="main",t="ams",e="accent-token",o="bin",s="close",Ve="inner",l="mathord",h="op-token",m="open",c="punct",u="rel",d="spacing",f="textord",Ge=(r(n,a,u,"≡","\\equiv",!0),r(n,a,u,"≺","\\prec",!0),r(n,a,u,"≻","\\succ",!0),r(n,a,u,"∼","\\sim",!0),r(n,a,u,"⊥","\\perp"),r(n,a,u,"⪯","\\preceq",!0),r(n,a,u,"⪰","\\succeq",!0),r(n,a,u,"≃","\\simeq",!0),r(n,a,u,"∣","\\mid",!0),r(n,a,u,"≪","\\ll",!0),r(n,a,u,"≫","\\gg",!0),r(n,a,u,"≍","\\asymp",!0),r(n,a,u,"∥","\\parallel"),r(n,a,u,"⋈","\\bowtie",!0),r(n,a,u,"⌣","\\smile",!0),r(n,a,u,"⊑","\\sqsubseteq",!0),r(n,a,u,"⊒","\\sqsupseteq",!0),r(n,a,u,"≐","\\doteq",!0),r(n,a,u,"⌢","\\frown",!0),r(n,a,u,"∋","\\ni",!0),r(n,a,u,"∝","\\propto",!0),r(n,a,u,"⊢","\\vdash",!0),r(n,a,u,"⊣","\\dashv",!0),r(n,a,u,"∋","\\owns"),r(n,a,c,".","\\ldotp"),r(n,a,c,"⋅","\\cdotp"),r(n,a,f,"#","\\#"),r(i,a,f,"#","\\#"),r(n,a,f,"&","\\&"),r(i,a,f,"&","\\&"),r(n,a,f,"ℵ","\\aleph",!0),r(n,a,f,"∀","\\forall",!0),r(n,a,f,"ℏ","\\hbar",!0),r(n,a,f,"∃","\\exists",!0),r(n,a,f,"∇","\\nabla",!0),r(n,a,f,"♭","\\flat",!0),r(n,a,f,"ℓ","\\ell",!0),r(n,a,f,"♮","\\natural",!0),r(n,a,f,"♣","\\clubsuit",!0),r(n,a,f,"℘","\\wp",!0),r(n,a,f,"♯","\\sharp",!0),r(n,a,f,"♢","\\diamondsuit",!0),r(n,a,f,"ℜ","\\Re",!0),r(n,a,f,"♡","\\heartsuit",!0),r(n,a,f,"ℑ","\\Im",!0),r(n,a,f,"♠","\\spadesuit",!0),r(n,a,f,"§","\\S",!0),r(i,a,f,"§","\\S"),r(n,a,f,"¶","\\P",!0),r(i,a,f,"¶","\\P"),r(n,a,f,"†","\\dag"),r(i,a,f,"†","\\dag"),r(i,a,f,"†","\\textdagger"),r(n,a,f,"‡","\\ddag"),r(i,a,f,"‡","\\ddag"),r(i,a,f,"‡","\\textdaggerdbl"),r(n,a,s,"⎱","\\rmoustache",!0),r(n,a,m,"⎰","\\lmoustache",!0),r(n,a,s,"⟯","\\rgroup",!0),r(n,a,m,"⟮","\\lgroup",!0),r(n,a,o,"∓","\\mp",!0),r(n,a,o,"⊖","\\ominus",!0),r(n,a,o,"⊎","\\uplus",!0),r(n,a,o,"⊓","\\sqcap",!0),r(n,a,o,"∗","\\ast"),r(n,a,o,"⊔","\\sqcup",!0),r(n,a,o,"◯","\\bigcirc",!0),r(n,a,o,"∙","\\bullet",!0),r(n,a,o,"‡","\\ddagger"),r(n,a,o,"≀","\\wr",!0),r(n,a,o,"⨿","\\amalg"),r(n,a,o,"&","\\And"),r(n,a,u,"⟵","\\longleftarrow",!0),r(n,a,u,"⇐","\\Leftarrow",!0),r(n,a,u,"⟸","\\Longleftarrow",!0),r(n,a,u,"⟶","\\longrightarrow",!0),r(n,a,u,"⇒","\\Rightarrow",!0),r(n,a,u,"⟹","\\Longrightarrow",!0),r(n,a,u,"↔","\\leftrightarrow",!0),r(n,a,u,"⟷","\\longleftrightarrow",!0),r(n,a,u,"⇔","\\Leftrightarrow",!0),r(n,a,u,"⟺","\\Longleftrightarrow",!0),r(n,a,u,"↦","\\mapsto",!0),r(n,a,u,"⟼","\\longmapsto",!0),r(n,a,u,"↗","\\nearrow",!0),r(n,a,u,"↩","\\hookleftarrow",!0),r(n,a,u,"↪","\\hookrightarrow",!0),r(n,a,u,"↘","\\searrow",!0),r(n,a,u,"↼","\\leftharpoonup",!0),r(n,a,u,"⇀","\\rightharpoonup",!0),r(n,a,u,"↙","\\swarrow",!0),r(n,a,u,"↽","\\leftharpoondown",!0),r(n,a,u,"⇁","\\rightharpoondown",!0),r(n,a,u,"↖","\\nwarrow",!0),r(n,a,u,"⇌","\\rightleftharpoons",!0),r(n,t,u,"≮","\\nless",!0),r(n,t,u,"","\\@nleqslant"),r(n,t,u,"","\\@nleqq"),r(n,t,u,"⪇","\\lneq",!0),r(n,t,u,"≨","\\lneqq",!0),r(n,t,u,"","\\@lvertneqq"),r(n,t,u,"⋦","\\lnsim",!0),r(n,t,u,"⪉","\\lnapprox",!0),r(n,t,u,"⊀","\\nprec",!0),r(n,t,u,"⋠","\\npreceq",!0),r(n,t,u,"⋨","\\precnsim",!0),r(n,t,u,"⪹","\\precnapprox",!0),r(n,t,u,"≁","\\nsim",!0),r(n,t,u,"","\\@nshortmid"),r(n,t,u,"∤","\\nmid",!0),r(n,t,u,"⊬","\\nvdash",!0),r(n,t,u,"⊭","\\nvDash",!0),r(n,t,u,"⋪","\\ntriangleleft"),r(n,t,u,"⋬","\\ntrianglelefteq",!0),r(n,t,u,"⊊","\\subsetneq",!0),r(n,t,u,"","\\@varsubsetneq"),r(n,t,u,"⫋","\\subsetneqq",!0),r(n,t,u,"","\\@varsubsetneqq"),r(n,t,u,"≯","\\ngtr",!0),r(n,t,u,"","\\@ngeqslant"),r(n,t,u,"","\\@ngeqq"),r(n,t,u,"⪈","\\gneq",!0),r(n,t,u,"≩","\\gneqq",!0),r(n,t,u,"","\\@gvertneqq"),r(n,t,u,"⋧","\\gnsim",!0),r(n,t,u,"⪊","\\gnapprox",!0),r(n,t,u,"⊁","\\nsucc",!0),r(n,t,u,"⋡","\\nsucceq",!0),r(n,t,u,"⋩","\\succnsim",!0),r(n,t,u,"⪺","\\succnapprox",!0),r(n,t,u,"≆","\\ncong",!0),r(n,t,u,"","\\@nshortparallel"),r(n,t,u,"∦","\\nparallel",!0),r(n,t,u,"⊯","\\nVDash",!0),r(n,t,u,"⋫","\\ntriangleright"),r(n,t,u,"⋭","\\ntrianglerighteq",!0),r(n,t,u,"","\\@nsupseteqq"),r(n,t,u,"⊋","\\supsetneq",!0),r(n,t,u,"","\\@varsupsetneq"),r(n,t,u,"⫌","\\supsetneqq",!0),r(n,t,u,"","\\@varsupsetneqq"),r(n,t,u,"⊮","\\nVdash",!0),r(n,t,u,"⪵","\\precneqq",!0),r(n,t,u,"⪶","\\succneqq",!0),r(n,t,u,"","\\@nsubseteqq"),r(n,t,o,"⊴","\\unlhd"),r(n,t,o,"⊵","\\unrhd"),r(n,t,u,"↚","\\nleftarrow",!0),r(n,t,u,"↛","\\nrightarrow",!0),r(n,t,u,"⇍","\\nLeftarrow",!0),r(n,t,u,"⇏","\\nRightarrow",!0),r(n,t,u,"↮","\\nleftrightarrow",!0),r(n,t,u,"⇎","\\nLeftrightarrow",!0),r(n,t,u,"△","\\vartriangle"),r(n,t,f,"ℏ","\\hslash"),r(n,t,f,"▽","\\triangledown"),r(n,t,f,"◊","\\lozenge"),r(n,t,f,"Ⓢ","\\circledS"),r(n,t,f,"®","\\circledR"),r(i,t,f,"®","\\circledR"),r(n,t,f,"∡","\\measuredangle",!0),r(n,t,f,"∄","\\nexists"),r(n,t,f,"℧","\\mho"),r(n,t,f,"Ⅎ","\\Finv",!0),r(n,t,f,"⅁","\\Game",!0),r(n,t,f,"‵","\\backprime"),r(n,t,f,"▲","\\blacktriangle"),r(n,t,f,"▼","\\blacktriangledown"),r(n,t,f,"■","\\blacksquare"),r(n,t,f,"⧫","\\blacklozenge"),r(n,t,f,"★","\\bigstar"),r(n,t,f,"∢","\\sphericalangle",!0),r(n,t,f,"∁","\\complement",!0),r(n,t,f,"ð","\\eth",!0),r(i,a,f,"ð","ð"),r(n,t,f,"╱","\\diagup"),r(n,t,f,"╲","\\diagdown"),r(n,t,f,"□","\\square"),r(n,t,f,"□","\\Box"),r(n,t,f,"◊","\\Diamond"),r(n,t,f,"¥","\\yen",!0),r(i,t,f,"¥","\\yen",!0),r(n,t,f,"✓","\\checkmark",!0),r(i,t,f,"✓","\\checkmark"),r(n,t,f,"ℶ","\\beth",!0),r(n,t,f,"ℸ","\\daleth",!0),r(n,t,f,"ℷ","\\gimel",!0),r(n,t,f,"ϝ","\\digamma",!0),r(n,t,f,"ϰ","\\varkappa"),r(n,t,m,"┌","\\@ulcorner",!0),r(n,t,s,"┐","\\@urcorner",!0),r(n,t,m,"└","\\@llcorner",!0),r(n,t,s,"┘","\\@lrcorner",!0),r(n,t,u,"≦","\\leqq",!0),r(n,t,u,"⩽","\\leqslant",!0),r(n,t,u,"⪕","\\eqslantless",!0),r(n,t,u,"≲","\\lesssim",!0),r(n,t,u,"⪅","\\lessapprox",!0),r(n,t,u,"≊","\\approxeq",!0),r(n,t,o,"⋖","\\lessdot"),r(n,t,u,"⋘","\\lll",!0),r(n,t,u,"≶","\\lessgtr",!0),r(n,t,u,"⋚","\\lesseqgtr",!0),r(n,t,u,"⪋","\\lesseqqgtr",!0),r(n,t,u,"≑","\\doteqdot"),r(n,t,u,"≓","\\risingdotseq",!0),r(n,t,u,"≒","\\fallingdotseq",!0),r(n,t,u,"∽","\\backsim",!0),r(n,t,u,"⋍","\\backsimeq",!0),r(n,t,u,"⫅","\\subseteqq",!0),r(n,t,u,"⋐","\\Subset",!0),r(n,t,u,"⊏","\\sqsubset",!0),r(n,t,u,"≼","\\preccurlyeq",!0),r(n,t,u,"⋞","\\curlyeqprec",!0),r(n,t,u,"≾","\\precsim",!0),r(n,t,u,"⪷","\\precapprox",!0),r(n,t,u,"⊲","\\vartriangleleft"),r(n,t,u,"⊴","\\trianglelefteq"),r(n,t,u,"⊨","\\vDash",!0),r(n,t,u,"⊪","\\Vvdash",!0),r(n,t,u,"⌣","\\smallsmile"),r(n,t,u,"⌢","\\smallfrown"),r(n,t,u,"≏","\\bumpeq",!0),r(n,t,u,"≎","\\Bumpeq",!0),r(n,t,u,"≧","\\geqq",!0),r(n,t,u,"⩾","\\geqslant",!0),r(n,t,u,"⪖","\\eqslantgtr",!0),r(n,t,u,"≳","\\gtrsim",!0),r(n,t,u,"⪆","\\gtrapprox",!0),r(n,t,o,"⋗","\\gtrdot"),r(n,t,u,"⋙","\\ggg",!0),r(n,t,u,"≷","\\gtrless",!0),r(n,t,u,"⋛","\\gtreqless",!0),r(n,t,u,"⪌","\\gtreqqless",!0),r(n,t,u,"≖","\\eqcirc",!0),r(n,t,u,"≗","\\circeq",!0),r(n,t,u,"≜","\\triangleq",!0),r(n,t,u,"∼","\\thicksim"),r(n,t,u,"≈","\\thickapprox"),r(n,t,u,"⫆","\\supseteqq",!0),r(n,t,u,"⋑","\\Supset",!0),r(n,t,u,"⊐","\\sqsupset",!0),r(n,t,u,"≽","\\succcurlyeq",!0),r(n,t,u,"⋟","\\curlyeqsucc",!0),r(n,t,u,"≿","\\succsim",!0),r(n,t,u,"⪸","\\succapprox",!0),r(n,t,u,"⊳","\\vartriangleright"),r(n,t,u,"⊵","\\trianglerighteq"),r(n,t,u,"⊩","\\Vdash",!0),r(n,t,u,"∣","\\shortmid"),r(n,t,u,"∥","\\shortparallel"),r(n,t,u,"≬","\\between",!0),r(n,t,u,"⋔","\\pitchfork",!0),r(n,t,u,"∝","\\varpropto"),r(n,t,u,"◀","\\blacktriangleleft"),r(n,t,u,"∴","\\therefore",!0),r(n,t,u,"∍","\\backepsilon"),r(n,t,u,"▶","\\blacktriangleright"),r(n,t,u,"∵","\\because",!0),r(n,t,u,"⋘","\\llless"),r(n,t,u,"⋙","\\gggtr"),r(n,t,o,"⊲","\\lhd"),r(n,t,o,"⊳","\\rhd"),r(n,t,u,"≂","\\eqsim",!0),r(n,a,u,"⋈","\\Join"),r(n,t,u,"≑","\\Doteq",!0),r(n,t,o,"∔","\\dotplus",!0),r(n,t,o,"∖","\\smallsetminus"),r(n,t,o,"⋒","\\Cap",!0),r(n,t,o,"⋓","\\Cup",!0),r(n,t,o,"⩞","\\doublebarwedge",!0),r(n,t,o,"⊟","\\boxminus",!0),r(n,t,o,"⊞","\\boxplus",!0),r(n,t,o,"⋇","\\divideontimes",!0),r(n,t,o,"⋉","\\ltimes",!0),r(n,t,o,"⋊","\\rtimes",!0),r(n,t,o,"⋋","\\leftthreetimes",!0),r(n,t,o,"⋌","\\rightthreetimes",!0),r(n,t,o,"⋏","\\curlywedge",!0),r(n,t,o,"⋎","\\curlyvee",!0),r(n,t,o,"⊝","\\circleddash",!0),r(n,t,o,"⊛","\\circledast",!0),r(n,t,o,"⋅","\\centerdot"),r(n,t,o,"⊺","\\intercal",!0),r(n,t,o,"⋒","\\doublecap"),r(n,t,o,"⋓","\\doublecup"),r(n,t,o,"⊠","\\boxtimes",!0),r(n,t,u,"⇢","\\dashrightarrow",!0),r(n,t,u,"⇠","\\dashleftarrow",!0),r(n,t,u,"⇇","\\leftleftarrows",!0),r(n,t,u,"⇆","\\leftrightarrows",!0),r(n,t,u,"⇚","\\Lleftarrow",!0),r(n,t,u,"↞","\\twoheadleftarrow",!0),r(n,t,u,"↢","\\leftarrowtail",!0),r(n,t,u,"↫","\\looparrowleft",!0),r(n,t,u,"⇋","\\leftrightharpoons",!0),r(n,t,u,"↶","\\curvearrowleft",!0),r(n,t,u,"↺","\\circlearrowleft",!0),r(n,t,u,"↰","\\Lsh",!0),r(n,t,u,"⇈","\\upuparrows",!0),r(n,t,u,"↿","\\upharpoonleft",!0),r(n,t,u,"⇃","\\downharpoonleft",!0),r(n,a,u,"⊶","\\origof",!0),r(n,a,u,"⊷","\\imageof",!0),r(n,t,u,"⊸","\\multimap",!0),r(n,t,u,"↭","\\leftrightsquigarrow",!0),r(n,t,u,"⇉","\\rightrightarrows",!0),r(n,t,u,"⇄","\\rightleftarrows",!0),r(n,t,u,"↠","\\twoheadrightarrow",!0),r(n,t,u,"↣","\\rightarrowtail",!0),r(n,t,u,"↬","\\looparrowright",!0),r(n,t,u,"↷","\\curvearrowright",!0),r(n,t,u,"↻","\\circlearrowright",!0),r(n,t,u,"↱","\\Rsh",!0),r(n,t,u,"⇊","\\downdownarrows",!0),r(n,t,u,"↾","\\upharpoonright",!0),r(n,t,u,"⇂","\\downharpoonright",!0),r(n,t,u,"⇝","\\rightsquigarrow",!0),r(n,t,u,"⇝","\\leadsto"),r(n,t,u,"⇛","\\Rrightarrow",!0),r(n,t,u,"↾","\\restriction"),r(n,a,f,"‘","`"),r(n,a,f,"$","\\$"),r(i,a,f,"$","\\$"),r(i,a,f,"$","\\textdollar"),r(n,a,f,"%","\\%"),r(i,a,f,"%","\\%"),r(n,a,f,"_","\\_"),r(i,a,f,"_","\\_"),r(i,a,f,"_","\\textunderscore"),r(n,a,f,"∠","\\angle",!0),r(n,a,f,"∞","\\infty",!0),r(n,a,f,"′","\\prime"),r(n,a,f,"△","\\triangle"),r(n,a,f,"Γ","\\Gamma",!0),r(n,a,f,"Δ","\\Delta",!0),r(n,a,f,"Θ","\\Theta",!0),r(n,a,f,"Λ","\\Lambda",!0),r(n,a,f,"Ξ","\\Xi",!0),r(n,a,f,"Π","\\Pi",!0),r(n,a,f,"Σ","\\Sigma",!0),r(n,a,f,"Υ","\\Upsilon",!0),r(n,a,f,"Φ","\\Phi",!0),r(n,a,f,"Ψ","\\Psi",!0),r(n,a,f,"Ω","\\Omega",!0),r(n,a,f,"A","Α"),r(n,a,f,"B","Β"),r(n,a,f,"E","Ε"),r(n,a,f,"Z","Ζ"),r(n,a,f,"H","Η"),r(n,a,f,"I","Ι"),r(n,a,f,"K","Κ"),r(n,a,f,"M","Μ"),r(n,a,f,"N","Ν"),r(n,a,f,"O","Ο"),r(n,a,f,"P","Ρ"),r(n,a,f,"T","Τ"),r(n,a,f,"X","Χ"),r(n,a,f,"¬","\\neg",!0),r(n,a,f,"¬","\\lnot"),r(n,a,f,"⊤","\\top"),r(n,a,f,"⊥","\\bot"),r(n,a,f,"∅","\\emptyset"),r(n,t,f,"∅","\\varnothing"),r(n,a,l,"α","\\alpha",!0),r(n,a,l,"β","\\beta",!0),r(n,a,l,"γ","\\gamma",!0),r(n,a,l,"δ","\\delta",!0),r(n,a,l,"ϵ","\\epsilon",!0),r(n,a,l,"ζ","\\zeta",!0),r(n,a,l,"η","\\eta",!0),r(n,a,l,"θ","\\theta",!0),r(n,a,l,"ι","\\iota",!0),r(n,a,l,"κ","\\kappa",!0),r(n,a,l,"λ","\\lambda",!0),r(n,a,l,"μ","\\mu",!0),r(n,a,l,"ν","\\nu",!0),r(n,a,l,"ξ","\\xi",!0),r(n,a,l,"ο","\\omicron",!0),r(n,a,l,"π","\\pi",!0),r(n,a,l,"ρ","\\rho",!0),r(n,a,l,"σ","\\sigma",!0),r(n,a,l,"τ","\\tau",!0),r(n,a,l,"υ","\\upsilon",!0),r(n,a,l,"ϕ","\\phi",!0),r(n,a,l,"χ","\\chi",!0),r(n,a,l,"ψ","\\psi",!0),r(n,a,l,"ω","\\omega",!0),r(n,a,l,"ε","\\varepsilon",!0),r(n,a,l,"ϑ","\\vartheta",!0),r(n,a,l,"ϖ","\\varpi",!0),r(n,a,l,"ϱ","\\varrho",!0),r(n,a,l,"ς","\\varsigma",!0),r(n,a,l,"φ","\\varphi",!0),r(n,a,o,"∗","*",!0),r(n,a,o,"+","+"),r(n,a,o,"−","-",!0),r(n,a,o,"⋅","\\cdot",!0),r(n,a,o,"∘","\\circ",!0),r(n,a,o,"÷","\\div",!0),r(n,a,o,"±","\\pm",!0),r(n,a,o,"×","\\times",!0),r(n,a,o,"∩","\\cap",!0),r(n,a,o,"∪","\\cup",!0),r(n,a,o,"∖","\\setminus",!0),r(n,a,o,"∧","\\land"),r(n,a,o,"∨","\\lor"),r(n,a,o,"∧","\\wedge",!0),r(n,a,o,"∨","\\vee",!0),r(n,a,f,"√","\\surd"),r(n,a,m,"⟨","\\langle",!0),r(n,a,m,"∣","\\lvert"),r(n,a,m,"∥","\\lVert"),r(n,a,s,"?","?"),r(n,a,s,"!","!"),r(n,a,s,"⟩","\\rangle",!0),r(n,a,s,"∣","\\rvert"),r(n,a,s,"∥","\\rVert"),r(n,a,u,"=","="),r(n,a,u,":",":"),r(n,a,u,"≈","\\approx",!0),r(n,a,u,"≅","\\cong",!0),r(n,a,u,"≥","\\ge"),r(n,a,u,"≥","\\geq",!0),r(n,a,u,"←","\\gets"),r(n,a,u,">","\\gt",!0),r(n,a,u,"∈","\\in",!0),r(n,a,u,"","\\@not"),r(n,a,u,"⊂","\\subset",!0),r(n,a,u,"⊃","\\supset",!0),r(n,a,u,"⊆","\\subseteq",!0),r(n,a,u,"⊇","\\supseteq",!0),r(n,t,u,"⊈","\\nsubseteq",!0),r(n,t,u,"⊉","\\nsupseteq",!0),r(n,a,u,"⊨","\\models"),r(n,a,u,"←","\\leftarrow",!0),r(n,a,u,"≤","\\le"),r(n,a,u,"≤","\\leq",!0),r(n,a,u,"<","\\lt",!0),r(n,a,u,"→","\\rightarrow",!0),r(n,a,u,"→","\\to"),r(n,t,u,"≱","\\ngeq",!0),r(n,t,u,"≰","\\nleq",!0),r(n,a,d," ","\\ "),r(n,a,d," ","\\space"),r(n,a,d," ","\\nobreakspace"),r(i,a,d," ","\\ "),r(i,a,d," "," "),r(i,a,d," ","\\space"),r(i,a,d," ","\\nobreakspace"),r(n,a,d,null,"\\nobreak"),r(n,a,d,null,"\\allowbreak"),r(n,a,c,",",","),r(n,a,c,";",";"),r(n,t,o,"⊼","\\barwedge",!0),r(n,t,o,"⊻","\\veebar",!0),r(n,a,o,"⊙","\\odot",!0),r(n,a,o,"⊕","\\oplus",!0),r(n,a,o,"⊗","\\otimes",!0),r(n,a,f,"∂","\\partial",!0),r(n,a,o,"⊘","\\oslash",!0),r(n,t,o,"⊚","\\circledcirc",!0),r(n,t,o,"⊡","\\boxdot",!0),r(n,a,o,"△","\\bigtriangleup"),r(n,a,o,"▽","\\bigtriangledown"),r(n,a,o,"†","\\dagger"),r(n,a,o,"⋄","\\diamond"),r(n,a,o,"⋆","\\star"),r(n,a,o,"◃","\\triangleleft"),r(n,a,o,"▹","\\triangleright"),r(n,a,m,"{","\\{"),r(i,a,f,"{","\\{"),r(i,a,f,"{","\\textbraceleft"),r(n,a,s,"}","\\}"),r(i,a,f,"}","\\}"),r(i,a,f,"}","\\textbraceright"),r(n,a,m,"{","\\lbrace"),r(n,a,s,"}","\\rbrace"),r(n,a,m,"[","\\lbrack",!0),r(i,a,f,"[","\\lbrack",!0),r(n,a,s,"]","\\rbrack",!0),r(i,a,f,"]","\\rbrack",!0),r(n,a,m,"(","\\lparen",!0),r(n,a,s,")","\\rparen",!0),r(i,a,f,"<","\\textless",!0),r(i,a,f,">","\\textgreater",!0),r(n,a,m,"⌊","\\lfloor",!0),r(n,a,s,"⌋","\\rfloor",!0),r(n,a,m,"⌈","\\lceil",!0),r(n,a,s,"⌉","\\rceil",!0),r(n,a,f,"\\","\\backslash"),r(n,a,f,"∣","|"),r(n,a,f,"∣","\\vert"),r(i,a,f,"|","\\textbar",!0),r(n,a,f,"∥","\\|"),r(n,a,f,"∥","\\Vert"),r(i,a,f,"∥","\\textbardbl"),r(i,a,f,"~","\\textasciitilde"),r(i,a,f,"\\","\\textbackslash"),r(i,a,f,"^","\\textasciicircum"),r(n,a,u,"↑","\\uparrow",!0),r(n,a,u,"⇑","\\Uparrow",!0),r(n,a,u,"↓","\\downarrow",!0),r(n,a,u,"⇓","\\Downarrow",!0),r(n,a,u,"↕","\\updownarrow",!0),r(n,a,u,"⇕","\\Updownarrow",!0),r(n,a,h,"∐","\\coprod"),r(n,a,h,"⋁","\\bigvee"),r(n,a,h,"⋀","\\bigwedge"),r(n,a,h,"⨄","\\biguplus"),r(n,a,h,"⋂","\\bigcap"),r(n,a,h,"⋃","\\bigcup"),r(n,a,h,"∫","\\int"),r(n,a,h,"∫","\\intop"),r(n,a,h,"∬","\\iint"),r(n,a,h,"∭","\\iiint"),r(n,a,h,"∏","\\prod"),r(n,a,h,"∑","\\sum"),r(n,a,h,"⨂","\\bigotimes"),r(n,a,h,"⨁","\\bigoplus"),r(n,a,h,"⨀","\\bigodot"),r(n,a,h,"∮","\\oint"),r(n,a,h,"∯","\\oiint"),r(n,a,h,"∰","\\oiiint"),r(n,a,h,"⨆","\\bigsqcup"),r(n,a,h,"∫","\\smallint"),r(i,a,Ve,"…","\\textellipsis"),r(n,a,Ve,"…","\\mathellipsis"),r(i,a,Ve,"…","\\ldots",!0),r(n,a,Ve,"…","\\ldots",!0),r(n,a,Ve,"⋯","\\@cdots",!0),r(n,a,Ve,"⋱","\\ddots",!0),r(n,a,f,"⋮","\\varvdots"),r(n,a,e,"ˊ","\\acute"),r(n,a,e,"ˋ","\\grave"),r(n,a,e,"¨","\\ddot"),r(n,a,e,"~","\\tilde"),r(n,a,e,"ˉ","\\bar"),r(n,a,e,"˘","\\breve"),r(n,a,e,"ˇ","\\check"),r(n,a,e,"^","\\hat"),r(n,a,e,"⃗","\\vec"),r(n,a,e,"˙","\\dot"),r(n,a,e,"˚","\\mathring"),r(n,a,l,"","\\@imath"),r(n,a,l,"","\\@jmath"),r(n,a,f,"ı","ı"),r(n,a,f,"ȷ","ȷ"),r(i,a,f,"ı","\\i",!0),r(i,a,f,"ȷ","\\j",!0),r(i,a,f,"ß","\\ss",!0),r(i,a,f,"æ","\\ae",!0),r(i,a,f,"œ","\\oe",!0),r(i,a,f,"ø","\\o",!0),r(i,a,f,"Æ","\\AE",!0),r(i,a,f,"Œ","\\OE",!0),r(i,a,f,"Ø","\\O",!0),r(i,a,e,"ˊ","\\'"),r(i,a,e,"ˋ","\\`"),r(i,a,e,"ˆ","\\^"),r(i,a,e,"˜","\\~"),r(i,a,e,"ˉ","\\="),r(i,a,e,"˘","\\u"),r(i,a,e,"˙","\\."),r(i,a,e,"¸","\\c"),r(i,a,e,"˚","\\r"),r(i,a,e,"ˇ","\\v"),r(i,a,e,"¨",'\\"'),r(i,a,e,"˝","\\H"),r(i,a,e,"◯","\\textcircled"),{"--":!0,"---":!0,"``":!0,"''":!0});r(i,a,f,"–","--",!0),r(i,a,f,"–","\\textendash"),r(i,a,f,"—","---",!0),r(i,a,f,"—","\\textemdash"),r(i,a,f,"‘","`",!0),r(i,a,f,"‘","\\textquoteleft"),r(i,a,f,"’","'",!0),r(i,a,f,"’","\\textquoteright"),r(i,a,f,"“","``",!0),r(i,a,f,"“","\\textquotedblleft"),r(i,a,f,"”","''",!0),r(i,a,f,"”","\\textquotedblright"),r(n,a,f,"°","\\degree",!0),r(i,a,f,"°","\\degree"),r(i,a,f,"°","\\textdegree",!0),r(n,a,f,"£","\\pounds"),r(n,a,f,"£","\\mathsterling",!0),r(i,a,f,"£","\\pounds"),r(i,a,f,"£","\\textsterling",!0),r(n,t,f,"✠","\\maltese"),r(i,t,f,"✠","\\maltese");for(var Ue='0123456789/@."',Ye=0;Ye<Ue.length;Ye++){var Xe=Ue.charAt(Ye);r(n,a,f,Xe,Xe)}for(var We='0123456789!@*()-=+";:?/.,',je=0;je<We.length;je++){var _e=We.charAt(je);r(i,a,f,_e,_e)}for(var $e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",Ze=0;Ze<$e.length;Ze++){var Ke=$e.charAt(Ze);r(n,a,l,Ke,Ke),r(i,a,f,Ke,Ke)}r(n,t,f,"C","ℂ"),r(i,t,f,"C","ℂ"),r(n,t,f,"H","ℍ"),r(i,t,f,"H","ℍ"),r(n,t,f,"N","ℕ"),r(i,t,f,"N","ℕ"),r(n,t,f,"P","ℙ"),r(i,t,f,"P","ℙ"),r(n,t,f,"Q","ℚ"),r(i,t,f,"Q","ℚ"),r(n,t,f,"R","ℝ"),r(i,t,f,"R","ℝ"),r(n,t,f,"Z","ℤ"),r(i,t,f,"Z","ℤ"),r(n,a,l,"h","ℎ"),r(i,a,l,"h","ℎ");for(var g="",y=0;y<$e.length;y++){var x=$e.charAt(y);r(n,a,l,x,g=String.fromCharCode(55349,56320+y)),r(i,a,f,x,g),r(n,a,l,x,g=String.fromCharCode(55349,56372+y)),r(i,a,f,x,g),r(n,a,l,x,g=String.fromCharCode(55349,56424+y)),r(i,a,f,x,g),r(n,a,l,x,g=String.fromCharCode(55349,56580+y)),r(i,a,f,x,g),r(n,a,l,x,g=String.fromCharCode(55349,56736+y)),r(i,a,f,x,g),r(n,a,l,x,g=String.fromCharCode(55349,56788+y)),r(i,a,f,x,g),r(n,a,l,x,g=String.fromCharCode(55349,56840+y)),r(i,a,f,x,g),r(n,a,l,x,g=String.fromCharCode(55349,56944+y)),r(i,a,f,x,g),y<26&&(r(n,a,l,x,g=String.fromCharCode(55349,56632+y)),r(i,a,f,x,g),r(n,a,l,x,g=String.fromCharCode(55349,56476+y)),r(i,a,f,x,g))}r(n,a,l,"k",g=String.fromCharCode(55349,56668)),r(i,a,f,"k",g);for(var Je=0;Je<10;Je++){var Qe=Je.toString();r(n,a,l,Qe,g=String.fromCharCode(55349,57294+Je)),r(i,a,f,Qe,g),r(n,a,l,Qe,g=String.fromCharCode(55349,57314+Je)),r(i,a,f,Qe,g),r(n,a,l,Qe,g=String.fromCharCode(55349,57324+Je)),r(i,a,f,Qe,g),r(n,a,l,Qe,g=String.fromCharCode(55349,57334+Je)),r(i,a,f,Qe,g)}for(var et=0;et<"ÐÞþ".length;et++){var tt="ÐÞþ".charAt(et);r(n,a,l,tt,tt),r(i,a,f,tt,tt)}function rt(e,t,r){return{value:e=p[r][e]&&p[r][e].replace?p[r][e].replace:e,metrics:he(e,t,r)}}function nt(e,t,r,n,i){var a=rt(e,t,r),o=a.metrics;return e=a.value,a=o?(a=o.italic,("text"===r||n&&"mathit"===n.font)&&(a=0),new b(e,o.height,o.depth,a,o.skew,o.width,i)):("undefined"!=typeof console&&console.warn("No character metrics for '"+e+"' in style '"+t+"' and mode '"+r+"'"),new b(e,0,0,0,0,0,i)),n&&(a.maxFontSize=n.sizeMultiplier,n.style.isTight()&&a.classes.push("mtight"),(o=n.getColor())&&(a.style.color=o)),a}function it(e){for(var t=0,r=0,n=0,i=0;i<e.children.length;i++){var a=e.children[i];a.height>t&&(t=a.height),a.depth>r&&(r=a.depth),a.maxFontSize>n&&(n=a.maxFontSize)}e.height=t,e.depth=r,e.maxFontSize=n}function v(e,t,r,n){return e=new Se(e,t,r,n),it(e),e}function at(e,t,r,n){return new Se(e,t,r,n)}function ot(e){return e=new ie(e),it(e),e}function st(e,t,r){var n="";switch(e){case"amsrm":n="AMS";break;case"textrm":n="Main";break;case"textsf":n="SansSerif";break;case"texttt":n="Typewriter";break;default:n=e}return n+"-"+("textbf"===t&&"textit"===r?"BoldItalic":"textbf"===t?"Bold":"textit"===t?"Italic":"Regular")}var lt=[["mathbf","textbf","Main-Bold"],["mathbf","textbf","Main-Bold"],["mathnormal","textit","Math-Italic"],["mathnormal","textit","Math-Italic"],["boldsymbol","boldsymbol","Main-BoldItalic"],["boldsymbol","boldsymbol","Main-BoldItalic"],["mathscr","textscr","Script-Regular"],["","",""],["","",""],["","",""],["mathfrak","textfrak","Fraktur-Regular"],["mathfrak","textfrak","Fraktur-Regular"],["mathbb","textbb","AMS-Regular"],["mathbb","textbb","AMS-Regular"],["","",""],["","",""],["mathsf","textsf","SansSerif-Regular"],["mathsf","textsf","SansSerif-Regular"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathitsf","textitsf","SansSerif-Italic"],["mathitsf","textitsf","SansSerif-Italic"],["","",""],["","",""],["mathtt","texttt","Typewriter-Regular"],["mathtt","texttt","Typewriter-Regular"]],ht=[["mathbf","textbf","Main-Bold"],["","",""],["mathsf","textsf","SansSerif-Regular"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathtt","texttt","Typewriter-Regular"]],mt={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},ct={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},ee={fontMap:mt,makeSymbol:nt,mathsym:function(e,t,r,n){return void 0===n&&(n=[]),"boldsymbol"===r.font&&rt(e,"Main-Bold",t).metrics?nt(e,"Main-Bold",t,r,n.concat(["mathbf"])):"\\"===e||"main"===p[t][e].font?nt(e,"Main-Regular",t,r,n):nt(e,"AMS-Regular",t,r,n.concat(["amsrm"]))},makeSpan:v,makeSvgSpan:at,makeLineSpan:function(e,t,r){e=v([e],[],t);return e.height=Math.max(r||t.fontMetrics().defaultRuleThickness,t.minRuleThickness),e.style.borderBottomWidth=Q(e.height),e.maxFontSize=1,e},makeAnchor:function(e,t,r,n){e=new Me(e,t,r,n);return it(e),e},makeFragment:ot,wrapFragment:function(e,t){return e instanceof ie?v([],[e],t):e},makeVList:function(e,t){for(var e=function(e){if("individualShift"===e.positionType){for(var t=e.children,r=[t[0]],n=-t[0].shift-t[0].elem.depth,i=n,a=1;a<t.length;a++){var o=-t[a].shift-i-t[a].elem.depth,s=o-(t[a-1].elem.height+t[a-1].elem.depth);i+=o,r.push({type:"kern",size:s}),r.push(t[a])}return{children:r,depth:n}}var l;if("top"===e.positionType){for(var h=e.positionData,m=0;m<e.children.length;m++){var c=e.children[m];h-="kern"===c.type?c.size:c.elem.height+c.elem.depth}l=h}else if("bottom"===e.positionType)l=-e.positionData;else{n=e.children[0];if("elem"!==n.type)throw new Error('First child must have type "elem".');if("shift"===e.positionType)l=-n.elem.depth-e.positionData;else{if("firstBaseline"!==e.positionType)throw new Error("Invalid positionType "+e.positionType+".");l=-n.elem.depth}}return{children:e.children,depth:l}}(e),r=e.children,e=e.depth,n=0,i=0;i<r.length;i++){var a=r[i];"elem"===a.type&&(a=a.elem,n=Math.max(n,a.maxFontSize,a.height))}n+=2;var o=v(["pstrut"],[]);o.style.height=Q(n);for(var s=[],l=e,h=e,m=e,c=0;c<r.length;c++){var u,p,d,f=r[c];"kern"===f.type?m+=f.size:(u=f.elem,d=f.wrapperClasses||[],p=f.wrapperStyle||{},(d=v(d,[o,u],void 0,p)).style.top=Q(-n-m-u.depth),f.marginLeft&&(d.style.marginLeft=f.marginLeft),f.marginRight&&(d.style.marginRight=f.marginRight),s.push(d),m+=u.height+u.depth),l=Math.min(l,m),h=Math.max(h,m)}var g,e=v(["vlist"],s),y=(e.style.height=Q(h),g=l<0?(y=v([],[]),(y=v(["vlist"],[y])).style.height=Q(-l),g=v(["vlist-s"],[new b("")]),[v(["vlist-r"],[e,g]),v(["vlist-r"],[y])]):[v(["vlist-r"],[e])],v(["vlist-t"],g));return 2===g.length&&y.classes.push("vlist-t2"),y.height=h,y.depth=-l,y},makeOrd:function(e,t,r){var n,i,a=e.mode,o=e.text,s=["mord"],e="math"===a||"text"===a&&t.font,l=e?t.font:t.fontFamily;if(55349===o.charCodeAt(0))return c=(u=function(e,t){var r,n=1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536,t="math"===t?0:1;if(119808<=n&&n<120484)return r=Math.floor((n-119808)/26),[lt[r][2],lt[r][t]];if(120782<=n&&n<=120831)return r=Math.floor((n-120782)/10),[ht[r][2],ht[r][t]];if(120485==n||120486==n)return[lt[0][2],lt[0][t]];if(120486<n&&n<120782)return["",""];throw new $("Unsupported character: "+e)}(o,a))[0],u=u[1],nt(o,c,a,t,s.concat(u));if(l){if(i="boldsymbol"===l?(n=(c="textord"!==r&&rt(o,"Math-BoldItalic",a).metrics?{fontName:"Math-BoldItalic",fontClass:"boldsymbol"}:{fontName:"Main-Bold",fontClass:"mathbf"}).fontName,[c.fontClass]):e?(n=mt[l].fontName,[l]):(n=st(l,t.fontWeight,t.fontShape),[l,t.fontWeight,t.fontShape]),rt(o,n,a).metrics)return nt(o,n,a,t,s.concat(i));if(Ge.hasOwnProperty(o)&&"Typewriter"===n.substr(0,10)){for(var h=[],m=0;m<o.length;m++)h.push(nt(o[m],n,a,t,s.concat(i)));return ot(h)}}if("mathord"===r)return nt(o,"Math-Italic",a,t,s.concat(["mathnormal"]));if("textord"!==r)throw new Error("unexpected type: "+r+" in makeOrd");var c,u=p[a][o]&&p[a][o].font;if("ams"===u)return c=st("amsrm",t.fontWeight,t.fontShape),nt(o,c,a,t,s.concat("amsrm",t.fontWeight,t.fontShape));if("main"!==u&&u)return e=st(u,t.fontWeight,t.fontShape),nt(o,e,a,t,s.concat(e,t.fontWeight,t.fontShape));l=st("textrm",t.fontWeight,t.fontShape);return nt(o,l,a,t,s.concat(t.fontWeight,t.fontShape))},makeGlue:function(e,t){var r=v(["mspace"],[],t),e=J(e,t);return r.style.marginRight=Q(e),r},staticSvg:function(e,t){var e=ct[e],r=e[0],n=e[1],e=e[2],r=new Be(r),r=new Te([r],{width:Q(n),height:Q(e),style:"width:"+Q(n),viewBox:"0 0 "+1e3*n+" "+1e3*e,preserveAspectRatio:"xMinYMin"}),r=at(["overlay"],[r],t);return r.height=e,r.style.height=Q(e),r.style.width=Q(n),r},svgData:ct,tryCombineChars:function(e){for(var t=0;t<e.length-1;t++){var r=e[t],n=e[t+1];r instanceof b&&n instanceof b&&function(e,t){if(ge(e.classes)!==ge(t.classes)||e.skew!==t.skew||e.maxFontSize!==t.maxFontSize)return!1;if(1===e.classes.length){var r=e.classes[0];if("mbin"===r||"mord"===r)return!1}for(var n in e.style)if(e.style.hasOwnProperty(n)&&e.style[n]!==t.style[n])return!1;for(var i in t.style)if(t.style.hasOwnProperty(i)&&e.style[i]!==t.style[i])return!1;return!0}(r,n)&&(r.text+=n.text,r.height=Math.max(r.height,n.height),r.depth=Math.max(r.depth,n.depth),r.italic=n.italic,e.splice(t+1,1),t--)}return e}},d={number:3,unit:"mu"},c={number:4,unit:"mu"},o={number:5,unit:"mu"},ut={mord:{mop:d,mbin:c,mrel:o,minner:d},mop:{mord:d,mop:d,mrel:o,minner:d},mbin:{mord:c,mop:c,mopen:c,minner:c},mrel:{mord:o,mop:o,mopen:o,minner:o},mopen:{},mclose:{mop:d,mbin:c,mrel:o,minner:d},mpunct:{mord:d,mop:d,mrel:o,mopen:d,mclose:d,mpunct:d,minner:d},minner:{mord:d,mop:d,mbin:c,mrel:o,mopen:d,mpunct:d,minner:d}},pt={mord:{mop:d},mop:{mord:d,mop:d},mbin:{},mrel:{},mopen:{},mclose:{mop:d},mpunct:{},minner:{mop:d}},dt={},ft={},gt={};function w(e){for(var t=e.type,r=e.names,n=e.props,i=e.handler,a=e.htmlBuilder,e=e.mathmlBuilder,o={type:t,numArgs:n.numArgs,argTypes:n.argTypes,allowedInArgument:!!n.allowedInArgument,allowedInText:!!n.allowedInText,allowedInMath:void 0===n.allowedInMath||n.allowedInMath,numOptionalArgs:n.numOptionalArgs||0,infix:!!n.infix,primitive:!!n.primitive,handler:i},s=0;s<r.length;++s)dt[r[s]]=o;t&&(a&&(ft[t]=a),e&&(gt[t]=e))}function yt(e){w({type:e.type,names:[],props:{numArgs:0},handler:function(){throw new Error("Should never be called.")},htmlBuilder:e.htmlBuilder,mathmlBuilder:e.mathmlBuilder})}function bt(e){return"ordgroup"===e.type&&1===e.body.length?e.body[0]:e}function k(e){return"ordgroup"===e.type?e.body:[e]}function te(e,t,r,n){void 0===n&&(n=[null,null]);for(var i=[],a=0;a<e.length;a++){var o,s=re(e[a],t);s instanceof ie?(o=s.children,i.push.apply(i,o)):i.push(s)}if(ee.tryCombineChars(i),!r)return i;var l=t,h=(1===e.length&&("sizing"===(h=e[0]).type?l=t.havingSize(h.size):"styling"===h.type&&(l=t.havingStyle(Mt[h.style]))),wt([n[0]||"leftmost"],[],t)),n=wt([n[1]||"rightmost"],[],t);return At(i,function(e,t){var r=t.classes[0],n=e.classes[0];"mbin"===r&&Z.contains(St,n)?t.classes[0]="mord":"mbin"===n&&Z.contains(kt,r)&&(e.classes[0]="mord")},{node:h},n,r="root"===r),At(i,function(e,t){var t=Bt(t),r=Bt(e),e=t&&r?(e.hasClass("mtight")?pt:ut)[t][r]:null;if(e)return ee.makeGlue(e,l)},{node:h},n,r),i}function xt(e,t){var r=Tt(e);if(r){r=r.children;if(r.length){if("right"===t)return xt(r[r.length-1],"right");if("left"===t)return xt(r[0],"left")}}return e}function vt(e,t){return e=["nulldelimiter"].concat(e.baseSizingClasses()),wt(t.concat(e))}var wt=ee.makeSpan,kt=["leftmost","mbin","mopen","mrel","mop","mpunct"],St=["rightmost","mrel","mclose","mpunct"],Mt={display:K.DISPLAY,text:K.TEXT,script:K.SCRIPT,scriptscript:K.SCRIPTSCRIPT},zt={mord:"mord",mop:"mop",mbin:"mbin",mrel:"mrel",mopen:"mopen",mclose:"mclose",mpunct:"mpunct",minner:"minner"},At=function e(r,t,n,i,a){i&&r.push(i);for(var o=0;o<r.length;o++){var s,l=r[o],h=Tt(l);h?e(h.children,t,n,null,a):((h=!l.hasClass("mspace"))&&(s=t(l,n.node))&&(n.insertAfter?n.insertAfter(s):(r.unshift(s),o++)),h?n.node=l:a&&l.hasClass("newline")&&(n.node=wt(["leftmost"])),n.insertAfter=function(t){return function(e){r.splice(t+1,0,e),o++}}(o))}i&&r.pop()},Tt=function(e){return e instanceof ie||e instanceof Me||e instanceof Se&&e.hasClass("enclosing")?e:null},Bt=function(e,t){return e?(t&&(e=xt(e,t)),zt[e.classes[0]]||null):null},re=function(e,t,r){if(!e)return wt();var n;if(ft[e.type])return n=ft[e.type](e,t),r&&t.size!==r.size&&(n=wt(t.sizingClasses(r),[n],t),t=t.sizeMultiplier/r.sizeMultiplier,n.height*=t,n.depth*=t),n;throw new $("Got group of unknown type: '"+e.type+"'")};function Ct(e,t){e=wt(["base"],e,t),t=wt(["strut"]);return t.style.height=Q(e.height+e.depth),e.depth&&(t.style.verticalAlign=Q(-e.depth)),e.children.unshift(t),e}function Nt(e,t){var r=null;1===e.length&&"tag"===e[0].type&&(r=e[0].tag,e=e[0].body);var n,i=te(e,t,"root");2===i.length&&i[1].hasClass("tag")&&(n=i.pop());for(var a,o=[],s=[],l=0;l<i.length;l++)if(s.push(i[l]),i[l].hasClass("mbin")||i[l].hasClass("mrel")||i[l].hasClass("allowbreak")){for(var h=!1;l<i.length-1&&i[l+1].hasClass("mspace")&&!i[l+1].hasClass("newline");)l++,s.push(i[l]),i[l].hasClass("nobreak")&&(h=!0);h||(o.push(Ct(s,t)),s=[])}else i[l].hasClass("newline")&&(s.pop(),0<s.length&&(o.push(Ct(s,t)),s=[]),o.push(i[l]));0<s.length&&o.push(Ct(s,t)),r?((a=Ct(te(r,t,!0))).classes=["tag"],o.push(a)):n&&o.push(n);e=wt(["katex-html"],o);return e.setAttribute("aria-hidden","true"),a&&((r=a.children[0]).style.height=Q(e.height+e.depth),e.depth&&(r.style.verticalAlign=Q(-e.depth))),e}function qt(e){return new ie(e)}function It(e,t,r){return!p[t][e]||!p[t][e].replace||55349===e.charCodeAt(0)||Ge.hasOwnProperty(e)&&r&&(r.fontFamily&&"tt"===r.fontFamily.substr(4,2)||r.font&&"tt"===r.font.substr(4,2))||(e=p[t][e].replace),new M.TextNode(e)}function Ot(e){return 1===e.length?e[0]:new M.MathNode("mrow",e)}function Rt(e,t){if("texttt"===t.fontFamily)return"monospace";if("textsf"===t.fontFamily)return"textit"===t.fontShape&&"textbf"===t.fontWeight?"sans-serif-bold-italic":"textit"===t.fontShape?"sans-serif-italic":"textbf"===t.fontWeight?"bold-sans-serif":"sans-serif";if("textit"===t.fontShape&&"textbf"===t.fontWeight)return"bold-italic";if("textit"===t.fontShape)return"italic";if("textbf"===t.fontWeight)return"bold";if(!(t=t.font)||"mathnormal"===t)return null;var r=e.mode;return"mathit"===t?"italic":"boldsymbol"===t?"textord"===e.type?"bold":"bold-italic":"mathbf"===t?"bold":"mathbb"===t?"double-struck":"mathfrak"===t?"fraktur":"mathscr"===t||"mathcal"===t?"script":"mathsf"===t?"sans-serif":"mathtt"===t?"monospace":(e=e.text,Z.contains(["\\imath","\\jmath"],e)?null:he(e=p[r][e]&&p[r][e].replace?p[r][e].replace:e,ee.fontMap[t].fontName,r)?ee.fontMap[t].variant:null)}function S(e,t,r){var n;if(1===e.length)return n=z(e[0],t),r&&n instanceof Ht&&"mo"===n.type&&(n.setAttribute("lspace","0em"),n.setAttribute("rspace","0em")),[n];for(var i,a=[],o=0;o<e.length;o++){var s,l,h=z(e[o],t);if(h instanceof Ht&&i instanceof Ht){if("mtext"===h.type&&"mtext"===i.type&&h.getAttribute("mathvariant")===i.getAttribute("mathvariant")){(s=i.children).push.apply(s,h.children);continue}if("mn"===h.type&&"mn"===i.type){(s=i.children).push.apply(s,h.children);continue}if("mi"===h.type&&1===h.children.length&&"mn"===i.type){var m=h.children[0];if(m instanceof Lt&&"."===m.text){(m=i.children).push.apply(m,h.children);continue}}else"mi"===i.type&&1===i.children.length&&(m=i.children[0])instanceof Lt&&"̸"===m.text&&("mo"===h.type||"mi"===h.type||"mn"===h.type)&&(l=h.children[0])instanceof Lt&&0<l.text.length&&(l.text=l.text.slice(0,1)+"̸"+l.text.slice(1),a.pop())}a.push(h),i=h}return a}function Et(e,t,r){return Ot(S(e,t,r))}(m=Ft.prototype).setAttribute=function(e,t){this.attributes[e]=t},m.getAttribute=function(e){return this.attributes[e]},m.toNode=function(){var e,t=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&t.setAttribute(e,this.attributes[e]);0<this.classes.length&&(t.className=ge(this.classes));for(var r=0;r<this.children.length;r++)t.appendChild(this.children[r].toNode());return t},m.toMarkup=function(){var e,t="<"+this.type;for(e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&(t+=" "+e+'="',t+=Z.escape(this.attributes[e]),t+='"');0<this.classes.length&&(t+=' class ="'+Z.escape(ge(this.classes))+'"'),t+=">";for(var r=0;r<this.children.length;r++)t+=this.children[r].toMarkup();return t+("</"+this.type)+">"},m.toText=function(){return this.children.map(function(e){return e.toText()}).join("")};var Ht=Ft,Lt=((s=Pt.prototype).toNode=function(){return document.createTextNode(this.text)},s.toMarkup=function(){return Z.escape(this.toText())},s.toText=function(){return this.text},Pt),M={MathNode:Ht,TextNode:Lt,SpaceNode:((u=Dt.prototype).toNode=function(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",Q(this.width)),e},u.toMarkup=function(){return this.character?"<mtext>"+this.character+"</mtext>":'<mspace width="'+Q(this.width)+'"/>'},u.toText=function(){return this.character||" "},Dt),newDocumentFragment:qt},z=function(e,t){if(!e)return new M.MathNode("mrow");if(gt[e.type])return gt[e.type](e,t);throw new $("Got group of unknown type: '"+e.type+"'")};function Dt(e){this.width=void 0,this.character=void 0,this.width=e,this.character=.05555<=e&&e<=.05556?" ":.1666<=e&&e<=.1667?" ":.2222<=e&&e<=.2223?" ":.2777<=e&&e<=.2778?" ":-.05556<=e&&e<=-.05555?" ":-.1667<=e&&e<=-.1666?" ":-.2223<=e&&e<=-.2222?" ":-.2778<=e&&e<=-.2777?" ":null}function Pt(e){this.text=void 0,this.text=e}function Ft(e,t,r){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=t||[],this.classes=r||[]}function Vt(e,t,r,n,i){e=S(e,r),r=1===e.length&&e[0]instanceof Ht&&Z.contains(["mrow","mtable"],e[0].type)?e[0]:new M.MathNode("mrow",e),e=new M.MathNode("annotation",[new M.TextNode(t)]),e.setAttribute("encoding","application/x-tex"),t=new M.MathNode("semantics",[r,e]),r=new M.MathNode("math",[t]);return r.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&r.setAttribute("display","block"),ee.makeSpan([i?"katex":"katex-mathml"],[r])}function Gt(e){return(e=new M.MathNode("mo",[new M.TextNode(Wt[e.replace(/^\\/,"")])])).setAttribute("stretchy","true"),e}function Ut(f,g){var e=(r=function(){var e,t=4e5,r=f.label.substr(1);if(Z.contains(["widehat","widecheck","widetilde","utilde"],r))return a=5<(a="ordgroup"===(a=f.base).type?a.body.length:1)?"widehat"===r||"widecheck"===r?(s=420,t=2364,e=.42,r+"4"):(s=312,t=2340,e=.34,"tilde4"):(a=[1,1,2,2,3,3][a],"widehat"===r||"widecheck"===r?(t=[0,1062,2364,2364,2364][a],s=[0,239,300,360,420][a],e=[0,.24,.3,.3,.36,.42][a],r+a):(t=[0,600,1033,2339,2340][a],s=[0,260,286,306,312][a],e=[0,.26,.286,.3,.306,.34][a],"tilde"+a)),a=new Be(a),a=new Te([a],{width:"100%",height:Q(e),viewBox:"0 0 "+t+" "+s,preserveAspectRatio:"none"}),{span:ee.makeSvgSpan([],[a],g),minWidth:0,height:e};var n,i,a,o=[],s=jt[r],l=s[0],h=s[1],m=s[2],c=m/1e3,u=l.length;if(1===u)n=["hide-tail"],i=[s[3]];else if(2===u)n=["halfarrow-left","halfarrow-right"],i=["xMinYMin","xMaxYMin"];else{if(3!==u)throw new Error("Correct katexImagesData or update code here to support\n "+u+" children.");n=["brace-left","brace-center","brace-right"],i=["xMinYMin","xMidYMin","xMaxYMin"]}for(var p=0;p<u;p++){var d=new Be(l[p]),d=new Te([d],{width:"400em",height:Q(c),viewBox:"0 0 "+t+" "+m,preserveAspectRatio:i[p]+" slice"}),d=ee.makeSvgSpan([n[p]],[d],g);if(1===u)return{span:d,minWidth:h,height:c};d.style.height=Q(c),o.push(d)}return{span:ee.makeSpan(["stretchy"],o,g),minWidth:h,height:c}}()).span,t=r.minWidth,r=r.height;return e.height=r,e.style.height=Q(r),0<t&&(e.style.minWidth=Q(t)),e}var Yt=function(e){return new ve({style:e.displayMode?K.DISPLAY:K.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},Xt=function(e,t){var r;return t.displayMode&&(r=["katex-display"],t.leqno&&r.push("leqno"),t.fleqn&&r.push("fleqn"),e=ee.makeSpan(r,[e])),e},Wt={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},jt={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]};function A(e,t){if(e&&e.type===t)return e;throw new Error("Expected node of type "+t+", but got "+(e?"node of type "+e.type:String(e)))}function _t(e){var t=$t(e);if(t)return t;throw new Error("Expected node of symbol group type, but got "+(e?"node of type "+e.type:String(e)))}function $t(e){return e&&("atom"===e.type||Pe.hasOwnProperty(e.type))?e:null}function Zt(e,t){e&&"supsub"===e.type?(s=(r=A(e.base,"accent")).base,e.base=s,n=function(e){if(e instanceof Se)return e;throw new Error("Expected span<HtmlDomNode> but got "+String(e)+".")}(re(e,t)),e.base=r):s=(r=A(e,"accent")).base;var r,n,e=re(s,t.havingCrampedStyle()),i=0;r.isShifty&&Z.isCharacterBox(s)&&(s=Z.getBaseElem(s),i=Le(re(s,t.havingCrampedStyle())).skew);var a,o,s="\\c"===r.label,l=s?e.height+e.depth:Math.min(e.height,t.fontMetrics().xHeight),h=r.isStretchy?(h=Ut(r,t),ee.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:e},{type:"elem",elem:h,wrapperClasses:["svg-align"],wrapperStyle:0<i?{width:"calc(100% - "+Q(2*i)+")",marginLeft:Q(2*i)}:void 0}]},t)):("\\vec"===r.label?(o=ee.staticSvg("vec",t),a=ee.svgData.vec[1]):((o=Le(o=ee.makeOrd({mode:r.mode,text:r.label},t,"textord"))).italic=0,a=o.width,s&&(l+=o.depth)),h=ee.makeSpan(["accent-body"],[o]),(s="\\textcircled"===r.label)&&(h.classes.push("accent-full"),l=e.height),o=i,s||(o-=a/2),h.style.left=Q(o),"\\textcircled"===r.label&&(h.style.top=".2em"),ee.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:e},{type:"kern",size:-l},{type:"elem",elem:h}]},t)),i=ee.makeSpan(["mord","accent"],[h],t);return n?(n.children[0]=i,n.height=Math.max(i.height,n.height),n.classes[0]="mord",n):i}function Kt(e,t){var r=e.isStretchy?Gt(e.label):new M.MathNode("mo",[It(e.label,e.mode)]);return(e=new M.MathNode("mover",[z(e.base,t),r])).setAttribute("accent","true"),e}function Jt(e){return(e=new M.MathNode("mpadded",e?[e]:[])).setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e}function Qt(e){return"textord"===e.type&&"@"===e.text}var e0=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(function(e){return"\\"+e}).join("|")),t0=(w({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:function(e,t){var t=bt(t[0]),r=!e0.test(e.funcName),n=!r||"\\widehat"===e.funcName||"\\widetilde"===e.funcName||"\\widecheck"===e.funcName;return{type:"accent",mode:e.parser.mode,label:e.funcName,isStretchy:r,isShifty:n,base:t}},htmlBuilder:Zt,mathmlBuilder:Kt}),w({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:function(e,t){var t=t[0],r=e.parser.mode;return"math"===r&&(e.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+e.funcName+" works only in text mode"),r="text"),{type:"accent",mode:r,label:e.funcName,isStretchy:!1,isShifty:!0,base:t}},htmlBuilder:Zt,mathmlBuilder:Kt}),w({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:function(e,t){var r=e.parser,e=e.funcName,t=t[0];return{type:"accentUnder",mode:r.mode,label:e,base:t}},htmlBuilder:function(e,t){var r=re(e.base,t),n=Ut(e,t),e="\\utilde"===e.label?.12:0,n=ee.makeVList({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:e},{type:"elem",elem:r}]},t);return ee.makeSpan(["mord","accentunder"],[n],t)},mathmlBuilder:function(e,t){var r=Gt(e.label),e=new M.MathNode("munder",[z(e.base,t),r]);return e.setAttribute("accentunder","true"),e}}),w({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler:function(e,t,r){var n=e.parser,e=e.funcName;return{type:"xArrow",mode:n.mode,label:e,body:t[0],below:r[0]}},htmlBuilder:function(e,t){var r=t.style,n=t.havingStyle(r.sup()),i=ee.wrapFragment(re(e.body,n,t),t),a="\\x"===e.label.slice(0,2)?"x":"cd";i.classes.push(a+"-arrow-pad"),e.below&&(n=t.havingStyle(r.sub()),(o=ee.wrapFragment(re(e.below,n,t),t)).classes.push(a+"-arrow-pad"));var o,r=Ut(e,t),n=-t.fontMetrics().axisHeight+.5*r.height,a=-t.fontMetrics().axisHeight-.5*r.height-.111;return(.25<i.depth||"\\xleftequilibrium"===e.label)&&(a-=i.depth),(o=o?(e=-t.fontMetrics().axisHeight+o.height+.5*r.height+.111,ee.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:a},{type:"elem",elem:r,shift:n},{type:"elem",elem:o,shift:e}]},t)):ee.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:a},{type:"elem",elem:r,shift:n}]},t)).children[0].children[0].children[1].classes.push("svg-align"),ee.makeSpan(["mrel","x-arrow"],[o],t)},mathmlBuilder:function(e,t){var r,n,i,a=Gt(e.label);return a.setAttribute("minsize","x"===e.label.charAt(0)?"1.75em":"3.0em"),n=e.body?(r=Jt(z(e.body,t)),e.below?(i=Jt(z(e.below,t)),new M.MathNode("munderover",[a,i,r])):new M.MathNode("mover",[a,r])):e.below?(i=Jt(z(e.below,t)),new M.MathNode("munder",[a,i])):(n=Jt(),new M.MathNode("mover",[a,n]))}}),{">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"});w({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler:function(e,t){var r=e.parser,e=e.funcName;return{type:"cdlabel",mode:r.mode,side:e.slice(4),label:t[0]}},htmlBuilder:function(e,t){var r=t.havingStyle(t.style.sup()),r=ee.wrapFragment(re(e.label,r,t),t);return r.classes.push("cd-label-"+e.side),r.style.bottom=Q(.8-r.depth),r.height=0,r.depth=0,r},mathmlBuilder:function(e,t){t=new M.MathNode("mrow",[z(e.label,t)]);return(t=new M.MathNode("mpadded",[t])).setAttribute("width","0"),"left"===e.side&&t.setAttribute("lspace","-1width"),t.setAttribute("voffset","0.7em"),(t=new M.MathNode("mstyle",[t])).setAttribute("displaystyle","false"),t.setAttribute("scriptlevel","1"),t}}),w({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler:function(e,t){return{type:"cdlabelparent",mode:e.parser.mode,fragment:t[0]}},htmlBuilder:function(e,t){e=ee.wrapFragment(re(e.fragment,t),t);return e.classes.push("cd-vert-arrow"),e},mathmlBuilder:function(e,t){return new M.MathNode("mrow",[z(e.fragment,t)])}}),w({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){for(var e=e.parser,r=A(t[0],"ordgroup").body,n="",i=0;i<r.length;i++)n+=A(r[i],"textord").text;var t=parseInt(n);if(isNaN(t))throw new $("\\@char has non-numeric argument "+n);if(t<0||1114111<=t)throw new $("\\@char with invalid code point "+n);return t=t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode(55296+(t>>10),56320+(1023&t))),{type:"textord",mode:e.mode,text:t}}});function r0(e,t){return t=te(e.body,t.withColor(e.color),!1),ee.makeFragment(t)}function n0(e,t){return t=S(e.body,t.withColor(e.color)),(t=new M.MathNode("mstyle",t)).setAttribute("mathcolor",e.color),t}function i0(e){var t=e.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(t))throw new $("Expected a control sequence",e);return t}function a0(e,t,r,n){var i=e.gullet.macros.get(r.text);null==i&&(r.noexpand=!0,i={tokens:[r],numArgs:0,unexpandable:!e.gullet.isExpandable(r.text)}),e.gullet.macros.set(t,i,n)}function o0(e,t,r){if(r=he(p.math[e]&&p.math[e].replace||e,t,r))return r;throw new Error("Unsupported symbol "+e+" and font size "+t+".")}function s0(e,t,r,n){return t=r.havingBaseStyle(t),n=ee.makeSpan(n.concat(t.sizingClasses(r)),[e],r),e=t.sizeMultiplier/r.sizeMultiplier,n.height*=e,n.depth*=e,n.maxFontSize=t.sizeMultiplier,n}function l0(e,t,r){r=t.havingBaseStyle(r),r=(1-t.sizeMultiplier/r.sizeMultiplier)*t.fontMetrics().axisHeight,e.classes.push("delimcenter"),e.style.top=Q(r),e.height-=r,e.depth+=r}function h0(e,t,r,n,i,a){return e=ee.makeSymbol(e,"Size"+t+"-Regular",i,n),i=s0(ee.makeSpan(["delimsizing","size"+t],[e],n),K.TEXT,n,a),r&&l0(i,n,K.TEXT),i}function m0(e,t,r){return{type:"elem",elem:ee.makeSpan(["delimsizinginner","Size1-Regular"===t?"delim-size1":"delim-size4"],[ee.makeSpan([],[ee.makeSymbol(e,t,r)])])}}function c0(e,t,r){var n=(ae["Size4-Regular"][e.charCodeAt(0)]?ae["Size4-Regular"]:ae["Size1-Regular"])[e.charCodeAt(0)][4],e=new Be("inner",function(e,t){switch(e){case"⎜":return"M291 0 H417 V"+t+" H291z M291 0 H417 V"+t+" H291z";case"∣":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145z";case"∥":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145zM367 0 H410 V"+t+" H367z M367 0 H410 V"+t+" H367z";case"⎟":return"M457 0 H583 V"+t+" H457z M457 0 H583 V"+t+" H457z";case"⎢":return"M319 0 H403 V"+t+" H319z M319 0 H403 V"+t+" H319z";case"⎥":return"M263 0 H347 V"+t+" H263z M263 0 H347 V"+t+" H263z";case"⎪":return"M384 0 H504 V"+t+" H384z M384 0 H504 V"+t+" H384z";case"⏐":return"M312 0 H355 V"+t+" H312z M312 0 H355 V"+t+" H312z";case"‖":return"M257 0 H300 V"+t+" H257z M257 0 H300 V"+t+" H257zM478 0 H521 V"+t+" H478z M478 0 H521 V"+t+" H478z";default:return""}}(e,Math.round(1e3*t))),e=new Te([e],{width:Q(n),height:Q(t),style:"width:"+Q(n),viewBox:"0 0 "+1e3*n+" "+Math.round(1e3*t),preserveAspectRatio:"xMinYMin"});return(e=ee.makeSvgSpan([],[e],r)).height=t,e.style.height=Q(t),e.style.width=Q(n),{type:"elem",elem:e}}function u0(e,t,r,n,i,a){var o,s=o=f=e,l=null,h="Size1-Regular";"\\uparrow"===e?o=f="⏐":"\\Uparrow"===e?o=f="‖":"\\downarrow"===e?s=o="⏐":"\\Downarrow"===e?s=o="‖":"\\updownarrow"===e?(s="\\uparrow",o="⏐",f="\\downarrow"):"\\Updownarrow"===e?(s="\\Uparrow",o="‖",f="\\Downarrow"):Z.contains(b0,e)?o="∣":Z.contains(x0,e)?o="∥":"["===e||"\\lbrack"===e?(s="⎡",o="⎢",f="⎣",h="Size4-Regular"):"]"===e||"\\rbrack"===e?(s="⎤",o="⎥",f="⎦",h="Size4-Regular"):"\\lfloor"===e||"⌊"===e?(o=s="⎢",f="⎣",h="Size4-Regular"):"\\lceil"===e||"⌈"===e?(s="⎡",o=f="⎢",h="Size4-Regular"):"\\rfloor"===e||"⌋"===e?(o=s="⎥",f="⎦",h="Size4-Regular"):"\\rceil"===e||"⌉"===e?(s="⎤",o=f="⎥",h="Size4-Regular"):"("===e||"\\lparen"===e?(s="⎛",o="⎜",f="⎝",h="Size4-Regular"):")"===e||"\\rparen"===e?(s="⎞",o="⎟",f="⎠",h="Size4-Regular"):"\\{"===e||"\\lbrace"===e?(s="⎧",l="⎨",f="⎩",o="⎪",h="Size4-Regular"):"\\}"===e||"\\rbrace"===e?(s="⎫",l="⎬",f="⎭",o="⎪",h="Size4-Regular"):"\\lgroup"===e||"⟮"===e?(s="⎧",f="⎩",o="⎪",h="Size4-Regular"):"\\rgroup"===e||"⟯"===e?(s="⎫",f="⎭",o="⎪",h="Size4-Regular"):"\\lmoustache"===e||"⎰"===e?(s="⎧",f="⎭",o="⎪",h="Size4-Regular"):"\\rmoustache"!==e&&"⎱"!==e||(s="⎫",f="⎩",o="⎪",h="Size4-Regular");var e=(e=o0(s,h,i)).height+e.depth,m=(m=o0(o,h,i)).height+m.depth,c=(c=o0(f,h,i)).height+c.depth,u=0,p=1;null!==l&&(u=(d=o0(l,h,i)).height+d.depth,p=2);var t=(d=e+c+u)+Math.max(0,Math.ceil((t-d)/(p*m)))*p*m,d=n.fontMetrics().axisHeight,p=(r&&(d*=n.sizeMultiplier),t/2-d),d=((m=[]).push(m0(f,h,i)),m.push(y0),null===l?m.push(c0(o,t-e-c+.016,n)):(m.push(c0(o,r=(t-e-c-u)/2+.016,n)),m.push(y0),m.push(m0(l,h,i)),m.push(y0),m.push(c0(o,r,n))),m.push(y0),m.push(m0(s,h,i)),n.havingBaseStyle(K.TEXT)),f=ee.makeVList({positionType:"bottom",positionData:p,children:m},d);return s0(ee.makeSpan(["delimsizing","mult"],[f],d),K.TEXT,n,a)}function p0(n,e,t,r,i){return r=function(e,t){e*=1e3;var r="";switch(n){case"sqrtMain":r="M95,"+(622+e+80)+"\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl"+e/2.075+" -"+e+"\nc5.3,-9.3,12,-14,20,-14\nH400000v"+(40+e)+"H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM"+(834+e)+" 80h400000v"+(40+e)+"h-400000z";break;case"sqrtSize1":r="M263,"+(601+e+80)+"c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl"+e/2.084+" -"+e+"\nc4.7,-7.3,11,-11,19,-11\nH40000v"+(40+e)+"H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM"+(1001+e)+" 80h400000v"+(40+e)+"h-400000z";break;case"sqrtSize2":r="M983 "+(10+e+80)+"\nl"+e/3.13+" -"+e+"\nc4,-6.7,10,-10,18,-10 H400000v"+(40+e)+"\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\nM"+(1001+e)+" 80h400000v"+(40+e)+"h-400000z";break;case"sqrtSize3":r="M424,"+(2398+e+80)+"\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\nl"+e/4.223+" -"+e+"c4,-6.7,10,-10,18,-10 H400000\nv"+(40+e)+"H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\nc-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M"+(1001+e)+" 80\nh400000v"+(40+e)+"h-400000z";break;case"sqrtSize4":r="M473,"+(2713+e+80)+"\nc339.3,-1799.3,509.3,-2700,510,-2702 l"+e/5.298+" -"+e+"\nc3.3,-7.3,9.3,-11,18,-11 H400000v"+(40+e)+"H1017.7\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\n606zM"+(1001+e)+" 80h400000v"+(40+e)+"H1017.7z";break;case"sqrtTall":r="M702 "+(80+e)+"H400000"+(40+e)+"\nH742v"+(t-54-80-e)+"l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 80H400000v"+(40+e)+"H742z"}return r}(r,t),r=new Be(n,r),r=new Te([r],{width:"400em",height:Q(e),viewBox:"0 0 400000 "+t,preserveAspectRatio:"xMinYMin slice"}),ee.makeSvgSpan(["hide-tail"],[r],i)}function d0(e,t,r,n){for(var i=Math.min(2,3-n.style.size);i<r.length&&"stack"!==r[i].type;i++){var a=o0(e,function(e){if("small"===e.type)return"Main-Regular";if("large"===e.type)return"Size"+e.size+"-Regular";if("stack"===e.type)return"Size4-Regular";throw new Error("Add support for delim type '"+e.type+"' here.")}(r[i]),"math"),a=a.height+a.depth;if("small"===r[i].type&&(a*=n.havingBaseStyle(r[i].style).sizeMultiplier),t<a)return r[i]}return r[r.length-1]}function f0(e,t,r,n,i,a){"<"===e||"\\lt"===e||"⟨"===e?e="\\langle":">"!==e&&"\\gt"!==e&&"⟩"!==e||(e="\\rangle"),c=Z.contains(k0,e)?M0:Z.contains(v0,e)?A0:z0;var o,s,l,h,m,c=d0(e,t,c,n);return"small"===c.type?(o=e,s=c.style,l=r,h=n,m=a,o=ee.makeSymbol(o,"Main-Regular",i,h),o=s0(o,s,h,m),l&&l0(o,h,s),o):"large"===c.type?h0(e,c.size,r,n,i,a):u0(e,t,r,n,i,a)}w({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler:function(e,t){var e=e.parser,r=A(t[0],"color-token").color,t=t[1];return{type:"color",mode:e.mode,color:r,body:k(t)}},htmlBuilder:r0,mathmlBuilder:n0}),w({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler:function(e,t){var r=e.parser,e=e.breakOnTokenText,t=A(t[0],"color-token").color,e=(r.gullet.macros.set("\\current@color",t),r.parseExpression(!0,e));return{type:"color",mode:r.mode,color:t,body:e}},htmlBuilder:r0,mathmlBuilder:n0}),w({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:1,argTypes:["size"],allowedInText:!0},handler:function(e,t,r){var e=e.parser,r=r[0],n=!e.settings.displayMode||!e.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:e.mode,newLine:n,size:r&&A(r,"size").value}},htmlBuilder:function(e,t){var r=ee.makeSpan(["mspace"],[],t);return e.newLine&&(r.classes.push("newline"),e.size&&(r.style.marginTop=Q(J(e.size,t)))),r},mathmlBuilder:function(e,t){var r=new M.MathNode("mspace");return e.newLine&&(r.setAttribute("linebreak","newline"),e.size&&r.setAttribute("height",Q(J(e.size,t)))),r}});var g0={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},y0=(w({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler:function(e){var t=e.parser,e=e.funcName,r=(t.consumeSpaces(),t.fetch());if(g0[r.text])return"\\global"!==e&&"\\\\globallong"!==e||(r.text=g0[r.text]),A(t.parseFunction(),"internal");throw new $("Invalid token after macro prefix",r)}}),w({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler:function(e){var t=e.parser,e=e.funcName,r=t.gullet.popToken(),n=r.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(n))throw new $("Expected a control sequence",r);for(var i,a=0,o=[[]];"{"!==t.gullet.future().text;)if("#"===(r=t.gullet.popToken()).text){if("{"===t.gullet.future().text){i=t.gullet.future(),o[a].push("{");break}if(r=t.gullet.popToken(),!/^[1-9]$/.test(r.text))throw new $('Invalid argument number "'+r.text+'"');if(parseInt(r.text)!==a+1)throw new $('Argument number "'+r.text+'" out of order');a++,o.push([])}else{if("EOF"===r.text)throw new $("Expected a macro definition");o[a].push(r.text)}var s=t.gullet.consumeArg().tokens;return i&&s.unshift(i),"\\edef"!==e&&"\\xdef"!==e||(s=t.gullet.expandTokens(s)).reverse(),t.gullet.macros.set(n,{tokens:s,numArgs:a,delimiters:o},e===g0[e]),{type:"internal",mode:t.mode}}}),w({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler:function(e){var t,r,n=e.parser,e=e.funcName,i=i0(n.gullet.popToken());n.gullet.consumeSpaces(),r="="===(r=(t=n).gullet.popToken()).text&&" "===(r=t.gullet.popToken()).text?t.gullet.popToken():r;return a0(n,i,r,"\\\\globallet"===e),{type:"internal",mode:n.mode}}}),w({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler:function(e){var t=e.parser,e=e.funcName,r=i0(t.gullet.popToken()),n=t.gullet.popToken(),i=t.gullet.popToken();return a0(t,r,i,"\\\\globalfuture"===e),t.gullet.pushToken(i),t.gullet.pushToken(n),{type:"internal",mode:t.mode}}}),{type:"kern",size:-.008}),b0=["|","\\lvert","\\rvert","\\vert"],x0=["\\|","\\lVert","\\rVert","\\Vert"],v0=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"],w0=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"],k0=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],S0=[0,1.2,1.8,2.4,3],M0=[{type:"small",style:K.SCRIPTSCRIPT},{type:"small",style:K.SCRIPT},{type:"small",style:K.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],z0=[{type:"small",style:K.SCRIPTSCRIPT},{type:"small",style:K.SCRIPT},{type:"small",style:K.TEXT},{type:"stack"}],A0=[{type:"small",style:K.SCRIPTSCRIPT},{type:"small",style:K.SCRIPT},{type:"small",style:K.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],T0={sqrtImage:function(e,t){var r,n=t.havingBaseSizing(),i=d0("\\surd",e*n.sizeMultiplier,A0,n),n=n.sizeMultiplier,a=Math.max(0,t.minRuleThickness-t.fontMetrics().sqrtRuleThickness),o=0,s=0,l=0,i="small"===i.type?(e<1?n=1:e<1.4&&(n=.7),s=(1+a)/n,(r=p0("sqrtMain",o=(1+a+.08)/n,l=1e3+1e3*a+80,a,t)).style.minWidth="0.853em",.833/n):"large"===i.type?(l=1080*S0[i.size],s=(S0[i.size]+a)/n,o=(S0[i.size]+a+.08)/n,(r=p0("sqrtSize"+i.size,o,l,a,t)).style.minWidth="1.02em",1/n):(o=e+a+.08,s=e+a,l=Math.floor(1e3*e+a)+80,(r=p0("sqrtTall",o,l,a,t)).style.minWidth="0.742em",1.056);return r.height=s,r.style.height=Q(o),{span:r,advanceWidth:i,ruleWidth:(t.fontMetrics().sqrtRuleThickness+a)*n}},sizedDelim:function(e,t,r,n,i){if("<"===e||"\\lt"===e||"⟨"===e?e="\\langle":">"!==e&&"\\gt"!==e&&"⟩"!==e||(e="\\rangle"),Z.contains(v0,e)||Z.contains(k0,e))return h0(e,t,!1,r,n,i);if(Z.contains(w0,e))return u0(e,S0[t],!1,r,n,i);throw new $("Illegal delimiter: '"+e+"'")},sizeToMaxHeight:S0,customSizedDelim:f0,leftRightDelim:function(e,t,r,n,i,a){var o=n.fontMetrics().axisHeight*n.sizeMultiplier,s=5/n.fontMetrics().ptPerEm,t=Math.max(t-o,r+o),r=Math.max(t/500*901,2*t-s);return f0(e,r,!0,n,i,a)}},B0={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},C0=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];function N0(e,t){var r=$t(e);if(r&&Z.contains(C0,r.text))return r;throw new $(r?"Invalid delimiter '"+r.text+"' after '"+t.funcName+"'":"Invalid delimiter type '"+e.type+"'",e)}function q0(e){if(!e.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}w({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:function(e,t){t=N0(t[0],e);return{type:"delimsizing",mode:e.parser.mode,size:B0[e.funcName].size,mclass:B0[e.funcName].mclass,delim:t.text}},htmlBuilder:function(e,t){return"."===e.delim?ee.makeSpan([e.mclass]):T0.sizedDelim(e.delim,e.size,t,e.mode,[e.mclass])},mathmlBuilder:function(e){var t=[],t=("."!==e.delim&&t.push(It(e.delim,e.mode)),new M.MathNode("mo",t)),e=("mopen"===e.mclass||"mclose"===e.mclass?t.setAttribute("fence","true"):t.setAttribute("fence","false"),t.setAttribute("stretchy","true"),Q(T0.sizeToMaxHeight[e.size]));return t.setAttribute("minsize",e),t.setAttribute("maxsize",e),t}}),w({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:function(e,t){var r=e.parser.gullet.macros.get("\\current@color");if(r&&"string"!=typeof r)throw new $("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:e.parser.mode,delim:N0(t[0],e).text,color:r}}}),w({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:function(e,t){var t=N0(t[0],e),e=e.parser,r=(++e.leftrightDepth,e.parseExpression(!1)),n=(--e.leftrightDepth,e.expect("\\right",!1),A(e.parseFunction(),"leftright-right"));return{type:"leftright",mode:e.mode,body:r,left:t.text,right:n.delim,rightColor:n.color}},htmlBuilder:function(e,t){q0(e);for(var r,n=te(e.body,t,!0,["mopen","mclose"]),i=0,a=0,o=!1,s=0;s<n.length;s++)n[s].isMiddle?o=!0:(i=Math.max(n[s].height,i),a=Math.max(n[s].depth,a));if(i*=t.sizeMultiplier,a*=t.sizeMultiplier,r="."===e.left?vt(t,["mopen"]):T0.leftRightDelim(e.left,i,a,t,e.mode,["mopen"]),n.unshift(r),o)for(var l=1;l<n.length;l++){var h=n[l].isMiddle;h&&(n[l]=T0.leftRightDelim(h.delim,i,a,h.options,e.mode,[]))}return r="."===e.right?vt(t,["mclose"]):(r=e.rightColor?t.withColor(e.rightColor):t,T0.leftRightDelim(e.right,i,a,r,e.mode,["mclose"])),n.push(r),ee.makeSpan(["minner"],n,t)},mathmlBuilder:function(e,t){q0(e);var r,t=S(e.body,t);return"."!==e.left&&((r=new M.MathNode("mo",[It(e.left,e.mode)])).setAttribute("fence","true"),t.unshift(r)),"."!==e.right&&((r=new M.MathNode("mo",[It(e.right,e.mode)])).setAttribute("fence","true"),e.rightColor&&r.setAttribute("mathcolor",e.rightColor),t.push(r)),Ot(t)}}),w({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:function(e,t){t=N0(t[0],e);if(e.parser.leftrightDepth)return{type:"middle",mode:e.parser.mode,delim:t.text};throw new $("\\middle without preceding \\left",t)},htmlBuilder:function(e,t){var r;return"."===e.delim?r=vt(t,[]):(r=T0.sizedDelim(e.delim,1,t,e.mode,[]),e={delim:e.delim,options:t},r.isMiddle=e),r},mathmlBuilder:function(e,t){e="\\vert"===e.delim||"|"===e.delim?It("|","text"):It(e.delim,e.mode),e=new M.MathNode("mo",[e]);return e.setAttribute("fence","true"),e.setAttribute("lspace","0.05em"),e.setAttribute("rspace","0.05em"),e}});function I0(e,t){var r,n,i,a,o,s,l,h,m=ee.wrapFragment(re(e.body,t),t),c=e.label.substr(1),u=t.sizeMultiplier,p=0,d=Z.isCharacterBox(e.body);return"sout"===c?((r=ee.makeSpan(["stretchy","sout"])).height=t.fontMetrics().defaultRuleThickness/u,p=-.5*t.fontMetrics().xHeight):"phase"===c?(n=J({number:.6,unit:"pt"},t),o=J({number:.35,unit:"ex"},t),u/=t.havingBaseSizing().sizeMultiplier,i=m.height+m.depth+n+o,m.style.paddingLeft=Q(i/2+n),u=Math.floor(1e3*i*u),u=new Te([new Be("phase","M400000 "+u+" H0 L"+u/2+" 0 l65 45 L145 "+(u-80)+" H400000z")],{width:"400em",height:Q(u/1e3),viewBox:"0 0 400000 "+u,preserveAspectRatio:"xMinYMin slice"}),(r=ee.makeSvgSpan(["hide-tail"],[u],t)).style.height=Q(i),p=m.depth+n+o):(/cancel/.test(c)?d||m.classes.push("cancel-pad"):"angl"===c?m.classes.push("anglpad"):m.classes.push("boxpad"),n=i=u=0,i=/box/.test(c)?(n=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness),u=t.fontMetrics().fboxsep+("colorbox"===c?0:n)):"angl"===c?(u=4*(n=Math.max(t.fontMetrics().defaultRuleThickness,t.minRuleThickness)),Math.max(0,.25-m.depth)):u=d?.2:0,o=c,u=u,h=i,s=t,a=(a=m).height+a.depth+u+h,/fbox|color|angl/.test(o)?(l=ee.makeSpan(["stretchy",o],[],s),"fbox"===o&&(u=s.color&&s.getColor())&&(l.style.borderColor=u)):(h=[],/^[bx]cancel$/.test(o)&&h.push(new Ce({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(o)&&h.push(new Ce({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"})),u=new Te(h,{width:"100%",height:Q(a)}),l=ee.makeSvgSpan([],[u],s)),l.height=a,l.style.height=Q(a),r=l,/fbox|boxed|fcolorbox/.test(c)?(r.style.borderStyle="solid",r.style.borderWidth=Q(n)):"angl"===c&&.049!==n&&(r.style.borderTopWidth=Q(n),r.style.borderRightWidth=Q(n)),p=m.depth+i,e.backgroundColor&&(r.style.backgroundColor=e.backgroundColor,e.borderColor&&(r.style.borderColor=e.borderColor))),u=e.backgroundColor?ee.makeVList({positionType:"individualShift",children:[{type:"elem",elem:r,shift:p},{type:"elem",elem:m,shift:0}]},t):(h=/cancel|phase/.test(c)?["svg-align"]:[],ee.makeVList({positionType:"individualShift",children:[{type:"elem",elem:m,shift:0},{type:"elem",elem:r,shift:p,wrapperClasses:h}]},t)),/cancel/.test(c)&&(u.height=m.height,u.depth=m.depth),/cancel/.test(c)&&!d?ee.makeSpan(["mord","cancel-lap"],[u],t):ee.makeSpan(["mord"],[u],t)}function O0(e,t){var r=new M.MathNode(-1<e.label.indexOf("colorbox")?"mpadded":"menclose",[z(e.body,t)]);switch(e.label){case"\\cancel":r.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":r.setAttribute("notation","downdiagonalstrike");break;case"\\phase":r.setAttribute("notation","phasorangle");break;case"\\sout":r.setAttribute("notation","horizontalstrike");break;case"\\fbox":r.setAttribute("notation","box");break;case"\\angl":r.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":var n=t.fontMetrics().fboxsep*t.fontMetrics().ptPerEm;r.setAttribute("width","+"+2*n+"pt"),r.setAttribute("height","+"+2*n+"pt"),r.setAttribute("lspace",n+"pt"),r.setAttribute("voffset",n+"pt"),"\\fcolorbox"===e.label&&(n=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness),r.setAttribute("style","border: "+n+"em solid "+String(e.borderColor)));break;case"\\xcancel":r.setAttribute("notation","updiagonalstrike downdiagonalstrike")}return e.backgroundColor&&r.setAttribute("mathbackground",e.backgroundColor),r}w({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler:function(e,t,r){var n=e.parser,e=e.funcName,i=A(t[0],"color-token").color,t=t[1];return{type:"enclose",mode:n.mode,label:e,backgroundColor:i,body:t}},htmlBuilder:I0,mathmlBuilder:O0}),w({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler:function(e,t,r){var n=e.parser,e=e.funcName,i=A(t[0],"color-token").color,a=A(t[1],"color-token").color,t=t[2];return{type:"enclose",mode:n.mode,label:e,backgroundColor:a,borderColor:i,body:t}},htmlBuilder:I0,mathmlBuilder:O0}),w({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler:function(e,t){return{type:"enclose",mode:e.parser.mode,label:"\\fbox",body:t[0]}}}),w({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler:function(e,t){var r=e.parser,e=e.funcName,t=t[0];return{type:"enclose",mode:r.mode,label:e,body:t}},htmlBuilder:I0,mathmlBuilder:O0}),w({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler:function(e,t){return{type:"enclose",mode:e.parser.mode,label:"\\angl",body:t[0]}}});var R0={};function E0(e){for(var t=e.type,r=e.names,n=e.props,i=e.handler,a=e.htmlBuilder,e=e.mathmlBuilder,o={type:t,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},s=0;s<r.length;++s)R0[r[s]]=o;a&&(ft[t]=a),e&&(gt[t]=e)}var H0={};function T(e,t){H0[e]=t}F0.range=function(e,t){return t?e&&e.loc&&t.loc&&e.loc.lexer===t.loc.lexer?new F0(e.loc.lexer,e.loc.start,t.loc.end):null:e&&e.loc};var L0=F0,D0=(P0.prototype.range=function(e,t){return new P0(t,L0.range(this,e))},P0);function P0(e,t){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=t}function F0(e,t,r){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=t,this.end=r}function V0(e){var t=[];e.consumeSpaces();for(var r=e.fetch().text;"\\hline"===r||"\\hdashline"===r;)e.consume(),t.push("\\hdashline"===r),e.consumeSpaces(),r=e.fetch().text;return t}function G0(e){if(!e.parser.settings.displayMode)throw new $("{"+e.envName+"} can be used only in display mode.")}function U0(e){if(-1===e.indexOf("ed"))return-1===e.indexOf("*")}function Y0(e,t,r){var n=t.hskipBeforeAndAfter,i=t.addJot,a=t.cols,o=t.arraystretch,s=t.colSeparationType,l=t.autoTag,h=t.singleRow,m=t.emptySingleRow,c=t.maxNumCols,t=t.leqno;if(e.gullet.beginGroup(),h||e.gullet.macros.set("\\cr","\\\\\\relax"),!o){var u=e.gullet.expandMacroAsText("\\arraystretch");if(null==u)o=1;else if(!(o=parseFloat(u))||o<0)throw new $("Invalid \\arraystretch: "+u)}e.gullet.beginGroup();var p=[],d=[p],f=[],g=[],y=null!=l?[]:void 0;function b(){l&&e.gullet.macros.set("\\@eqnsw","1",!0)}function x(){y&&(e.gullet.macros.get("\\df@tag")?(y.push(e.subparse([new D0("\\df@tag")])),e.gullet.macros.set("\\df@tag",void 0,!0)):y.push(Boolean(l)&&"1"===e.gullet.macros.get("\\@eqnsw")))}for(b(),g.push(V0(e));;){var v=e.parseExpression(!1,h?"\\end":"\\\\"),w=(e.gullet.endGroup(),e.gullet.beginGroup(),v={type:"ordgroup",mode:e.mode,body:v},r&&(v={type:"styling",mode:e.mode,style:r,body:[v]}),p.push(v),e.fetch().text);if("&"===w){if(c&&p.length===c){if(h||s)throw new $("Too many tab characters: &",e.nextToken);e.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}e.consume()}else{if("\\end"===w){x(),1===p.length&&"styling"===v.type&&0===v.body[0].body.length&&(1<d.length||!m)&&d.pop(),g.length<d.length+1&&g.push([]);break}if("\\\\"!==w)throw new $("Expected & or \\\\ or \\cr or \\end",e.nextToken);e.consume();v=void 0;" "!==e.gullet.future().text&&(v=e.parseSizeGroup(!0)),f.push(v?v.value:null),x(),g.push(V0(e)),d.push(p=[]),b()}}return e.gullet.endGroup(),e.gullet.endGroup(),{type:"array",mode:e.mode,addJot:i,arraystretch:o,body:d,cols:a,rowGaps:f,hskipBeforeAndAfter:n,hLinesBeforeRow:g,colSeparationType:s,tags:y,leqno:t}}function X0(e){return"d"===e.substr(0,1)?"display":"text"}function W0(e,t){var r=e.body.length,H=e.hLinesBeforeRow,n=0,i=new Array(r),a=[],o=Math.max(t.fontMetrics().arrayRuleWidth,t.minRuleThickness),s=1/t.fontMetrics().ptPerEm,l=5*s,h=(e.colSeparationType&&"small"===e.colSeparationType&&(l=t.havingStyle(K.SCRIPT).sizeMultiplier/t.sizeMultiplier*.2778),"CD"===e.colSeparationType?J({number:3,unit:"ex"},t):12*s),L=3*s,D=.7*(s=e.arraystretch*h),P=.3*s,m=0;function F(e){for(var t=0;t<e.length;++t)0<t&&(m+=.25),a.push({pos:m,isDashed:e[t]})}for(F(H[0]),I=0;I<e.body.length;++I){for(var c=e.body[I],u=D,p=P,d=(n<c.length&&(n=c.length),new Array(c.length)),f=0;f<c.length;++f){var g=re(c[f],t);p<g.depth&&(p=g.depth),u<g.height&&(u=g.height),d[f]=g}var V=e.rowGaps[I],y=0;V&&0<(y=J(V,t))&&(p<(y+=P)&&(p=y),y=0),e.addJot&&(p+=L),d.height=u,d.depth=p,m+=u,d.pos=m,m+=p+y,i[I]=d,F(H[I+1])}var b,x,v=m/2+t.fontMetrics().axisHeight,w=e.cols||[],k=[],S=[];if(e.tags&&e.tags.some(function(e){return e}))for(I=0;I<r;++I){var M=i[I],G=M.pos-v,z=e.tags[I],A=void 0;(A=!0===z?ee.makeSpan(["eqn-num"],[],t):!1===z?ee.makeSpan([],[],t):ee.makeSpan([],te(z,t,!0),t)).depth=M.depth,A.height=M.height,S.push({type:"elem",elem:A,shift:G})}for(x=f=0;f<n||x<w.length;++f,++x){for(var T=w[x]||{},U=!0;"separator"===T.type;){if(U||((b=ee.makeSpan(["arraycolsep"],[])).style.width=Q(t.fontMetrics().doubleRuleSep),k.push(b)),"|"!==T.separator&&":"!==T.separator)throw new $("Invalid separator type: "+T.separator);var B="|"===T.separator?"solid":"dashed",C=ee.makeSpan(["vertical-separator"],[],t),B=(C.style.height=Q(m),C.style.borderRightWidth=Q(o),C.style.borderRightStyle=B,C.style.margin="0 "+Q(-o/2),m-v);B&&(C.style.verticalAlign=Q(-B)),k.push(C),T=w[++x]||{},U=!1}if(!(n<=f)){for(var N=void 0,q=((0<f||e.hskipBeforeAndAfter)&&0!==(N=Z.deflt(T.pregap,l))&&((b=ee.makeSpan(["arraycolsep"],[])).style.width=Q(N),k.push(b)),[]),I=0;I<r;++I){var Y,O=i[I],R=O[f];R&&(Y=O.pos-v,R.depth=O.depth,R.height=O.height,q.push({type:"elem",elem:R,shift:Y}))}q=ee.makeVList({positionType:"individualShift",children:q},t),q=ee.makeSpan(["col-align-"+(T.align||"c")],[q]),k.push(q),(f<n-1||e.hskipBeforeAndAfter)&&0!==(N=Z.deflt(T.postgap,l))&&((b=ee.makeSpan(["arraycolsep"],[])).style.width=Q(N),k.push(b))}}if(i=ee.makeSpan(["mtable"],k),0<a.length){for(var X=ee.makeLineSpan("hline",t,o),W=ee.makeLineSpan("hdashline",t,o),E=[{type:"elem",elem:i,shift:0}];0<a.length;){var j=a.pop(),_=j.pos-v;j.isDashed?E.push({type:"elem",elem:W,shift:_}):E.push({type:"elem",elem:X,shift:_})}i=ee.makeVList({positionType:"individualShift",children:E},t)}return 0===S.length?ee.makeSpan(["mord"],[i],t):(h=ee.makeVList({positionType:"individualShift",children:S},t),h=ee.makeSpan(["tag"],[h],t),ee.makeFragment([i,h]))}function j0(e,t){for(var r=[],n=new M.MathNode("mtd",[],["mtr-glue"]),i=new M.MathNode("mtd",[],["mml-eqn-num"]),a=0;a<e.body.length;a++){for(var o=e.body[a],s=[],l=0;l<o.length;l++)s.push(new M.MathNode("mtd",[z(o[l],t)]));e.tags&&e.tags[a]&&(s.unshift(n),s.push(n),e.leqno?s.unshift(i):s.push(i)),r.push(new M.MathNode("mtr",s))}var h=new M.MathNode("mtable",r),m=.5===e.arraystretch?.1:.16+e.arraystretch-1+(e.addJot?.09:0),m=(h.setAttribute("rowspacing",Q(m)),""),c="";if(e.cols&&0<e.cols.length){var u=e.cols,p="",d=!1,f=0,g=u.length;"separator"===u[0].type&&(m+="top ",f=1),"separator"===u[u.length-1].type&&(m+="bottom ",--g);for(var y=f;y<g;y++)"align"===u[y].type?(c+=$0[u[y].align],d&&(p+="none "),d=!0):"separator"===u[y].type&&d&&(p+="|"===u[y].separator?"solid ":"dashed ",d=!1);h.setAttribute("columnalign",c.trim()),/[sd]/.test(p)&&h.setAttribute("columnlines",p.trim())}if("align"===e.colSeparationType){for(var b=e.cols||[],x="",v=1;v<b.length;v++)x+=v%2?"0em ":"1em ";h.setAttribute("columnspacing",x.trim())}else"alignat"===e.colSeparationType||"gather"===e.colSeparationType?h.setAttribute("columnspacing","0em"):"small"===e.colSeparationType?h.setAttribute("columnspacing","0.2778em"):"CD"===e.colSeparationType?h.setAttribute("columnspacing","0.5em"):h.setAttribute("columnspacing","1em");for(var w="",k=e.hLinesBeforeRow,m=(m+=0<k[0].length?"left ":"")+(0<k[k.length-1].length?"right ":""),S=1;S<k.length-1;S++)w+=0===k[S].length?"none ":k[S][0]?"dashed ":"solid ";return/[sd]/.test(w)&&h.setAttribute("rowlines",w.trim()),""!==m&&(h=new M.MathNode("menclose",[h])).setAttribute("notation",m.trim()),e.arraystretch&&e.arraystretch<1&&(h=new M.MathNode("mstyle",[h])).setAttribute("scriptlevel","1"),h}function _0(e,t){-1===e.envName.indexOf("ed")&&G0(e);var i,r=[],n=-1<e.envName.indexOf("at")?"alignat":"align",a="split"===e.envName,n=Y0(e.parser,{cols:r,addJot:!0,autoTag:a?void 0:U0(e.envName),emptySingleRow:!0,colSeparationType:n,maxNumCols:a?2:void 0,leqno:e.parser.settings.leqno},"display"),o=0,s={type:"ordgroup",mode:e.mode,body:[]};if(t[0]&&"ordgroup"===t[0].type){for(var l="",h=0;h<t[0].body.length;h++)l+=A(t[0].body[h],"textord").text;i=Number(l),o=2*i}var m=!o;n.body.forEach(function(e){for(var t=1;t<e.length;t+=2){var r=A(e[t],"styling");A(r.body[0],"ordgroup").body.unshift(s)}if(m)o<e.length&&(o=e.length);else{var n=e.length/2;if(i<n)throw new $("Too many math in a row: expected "+i+", but got "+n,e[0])}});for(var c=0;c<o;++c){var u="r",p=0;c%2==1?u="l":0<c&&m&&(p=1),r[c]={type:"align",align:u,pregap:p,postgap:0}}return n.colSeparationType=m?"align":"alignat",n}var $0={c:"center ",l:"left ",r:"right "},Z0=(E0({type:"array",names:["array","darray"],props:{numArgs:1},handler:function(e,t){t=($t(t[0])?[t[0]]:A(t[0],"ordgroup").body).map(function(e){var t=_t(e).text;if(-1!=="lcr".indexOf(t))return{type:"align",align:t};if("|"===t)return{type:"separator",separator:"|"};if(":"===t)return{type:"separator",separator:":"};throw new $("Unknown column alignment: "+t,e)}),t={cols:t,hskipBeforeAndAfter:!0,maxNumCols:t.length};return Y0(e.parser,t,X0(e.envName))},htmlBuilder:W0,mathmlBuilder:j0}),E0({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler:function(e){var t={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[e.envName.replace("*","")],r="c",n={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if("*"===e.envName.charAt(e.envName.length-1)){var i=e.parser;if(i.consumeSpaces(),"["===i.fetch().text){if(i.consume(),i.consumeSpaces(),r=i.fetch().text,-1==="lcr".indexOf(r))throw new $("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),n.cols=[{type:"align",align:r}]}}i=Y0(e.parser,n,X0(e.envName)),n=Math.max.apply(Math,[0].concat(i.body.map(function(e){return e.length})));return i.cols=new Array(n).fill({type:"align",align:r}),t?{type:"leftright",mode:e.mode,body:[i],left:t[0],right:t[1],rightColor:void 0}:i},htmlBuilder:W0,mathmlBuilder:j0}),E0({type:"array",names:["smallmatrix"],props:{numArgs:0},handler:function(e){e=Y0(e.parser,{arraystretch:.5},"script");return e.colSeparationType="small",e},htmlBuilder:W0,mathmlBuilder:j0}),E0({type:"array",names:["subarray"],props:{numArgs:1},handler:function(e,t){t=($t(t[0])?[t[0]]:A(t[0],"ordgroup").body).map(function(e){var t=_t(e).text;if(-1!=="lc".indexOf(t))return{type:"align",align:t};throw new $("Unknown column alignment: "+t,e)});if(1<t.length)throw new $("{subarray} can contain only one column");if(0<(e=Y0(e.parser,{cols:t,hskipBeforeAndAfter:!1,arraystretch:.5},"script")).body.length&&1<e.body[0].length)throw new $("{subarray} can contain only one column");return e},htmlBuilder:W0,mathmlBuilder:j0}),E0({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler:function(e){var t=Y0(e.parser,{arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},X0(e.envName));return{type:"leftright",mode:e.mode,body:[t],left:-1<e.envName.indexOf("r")?".":"\\{",right:-1<e.envName.indexOf("r")?"\\}":".",rightColor:void 0}},htmlBuilder:W0,mathmlBuilder:j0}),E0({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:_0,htmlBuilder:W0,mathmlBuilder:j0}),E0({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler:function(e){Z.contains(["gather","gather*"],e.envName)&&G0(e);var t={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:U0(e.envName),emptySingleRow:!0,leqno:e.parser.settings.leqno};return Y0(e.parser,t,"display")},htmlBuilder:W0,mathmlBuilder:j0}),E0({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:_0,htmlBuilder:W0,mathmlBuilder:j0}),E0({type:"array",names:["equation","equation*"],props:{numArgs:0},handler:function(e){G0(e);var t={autoTag:U0(e.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:e.parser.settings.leqno};return Y0(e.parser,t,"display")},htmlBuilder:W0,mathmlBuilder:j0}),E0({type:"array",names:["CD"],props:{numArgs:0},handler:function(e){G0(e);var t=e.parser,r=[];for(t.gullet.beginGroup(),t.gullet.macros.set("\\cr","\\\\\\relax"),t.gullet.beginGroup();;){r.push(t.parseExpression(!1,"\\\\")),t.gullet.endGroup(),t.gullet.beginGroup();var n=t.fetch().text;if("&"!==n&&"\\\\"!==n){if("\\end"!==n)throw new $("Expected \\\\ or \\cr or \\end",t.nextToken);0===r[r.length-1].length&&r.pop();break}t.consume()}for(var i,a=[],o=[a],s=0;s<r.length;s++){for(var l=r[s],h={type:"styling",body:[],mode:"math",style:"display"},m=0;m<l.length;m++)if(Qt(l[m])){a.push(h);var c=_t(l[m+=1]).text,u=new Array(2);if(u[0]={type:"ordgroup",mode:"math",body:[]},u[1]={type:"ordgroup",mode:"math",body:[]},!(-1<"=|.".indexOf(c))){if(!(-1<"<>AV".indexOf(c)))throw new $('Expected one of "<>AV=|." after @',l[m]);for(var p=0;p<2;p++){for(var d=!0,f=m+1;f<l.length;f++){if(("mathord"===(i=l[f]).type||"atom"===i.type)&&i.text===c){d=!1,m=f;break}if(Qt(l[f]))throw new $("Missing a "+c+" character to complete a CD arrow.",l[f]);u[p].body.push(l[f])}if(d)throw new $("Missing a "+c+" character to complete a CD arrow.",l[m])}}var g={type:"styling",body:[function(e,t,r){var n=t0[e];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[t[0]],[t[1]]);case"\\uparrow":case"\\downarrow":var i={type:"atom",text:n,mode:"math",family:"rel"},i={type:"ordgroup",mode:"math",body:[r.callFunction("\\\\cdleft",[t[0]],[]),r.callFunction("\\Big",[i],[]),r.callFunction("\\\\cdright",[t[1]],[])]};return r.callFunction("\\\\cdparent",[i],[]);case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":return r.callFunction("\\Big",[{type:"textord",text:"\\Vert",mode:"math"}],[]);default:return{type:"textord",text:" ",mode:"math"}}}(c,u,t)],mode:"math",style:"display"};a.push(g),h={type:"styling",body:[],mode:"math",style:"display"}}else h.body.push(l[m]);s%2==0?a.push(h):a.shift(),o.push(a=[])}return t.gullet.endGroup(),t.gullet.endGroup(),{type:"array",mode:"math",body:o,arraystretch:1,addJot:!0,rowGaps:[null],cols:new Array(o[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25}),colSeparationType:"CD",hLinesBeforeRow:new Array(o.length+1).fill([])}},htmlBuilder:W0,mathmlBuilder:j0}),T("\\nonumber","\\gdef\\@eqnsw{0}"),T("\\notag","\\nonumber"),w({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler:function(e,t){throw new $(e.funcName+" valid only within array environment")}}),R0),K0=(w({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler:function(e,t){var r=e.parser,e=e.funcName,n=t[0];if("ordgroup"!==n.type)throw new $("Invalid environment name",n);for(var i="",a=0;a<n.body.length;++a)i+=A(n.body[a],"textord").text;if("\\begin"!==e)return{type:"environment",mode:r.mode,name:i,nameGroup:n};if(!Z0.hasOwnProperty(i))throw new $("No such environment: "+i,n);var t=Z0[i],e=r.parseArguments("\\begin{"+i+"}",t),o=e.args,e=e.optArgs,s={mode:r.mode,envName:i,parser:r},t=t.handler(s,o,e),s=(r.expect("\\end",!1),r.nextToken),o=A(r.parseFunction(),"environment");if(o.name!==i)throw new $("Mismatch: \\begin{"+i+"} matched by \\end{"+o.name+"}",s);return t}}),ee.makeSpan);function J0(e,t){var r=te(e.body,t,!0);return K0([e.mclass],r,t)}function Q0(e,t){var r,t=S(e.body,t);return"minner"===e.mclass?r=new M.MathNode("mpadded",t):"mord"===e.mclass?e.isCharacterBox?(r=t[0]).type="mi":r=new M.MathNode("mi",t):(e.isCharacterBox?(r=t[0]).type="mo":r=new M.MathNode("mo",t),"mbin"===e.mclass?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):"mpunct"===e.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):"mopen"===e.mclass||"mclose"===e.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0em"):"minner"===e.mclass&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}w({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler:function(e,t){var r=e.parser,e=e.funcName,t=t[0];return{type:"mclass",mode:r.mode,mclass:"m"+e.substr(5),body:k(t),isCharacterBox:Z.isCharacterBox(t)}},htmlBuilder:J0,mathmlBuilder:Q0});function er(e){return"atom"!==(e="ordgroup"===e.type&&e.body.length?e.body[0]:e).type||"bin"!==e.family&&"rel"!==e.family?"mord":"m"+e.family}function tr(e,t){var r=e.font,t=t.withFont(r);return re(e.body,t)}function rr(e,t){var r=e.font,t=t.withFont(r);return z(e.body,t)}w({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler:function(e,t){return{type:"mclass",mode:e.parser.mode,mclass:er(t[0]),body:k(t[1]),isCharacterBox:Z.isCharacterBox(t[1])}}}),w({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler:function(e,t){var r=e.parser,e=e.funcName,n=t[1],t=t[0],i="\\stackrel"!==e?er(n):"mrel",n={type:"op",mode:n.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:"\\stackrel"!==e,body:k(n)},n={type:"supsub",mode:t.mode,base:n,sup:"\\underset"===e?null:t,sub:"\\underset"===e?t:null};return{type:"mclass",mode:r.mode,mclass:i,body:[n],isCharacterBox:Z.isCharacterBox(n)}},htmlBuilder:J0,mathmlBuilder:Q0});function nr(e,t){return"display"===e?t=t.id>=K.SCRIPT.id?t.text():K.DISPLAY:"text"===e&&t.size===K.DISPLAY.size?t=K.TEXT:"script"===e?t=K.SCRIPT:"scriptscript"===e&&(t=K.SCRIPTSCRIPT),t}function ir(e,t){var r=nr(e.size,t.style),n=r.fracNum(),i=r.fracDen(),n=t.havingStyle(n),a=re(e.numer,n,t);e.continued&&(m=8.5/t.fontMetrics().ptPerEm,c=3.5/t.fontMetrics().ptPerEm,a.height=a.height<m?m:a.height,a.depth=a.depth<c?c:a.depth),n=t.havingStyle(i);var o,s,l,h,m=re(e.denom,n,t),c=e.hasBarLine?(s=(h=e.barSize?(s=J(e.barSize,t),ee.makeLineSpan("frac-line",t,s)):ee.makeLineSpan("frac-line",t)).height,h.height):(h=null,s=0,t.fontMetrics().defaultRuleThickness),i=r.size===K.DISPLAY.size||"display"===e.size?(o=t.fontMetrics().num1,l=0<s?3*c:7*c,t.fontMetrics().denom1):(l=0<s?(o=t.fontMetrics().num2,c):(o=t.fontMetrics().num3,3*c),t.fontMetrics().denom2);return c=h?(c=t.fontMetrics().axisHeight,o-a.depth-(c+.5*s)<l&&(o+=l-(o-a.depth-(c+.5*s))),c-.5*s-(m.height-i)<l&&(i+=l-(c-.5*s-(m.height-i))),ee.makeVList({positionType:"individualShift",children:[{type:"elem",elem:m,shift:i},{type:"elem",elem:h,shift:-(c-.5*s)},{type:"elem",elem:a,shift:-o}]},t)):((h=o-a.depth-(m.height-i))<l&&(o+=.5*(l-h),i+=.5*(l-h)),ee.makeVList({positionType:"individualShift",children:[{type:"elem",elem:m,shift:i},{type:"elem",elem:a,shift:-o}]},t)),n=t.havingStyle(r),c.height*=n.sizeMultiplier/t.sizeMultiplier,c.depth*=n.sizeMultiplier/t.sizeMultiplier,s=r.size===K.DISPLAY.size?t.fontMetrics().delim1:(r.size===K.SCRIPTSCRIPT.size?t.havingStyle(K.SCRIPT):t).fontMetrics().delim2,l=null==e.leftDelim?vt(t,["mopen"]):T0.customSizedDelim(e.leftDelim,s,!0,t.havingStyle(r),e.mode,["mopen"]),h=e.continued?ee.makeSpan([]):null==e.rightDelim?vt(t,["mclose"]):T0.customSizedDelim(e.rightDelim,s,!0,t.havingStyle(r),e.mode,["mclose"]),ee.makeSpan(["mord"].concat(n.sizingClasses(t)),[l,ee.makeSpan(["mfrac"],[c]),h],t)}function ar(e,t){var r=new M.MathNode("mfrac",[z(e.numer,t),z(e.denom,t)]),n=(e.hasBarLine?e.barSize&&(n=J(e.barSize,t),r.setAttribute("linethickness",Q(n))):r.setAttribute("linethickness","0px"),nr(e.size,t.style));return n.size!==t.style.size&&(r=new M.MathNode("mstyle",[r]),t=n.size===K.DISPLAY.size?"true":"false",r.setAttribute("displaystyle",t),r.setAttribute("scriptlevel","0")),null!=e.leftDelim||null!=e.rightDelim?(n=[],null!=e.leftDelim&&((t=new M.MathNode("mo",[new M.TextNode(e.leftDelim.replace("\\",""))])).setAttribute("fence","true"),n.push(t)),n.push(r),null!=e.rightDelim&&((t=new M.MathNode("mo",[new M.TextNode(e.rightDelim.replace("\\",""))])).setAttribute("fence","true"),n.push(t)),Ot(n)):r}function or(e){var t=null;return t=0<e.length?"."===(t=e)?null:t:t}function sr(e,t){var r,n,i=t.style,i="supsub"===e.type?(r=e.sup?re(e.sup,t.havingStyle(i.sup()),t):re(e.sub,t.havingStyle(i.sub()),t),A(e.base,"horizBrace")):A(e,"horizBrace"),e=re(i.base,t.havingBaseStyle(K.DISPLAY)),a=Ut(i,t);return(i.isOver?(n=ee.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:e},{type:"kern",size:.1},{type:"elem",elem:a}]},t)).children[0].children[0].children[1]:(n=ee.makeVList({positionType:"bottom",positionData:e.depth+.1+a.height,children:[{type:"elem",elem:a},{type:"kern",size:.1},{type:"elem",elem:e}]},t)).children[0].children[0].children[0]).classes.push("svg-align"),r&&(a=ee.makeSpan(["mord",i.isOver?"mover":"munder"],[n],t),n=i.isOver?ee.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:.2},{type:"elem",elem:r}]},t):ee.makeVList({positionType:"bottom",positionData:a.depth+.2+r.height+r.depth,children:[{type:"elem",elem:r},{type:"kern",size:.2},{type:"elem",elem:a}]},t)),ee.makeSpan(["mord",i.isOver?"mover":"munder"],[n],t)}function lr(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var t=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!t)throw new $("Invalid size: '"+e+"' in \\includegraphics");if(e={number:+(t[1]+t[2]),unit:t[3]},fe(e))return e;throw new $("Invalid unit: '"+e.unit+"' in \\includegraphics.")}function hr(e,t){switch(t.style.size){case K.DISPLAY.size:return e.display;case K.TEXT.size:return e.text;case K.SCRIPT.size:return e.script;case K.SCRIPTSCRIPT.size:return e.scriptscript;default:return e.text}}function mr(e,t,r,n,i,a,o){e=ee.makeSpan([],[e]);var s,l,h=r&&Z.isCharacterBox(r);if(t&&(s={elem:t=re(t,n.havingStyle(i.sup()),n),kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-t.depth)}),r&&(l={elem:t=re(r,n.havingStyle(i.sub()),n),kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-t.height)}),s&&l)var r=n.fontMetrics().bigOpSpacing5+l.elem.height+l.elem.depth+l.kern+e.depth+o,m=ee.makeVList({positionType:"bottom",positionData:r,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:l.elem,marginLeft:Q(-a)},{type:"kern",size:l.kern},{type:"elem",elem:e},{type:"kern",size:s.kern},{type:"elem",elem:s.elem,marginLeft:Q(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n);else if(l){i=e.height-o;m=ee.makeVList({positionType:"top",positionData:i,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:l.elem,marginLeft:Q(-a)},{type:"kern",size:l.kern},{type:"elem",elem:e}]},n)}else{if(!s)return e;t=e.depth+o;m=ee.makeVList({positionType:"bottom",positionData:t,children:[{type:"elem",elem:e},{type:"kern",size:s.kern},{type:"elem",elem:s.elem,marginLeft:Q(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}return r=[m],l&&0!==a&&!h&&((i=ee.makeSpan(["mspace"],[],n)).style.marginRight=Q(a),r.unshift(i)),ee.makeSpan(["mop","op-limits"],r,n)}function cr(e,t){var r,n,i,a=!1,e=("supsub"===e.type?(r=e.sup,n=e.sub,i=A(e.base,"op"),a=!0):i=A(e,"op"),t.style),o=!1;if(e.size===K.DISPLAY.size&&i.symbol&&!Z.contains(gr,i.name)&&(o=!0),i.symbol){var s,l=o?"Size2-Regular":"Size1-Regular",h="";"\\oiint"!==i.name&&"\\oiiint"!==i.name||(h=i.name.substr(1),i.name="oiint"===h?"\\iint":"\\iiint"),l=ee.makeSymbol(i.name,l,"math",t,["mop","op-symbol",o?"large-op":"small-op"]),0<h.length&&(s=l.italic,m=ee.staticSvg(h+"Size"+(o?"2":"1"),t),l=ee.makeVList({positionType:"individualShift",children:[{type:"elem",elem:l,shift:0},{type:"elem",elem:m,shift:o?.08:0}]},t),i.name="\\"+h,l.classes.unshift("mop"),l.italic=s)}else if(i.body){var m=te(i.body,t,!0);1===m.length&&m[0]instanceof b?(l=m[0]).classes[0]="mop":l=ee.makeSpan(["mop"],m,t)}else{for(var c=[],u=1;u<i.name.length;u++)c.push(ee.mathsym(i.name[u],i.mode,t));l=ee.makeSpan(["mop"],c,t)}return h=o=0,(l instanceof b||"\\oiint"===i.name||"\\oiiint"===i.name)&&!i.suppressBaseShift&&(o=(l.height-l.depth)/2-t.fontMetrics().axisHeight,h=l.italic),a?mr(l,r,n,t,e,h,o):(o&&(l.style.position="relative",l.style.top=Q(o)),l)}function ur(e,t){var r;return e.symbol?(r=new Ht("mo",[It(e.name,e.mode)]),Z.contains(gr,e.name)&&r.setAttribute("largeop","false")):r=e.body?new Ht("mo",S(e.body,t)):(r=new Ht("mi",[new Lt(e.name.slice(1))]),t=new Ht("mo",[It("","text")]),e.parentIsSupSub?new Ht("mrow",[r,t]):qt([r,t])),r}function pr(e,t){var r,n,i,a,o=!1;if("supsub"===e.type?(r=e.sup,n=e.sub,i=A(e.base,"operatorname"),o=!0):i=A(e,"operatorname"),0<i.body.length){for(var e=i.body.map(function(e){var t=e.text;return"string"==typeof t?{type:"textord",mode:e.mode,text:t}:e}),s=te(e,t.withFont("mathrm"),!0),l=0;l<s.length;l++){var h=s[l];h instanceof b&&(h.text=h.text.replace(/\u2212/,"-").replace(/\u2217/,"*"))}a=ee.makeSpan(["mop"],s,t)}else a=ee.makeSpan(["mop"],[],t);return o?mr(a,r,n,t,t.style,0,0):a}var dr={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"},fr=(w({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:function(e,t){var r=e.parser,e=e.funcName,t=bt(t[0]);return{type:"font",mode:r.mode,font:(e=e in dr?dr[e]:e).slice(1),body:t}},htmlBuilder:tr,mathmlBuilder:rr}),w({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:function(e,t){var e=e.parser,t=t[0],r=Z.isCharacterBox(t);return{type:"mclass",mode:e.mode,mclass:er(t),body:[{type:"font",mode:e.mode,font:"boldsymbol",body:t}],isCharacterBox:r}}}),w({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:function(e,t){var r=e.parser,n=e.funcName,e=e.breakOnTokenText,i=r.mode,e=r.parseExpression(!0,e);return{type:"font",mode:i,font:"math"+n.slice(1),body:{type:"ordgroup",mode:r.mode,body:e}}},htmlBuilder:tr,mathmlBuilder:rr}),w({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:function(e,t){var r,n=e.parser,e=e.funcName,i=t[0],t=t[1],a=null,o=null,s="auto";switch(e){case"\\dfrac":case"\\frac":case"\\tfrac":r=!0;break;case"\\\\atopfrac":r=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":r=!1,a="(",o=")";break;case"\\\\bracefrac":r=!1,a="\\{",o="\\}";break;case"\\\\brackfrac":r=!1,a="[",o="]";break;default:throw new Error("Unrecognized genfrac command")}switch(e){case"\\dfrac":case"\\dbinom":s="display";break;case"\\tfrac":case"\\tbinom":s="text"}return{type:"genfrac",mode:n.mode,continued:!1,numer:i,denom:t,hasBarLine:r,leftDelim:a,rightDelim:o,size:s,barSize:null}},htmlBuilder:ir,mathmlBuilder:ar}),w({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:function(e,t){var r=e.parser,e=(e.funcName,t[0]),t=t[1];return{type:"genfrac",mode:r.mode,continued:!0,numer:e,denom:t,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}}}),w({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler:function(e){var t,r=e.parser,n=e.funcName,e=e.token;switch(n){case"\\over":t="\\frac";break;case"\\choose":t="\\binom";break;case"\\atop":t="\\\\atopfrac";break;case"\\brace":t="\\\\bracefrac";break;case"\\brack":t="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:r.mode,replaceWith:t,token:e}}}),["display","text","script","scriptscript"]),gr=(w({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler:function(e,t){var r,e=e.parser,n=t[4],i=t[5],a=bt(t[0]),a="atom"===a.type&&"open"===a.family?or(a.text):null,o=bt(t[1]),o="atom"===o.type&&"close"===o.family?or(o.text):null,s=A(t[2],"size"),l=null,s=!!s.isBlank||0<(l=s.value).number,h="auto",t=t[3];return"ordgroup"===t.type?0<t.body.length&&(r=A(t.body[0],"textord"),h=fr[Number(r.text)]):(t=A(t,"textord"),h=fr[Number(t.text)]),{type:"genfrac",mode:e.mode,numer:n,denom:i,continued:!1,hasBarLine:s,barSize:l,leftDelim:a,rightDelim:o,size:h}},htmlBuilder:ir,mathmlBuilder:ar}),w({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler:function(e,t){var r=e.parser,e=(e.funcName,e.token);return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:A(t[0],"size").value,token:e}}}),w({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:function(e,t){var r=e.parser,e=(e.funcName,t[0]),n=function(e){if(e)return e;throw new Error("Expected non-null, but got "+String(e))}(A(t[1],"infix").size),t=t[2],i=0<n.number;return{type:"genfrac",mode:r.mode,numer:e,denom:t,continued:!1,hasBarLine:i,barSize:n,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:ir,mathmlBuilder:ar}),w({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler:function(e,t){var r=e.parser,e=e.funcName;return{type:"horizBrace",mode:r.mode,label:e,isOver:/^\\over/.test(e),base:t[0]}},htmlBuilder:sr,mathmlBuilder:function(e,t){var r=Gt(e.label);return new M.MathNode(e.isOver?"mover":"munder",[z(e.base,t),r])}}),w({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:function(e,t){var e=e.parser,r=t[1],t=A(t[0],"url").url;return e.settings.isTrusted({command:"\\href",url:t})?{type:"href",mode:e.mode,href:t,body:k(r)}:e.formatUnsupportedCmd("\\href")},htmlBuilder:function(e,t){var r=te(e.body,t,!1);return ee.makeAnchor(e.href,[],r,t)},mathmlBuilder:function(e,t){t=Et(e.body,t);return(t=t instanceof Ht?t:new Ht("mrow",[t])).setAttribute("href",e.href),t}}),w({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:function(e,t){var e=e.parser,r=A(t[0],"url").url;if(!e.settings.isTrusted({command:"\\url",url:r}))return e.formatUnsupportedCmd("\\url");for(var n=[],i=0;i<r.length;i++){var a=r[i];"~"===a&&(a="\\textasciitilde"),n.push({type:"textord",mode:"text",text:a})}t={type:"text",mode:e.mode,font:"\\texttt",body:n};return{type:"href",mode:e.mode,href:r,body:k(t)}}}),w({type:"hbox",names:["\\hbox"],props:{numArgs:1,argTypes:["text"],allowedInText:!0,primitive:!0},handler:function(e,t){return{type:"hbox",mode:e.parser.mode,body:k(t[0])}},htmlBuilder:function(e,t){e=te(e.body,t,!1);return ee.makeFragment(e)},mathmlBuilder:function(e,t){return new M.MathNode("mrow",S(e.body,t))}}),w({type:"html",names:["\\htmlClass","\\htmlId","\\htmlStyle","\\htmlData"],props:{numArgs:2,argTypes:["raw","original"],allowedInText:!0},handler:function(e,t){var r,n=e.parser,i=e.funcName,a=(e.token,A(t[0],"raw").string),e=t[1],o=(n.settings.strict&&n.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode"),{});switch(i){case"\\htmlClass":r={command:"\\htmlClass",class:o.class=a};break;case"\\htmlId":r={command:"\\htmlId",id:o.id=a};break;case"\\htmlStyle":r={command:"\\htmlStyle",style:o.style=a};break;case"\\htmlData":for(var s=a.split(","),l=0;l<s.length;l++){var h=s[l].split("=");if(2!==h.length)throw new $("Error parsing key-value for \\htmlData");o["data-"+h[0].trim()]=h[1].trim()}r={command:"\\htmlData",attributes:o};break;default:throw new Error("Unrecognized html command")}return n.settings.isTrusted(r)?{type:"html",mode:n.mode,attributes:o,body:k(e)}:n.formatUnsupportedCmd(i)},htmlBuilder:function(e,t){var r,n=te(e.body,t,!1),i=["enclosing"],a=(e.attributes.class&&i.push.apply(i,e.attributes.class.trim().split(/\s+/)),ee.makeSpan(i,n,t));for(r in e.attributes)"class"!==r&&e.attributes.hasOwnProperty(r)&&a.setAttribute(r,e.attributes[r]);return a},mathmlBuilder:function(e,t){return Et(e.body,t)}}),w({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:function(e,t){return{type:"htmlmathml",mode:e.parser.mode,html:k(t[0]),mathml:k(t[1])}},htmlBuilder:function(e,t){e=te(e.html,t,!1);return ee.makeFragment(e)},mathmlBuilder:function(e,t){return Et(e.mathml,t)}}),w({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:function(e,t,r){var e=e.parser,n={number:0,unit:"em"},i={number:.9,unit:"em"},a={number:0,unit:"em"},o="";if(r[0])for(var s=A(r[0],"raw").string.split(","),l=0;l<s.length;l++){var h=s[l].split("=");if(2===h.length){var m=h[1].trim();switch(h[0].trim()){case"alt":o=m;break;case"width":n=lr(m);break;case"height":i=lr(m);break;case"totalheight":a=lr(m);break;default:throw new $("Invalid key: '"+h[0]+"' in \\includegraphics.")}}}r=A(t[0],"url").url;return""===o&&(o=(o=(o=r).replace(/^.*[\\/]/,"")).substring(0,o.lastIndexOf("."))),e.settings.isTrusted({command:"\\includegraphics",url:r})?{type:"includegraphics",mode:e.mode,alt:o,width:n,height:i,totalheight:a,src:r}:e.formatUnsupportedCmd("\\includegraphics")},htmlBuilder:function(e,t){var r=J(e.height,t),n=0,i=(0<e.totalheight.number&&(n=J(e.totalheight,t)-r),0),t=(0<e.width.number&&(i=J(e.width,t)),{height:Q(r+n)}),i=(0<i&&(t.width=Q(i)),0<n&&(t.verticalAlign=Q(-n)),new ze(e.src,e.alt,t));return i.height=r,i.depth=n,i},mathmlBuilder:function(e,t){var r=new M.MathNode("mglyph",[]),n=(r.setAttribute("alt",e.alt),J(e.height,t)),i=0;return 0<e.totalheight.number&&(i=J(e.totalheight,t)-n,r.setAttribute("valign",Q(-i))),r.setAttribute("height",Q(n+i)),0<e.width.number&&(n=J(e.width,t),r.setAttribute("width",Q(n))),r.setAttribute("src",e.src),r}}),w({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler:function(e,t){var r,n,i=e.parser,e=e.funcName,t=A(t[0],"size");return i.settings.strict&&(r="m"===e[1],n="mu"===t.value.unit,r?(n||i.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+e+" supports only mu units, not "+t.value.unit+" units"),"math"!==i.mode&&i.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+e+" works only in math mode")):n&&i.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+e+" doesn't support mu units")),{type:"kern",mode:i.mode,dimension:t.value}},htmlBuilder:function(e,t){return ee.makeGlue(e.dimension,t)},mathmlBuilder:function(e,t){e=J(e.dimension,t);return new M.SpaceNode(e)}}),w({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){var r=e.parser,e=e.funcName,t=t[0];return{type:"lap",mode:r.mode,alignment:e.slice(5),body:t}},htmlBuilder:function(e,t){var r="clap"===e.alignment?(r=ee.makeSpan([],[re(e.body,t)]),ee.makeSpan(["inner"],[r],t)):ee.makeSpan(["inner"],[re(e.body,t)]),n=ee.makeSpan(["fix"],[]),e=ee.makeSpan([e.alignment],[r,n],t),r=ee.makeSpan(["strut"]);return r.style.height=Q(e.height+e.depth),e.depth&&(r.style.verticalAlign=Q(-e.depth)),e.children.unshift(r),e=ee.makeSpan(["thinbox"],[e],t),ee.makeSpan(["mord","vbox"],[e],t)},mathmlBuilder:function(e,t){t=new M.MathNode("mpadded",[z(e.body,t)]);return"rlap"!==e.alignment&&(e="llap"===e.alignment?"-1":"-0.5",t.setAttribute("lspace",e+"width")),t.setAttribute("width","0px"),t}}),w({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler:function(e,t){var r=e.funcName,e=e.parser,n=e.mode,r=(e.switchMode("math"),"\\("===r?"\\)":"$"),i=e.parseExpression(!1,r);return e.expect(r),e.switchMode(n),{type:"styling",mode:e.mode,style:"text",body:i}}}),w({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler:function(e,t){throw new $("Mismatched "+e.funcName)}}),w({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:function(e,t){return{type:"mathchoice",mode:e.parser.mode,display:k(t[0]),text:k(t[1]),script:k(t[2]),scriptscript:k(t[3])}},htmlBuilder:function(e,t){e=hr(e,t),e=te(e,t,!1);return ee.makeFragment(e)},mathmlBuilder:function(e,t){e=hr(e,t);return Et(e,t)}}),["\\smallint"]),yr={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"},br=(w({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:function(e,t){var r=e.parser,e=e.funcName;return 1===e.length&&(e=yr[e]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:e}},htmlBuilder:cr,mathmlBuilder:ur}),w({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:function(e,t){e=e.parser,t=t[0];return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:k(t)}},htmlBuilder:cr,mathmlBuilder:ur}),{"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"});w({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler:function(e){var t=e.parser,e=e.funcName;return{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:e}},htmlBuilder:cr,mathmlBuilder:ur}),w({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler:function(e){var t=e.parser,e=e.funcName;return{type:"op",mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:e}},htmlBuilder:cr,mathmlBuilder:ur}),w({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0},handler:function(e){var t=e.parser,e=e.funcName;return 1===e.length&&(e=br[e]),{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:e}},htmlBuilder:cr,mathmlBuilder:ur});function xr(e,t,r){for(var n=te(e,t,!1),i=t.sizeMultiplier/r.sizeMultiplier,a=0;a<n.length;a++){var o=n[a].classes.indexOf("sizing");o<0?Array.prototype.push.apply(n[a].classes,t.sizingClasses(r)):n[a].classes[o+1]==="reset-size"+t.size&&(n[a].classes[o+1]="reset-size"+r.size),n[a].height*=i,n[a].depth*=i}return ee.makeFragment(n)}w({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:function(e,t){var r=e.parser,e=e.funcName,t=t[0];return{type:"operatorname",mode:r.mode,body:k(t),alwaysHandleSupSub:"\\operatornamewithlimits"===e,limits:!1,parentIsSupSub:!1}},htmlBuilder:pr,mathmlBuilder:function(e,t){for(var r=S(e.body,t.withFont("mathrm")),n=!0,i=0;i<r.length;i++){var a=r[i];if(!(a instanceof M.SpaceNode))if(a instanceof M.MathNode)switch(a.type){case"mi":case"mn":case"ms":case"mspace":case"mtext":break;case"mo":var o=a.children[0];1===a.children.length&&o instanceof M.TextNode?o.text=o.text.replace(/\u2212/,"-").replace(/\u2217/,"*"):n=!1;break;default:n=!1}else n=!1}n&&(t=r.map(function(e){return e.toText()}).join(""),r=[new M.TextNode(t)]);var t=new M.MathNode("mi",r),s=(t.setAttribute("mathvariant","normal"),new M.MathNode("mo",[It("","text")]));return e.parentIsSupSub?new M.MathNode("mrow",[t,s]):M.newDocumentFragment([t,s])}}),T("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@"),yt({type:"ordgroup",htmlBuilder:function(e,t){return e.semisimple?ee.makeFragment(te(e.body,t,!1)):ee.makeSpan(["mord"],te(e.body,t,!0),t)},mathmlBuilder:function(e,t){return Et(e.body,t,!0)}}),w({type:"overline",names:["\\overline"],props:{numArgs:1},handler:function(e,t){e=e.parser,t=t[0];return{type:"overline",mode:e.mode,body:t}},htmlBuilder:function(e,t){var e=re(e.body,t.havingCrampedStyle()),r=ee.makeLineSpan("overline-line",t),n=t.fontMetrics().defaultRuleThickness,e=ee.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:e},{type:"kern",size:3*n},{type:"elem",elem:r},{type:"kern",size:n}]},t);return ee.makeSpan(["mord","overline"],[e],t)},mathmlBuilder:function(e,t){var r=new M.MathNode("mo",[new M.TextNode("‾")]),e=(r.setAttribute("stretchy","true"),new M.MathNode("mover",[z(e.body,t),r]));return e.setAttribute("accent","true"),e}}),w({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){e=e.parser,t=t[0];return{type:"phantom",mode:e.mode,body:k(t)}},htmlBuilder:function(e,t){e=te(e.body,t.withPhantom(),!1);return ee.makeFragment(e)},mathmlBuilder:function(e,t){e=S(e.body,t);return new M.MathNode("mphantom",e)}}),w({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){e=e.parser,t=t[0];return{type:"hphantom",mode:e.mode,body:t}},htmlBuilder:function(e,t){var r=ee.makeSpan([],[re(e.body,t.withPhantom())]);if(r.height=0,r.depth=0,r.children)for(var n=0;n<r.children.length;n++)r.children[n].height=0,r.children[n].depth=0;return r=ee.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r}]},t),ee.makeSpan(["mord"],[r],t)},mathmlBuilder:function(e,t){e=S(k(e.body),t),t=new M.MathNode("mphantom",e),e=new M.MathNode("mpadded",[t]);return e.setAttribute("height","0px"),e.setAttribute("depth","0px"),e}}),w({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){e=e.parser,t=t[0];return{type:"vphantom",mode:e.mode,body:t}},htmlBuilder:function(e,t){var e=ee.makeSpan(["inner"],[re(e.body,t.withPhantom())]),r=ee.makeSpan(["fix"],[]);return ee.makeSpan(["mord","rlap"],[e,r],t)},mathmlBuilder:function(e,t){e=S(k(e.body),t),t=new M.MathNode("mphantom",e),e=new M.MathNode("mpadded",[t]);return e.setAttribute("width","0px"),e}}),w({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler:function(e,t){var e=e.parser,r=A(t[0],"size").value,t=t[1];return{type:"raisebox",mode:e.mode,dy:r,body:t}},htmlBuilder:function(e,t){var r=re(e.body,t),e=J(e.dy,t);return ee.makeVList({positionType:"shift",positionData:-e,children:[{type:"elem",elem:r}]},t)},mathmlBuilder:function(e,t){t=new M.MathNode("mpadded",[z(e.body,t)]),e=e.dy.number+e.dy.unit;return t.setAttribute("voffset",e),t}}),w({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0},handler:function(e){return{type:"internal",mode:e.parser.mode}}}),w({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,argTypes:["size","size","size"]},handler:function(e,t,r){var e=e.parser,r=r[0],n=A(t[0],"size"),t=A(t[1],"size");return{type:"rule",mode:e.mode,shift:r&&A(r,"size").value,width:n.value,height:t.value}},htmlBuilder:function(e,t){var r=ee.makeSpan(["mord","rule"],[],t),n=J(e.width,t),i=J(e.height,t),e=e.shift?J(e.shift,t):0;return r.style.borderRightWidth=Q(n),r.style.borderTopWidth=Q(i),r.style.bottom=Q(e),r.width=n,r.height=i+e,r.depth=-e,r.maxFontSize=1.125*i*t.sizeMultiplier,r},mathmlBuilder:function(e,t){var r=J(e.width,t),n=J(e.height,t),e=e.shift?J(e.shift,t):0,t=t.color&&t.getColor()||"black",i=new M.MathNode("mspace"),t=(i.setAttribute("mathbackground",t),i.setAttribute("width",Q(r)),i.setAttribute("height",Q(n)),new M.MathNode("mpadded",[i]));return 0<=e?t.setAttribute("height",Q(e)):(t.setAttribute("height",Q(e)),t.setAttribute("depth",Q(-e))),t.setAttribute("voffset",Q(e)),t}});function vr(){var e=new M.MathNode("mtd",[]);return e.setAttribute("width","50%"),e}function wr(e,t){return(e=e.font)?Tr[e]?t.withTextFontFamily(Tr[e]):Br[e]?t.withTextFontWeight(Br[e]):t.withTextFontShape(Cr[e]):t}var kr=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"],Sr=(w({type:"sizing",names:kr,props:{numArgs:0,allowedInText:!0},handler:function(e,t){var r=e.breakOnTokenText,n=e.funcName,e=e.parser,r=e.parseExpression(!1,r);return{type:"sizing",mode:e.mode,size:kr.indexOf(n)+1,body:r}},htmlBuilder:function(e,t){var r=t.havingSize(e.size);return xr(e.body,r,t)},mathmlBuilder:function(e,t){t=t.havingSize(e.size),e=S(e.body,t),e=new M.MathNode("mstyle",e);return e.setAttribute("mathsize",Q(t.sizeMultiplier)),e}}),w({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:function(e,t,r){var e=e.parser,n=!1,i=!1,a=r[0]&&A(r[0],"ordgroup");if(a)for(var o,s=0;s<a.body.length;++s)if("t"===(o=a.body[s].text))n=!0;else{if("b"!==o){i=n=!1;break}i=!0}else i=n=!0;r=t[0];return{type:"smash",mode:e.mode,body:r,smashHeight:n,smashDepth:i}},htmlBuilder:function(e,t){var r=ee.makeSpan([],[re(e.body,t)]);if(!e.smashHeight&&!e.smashDepth)return r;if(e.smashHeight&&(r.height=0,r.children))for(var n=0;n<r.children.length;n++)r.children[n].height=0;if(e.smashDepth&&(r.depth=0,r.children))for(var i=0;i<r.children.length;i++)r.children[i].depth=0;e=ee.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r}]},t);return ee.makeSpan(["mord"],[e],t)},mathmlBuilder:function(e,t){t=new M.MathNode("mpadded",[z(e.body,t)]);return e.smashHeight&&t.setAttribute("height","0px"),e.smashDepth&&t.setAttribute("depth","0px"),t}}),w({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler:function(e,t,r){e=e.parser,r=r[0],t=t[0];return{type:"sqrt",mode:e.mode,body:t,index:r}},htmlBuilder:function(e,t){var r=re(e.body,t.havingCrampedStyle()),n=(0===r.height&&(r.height=t.fontMetrics().xHeight),r=ee.wrapFragment(r,t),t.fontMetrics().defaultRuleThickness),i=n,i=n+(i=t.style.id<K.TEXT.id?t.fontMetrics().xHeight:i)/4,n=r.height+r.depth+i+n,n=T0.sqrtImage(n,t),a=n.span,o=n.ruleWidth,n=n.advanceWidth,s=a.height-o,s=(s>r.height+r.depth+i&&(i=(i+s-r.height-r.depth)/2),a.height-r.height-i-o),i=(r.style.paddingLeft=Q(n),ee.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+s)},{type:"elem",elem:a},{type:"kern",size:o}]},t));return e.index?(n=t.havingStyle(K.SCRIPTSCRIPT),r=re(e.index,n,t),s=.6*(i.height-i.depth),a=ee.makeVList({positionType:"shift",positionData:-s,children:[{type:"elem",elem:r}]},t),o=ee.makeSpan(["root"],[a]),ee.makeSpan(["mord","sqrt"],[o,i],t)):ee.makeSpan(["mord","sqrt"],[i],t)},mathmlBuilder:function(e,t){var r=e.body,e=e.index;return e?new M.MathNode("mroot",[z(r,t),z(e,t)]):new M.MathNode("msqrt",[z(r,t)])}}),{display:K.DISPLAY,text:K.TEXT,script:K.SCRIPT,scriptscript:K.SCRIPTSCRIPT}),Mr=(w({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler:function(e,t){var r=e.breakOnTokenText,n=e.funcName,e=e.parser,r=e.parseExpression(!0,r),n=n.slice(1,n.length-5);return{type:"styling",mode:e.mode,style:n,body:r}},htmlBuilder:function(e,t){var r=Sr[e.style],r=t.havingStyle(r).withFont("");return xr(e.body,r,t)},mathmlBuilder:function(e,t){var r=Sr[e.style],t=t.havingStyle(r),r=S(e.body,t),t=new M.MathNode("mstyle",r),r={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]}[e.style];return t.setAttribute("scriptlevel",r[0]),t.setAttribute("displaystyle",r[1]),t}}),yt({type:"supsub",htmlBuilder:function(e,t){r=t;var r=(o=(a=e).base)?"op"===o.type?o.limits&&(r.style.size===K.DISPLAY.size||o.alwaysHandleSupSub)?cr:null:"operatorname"===o.type?o.alwaysHandleSupSub&&(r.style.size===K.DISPLAY.size||o.limits)?pr:null:"accent"===o.type?Z.isCharacterBox(o.base)?Zt:null:"horizBrace"===o.type&&!a.sub===o.isOver?sr:null:null;if(r)return r(e,t);var n,i,a=e.base,o=e.sup,r=e.sub,s=re(a,t),l=t.fontMetrics(),h=0,m=0,a=a&&Z.isCharacterBox(a),c=(o&&(c=t.havingStyle(t.style.sup()),n=re(o,c,t),a||(h=s.height-c.fontMetrics().supDrop*c.sizeMultiplier/t.sizeMultiplier)),r&&(o=t.havingStyle(t.style.sub()),i=re(r,o,t),a||(m=s.depth+o.fontMetrics().subDrop*o.sizeMultiplier/t.sizeMultiplier)),t.style===K.DISPLAY?l.sup1:t.style.cramped?l.sup3:l.sup2),r=t.sizeMultiplier,a=Q(.5/l.ptPerEm/r),o=null;if(i&&(r=e.base&&"op"===e.base.type&&e.base.name&&("\\oiint"===e.base.name||"\\oiiint"===e.base.name),(s instanceof b||r)&&(o=Q(-s.italic))),n&&i){h=Math.max(h,c,n.depth+.25*l.xHeight),m=Math.max(m,l.sub2);e=4*l.defaultRuleThickness;h-n.depth-(i.height-m)<e&&(m=e-(h-n.depth)+i.height,0<(r=.8*l.xHeight-(h-n.depth))&&(h+=r,m-=r));var u=ee.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:m,marginRight:a,marginLeft:o},{type:"elem",elem:n,shift:-h,marginRight:a}]},t)}else if(i)m=Math.max(m,l.sub1,i.height-.8*l.xHeight),u=ee.makeVList({positionType:"shift",positionData:m,children:[{type:"elem",elem:i,marginLeft:o,marginRight:a}]},t);else{if(!n)throw new Error("supsub must have either sup or sub.");h=Math.max(h,c,n.depth+.25*l.xHeight),u=ee.makeVList({positionType:"shift",positionData:-h,children:[{type:"elem",elem:n,marginRight:a}]},t)}e=Bt(s,"right")||"mord";return ee.makeSpan([e],[s,ee.makeSpan(["msupsub"],[u])],t)},mathmlBuilder:function(e,t){var r=!1;e.base&&"horizBrace"===e.base.type&&!!e.sup===e.base.isOver&&(r=!0,n=e.base.isOver),!e.base||"op"!==e.base.type&&"operatorname"!==e.base.type||(e.base.parentIsSupSub=!0);var n,i=[z(e.base,t)];return e.sub&&i.push(z(e.sub,t)),e.sup&&i.push(z(e.sup,t)),n=r?n?"mover":"munder":e.sub?e.sup?(r=e.base)&&"op"===r.type&&r.limits&&t.style===K.DISPLAY||r&&"operatorname"===r.type&&r.alwaysHandleSupSub&&(t.style===K.DISPLAY||r.limits)?"munderover":"msubsup":(n=e.base)&&"op"===n.type&&n.limits&&(t.style===K.DISPLAY||n.alwaysHandleSupSub)||n&&"operatorname"===n.type&&n.alwaysHandleSupSub&&(n.limits||t.style===K.DISPLAY)?"munder":"msub":(r=e.base)&&"op"===r.type&&r.limits&&(t.style===K.DISPLAY||r.alwaysHandleSupSub)||r&&"operatorname"===r.type&&r.alwaysHandleSupSub&&(r.limits||t.style===K.DISPLAY)?"mover":"msup",new M.MathNode(n,i)}}),yt({type:"atom",htmlBuilder:function(e,t){return ee.mathsym(e.text,e.mode,t,["m"+e.family])},mathmlBuilder:function(e,t){var r=new M.MathNode("mo",[It(e.text,e.mode)]);return"bin"===e.family?"bold-italic"===(t=Rt(e,t))&&r.setAttribute("mathvariant",t):"punct"===e.family?r.setAttribute("separator","true"):"open"!==e.family&&"close"!==e.family||r.setAttribute("stretchy","false"),r}}),{mi:"italic",mn:"normal",mtext:"normal"}),zr=(yt({type:"mathord",htmlBuilder:function(e,t){return ee.makeOrd(e,t,"mathord")},mathmlBuilder:function(e,t){var r=new M.MathNode("mi",[It(e.text,e.mode,t)]),e=Rt(e,t)||"italic";return e!==Mr[r.type]&&r.setAttribute("mathvariant",e),r}}),yt({type:"textord",htmlBuilder:function(e,t){return ee.makeOrd(e,t,"textord")},mathmlBuilder:function(e,t){var r=It(e.text,e.mode,t),t=Rt(e,t)||"normal",e="text"===e.mode?new M.MathNode("mtext",[r]):/[0-9]/.test(e.text)?new M.MathNode("mn",[r]):"\\prime"===e.text?new M.MathNode("mo",[r]):new M.MathNode("mi",[r]);return t!==Mr[e.type]&&e.setAttribute("mathvariant",t),e}}),{"\\nobreak":"nobreak","\\allowbreak":"allowbreak"}),Ar={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}},Tr=(yt({type:"spacing",htmlBuilder:function(e,t){var r,n;if(Ar.hasOwnProperty(e.text))return r=Ar[e.text].className||"","text"===e.mode?((n=ee.makeOrd(e,t,"textord")).classes.push(r),n):ee.makeSpan(["mspace",r],[ee.mathsym(e.text,e.mode,t)],t);if(zr.hasOwnProperty(e.text))return ee.makeSpan(["mspace",zr[e.text]],[],t);throw new $('Unknown type of space "'+e.text+'"')},mathmlBuilder:function(e,t){if(Ar.hasOwnProperty(e.text))return new M.MathNode("mtext",[new M.TextNode(" ")]);if(zr.hasOwnProperty(e.text))return new M.MathNode("mspace");throw new $('Unknown type of space "'+e.text+'"')}}),yt({type:"tag",mathmlBuilder:function(e,t){e=new M.MathNode("mtable",[new M.MathNode("mtr",[vr(),new M.MathNode("mtd",[Et(e.body,t)]),vr(),new M.MathNode("mtd",[Et(e.tag,t)])])]);return e.setAttribute("width","100%"),e}}),{"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"}),Br={"\\textbf":"textbf","\\textmd":"textmd"},Cr={"\\textit":"textit","\\textup":"textup"},Nr=(w({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler:function(e,t){var r=e.parser,e=e.funcName,t=t[0];return{type:"text",mode:r.mode,body:k(t),font:e}},htmlBuilder:function(e,t){t=wr(e,t),e=te(e.body,t,!0);return ee.makeSpan(["mord","text"],e,t)},mathmlBuilder:function(e,t){t=wr(e,t);return Et(e.body,t)}}),w({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){return{type:"underline",mode:e.parser.mode,body:t[0]}},htmlBuilder:function(e,t){var e=re(e.body,t),r=ee.makeLineSpan("underline-line",t),n=t.fontMetrics().defaultRuleThickness,r=ee.makeVList({positionType:"top",positionData:e.height,children:[{type:"kern",size:n},{type:"elem",elem:r},{type:"kern",size:3*n},{type:"elem",elem:e}]},t);return ee.makeSpan(["mord","underline"],[r],t)},mathmlBuilder:function(e,t){var r=new M.MathNode("mo",[new M.TextNode("‾")]),e=(r.setAttribute("stretchy","true"),new M.MathNode("munder",[z(e.body,t),r]));return e.setAttribute("accentunder","true"),e}}),w({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler:function(e,t){return{type:"vcenter",mode:e.parser.mode,body:t[0]}},htmlBuilder:function(e,t){var e=re(e.body,t),r=t.fontMetrics().axisHeight,r=.5*(e.height-r-(e.depth+r));return ee.makeVList({positionType:"shift",positionData:r,children:[{type:"elem",elem:e}]},t)},mathmlBuilder:function(e,t){return new M.MathNode("mpadded",[z(e.body,t)],["vcenter"])}}),w({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler:function(e,t,r){throw new $("\\verb ended by end of line instead of matching delimiter")},htmlBuilder:function(e,t){for(var r=Nr(e),n=[],i=t.havingStyle(t.style.text()),a=0;a<r.length;a++){var o=r[a];"~"===o&&(o="\\textasciitilde"),n.push(ee.makeSymbol(o,"Typewriter-Regular",e.mode,i,["mord","texttt"]))}return ee.makeSpan(["mord","text"].concat(i.sizingClasses(t)),ee.tryCombineChars(n),i)},mathmlBuilder:function(e,t){e=new M.TextNode(Nr(e)),e=new M.MathNode("mtext",[e]);return e.setAttribute("mathvariant","monospace"),e}}),function(e){return e.body.replace(/ /g,e.star?"␣":" ")}),qr=dt,Ir=new RegExp("[̀-ͯ]+$"),Or=((h=Lr.prototype).setCatcode=function(e,t){this.catcodes[e]=t},h.lex=function(){var e=this.input,t=this.tokenRegex.lastIndex;if(t===e.length)return new D0("EOF",new L0(this,t,t));var r=this.tokenRegex.exec(e);if(null===r||r.index!==t)throw new $("Unexpected character: '"+e[t]+"'",new D0(e[t],new L0(this,t,t+1)));var n,r=r[6]||r[3]||(r[2]?"\\ ":" ");return 14===this.catcodes[r]?(-1===(n=e.indexOf("\n",this.tokenRegex.lastIndex))?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=n+1,this.lex()):new D0(r,new L0(this,t,this.tokenRegex.lastIndex))},Lr),Rr=((Ve=Hr.prototype).beginGroup=function(){this.undefStack.push({})},Ve.endGroup=function(){if(0===this.undefStack.length)throw new $("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e,t=this.undefStack.pop();for(e in t)t.hasOwnProperty(e)&&(null==t[e]?delete this.current[e]:this.current[e]=t[e])},Ve.endGroups=function(){for(;0<this.undefStack.length;)this.endGroup()},Ve.has=function(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)},Ve.get=function(e){return(this.current.hasOwnProperty(e)?this.current:this.builtins)[e]},Ve.set=function(e,t,r){if(r=void 0===r?!1:r){for(var n=0;n<this.undefStack.length;n++)delete this.undefStack[n][e];0<this.undefStack.length&&(this.undefStack[this.undefStack.length-1][e]=t)}else{r=this.undefStack[this.undefStack.length-1];r&&!r.hasOwnProperty(e)&&(r[e]=this.current[e])}null==t?delete this.current[e]:this.current[e]=t},Hr),Er=H0;function Hr(e,t){void 0===e&&(e={}),void 0===t&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}function Lr(e,t){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=t,this.tokenRegex=new RegExp("([ \r\n\t]+)|\\\\(\n|[ \r\t]+\n?)[ \r\t]*|([!-\\[\\]-‧-豈-][̀-ͯ]*|[\ud800-\udbff][\udc00-\udfff][̀-ͯ]*|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5|(\\\\[a-zA-Z@]+)[ \r\n\t]*|\\\\[^\ud800-\udfff])","g"),this.catcodes={"%":14,"~":13}}T("\\noexpand",function(e){var t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}}),T("\\expandafter",function(e){var t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}}),T("\\@firstoftwo",function(e){return{tokens:e.consumeArgs(2)[0],numArgs:0}}),T("\\@secondoftwo",function(e){return{tokens:e.consumeArgs(2)[1],numArgs:0}}),T("\\@ifnextchar",function(e){var t=e.consumeArgs(3),e=(e.consumeSpaces(),e.future());return 1===t[0].length&&t[0][0].text===e.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}}),T("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),T("\\TextOrMath",function(e){var t=e.consumeArgs(2);return"text"===e.mode?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}});function Dr(e,t,r){var n=e.consumeArg().tokens;if(1!==n.length)throw new $("\\newcommand's first argument must be a macro name");var i=n[0].text,a=e.isDefined(i);if(a&&!t)throw new $("\\newcommand{"+i+"} attempting to redefine "+i+"; use \\renewcommand");if(!a&&!r)throw new $("\\renewcommand{"+i+"} when command "+i+" does not yet exist; use \\newcommand");if(t=0,1===(n=e.consumeArg().tokens).length&&"["===n[0].text){for(var o="",s=e.expandNextToken();"]"!==s.text&&"EOF"!==s.text;)o+=s.text,s=e.expandNextToken();if(!o.match(/^\s*[0-9]+\s*$/))throw new $("Invalid number of arguments: "+o);t=parseInt(o),n=e.consumeArg().tokens}return e.macros.set(i,{tokens:n,numArgs:t}),""}function Pr(h){return function(e){function t(r){return function(e){h&&(e.macros.set("|",o),i.length&&e.macros.set("\\|",s));var t=r;return!r&&i.length&&"|"===e.future().text&&(e.popToken(),t=!0),{tokens:t?i:n,numArgs:0}}}var r=e.consumeArg().tokens,n=e.consumeArg().tokens,i=e.consumeArg().tokens,a=e.consumeArg().tokens,o=e.macros.get("|"),s=e.macros.get("\\|"),l=(e.macros.beginGroup(),e.macros.set("|",t(!1)),i.length&&e.macros.set("\\|",t(!0)),e.consumeArg().tokens),a=e.expandTokens([].concat(a,l,r));return e.macros.endGroup(),{tokens:a.reverse(),numArgs:0}}}var Fr={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15},Vr=(T("\\char",function(e){var t,r,n=e.popToken(),i="";if("'"===n.text)t=8,n=e.popToken();else if('"'===n.text)t=16,n=e.popToken();else if("`"===n.text)if("\\"===(n=e.popToken()).text[0])i=n.text.charCodeAt(1);else{if("EOF"===n.text)throw new $("\\char` missing argument");i=n.text.charCodeAt(0)}else t=10;if(t){if(null==(i=Fr[n.text])||t<=i)throw new $("Invalid base-"+t+" digit "+n.text);for(;null!=(r=Fr[e.future().text])&&r<t;)i=i*t+r,e.popToken()}return"\\@char{"+i+"}"}),T("\\newcommand",function(e){return Dr(e,!1,!0)}),T("\\renewcommand",function(e){return Dr(e,!0,!1)}),T("\\providecommand",function(e){return Dr(e,!0,!0)}),T("\\message",function(e){e=e.consumeArgs(1)[0];return console.log(e.reverse().map(function(e){return e.text}).join("")),""}),T("\\errmessage",function(e){e=e.consumeArgs(1)[0];return console.error(e.reverse().map(function(e){return e.text}).join("")),""}),T("\\show",function(e){var t=e.popToken(),r=t.text;return console.log(t,e.macros.get(r),qr[r],p.math[r],p.text[r]),""}),T("\\bgroup","{"),T("\\egroup","}"),T("~","\\nobreakspace"),T("\\lq","`"),T("\\rq","'"),T("\\aa","\\r a"),T("\\AA","\\r A"),T("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}"),T("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"),T("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"),T("ℬ","\\mathscr{B}"),T("ℰ","\\mathscr{E}"),T("ℱ","\\mathscr{F}"),T("ℋ","\\mathscr{H}"),T("ℐ","\\mathscr{I}"),T("ℒ","\\mathscr{L}"),T("ℳ","\\mathscr{M}"),T("ℛ","\\mathscr{R}"),T("ℭ","\\mathfrak{C}"),T("ℌ","\\mathfrak{H}"),T("ℨ","\\mathfrak{Z}"),T("\\Bbbk","\\Bbb{k}"),T("·","\\cdotp"),T("\\llap","\\mathllap{\\textrm{#1}}"),T("\\rlap","\\mathrlap{\\textrm{#1}}"),T("\\clap","\\mathclap{\\textrm{#1}}"),T("\\mathstrut","\\vphantom{(}"),T("\\underbar","\\underline{\\text{#1}}"),T("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}'),T("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"),T("\\ne","\\neq"),T("≠","\\neq"),T("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}"),T("∉","\\notin"),T("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}"),T("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}"),T("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}"),T("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}"),T("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}"),T("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}"),T("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}"),T("⟂","\\perp"),T("‼","\\mathclose{!\\mkern-0.8mu!}"),T("∌","\\notni"),T("⌜","\\ulcorner"),T("⌝","\\urcorner"),T("⌞","\\llcorner"),T("⌟","\\lrcorner"),T("©","\\copyright"),T("®","\\textregistered"),T("️","\\textregistered"),T("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}'),T("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}'),T("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}'),T("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}'),T("\\vdots","\\mathord{\\varvdots\\rule{0pt}{15pt}}"),T("⋮","\\vdots"),T("\\varGamma","\\mathit{\\Gamma}"),T("\\varDelta","\\mathit{\\Delta}"),T("\\varTheta","\\mathit{\\Theta}"),T("\\varLambda","\\mathit{\\Lambda}"),T("\\varXi","\\mathit{\\Xi}"),T("\\varPi","\\mathit{\\Pi}"),T("\\varSigma","\\mathit{\\Sigma}"),T("\\varUpsilon","\\mathit{\\Upsilon}"),T("\\varPhi","\\mathit{\\Phi}"),T("\\varPsi","\\mathit{\\Psi}"),T("\\varOmega","\\mathit{\\Omega}"),T("\\substack","\\begin{subarray}{c}#1\\end{subarray}"),T("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax"),T("\\boxed","\\fbox{$\\displaystyle{#1}$}"),T("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;"),T("\\implies","\\DOTSB\\;\\Longrightarrow\\;"),T("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;"),{",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"}),Gr=(T("\\dots",function(e){var t="\\dotso",e=e.expandAfterFuture().text;return e in Vr?t=Vr[e]:("\\not"===e.substr(0,4)||e in p.math&&Z.contains(["bin","rel"],p.math[e].group))&&(t="\\dotsb"),t}),{")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0}),e=(T("\\dotso",function(e){return e.future().text in Gr?"\\ldots\\,":"\\ldots"}),T("\\dotsc",function(e){e=e.future().text;return e in Gr&&","!==e?"\\ldots\\,":"\\ldots"}),T("\\cdots",function(e){return e.future().text in Gr?"\\@cdots\\,":"\\@cdots"}),T("\\dotsb","\\cdots"),T("\\dotsm","\\cdots"),T("\\dotsi","\\!\\cdots"),T("\\dotsx","\\ldots\\,"),T("\\DOTSI","\\relax"),T("\\DOTSB","\\relax"),T("\\DOTSX","\\relax"),T("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),T("\\,","\\tmspace+{3mu}{.1667em}"),T("\\thinspace","\\,"),T("\\>","\\mskip{4mu}"),T("\\:","\\tmspace+{4mu}{.2222em}"),T("\\medspace","\\:"),T("\\;","\\tmspace+{5mu}{.2777em}"),T("\\thickspace","\\;"),T("\\!","\\tmspace-{3mu}{.1667em}"),T("\\negthinspace","\\!"),T("\\negmedspace","\\tmspace-{4mu}{.2222em}"),T("\\negthickspace","\\tmspace-{5mu}{.277em}"),T("\\enspace","\\kern.5em "),T("\\enskip","\\hskip.5em\\relax"),T("\\quad","\\hskip1em\\relax"),T("\\qquad","\\hskip2em\\relax"),T("\\tag","\\@ifstar\\tag@literal\\tag@paren"),T("\\tag@paren","\\tag@literal{({#1})}"),T("\\tag@literal",function(e){if(e.macros.get("\\df@tag"))throw new $("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"}),T("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),T("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),T("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}"),T("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),T("\\pmb","\\html@mathml{\\@binrel{#1}{\\mathrlap{#1}\\kern0.5px#1}}{\\mathbf{#1}}"),T("\\newline","\\\\\\relax"),T("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}"),Q(ae["Main-Regular"]["T".charCodeAt(0)][1]-.7*ae["Main-Regular"]["A".charCodeAt(0)][1])),Ur=(T("\\LaTeX","\\textrm{\\html@mathml{L\\kern-.36em\\raisebox{"+e+"}{\\scriptstyle A}\\kern-.15em\\TeX}{LaTeX}}"),T("\\KaTeX","\\textrm{\\html@mathml{K\\kern-.17em\\raisebox{"+e+"}{\\scriptstyle A}\\kern-.15em\\TeX}{KaTeX}}"),T("\\hspace","\\@ifstar\\@hspacer\\@hspace"),T("\\@hspace","\\hskip #1\\relax"),T("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax"),T("\\ordinarycolon",":"),T("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}"),T("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'),T("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'),T("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'),T("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'),T("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'),T("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'),T("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'),T("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'),T("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'),T("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'),T("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'),T("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'),T("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'),T("∷","\\dblcolon"),T("∹","\\eqcolon"),T("≔","\\coloneqq"),T("≕","\\eqqcolon"),T("⩴","\\Coloneqq"),T("\\ratio","\\vcentcolon"),T("\\coloncolon","\\dblcolon"),T("\\colonequals","\\coloneqq"),T("\\coloncolonequals","\\Coloneqq"),T("\\equalscolon","\\eqqcolon"),T("\\equalscoloncolon","\\Eqqcolon"),T("\\colonminus","\\coloneq"),T("\\coloncolonminus","\\Coloneq"),T("\\minuscolon","\\eqcolon"),T("\\minuscoloncolon","\\Eqcolon"),T("\\coloncolonapprox","\\Colonapprox"),T("\\coloncolonsim","\\Colonsim"),T("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),T("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),T("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),T("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),T("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}"),T("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),T("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),T("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}"),T("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}"),T("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}"),T("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}"),T("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}"),T("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}"),T("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}"),T("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}"),T("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}"),T("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}"),T("\\nleqq","\\html@mathml{\\@nleqq}{≰}"),T("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}"),T("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}"),T("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}"),T("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}"),T("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}"),T("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}"),T("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}"),T("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}"),T("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}"),T("\\imath","\\html@mathml{\\@imath}{ı}"),T("\\jmath","\\html@mathml{\\@jmath}{ȷ}"),T("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}"),T("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}"),T("⟦","\\llbracket"),T("⟧","\\rrbracket"),T("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}"),T("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}"),T("⦃","\\lBrace"),T("⦄","\\rBrace"),T("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}"),T("⦵","\\minuso"),T("\\darr","\\downarrow"),T("\\dArr","\\Downarrow"),T("\\Darr","\\Downarrow"),T("\\lang","\\langle"),T("\\rang","\\rangle"),T("\\uarr","\\uparrow"),T("\\uArr","\\Uparrow"),T("\\Uarr","\\Uparrow"),T("\\N","\\mathbb{N}"),T("\\R","\\mathbb{R}"),T("\\Z","\\mathbb{Z}"),T("\\alef","\\aleph"),T("\\alefsym","\\aleph"),T("\\Alpha","\\mathrm{A}"),T("\\Beta","\\mathrm{B}"),T("\\bull","\\bullet"),T("\\Chi","\\mathrm{X}"),T("\\clubs","\\clubsuit"),T("\\cnums","\\mathbb{C}"),T("\\Complex","\\mathbb{C}"),T("\\Dagger","\\ddagger"),T("\\diamonds","\\diamondsuit"),T("\\empty","\\emptyset"),T("\\Epsilon","\\mathrm{E}"),T("\\Eta","\\mathrm{H}"),T("\\exist","\\exists"),T("\\harr","\\leftrightarrow"),T("\\hArr","\\Leftrightarrow"),T("\\Harr","\\Leftrightarrow"),T("\\hearts","\\heartsuit"),T("\\image","\\Im"),T("\\infin","\\infty"),T("\\Iota","\\mathrm{I}"),T("\\isin","\\in"),T("\\Kappa","\\mathrm{K}"),T("\\larr","\\leftarrow"),T("\\lArr","\\Leftarrow"),T("\\Larr","\\Leftarrow"),T("\\lrarr","\\leftrightarrow"),T("\\lrArr","\\Leftrightarrow"),T("\\Lrarr","\\Leftrightarrow"),T("\\Mu","\\mathrm{M}"),T("\\natnums","\\mathbb{N}"),T("\\Nu","\\mathrm{N}"),T("\\Omicron","\\mathrm{O}"),T("\\plusmn","\\pm"),T("\\rarr","\\rightarrow"),T("\\rArr","\\Rightarrow"),T("\\Rarr","\\Rightarrow"),T("\\real","\\Re"),T("\\reals","\\mathbb{R}"),T("\\Reals","\\mathbb{R}"),T("\\Rho","\\mathrm{P}"),T("\\sdot","\\cdot"),T("\\sect","\\S"),T("\\spades","\\spadesuit"),T("\\sub","\\subset"),T("\\sube","\\subseteq"),T("\\supe","\\supseteq"),T("\\Tau","\\mathrm{T}"),T("\\thetasym","\\vartheta"),T("\\weierp","\\wp"),T("\\Zeta","\\mathrm{Z}"),T("\\argmin","\\DOTSB\\operatorname*{arg\\,min}"),T("\\argmax","\\DOTSB\\operatorname*{arg\\,max}"),T("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),T("\\bra","\\mathinner{\\langle{#1}|}"),T("\\ket","\\mathinner{|{#1}\\rangle}"),T("\\braket","\\mathinner{\\langle{#1}\\rangle}"),T("\\Bra","\\left\\langle#1\\right|"),T("\\Ket","\\left|#1\\right\\rangle"),T("\\bra@ket",Pr(!1)),T("\\bra@set",Pr(!0)),T("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}"),T("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}"),T("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}"),T("\\angln","{\\angl n}"),T("\\blue","\\textcolor{##6495ed}{#1}"),T("\\orange","\\textcolor{##ffa500}{#1}"),T("\\pink","\\textcolor{##ff00af}{#1}"),T("\\red","\\textcolor{##df0030}{#1}"),T("\\green","\\textcolor{##28ae7b}{#1}"),T("\\gray","\\textcolor{gray}{#1}"),T("\\purple","\\textcolor{##9d38bd}{#1}"),T("\\blueA","\\textcolor{##ccfaff}{#1}"),T("\\blueB","\\textcolor{##80f6ff}{#1}"),T("\\blueC","\\textcolor{##63d9ea}{#1}"),T("\\blueD","\\textcolor{##11accd}{#1}"),T("\\blueE","\\textcolor{##0c7f99}{#1}"),T("\\tealA","\\textcolor{##94fff5}{#1}"),T("\\tealB","\\textcolor{##26edd5}{#1}"),T("\\tealC","\\textcolor{##01d1c1}{#1}"),T("\\tealD","\\textcolor{##01a995}{#1}"),T("\\tealE","\\textcolor{##208170}{#1}"),T("\\greenA","\\textcolor{##b6ffb0}{#1}"),T("\\greenB","\\textcolor{##8af281}{#1}"),T("\\greenC","\\textcolor{##74cf70}{#1}"),T("\\greenD","\\textcolor{##1fab54}{#1}"),T("\\greenE","\\textcolor{##0d923f}{#1}"),T("\\goldA","\\textcolor{##ffd0a9}{#1}"),T("\\goldB","\\textcolor{##ffbb71}{#1}"),T("\\goldC","\\textcolor{##ff9c39}{#1}"),T("\\goldD","\\textcolor{##e07d10}{#1}"),T("\\goldE","\\textcolor{##a75a05}{#1}"),T("\\redA","\\textcolor{##fca9a9}{#1}"),T("\\redB","\\textcolor{##ff8482}{#1}"),T("\\redC","\\textcolor{##f9685d}{#1}"),T("\\redD","\\textcolor{##e84d39}{#1}"),T("\\redE","\\textcolor{##bc2612}{#1}"),T("\\maroonA","\\textcolor{##ffbde0}{#1}"),T("\\maroonB","\\textcolor{##ff92c6}{#1}"),T("\\maroonC","\\textcolor{##ed5fa6}{#1}"),T("\\maroonD","\\textcolor{##ca337c}{#1}"),T("\\maroonE","\\textcolor{##9e034e}{#1}"),T("\\purpleA","\\textcolor{##ddd7ff}{#1}"),T("\\purpleB","\\textcolor{##c6b9fc}{#1}"),T("\\purpleC","\\textcolor{##aa87ff}{#1}"),T("\\purpleD","\\textcolor{##7854ab}{#1}"),T("\\purpleE","\\textcolor{##543b78}{#1}"),T("\\mintA","\\textcolor{##f5f9e8}{#1}"),T("\\mintB","\\textcolor{##edf2df}{#1}"),T("\\mintC","\\textcolor{##e0e5cc}{#1}"),T("\\grayA","\\textcolor{##f6f7f7}{#1}"),T("\\grayB","\\textcolor{##f0f1f2}{#1}"),T("\\grayC","\\textcolor{##e3e5e6}{#1}"),T("\\grayD","\\textcolor{##d6d8da}{#1}"),T("\\grayE","\\textcolor{##babec2}{#1}"),T("\\grayF","\\textcolor{##888d93}{#1}"),T("\\grayG","\\textcolor{##626569}{#1}"),T("\\grayH","\\textcolor{##3b3e40}{#1}"),T("\\grayI","\\textcolor{##21242c}{#1}"),T("\\kaBlue","\\textcolor{##314453}{#1}"),T("\\kaGreen","\\textcolor{##71B307}{#1}"),{"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0}),Yr=((t=Kr.prototype).feed=function(e){this.lexer=new Or(e,this.settings)},t.switchMode=function(e){this.mode=e},t.beginGroup=function(){this.macros.beginGroup()},t.endGroup=function(){this.macros.endGroup()},t.endGroups=function(){this.macros.endGroups()},t.future=function(){return 0===this.stack.length&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]},t.popToken=function(){return this.future(),this.stack.pop()},t.pushToken=function(e){this.stack.push(e)},t.pushTokens=function(e){var t;(t=this.stack).push.apply(t,e)},t.scanArgument=function(e){if(e){if(this.consumeSpaces(),"["!==this.future().text)return null;var t=this.popToken(),e=this.consumeArg(["]"]),r=e.tokens,n=e.end}else{e=this.consumeArg();r=e.tokens,t=e.start,n=e.end}return this.pushToken(new D0("EOF",n.loc)),this.pushTokens(r),t.range(n,"")},t.consumeSpaces=function(){for(;" "===this.future().text;)this.stack.pop()},t.consumeArg=function(e){var t=[],r=e&&0<e.length;r||this.consumeSpaces();var n,i=this.future(),a=0,o=0;do{if(n=this.popToken(),t.push(n),"{"===n.text)++a;else if("}"===n.text){if(-1==--a)throw new $("Extra }",n)}else if("EOF"===n.text)throw new $("Unexpected end of input in a macro argument, expected '"+(e&&r?e[o]:"}")+"'",n);if(e&&r)if((0===a||1===a&&"{"===e[o])&&n.text===e[o]){if(++o===e.length){t.splice(-o,o);break}}else o=0}while(0!==a||r);return"{"===i.text&&"}"===t[t.length-1].text&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:i,end:n}},t.consumeArgs=function(e,t){if(t){if(t.length!==e+1)throw new $("The length of delimiters doesn't match the number of args!");for(var r=t[0],n=0;n<r.length;n++){var i=this.popToken();if(r[n]!==i.text)throw new $("Use of the macro doesn't match its definition",i)}}for(var a=[],o=0;o<e;o++)a.push(this.consumeArg(t&&t[o+1]).tokens);return a},t.expandOnce=function(e){var t=this.popToken(),r=t.text,n=t.noexpand?null:this._getExpansion(r);if(null==n||e&&n.unexpandable){if(e&&null==n&&"\\"===r[0]&&!this.isDefined(r))throw new $("Undefined control sequence: "+r);return this.pushToken(t),t}if(this.expansionCount++,this.expansionCount>this.settings.maxExpand)throw new $("Too many expansions: infinite loop or need to increase maxExpand setting");var i=n.tokens,a=this.consumeArgs(n.numArgs,n.delimiters);if(n.numArgs)for(var o=(i=i.slice()).length-1;0<=o;--o){var s=i[o];if("#"===s.text){if(0===o)throw new $("Incomplete placeholder at end of macro body",s);if("#"===(s=i[--o]).text)i.splice(o+1,1);else{if(!/^[1-9]$/.test(s.text))throw new $("Not a valid argument number",s);i.splice.apply(i,[o,2].concat(a[+s.text-1]))}}}return this.pushTokens(i),i},t.expandAfterFuture=function(){return this.expandOnce(),this.future()},t.expandNextToken=function(){for(;;){var e=this.expandOnce();if(e instanceof D0)return e.treatAsRelax&&(e.text="\\relax"),this.stack.pop()}throw new Error},t.expandMacro=function(e){return this.macros.has(e)?this.expandTokens([new D0(e)]):void 0},t.expandTokens=function(e){var t=[],r=this.stack.length;for(this.pushTokens(e);this.stack.length>r;){var n=this.expandOnce(!0);n instanceof D0&&(n.treatAsRelax&&(n.noexpand=!1,n.treatAsRelax=!1),t.push(this.stack.pop()))}return t},t.expandMacroAsText=function(e){e=this.expandMacro(e);return e&&e.map(function(e){return e.text}).join("")},t._getExpansion=function(e){var t=this.macros.get(e);if(null==t)return t;if(1===e.length){e=this.lexer.catcodes[e];if(null!=e&&13!==e)return}e="function"==typeof t?t(this):t;if("string"!=typeof e)return e;var r=0;if(-1!==e.indexOf("#"))for(var n=e.replace(/##/g,"");-1!==n.indexOf("#"+(r+1));)++r;for(var i=new Or(e,this.settings),a=[],o=i.lex();"EOF"!==o.text;)a.push(o),o=i.lex();return a.reverse(),{tokens:a,numArgs:r}},t.isDefined=function(e){return this.macros.has(e)||qr.hasOwnProperty(e)||p.math.hasOwnProperty(e)||p.text.hasOwnProperty(e)||Ur.hasOwnProperty(e)},t.isExpandable=function(e){var t=this.macros.get(e);return null!=t?"string"==typeof t||"function"==typeof t||!t.unexpandable:qr.hasOwnProperty(e)&&!qr[e].primitive},Kr),Xr=/^[\u208a\u208b\u208c\u208d\u208e\u2080\u2081\u2082\u2083\u2084\u2085\u2086\u2087\u2088\u2089\u2090\u2091\u2095\u1d62\u2c7c\u2096\u2097\u2098\u2099\u2092\u209a\u1d63\u209b\u209c\u1d64\u1d65\u2093\u1d66\u1d67\u1d68\u1d69\u1d6a]/,Wr=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g","ʰ":"h","ⁱ":"i","ʲ":"j","ᵏ":"k","ˡ":"l","ᵐ":"m","ⁿ":"n","ᵒ":"o","ᵖ":"p","ʳ":"r","ˢ":"s","ᵗ":"t","ᵘ":"u","ᵛ":"v","ʷ":"w","ˣ":"x","ʸ":"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),jr={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},_r={"á":"á","à":"à","ä":"ä","ǟ":"ǟ","ã":"ã","ā":"ā","ă":"ă","ắ":"ắ","ằ":"ằ","ẵ":"ẵ","ǎ":"ǎ","â":"â","ấ":"ấ","ầ":"ầ","ẫ":"ẫ","ȧ":"ȧ","ǡ":"ǡ","å":"å","ǻ":"ǻ","ḃ":"ḃ","ć":"ć","ḉ":"ḉ","č":"č","ĉ":"ĉ","ċ":"ċ","ç":"ç","ď":"ď","ḋ":"ḋ","ḑ":"ḑ","é":"é","è":"è","ë":"ë","ẽ":"ẽ","ē":"ē","ḗ":"ḗ","ḕ":"ḕ","ĕ":"ĕ","ḝ":"ḝ","ě":"ě","ê":"ê","ế":"ế","ề":"ề","ễ":"ễ","ė":"ė","ȩ":"ȩ","ḟ":"ḟ","ǵ":"ǵ","ḡ":"ḡ","ğ":"ğ","ǧ":"ǧ","ĝ":"ĝ","ġ":"ġ","ģ":"ģ","ḧ":"ḧ","ȟ":"ȟ","ĥ":"ĥ","ḣ":"ḣ","ḩ":"ḩ","í":"í","ì":"ì","ï":"ï","ḯ":"ḯ","ĩ":"ĩ","ī":"ī","ĭ":"ĭ","ǐ":"ǐ","î":"î","ǰ":"ǰ","ĵ":"ĵ","ḱ":"ḱ","ǩ":"ǩ","ķ":"ķ","ĺ":"ĺ","ľ":"ľ","ļ":"ļ","ḿ":"ḿ","ṁ":"ṁ","ń":"ń","ǹ":"ǹ","ñ":"ñ","ň":"ň","ṅ":"ṅ","ņ":"ņ","ó":"ó","ò":"ò","ö":"ö","ȫ":"ȫ","õ":"õ","ṍ":"ṍ","ṏ":"ṏ","ȭ":"ȭ","ō":"ō","ṓ":"ṓ","ṑ":"ṑ","ŏ":"ŏ","ǒ":"ǒ","ô":"ô","ố":"ố","ồ":"ồ","ỗ":"ỗ","ȯ":"ȯ","ȱ":"ȱ","ő":"ő","ṕ":"ṕ","ṗ":"ṗ","ŕ":"ŕ","ř":"ř","ṙ":"ṙ","ŗ":"ŗ","ś":"ś","ṥ":"ṥ","š":"š","ṧ":"ṧ","ŝ":"ŝ","ṡ":"ṡ","ş":"ş","ẗ":"ẗ","ť":"ť","ṫ":"ṫ","ţ":"ţ","ú":"ú","ù":"ù","ü":"ü","ǘ":"ǘ","ǜ":"ǜ","ǖ":"ǖ","ǚ":"ǚ","ũ":"ũ","ṹ":"ṹ","ū":"ū","ṻ":"ṻ","ŭ":"ŭ","ǔ":"ǔ","û":"û","ů":"ů","ű":"ű","ṽ":"ṽ","ẃ":"ẃ","ẁ":"ẁ","ẅ":"ẅ","ŵ":"ŵ","ẇ":"ẇ","ẘ":"ẘ","ẍ":"ẍ","ẋ":"ẋ","ý":"ý","ỳ":"ỳ","ÿ":"ÿ","ỹ":"ỹ","ȳ":"ȳ","ŷ":"ŷ","ẏ":"ẏ","ẙ":"ẙ","ź":"ź","ž":"ž","ẑ":"ẑ","ż":"ż","Á":"Á","À":"À","Ä":"Ä","Ǟ":"Ǟ","Ã":"Ã","Ā":"Ā","Ă":"Ă","Ắ":"Ắ","Ằ":"Ằ","Ẵ":"Ẵ","Ǎ":"Ǎ","Â":"Â","Ấ":"Ấ","Ầ":"Ầ","Ẫ":"Ẫ","Ȧ":"Ȧ","Ǡ":"Ǡ","Å":"Å","Ǻ":"Ǻ","Ḃ":"Ḃ","Ć":"Ć","Ḉ":"Ḉ","Č":"Č","Ĉ":"Ĉ","Ċ":"Ċ","Ç":"Ç","Ď":"Ď","Ḋ":"Ḋ","Ḑ":"Ḑ","É":"É","È":"È","Ë":"Ë","Ẽ":"Ẽ","Ē":"Ē","Ḗ":"Ḗ","Ḕ":"Ḕ","Ĕ":"Ĕ","Ḝ":"Ḝ","Ě":"Ě","Ê":"Ê","Ế":"Ế","Ề":"Ề","Ễ":"Ễ","Ė":"Ė","Ȩ":"Ȩ","Ḟ":"Ḟ","Ǵ":"Ǵ","Ḡ":"Ḡ","Ğ":"Ğ","Ǧ":"Ǧ","Ĝ":"Ĝ","Ġ":"Ġ","Ģ":"Ģ","Ḧ":"Ḧ","Ȟ":"Ȟ","Ĥ":"Ĥ","Ḣ":"Ḣ","Ḩ":"Ḩ","Í":"Í","Ì":"Ì","Ï":"Ï","Ḯ":"Ḯ","Ĩ":"Ĩ","Ī":"Ī","Ĭ":"Ĭ","Ǐ":"Ǐ","Î":"Î","İ":"İ","Ĵ":"Ĵ","Ḱ":"Ḱ","Ǩ":"Ǩ","Ķ":"Ķ","Ĺ":"Ĺ","Ľ":"Ľ","Ļ":"Ļ","Ḿ":"Ḿ","Ṁ":"Ṁ","Ń":"Ń","Ǹ":"Ǹ","Ñ":"Ñ","Ň":"Ň","Ṅ":"Ṅ","Ņ":"Ņ","Ó":"Ó","Ò":"Ò","Ö":"Ö","Ȫ":"Ȫ","Õ":"Õ","Ṍ":"Ṍ","Ṏ":"Ṏ","Ȭ":"Ȭ","Ō":"Ō","Ṓ":"Ṓ","Ṑ":"Ṑ","Ŏ":"Ŏ","Ǒ":"Ǒ","Ô":"Ô","Ố":"Ố","Ồ":"Ồ","Ỗ":"Ỗ","Ȯ":"Ȯ","Ȱ":"Ȱ","Ő":"Ő","Ṕ":"Ṕ","Ṗ":"Ṗ","Ŕ":"Ŕ","Ř":"Ř","Ṙ":"Ṙ","Ŗ":"Ŗ","Ś":"Ś","Ṥ":"Ṥ","Š":"Š","Ṧ":"Ṧ","Ŝ":"Ŝ","Ṡ":"Ṡ","Ş":"Ş","Ť":"Ť","Ṫ":"Ṫ","Ţ":"Ţ","Ú":"Ú","Ù":"Ù","Ü":"Ü","Ǘ":"Ǘ","Ǜ":"Ǜ","Ǖ":"Ǖ","Ǚ":"Ǚ","Ũ":"Ũ","Ṹ":"Ṹ","Ū":"Ū","Ṻ":"Ṻ","Ŭ":"Ŭ","Ǔ":"Ǔ","Û":"Û","Ů":"Ů","Ű":"Ű","Ṽ":"Ṽ","Ẃ":"Ẃ","Ẁ":"Ẁ","Ẅ":"Ẅ","Ŵ":"Ŵ","Ẇ":"Ẇ","Ẍ":"Ẍ","Ẋ":"Ẋ","Ý":"Ý","Ỳ":"Ỳ","Ÿ":"Ÿ","Ỹ":"Ỹ","Ȳ":"Ȳ","Ŷ":"Ŷ","Ẏ":"Ẏ","Ź":"Ź","Ž":"Ž","Ẑ":"Ẑ","Ż":"Ż","ά":"ά","ὰ":"ὰ","ᾱ":"ᾱ","ᾰ":"ᾰ","έ":"έ","ὲ":"ὲ","ή":"ή","ὴ":"ὴ","ί":"ί","ὶ":"ὶ","ϊ":"ϊ","ΐ":"ΐ","ῒ":"ῒ","ῑ":"ῑ","ῐ":"ῐ","ό":"ό","ὸ":"ὸ","ύ":"ύ","ὺ":"ὺ","ϋ":"ϋ","ΰ":"ΰ","ῢ":"ῢ","ῡ":"ῡ","ῠ":"ῠ","ώ":"ώ","ὼ":"ὼ","Ύ":"Ύ","Ὺ":"Ὺ","Ϋ":"Ϋ","Ῡ":"Ῡ","Ῠ":"Ῠ","Ώ":"Ώ","Ὼ":"Ὼ"},$r=((c=Zr.prototype).expect=function(e,t){if(void 0===t&&(t=!0),this.fetch().text!==e)throw new $("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());t&&this.consume()},c.consume=function(){this.nextToken=null},c.fetch=function(){return null==this.nextToken&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken},c.switchMode=function(e){this.mode=e,this.gullet.switchMode(e)},c.parse=function(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}},c.subparse=function(e){var t=this.nextToken,e=(this.consume(),this.gullet.pushToken(new D0("}")),this.gullet.pushTokens(e),this.parseExpression(!1));return this.expect("}"),this.nextToken=t,e},c.parseExpression=function(e,t){for(var r=[];;){"math"===this.mode&&this.consumeSpaces();var n=this.fetch();if(-1!==Zr.endOfExpression.indexOf(n.text))break;if(t&&n.text===t)break;if(e&&qr[n.text]&&qr[n.text].infix)break;n=this.parseAtom(t);if(!n)break;"internal"!==n.type&&r.push(n)}return"text"===this.mode&&this.formLigatures(r),this.handleInfixNodes(r)},c.handleInfixNodes=function(e){for(var t,r,n,i=-1,a=0;a<e.length;a++)if("infix"===e[a].type){if(-1!==i)throw new $("only one infix operator per group",e[a].token);t=e[i=a].replaceWith}return-1!==i&&t?(r=e.slice(0,i),n=e.slice(i+1),r=1===r.length&&"ordgroup"===r[0].type?r[0]:{type:"ordgroup",mode:this.mode,body:r},n=1===n.length&&"ordgroup"===n[0].type?n[0]:{type:"ordgroup",mode:this.mode,body:n},["\\\\abovefrac"===t?this.callFunction(t,[r,e[i],n],[]):this.callFunction(t,[r,n],[])]):e},c.handleSupSubscript=function(e){var t=this.fetch(),r=t.text,e=(this.consume(),this.consumeSpaces(),this.parseGroup(e));if(e)return e;throw new $("Expected group after '"+r+"'",t)},c.formatUnsupportedCmd=function(e){for(var t=[],r=0;r<e.length;r++)t.push({type:"textord",mode:"text",text:e[r]});var n={type:"text",mode:this.mode,body:t};return{type:"color",mode:this.mode,color:this.settings.errorColor,body:[n]}},c.parseAtom=function(e){var t,r,n=this.parseGroup("atom",e);if("text"===this.mode)return n;for(;;){this.consumeSpaces();var i=this.fetch();if("\\limits"===i.text||"\\nolimits"===i.text){if(n&&"op"===n.type){var a="\\limits"===i.text;n.limits=a,n.alwaysHandleSupSub=!0}else{if(!n||"operatorname"!==n.type)throw new $("Limit controls must follow a math operator",i);n.alwaysHandleSupSub&&(n.limits="\\limits"===i.text)}this.consume()}else if("^"===i.text){if(t)throw new $("Double superscript",i);t=this.handleSupSubscript("superscript")}else if("_"===i.text){if(r)throw new $("Double subscript",i);r=this.handleSupSubscript("subscript")}else if("'"===i.text){if(t)throw new $("Double superscript",i);var o={type:"textord",mode:this.mode,text:"\\prime"},s=[o];for(this.consume();"'"===this.fetch().text;)s.push(o),this.consume();"^"===this.fetch().text&&s.push(this.handleSupSubscript("superscript")),t={type:"ordgroup",mode:this.mode,body:s}}else{if(!Wr[i.text])break;var l=Wr[i.text],h=Xr.test(i.text);for(this.consume();;){var m=this.fetch().text;if(!Wr[m])break;if(Xr.test(m)!==h)break;this.consume(),l+=Wr[m]}a=new Zr(l,this.settings).parse();h?r={type:"ordgroup",mode:"math",body:a}:t={type:"ordgroup",mode:"math",body:a}}}return t||r?{type:"supsub",mode:this.mode,base:n,sup:t,sub:r}:n},c.parseFunction=function(e,t){var r=this.fetch(),n=r.text,i=qr[n];if(!i)return null;if(this.consume(),t&&"atom"!==t&&!i.allowedInArgument)throw new $("Got function '"+n+"' with no arguments"+(t?" as "+t:""),r);if("text"===this.mode&&!i.allowedInText)throw new $("Can't use function '"+n+"' in text mode",r);if("math"===this.mode&&!1===i.allowedInMath)throw new $("Can't use function '"+n+"' in math mode",r);t=this.parseArguments(n,i),i=t.args,t=t.optArgs;return this.callFunction(n,i,t,r,e)},c.callFunction=function(e,t,r,n,i){var a=qr[e];if(a&&a.handler)return a.handler({funcName:e,parser:this,token:n,breakOnTokenText:i},t,r);throw new $("No function handler for "+e)},c.parseArguments=function(e,t){var r=t.numArgs+t.numOptionalArgs;if(0===r)return{args:[],optArgs:[]};for(var n=[],i=[],a=0;a<r;a++){var o=t.argTypes&&t.argTypes[a],s=a<t.numOptionalArgs,o=((t.primitive&&null==o||"sqrt"===t.type&&1===a&&null==i[0])&&(o="primitive"),this.parseGroupOfType("argument to '"+e+"'",o,s));if(s)i.push(o);else{if(null==o)throw new $("Null argument, please report this as a bug");n.push(o)}}return{args:n,optArgs:i}},c.parseGroupOfType=function(e,t,r){switch(t){case"color":return this.parseColorGroup(r);case"size":return this.parseSizeGroup(r);case"url":return this.parseUrlGroup(r);case"math":case"text":return this.parseArgumentGroup(r,t);case"hbox":var n=this.parseArgumentGroup(r,"text");return null!=n?{type:"styling",mode:n.mode,body:[n],style:"text"}:null;case"raw":n=this.parseStringGroup("raw",r);return null!=n?{type:"raw",mode:"text",string:n.text}:null;case"primitive":if(r)throw new $("A primitive argument cannot be optional");n=this.parseGroup(e);if(null==n)throw new $("Expected group as "+e,this.fetch());return n;case"original":case null:case void 0:return this.parseArgumentGroup(r);default:throw new $("Unknown group type as "+e,this.fetch())}},c.consumeSpaces=function(){for(;" "===this.fetch().text;)this.consume()},c.parseStringGroup=function(e,t){t=this.gullet.scanArgument(t);if(null==t)return null;for(var r,n="";"EOF"!==(r=this.fetch()).text;)n+=r.text,this.consume();return this.consume(),t.text=n,t},c.parseRegexGroup=function(e,t){for(var r,n=this.fetch(),i=n,a="";"EOF"!==(r=this.fetch()).text&&e.test(a+r.text);)a+=(i=r).text,this.consume();if(""===a)throw new $("Invalid "+t+": '"+n.text+"'",n);return n.range(i,a)},c.parseColorGroup=function(e){e=this.parseStringGroup("color",e);if(null==e)return null;var t=/^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i.exec(e.text);if(!t)throw new $("Invalid color: '"+e.text+"'",e);e=t[0];return/^[0-9a-f]{6}$/i.test(e)&&(e="#"+e),{type:"color-token",mode:this.mode,color:e}},c.parseSizeGroup=function(e){var t,r=!1;if(this.gullet.consumeSpaces(),!(t=e||"{"===this.gullet.future().text?this.parseStringGroup("size",e):this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,"size")))return null;e||0!==t.text.length||(t.text="0pt",r=!0);e=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t.text);if(!e)throw new $("Invalid size: '"+t.text+"'",t);e={number:+(e[1]+e[2]),unit:e[3]};if(fe(e))return{type:"size",mode:this.mode,value:e,isBlank:r};throw new $("Invalid unit: '"+e.unit+"'",t)},c.parseUrlGroup=function(e){this.gullet.lexer.setCatcode("%",13),this.gullet.lexer.setCatcode("~",12);e=this.parseStringGroup("url",e);if(this.gullet.lexer.setCatcode("%",14),this.gullet.lexer.setCatcode("~",13),null==e)return null;e=e.text.replace(/\\([#$%&~_^{}])/g,"$1");return{type:"url",mode:this.mode,url:e}},c.parseArgumentGroup=function(e,t){e=this.gullet.scanArgument(e);if(null==e)return null;var r=this.mode,n=(t&&this.switchMode(t),this.gullet.beginGroup(),this.parseExpression(!1,"EOF")),e=(this.expect("EOF"),this.gullet.endGroup(),{type:"ordgroup",mode:this.mode,loc:e.loc,body:n});return t&&this.switchMode(r),e},c.parseGroup=function(e,t){var r=this.fetch(),n=r.text;if("{"===n||"\\begingroup"===n){this.consume();var i="{"===n?"}":"\\endgroup",a=(this.gullet.beginGroup(),this.parseExpression(!1,i)),o=this.fetch();this.expect(i),this.gullet.endGroup(),i={type:"ordgroup",mode:this.mode,loc:L0.range(r,o),body:a,semisimple:"\\begingroup"===n||void 0}}else if(null==(i=this.parseFunction(t,e)||this.parseSymbol())&&"\\"===n[0]&&!Ur.hasOwnProperty(n)){if(this.settings.throwOnError)throw new $("Undefined control sequence: "+n,r);i=this.formatUnsupportedCmd(n),this.consume()}return i},c.formLigatures=function(e){for(var t=e.length-1,r=0;r<t;++r){var n=e[r],i=n.text;"-"===i&&"-"===e[r+1].text&&(r+1<t&&"-"===e[r+2].text?(e.splice(r,3,{type:"textord",mode:"text",loc:L0.range(n,e[r+2]),text:"---"}),t-=2):(e.splice(r,2,{type:"textord",mode:"text",loc:L0.range(n,e[r+1]),text:"--"}),--t)),"'"!==i&&"`"!==i||e[r+1].text!==i||(e.splice(r,2,{type:"textord",mode:"text",loc:L0.range(n,e[r+1]),text:i+i}),--t)}},c.parseSymbol=function(){var e=this.fetch(),t=e.text;if(/^\\verb[^a-zA-Z]/.test(t)){this.consume();var r=t.slice(5),n="*"===r.charAt(0);if((r=n?r.slice(1):r).length<2||r.charAt(0)!==r.slice(-1))throw new $("\\verb assertion failed --\n please report what input caused this bug");return{type:"verb",mode:"text",body:r=r.slice(1,-1),star:n}}_r.hasOwnProperty(t[0])&&!p[this.mode][t[0]]&&(this.settings.strict&&"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Accented Unicode text character "'+t[0]+'" used in math mode',e),t=_r[t[0]]+t.substr(1));var i=Ir.exec(t);if(i&&("i"===(t=t.substring(0,i.index))?t="ı":"j"===t&&(t="ȷ")),p[this.mode][t]){this.settings.strict&&"math"===this.mode&&0<="ÐÞþ".indexOf(t)&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+t[0]+'" used in math mode',e);var r=p[this.mode][t].group,n=L0.range(e),a=De.hasOwnProperty(r)?{type:"atom",mode:this.mode,family:r,loc:n,text:t}:{type:r,mode:this.mode,loc:n,text:t}}else{if(!(128<=t.charCodeAt(0)))return null;this.settings.strict&&(_(t.charCodeAt(0))?"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'" ('+t.charCodeAt(0)+")",e)),a={type:"textord",mode:"text",loc:L0.range(e),text:t}}if(this.consume(),i)for(var o=0;o<i[0].length;o++){var s=i[0][o];if(!jr[s])throw new $("Unknown accent ' "+s+"'",e);var l=jr[s][this.mode]||jr[s].text;if(!l)throw new $("Accent "+s+" unsupported in "+this.mode+" mode",e);a={type:"accent",mode:this.mode,loc:L0.range(e),label:l,isStretchy:!1,isShifty:!0,base:a}}return a},Zr);function Zr(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new Yr(e,t,this.mode),this.settings=t,this.leftrightDepth=0}function Kr(e,t,r){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=t,this.expansionCount=0,this.feed(e),this.macros=new Rr(Er,t.macros),this.mode=r,this.stack=[]}$r.endOfExpression=["}","\\endgroup","\\end","\\right","&"];function Jr(e,t){if(!("string"==typeof e||e instanceof String))throw new TypeError("KaTeX can only parse string typed expression");delete(e=new $r(e,t)).gullet.macros.current["\\df@tag"];var r=e.parse();if(delete e.gullet.macros.current["\\current@color"],delete e.gullet.macros.current["\\color"],e.gullet.macros.get("\\df@tag")){if(!t.displayMode)throw new $("\\tag works only in display equations");r=[{type:"tag",mode:"text",body:r,tag:e.subparse([new D0("\\df@tag")])}]}return r}function Qr(e,t,r){if(!r.throwOnError&&e instanceof $)return(t=ee.makeSpan(["katex-error"],[new b(t)])).setAttribute("title",e.toString()),t.setAttribute("style","color:"+r.errorColor),t;throw e}function en(e,t){var r,n,i,a,o,s=new H(t);try{var l=Jr(e,s);return r=l,n=e,o=Yt(i=s),"mathml"===i.output?Vt(r,n,o,i.displayMode,!0):(r="html"===i.output?(a=Nt(r,o),ee.makeSpan(["katex"],[a])):(a=Vt(r,n,o,i.displayMode,!1),n=Nt(r,o),ee.makeSpan(["katex"],[a,n])),Xt(r,i))}catch(t){return Qr(t,e,s)}}var o=function(e,t,r){t.textContent="";e=en(e,r).toNode();t.appendChild(e)},tn=("undefined"!=typeof document&&"CSS1Compat"!==document.compatMode&&("undefined"!=typeof console&&console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype."),o=function(){throw new $("KaTeX doesn't work in quirks mode.")}),{version:"0.15.6",render:o,renderToString:function(e,t){return en(e,t).toMarkup()},ParseError:$,SETTINGS_SCHEMA:E,__parse:function(e,t){t=new H(t);return Jr(e,t)},__renderToDomTree:en,__renderToHTMLTree:function(e,t){var r=new H(t);try{var n=Jr(e,r),i=r;return n=Nt(n,Yt(i)),n=ee.makeSpan(["katex"],[n]),Xt(n,i)}catch(t){return Qr(t,e,r)}},__setFontMetrics:function(e,t){ae[e]=t},__defineSymbol:r,__defineMacro:T,__domTree:{Span:Se,Anchor:Me,SymbolNode:b,SvgNode:Te,PathNode:Be,LineNode:Ce}});return q.default}),function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("katex"));else if("function"==typeof define&&define.amd)define(["katex"],t);else{var r,n="object"==typeof exports?t(require("katex")):t(e.katex);for(r in n)("object"==typeof exports?exports:e)[r]=n[r]}}("undefined"!=typeof self?self:this,function(t){return function(){"use strict";var r={771:function(e){e.exports=t}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;t=n[e]={exports:{}};return r[e](t,t.exports,i),t.exports}i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,{a:t}),t},i.d=function(e,t){for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};var e=i(771),a=i.n(e),e=document.body.getElementsByTagName("script");return(e=Array.prototype.slice.call(e)).forEach(function(e){if(!e.type||!e.type.match(/math\/tex/i))return-1;var t=null!=e.type.match(/mode\s*=\s*display(;|\s|\n|$)/),r=document.createElement(t?"div":"span");r.setAttribute("class",t?"equation":"inline-equation");try{a().render(e.text,r,{displayMode:t})}catch(t){r.textContent=e.text}e.parentNode.replaceChild(r,e)}),{}.default}()}),function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("katex")):"function"==typeof define&&define.amd?define(["katex"],t):"object"==typeof exports?exports.renderMathInElement=t(require("katex")):e.renderMathInElement=t(e.katex)}("undefined"!=typeof self?self:this,function(m){return function(){"use strict";var r={771:function(e){e.exports=m}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;t=n[e]={exports:{}};return r[e](t,t.exports,i),t.exports}i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,{a:t}),t},i.d=function(e,t){for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};var e,s,l,a,t,o={};return i.d(o,{default:function(){return t}}),e=i(771),s=i.n(e),l=/^\\begin{/,a=function(e,t){var r=function(t,e){for(var r,n=[],i=new RegExp("("+e.map(function(e){return e.left.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")}).join("|")+")");-1!==(r=t.search(i));){0<r&&(n.push({type:"text",data:t.slice(0,r)}),t=t.slice(r));var a=e.findIndex(function(e){return t.startsWith(e.left)});if(-1===(r=function(e,t,r){for(var n=r,i=0,a=e.length;n<t.length;){var o=t[n];if(i<=0&&t.slice(n,n+a)===e)return n;"\\"===o?n++:"{"===o?i++:"}"===o&&i--,n++}return-1}(e[a].right,t,e[a].left.length)))break;var o=t.slice(0,r+e[a].right.length),s=l.test(o)?o:t.slice(e[a].left.length,r);n.push({type:"math",data:s,rawData:o,display:e[a].display}),t=t.slice(r+e[a].right.length)}return""!==t&&n.push({type:"text",data:t}),n}(e,t.delimiters);if(1===r.length&&"text"===r[0].type)return null;for(var n=document.createDocumentFragment(),i=0;i<r.length;i++)if("text"===r[i].type)n.appendChild(document.createTextNode(r[i].data));else{var a=document.createElement("span"),o=r[i].data;t.displayMode=r[i].display;try{t.preProcess&&(o=t.preProcess(o)),s().render(o,a,t)}catch(e){if(!(e instanceof s().ParseError))throw e;t.errorCallback("KaTeX auto-render: Failed to parse `"+r[i].data+"` with ",e),n.appendChild(document.createTextNode(r[i].rawData));continue}n.appendChild(a)}return n},t=function(e,t){if(!e)throw new Error("No element provided to render");var r,n={};for(r in t)t.hasOwnProperty(r)&&(n[r]=t[r]);n.delimiters=n.delimiters||[{left:"$$",right:"$$",display:!0},{left:"\\(",right:"\\)",display:!1},{left:"\\begin{equation}",right:"\\end{equation}",display:!0},{left:"\\begin{align}",right:"\\end{align}",display:!0},{left:"\\begin{alignat}",right:"\\end{alignat}",display:!0},{left:"\\begin{gather}",right:"\\end{gather}",display:!0},{left:"\\begin{CD}",right:"\\end{CD}",display:!0},{left:"\\[",right:"\\]",display:!0}],n.ignoredTags=n.ignoredTags||["script","noscript","style","textarea","pre","code","option"],n.ignoredClasses=n.ignoredClasses||[],n.errorCallback=n.errorCallback||console.error,n.macros=n.macros||{},h(e,n)},o.default;function h(e,r){for(var t=0;t<e.childNodes.length;t++){var n,i=e.childNodes[t];3===i.nodeType?(n=a(i.textContent,r))&&(t+=n.childNodes.length-1,e.replaceChild(n,i)):1===i.nodeType&&function(){var t=" "+i.className+" ";-1===r.ignoredTags.indexOf(i.nodeName.toLowerCase())&&r.ignoredClasses.every(function(e){return-1===t.indexOf(" "+e+" ")})&&h(i,r)}()}}}()}),document.addEventListener("DOMContentLoaded",function(){renderMathInElement(document.body,{delimiters:[{left:"$$",right:"$$",display:!0},{left:"$",right:"$",display:!1},{left:"\\(",right:"\\)",display:!1},{left:"\\[",right:"\\]",display:!0}],throwOnError:!1})});
\ No newline at end of file diff --git a/static/mstile-150x150.png b/static/mstile-150x150.png Binary files differindex 41ce573..7a18d2b 100644 --- a/static/mstile-150x150.png +++ b/static/mstile-150x150.png diff --git a/static/package.json b/static/package.json deleted file mode 100644 index fae08c9..0000000 --- a/static/package.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "tinysearch-engine", - "collaborators": [ - "Matthias Endler <matthias-endler@gmx.net>" - ], - "description": "A tiny search engine for static websites", - "version": "0.6.3", - "license": "Apache-2.0/MIT", - "files": [ - "tinysearch_engine_bg.wasm", - "tinysearch_engine.js", - "tinysearch_engine.d.ts" - ], - "module": "tinysearch_engine.js", - "homepage": "https://github.com/mre/tinysearch", - "types": "tinysearch_engine.d.ts", - "sideEffects": false -}
\ No newline at end of file diff --git a/static/search.js b/static/search.js deleted file mode 100644 index 61c67c0..0000000 --- a/static/search.js +++ /dev/null @@ -1,343 +0,0 @@ -// in page results when press enter or click search icon from search box -function closeSearchNow() { - const main = document.querySelector("main"); - main.innerHTML = window.main -} -function goSearchNow() { - const main = document.querySelector("main"); - if (!window.main) { - window.main = main.innerHTML - }; - var results = document.getElementById("suggestions");// suggestions div generated by search box - - var ResultsClone = results.cloneNode(true);// make a clone of the results, so that we can alter it - ResultsClone.id = "results";// alter the id of our clone, so that we can apply different css style - - var headerDiv = document.createElement("div");// create a div element - - var headerContent = '<form name="closeSearch"><h2><button type="submit" title="Close Search"><i class="svgs x"></i></button> Results For: '.concat(document.getElementById("searchinput").value, "</h2></form>");// header to use at top of results page - - headerDiv.innerHTML = headerContent;// document element div (headerDiv), set the inner contents to our header html (headerContent) - - ResultsClone.insertBefore(headerDiv, ResultsClone.firstChild);//insert our header div at the top of the page - - main.innerHTML = ResultsClone.outerHTML;//display ResultsClone.outerHTML as the page - results.innerHTML = "";// clear the suggestions div popup - document.getElementById("searchinput").value = "";// clear the search input box - document.body.contains(document.closeSearch) && (document.closeSearch.onsubmit = function() { closeSearchNow() }) - return false -} -window.onload = function() { - document.body.contains(document.goSearch) && (document.goSearch.onsubmit = function() { return goSearchNow() }) -}; - -// Everything Below this line For Suggestsions as you type in search box -var suggestions = document.getElementById("suggestions"); -var searchinput = document.getElementById("searchinput"); - -/* Close search suggestion popup list */ -function closeAllLists(elmnt) { - var suggestions = document.getElementById("suggestions"); - while (suggestions.firstChild) { - suggestions.removeChild(suggestions.firstChild); - } -} - -function inputFocus(e) { - - if (e.keyCode === 191//forward slash - && document.activeElement.tagName !== "INPUT" - && document.activeElement.tagName !== "TEXTAREA") { - e.preventDefault(); - searchinput.focus(); - suggestions.classList.remove('d-none'); - } - - if (e.keyCode === 27 ) {//escape - searchinput.blur(); - suggestions.classList.add('d-none'); - closeAllLists(); - } - - const focusableSuggestions= suggestions.querySelectorAll('a'); - if (suggestions.classList.contains('d-none') - || focusableSuggestions.length === 0) { - return; - } - const focusable= [...focusableSuggestions]; - const index = focusable.indexOf(document.activeElement); - - let nextIndex = 0; - - if (e.keyCode === 38) {//up arrow - e.preventDefault(); - nextIndex= index > 0 ? index-1 : 0; - focusableSuggestions[nextIndex].focus(); - } - else if (e.keyCode === 40) {//down arrow - e.preventDefault(); - nextIndex= index+1 < focusable.length ? index+1 : index; - focusableSuggestions[nextIndex].focus(); - } - -} - -document.addEventListener("keydown", inputFocus); -document.addEventListener("click", function(event) {suggestions.contains(event.target) || suggestions.classList.add("d-none")}); - -// Get substring by bytes -// If using JavaScript inline substring method, it will return error codes -// Source: https://www.52pojie.cn/thread-1059814-1-1.html -function substringByByte(str, maxLength) { - var result = ""; - var flag = false; - var len = 0; - var length = 0; - var length2 = 0; - for (var i = 0; i < str.length; i++) { - var code = str.codePointAt(i).toString(16); - if (code.length > 4) { - i++; - if ((i + 1) < str.length) { - flag = str.codePointAt(i + 1).toString(16) == "200d"; - } - } - if (flag) { - len += getByteByHex(code); - if (i == str.length - 1) { - length += len; - if (length <= maxLength) { - result += str.substr(length2, i - length2 + 1); - } else { - break - } - } - } else { - if (len != 0) { - length += len; - length += getByteByHex(code); - if (length <= maxLength) { - result += str.substr(length2, i - length2 + 1); - length2 = i + 1; - } else { - break - } - len = 0; - continue; - } - length += getByteByHex(code); - if (length <= maxLength) { - if (code.length <= 4) { - result += str[i] - } else { - result += str[i - 1] + str[i] - } - length2 = i + 1; - } else { - break - } - } - } - return result; -} - -// Get the string bytes from binary -function getByteByBinary(binaryCode) { - // Binary system, starts with `0b` in ES6 - // Octal number system, starts with `0` in ES5 and starts with `0o` in ES6 - // Hexadecimal, starts with `0x` in both ES5 and ES6 - var byteLengthDatas = [0, 1, 2, 3, 4]; - var len = byteLengthDatas[Math.ceil(binaryCode.length / 8)]; - return len; -} - -// Get the string bytes from hexadecimal -function getByteByHex(hexCode) { - return getByteByBinary(parseInt(hexCode, 16).toString(2)); -} - -/* -Source: - - https://github.com/nextapps-de/flexsearch#index-documents-field-search - - https://raw.githack.com/nextapps-de/flexsearch/master/demo/autocomplete.html - - http://elasticlunr.com/ - - https://github.com/getzola/zola/blob/master/docs/static/search.js - - https://github.com/aaranxu/adidoks/blob/main/static/js/search.js -*/ -(function(){ - var index = elasticlunr.Index.load(window.searchIndex); - searchinput.addEventListener('input', show_results, true); - suggestions.addEventListener('click', accept_suggestion, true); - - function show_results(){ - var value = this.value.trim(); - var options = { - bool: "OR", - fields: { - title: {boost: 2}, - body: {boost: 1}, - } - }; - var results = index.search(value, options); - - var entry, childs = suggestions.childNodes; - var i = 0, len = results.length; - var items = value.split(/\s+/); - suggestions.classList.remove('d-none'); - - results.forEach(function(page) { - if (page.doc.body !== '') { - entry = document.createElement('div'); - - entry.innerHTML = '<a href><span></span><span></span></a>'; - - a = entry.querySelector('a'), - t = entry.querySelector('span:first-child'), - d = entry.querySelector('span:nth-child(2)'); - a.href = page.ref; - t.textContent = page.doc.title; - d.innerHTML = makeTeaser(page.doc.body, items); - - suggestions.appendChild(entry); - } - }); - - while(childs.length > len){ - suggestions.removeChild(childs[i]) - } - - } - - function accept_suggestion(){ - - while(suggestions.lastChild){ - - suggestions.removeChild(suggestions.lastChild); - } - - return false; - } - - // Taken from mdbook - // The strategy is as follows: - // First, assign a value to each word in the document: - // Words that correspond to search terms (stemmer aware): 40 - // Normal words: 2 - // First word in a sentence: 8 - // Then use a sliding window with a constant number of words and count the - // sum of the values of the words within the window. Then use the window that got the - // maximum sum. If there are multiple maximas, then get the last one. - // Enclose the terms in <b>. - function makeTeaser(body, terms) { - var TERM_WEIGHT = 40; - var NORMAL_WORD_WEIGHT = 2; - var FIRST_WORD_WEIGHT = 8; - var TEASER_MAX_WORDS = 30; - - var stemmedTerms = terms.map(function (w) { - return elasticlunr.stemmer(w.toLowerCase()); - }); - var termFound = false; - var index = 0; - var weighted = []; // contains elements of ["word", weight, index_in_document] - - // split in sentences, then words - var sentences = body.toLowerCase().split(". "); - for (var i in sentences) { - var words = sentences[i].split(/[\s\n]/); - var value = FIRST_WORD_WEIGHT; - for (var j in words) { - - var word = words[j]; - - if (word.length > 0) { - for (var k in stemmedTerms) { - if (elasticlunr.stemmer(word).startsWith(stemmedTerms[k])) { - value = TERM_WEIGHT; - termFound = true; - } - } - weighted.push([word, value, index]); - value = NORMAL_WORD_WEIGHT; - } - - index += word.length; - index += 1; // ' ' or '.' if last word in sentence - } - - index += 1; // because we split at a two-char boundary '. ' - } - - if (weighted.length === 0) { - if (body.length !== undefined && body.length > TEASER_MAX_WORDS * 10) { - return body.substring(0, TEASER_MAX_WORDS * 10) + '...'; - } else { - return body; - } - } - - var windowWeights = []; - var windowSize = Math.min(weighted.length, TEASER_MAX_WORDS); - // We add a window with all the weights first - var curSum = 0; - for (var i = 0; i < windowSize; i++) { - curSum += weighted[i][1]; - } - windowWeights.push(curSum); - - for (var i = 0; i < weighted.length - windowSize; i++) { - curSum -= weighted[i][1]; - curSum += weighted[i + windowSize][1]; - windowWeights.push(curSum); - } - - // If we didn't find the term, just pick the first window - var maxSumIndex = 0; - if (termFound) { - var maxFound = 0; - // backwards - for (var i = windowWeights.length - 1; i >= 0; i--) { - if (windowWeights[i] > maxFound) { - maxFound = windowWeights[i]; - maxSumIndex = i; - } - } - } - - var teaser = []; - var startIndex = weighted[maxSumIndex][2]; - for (var i = maxSumIndex; i < maxSumIndex + windowSize; i++) { - var word = weighted[i]; - if (startIndex < word[2]) { - // missing text from index to start of `word` - teaser.push(body.substring(startIndex, word[2])); - startIndex = word[2]; - } - - // add <em/> around search terms - if (word[1] === TERM_WEIGHT) { - teaser.push("<b>"); - } - - startIndex = word[2] + word[0].length; - // Check the string is ascii characters or not - var re = /^[\x00-\xff]+$/ - if (word[1] !== TERM_WEIGHT && word[0].length >= 12 && !re.test(word[0])) { - // If the string's length is too long, it maybe a Chinese/Japance/Korean article - // if using substring method directly, it may occur error codes on emoji chars - var strBefor = body.substring(word[2], startIndex); - var strAfter = substringByByte(strBefor, 12); - teaser.push(strAfter); - } else { - teaser.push(body.substring(word[2], startIndex)); - } - - if (word[1] === TERM_WEIGHT) { - teaser.push("</b>"); - } - } - teaser.push("…"); - return teaser.join(""); - } -document.body.contains(document.goSearch) && (document.goSearch.onsubmit = function() { return goSearchNow() }) -}()); diff --git a/static/search_bundle.min.js b/static/search_bundle.min.js deleted file mode 100644 index 4f68789..0000000 --- a/static/search_bundle.min.js +++ /dev/null @@ -1 +0,0 @@ -function closeSearchNow(){const d=document.querySelector("main");d.innerHTML=window.main}function goSearchNow(){const d=document.querySelector("main");window.main||(window.main=d.innerHTML);var e=document.getElementById("suggestions"),o=e.cloneNode(!0),t=(o.id="results",document.createElement("div")),s='<form name="closeSearch"><h2><button type="submit" title="Close Search"><i class="svgs x"></i></button> Results For: '.concat(document.getElementById("searchinput").value,"</h2></form>");return t.innerHTML=s,o.insertBefore(t,o.firstChild),d.innerHTML=o.outerHTML,e.innerHTML="",document.getElementById("searchinput").value="",document.body.contains(document.closeSearch)&&(document.closeSearch.onsubmit=function(){closeSearchNow()}),!1}window.searchIndex={fields:["title","body"],pipeline:["trimmer","stopWordFilter","stemmer"],ref:"id",version:"0.9.5",index:{body:{root:{docs:{},df:0,0:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:2},"https://abridge.netlify.app/overview-images/":{tf:6.557438524302}},df:2,c:{docs:{},df:0,0:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}},1:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:2.23606797749979},"https://abridge.netlify.app/overview-images/":{tf:6},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:3,"&":{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,"!":{docs:{},df:0,d:{docs:{},df:0,o:{docs:{},df:0,c:{docs:{},df:0,t:{docs:{},df:0,y:{docs:{},df:0,p:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}}}}}}},".":{docs:{},df:0,8:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}},0:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772},"https://abridge.netlify.app/overview-images/":{tf:3.4641016151377544}},df:2,"&":{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,"/":{docs:{},df:0,h:{docs:{},df:0,t:{docs:{},df:0,m:{docs:{},df:0,l:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}}}}}}}},0:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1},5:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1},6:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1},c:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1,1:{docs:{},df:0,3:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}},t:{docs:{},df:0,a:{docs:{},df:0,x:{docs:{},df:0,o:{docs:{},df:0,n:{docs:{},df:0,o:{docs:{},df:0,m:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}},1:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-images/":{tf:2.6457513110645907}},df:2,0:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1},1:{docs:{},df:0,1:{docs:{},df:0,1:{docs:{},df:0,1:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}},6:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1},l:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1},z:{docs:{},df:0,'"':{docs:{},df:0,"/":{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,"&":{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,p:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{},df:0,h:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}}}}}}}}}}}}},2:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-images/":{tf:3.872983346207417}},df:2,l:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1,e:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}},3:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-images/":{tf:2.449489742783178}},df:2,l:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1,1:{docs:{},df:0,3:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}},4:{docs:{"https://abridge.netlify.app/overview-images/":{tf:4.242640687119285}},df:1,h:{docs:{},df:0,7:{docs:{},df:0,c:{docs:{},df:0,3:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}},l:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}},5:{docs:{"https://abridge.netlify.app/overview-images/":{tf:2.449489742783178}},df:1,h:{docs:{},df:0,5:{docs:{},df:0,l:{docs:{},df:0,1:{docs:{},df:0,3:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}}},6:{docs:{},df:0,c:{docs:{},df:0,1:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}},7:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:1,c:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}},8:{docs:{"https://abridge.netlify.app/overview-images/":{tf:3},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2,4:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1},c:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1,0:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1},1:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}},h:{docs:{},df:0,6:{docs:{},df:0,l:{docs:{},df:0,1:{docs:{},df:0,7:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}},z:{docs:{},df:0,'"':{docs:{},df:0,"/":{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,"&":{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,"/":{docs:{},df:0,s:{docs:{},df:0,v:{docs:{},df:0,g:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}}}},p:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{},df:0,h:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}}}}}}}}}}}}},9:{docs:{"https://abridge.netlify.app/overview-images/":{tf:3.1622776601683795}},df:1,2:{docs:{},df:0,x:{docs:{},df:0,1:{docs:{},df:0,9:{docs:{},df:0,2:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1,".":{docs:{},df:0,p:{docs:{},df:0,n:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}},m:{docs:{},df:0,".":{docs:{},df:0,p:{docs:{},df:0,n:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}},3:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}},b:{docs:{},df:0,a:{docs:{},df:0,s:{docs:{},df:0,e:{docs:{},df:0,_:{docs:{},df:0,u:{docs:{},df:0,r:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}},c:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1,2:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}},l:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1},s:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/privacy/":{tf:1}},df:1}}},2:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-images/":{tf:6},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:3,"&":{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,h:{docs:{},df:0,t:{docs:{},df:0,m:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}}}},0:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-images/":{tf:2.23606797749979}},df:2,1:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1,5:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},2:{docs:{},df:0,2:{docs:{"https://abridge.netlify.app/privacy/":{tf:1}},df:1}},6:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1},9:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1},v:{docs:{},df:0,5:{docs:{},df:0,l:{docs:{},df:0,7:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}},1:{docs:{"https://abridge.netlify.app/overview-images/":{tf:2.449489742783178}},df:1,4:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1},c:{docs:{},df:0,0:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}},l:{docs:{},df:0,5:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}},2:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.7320508075688772}},df:1,2:{docs:{},df:0,2:{docs:{},df:0,2:{docs:{},df:0,2:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}},c:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:1,0:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:1}}},3:{docs:{},df:0,l:{docs:{},df:0,1:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}},4:{docs:{"https://abridge.netlify.app/overview-images/":{tf:2.23606797749979}},df:1,7:{docs:{},df:0,c:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}},5:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:1,2:{docs:{},df:0,0:{docs:{},df:0,0:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}},6:{docs:{"https://abridge.netlify.app/overview-images/":{tf:2.23606797749979}},df:1,c:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1},l:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}},7:{docs:{},df:0,c:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}},8:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1,3:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1},9:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}},9:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1,3:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1},9:{docs:{},df:0,c:{docs:{},df:0,0:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}},c:{docs:{},df:0,4:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}},l:{docs:{},df:0,1:{docs:{},df:0,8:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}},2:{docs:{},df:0,4:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}},t:{docs:{},df:0,i:{docs:{},df:0,t:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}},3:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772},"https://abridge.netlify.app/overview-images/":{tf:6.557438524302}},df:2,"&":{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,h:{docs:{},df:0,e:{docs:{},df:0,a:{docs:{},df:0,d:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}}}}}}},0:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-images/":{tf:2.6457513110645907}},df:2,2:{docs:{},df:0,c:{docs:{},df:0,0:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}},1:{docs:{},df:0,c:{docs:{},df:0,2:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}},2:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1,4:{docs:{},df:0,c:{docs:{},df:0,1:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}},3:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1,v:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}},5:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1,c:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}},6:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:1},7:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1},8:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.7320508075688772}},df:1,c:{docs:{},df:0,1:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}},l:{docs:{},df:0,2:{docs:{},df:0,9:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}},9:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1},d:{docs:{},df:0,e:{docs:{},df:0,s:{docs:{},df:0,c:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{},df:0,p:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}},l:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1,9:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}},u:{docs:{},df:0,s:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}},v:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}},4:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-images/":{tf:5.477225575051661},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:3,0:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:1,0:{docs:{},df:0,".":{docs:{},df:0,w:{docs:{},df:0,e:{docs:{},df:0,b:{docs:{},df:0,p:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1.4142135623730951}},df:1}}}}}},a:{docs:{},df:0,1:{docs:{},df:0,1:{docs:{},df:0,6:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}},1:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:1},3:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1,c:{docs:{},df:0,0:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}},5:{docs:{"https://abridge.netlify.app/overview-images/":{tf:2}},df:1},6:{docs:{},df:0,c:{docs:{},df:0,2:{docs:{},df:0,7:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}},7:{docs:{"https://abridge.netlify.app/overview-images/":{tf:2}},df:1},8:{docs:{},df:0,9:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}},9:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1,c:{docs:{},df:0,0:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}},d:{docs:{},df:0,e:{docs:{},df:0,f:{docs:{},df:0,a:{docs:{},df:0,u:{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,_:{docs:{},df:0,l:{docs:{},df:0,a:{docs:{},df:0,n:{docs:{},df:0,g:{docs:{},df:0,u:{docs:{},df:0,a:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}}}}},h:{docs:{},df:0,7:{docs:{},df:0,l:{docs:{},df:0,2:{docs:{},df:0,1:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}},l:{docs:{},df:0,2:{docs:{},df:0,4:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}},5:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}},u:{docs:{},df:0,s:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}},z:{docs:{},df:0,m:{docs:{},df:0,4:{docs:{},df:0,0:{docs:{},df:0,2:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}}},5:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1},"https://abridge.netlify.app/overview-images/":{tf:5.5677643628300215},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:3,"#":{docs:{},df:0,t:{docs:{},df:0,h:{docs:{},df:0,e:{docs:{},df:0,m:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}},0:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.7320508075688772}},df:1},1:{docs:{},df:0,2:{docs:{},df:0,x:{docs:{},df:0,5:{docs:{},df:0,1:{docs:{},df:0,2:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1,".":{docs:{},df:0,p:{docs:{},df:0,n:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}},c:{docs:{},df:0,0:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}},2:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:1,c:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1},z:{docs:{},df:0,'"':{docs:{},df:0,"/":{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,"&":{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,p:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{},df:0,h:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}}}}}}}}}}}}},3:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:1},5:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1},6:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:1,c:{docs:{},df:0,0:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}},7:{docs:{},df:0,c:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}},8:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1},c:{docs:{},df:0,3:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}},h:{docs:{},df:0,6:{docs:{},df:0,l:{docs:{},df:0,2:{docs:{},df:0,3:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}},l:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1,4:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}},u:{docs:{},df:0,s:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}},v:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1},z:{docs:{},df:0,'"':{docs:{},df:0,"/":{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,"&":{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,"/":{docs:{},df:0,g:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,"&":{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,p:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{},df:0,h:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}}}}}}}}},6:{docs:{"https://abridge.netlify.app/about/":{tf:1},"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-images/":{tf:5.0990195135927845}},df:3,"&":{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,"/":{docs:{},df:0,h:{docs:{},df:0,e:{docs:{},df:0,a:{docs:{},df:0,d:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}}}}}}}},0:{docs:{},df:0,"*":{docs:{},df:0,6:{docs:{},df:0,0:{docs:{},df:0,"*":{docs:{},df:0,2:{docs:{},df:0,4:{docs:{},df:0,"*":{docs:{},df:0,3:{docs:{},df:0,0:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}},0:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}},1:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1},4:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:1,0:{docs:{},df:0,".":{docs:{},df:0,w:{docs:{},df:0,e:{docs:{},df:0,b:{docs:{},df:0,p:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:2}},df:1}}}}}}},5:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:1},7:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:1},c:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1,3:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}},k:{docs:{},df:0,b:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1}},df:1}},l:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.7320508075688772}},df:1}},7:{docs:{"https://abridge.netlify.app/overview-images/":{tf:5}},df:1,"#":{docs:{},df:0,"[":{docs:{},df:0,a:{docs:{},df:0,c:{docs:{},df:0,t:{docs:{},df:0,i:{docs:{},df:0,x:{docs:{},df:0,_:{docs:{},df:0,w:{docs:{},df:0,e:{docs:{},df:0,b:{docs:{},df:0,":":{docs:{},df:0,":":{docs:{},df:0,m:{docs:{},df:0,a:{docs:{},df:0,i:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}}}}}}},"&":{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,b:{docs:{},df:0,o:{docs:{},df:0,d:{docs:{},df:0,y:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}}}}}}},1:{docs:{},df:0,z:{docs:{},df:0,'"':{docs:{},df:0,"/":{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,"&":{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,p:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{},df:0,h:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}}}}}}}}}}}}},b:{docs:{},df:0,u:{docs:{},df:0,i:{docs:{},df:0,l:{docs:{},df:0,d:{docs:{},df:0,_:{docs:{},df:0,s:{docs:{},df:0,e:{docs:{},df:0,a:{docs:{},df:0,r:{docs:{},df:0,c:{docs:{},df:0,h:{docs:{},df:0,_:{docs:{},df:0,i:{docs:{},df:0,n:{docs:{},df:0,d:{docs:{},df:0,e:{docs:{},df:0,x:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}}}}}}}},l:{docs:{},df:0,2:{docs:{},df:0,2:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}},z:{docs:{},df:0,'"':{docs:{},df:0,"/":{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,"&":{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,p:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{},df:0,h:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}}}}}}}}}}}}},8:{docs:{"https://abridge.netlify.app/overview-images/":{tf:3.1622776601683795},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2,'"':{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:2}}}},4:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:1},5:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1},6:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1},7:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:1},a:{docs:{},df:0,s:{docs:{},df:0,y:{docs:{},df:0,n:{docs:{},df:0,c:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}},m:{docs:{},df:0,i:{docs:{},df:0,n:{docs:{},df:0,i:{docs:{},df:0,f:{docs:{},df:0,y:{docs:{},df:0,_:{docs:{},df:0,h:{docs:{},df:0,t:{docs:{},df:0,m:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}},9:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-images/":{tf:3}},df:2,"&":{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,"/":{docs:{},df:0,b:{docs:{},df:0,o:{docs:{},df:0,d:{docs:{},df:0,y:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}}}}}}}},0:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1,0:{docs:{},df:0,0:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1.4142135623730951}},df:1}}},5:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1},6:{docs:{},df:0,0:{docs:{},df:0,".":{docs:{},df:0,w:{docs:{},df:0,e:{docs:{},df:0,b:{docs:{},df:0,p:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1.4142135623730951}},df:1}}}}}}},f:{docs:{},df:0,e:{docs:{},df:0,e:{docs:{},df:0,d:{docs:{},df:0,_:{docs:{},df:0,f:{docs:{},df:0,i:{docs:{},df:0,l:{docs:{},df:0,e:{docs:{},df:0,n:{docs:{},df:0,a:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}},l:{docs:{},df:0,3:{docs:{},df:0,6:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}},4:{docs:{},df:0,9:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}},_:{docs:{},df:0,s:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,v:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,"[":{docs:{},df:0,"'":{docs:{},df:0,r:{docs:{},df:0,e:{docs:{},df:0,q:{docs:{},df:0,u:{docs:{},df:0,e:{docs:{},df:0,s:{docs:{},df:0,t:{docs:{},df:0,_:{docs:{},df:0,m:{docs:{},df:0,e:{docs:{},df:0,t:{docs:{},df:0,h:{docs:{},df:0,o:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}}},s:{docs:{},df:0,s:{docs:{},df:0,i:{docs:{},df:0,o:{docs:{},df:0,n:{docs:{},df:0,"[":{docs:{},df:0,"'":{docs:{},df:0,p:{docs:{},df:0,f:{docs:{},df:0,a:{docs:{},df:0,_:{docs:{},df:0,t:{docs:{},df:0,o:{docs:{},df:0,k:{docs:{},df:0,e:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}},a:{docs:{},df:0,b:{docs:{},df:0,b:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1,e:{docs:{},df:0,v:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}},o:{docs:{},df:0,v:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},r:{docs:{},df:0,i:{docs:{},df:0,d:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/about/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-abridge/":{tf:2.23606797749979},"https://abridge.netlify.app/overview-code-blocks/":{tf:2.23606797749979}},df:3,e:{docs:{},df:0,".":{docs:{},df:0,c:{docs:{},df:0,s:{docs:{},df:0,s:{docs:{"https://abridge.netlify.app/about/":{tf:1},"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:2}}}}}}}}},s:{docs:{},df:0,"(":{docs:{},df:0,l:{docs:{},df:0,a:{docs:{},df:0,s:{docs:{},df:0,t:{docs:{},df:0,t:{docs:{},df:0,e:{docs:{},df:0,m:{docs:{},df:0,p:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}},c:{docs:{},df:0,c:{docs:{},df:0,e:{docs:{},df:0,p:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}},o:{docs:{},df:0,m:{docs:{},df:0,p:{docs:{},df:0,l:{docs:{},df:0,i:{docs:{},df:0,s:{docs:{},df:0,h:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}},u:{docs:{},df:0,n:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:2}},df:1,s:{docs:{},df:0,_:{docs:{},df:0,u:{docs:{},df:0,n:{docs:{},df:0,i:{docs:{},df:0,q:{docs:{},df:0,u:{docs:{},df:0,e:{docs:{},df:0,_:{docs:{},df:0,l:{docs:{},df:0,o:{docs:{},df:0,w:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,_:{docs:{},df:0,e:{docs:{},df:0,m:{docs:{},df:0,a:{docs:{},df:0,i:{docs:{},df:0,l:{docs:{},df:0,_:{docs:{},df:0,i:{docs:{},df:0,d:{docs:{},df:0,x:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}}}}}}}}}}}},t:{docs:{},df:0,i:{docs:{},df:0,x:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772}},df:1}},u:{docs:{},df:0,a:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1}}}}},d:{docs:{"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1},"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:3,d:{docs:{"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1},"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1},"https://abridge.netlify.app/overview-math/":{tf:2.449489742783178}},df:3,i:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1.4142135623730951}},df:1}},r:{docs:{},df:0,e:{docs:{},df:0,s:{docs:{},df:0,s:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}},j:{docs:{},df:0,u:{docs:{},df:0,s:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1.4142135623730951}},df:1}}}},m:{docs:{},df:0,i:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}},v:{docs:{},df:0,a:{docs:{},df:0,n:{docs:{},df:0,t:{docs:{},df:0,a:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}}}},f:{docs:{},df:0,f:{docs:{},df:0,e:{docs:{},df:0,c:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1}},df:1}}}}},g:{docs:{},df:0,a:{docs:{},df:0,i:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}},r:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:1}}},l:{docs:{},df:0,i:{docs:{},df:0,c:{docs:{},df:0,e:{docs:{},df:0,2:{docs:{},df:0,3:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},q:{docs:{},df:0,u:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},l:{docs:{},df:0,o:{docs:{},df:0,w:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:2}}},o:{docs:{},df:0,n:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}},r:{docs:{},df:0,e:{docs:{},df:0,a:{docs:{},df:0,d:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}},t:{docs:{"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1},"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1},"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:3,"=":{docs:{},df:0,'"':{docs:{},df:0,f:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-images/":{tf:2.449489742783178}},df:1}}}}},i:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}}},m:{docs:{},df:0,p:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}},n:{docs:{},df:0,d:{docs:{},df:0,"/":{docs:{},df:0,o:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:2.449489742783178}},df:1}}},a:{docs:{},df:0,e:{docs:{},df:0,p:{docs:{},df:0,u:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},r:{docs:{},df:0,o:{docs:{},df:0,i:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772}},df:1}}}}},n:{docs:{},df:0,o:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},o:{docs:{},df:0,t:{docs:{},df:0,h:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.7320508075688772}},df:2}}}},p:{docs:{},df:0,p:{docs:{},df:0,e:{docs:{},df:0,a:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1}},df:1}}},l:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:1}}},q:{docs:{},df:0,u:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},r:{docs:{},df:0,c:{docs:{},df:0,i:{docs:{},df:0,l:{docs:{},df:0,l:{docs:{},df:0,i:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}},e:{docs:{},df:0,a:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1},n:{docs:{},df:0,"'":{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1},"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:2}}}},i:{docs:{},df:0,s:{docs:{},df:0,t:{docs:{},df:0,o:{docs:{},df:0,t:{docs:{},df:0,l:{docs:{},df:0,e:{docs:{},df:0,"'":{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1},2:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}}}},r:{docs:{},df:0,a:{docs:{},df:0,y:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.7320508075688772},"https://abridge.netlify.app/overview-rich-content/":{tf:2.6457513110645907}},df:2}}},t:{docs:{},df:0,i:{docs:{},df:0,c:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2}}}}},s:{docs:{},df:0,p:{docs:{},df:0,e:{docs:{},df:0,c:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}},s:{docs:{},df:0,o:{docs:{},df:0,c:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}},t:{docs:{},df:0,o:{docs:{},df:0,m:{docs:{},df:0,".":{docs:{},df:0,x:{docs:{},df:0,m:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}},t:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{},df:0,b:{docs:{},df:0,u:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:1}}}}}}},u:{docs:{},df:0,d:{docs:{},df:0,i:{docs:{},df:0,o:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:2.8284271247461903}},df:1,"(":{docs:{},df:0,s:{docs:{},df:0,o:{docs:{},df:0,u:{docs:{},df:0,r:{docs:{},df:0,c:{docs:{},df:0,e:{docs:{},df:0,s:{docs:{},df:0,"=":{docs:{},df:0,"[":{docs:{},df:0,'"':{docs:{},df:0,o:{docs:{},df:0,v:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,9:{docs:{},df:0,0:{docs:{},df:0,0:{docs:{},df:0,0:{docs:{},df:0,".":{docs:{},df:0,o:{docs:{},df:0,g:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}}}}}}},t:{docs:{"https://abridge.netlify.app/about/":{tf:1}},df:1}}},g:{docs:{},df:0,m:{docs:{},df:0,e:{docs:{},df:0,n:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}},t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:2.8284271247461903}},df:1,o:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1.4142135623730951}},df:1,m:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2}}},p:{docs:{},df:0,a:{docs:{},df:0,u:{docs:{},df:0,s:{docs:{"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1}},df:1}}},l:{docs:{},df:0,a:{docs:{},df:0,y:{docs:{"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-rich-content/":{tf:1.4142135623730951}},df:3}}}},r:{docs:{},df:0,e:{docs:{},df:0,n:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1.7320508075688772}},df:1}}}}}}},v:{docs:{},df:0,o:{docs:{},df:0,i:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}},w:{docs:{},df:0,h:{docs:{},df:0,i:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}},b:{docs:{},df:0,$:{docs:{},df:0,2:{docs:{},df:0,5:{docs:{},df:0,4:{docs:{},df:0,$:{docs:{},df:0,2:{docs:{},df:0,4:{docs:{},df:0,9:{docs:{},df:0,$:{docs:{},df:0,1:{docs:{},df:0,2:{docs:{},df:0,7:{docs:{},df:0,$:{docs:{},df:0,1:{docs:{},df:0,2:{docs:{},df:0,4:{docs:{},df:0,$:{docs:{},df:0,1:{docs:{},df:0,2:{docs:{},df:0,3:{docs:{},df:0,$:{docs:{},df:0,1:{docs:{},df:0,1:{docs:{},df:0,3:{docs:{},df:0,$:{docs:{},df:0,8:{docs:{},df:0,8:{docs:{},df:0,$:{docs:{},df:0,8:{docs:{},df:0,3:{docs:{},df:0,$:{docs:{},df:0,7:{docs:{},df:0,4:{docs:{},df:0,$:{docs:{},df:0,6:{docs:{},df:0,1:{docs:{},df:0,$:{docs:{},df:0,5:{docs:{},df:0,5:{docs:{},df:0,$:{docs:{},df:0,5:{docs:{},df:0,4:{docs:{},df:0,$:{docs:{},df:0,3:{docs:{},df:0,8:{docs:{},df:0,$:{docs:{},df:0,3:{docs:{},df:0,1:{docs:{},df:0,$:{docs:{},df:0,3:{docs:{},df:0,0:{docs:{},df:0,$:{docs:{},df:0,2:{docs:{},df:0,8:{docs:{},df:0,$:{docs:{},df:0,2:{docs:{},df:0,7:{docs:{},df:0,$:{docs:{},df:0,2:{docs:{},df:0,2:{docs:{},df:0,$:{docs:{},df:0,2:{docs:{},df:0,1:{docs:{},df:0,$:{docs:{},df:0,1:{docs:{},df:0,9:{docs:{},df:0,$:{docs:{},df:0,1:{docs:{},df:0,7:{docs:{},df:0,$:{docs:{},df:0,1:{docs:{},df:0,6:{docs:{},df:0,$:{docs:{},df:0,1:{docs:{},df:0,2:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},a:{docs:{},df:0,c:{docs:{},df:0,k:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1,g:{docs:{},df:0,r:{docs:{},df:0,o:{docs:{},df:0,u:{docs:{},df:0,n:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-images/":{tf:4}},df:1,_:{docs:{},df:0,c:{docs:{},df:0,o:{docs:{},df:0,l:{docs:{},df:0,o:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}},t:{docs:{},df:0,i:{docs:{},df:0,c:{docs:{},df:0,k:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}},n:{docs:{},df:0,a:{docs:{},df:0,n:{docs:{},df:0,a:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:1}}},d:{docs:{},df:0,w:{docs:{},df:0,i:{docs:{},df:0,d:{docs:{},df:0,t:{docs:{},df:0,h:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}}}},s:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1}},df:1},i:{docs:{"https://abridge.netlify.app/overview-math/":{tf:2.23606797749979}},df:1,c:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:1}}}},e:{docs:{},df:0,a:{docs:{},df:0,u:{docs:{},df:0,t:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1}},df:1}}}},f:{docs:{},df:0,o:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/about/":{tf:1},"https://abridge.netlify.app/overview-abridge/":{tf:1},"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:3}}},g:{docs:{},df:0,i:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}},t:{docs:{},df:0,t:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}},i:{docs:{},df:0,t:{docs:{},df:0,m:{docs:{},df:0,a:{docs:{},df:0,p:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}},l:{docs:{},df:0,o:{docs:{},df:0,c:{docs:{},df:0,k:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:2.23606797749979},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:2},"https://abridge.netlify.app/overview-math/":{tf:1.7320508075688772}},df:3,q:{docs:{},df:0,u:{docs:{},df:0,o:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:2.23606797749979}},df:1}}}}}}}},m:{docs:{},df:0,e:{docs:{},df:0,2:{docs:{},df:0,8:{docs:{},df:0,0:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}},o:{docs:{},df:0,b:{docs:{},df:0,2:{docs:{},df:0,7:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},o:{docs:{},df:0,l:{docs:{},df:0,e:{docs:{},df:0,a:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772}},df:1}}}}},r:{docs:{},df:0,d:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},e:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}},t:{docs:{},df:0,h:{docs:{"https://abridge.netlify.app/about/":{tf:1},"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:2}},x:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},r:{docs:{},df:0,o:{docs:{},df:0,w:{docs:{},df:0,s:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1},"https://abridge.netlify.app/overview-rich-content/":{tf:2.8284271247461903},"https://abridge.netlify.app/privacy/":{tf:1}},df:3}}}}}}},c:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:2}},df:1,a:{docs:{},df:0,l:{docs:{},df:0,c:{docs:{},df:0,u:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}},l:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}},t:{docs:{},df:0,e:{docs:{},df:0,g:{docs:{},df:0,o:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}},h:{docs:{},df:0,a:{docs:{},df:0,n:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2}},r:{docs:{},df:0,s:{docs:{},df:0,e:{docs:{},df:0,t:{docs:{},df:0,"=":{docs:{},df:0,'"':{docs:{},df:0,u:{docs:{},df:0,t:{docs:{},df:0,f:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:2}}}}}}}}}},e:{docs:{},df:0,c:{docs:{},df:0,k:{docs:{},df:0,_:{docs:{},df:0,l:{docs:{},df:0,a:{docs:{},df:0,n:{docs:{},df:0,g:{docs:{},df:0,u:{docs:{},df:0,a:{docs:{},df:0,g:{docs:{},df:0,e:{docs:{},df:0,"(":{docs:{},df:0,f:{docs:{},df:0,a:{docs:{},df:0,l:{docs:{},df:0,s:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}}}}}},e:{docs:{},df:0,s:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},r:{docs:{},df:0,o:{docs:{},df:0,m:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772}},df:1}}}}},i:{docs:{},df:0,t:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},e:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},l:{docs:{},df:0,a:{docs:{},df:0,s:{docs:{},df:0,s:{docs:{"https://abridge.netlify.app/about/":{tf:1},"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:5,"=":{docs:{},df:0,'"':{docs:{},df:0,s:{docs:{},df:0,v:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}},i:{docs:{},df:0,c:{docs:{},df:0,k:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}},e:{docs:{},df:0,n:{docs:{},df:0,t:{docs:{},df:0,".":{docs:{},df:0,w:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{},df:0,t:{docs:{},df:0,e:{docs:{},df:0,_:{docs:{},df:0,p:{docs:{},df:0,o:{docs:{},df:0,i:{docs:{},df:0,n:{docs:{},df:0,t:{docs:{},df:0,s:{docs:{},df:0,"(":{docs:{},df:0,d:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{},df:0,a:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}}}}},o:{docs:{},df:0,s:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1,s:{docs:{},df:0,e:{docs:{},df:0,a:{docs:{},df:0,r:{docs:{},df:0,c:{docs:{},df:0,h:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}},o:{docs:{},df:0,d:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:2.6457513110645907},"https://abridge.netlify.app/overview-images/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:2.23606797749979}},df:3},y:{docs:{},df:0,3:{docs:{},df:0,3:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},l:{docs:{},df:0,o:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},m:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1},m:{docs:{},df:0,e:{docs:{},df:0,n:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1}},df:1}}},o:{docs:{},df:0,n:{docs:{},df:0,m:{docs:{},df:0,a:{docs:{},df:0,r:{docs:{},df:0,k:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}},s:{docs:{},df:0,a:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},u:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:1}}},p:{docs:{},df:0,a:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-images/":{tf:1.7320508075688772}},df:2}}}},n:{docs:{},df:0,c:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{},df:0,"(":{docs:{},df:0,d:{docs:{},df:0,o:{docs:{},df:0,c:{docs:{},df:0,u:{docs:{},df:0,m:{docs:{},df:0,e:{docs:{},df:0,n:{docs:{},df:0,t:{docs:{},df:0,".":{docs:{},df:0,g:{docs:{},df:0,e:{docs:{},df:0,t:{docs:{},df:0,e:{docs:{},df:0,l:{docs:{},df:0,e:{docs:{},df:0,m:{docs:{},df:0,e:{docs:{},df:0,n:{docs:{},df:0,t:{docs:{},df:0,b:{docs:{},df:0,y:{docs:{},df:0,i:{docs:{},df:0,d:{docs:{},df:0,"(":{docs:{},df:0,'"':{docs:{},df:0,s:{docs:{},df:0,e:{docs:{},df:0,a:{docs:{},df:0,r:{docs:{},df:0,c:{docs:{},df:0,h:{docs:{},df:0,i:{docs:{},df:0,n:{docs:{},df:0,p:{docs:{},df:0,u:{docs:{},df:0,t:{docs:{},df:0,'"':{docs:{},df:0,")":{docs:{},df:0,".":{docs:{},df:0,v:{docs:{},df:0,a:{docs:{},df:0,l:{docs:{},df:0,u:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},d:{docs:{},df:0,i:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},e:{docs:{},df:0,c:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,e:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}},f:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1,i:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1}},df:1,".":{docs:{},df:0,t:{docs:{},df:0,o:{docs:{},df:0,m:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-math/":{tf:1}},df:2}}}}},":":{docs:{},df:0,":":{docs:{},df:0,g:{docs:{},df:0,e:{docs:{},df:0,t:{docs:{},df:0,i:{docs:{},df:0,n:{docs:{},df:0,s:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}},u:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1}},df:1}}}}},n:{docs:{},df:0,e:{docs:{},df:0,c:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1}}}},s:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1}},t:{docs:{},df:0,a:{docs:{},df:0,c:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/contact/":{tf:1}},df:1}},i:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-images/":{tf:2}},df:1}}},e:{docs:{},df:0,n:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-images/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:4,"/":{docs:{},df:0,f:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:1,s:{docs:{},df:0,".":{docs:{},df:0,s:{docs:{},df:0,v:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-images/":{tf:2}},df:1}}}}}}}}}},o:{docs:{},df:0,v:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,9:{docs:{},df:0,0:{docs:{},df:0,0:{docs:{},df:0,0:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1.7320508075688772}},df:1,".":{docs:{},df:0,f:{docs:{},df:0,l:{docs:{},df:0,a:{docs:{},df:0,c:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}},m:{docs:{},df:0,p:{docs:{},df:0,3:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}},o:{docs:{},df:0,g:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}},w:{docs:{},df:0,a:{docs:{},df:0,v:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}},_:{docs:{},df:0,a:{docs:{},df:0,v:{docs:{},df:0,1:{docs:{},df:0,".":{docs:{},df:0,m:{docs:{},df:0,p:{docs:{},df:0,4:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1.4142135623730951}},df:1}}}}}}},v:{docs:{},df:0,p:{docs:{},df:0,9:{docs:{},df:0,".":{docs:{},df:0,w:{docs:{},df:0,e:{docs:{},df:0,b:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1.4142135623730951}},df:1}}}}}}}}}}}}}}}}}}}},x:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1,":":{docs:{},df:0,":":{docs:{},df:0,n:{docs:{},df:0,e:{docs:{},df:0,w:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}},r:{docs:{},df:0,o:{docs:{},df:0,l:{docs:{},df:0,s:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1.4142135623730951}},df:1}}}}}}}},v:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}},o:{docs:{},df:0,k:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1.4142135623730951},"https://abridge.netlify.app/privacy/":{tf:1}},df:4}}},p:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1}},df:1}},r:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1,e:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:1,m:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},r:{docs:{},df:0,e:{docs:{},df:0,c:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}},u:{docs:{},df:0,r:{docs:{},df:0,t:{docs:{},df:0,e:{docs:{},df:0,s:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}}},v:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}},r:{docs:{},df:0,e:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/about/":{tf:1},"https://abridge.netlify.app/overview-code-blocks/":{tf:2.449489742783178},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1},"https://abridge.netlify.app/overview-rich-content/":{tf:1.4142135623730951}},df:4,u:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}},s:{docs:{},df:0,s:{docs:{"https://abridge.netlify.app/about/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-abridge/":{tf:1},"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:4}},t:{docs:{},df:0,r:{docs:{},df:0,l:{docs:{},df:0,"+":{docs:{},df:0,a:{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,"+":{docs:{},df:0,d:{docs:{},df:0,e:{docs:{},df:0,l:{docs:{},df:0,e:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}}}}}}}}},u:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1,l:{docs:{},df:0,l:{docs:{},df:0,e:{docs:{},df:0,c:{docs:{},df:0,u:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}},m:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:1},r:{docs:{},df:0,r:{docs:{},df:0,e:{docs:{},df:0,n:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}},s:{docs:{},df:0,a:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},t:{docs:{},df:0,o:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}}},d:{docs:{},df:0,3:{docs:{},df:0,c:{docs:{},df:0,3:{docs:{},df:0,n:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}},"=":{docs:{},df:0,'"':{docs:{},df:0,m:{docs:{},df:0,2:{docs:{},df:0,0:{docs:{},df:0,0:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}},2:{docs:{},df:0,7:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}},3:{docs:{},df:0,3:{docs:{},df:0,9:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}},6:{docs:{},df:0,0:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}},5:{docs:{},df:0,6:{docs:{},df:0,5:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}},7:{docs:{},df:0,0:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}},9:{docs:{},df:0,9:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}},a:{docs:{},df:0,i:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},n:{docs:{},df:0,d:{docs:{},df:0,a:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},t:{docs:{},df:0,a:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772},"https://abridge.netlify.app/privacy/":{tf:1}},df:2},e:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1},"https://abridge.netlify.app/privacy/":{tf:1}},df:2}},y:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}},e:{docs:{},df:0,c:{docs:{},df:0,o:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},f:{docs:{},df:0,a:{docs:{},df:0,u:{docs:{},df:0,l:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-code-blocks/":{tf:2.6457513110645907},"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-images/":{tf:1}},df:5}}}}},m:{docs:{},df:0,o:{docs:{"https://abridge.netlify.app/about/":{tf:1}},df:1,n:{docs:{},df:0,s:{docs:{},df:0,t:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}},s:{docs:{},df:0,c:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{},df:0,p:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}},i:{docs:{},df:0,g:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/about/":{tf:1}},df:1}},r:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:1}}}},i:{docs:{},df:0,e:{docs:{},df:0,"(":{docs:{},df:0,'"':{docs:{},df:0,i:{docs:{},df:0,n:{docs:{},df:0,v:{docs:{},df:0,a:{docs:{},df:0,l:{docs:{},df:0,i:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}},f:{docs:{},df:0,f:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-rich-content/":{tf:2}},df:2}}}},r:{docs:{},df:0,e:{docs:{},df:0,c:{docs:{},df:0,t:{docs:{},df:0,l:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:1}}}}}},s:{docs:{},df:0,p:{docs:{},df:0,l:{docs:{},df:0,a:{docs:{},df:0,y:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772},"https://abridge.netlify.app/overview-images/":{tf:1},"https://abridge.netlify.app/overview-math/":{tf:1}},df:3}}}}}},j:{docs:{},df:0,a:{docs:{},df:0,n:{docs:{},df:0,g:{docs:{},df:0,o:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}},o:{docs:{},df:0,c:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2,u:{docs:{},df:0,m:{docs:{},df:0,e:{docs:{},df:0,n:{docs:{},df:0,t:{docs:{},df:0,"&":{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,"/":{docs:{},df:0,t:{docs:{},df:0,i:{docs:{},df:0,t:{docs:{},df:0,l:{docs:{},df:0,e:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:2}}}}}}}}}}}}},".":{docs:{},df:0,c:{docs:{},df:0,r:{docs:{},df:0,e:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{},df:0,e:{docs:{},df:0,e:{docs:{},df:0,l:{docs:{},df:0,e:{docs:{},df:0,m:{docs:{},df:0,e:{docs:{},df:0,n:{docs:{},df:0,t:{docs:{},df:0,"(":{docs:{},df:0,'"':{docs:{},df:0,d:{docs:{},df:0,i:{docs:{},df:0,v:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}}}}}}}},g:{docs:{},df:0,e:{docs:{},df:0,t:{docs:{},df:0,e:{docs:{},df:0,l:{docs:{},df:0,e:{docs:{},df:0,m:{docs:{},df:0,e:{docs:{},df:0,n:{docs:{},df:0,t:{docs:{},df:0,b:{docs:{},df:0,y:{docs:{},df:0,i:{docs:{},df:0,d:{docs:{},df:0,"(":{docs:{},df:0,'"':{docs:{},df:0,s:{docs:{},df:0,e:{docs:{},df:0,a:{docs:{},df:0,r:{docs:{},df:0,c:{docs:{},df:0,h:{docs:{},df:0,i:{docs:{},df:0,n:{docs:{},df:0,p:{docs:{},df:0,u:{docs:{},df:0,t:{docs:{},df:0,'"':{docs:{},df:0,")":{docs:{},df:0,".":{docs:{},df:0,v:{docs:{},df:0,a:{docs:{},df:0,l:{docs:{},df:0,u:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}}}}}}},u:{docs:{},df:0,g:{docs:{},df:0,g:{docs:{},df:0,e:{docs:{},df:0,s:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}}}}}},q:{docs:{},df:0,u:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,y:{docs:{},df:0,s:{docs:{},df:0,e:{docs:{},df:0,l:{docs:{},df:0,e:{docs:{},df:0,c:{docs:{},df:0,t:{docs:{},df:0,o:{docs:{},df:0,r:{docs:{},df:0,"(":{docs:{},df:0,'"':{docs:{},df:0,m:{docs:{},df:0,a:{docs:{},df:0,i:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1}}}}}}}}}}}}}}}}}}}}}}}}}},e:{docs:{},df:0,s:{docs:{},df:0,n:{docs:{},df:0,"'":{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:2.449489742783178}},df:1}}}}},l:{docs:{},df:0,e:{docs:{},df:0,s:{docs:{},df:0,s:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},t:{docs:{},df:0,e:{docs:{},df:0,n:{docs:{},df:0,d:{docs:{},df:0,i:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}}}},l:{docs:{},df:0,o:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},o:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:1}},u:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},n:{docs:{},df:0,"'":{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},u:{docs:{},df:0,r:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},x:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1}},df:1,"&":{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,"/":{docs:{},df:0,s:{docs:{},df:0,c:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{},df:0,p:{docs:{},df:0,t:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1}},df:1}}}}}}}}}}}}}}}},e:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:2}},df:1,".":{docs:{},df:0,i:{docs:{},df:0,n:{docs:{},df:0,n:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,h:{docs:{},df:0,t:{docs:{},df:0,m:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772}},df:1}}}}}}}}}},"^":{docs:{},df:0,"{":{docs:{},df:0,i:{docs:{},df:0,"\\":{docs:{},df:0,p:{docs:{},df:0,i:{docs:{},df:0,"}":{docs:{},df:0,"+":{docs:{},df:0,1:{docs:{},df:0,"=":{docs:{},df:0,0:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1.7320508075688772}},df:1}}}}}}}}}}},a:{docs:{},df:0,c:{docs:{},df:0,h:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-rich-content/":{tf:2}},df:2}},s:{docs:{},df:0,i:{docs:{},df:0,l:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1},"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1}},df:3}}}},t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},d:{docs:{},df:0,i:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1.7320508075688772}},df:1,i:{docs:{},df:0,u:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}},f:{docs:{},df:0,f:{docs:{},df:0,e:{docs:{},df:0,c:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/privacy/":{tf:1}},df:1}}}}},i:{docs:{},df:0,u:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},l:{docs:{},df:0,e:{docs:{},df:0,m:{docs:{},df:0,e:{docs:{},df:0,n:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:2.23606797749979},"https://abridge.netlify.app/overview-rich-content/":{tf:1.4142135623730951}},df:2}}}}},i:{docs:{},df:0,f:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1}}},m:{docs:{},df:0,a:{docs:{},df:0,i:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2,c:{docs:{},df:0,o:{docs:{},df:0,n:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:2}},df:1}}}},s:{docs:{},df:0,u:{docs:{},df:0,b:{docs:{},df:0,j:{docs:{},df:0,e:{docs:{},df:0,c:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:2}},df:1}}}}}}}}}},b:{docs:{},df:0,e:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1},"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1},"https://abridge.netlify.app/overview-images/":{tf:1}},df:3}}}},n:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1,a:{docs:{},df:0,b:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/about/":{tf:1},"https://abridge.netlify.app/overview-math/":{tf:2.6457513110645907}},df:2}}},d:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1},"https://abridge.netlify.app/overview-math/":{tf:1.4142135623730951}},df:3,i:{docs:{},df:0,g:{docs:{},df:0,n:{docs:{},df:0,a:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}},g:{docs:{},df:0,i:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},i:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},o:{docs:{},df:0,u:{docs:{},df:0,g:{docs:{},df:0,h:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1}},df:1}}}},t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1,e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}},o:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.7320508075688772}},df:1,s:{docs:{},df:0,s:{docs:{},df:0,e:{docs:{},df:0,q:{docs:{},df:0,u:{docs:{},df:0,o:{docs:{},df:0,d:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}}},t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},q:{docs:{},df:0,u:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1}},df:1}}}},r:{docs:{},df:0,u:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},s:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1,p:{docs:{},df:0,e:{docs:{},df:0,c:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}},q:{docs:{},df:0,u:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}},t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.7320508075688772}},df:1,c:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1.7320508075688772}},df:1},u:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},v:{docs:{},df:0,e:{docs:{},df:0,l:{docs:{},df:0,e:{docs:{},df:0,c:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1,t:{docs:{},df:0,u:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}},r:{docs:{},df:0,y:{docs:{},df:0,b:{docs:{},df:0,o:{docs:{},df:0,d:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}}}},x:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1,a:{docs:{},df:0,c:{docs:{},df:0,t:{docs:{},df:0,l:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}},m:{docs:{},df:0,p:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1},"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1},"https://abridge.netlify.app/overview-math/":{tf:1.4142135623730951}},df:4}}}},c:{docs:{},df:0,e:{docs:{},df:0,p:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1}},r:{docs:{},df:0,p:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}},e:{docs:{},df:0,c:{docs:{},df:0,u:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}},r:{docs:{},df:0,u:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},i:{docs:{},df:0,s:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/about/":{tf:1},"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:2}}},p:{docs:{},df:0,a:{docs:{},df:0,n:{docs:{},df:0,d:{docs:{},df:0,t:{docs:{},df:0,a:{docs:{},df:0,b:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}},e:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}},l:{docs:{},df:0,i:{docs:{},df:0,c:{docs:{},df:0,i:{docs:{},df:0,t:{docs:{},df:0,l:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}},q:{docs:{},df:0,u:{docs:{},df:0,a:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}}},t:{docs:{},df:0,e:{docs:{},df:0,n:{docs:{},df:0,s:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1.7320508075688772}},df:1}}},r:{docs:{},df:0,a:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1},"https://abridge.netlify.app/overview-math/":{tf:2.449489742783178}},df:2}}}}},f:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:2.449489742783178}},df:1,"(":{docs:{},df:0,"\\":{docs:{},df:0,x:{docs:{},df:0,i:{docs:{},df:0,")":{docs:{},df:0,",":{docs:{},df:0,e:{docs:{},df:0,"^":{docs:{},df:0,"{":{docs:{},df:0,2:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1}},df:1}}}}},"\\":{docs:{},df:0,",":{docs:{},df:0,e:{docs:{},df:0,"^":{docs:{},df:0,"{":{docs:{},df:0,2:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1}},df:1}}}}}}}}}},x:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1.4142135623730951}},df:1}},a:{docs:{},df:0,c:{docs:{},df:0,e:{docs:{},df:0,a:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:1,t:{docs:{},df:0,a:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},t:{docs:{"https://abridge.netlify.app/about/":{tf:1}},df:1}},i:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1}},df:1}},l:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1,b:{docs:{},df:0,a:{docs:{},df:0,c:{docs:{},df:0,k:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1,_:{docs:{},df:0,a:{docs:{},df:0,l:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}},p:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{},df:0,h:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}}}}}}},s:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772},"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1},"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1},"https://abridge.netlify.app/overview-math/":{tf:1}},df:4},t:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1,"=":{docs:{},df:0,'"':{docs:{},df:0,i:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}}},s:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/about/":{tf:1},"https://abridge.netlify.app/overview-abridge/":{tf:1},"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:3,e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}},e:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{},df:0,u:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/about/":{tf:1},"https://abridge.netlify.app/overview-math/":{tf:1}},df:2}}}},e:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1},l:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}},r:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-images/":{tf:5.477225575051661}},df:1,s:{docs:{},df:0,"]":{docs:{},df:0,"(":{docs:{},df:0,f:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{},df:0,s:{docs:{},df:0,".":{docs:{},df:0,s:{docs:{},df:0,v:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}}}}}}}}}}}}}},h:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1,"=":{docs:{},df:0,4:{docs:{},df:0,8:{docs:{},df:0,0:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}},i:{docs:{},df:0,e:{docs:{},df:0,l:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}},g:{docs:{},df:0,u:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:1}}},l:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:2},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-math/":{tf:1},"https://abridge.netlify.app/overview-rich-content/":{tf:2}},df:4,n:{docs:{},df:0,a:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:1}}}},l:{docs:{},df:0,"=":{docs:{},df:0,'"':{docs:{},df:0,"#":{docs:{},df:0,8:{docs:{},df:0,f:{docs:{},df:0,1:{docs:{},df:0,f:{docs:{},df:0,1:{docs:{},df:0,d:{docs:{},df:0,'"':{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,"&":{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,p:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{},df:0,h:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}},f:{docs:{},df:0,f:{docs:{},df:0,f:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:1}}}}}}}},r:{docs:{},df:0,s:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-images/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:4}}}},l:{docs:{},df:0,a:{docs:{},df:0,c:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}},u:{docs:{},df:0,i:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1}},df:1}}}},m:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1,".":{docs:{},df:0,p:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{},df:0,n:{docs:{},df:0,t:{docs:{},df:0,l:{docs:{},df:0,n:{docs:{},df:0,"(":{docs:{},df:0,'"':{docs:{},df:0,h:{docs:{},df:0,e:{docs:{},df:0,l:{docs:{},df:0,l:{docs:{},df:0,o:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}}}}}}},n:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1},o:{docs:{},df:0,l:{docs:{},df:0,d:{docs:{},df:0,a:{docs:{},df:0,b:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1}},df:1}}},l:{docs:{},df:0,o:{docs:{},df:0,w:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},o:{docs:{},df:0,t:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},r:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1,a:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1},"https://abridge.netlify.app/overview-rich-content/":{tf:2.6457513110645907}},df:2}},u:{docs:{},df:0,l:{docs:{},df:0,a:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}},u:{docs:{},df:0,n:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},r:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}},p:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{},df:0,h:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1,"=":{docs:{},df:0,'"':{docs:{},df:0,o:{docs:{},df:0,v:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,9:{docs:{},df:0,0:{docs:{},df:0,0:{docs:{},df:0,0:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}}}}}}}}}}},r:{docs:{},df:0,o:{docs:{},df:0,n:{docs:{},df:0,t:{docs:{},df:0,m:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1}},df:1}}}}}}},u:{docs:{},df:0,i:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.7320508075688772}},df:1}}}},u:{docs:{},df:0,g:{docs:{},df:0,a:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},n:{docs:{"https://abridge.netlify.app/about/":{tf:1}},df:1,c:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1,t:{docs:{},df:0,i:{docs:{},df:0,o:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:2.6457513110645907}},df:1}}}}}},s:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,n:{docs:{},df:0,a:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}},w:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1,"=":{docs:{},df:0,6:{docs:{},df:0,4:{docs:{},df:0,0:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}}},g:{docs:{"https://abridge.netlify.app/about/":{tf:1}},df:1,e:{docs:{},df:0,n:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/about/":{tf:1}},df:1}}},s:{docs:{},df:0,t:{docs:{},df:0,u:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-images/":{tf:2.449489742783178}},df:1,e:{docs:{},df:0,'"':{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.7320508075688772}},df:1,";":{docs:{},df:0,"&":{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,b:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,r:{docs:{},df:0,e:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}},o:{docs:{},df:0,o:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}},s:{docs:{},df:0,a:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}}}}}}}}}}}}}},".":{docs:{},df:0,s:{docs:{},df:0,v:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-images/":{tf:2.8284271247461903}},df:1}}}},i:{docs:{},df:0,m:{docs:{},df:0,a:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-images/":{tf:2.449489742783178}},df:1,e:{docs:{},df:0,":":{docs:{},df:0,h:{docs:{},df:0,o:{docs:{},df:0,v:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.7320508075688772}},df:1}}}}}}}}}}}}}},t:{docs:{},df:0,p:{docs:{},df:0,l:{docs:{},df:0,a:{docs:{},df:0,y:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{},df:0,n:{docs:{},df:0,f:{docs:{},df:0,o:{docs:{},df:0,r:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}},s:{docs:{},df:0,p:{docs:{},df:0,e:{docs:{},df:0,c:{docs:{},df:0,i:{docs:{},df:0,a:{docs:{},df:0,l:{docs:{},df:0,i:{docs:{},df:0,z:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{},df:0,i:{docs:{},df:0,o:{docs:{},df:0,n:{docs:{},df:0,i:{docs:{},df:0,n:{docs:{},df:0,f:{docs:{},df:0,o:{docs:{},df:0,"(":{docs:{},df:0,g:{docs:{},df:0,e:{docs:{},df:0,t:{docs:{},df:0,s:{docs:{},df:0,p:{docs:{},df:0,e:{docs:{},df:0,c:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}}}}}}}}}}}},i:{docs:{},df:0,f:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1},"https://abridge.netlify.app/overview-rich-content/":{tf:2.449489742783178}},df:2,"(":{docs:{},df:0,s:{docs:{},df:0,o:{docs:{},df:0,u:{docs:{},df:0,r:{docs:{},df:0,c:{docs:{},df:0,e:{docs:{},df:0,s:{docs:{},df:0,"=":{docs:{},df:0,"[":{docs:{},df:0,'"':{docs:{},df:0,o:{docs:{},df:0,v:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,9:{docs:{},df:0,0:{docs:{},df:0,0:{docs:{},df:0,0:{docs:{},df:0,_:{docs:{},df:0,a:{docs:{},df:0,v:{docs:{},df:0,1:{docs:{},df:0,".":{docs:{},df:0,m:{docs:{},df:0,p:{docs:{},df:0,4:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}}}}}}}}}}},v:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1}},df:1}}},l:{docs:{},df:0,o:{docs:{},df:0,b:{docs:{},df:0,a:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-math/":{tf:2}},df:1}}}}},o:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1,a:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}},e:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1},k:{docs:{},df:0,u:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},o:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1}},df:1},g:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-images/":{tf:2}},df:1,e:{docs:{},df:0,"'":{docs:{"https://abridge.netlify.app/about/":{tf:1}},df:1}}}}},p:{docs:{},df:0,h:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,f:{docs:{},df:0,e:{docs:{},df:0,s:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}}}},s:{docs:{},df:0,e:{docs:{},df:0,a:{docs:{},df:0,r:{docs:{},df:0,c:{docs:{},df:0,h:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}},t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:2.8284271247461903},"https://abridge.netlify.app/overview-images/":{tf:1.7320508075688772},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1},"https://abridge.netlify.app/overview-rich-content/":{tf:3.4641016151377544}},df:4,";":{docs:{},df:0,g:{docs:{},df:0,e:{docs:{},df:0,t:{docs:{},df:0,a:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}},u:{docs:{},df:0,i:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},h:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:2.23606797749979},"https://abridge.netlify.app/overview-images/":{tf:1.7320508075688772}},df:2,1:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1},2:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1,o:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},3:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1},4:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1},5:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1},6:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1},"=":{docs:{},df:0,4:{docs:{},df:0,0:{docs:{},df:0,0:{docs:{"https://abridge.netlify.app/overview-images/":{tf:2.449489742783178}},df:1}}}},a:{docs:{},df:0,l:{docs:{},df:0,f:{docs:{"https://abridge.netlify.app/about/":{tf:1}},df:1}},p:{docs:{},df:0,p:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-images/":{tf:2}},df:1},y:{docs:{},df:0,'"':{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1,";":{docs:{},df:0,"&":{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,b:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,s:{docs:{},df:0,a:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}}}}}}}}}}}}}},".":{docs:{},df:0,s:{docs:{},df:0,v:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-images/":{tf:2}},df:1}}}},i:{docs:{},df:0,m:{docs:{},df:0,a:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:1,e:{docs:{},df:0,":":{docs:{},df:0,h:{docs:{},df:0,o:{docs:{},df:0,v:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}}}}}}}}},r:{docs:{},df:0,i:{docs:{},df:0,o:{docs:{},df:0,s:{docs:{},df:0,a:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}},s:{docs:{},df:0,_:{docs:{},df:0,v:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{},df:0,f:{docs:{},df:0,i:{docs:{},df:0,e:{docs:{},df:0,d:{docs:{},df:0,_:{docs:{},df:0,e:{docs:{},df:0,m:{docs:{},df:0,a:{docs:{},df:0,i:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}}}}}}},e:{docs:{},df:0,a:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:1,e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:1}}},v:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1}},df:1}}},i:{docs:{},df:0,g:{docs:{},df:0,h:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-images/":{tf:2.6457513110645907},"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:2,"=":{docs:{},df:0,'"':{docs:{},df:0,4:{docs:{},df:0,0:{docs:{},df:0,0:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.7320508075688772}},df:1}},8:{docs:{},df:0,0:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1},9:{docs:{},df:0,'"':{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,"&":{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}},l:{docs:{},df:0,l:{docs:{},df:0,o:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:2}},p:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1},"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:2,e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}},r:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-rich-content/":{tf:2.449489742783178}},df:2}},y:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}},i:{docs:{},df:0,g:{docs:{},df:0,h:{docs:{},df:0,e:{docs:{},df:0,s:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},l:{docs:{},df:0,i:{docs:{},df:0,g:{docs:{},df:0,h:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/about/":{tf:1},"https://abridge.netlify.app/overview-abridge/":{tf:1},"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:4}}}}}}}},o:{docs:{},df:0,m:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1}},df:1}},r:{docs:{},df:0,i:{docs:{},df:0,z:{docs:{},df:0,o:{docs:{},df:0,n:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}},v:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-images/":{tf:2.23606797749979}},df:1,"&":{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,"/":{docs:{},df:0,b:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,"&":{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,"/":{docs:{},df:0,d:{docs:{},df:0,i:{docs:{},df:0,v:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-images/":{tf:2}},df:1}}}}}}}}}}}}}}}}}}}}}}}}},r:{docs:{},df:0,e:{docs:{},df:0,f:{docs:{},df:0,"=":{docs:{},df:0,'"':{docs:{},df:0,h:{docs:{},df:0,t:{docs:{},df:0,t:{docs:{},df:0,p:{docs:{},df:0,s:{docs:{},df:0,":":{docs:{},df:0,"/":{docs:{},df:0,"/":{docs:{},df:0,m:{docs:{},df:0,e:{docs:{},df:0,t:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{},df:0,c:{docs:{},df:0,s:{docs:{},df:0,".":{docs:{},df:0,e:{docs:{},df:0,x:{docs:{},df:0,a:{docs:{},df:0,m:{docs:{},df:0,p:{docs:{},df:0,l:{docs:{},df:0,e:{docs:{},df:0,".":{docs:{},df:0,c:{docs:{},df:0,o:{docs:{},df:0,m:{docs:{},df:0,'"':{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,d:{docs:{},df:0,a:{docs:{},df:0,s:{docs:{},df:0,h:{docs:{},df:0,b:{docs:{},df:0,o:{docs:{},df:0,a:{docs:{},df:0,r:{docs:{},df:0,d:{docs:{},df:0,"&":{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,"/":{docs:{},df:0,a:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772}},df:1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},t:{docs:{},df:0,m:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/about/":{tf:1},"https://abridge.netlify.app/overview-abridge/":{tf:1},"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:5,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:2}}},5:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:2}}},t:{docs:{},df:0,p:{docs:{},df:0,s:{docs:{},df:0,":":{docs:{},df:0,"/":{docs:{},df:0,"/":{docs:{},df:0,a:{docs:{},df:0,b:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{},df:0,d:{docs:{},df:0,g:{docs:{},df:0,e:{docs:{},df:0,".":{docs:{},df:0,n:{docs:{},df:0,e:{docs:{},df:0,t:{docs:{},df:0,l:{docs:{},df:0,i:{docs:{},df:0,f:{docs:{},df:0,y:{docs:{},df:0,".":{docs:{},df:0,a:{docs:{},df:0,p:{docs:{},df:0,p:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}}}}}}}}},u:{docs:{},df:0,m:{docs:{},df:0,i:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:2.8284271247461903}},df:1,i:{docs:{},df:0,t:{docs:{},df:0,y:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,5:{docs:{},df:0,5:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1}}}}}}}}}}}},n:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},i:{docs:{},df:0,"'":{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1},v:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1}},df:1}},c:{docs:{},df:0,o:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/about/":{tf:1},"https://abridge.netlify.app/overview-abridge/":{tf:1},"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:3}}},d:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1.7320508075688772}},df:3,"=":{docs:{},df:0,'"':{docs:{},df:0,r:{docs:{},df:0,e:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:1}},o:{docs:{},df:0,o:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:1}}}},s:{docs:{},df:0,a:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-images/":{tf:2}},df:1}}}}},e:{docs:{},df:0,b:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},m:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},f:{docs:{},df:0,r:{docs:{},df:0,a:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1.4142135623730951}},df:2}}}},m:{docs:{},df:0,a:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-images/":{tf:4.898979485566356},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1},"https://abridge.netlify.app/overview-rich-content/":{tf:2}},df:3,e:{docs:{},df:0,"(":{docs:{},df:0,s:{docs:{},df:0,o:{docs:{},df:0,u:{docs:{},df:0,r:{docs:{},df:0,c:{docs:{},df:0,e:{docs:{},df:0,s:{docs:{},df:0,"=":{docs:{},df:0,"[":{docs:{},df:0,'"':{docs:{},df:0,o:{docs:{},df:0,v:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,9:{docs:{},df:0,0:{docs:{},df:0,0:{docs:{},df:0,0:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}},"/":{docs:{},df:0,p:{docs:{},df:0,n:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772}},df:1}}}}}}},g:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:1,"(":{docs:{},df:0,s:{docs:{},df:0,r:{docs:{},df:0,c:{docs:{},df:0,"=":{docs:{},df:0,'"':{docs:{},df:0,".":{docs:{},df:0,"/":{docs:{},df:0,i:{docs:{},df:0,m:{docs:{},df:0,g:{docs:{},df:0,"/":{docs:{},df:0,f:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}}}}}}}},"/":{docs:{},df:0,o:{docs:{},df:0,v:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,v:{docs:{},df:0,i:{docs:{},df:0,e:{docs:{},df:0,w:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}}}}}},f:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}}}}}}}},"/":{docs:{},df:0,f:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}}},h:{docs:{},df:0,o:{docs:{},df:0,v:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:1,e:{docs:{},df:0,r:{docs:{},df:0,"(":{docs:{},df:0,s:{docs:{},df:0,r:{docs:{},df:0,c:{docs:{},df:0,"=":{docs:{},df:0,"[":{docs:{},df:0,'"':{docs:{},df:0,".":{docs:{},df:0,"/":{docs:{},df:0,i:{docs:{},df:0,m:{docs:{},df:0,g:{docs:{},df:0,"/":{docs:{},df:0,f:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{},df:0,s:{docs:{},df:0,".":{docs:{},df:0,s:{docs:{},df:0,v:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}}}}}}}}}}}}},"/":{docs:{},df:0,o:{docs:{},df:0,v:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,v:{docs:{},df:0,i:{docs:{},df:0,e:{docs:{},df:0,w:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}}}}}},f:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{},df:0,s:{docs:{},df:0,".":{docs:{},df:0,s:{docs:{},df:0,v:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}}}}}},p:{docs:{},df:0,o:{docs:{},df:0,r:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772},"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:2}}},r:{docs:{},df:0,o:{docs:{},df:0,v:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}},n:{docs:{},df:0,c:{docs:{},df:0,l:{docs:{},df:0,u:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:2}}},t:{docs:{},df:0,u:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},d:{docs:{},df:0,e:{docs:{},df:0,x:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1,".":{docs:{},df:0,h:{docs:{},df:0,t:{docs:{},df:0,m:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}},i:{docs:{},df:0,v:{docs:{},df:0,i:{docs:{},df:0,d:{docs:{},df:0,u:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}}},f:{docs:{},df:0,l:{docs:{},df:0,u:{docs:{},df:0,x:{docs:{},df:0,d:{docs:{},df:0,b:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772}},df:1,c:{docs:{},df:0,l:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}},o:{docs:{},df:0,r:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1},"https://abridge.netlify.app/privacy/":{tf:1}},df:2}}},t:{docs:{},df:0,y:{docs:{},df:0,"}":{docs:{},df:0,"^":{docs:{},df:0,"\\":{docs:{},df:0,i:{docs:{},df:0,n:{docs:{},df:0,f:{docs:{},df:0,t:{docs:{},df:0,y:{docs:{},df:0,"\\":{docs:{},df:0,h:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1.4142135623730951}},df:1}}}}}}}}}}}}}}},i:{docs:{},df:0,t:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1}}},l:{docs:{},df:0,i:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.7320508075688772},"https://abridge.netlify.app/overview-math/":{tf:1.7320508075688772}},df:3}}},s:{docs:{},df:0,e:{docs:{},df:0,c:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},r:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}},p:{docs:{},df:0,i:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/about/":{tf:1}},df:1}}},t:{docs:{},df:0,e:{docs:{},df:0,a:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}},t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:2}},df:1,"(":{docs:{},df:0,t:{docs:{},df:0,e:{docs:{},df:0,m:{docs:{},df:0,p:{docs:{},df:0,f:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1}}}}}},_:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1.4142135623730951}},df:1,0:{docs:{},df:0,"^":{docs:{},df:0,1:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1}},df:1}}}},e:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1},r:{docs:{},df:0,n:{docs:{},df:0,e:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}}}},o:{docs:{},df:0,":":{docs:{},df:0,":":{docs:{},df:0,r:{docs:{},df:0,e:{docs:{},df:0,s:{docs:{},df:0,u:{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,"&":{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,"(":{docs:{},df:0,")":{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}}}}}}}},p:{docs:{},df:0,s:{docs:{},df:0,a:{docs:{},df:0,m:{docs:{},df:0,u:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}},s:{docs:{},df:0,_:{docs:{},df:0,a:{docs:{},df:0,c:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}},d:{docs:{},df:0,m:{docs:{},df:0,i:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}},o:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1},s:{docs:{},df:0,e:{docs:{},df:0,t:{docs:{},df:0,"(":{docs:{},df:0,$:{docs:{},df:0,_:{docs:{},df:0,s:{docs:{},df:0,e:{docs:{},df:0,s:{docs:{},df:0,s:{docs:{},df:0,i:{docs:{},df:0,o:{docs:{},df:0,n:{docs:{},df:0,"[":{docs:{},df:0,"'":{docs:{},df:0,p:{docs:{},df:0,f:{docs:{},df:0,a:{docs:{},df:0,_:{docs:{},df:0,t:{docs:{},df:0,o:{docs:{},df:0,k:{docs:{},df:0,e:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}}}}}}}},t:{docs:{},df:0,"'":{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1},a:{docs:{},df:0,l:{docs:{},df:0,i:{docs:{},df:0,c:{docs:{},df:0,s:{docs:{},df:0,b:{docs:{},df:0,o:{docs:{},df:0,l:{docs:{},df:0,d:{docs:{},df:0,c:{docs:{},df:0,o:{docs:{},df:0,d:{docs:{},df:0,e:{docs:{},df:0,s:{docs:{},df:0,t:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{},df:0,k:{docs:{},df:0,e:{docs:{},df:0,t:{docs:{},df:0,h:{docs:{},df:0,r:{docs:{},df:0,o:{docs:{},df:0,u:{docs:{},df:0,g:{docs:{},df:0,h:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:1}}}}}}}}}}}}}}}}}}}}}}}}},t:{docs:{},df:0,u:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},e:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:2.449489742783178}},df:2}}}},j:{docs:{},df:0,a:{docs:{},df:0,k:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/about/":{tf:1}},df:1}},n:{docs:{"https://abridge.netlify.app/privacy/":{tf:1}},df:1},v:{docs:{},df:0,a:{docs:{},df:0,s:{docs:{},df:0,c:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{},df:0,p:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/about/":{tf:1},"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:2}}}}}}}}},e:{docs:{},df:0,l:{docs:{},df:0,l:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1},y:{docs:{},df:0,":":{docs:{},df:0,":":{docs:{},df:0,a:{docs:{},df:0,c:{docs:{},df:0,t:{docs:{},df:0,i:{docs:{},df:0,x:{docs:{},df:0,_:{docs:{},df:0,w:{docs:{},df:0,e:{docs:{},df:0,b:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}}}}},i:{docs:{},df:0,e:{docs:{},df:0,i:{docs:{},df:0,k:{docs:{},df:0,u:{docs:{"https://abridge.netlify.app/about/":{tf:1}},df:1}}}}},o:{docs:{},df:0,h:{docs:{},df:0,n:{docs:{},df:0,5:{docs:{},df:0,9:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}},p:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}},s:{docs:{"https://abridge.netlify.app/about/":{tf:1},"https://abridge.netlify.app/overview-abridge/":{tf:1},"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:3,o:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772}},df:1,b:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}},k:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{},df:0,e:{docs:{},df:0,x:{docs:{"https://abridge.netlify.app/overview-math/":{tf:3.605551275463989}},df:1,"(":{docs:{},df:0,b:{docs:{},df:0,l:{docs:{},df:0,o:{docs:{},df:0,c:{docs:{},df:0,k:{docs:{},df:0,"=":{docs:{},df:0,f:{docs:{},df:0,a:{docs:{},df:0,l:{docs:{},df:0,s:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1}},df:1}}}},t:{docs:{},df:0,r:{docs:{},df:0,u:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1}},df:1}}}}}}}}}}}}}},b:{docs:{"https://abridge.netlify.app/about/":{tf:1}},df:1,d:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},e:{docs:{},df:0,r:{docs:{},df:0,r:{docs:{},df:0,y:{docs:{},df:0,2:{docs:{},df:0,3:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}},y:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1}},n:{docs:{},df:0,o:{docs:{},df:0,w:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},l:{docs:{},df:0,a:{docs:{},df:0,b:{docs:{},df:0,o:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},c:{docs:{},df:0,e:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},n:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1,"=":{docs:{},df:0,'"':{docs:{},df:0,e:{docs:{},df:0,n:{docs:{},df:0,'"':{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:2}}}}}}}},u:{docs:{},df:0,a:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772}},df:1}}}}},r:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:2}},df:1,e:{docs:{},df:0,s:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}},s:{docs:{},df:0,t:{docs:{},df:0,_:{docs:{},df:0,l:{docs:{},df:0,o:{docs:{},df:0,g:{docs:{},df:0,i:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}},e:{docs:{},df:0,m:{docs:{},df:0,a:{docs:{},df:0,i:{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,i:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1}}}}}}}},t:{docs:{},df:0,e:{docs:{},df:0,m:{docs:{},df:0,p:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}},t:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}},u:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},y:{docs:{},df:0,o:{docs:{},df:0,u:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1},"https://abridge.netlify.app/overview-images/":{tf:1}},df:2}}}}},e:{docs:{},df:0,s:{docs:{},df:0,s:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}},v:{docs:{},df:0,e:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:2}}}},i:{docs:{},df:0,c:{docs:{},df:0,e:{docs:{},df:0,n:{docs:{},df:0,s:{docs:{"https://abridge.netlify.app/about/":{tf:1.4142135623730951}},df:1}}}},f:{docs:{},df:0,e:{docs:{},df:0,t:{docs:{},df:0,i:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}},g:{docs:{},df:0,h:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/about/":{tf:1},"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:2,h:{docs:{},df:0,o:{docs:{},df:0,u:{docs:{},df:0,s:{docs:{"https://abridge.netlify.app/about/":{tf:1},"https://abridge.netlify.app/overview-abridge/":{tf:1},"https://abridge.netlify.app/overview-images/":{tf:2}},df:3}}}},w:{docs:{},df:0,e:{docs:{},df:0,i:{docs:{},df:0,g:{docs:{},df:0,h:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/about/":{tf:1},"https://abridge.netlify.app/overview-abridge/":{tf:1},"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:3}}}}}}}}},n:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:2},k:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:1}},s:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:2.23606797749979}},df:1,e:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}},o:{docs:{},df:0,a:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1},"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1},"https://abridge.netlify.app/overview-math/":{tf:2.23606797749979}},df:3}},c:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1}}},o:{docs:{},df:0,p:{docs:{"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-rich-content/":{tf:1.4142135623730951}},df:2}},w:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,"(":{docs:{},df:0,e:{docs:{},df:0,m:{docs:{},df:0,a:{docs:{},df:0,i:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}},s:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}},t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2,";":{docs:{},df:0,"!":{docs:{},df:0,d:{docs:{},df:0,o:{docs:{},df:0,c:{docs:{},df:0,t:{docs:{},df:0,y:{docs:{},df:0,p:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2}}}}}}},"&":{docs:{},df:0,l:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}},"/":{docs:{},df:0,a:{docs:{},df:0,u:{docs:{},df:0,d:{docs:{},df:0,i:{docs:{},df:0,o:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}}}}},b:{docs:{},df:0,o:{docs:{},df:0,d:{docs:{},df:0,y:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2}}}}}}},d:{docs:{},df:0,i:{docs:{},df:0,v:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-images/":{tf:2}},df:1}}}}}},h:{docs:{},df:0,2:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}},e:{docs:{},df:0,a:{docs:{},df:0,d:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2}}}}}},t:{docs:{},df:0,m:{docs:{},df:0,l:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2}}}}}}},p:{docs:{},df:0,i:{docs:{},df:0,c:{docs:{},df:0,t:{docs:{},df:0,u:{docs:{},df:0,r:{docs:{},df:0,e:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}}}}}}},s:{docs:{},df:0,t:{docs:{},df:0,y:{docs:{},df:0,l:{docs:{},df:0,e:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.7320508075688772}},df:1}}}}}}}},v:{docs:{},df:0,i:{docs:{},df:0,d:{docs:{},df:0,e:{docs:{},df:0,o:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1.4142135623730951}},df:1}}}}}}}}},"?":{docs:{},df:0,p:{docs:{},df:0,h:{docs:{},df:0,p:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}},a:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772}},df:1,u:{docs:{},df:0,d:{docs:{},df:0,i:{docs:{},df:0,o:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}}}}},b:{docs:{},df:0,o:{docs:{},df:0,d:{docs:{},df:0,y:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2}}}}}}},d:{docs:{},df:0,i:{docs:{},df:0,v:{docs:{"https://abridge.netlify.app/overview-images/":{tf:2.8284271247461903}},df:1,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1},"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1}},df:2}}}}}},f:{docs:{},df:0,i:{docs:{},df:0,g:{docs:{},df:0,u:{docs:{},df:0,r:{docs:{},df:0,e:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,"&":{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,"/":{docs:{},df:0,f:{docs:{},df:0,i:{docs:{},df:0,g:{docs:{},df:0,u:{docs:{},df:0,r:{docs:{},df:0,e:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}}}}}}},h:{docs:{},df:0,1:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1,";":{docs:{},df:0,"—":{docs:{},df:0,"&":{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,h:{docs:{},df:0,6:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}}}}}}}}}}},2:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,"&":{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,b:{docs:{},df:0,u:{docs:{},df:0,t:{docs:{},df:0,t:{docs:{},df:0,o:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}}}}},6:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},e:{docs:{},df:0,a:{docs:{},df:0,d:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2}}}}}},t:{docs:{},df:0,m:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2}}}},i:{docs:{},df:0,m:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.7320508075688772},"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:2,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}},o:{docs:{},df:0,s:{docs:{},df:0,t:{docs:{},df:0,r:{docs:{},df:0,e:{docs:{},df:0,a:{docs:{},df:0,m:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}},m:{docs:{},df:0,e:{docs:{},df:0,t:{docs:{},df:0,a:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:2}}}},p:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,t:{docs:{},df:0,e:{docs:{},df:0,s:{docs:{},df:0,t:{docs:{},df:0,"&":{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,"/":{docs:{},df:0,p:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:2}}}}}}}}}}}}}}}}},i:{docs:{},df:0,c:{docs:{},df:0,t:{docs:{},df:0,u:{docs:{},df:0,r:{docs:{},df:0,e:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1.4142135623730951}},df:1}}}}}}}}}},s:{docs:{},df:0,c:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{},df:0,p:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1.4142135623730951}},df:1}}}}},o:{docs:{},df:0,u:{docs:{},df:0,r:{docs:{},df:0,c:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:3.3166247903554}},df:1,e:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}}}}},t:{docs:{},df:0,d:{docs:{},df:0,i:{docs:{},df:0,o:{docs:{},df:0,".":{docs:{},df:0,h:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}},y:{docs:{},df:0,l:{docs:{},df:0,e:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.7320508075688772}},df:1}}}}}}},v:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}},t:{docs:{},df:0,i:{docs:{},df:0,t:{docs:{},df:0,l:{docs:{},df:0,e:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,e:{docs:{},df:0,x:{docs:{},df:0,a:{docs:{},df:0,m:{docs:{},df:0,p:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:2}}}}}}}}}}}}}}},v:{docs:{},df:0,i:{docs:{},df:0,d:{docs:{},df:0,e:{docs:{},df:0,o:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1.4142135623730951}},df:1,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1.7320508075688772}},df:1}}}}}}}}}},u:{docs:{},df:0,a:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}},m:{docs:{},df:0,a:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1,i:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:2.449489742783178},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2,l:{docs:{},df:0,i:{docs:{},df:0,b:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1,":":{docs:{},df:0,":":{docs:{},df:0,m:{docs:{},df:0,a:{docs:{},df:0,i:{docs:{},df:0,n:{docs:{},df:0,"(":{docs:{},df:0,")":{docs:{},df:0,".":{docs:{},df:0,a:{docs:{},df:0,w:{docs:{},df:0,a:{docs:{},df:0,i:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}},n:{docs:{},df:0,d:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{},df:0,o:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/about/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-abridge/":{tf:1},"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1},"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1},"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:6}}}}}},g:{docs:{},df:0,o:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},i:{docs:{"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1},"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1}},df:2},u:{docs:{},df:0,f:{docs:{},df:0,a:{docs:{},df:0,c:{docs:{},df:0,t:{docs:{},df:0,u:{docs:{},df:0,r:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,v:{docs:{},df:0,o:{docs:{},df:0,l:{docs:{},df:0,k:{docs:{},df:0,s:{docs:{},df:0,w:{docs:{},df:0,a:{docs:{},df:0,g:{docs:{},df:0,e:{docs:{},df:0,n:{docs:{},df:0,t:{docs:{},df:0,o:{docs:{},df:0,y:{docs:{},df:0,o:{docs:{},df:0,t:{docs:{},df:0,a:{docs:{},df:0,f:{docs:{},df:0,o:{docs:{},df:0,r:{docs:{},df:0,d:{docs:{},df:0,h:{docs:{},df:0,o:{docs:{},df:0,n:{docs:{},df:0,d:{docs:{},df:0,a:{docs:{},df:0,c:{docs:{},df:0,h:{docs:{},df:0,e:{docs:{},df:0,v:{docs:{},df:0,r:{docs:{},df:0,o:{docs:{},df:0,l:{docs:{},df:0,e:{docs:{},df:0,t:{docs:{},df:0,b:{docs:{},df:0,m:{docs:{},df:0,w:{docs:{},df:0,h:{docs:{},df:0,y:{docs:{},df:0,u:{docs:{},df:0,n:{docs:{},df:0,d:{docs:{},df:0,a:{docs:{},df:0,i:{docs:{},df:0,a:{docs:{},df:0,u:{docs:{},df:0,d:{docs:{},df:0,i:{docs:{},df:0,n:{docs:{},df:0,i:{docs:{},df:0,s:{docs:{},df:0,s:{docs:{},df:0,a:{docs:{},df:0,n:{docs:{},df:0,k:{docs:{},df:0,i:{docs:{},df:0,a:{docs:{},df:0,m:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,c:{docs:{},df:0,e:{docs:{},df:0,d:{docs:{},df:0,e:{docs:{},df:0,s:{docs:{},df:0,t:{docs:{},df:0,e:{docs:{},df:0,s:{docs:{},df:0,l:{docs:{},df:0,a:{docs:{},df:0,m:{docs:{},df:0,i:{docs:{},df:0,t:{docs:{},df:0,s:{docs:{},df:0,u:{docs:{},df:0,b:{docs:{},df:0,i:{docs:{},df:0,s:{docs:{},df:0,h:{docs:{},df:0,i:{docs:{},df:0,s:{docs:{},df:0,u:{docs:{},df:0,z:{docs:{},df:0,u:{docs:{},df:0,k:{docs:{},df:0,i:{docs:{},df:0,v:{docs:{},df:0,o:{docs:{},df:0,l:{docs:{},df:0,v:{docs:{},df:0,o:{docs:{},df:0,s:{docs:{},df:0,u:{docs:{},df:0,b:{docs:{},df:0,a:{docs:{},df:0,r:{docs:{},df:0,u:{docs:{},df:0,m:{docs:{},df:0,a:{docs:{},df:0,z:{docs:{},df:0,d:{docs:{},df:0,a:{docs:{},df:0,j:{docs:{},df:0,a:{docs:{},df:0,g:{docs:{},df:0,u:{docs:{},df:0,a:{docs:{},df:0,r:{docs:{},df:0,b:{docs:{},df:0,u:{docs:{},df:0,i:{docs:{},df:0,c:{docs:{},df:0,k:{docs:{},df:0,l:{docs:{},df:0,e:{docs:{},df:0,x:{docs:{},df:0,u:{docs:{},df:0,s:{docs:{},df:0,g:{docs:{},df:0,m:{docs:{},df:0,c:{docs:{},df:0,p:{docs:{},df:0,o:{docs:{},df:0,r:{docs:{},df:0,s:{docs:{},df:0,c:{docs:{},df:0,h:{docs:{},df:0,e:{docs:{},df:0,c:{docs:{},df:0,a:{docs:{},df:0,d:{docs:{},df:0,i:{docs:{},df:0,l:{docs:{},df:0,l:{docs:{},df:0,a:{docs:{},df:0,c:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},r:{docs:{},df:0,k:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1,d:{docs:{},df:0,o:{docs:{},df:0,w:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:2.23606797749979}},df:2}}}}}},s:{docs:{},df:0,k:{docs:{},df:0,a:{docs:{},df:0,b:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}},t:{docs:{},df:0,h:{docs:{"https://abridge.netlify.app/overview-math/":{tf:2.6457513110645907}},df:1,_:{docs:{},df:0,a:{docs:{},df:0,u:{docs:{},df:0,t:{docs:{},df:0,o:{docs:{},df:0,_:{docs:{},df:0,r:{docs:{},df:0,e:{docs:{},df:0,n:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-math/":{tf:2.23606797749979}},df:1}}}}}}}}}},e:{docs:{},df:0,m:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-math/":{tf:2.6457513110645907}},df:1}}}}}},x:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1.4142135623730951}},df:1}},b:{docs:{},df:0,":":{docs:{},df:0,1:{docs:{},df:0,2:{docs:{},df:0,0:{docs:{},df:0,0:{docs:{},df:0,p:{docs:{},df:0,x:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1}},df:1}}}}}}}},d:{docs:{},df:0,5:{docs:{},df:0,"(":{docs:{},df:0,u:{docs:{},df:0,n:{docs:{},df:0,i:{docs:{},df:0,q:{docs:{},df:0,i:{docs:{},df:0,d:{docs:{},df:0,"(":{docs:{},df:0,'"':{docs:{},df:0,p:{docs:{},df:0,f:{docs:{},df:0,a:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}}}},e:{docs:{},df:0,a:{docs:{},df:0,s:{docs:{},df:0,u:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1}}}},d:{docs:{},df:0,i:{docs:{},df:0,u:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},m:{docs:{},df:0,o:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:1}}}},n:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1,u:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},s:{docs:{},df:0,s:{docs:{},df:0,a:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},t:{docs:{},df:0,a:{docs:{},df:0,p:{docs:{},df:0,h:{docs:{},df:0,y:{docs:{},df:0,s:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}}},i:{docs:{},df:0,l:{docs:{},df:0,k:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},n:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},t:{docs:{"https://abridge.netlify.app/about/":{tf:1.4142135623730951}},df:1}},o:{docs:{},df:0,d:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1}},df:1,r:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}},l:{docs:{},df:0,e:{docs:{},df:0,s:{docs:{},df:0,t:{docs:{},df:0,r:{docs:{},df:0,u:{docs:{},df:0,n:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}}},o:{docs:{},df:0,r:{docs:{},df:0,r:{docs:{},df:0,o:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}},u:{docs:{},df:0,s:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}},v:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}},p:{docs:{},df:0,3:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1},4:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}},u:{docs:{},df:0,t:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1.4142135623730951}},df:1}}},w:{docs:{},df:0,":":{docs:{},df:0,5:{docs:{},df:0,0:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1}},df:1}}}},y:{docs:{},df:0,v:{docs:{},df:0,a:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{},df:0,a:{docs:{},df:0,b:{docs:{},df:0,l:{docs:{},df:0,e:{docs:{},df:0,1:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1},2:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}},n:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1,".":{docs:{},df:0,i:{docs:{},df:0,n:{docs:{},df:0,n:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,h:{docs:{},df:0,t:{docs:{},df:0,m:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}},a:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1,e:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:2},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2,a:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},t:{docs:{},df:0,u:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},v:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.7320508075688772}},df:1}},b:{docs:{},df:0,s:{docs:{},df:0,p:{docs:{},df:0,";":{docs:{},df:0,s:{docs:{},df:0,o:{docs:{},df:0,r:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:2.449489742783178}},df:1}}}}}}}}},e:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1,a:{docs:{},df:0,r:{docs:{},df:0,l:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/about/":{tf:1}},df:1}}}},c:{docs:{},df:0,e:{docs:{},df:0,s:{docs:{},df:0,s:{docs:{},df:0,a:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1}},df:1}}}}}}},e:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},s:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:1}},w:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1},"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1}},df:3,".":{docs:{},df:0,u:{docs:{},df:0,p:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}},x:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},i:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1},o:{docs:{},df:0,a:{docs:{},df:0,u:{docs:{},df:0,t:{docs:{},df:0,o:{docs:{},df:0,p:{docs:{},df:0,a:{docs:{},df:0,u:{docs:{},df:0,s:{docs:{"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1}},df:1}}}}}}}},c:{docs:{},df:0,t:{docs:{},df:0,u:{docs:{},df:0,r:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}},n:{docs:{},df:0,s:{docs:{},df:0,e:{docs:{},df:0,q:{docs:{},df:0,u:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}},s:{docs:{},df:0,t:{docs:{},df:0,i:{docs:{},df:0,o:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}},t:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1.4142135623730951}},df:1}},e:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2}},v:{docs:{},df:0,e:{docs:{},df:0,m:{docs:{},df:0,b:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},w:{docs:{"https://abridge.netlify.app/about/":{tf:1},"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772},"https://abridge.netlify.app/overview-math/":{tf:1.7320508075688772}},df:3}},u:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1,l:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:3.1622776601683795}},df:1}},m:{docs:{},df:0,b:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2}}}},s:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},o:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1,b:{docs:{},df:0,s:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,v:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{},df:0,o:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1}},df:1}}}}}}}}}},d:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1,t:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{},df:0,q:{docs:{},df:0,u:{docs:{},df:0,a:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}}}}},f:{docs:{},df:0,f:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},i:{docs:{},df:0,c:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},s:{docs:{},df:0,e:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}},g:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}},m:{docs:{},df:0,n:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1,m:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}},n:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:1,c:{docs:{},df:0,l:{docs:{},df:0,i:{docs:{},df:0,c:{docs:{},df:0,k:{docs:{},df:0,"=":{docs:{},df:0,'"':{docs:{},df:0,c:{docs:{},df:0,l:{docs:{},df:0,o:{docs:{},df:0,s:{docs:{},df:0,e:{docs:{},df:0,s:{docs:{},df:0,e:{docs:{},df:0,a:{docs:{},df:0,r:{docs:{},df:0,c:{docs:{},df:0,h:{docs:{},df:0,"(":{docs:{},df:0,")":{docs:{},df:0,'"':{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,"&":{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},p:{docs:{},df:0,t:{docs:{},df:0,i:{docs:{},df:0,o:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:2.23606797749979},"https://abridge.netlify.app/overview-embedded-youtube/":{tf:2},"https://abridge.netlify.app/overview-images/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.7320508075688772}},df:5}}}}},r:{docs:{},df:0,a:{docs:{},df:0,n:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:1}}},d:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1},"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:2}}}},t:{docs:{},df:0,h:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1,w:{docs:{},df:0,i:{docs:{},df:0,s:{docs:{"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1},"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1}},df:2}}}}}}},u:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2,e:{docs:{},df:0,r:{docs:{},df:0,m:{docs:{},df:0,o:{docs:{},df:0,s:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}}},p:{docs:{},df:0,u:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-images/":{tf:2.449489742783178},"https://abridge.netlify.app/overview-math/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-rich-content/":{tf:2}},df:3}}}}},v:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1},"https://abridge.netlify.app/overview-images/":{tf:1},"https://abridge.netlify.app/overview-rich-content/":{tf:1.4142135623730951}},df:3,9:{docs:{},df:0,0:{docs:{},df:0,0:{docs:{},df:0,0:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1.4142135623730951}},df:1,".":{docs:{},df:0,f:{docs:{},df:0,l:{docs:{},df:0,a:{docs:{},df:0,c:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}},m:{docs:{},df:0,p:{docs:{},df:0,3:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}},w:{docs:{},df:0,a:{docs:{},df:0,v:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}},_:{docs:{},df:0,v:{docs:{},df:0,p:{docs:{},df:0,9:{docs:{},df:0,".":{docs:{},df:0,w:{docs:{},df:0,e:{docs:{},df:0,b:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1.4142135623730951}},df:1}}}}}}}}}}}}},a:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}},v:{docs:{},df:0,i:{docs:{},df:0,e:{docs:{},df:0,w:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}}}}},p:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:1,"=":{docs:{},df:0,4:{docs:{},df:0,5:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.7320508075688772}},df:1}}},a:{docs:{},df:0,c:{docs:{},df:0,k:{docs:{},df:0,a:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}},d:{docs:{"https://abridge.netlify.app/overview-images/":{tf:2}},df:1},g:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772},"https://abridge.netlify.app/overview-images/":{tf:1},"https://abridge.netlify.app/overview-math/":{tf:3}},df:4,"'":{docs:{"https://abridge.netlify.app/overview-math/":{tf:1}},df:1}},i:{docs:{},df:0,n:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{},df:0,e:{docs:{},df:0,_:{docs:{},df:0,b:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1}},df:1}}}}}}}}},r:{docs:{},df:0,a:{docs:{},df:0,g:{docs:{},df:0,r:{docs:{},df:0,a:{docs:{},df:0,p:{docs:{},df:0,h:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}},m:{docs:{},df:0,e:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1.4142135623730951}},df:1}}}},i:{docs:{},df:0,s:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1,i:{docs:{"https://abridge.netlify.app/privacy/":{tf:1.4142135623730951}},df:1,c:{docs:{},df:0,u:{docs:{},df:0,l:{docs:{},df:0,a:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1.7320508075688772}},df:1}}}}}},n:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}},s:{docs:{},df:0,s:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1,w:{docs:{},df:0,o:{docs:{},df:0,r:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}},t:{docs:{},df:0,h:{docs:{"https://abridge.netlify.app/overview-images/":{tf:2.8284271247461903},"https://abridge.netlify.app/overview-rich-content/":{tf:1.7320508075688772}},df:2}}},e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-math/":{tf:2.449489742783178}},df:1,c:{docs:{},df:0,e:{docs:{},df:0,n:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}},f:{docs:{},df:0,e:{docs:{},df:0,c:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/about/":{tf:1},"https://abridge.netlify.app/overview-abridge/":{tf:1}},df:2}}}},i:{docs:{},df:0,t:{docs:{},df:0,i:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},s:{docs:{},df:0,o:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/privacy/":{tf:1}},df:1}}}}},h:{docs:{},df:0,p:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}},i:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1.4142135623730951}},df:1,k:{docs:{},df:0,e:{docs:{},df:0,"'":{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1},1:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},l:{docs:{},df:0,a:{docs:{},df:0,c:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:2}},df:1}},n:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1},y:{docs:{"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1},"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:2,e:{docs:{},df:0,r:{docs:{},df:0,l:{docs:{},df:0,e:{docs:{},df:0,v:{docs:{},df:0,e:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1}}}}},n:{docs:{},df:0,a:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1}}}}},l:{docs:{},df:0,i:{docs:{},df:0,s:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1.4142135623730951}},df:1}}}},s:{docs:{},df:0,i:{docs:{},df:0,n:{docs:{},df:0,l:{docs:{},df:0,i:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1,e:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}}}}}}}}},e:{docs:{},df:0,a:{docs:{},df:0,s:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1}},df:1}}},i:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1},p:{docs:{},df:0,g:{docs:{},df:0,s:{docs:{},df:0,q:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}},n:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}},o:{docs:{},df:0,l:{docs:{},df:0,i:{docs:{},df:0,c:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/privacy/":{tf:1}},df:1}}}},r:{docs:{},df:0,e:{docs:{},df:0,c:{docs:{},df:0,u:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},s:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-images/":{tf:1},"https://abridge.netlify.app/posts/":{tf:1}},df:3,f:{docs:{},df:0,i:{docs:{},df:0,x:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}},w:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},r:{docs:{},df:0,a:{docs:{},df:0,c:{docs:{},df:0,t:{docs:{},df:0,i:{docs:{},df:0,c:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1}},df:1}}}},t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},e:{docs:{},df:0,s:{docs:{},df:0,s:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1,u:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772}},df:1}}}},v:{docs:{},df:0,e:{docs:{},df:0,n:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}},i:{docs:{},df:0,o:{docs:{},df:0,u:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}},i:{docs:{},df:0,m:{docs:{},df:0,a:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2}}}},n:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1,"(":{docs:{},df:0,'"':{docs:{},df:0,c:{docs:{},df:0,o:{docs:{},df:0,u:{docs:{},df:0,l:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1}}}}}},g:{docs:{},df:0,e:{docs:{},df:0,t:{docs:{},df:0,p:{docs:{},df:0,l:{docs:{},df:0,a:{docs:{},df:0,y:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{},df:0,n:{docs:{},df:0,f:{docs:{},df:0,o:{docs:{},df:0,r:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}}}}},s:{docs:{},df:0,q:{docs:{},df:0,u:{docs:{},df:0,a:{docs:{},df:0,r:{docs:{},df:0,e:{docs:{},df:0,"(":{docs:{},df:0,2:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}},f:{docs:{},df:0,"(":{docs:{},df:0,'"':{docs:{},df:0,h:{docs:{},df:0,e:{docs:{},df:0,l:{docs:{},df:0,l:{docs:{},df:0,o:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}},v:{docs:{},df:0,a:{docs:{},df:0,c:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/privacy/":{tf:1.4142135623730951}},df:1}}}}},o:{docs:{},df:0,c:{docs:{},df:0,e:{docs:{},df:0,d:{docs:{},df:0,u:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}},f:{docs:{},df:0,i:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:2}}},g:{docs:{},df:0,r:{docs:{},df:0,a:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}},j:{docs:{},df:0,e:{docs:{},df:0,c:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}},p:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,t:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}},v:{docs:{},df:0,i:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/about/":{tf:1},"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:2}}}}},u:{docs:{},df:0,b:{docs:{},df:0,l:{docs:{},df:0,i:{docs:{},df:0,s:{docs:{},df:0,h:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:1}}}}},r:{docs:{},df:0,p:{docs:{},df:0,o:{docs:{},df:0,s:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2}}}}},y:{docs:{},df:0,t:{docs:{},df:0,h:{docs:{},df:0,o:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1,3:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}},q:{docs:{},df:0,u:{docs:{},df:0,a:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1,e:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},e:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:1},i:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.7320508075688772}},df:1,a:{docs:{},df:0,n:{docs:{},df:0,i:{docs:{},df:0,m:{docs:{},df:0,i:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}},t:{docs:{},df:0,a:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1},e:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},b:{docs:{},df:0,u:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},c:{docs:{},df:0,k:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1}},df:1}}},o:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.7320508075688772}},df:1}}}},r:{docs:{},df:0,a:{docs:{},df:0,n:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1},g:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},t:{docs:{},df:0,e:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},i:{docs:{},df:0,a:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1},o:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}},e:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:1,c:{docs:{},df:0,o:{docs:{},df:0,m:{docs:{},df:0,m:{docs:{},df:0,e:{docs:{},df:0,n:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.7320508075688772}},df:1}}}}}}},d:{docs:{},df:0,u:{docs:{},df:0,c:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}},f:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},r:{docs:{},df:0,e:{docs:{},df:0,s:{docs:{},df:0,h:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}},g:{docs:{},df:0,i:{docs:{},df:0,o:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}},u:{docs:{},df:0,l:{docs:{},df:0,a:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}},l:{docs:{"https://abridge.netlify.app/overview-images/":{tf:2.23606797749979}},df:1,i:{docs:{},df:0,a:{docs:{},df:0,b:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}},m:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1},n:{docs:{},df:0,d:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-math/":{tf:2.449489742783178}},df:1}}}},p:{docs:{},df:0,e:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-images/":{tf:2.8284271247461903}},df:1}}},l:{docs:{},df:0,a:{docs:{},df:0,c:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}},r:{docs:{},df:0,e:{docs:{},df:0,s:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:1}}}},q:{docs:{},df:0,u:{docs:{},df:0,i:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1}},df:1,e:{docs:{},df:0,_:{docs:{},df:0,o:{docs:{},df:0,n:{docs:{},df:0,c:{docs:{},df:0,e:{docs:{},df:0,"(":{docs:{},df:0,"'":{docs:{},df:0,c:{docs:{},df:0,o:{docs:{},df:0,m:{docs:{},df:0,m:{docs:{},df:0,o:{docs:{},df:0,n:{docs:{},df:0,".":{docs:{},df:0,p:{docs:{},df:0,h:{docs:{},df:0,p:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}}}}},r:{docs:{},df:0,i:{docs:{},df:0,b:{docs:{},df:0,u:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},o:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},u:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},s:{docs:{},df:0,p:{docs:{},df:0,o:{docs:{},df:0,n:{docs:{},df:0,s:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},u:{docs:{},df:0,l:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772}},df:1,s:{docs:{},df:0,c:{docs:{},df:0,l:{docs:{},df:0,o:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1,e:{docs:{},df:0,".":{docs:{},df:0,f:{docs:{},df:0,i:{docs:{},df:0,r:{docs:{},df:0,s:{docs:{},df:0,t:{docs:{},df:0,c:{docs:{},df:0,h:{docs:{},df:0,i:{docs:{},df:0,l:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}},i:{docs:{},df:0,n:{docs:{},df:0,s:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,t:{docs:{},df:0,b:{docs:{},df:0,e:{docs:{},df:0,f:{docs:{},df:0,o:{docs:{},df:0,r:{docs:{},df:0,e:{docs:{},df:0,"(":{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}}}},o:{docs:{},df:0,u:{docs:{},df:0,t:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,h:{docs:{},df:0,t:{docs:{},df:0,m:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}}},t:{docs:{},df:0,u:{docs:{},df:0,r:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:2.6457513110645907},"https://abridge.netlify.app/overview-rich-content/":{tf:2.23606797749979}},df:2}}}},v:{docs:{},df:0,e:{docs:{},df:0,n:{docs:{},df:0,u:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:1}}}}},i:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1,c:{docs:{},df:0,h:{docs:{"https://abridge.netlify.app/overview-images/":{tf:2.449489742783178},"https://abridge.netlify.app/overview-rich-content/":{tf:3.4641016151377544}},df:2}}},o:{docs:{},df:0,b:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:1},o:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1.7320508075688772},"https://abridge.netlify.app/overview-images/":{tf:2.23606797749979},"https://abridge.netlify.app/overview-math/":{tf:1}},df:3}},u:{docs:{},df:0,n:{docs:{},df:0,d:{docs:{},df:0,"(":{docs:{},df:0,b:{docs:{},df:0,m:{docs:{},df:0,e:{docs:{},df:0,2:{docs:{},df:0,8:{docs:{},df:0,0:{docs:{},df:0,".":{docs:{},df:0,h:{docs:{},df:0,u:{docs:{},df:0,m:{docs:{},df:0,i:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}},p:{docs:{},df:0,r:{docs:{},df:0,e:{docs:{},df:0,s:{docs:{},df:0,s:{docs:{},df:0,u:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}},t:{docs:{},df:0,e:{docs:{},df:0,m:{docs:{},df:0,p:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{},df:0,u:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}}}},w:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}},u:{docs:{},df:0,s:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1,a:{docs:{},df:0,c:{docs:{},df:0,e:{docs:{},df:0,a:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:1}}}}}}}}},s:{docs:{},df:0,a:{docs:{},df:0,l:{docs:{},df:0,a:{docs:{},df:0,m:{docs:{},df:0,a:{docs:{},df:0,n:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}},m:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-images/":{tf:2.8284271247461903},"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:2},p:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},p:{docs:{},df:0,i:{docs:{},df:0,c:{docs:{},df:0,i:{docs:{},df:0,a:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}},c:{docs:{},df:0,o:{docs:{},df:0,p:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}},r:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/about/":{tf:1},"https://abridge.netlify.app/overview-abridge/":{tf:1},"https://abridge.netlify.app/overview-images/":{tf:1}},df:3}}},r:{docs:{},df:0,o:{docs:{},df:0,l:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1,e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}}},e:{docs:{},df:0,a:{docs:{},df:0,r:{docs:{},df:0,c:{docs:{},df:0,h:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:2},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2}}}},c:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{},df:0,u:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},o:{docs:{},df:0,n:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},r:{docs:{},df:0,e:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},t:{docs:{},df:0,i:{docs:{},df:0,o:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-math/":{tf:2.449489742783178}},df:2,_:{docs:{},df:0,n:{docs:{},df:0,a:{docs:{},df:0,m:{docs:{},df:0,e:{docs:{},df:0,"]":{docs:{},df:0,"/":{docs:{},df:0,_:{docs:{},df:0,i:{docs:{},df:0,n:{docs:{},df:0,d:{docs:{},df:0,e:{docs:{},df:0,x:{docs:{},df:0,".":{docs:{},df:0,m:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}}}},e:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2,n:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1}},df:1}},l:{docs:{},df:0,e:{docs:{},df:0,c:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2}}}},m:{docs:{},df:0,a:{docs:{},df:0,n:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/about/":{tf:1},"https://abridge.netlify.app/overview-abridge/":{tf:1},"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:3}}}},n:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:2},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2,e:{docs:{},df:0,r:{docs:{},df:0,".":{docs:{},df:0,s:{docs:{},df:0,e:{docs:{},df:0,n:{docs:{},df:0,d:{docs:{},df:0,m:{docs:{},df:0,a:{docs:{},df:0,i:{docs:{},df:0,l:{docs:{},df:0,"(":{docs:{},df:0,"'":{docs:{},df:0,j:{docs:{},df:0,a:{docs:{},df:0,k:{docs:{},df:0,e:{docs:{},df:0,"@":{docs:{},df:0,e:{docs:{},df:0,x:{docs:{},df:0,a:{docs:{},df:0,m:{docs:{},df:0,p:{docs:{},df:0,l:{docs:{},df:0,e:{docs:{},df:0,".":{docs:{},df:0,c:{docs:{},df:0,o:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},t:{docs:{"https://abridge.netlify.app/privacy/":{tf:1.4142135623730951}},df:1,e:{docs:{},df:0,n:{docs:{},df:0,c:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}},o:{docs:{"https://abridge.netlify.app/about/":{tf:1}},df:1},q:{docs:{},df:0,u:{docs:{},df:0,a:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1},o:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},r:{docs:{},df:0,i:{docs:{},df:0,a:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1}}},v:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}},s:{docs:{},df:0,s:{docs:{},df:0,i:{docs:{},df:0,o:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2}}}}},t:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:2.23606797749979},"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1.7320508075688772},"https://abridge.netlify.app/overview-images/":{tf:2},"https://abridge.netlify.app/overview-rich-content/":{tf:1},"https://abridge.netlify.app/privacy/":{tf:1}},df:7,c:{docs:{},df:0,o:{docs:{},df:0,o:{docs:{},df:0,k:{docs:{},df:0,i:{docs:{},df:0,e:{docs:{},df:0,"(":{docs:{},df:0,"'":{docs:{},df:0,l:{docs:{},df:0,a:{docs:{},df:0,n:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}},u:{docs:{},df:0,p:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1}},df:1}}},v:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}},h:{docs:{},df:0,a:{docs:{},df:0,r:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.7320508075688772},"https://abridge.netlify.app/privacy/":{tf:1.4142135623730951}},df:2}}},i:{docs:{},df:0,f:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1,w:{docs:{},df:0,i:{docs:{},df:0,d:{docs:{},df:0,t:{docs:{},df:0,h:{docs:{},df:0,"=":{docs:{},df:0,4:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}},o:{docs:{},df:0,r:{docs:{},df:0,t:{docs:{},df:0,_:{docs:{},df:0,n:{docs:{},df:0,a:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}},c:{docs:{},df:0,o:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1},"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1},"https://abridge.netlify.app/overview-images/":{tf:2.23606797749979},"https://abridge.netlify.app/overview-math/":{tf:1.7320508075688772},"https://abridge.netlify.app/overview-rich-content/":{tf:2.449489742783178}},df:5}}}}},w:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1},"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:4}}},i:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1,t:{docs:{},df:0,i:{docs:{},df:0,b:{docs:{},df:0,u:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},v:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},t:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1,u:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},e:{docs:{"https://abridge.netlify.app/about/":{tf:1.7320508075688772},"https://abridge.netlify.app/overview-abridge/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-math/":{tf:2.23606797749979},"https://abridge.netlify.app/privacy/":{tf:1.4142135623730951}},df:5},i:{docs:{},df:0,a:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},x:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1},z:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772},"https://abridge.netlify.app/overview-images/":{tf:2.449489742783178},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1},"https://abridge.netlify.app/overview-rich-content/":{tf:1.4142135623730951}},df:4}}},l:{docs:{},df:0,i:{docs:{},df:0,d:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},o:{docs:{},df:0,w:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}},m:{docs:{},df:0,a:{docs:{},df:0,l:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.7320508075688772}},df:2,e:{docs:{},df:0,s:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}}},t:{docs:{},df:0,p:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1,l:{docs:{},df:0,i:{docs:{},df:0,b:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}},o:{docs:{},df:0,c:{docs:{},df:0,k:{docs:{},df:0,e:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1,".":{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,r:{docs:{},df:0,o:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1}}}}}}}}}},f:{docs:{},df:0,t:{docs:{},df:0,t:{docs:{},df:0,a:{docs:{},df:0,b:{docs:{},df:0,s:{docs:{},df:0,t:{docs:{},df:0,o:{docs:{},df:0,p:{docs:{},df:0,"=":{docs:{},df:0,4:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}},l:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/privacy/":{tf:1.4142135623730951}},df:1}},u:{docs:{},df:0,r:{docs:{},df:0,c:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1},"https://abridge.netlify.app/overview-rich-content/":{tf:2.8284271247461903}},df:2}}}},p:{docs:{},df:0,e:{docs:{},df:0,c:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2,i:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1},f:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2}}},n:{docs:{},df:0,a:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1}}}},e:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1}},df:1}},r:{docs:{},df:0,c:{docs:{},df:0,h:{docs:{},df:0,i:{docs:{},df:0,c:{docs:{},df:0,i:{docs:{},df:0,u:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}}}}}},q:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1},u:{docs:{},df:0,a:{docs:{},df:0,r:{docs:{},df:0,e:{docs:{},df:0,"(":{docs:{},df:0,x:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}},i:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{},df:0,u:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}}},r:{docs:{},df:0,c:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772},"https://abridge.netlify.app/overview-images/":{tf:2}},df:2,"=":{docs:{},df:0,'"':{docs:{},df:0,f:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}},h:{docs:{},df:0,t:{docs:{},df:0,t:{docs:{},df:0,p:{docs:{},df:0,s:{docs:{},df:0,":":{docs:{},df:0,"/":{docs:{},df:0,"/":{docs:{},df:0,a:{docs:{},df:0,b:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{},df:0,d:{docs:{},df:0,g:{docs:{},df:0,e:{docs:{},df:0,".":{docs:{},df:0,n:{docs:{},df:0,e:{docs:{},df:0,t:{docs:{},df:0,l:{docs:{},df:0,i:{docs:{},df:0,f:{docs:{},df:0,y:{docs:{},df:0,".":{docs:{},df:0,a:{docs:{},df:0,p:{docs:{},df:0,p:{docs:{},df:0,"/":{docs:{},df:0,o:{docs:{},df:0,v:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,v:{docs:{},df:0,i:{docs:{},df:0,e:{docs:{},df:0,w:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1},"https://abridge.netlify.app/overview-rich-content/":{tf:2.8284271247461903}},df:2}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},i:{docs:{},df:0,m:{docs:{},df:0,g:{docs:{},df:0,"/":{docs:{},df:0,f:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}}}}}},o:{docs:{},df:0,v:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,9:{docs:{},df:0,0:{docs:{},df:0,0:{docs:{},df:0,0:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}}}}}}},s:{docs:{},df:0,e:{docs:{},df:0,t:{docs:{},df:0,"=":{docs:{},df:0,'"':{docs:{},df:0,h:{docs:{},df:0,t:{docs:{},df:0,t:{docs:{},df:0,p:{docs:{},df:0,s:{docs:{},df:0,":":{docs:{},df:0,"/":{docs:{},df:0,"/":{docs:{},df:0,a:{docs:{},df:0,b:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{},df:0,d:{docs:{},df:0,g:{docs:{},df:0,e:{docs:{},df:0,".":{docs:{},df:0,n:{docs:{},df:0,e:{docs:{},df:0,t:{docs:{},df:0,l:{docs:{},df:0,i:{docs:{},df:0,f:{docs:{},df:0,y:{docs:{},df:0,".":{docs:{},df:0,a:{docs:{},df:0,p:{docs:{},df:0,p:{docs:{},df:0,"/":{docs:{},df:0,o:{docs:{},df:0,v:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,v:{docs:{},df:0,i:{docs:{},df:0,e:{docs:{},df:0,w:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1.7320508075688772}},df:1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},t:{docs:{},df:0,a:{docs:{},df:0,n:{docs:{},df:0,d:{docs:{},df:0,a:{docs:{},df:0,l:{docs:{},df:0,o:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}},r:{docs:{},df:0,t:{docs:{},df:0,_:{docs:{},df:0,u:{docs:{},df:0,r:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}},e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772}},df:1}}}},t:{docs:{},df:0,i:{docs:{},df:0,c:{docs:{"https://abridge.netlify.app/about/":{tf:1}},df:1}}},y:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},d:{docs:{},df:0,":":{docs:{},df:0,":":{docs:{},df:0,c:{docs:{},df:0,o:{docs:{},df:0,u:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}},i:{docs:{},df:0,o:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}},o:{docs:{},df:0,r:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/privacy/":{tf:1}},df:1}}},r:{docs:{},df:0,"(":{docs:{},df:0,i:{docs:{},df:0,n:{docs:{},df:0,t:{docs:{},df:0,"(":{docs:{},df:0,h:{docs:{},df:0,u:{docs:{},df:0,m:{docs:{},df:0,i:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:2.23606797749979}},df:1}}}}},t:{docs:{},df:0,e:{docs:{},df:0,m:{docs:{},df:0,p:{docs:{},df:0,f:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:2.23606797749979}},df:1}}}}}}}}}},i:{docs:{},df:0,n:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:2.8284271247461903}},df:1}}}},u:{docs:{},df:0,f:{docs:{},df:0,f:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2}}},y:{docs:{},df:0,l:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},u:{docs:{},df:0,b:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1,l:{docs:{},df:0,i:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}},c:{docs:{},df:0,h:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},m:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1},p:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1,p:{docs:{},df:0,o:{docs:{},df:0,r:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1},"https://abridge.netlify.app/overview-math/":{tf:2.23606797749979},"https://abridge.netlify.app/overview-rich-content/":{tf:2.8284271247461903}},df:3}}}}},r:{docs:{},df:0,r:{docs:{},df:0,o:{docs:{},df:0,u:{docs:{},df:0,n:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1},"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:3}}}}}}},v:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/about/":{tf:1},"https://abridge.netlify.app/overview-abridge/":{tf:1},"https://abridge.netlify.app/overview-images/":{tf:1}},df:3}},w:{docs:{},df:0,i:{docs:{},df:0,t:{docs:{},df:0,c:{docs:{},df:0,h:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1}},df:1}}}}},y:{docs:{},df:0,n:{docs:{},df:0,t:{docs:{},df:0,a:{docs:{},df:0,x:{docs:{"https://abridge.netlify.app/about/":{tf:1},"https://abridge.netlify.app/overview-abridge/":{tf:1},"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.7320508075688772},"https://abridge.netlify.app/overview-math/":{tf:1}},df:5}}}}}},t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1,".":{docs:{},df:0,c:{docs:{},df:0,l:{docs:{},df:0,o:{docs:{},df:0,n:{docs:{},df:0,e:{docs:{},df:0,n:{docs:{},df:0,o:{docs:{},df:0,d:{docs:{},df:0,e:{docs:{},df:0,"(":{docs:{},df:0,"!":{docs:{},df:0,0:{docs:{},df:0,")":{docs:{},df:0,")":{docs:{},df:0,".":{docs:{},df:0,i:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}}}}}}},i:{docs:{},df:0,n:{docs:{},df:0,n:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,h:{docs:{},df:0,t:{docs:{},df:0,m:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}},a:{docs:{},df:0,b:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:2.449489742783178}},df:2},s:{docs:{},df:0,t:{docs:{},df:0,o:{docs:{},df:0,p:{docs:{},df:0,"=":{docs:{},df:0,4:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}},g:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:2.23606797749979},"https://abridge.netlify.app/overview-rich-content/":{tf:3.7416573867739413}},df:3},k:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:2}},df:1}},l:{docs:{},df:0,k:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},e:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1,c:{docs:{},df:0,t:{docs:{},df:0,u:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},l:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1}},df:1}},m:{docs:{},df:0,p:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1,e:{docs:{},df:0,r:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{},df:0,u:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:2.23606797749979}},df:1,e:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,9:{docs:{},df:0,0:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1}}}}}}}}}}}}},f:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:2}},df:1},l:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}},r:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},x:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2}}},h:{docs:{},df:0,e:{docs:{},df:0,m:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/about/":{tf:2.23606797749979},"https://abridge.netlify.app/overview-abridge/":{tf:2.449489742783178},"https://abridge.netlify.app/overview-code-blocks/":{tf:2.23606797749979},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1},"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:5,_:{docs:{},df:0,c:{docs:{},df:0,o:{docs:{},df:0,l:{docs:{},df:0,o:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}},s:{docs:{},df:0,"\\":{docs:{},df:0,a:{docs:{},df:0,b:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{},df:0,d:{docs:{},df:0,g:{docs:{},df:0,e:{docs:{},df:0,"\\":{docs:{},df:0,c:{docs:{},df:0,o:{docs:{},df:0,n:{docs:{},df:0,t:{docs:{},df:0,e:{docs:{},df:0,n:{docs:{},df:0,t:{docs:{},df:0,"\\":{docs:{},df:0,_:{docs:{},df:0,i:{docs:{},df:0,n:{docs:{},df:0,d:{docs:{},df:0,e:{docs:{},df:0,x:{docs:{},df:0,".":{docs:{},df:0,m:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1}},df:1}}}}}}}}}}}}}}}}},s:{docs:{},df:0,a:{docs:{},df:0,s:{docs:{},df:0,s:{docs:{},df:0,"\\":{docs:{},df:0,_:{docs:{},df:0,v:{docs:{},df:0,a:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{},df:0,a:{docs:{},df:0,b:{docs:{},df:0,l:{docs:{},df:0,e:{docs:{},df:0,s:{docs:{},df:0,".":{docs:{},df:0,s:{docs:{},df:0,c:{docs:{},df:0,s:{docs:{},df:0,s:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},i:{docs:{},df:0,r:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1},"https://abridge.netlify.app/privacy/":{tf:1.4142135623730951}},df:2}}},o:{docs:{},df:0,s:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}},r:{docs:{},df:0,e:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}},i:{docs:{},df:0,a:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},m:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:2.23606797749979},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2,".":{docs:{},df:0,c:{docs:{},df:0,t:{docs:{},df:0,i:{docs:{},df:0,m:{docs:{},df:0,e:{docs:{},df:0,"(":{docs:{},df:0,l:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}},s:{docs:{},df:0,l:{docs:{},df:0,e:{docs:{},df:0,e:{docs:{},df:0,p:{docs:{},df:0,"(":{docs:{},df:0,i:{docs:{},df:0,n:{docs:{},df:0,t:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,v:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}},t:{docs:{},df:0,i:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1,e:{docs:{},df:0,"(":{docs:{},df:0,")":{docs:{},df:0,"+":{docs:{},df:0,e:{docs:{},df:0,m:{docs:{},df:0,a:{docs:{},df:0,i:{docs:{},df:0,l:{docs:{},df:0,i:{docs:{},df:0,n:{docs:{},df:0,t:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,v:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}},o:{docs:{},df:0,u:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}},s:{docs:{},df:0,t:{docs:{},df:0,a:{docs:{},df:0,m:{docs:{},df:0,p:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772}},df:1}}}}}}},t:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951}},df:3,e:{docs:{},df:0,"=":{docs:{},df:0,'"':{docs:{},df:0,c:{docs:{},df:0,l:{docs:{},df:0,o:{docs:{},df:0,s:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}},r:{docs:{},df:0,e:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}},o:{docs:{},df:0,o:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}},s:{docs:{},df:0,a:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:1}}}}}}}},u:{docs:{},df:0,s:{docs:{},df:0,t:{docs:{},df:0,i:{docs:{},df:0,a:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}},o:{docs:{},df:0,k:{docs:{},df:0,e:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}},m:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}},p:{docs:{"https://abridge.netlify.app/overview-images/":{tf:2},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2}},r:{docs:{},df:0,a:{docs:{},df:0,c:{docs:{},df:0,k:{docs:{"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1},"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1}},df:2}}},i:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772}},df:1,g:{docs:{},df:0,g:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1}}}},m:{docs:{},df:0,"(":{docs:{},df:0,s:{docs:{},df:0,a:{docs:{},df:0,f:{docs:{},df:0,e:{docs:{},df:0,p:{docs:{},df:0,o:{docs:{},df:0,s:{docs:{},df:0,t:{docs:{},df:0,"(":{docs:{},df:0,"'":{docs:{},df:0,f:{docs:{},df:0,u:{docs:{},df:0,s:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,n:{docs:{},df:0,a:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}}}},u:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:2.449489742783178},"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:2},"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-math/":{tf:3.1622776601683795}},df:4}}},w:{docs:{},df:0,o:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1},"https://abridge.netlify.app/overview-images/":{tf:1}},df:2}},y:{docs:{},df:0,p:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1},"https://abridge.netlify.app/overview-rich-content/":{tf:2}},df:3,"=":{docs:{},df:0,'"':{docs:{},df:0,a:{docs:{},df:0,u:{docs:{},df:0,d:{docs:{},df:0,i:{docs:{},df:0,o:{docs:{},df:0,"/":{docs:{},df:0,f:{docs:{},df:0,l:{docs:{},df:0,a:{docs:{},df:0,c:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}},m:{docs:{},df:0,p:{docs:{},df:0,3:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}},o:{docs:{},df:0,g:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}},w:{docs:{},df:0,a:{docs:{},df:0,v:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}}}}}},b:{docs:{},df:0,u:{docs:{},df:0,t:{docs:{},df:0,t:{docs:{},df:0,o:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}},i:{docs:{},df:0,m:{docs:{},df:0,g:{docs:{},df:0,"/":{docs:{},df:0,w:{docs:{},df:0,e:{docs:{},df:0,b:{docs:{},df:0,p:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1.7320508075688772}},df:1}}}}}}}},m:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{},df:0,h:{docs:{},df:0,"/":{docs:{},df:0,t:{docs:{},df:0,e:{docs:{},df:0,x:{docs:{},df:0,'"':{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,e:{docs:{},df:0,"^":{docs:{},df:0,"{":{docs:{},df:0,i:{docs:{},df:0,"\\":{docs:{},df:0,p:{docs:{},df:0,i:{docs:{},df:0,"}":{docs:{},df:0,"+":{docs:{},df:0,1:{docs:{},df:0,"=":{docs:{},df:0,0:{docs:{},df:0,"&":{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,"/":{docs:{},df:0,s:{docs:{},df:0,c:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{},df:0,p:{docs:{},df:0,t:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{docs:{},df:0,m:{docs:{},df:0,o:{docs:{},df:0,d:{docs:{},df:0,e:{docs:{},df:0,"=":{docs:{},df:0,d:{docs:{},df:0,i:{docs:{},df:0,s:{docs:{},df:0,p:{docs:{},df:0,l:{docs:{},df:0,a:{docs:{},df:0,y:{docs:{},df:0,'"':{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,"\\":{docs:{},df:0,i:{docs:{},df:0,n:{docs:{},df:0,t:{docs:{},df:0,_:{docs:{},df:0,0:{docs:{},df:0,"^":{docs:{},df:0,1:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},v:{docs:{},df:0,i:{docs:{},df:0,d:{docs:{},df:0,e:{docs:{},df:0,o:{docs:{},df:0,"/":{docs:{},df:0,m:{docs:{},df:0,p:{docs:{},df:0,4:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1.4142135623730951}},df:1}}},w:{docs:{},df:0,e:{docs:{},df:0,b:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1.4142135623730951}},df:1}}}}}}}}}}}}}}}},u:{docs:{},df:0,n:{docs:{},df:0,c:{docs:{},df:0,o:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1}},df:1}}},d:{docs:{},df:0,a:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1},e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/about/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-math/":{tf:1.7320508075688772}},df:3}}},i:{docs:{},df:0,q:{docs:{},df:0,u:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1}},t:{docs:{},df:0,l:{docs:{},df:0,e:{docs:{},df:0,v:{docs:{},df:0,e:{docs:{},df:0,l:{docs:{},df:0,"(":{docs:{},df:0,'"':{docs:{},df:0,p:{docs:{},df:0,l:{docs:{},df:0,a:{docs:{},df:0,y:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}},n:{docs:{},df:0,a:{docs:{},df:0,m:{docs:{},df:0,e:{docs:{},df:0,"(":{docs:{},df:0,'"':{docs:{},df:0,p:{docs:{},df:0,l:{docs:{},df:0,a:{docs:{},df:0,y:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}},o:{docs:{},df:0,r:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},p:{docs:{},df:0,d:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1,e:{docs:{},df:0,_:{docs:{},df:0,t:{docs:{},df:0,i:{docs:{},df:0,m:{docs:{},df:0,e:{docs:{},df:0,s:{docs:{},df:0,t:{docs:{},df:0,a:{docs:{},df:0,m:{docs:{},df:0,p:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1}}}}}}}}}}}}}}},r:{docs:{},df:0,l:{docs:{},df:0,"(":{docs:{},df:0,"'":{docs:{},df:0,f:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:1,s:{docs:{},df:0,".":{docs:{},df:0,s:{docs:{},df:0,v:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:1}}}}}}}}}},h:{docs:{},df:0,t:{docs:{},df:0,t:{docs:{},df:0,p:{docs:{},df:0,s:{docs:{},df:0,":":{docs:{},df:0,"/":{docs:{},df:0,"/":{docs:{},df:0,a:{docs:{},df:0,b:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{},df:0,d:{docs:{},df:0,g:{docs:{},df:0,e:{docs:{},df:0,".":{docs:{},df:0,n:{docs:{},df:0,e:{docs:{},df:0,t:{docs:{},df:0,l:{docs:{},df:0,i:{docs:{},df:0,f:{docs:{},df:0,y:{docs:{},df:0,".":{docs:{},df:0,a:{docs:{},df:0,p:{docs:{},df:0,p:{docs:{},df:0,"/":{docs:{},df:0,o:{docs:{},df:0,v:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,v:{docs:{},df:0,i:{docs:{},df:0,e:{docs:{},df:0,w:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.4142135623730951}},df:1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},i:{docs:{},df:0,m:{docs:{},df:0,g:{docs:{},df:0,"/":{docs:{},df:0,f:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1,s:{docs:{},df:0,".":{docs:{},df:0,s:{docs:{},df:0,v:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}}}}}}}}}}}}}}},s:{docs:{"https://abridge.netlify.app/about/":{tf:1},"https://abridge.netlify.app/overview-abridge/":{tf:2},"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-images/":{tf:2.23606797749979},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.7320508075688772},"https://abridge.netlify.app/overview-math/":{tf:1},"https://abridge.netlify.app/overview-rich-content/":{tf:3.3166247903554},"https://abridge.netlify.app/privacy/":{tf:1}},df:8,a:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-images/":{tf:2.449489742783178},"https://abridge.netlify.app/overview-math/":{tf:1.7320508075688772},"https://abridge.netlify.app/overview-rich-content/":{tf:2}},df:3}},e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1,_:{docs:{},df:0,u:{docs:{},df:0,p:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}},r:{docs:{},df:0,"/":{docs:{},df:0,b:{docs:{},df:0,i:{docs:{},df:0,n:{docs:{},df:0,"/":{docs:{},df:0,e:{docs:{},df:0,n:{docs:{},df:0,v:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}},t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}},v:{docs:{},df:0,a:{docs:{},df:0,l:{docs:{},df:0,i:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1}},df:1}},u:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1.7320508075688772},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2}},r:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772}},df:1,i:{docs:{},df:0,o:{docs:{},df:0,u:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}},e:{docs:{},df:0,l:{docs:{},df:0,i:{docs:{},df:0,a:{docs:{},df:0,m:{docs:{},df:0,e:{docs:{},df:0,n:{docs:{},df:0,i:{docs:{},df:0,m:{docs:{},df:0,i:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}}}}}},n:{docs:{},df:0,i:{docs:{},df:0,t:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{},df:0,i:{docs:{},df:0,u:{docs:{},df:0,s:{docs:{},df:0,d:{docs:{},df:0,a:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}}}}}},r:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:2,f:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}},i:{docs:{},df:0,d:{docs:{},df:0,e:{docs:{},df:0,o:{docs:{"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:2.23606797749979},"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1.7320508075688772},"https://abridge.netlify.app/overview-rich-content/":{tf:3.605551275463989}},df:3,"(":{docs:{},df:0,s:{docs:{},df:0,o:{docs:{},df:0,u:{docs:{},df:0,r:{docs:{},df:0,c:{docs:{},df:0,e:{docs:{},df:0,s:{docs:{},df:0,"=":{docs:{},df:0,"[":{docs:{},df:0,'"':{docs:{},df:0,o:{docs:{},df:0,v:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,9:{docs:{},df:0,0:{docs:{},df:0,0:{docs:{},df:0,0:{docs:{},df:0,_:{docs:{},df:0,a:{docs:{},df:0,v:{docs:{},df:0,1:{docs:{},df:0,".":{docs:{},df:0,m:{docs:{},df:0,p:{docs:{},df:0,4:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},e:{docs:{},df:0,w:{docs:{},df:0,b:{docs:{},df:0,o:{docs:{},df:0,x:{docs:{},df:0,"=":{docs:{},df:0,'"':{docs:{},df:0,0:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}}}}},m:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1,e:{docs:{},df:0,o:{docs:{"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:2}},df:1}}}},m:{docs:{},df:0,"(":{docs:{},df:0,i:{docs:{},df:0,d:{docs:{},df:0,"=":{docs:{},df:0,'"':{docs:{},df:0,i:{docs:{},df:0,d:{docs:{},df:0,_:{docs:{},df:0,h:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1}},df:1}}}}}}}}}}}},o:{docs:{},df:0,l:{docs:{},df:0,e:{docs:{},df:0,s:{docs:{},df:0,t:{docs:{},df:0,e:{docs:{},df:0,m:{docs:{},df:0,q:{docs:{},df:0,u:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}}},o:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{},df:0,b:{docs:{},df:0,u:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},r:{docs:{},df:0,o:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},u:{docs:{},df:0,p:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1,i:{docs:{},df:0,o:{docs:{},df:0,n:{docs:{},df:0,s:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}}}}}},w:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1.7320508075688772}},df:1,"=":{docs:{},df:0,6:{docs:{},df:0,0:{docs:{},df:0,0:{docs:{"https://abridge.netlify.app/overview-images/":{tf:2.449489742783178}},df:1}}}},a:{docs:{},df:0,n:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1},"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1},"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1},"https://abridge.netlify.app/overview-images/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:5}},t:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{},df:0,m:{docs:{},df:0,e:{docs:{},df:0,l:{docs:{},df:0,o:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}}}},v:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}},e:{docs:{},df:0,b:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772}},df:1,m:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1},p:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}},i:{docs:{},df:0,d:{docs:{},df:0,t:{docs:{},df:0,h:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1.7320508075688772},"https://abridge.netlify.app/overview-images/":{tf:2.6457513110645907},"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:3,"=":{docs:{},df:0,'"':{docs:{},df:0,6:{docs:{},df:0,0:{docs:{},df:0,0:{docs:{"https://abridge.netlify.app/overview-images/":{tf:2}},df:1}},4:{docs:{},df:0,0:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}}}}},n:{docs:{},df:0,d:{docs:{},df:0,o:{docs:{},df:0,w:{docs:{},df:0,".":{docs:{},df:0,m:{docs:{},df:0,a:{docs:{},df:0,i:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772}},df:1}}}}}}}}},t:{docs:{},df:0,h:{docs:{},df:0,i:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.7320508075688772}},df:1}},o:{docs:{},df:0,u:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1}},df:1}}}}}},o:{docs:{},df:0,r:{docs:{},df:0,l:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:2}},df:1}},m:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}},r:{docs:{},df:0,a:{docs:{},df:0,p:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1}},df:1}},i:{docs:{},df:0,t:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}},x:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.4142135623730951}},df:1,'"':{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,"&":{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,"/":{docs:{},df:0,i:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,"&":{docs:{},df:0,l:{docs:{},df:0,t:{docs:{},df:0,";":{docs:{},df:0,"/":{docs:{},df:0,b:{docs:{},df:0,u:{docs:{},df:0,t:{docs:{},df:0,t:{docs:{},df:0,o:{docs:{},df:0,n:{docs:{},df:0,"&":{docs:{},df:0,g:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"^":{docs:{},df:0,2:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1.4142135623730951}},df:1}},e:{docs:{},df:0,r:{docs:{},df:0,u:{docs:{},df:0,m:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},i:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1.4142135623730951}},df:1},m:{docs:{},df:0,l:{docs:{},df:0,n:{docs:{},df:0,s:{docs:{},df:0,"=":{docs:{},df:0,'"':{docs:{},df:0,h:{docs:{},df:0,t:{docs:{},df:0,t:{docs:{},df:0,p:{docs:{},df:0,":":{docs:{},df:0,"/":{docs:{},df:0,"/":{docs:{},df:0,w:{docs:{},df:0,w:{docs:{},df:0,w:{docs:{},df:0,".":{docs:{},df:0,w:{docs:{},df:0,3:{docs:{},df:0,".":{docs:{},df:0,o:{docs:{},df:0,r:{docs:{},df:0,g:{docs:{},df:0,"/":{docs:{},df:0,2:{docs:{},df:0,0:{docs:{},df:0,0:{docs:{},df:0,0:{docs:{},df:0,"/":{docs:{},df:0,s:{docs:{},df:0,v:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},n:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1},"}":{docs:{},df:0,",":{docs:{},df:0,d:{docs:{},df:0,"\\":{docs:{},df:0,x:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1}},df:1}}}}},"\\":{docs:{},df:0,",":{docs:{},df:0,d:{docs:{},df:0,"\\":{docs:{},df:0,x:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1}},df:1}}}}}}}},y:{docs:{},df:0,e:{docs:{},df:0,l:{docs:{},df:0,l:{docs:{},df:0,o:{docs:{},df:0,w:{docs:{},df:0,l:{docs:{},df:0,a:{docs:{},df:0,b:{docs:{},df:0,t:{docs:{},df:0,o:{docs:{},df:0,o:{docs:{},df:0,l:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1}},df:1}}}}}}}}}}}},n:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1},o:{docs:{},df:0,u:{docs:{},df:0,t:{docs:{},df:0,u:{docs:{},df:0,b:{docs:{"https://abridge.netlify.app/overview-embedded-youtube/":{tf:2}},df:1}}}}},t:{docs:{},df:0,"(":{docs:{},df:0,i:{docs:{},df:0,d:{docs:{},df:0,"=":{docs:{},df:0,'"':{docs:{},df:0,t:{docs:{},df:0,h:{docs:{},df:0,e:{docs:{},df:0,_:{docs:{},df:0,i:{docs:{},df:0,d:{docs:{},df:0,_:{docs:{},df:0,h:{docs:{},df:0,e:{docs:{},df:0,r:{docs:{"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1}},df:1}}}}}}}}}}}}}}}}},z:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1},o:{docs:{},df:0,l:{docs:{},df:0,a:{docs:{"https://abridge.netlify.app/about/":{tf:1.4142135623730951},"https://abridge.netlify.app/overview-abridge/":{tf:2.23606797749979},"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772},"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1},"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1},"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1.7320508075688772},"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:7}},n:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1.7320508075688772}},df:1}}}}}},title:{root:{docs:{},df:0,a:{docs:{},df:0,b:{docs:{},df:0,r:{docs:{},df:0,i:{docs:{},df:0,d:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1}},df:1}}}}}},b:{docs:{},df:0,l:{docs:{},df:0,o:{docs:{},df:0,c:{docs:{},df:0,k:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}}}}},c:{docs:{},df:0,o:{docs:{},df:0,d:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:1}},n:{docs:{},df:0,t:{docs:{},df:0,a:{docs:{},df:0,c:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/contact/":{tf:1}},df:1}}},e:{docs:{},df:0,n:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}}}}},e:{docs:{},df:0,m:{docs:{},df:0,b:{docs:{},df:0,e:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1},"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1}},df:2}}}}},g:{docs:{},df:0,u:{docs:{},df:0,i:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}},i:{docs:{},df:0,m:{docs:{},df:0,a:{docs:{},df:0,g:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}},m:{docs:{},df:0,a:{docs:{},df:0,r:{docs:{},df:0,k:{docs:{},df:0,d:{docs:{},df:0,o:{docs:{},df:0,w:{docs:{},df:0,n:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}}},t:{docs:{},df:0,h:{docs:{},df:0,e:{docs:{},df:0,m:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1}},df:1}}}}}}}},n:{docs:{},df:0,o:{docs:{},df:0,t:{docs:{},df:0,a:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/overview-math/":{tf:1}},df:1}}}}},p:{docs:{},df:0,o:{docs:{},df:0,l:{docs:{},df:0,i:{docs:{},df:0,c:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/privacy/":{tf:1}},df:1}}}},s:{docs:{},df:0,t:{docs:{"https://abridge.netlify.app/posts/":{tf:1}},df:1}}},r:{docs:{},df:0,i:{docs:{},df:0,v:{docs:{},df:0,a:{docs:{},df:0,c:{docs:{},df:0,i:{docs:{"https://abridge.netlify.app/privacy/":{tf:1}},df:1}}}}}}},r:{docs:{},df:0,i:{docs:{},df:0,c:{docs:{},df:0,h:{docs:{"https://abridge.netlify.app/overview-rich-content/":{tf:1}},df:1}}}},s:{docs:{},df:0,h:{docs:{},df:0,o:{docs:{},df:0,r:{docs:{},df:0,t:{docs:{},df:0,c:{docs:{},df:0,o:{docs:{},df:0,d:{docs:{"https://abridge.netlify.app/overview-images/":{tf:1}},df:1}}}}}}},t:{docs:{},df:0,y:{docs:{},df:0,l:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-markdown-and-style/":{tf:1}},df:1}}}}},t:{docs:{},df:0,h:{docs:{},df:0,e:{docs:{},df:0,m:{docs:{},df:0,e:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1},"https://abridge.netlify.app/overview-code-blocks/":{tf:1}},df:2}}}}},v:{docs:{},df:0,i:{docs:{},df:0,d:{docs:{},df:0,e:{docs:{},df:0,o:{docs:{"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1},"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1}},df:2}}},m:{docs:{},df:0,e:{docs:{},df:0,o:{docs:{"https://abridge.netlify.app/overview-embedded-vimeo/":{tf:1}},df:1}}}}},y:{docs:{},df:0,o:{docs:{},df:0,u:{docs:{},df:0,t:{docs:{},df:0,u:{docs:{},df:0,b:{docs:{"https://abridge.netlify.app/overview-embedded-youtube/":{tf:1}},df:1}}}}}},z:{docs:{},df:0,o:{docs:{},df:0,l:{docs:{},df:0,a:{docs:{"https://abridge.netlify.app/overview-abridge/":{tf:1}},df:1}}}}}}},documentStore:{save:!0,docs:{"https://abridge.netlify.app/":{body:"",id:"https://abridge.netlify.app/",title:""},"https://abridge.netlify.app/about/":{body:"This site provides a demo for the abridge theme for Zola the static site generator.\nAbridge was created by Jake G (jieiku) to be fast and lightweight, using semantic html, a class-light abridge.css, and No Mandatory JS.\nSome fun facts about the theme:\n\nPerfect score on Google's Lighthouse audit\nOnly ~6 KB of CSS before enabling the SVG CSS icons and syntax highlighting.\nNo mandatory JavaScript.\nNow with SEO!\n\nNearly half of the existing Zola MIT themes were inspiration for features and design of this theme.\nBoth the theme and this site are licensed under the MIT license.\n",id:"https://abridge.netlify.app/about/",title:"About"},"https://abridge.netlify.app/contact/":{body:"",id:"https://abridge.netlify.app/contact/",title:"Contact"},"https://abridge.netlify.app/overview-abridge/":{body:'Abridge is a fast and lightweight Zola theme using semantic html, only ~6kb css before svg icons and syntax highlighting, no mandatory JS, and perfect Lighthouse, YellowLabTools, and Observatory scores.\n\nFor quick setup copy the config.toml from the abridge theme into the root of your zola site, this will give you a base configuration with all config values used.\nYou can then edit or comment out the values in this file as necessary.\nYou should also uncomment out the line #theme = "abridge" in your root zola config.toml file. This tells your root zola site to use the abridge theme in the themes folder.\nYou can set the number of items that appear on the home page by editing themes\\abridge\\content\\_index.md file and adjusting paginate_by = 5\nYou can set the overal page width by editing themes\\abridge\\sass\\_variables.scss file, and adjusting these two lines:\n$mw:50% !default;// max-width\n$mb:1200px !default;// value at which to switch from fluid layout to using max-width\n\n',id:"https://abridge.netlify.app/overview-abridge/",title:"Abridge Zola Theme"},"https://abridge.netlify.app/overview-code-blocks/":{body:'This article shows various Code Blocks allowing to easily compare sublime themes.\nCode Blocks\nCode blocks.. ❤️ with automatic syntax highlighting ✨\nSee the docs for options.\nInline Code block\nIf we want, we can also specify inline code which is useful for the small stuff.\nrust\n1//! jelly-actix-web-starter - A starter template for actix-web projects that feels very Django-esque. Avoid the boring stuff and move faster.\n2\n3use jelly::actix_web;\n4use mainlib;\n5use std::io;\n6\n7#[actix_web::main]\n8async fn main() -> io::Result<()> {\n9 mainlib::main().await\n10}\n11\n12let context = Context::new();\n\nTOML\n1base_url = "https://abridge.netlify.app/"\n2title = "Abridge"\n3description = "Abridge is a fast and lightweight Zola theme using semantic html, abridge.css class-light CSS, and No Mandatory JS."\n4default_language = "en"\n5#theme = "abridge"\n6\n7build_search_index = true\n8minify_html = false\n9feed_filename = "atom.xml"\n10taxonomies = [\n11 {name = "categories", feed = true},\n12 {name = "tags", feed = true},\n13]\n\nhtml\n<!doctype html>\n<html lang="en">\n<head>\n <meta charset="utf-8">\n <title>Example HTML5 Document</title>\n</head>\n<body>\n <!--Main Content Area-->\n <p>Test</p>\n</body>\n</html>\n\njavascript\nfunction closeSearch() {//close the search displaying the regular page.\n const e = document.querySelector("main");\n e.innerHTML = window.main\n}\n\nfunction goSearch() {// on enter key or search icon click display results to the page.\n const e = document.querySelector("main");\n window.main || (window.main = e.innerHTML);\n var t = document.getElementById("suggestions"),\n n = ((ResultsClone = t.cloneNode(!0)).id = "results", document.createElement("div")),\n o = \'<h2><button type="button" title="Close Search" onclick="closeSearch()"><i class="svgs x"></i></button> Results For: \'.concat(document.getElementById("searchinput").value, "</h2>");\n return n.innerHTML = o, ResultsClone.insertBefore(n, ResultsClone.firstChild), e.innerHTML = ResultsClone.outerHTML, t.innerHTML = "", document.getElementById("searchinput").value = "", !1\n}! function() {\n // search function code goes here\n}\n\nphp\n<?php\n/**\n * Postfix Admin\n */\nrequire_once(\'common.php\');\n$CONF = Config::getInstance()->getAll();\n\nif ($_SERVER[\'REQUEST_METHOD\'] == "POST") {\n if (!isset($_SESSION[\'PFA_token\'])) {\n die("Invalid token (session timeout; refresh the page and try again?)");\n }\n $fUsername = trim(safepost(\'fUsername\'));\n if ($lang != check_language(false)) { # only set cookie if language selection was changed\n setcookie(\'lang\', $lang, time() + 60*60*24*30); # language cookie, lifetime 30 days\n }\n}\n\n$_SESSION[\'PFA_token\'] = md5(uniqid("pfa" . rand(), true));\n\n/* vim: set expandtab softtabstop=4 tabstop=4 shiftwidth=4: */\n\njson\n{\n "name": "Abridge Zola Theme",\n "short_name": "Abridge",\n "description": "Fast & Lightweight Zola Theme",\n "start_url": "/index.html",\n "scope": "/",\n "background_color": "#111111",\n "theme_color": "#222222",\n "display": "standalone",\n "icons": [\n {\n "src": "/android-chrome-192x192.png",\n "sizes": "192x192",\n "type": "image/png"\n },\n {\n "src": "/android-chrome-512x512.png",\n "sizes": "512x512",\n "type": "image/png"\n },\n {\n "src": "/android-chrome-192x192m.png",\n "sizes": "192x192",\n "type": "image/png",\n "purpose": "maskable"\n }\n ]\n}\n\nSQL\n-- jelly-actix-web-starter - Creates an accounts table, along with some associated helpers.\n\ncreate or replace function update_timestamp() returns trigger as $$\nbegin\n new.updated = now();\n return new;\nend;\n$$ language \'plpgsql\';\n\ncreate table if not exists accounts (\n id serial primary key,\n name text not null,\n email text not null unique,\n password text not null,\n profile jsonb not null default \'{}\',\n plan integer not null default 0,\n is_active boolean not null default true,\n is_admin boolean not null default false,\n has_verified_email boolean not null default false,\n last_login timestamp with time zone,\n created timestamp with time zone not null default now(),\n updated timestamp with time zone not null default now()\n);\n\ncreate unique index accounts_unique_lower_email_idx on accounts (lower(email));\n\ncreate trigger user_updated before insert or update on accounts\nfor each row execute procedure update_timestamp();\n\nLua\nfunction square(x)\n return x * x\nend\n\nprint(square(2)) -- prints \'4\'\n\nfunction getPlayerInformation()\n playerName = UnitName("player")\n playerLevel = UnitLevel("player")\n specId, specName = GetSpecializationInfo(GetSpecialization())\n\n return "Hey, I\'m " .. playerName .. " (Level " .. playerLevel .. "). I\'m currently in spec " .. specName .. "."\nend\n\nprint(getPlayerInformation())\n\nC\n#include <stdio.h>\nint main() {\n int a;\n /* actual initialization */\n a = 10;\n printf("Hello, World!");\n return 0;\n}\n\nC++\n// Your First C++ Program\n\n#include <iostream>\n\nint main() {\n int a;\n /* actual initialization */\n a = 10;\n std::cout << "Hello World!";\n return 0;\n}\n\nGo\npackage main\n\nimport "fmt"\n\nfunc main() {\n var myvariable1 = 20\n var myvariable2 = "hello world"\n fmt.Println("hello world")\n}\n\nPython\n#!/usr/bin/env python3\nimport smtplib, socket\nfrom influxdb import InfluxDBClient\n\nwhile True:\n send = 1\n later = time.time() + 25200\n iso = time.ctime(later)\n tempF = round(bme280.temperature * 1.8 + 29, 3) #C to F formula is +32, difference is to correct bme280 temperature offset\n humidity = round(bme280.humidity, 3)\n pressure = round(bme280.pressure, 3)\n # serialize data as JSON\n data = [\n {\n "measurement": measurement,\n "tags": {\n "location": location,\n },\n "time": iso,\n "fields": {\n "temperature" : tempF,\n "humidity": humidity,\n "pressure": pressure\n }\n }\n ]\n # Send the JSON data to InfluxDB\n try:\n client.write_points(data)\n except socket.error as e:\n print("Could Not Connect to InfluxDB!")\n if tempF > 90 and humidity > 55:\n emailSubject = "Humidity>55: " + str(int(humidity)) + "%H , Temperature>90: " + str(int(tempF)) + "F"\n emailContent = \'Humidity: \' + str(int(humidity)) + \'%H , Temperature: \' + str(int(tempF)) + \'F <a href="https://metrics.example.com">Dashboard</a>\'\n elif humidity > 55:\n emailSubject = "Humidity>55: " + str(int(humidity)) + "%H"\n emailContent = \'Humidity: \' + str(int(humidity)) + \'%H , Temperature: \' + str(int(tempF)) + \'F <a href="https://metrics.example.com">Dashboard</a>\'\n elif tempF > 90:\n emailSubject = "Temperature>90: " + str(int(tempF)) + "F"\n emailContent = \'Humidity: \' + str(int(humidity)) + \'%H , Temperature: \' + str(int(tempF)) + \'F <a href="https://metrics.example.com">Dashboard</a>\'\n else:\n send = 0\n if send == 1:\n try:\n if time.time() > lastEmailTime or abs(lastTemp-int(tempF)) > 1:\n lastEmailTime = time.time()+emailInterval\n lastTemp = int(tempF)\n sender.sendmail(\'jake@example.com\', emailSubject, emailContent)\n except socket.error as e:\n print("Could Not Connect to SMTP server!")\n time.sleep(interval)\n\n',id:"https://abridge.netlify.app/overview-code-blocks/",title:"Code Blocks and Themes"},"https://abridge.netlify.app/overview-embedded-vimeo/":{body:'Zola has many shortcodes, and new are easily added, this example shows vimeo.\nVimeo\nwith vm(id="id_here")\n\nid: the video id (mandatory)\nclass: a class to add to the <div> surrounding the iframe (optional)\nautoplay: when set to "true", the video autoplays on load (optional)\nloop: when set to "true", the video plays on a loop (optional)\nnoautopause: when set to "true", the video will not autopause (optional)\ntitle - set alt title for the iframe (optional, defaults to "Vimeo")\ncookie - set to "true" if you want tracking cookies, otherwise it defaults to false.\n\n\n\t\n\n',id:"https://abridge.netlify.app/overview-embedded-vimeo/",title:"Embedded Vimeo Videos"},"https://abridge.netlify.app/overview-embedded-youtube/":{body:'Zola has many shortcodes, and new are easily added, this example shows youtube.\nYoutube\nwith yt(id="the_id_here")\n\nid: the video id (mandatory)\nplaylist: the playlist id (optional)\nclass: a class to add to the <div> surrounding the iframe (optional)\nautoplay: when set to "true", the video autoplays on load (optional)\ntitle - set alt title for the iframe (optional, defaults to "Youtube")\ncookie - set to "true" if you want tracking cookies, otherwise it defaults to false.\n\n\n\t\n\n',id:"https://abridge.netlify.app/overview-embedded-youtube/",title:"Embedded Youtube Videos"},"https://abridge.netlify.app/overview-images/":{body:'This post covers the imghover and img shortcodes. Images can also be embedded directly using markdown , but it is better to use a shortcode so you can explicitly set the width and height, this will help prevent content layout shift which improves user experience and the google lighthouse score.\nimg Shortcode\n\nsrc is the path and filename of the image. (mandatory)\nclass sets a class for the image. (optional)\nalt sets the alt note for the image. (recommended for google lighthouse)\nw is the width of the image. (recommended for google lighthouse)\nh is the height of the image. (recommended for google lighthouse)\n\nUsage (same path)\n{{ img(src="ferris-happy.svg" alt="Ferris is Happy" w=600 h=400) }}\n\nOutput\n \n<img src="ferris-happy.svg" alt="Ferris is Happy" width="600" height="400" />\n\n\n \n\nUsage (relative path ./)\n{{ img(src="./img/ferris-gesture.svg" alt="Ferris says Hello" w=600 h=400) }}\n\nOutput\n \n<img src="img/ferris-gesture.svg" alt="Ferris says Hello" width="600" height="400" />\n\n\n \n\nUsage (root path /)\n{{ img(src="/overview-rich-content/ferris.svg" alt="Ferris the Rustacean" w=600 h=400) }}\n\nOutput\n \n<img src="https://abridge.netlify.app/overview-rich-content/ferris.svg" alt="Ferris the Rustacean" width="600" height="400" />\n\n\n \n\nSVG image directly in code:\n<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 489" width="600" height="489"><g fill="#8f1f1d"><path d="M70 324c1 3 3 4 6 4l24 4 2 5-10 20v5l7 4 24-1 4 4-7 21c0 2 0 4 3 6 1 2 4 2 7 2l24-5 4 4-1 22c-1 2 0 4 3 5h6l23-8 6 3 4 22c0 2 1 3 3 4h7l21-13 6 2 8 20 5 5c3 0 5 0 7-2l18-15h5l13 18c1 2 3 4 6 4l5-3 14-18h6l17 16c1 1 4 2 6 1 3 0 5-1 6-3l9-21 6-1 19 14h7c3 0 5-3 5-5l4-21 6-2 22 9 7-1c2-1 3-2 3-5v-21l5-4 24 6c3 0 5 0 6-2 2-2 3-4 2-6l-4-21 3-5 24 2c4 0 6 0 7-3v-5l-9-21 3-5 25-2 5-5-1-5-14-18c0-1-1-19-12-33v-1c-26-36-106-64-201-65-100-2-184 26-206 64-10 10-12 26-11 26l-15 17c-1 3-2 5-1 7z"/><path d="M565 247c-1-3-12-2-14-3l-38 1-4-7 26-38c1-2 7-7 6-9-3-3-12 1-14 1l-39 7-4-6 22-49c0-3 7-15 5-18-2-2-11 6-13 6l-43 28-4-5 11-43c0-3 7-18 5-19-2-2-9 5-12 6l-38 30-5-4 9-51c0-3 3-18 1-19s-15 13-17 14l-30 38-6-3-3-56c0-3 0-14-3-14-3-1-5 8-8 11l-25 50-7-1-13-57c-1-3-2-12-4-12-4 0-5 10-7 13l-15 56-7 1-22-52c-1-2-4-12-7-12-3 1-2 9-3 12l-7 61-6 3-19-27c-3-1-15-19-18-18-2 1 0 21-1 23l1 40-6 4-36-35c-3-1-7-7-10-5-2 2 0 10 0 13l13 53-4 5-41-26c-2-1-10-7-12-4-2 2 3 4 3 7l22 56-5 6-65-22c-3-1-10-5-12-1-1 2 5 6 6 9l49 53-3 7-47-6c-3 0-9-1-11 1-1 4 6 7 7 9l36 40a116 116 0 0 0 14 46c27 50 110 87 209 87 105 0 193-41 214-95 11-15 13-37 12-38l29-31c2-4 9-9 8-11z"/><path d="m99 289-67 10c-13 3-5 5 0 6 14 2 84 3 85 4zm402 3 67 10c13 4 5 6 0 6-14 2-84 5-86 5z"/></g><path d="M227 293s-24-26-47 0c0 0-18 35 0 52 0 0 30 24 47 0 0 0 21-20 0-52z"/><path fill="#fff" d="M200 302c0 11 6 19 14 19 7 0 12-8 12-19 0-10-5-18-12-18-8 0-14 8-14 18z"/><path d="M360 283s-40-17-52 22c0 0-11 47 33 49 0 0 58-10 19-71z"/><path fill="#fff" d="M339 299c0 10 7 20 14 20 8 0 14-10 14-20s-6-18-14-18c-7 0-14 8-14 18z"/></svg>\n\n\nimghover Shortcode\nThe first image in the src array is the one compared to all the others.\nWhen you hover your mouse over an image it will display the image to compare.\nThis can be used to compare only one image with another by passing only two src in the array.\n\nsrc is an array of paths and filenames for the images. (mandatory)\nw is the width of the image.\nh is the height of the image.\np is the percent size that you want the image to use on the page. (50 is the default)\n\nw and h are used only to calculate the aspect ratio, overall size is set by p\nUsage (same path)\n{{ imghover(src=["ferris.svg", "ferris-gesture.svg", "ferris-happy.svg"] w=600 h=400 p=45) }}\n\nOutput\n \n <div id="same-ferris-gesture"><b>same-ferris-gesture on hover</b></div>\n <div id="same-ferris-gestureimage" title="same-ferris-gesture"> </div> \n <div id="same-ferris-happy"><b>same-ferris-happy on hover</b></div>\n <div id="same-ferris-happyimage" title="same-ferris-happy"> </div>\n\n<style> \n #same-ferris-gestureimage {\n background-image: url(\'ferris.svg\');\n background-size: contain;\n background-repeat: no-repeat;\n width: 45%;\n height: 0;\n padding-top: 30%;\n\n }\n #same-ferris-gestureimage:hover {\n background-image: url(\'ferris-gesture.svg\');\n } \n #same-ferris-happyimage {\n background-image: url(\'ferris.svg\');\n background-size: contain;\n background-repeat: no-repeat;\n width: 45%;\n height: 0;\n padding-top: 30%;\n\n }\n #same-ferris-happyimage:hover {\n background-image: url(\'ferris-happy.svg\');\n }\n</style>\n\n\n \n same-ferris-gesture on hover\n \n same-ferris-happy on hover\n \n\n\nUsage (relative path ./)\n{{ imghover(src=["./img/ferris.svg", "./img/ferris-gesture.svg"] w=600 h=400 p=45) }}\n\nOutput\n \n <div id="rel-ferris-gesture"><b>rel-ferris-gesture on hover</b></div>\n <div id="rel-ferris-gestureimage" title="rel-ferris-gesture"> </div>\n\n<style> \n #rel-ferris-gestureimage {\n background-image: url(\'img/ferris.svg\');\n background-size: contain;\n background-repeat: no-repeat;\n width: 45%;\n height: 0;\n padding-top: 30%;\n\n }\n #rel-ferris-gestureimage:hover {\n background-image: url(\'img/ferris-gesture.svg\');\n }\n</style>\n\n\n \n rel-ferris-gesture on hover\n \n\n\nUsage (root path /)\n{{ imghover(src=["/overview-rich-content/ferris.svg", "/overview-rich-content/ferris-gesture.svg"] w=600 h=400 p=45) }}\n\nOutput\n \n <div id="root-ferris-gesture"><b>root-ferris-gesture on hover</b></div>\n <div id="root-ferris-gestureimage" title="root-ferris-gesture"> </div>\n\n<style> \n #root-ferris-gestureimage {\n background-image: url(\'https://abridge.netlify.app/overview-rich-content/ferris.svg\');\n background-size: contain;\n background-repeat: no-repeat;\n width: 45%;\n height: 0;\n padding-top: 30%;\n\n }\n #root-ferris-gestureimage:hover {\n background-image: url(\'https://abridge.netlify.app/overview-rich-content/ferris-gesture.svg\');\n }\n</style>\n\n\n \n root-ferris-gesture on hover\n \n\n\n',id:"https://abridge.netlify.app/overview-images/",title:"Image Shortcodes"},"https://abridge.netlify.app/overview-markdown-and-style/":{body:'This article offers a sample of basic Markdown syntax that can be used in Zola content files, also it shows if basic HTML elements are decorated with CSS in a Zola theme.\nHeadings\nThe following HTML <h1>—<h6> elements represent six levels of section\nheadings. <h1> is the highest section level while <h6> is the lowest.\nH1\nH2\nH3\nH4\nH5\nH6\nParagraph\nXerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum,\nvoluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma\ndolestendit peritin re plis aut quas inctum laceat est volestemque commosa as\ncus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin\nporecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur?\nQuiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit\nut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda\nveliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore\neost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata\ntiustia prat.\nItatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne\nsapicia is sinveli squiatum, core et que aut hariosam ex eat.\nBlockquotes\nThe blockquote element represents content that is quoted from another source,\noptionally with a citation which must be within a footer or cite element,\nand optionally with in-line changes such as annotations and abbreviations.\nBlockquote no attribution\n\nTiam, ad mint andaepu dandae nostion secatur sequo quae.\nNote that you can use Markdown syntax within a blockquote.\n\nBlockquote with attribution\n\nDon\'t communicate by sharing memory, share memory by communicating.\n— Rob Pike1\n\n\nAll men by nature desire to know.\n― Aristotle2\n\n\nPower comes in response to a need, not a desire.\n— Goku\n\nTables\nTables aren\'t part of the core Markdown spec, but Zola supports them\nout-of-the-box.\nNameAge\nAlice23\nBob27\nCody33\nJohn59\nKerry23\n\nTable with Inline Markdown\nItalicsBoldCodeStrikeThrough\nitalicsboldcodestrikethrough\n\nLarge table within figure tag\nSurround very Large tables with <figure></figure> so they can scroll horizontally.\n\nManufacturerVolkswagenToyotaFordHondaChevroletBMWHyundaiAudiNissanKiaMercedesTeslaMitsubishiSuzukiVolvoSubaruMazdaJaguarBuickLexusGMCPorscheCadillac\nRevenue $B$254$249$127$124$123$113$88$83$74$61$55$54$38$31$30$28$27$22$21$19$17$16$12\n\n\n*revenue values found on search engine and not verified, for figure scroller table demonstration purposes only.*\nFoldable Text\n\n Title 1\n IT\'S A SECRET TO EVERYBODY.\n\n\n Title 2\n Stay awhile, and listen!\n\nCode Blocks\nCode blocks.. ❤️ with automatic syntax highlighting ✨\nSee the docs for options.\nCode block with backticks\n<!doctype html>\n<html lang="en">\n<head>\n <meta charset="utf-8">\n <title>Example HTML5 Document</title>\n</head>\n<body>\n <p>Test</p>\n</body>\n</html>\n\nLine Numbers, Highlighting\n1<!doctype html>\n2<html lang="en">\n3<head>\n4 <meta charset="utf-8">\n5 <title>Example HTML5 Document</title>\n6</head>\n7<body>\n8 <p>Test</p>\n9</body>\n10</html>\n\nInline Code block\nIf we want, we can also specify inline code which is useful for the small stuff.\nList Types\nOrdered List\n\nFirst item\nSecond item\nThird item\n\nUnordered List\n\nList item\nAnother item\nAnd another item\n\nNested list\n\nFruit\n\nApple\nOrange\nBanana\n\n\nDairy\n\nMilk\nCheese\n\n\n\nOther Elements — abbr, sub, sup, kbd, mark, link\nGIF is a bitmap image format.\nH2O\nXn + Yn = Zn\nPress CTRL+ALT+Delete to end the\nsession.\nMost salamanders are nocturnal, and hunt for insects, worms, and\nother small creatures.\n\n\n1\nThe above quote is excerpted from Rob Pike\'s talk\nduring Gopherfest, November 18, 2015.\n\n2\nThe quote is the first sentence of Aristotle\'s Metaphysics.\n\nNavs\nSite primary menu is created by nesting the nav under a header tag. Refer to the top of this site for an example.\nIf the nav tag is under the main tag instead of the header tag then the links will have a border:\n\n \n \n < Previous\n Next >\n \n \n\nForms\n\n Name\n \n \n Email Address\n \n \n Message\n \n \n \n Send\n \n \n Fruit\n \n Select a fruit…\n Banana\n Watermelon\n Apple\n Orange\n Mango\n \n \n \n Size\n \n \n Small\n \n \n \n Medium\n \n \n \n Large\n \n \n \n Extra Large\n \n \n \n \n \n \n I agree to the Terms and Conditions\n \n \n \n I agree to share my information with partners\n \n \n \n \n \n \n Publish on my profile\n \n \n \n Publish on my profile my accomplishments\n \n \n \n \n \n \n File browser\n \n \n \n Range slider\n \n \n \n Date\n \n \n \n Time\n \n \n \n Color\n \n \n\n',id:"https://abridge.netlify.app/overview-markdown-and-style/",title:"Markdown and Style Guide"},"https://abridge.netlify.app/overview-math/":{body:'You can use KaTeX to render mathematical notations.\nYou can enable the $\\KaTeX$ support globally, per-section or per-page basis.\nEnable Globally\nTo enable the $\\KaTeX$ support globally, add math = true under [extra] of the config.toml\nat your site root. Now the katex shortcode will be rendered, you can also add math_auto_render = true\nand every section and page of your site will load the KaTeX autorender extension.\n[extra]\nmath = true\nmath_auto_render = false\n\nPer-section Basis\nTo enable the $\\KaTeX$ support in a particular section, add math = true under [extra] in the [SECTION_NAME]/_index.md.\nNow the katex shortcode will be rendered, you can also add math_auto_render = true\nand the section of your site will load the KaTeX autorender extension.\n+++\n[extra]\nmath = true\n+++\n\nPer-page Basis\nTo enable the $\\KaTeX$ support in a particular page, add math = true under [extra] in the page\'s\nfrontmatter. Now the katex shortcode will be rendered, you can also add math_auto_render = true\nand the page of your site will load the KaTeX autorender extension.\n+++\n[extra]\nmath = true\nmath_auto_render = true\n+++\n\nIt is a good practice to enable $\\KaTeX$ support on a per-page basis, since this will only load the\nrequired files on that particular page, without affecting the page load speed of other pages.\nIf your site is not math-heavy, please do NOT enable this feature globally or per-section basis.\nUsage\nWrap any valid $\\KaTeX$ syntax with $...$ for inline\nMathematics and $$...$$ for block Mathematics.\nInline Mathematics\nThis is the most beautiful equation I\'ve ever seen:\nUsage\n{% katex(block=false) %} e^{i\\pi}+1=0 {% end %}\n\nOutput\n<script type="math/tex">e^{i\\pi}+1=0</script>\n\n\n\nBlock Mathematics\nSome Mathematics in display mode is fair enough:\nUsage\n{% katex(block=true) %} \\int_0^1 x^2 dx {% end %}\n\nOutput\n<script type="math/tex;mode=display">\\int_0^1 x^2 dx</script>\n\n\n\nAuto Render Inline Example\n$ e^{i\\pi}+1=0 $\n\n$ e^{i\\pi}+1=0 $\nAuto Render Block Example\n$$\nf(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\n$$\n\n$$\nf(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi),e^{2 \\pi i \\xi x},d\\xi\n$$\n',id:"https://abridge.netlify.app/overview-math/",title:"Mathematical Notations"},"https://abridge.netlify.app/overview-rich-content/":{body:'Several custom shortcodes are included to augment CommonMark (courtesy of d3c3nt theme), in addition to those already provided by Zola. video, image, gif, and audio were created to help you take advantage of modern HTML elements in your writing.\nVideo\nThe video shortcode takes a sources parameter (an array of strings)\nand returns a <video> tag. Each string in the sources array should\nbe a path to a video file of a different type (webm, mp4, etc). Each\nindividual source is then converted into a <source> tag, and the\nelement is returned.\nUsage\n{{ video(sources=["over9000_av1.mp4", "over9000_vp9.webm"]) }}\n\nOutput\n<video controls>\n <source src="https://abridge.netlify.app/overview-rich-content/over9000_av1.mp4" type="video/mp4" />\n <source src="https://abridge.netlify.app/overview-rich-content/over9000_vp9.webm" type="video/webm" />\n Your browser doesn\'t support the video tag and/or the video formats in use here – sorry!\n</video>\n\n\n\n \n \n Your browser doesn\'t support the video tag and/or the video formats in use here – sorry!\n\nImage\nThe image shortcode returns a <picture> tag and accepts three\nparameters: sources (an array of strings), fallback_path, and\nfallback_alt (both strings).\nEach string in the sources array should be a path to an image file of\na different type (webp, png, jpg, etc). fpath and\nfalt are used to create an <img> tag for the browser to fall\nback on if the other formats aren\'t yet supported, fw and fh set the width and height of the fallback\nUsage\n{{ image(sources=["over9000-960.webp", "over9000-640.webp", "over9000-400.webp"], fpath="over9000-640.webp", fw=640, fh=480, falt="ITS OVER 9000!") }}\n\nOutput\n<picture>\n <source srcset="https://abridge.netlify.app/overview-rich-content/over9000-960.webp" type="img/webp" />\n <source srcset="https://abridge.netlify.app/overview-rich-content/over9000-640.webp" type="img/webp" />\n <source srcset="https://abridge.netlify.app/overview-rich-content/over9000-400.webp" type="img/webp" />\n <img src="over9000-640.webp" alt="ITS OVER 9000!" width="640" height="480" />\n</picture>\n\n\n\n \n \n \n \n\nGIF\nThe gif shortcode is exactly the same as the video shortcode\n– it takes an array of strings called sources and returns a\n<video> tag. The only difference is in the outermost tag, which has\nfour additional properties: autoplay, loop, muted, playsinline.\nUsing the <video> tag in place of gifs allows for reduced file sizes,\nwhich is especially important in regions where internet is slower or\nless reliable.\nUsage\n{{ gif(sources=["over9000_av1.mp4", "over9000_vp9.webm"]) }}\n\nOutput\n<video autoplay loop muted playsinline>\n <source src="https://abridge.netlify.app/overview-rich-content/over9000_av1.mp4" type="video/mp4" />\n <source src="https://abridge.netlify.app/overview-rich-content/over9000_vp9.webm" type="video/webm" />\n Your browser doesn\'t support the video tag, which I use in place of .gifs, and/or the video formats in use here – sorry!\n</video>\n\n\n\n \n \n Your browser doesn\'t support the video tag, which I use in place of .gifs, and/or the video formats in use here – sorry!\n\nAudio\nThe audio shortcode takes a sources array of strings and returns an\n<audio> tag. Each string in the sources array should be a path to an\naudio file of a different type (ogg, mp3, flac, wav, etc).\nThe browser will play the first type it supports, so placing them in order of size smallest to largest will use the least bandwidth if that is your goal.\nUsage\n{{ audio(sources=["over9000.ogg", "over9000.mp3", "over9000.flac", "over9000.wav"]) }}\n\nOutput\n<audio controls>\n <source src="https://abridge.netlify.app/overview-rich-content/over9000.ogg" type="audio/ogg" />\n <source src="https://abridge.netlify.app/overview-rich-content/over9000.mp3" type="audio/mp3" />\n <source src="https://abridge.netlify.app/overview-rich-content/over9000.flac" type="audio/flac" />\n <source src="https://abridge.netlify.app/overview-rich-content/over9000.wav" type="audio/wav" />\n Your browser doesn\'t support the audio tag and/or the audio formats in use here – sorry!\n</audio>\n\n\n\n \n \n Your browser doesn\'t support the audio tag and/or the audio formats in use here – sorry!\n\n',id:"https://abridge.netlify.app/overview-rich-content/",title:"Rich Content"},"https://abridge.netlify.app/pages/":{body:"",id:"https://abridge.netlify.app/pages/",title:""},"https://abridge.netlify.app/posts/":{body:"",id:"https://abridge.netlify.app/posts/",title:"posts"},"https://abridge.netlify.app/privacy/":{body:"Privacy\n\nThis site does not set or use cookies.\nThis site does not store data in the browser to be shared, sent, or sold to third-parties.\nNo personal information is shared, sent, or sold to third-parties.\n\nEffective Date: 1st Jan 2022\n",id:"https://abridge.netlify.app/privacy/",title:"Privacy Policy"}},docInfo:{"https://abridge.netlify.app/":{body:0,title:0},"https://abridge.netlify.app/about/":{body:63,title:0},"https://abridge.netlify.app/contact/":{body:0,title:1},"https://abridge.netlify.app/overview-abridge/":{body:96,title:3},"https://abridge.netlify.app/overview-code-blocks/":{body:627,title:3},"https://abridge.netlify.app/overview-embedded-vimeo/":{body:59,title:3},"https://abridge.netlify.app/overview-embedded-youtube/":{body:50,title:3},"https://abridge.netlify.app/overview-images/":{body:953,title:2},"https://abridge.netlify.app/overview-markdown-and-style/":{body:488,title:3},"https://abridge.netlify.app/overview-math/":{body:203,title:2},"https://abridge.netlify.app/overview-rich-content/":{body:375,title:2},"https://abridge.netlify.app/pages/":{body:0,title:0},"https://abridge.netlify.app/posts/":{body:0,title:1},"https://abridge.netlify.app/privacy/":{body:26,title:2}},length:14},lang:"English"},function(){function b(d){var e=new b.Index;return e.pipeline.add(b.trimmer,b.stopWordFilter,b.stemmer),d&&d.call(e,e),e}var r,n,d,e,p,l,v,h,g,y,w,m,u,k,x,S,_,I,T,$,E,C,F,q,o;b.version="0.9.5",((lunr=b).utils={}).warn=(o=this,function(d){o.console&&console.warn&&console.warn(d)}),b.utils.toString=function(d){return null==d?"":d.toString()},(b.EventEmitter=function(){this.events={}}).prototype.addListener=function(){var d=Array.prototype.slice.call(arguments),e=d.pop();if("function"!=typeof e)throw new TypeError("last argument must be a function");d.forEach(function(d){this.hasHandler(d)||(this.events[d]=[]),this.events[d].push(e)},this)},b.EventEmitter.prototype.removeListener=function(d,e){this.hasHandler(d)&&-1!==(e=this.events[d].indexOf(e))&&(this.events[d].splice(e,1),0==this.events[d].length&&delete this.events[d])},b.EventEmitter.prototype.emit=function(d){var e;this.hasHandler(d)&&(e=Array.prototype.slice.call(arguments,1),this.events[d].forEach(function(d){d.apply(void 0,e)},this))},b.EventEmitter.prototype.hasHandler=function(d){return d in this.events},(b.tokenizer=function(d){return arguments.length&&null!=d?Array.isArray(d)?(e=(e=d.filter(function(d){return null!=d})).map(function(d){return b.utils.toString(d).toLowerCase()}),o=[],e.forEach(function(d){d=d.split(b.tokenizer.seperator);o=o.concat(d)},this),o):d.toString().trim().toLowerCase().split(b.tokenizer.seperator):[];var e,o}).defaultSeperator=/[\s\-]+/,b.tokenizer.seperator=b.tokenizer.defaultSeperator,b.tokenizer.setSeperator=function(d){null!=d&&"object"==typeof d&&(b.tokenizer.seperator=d)},b.tokenizer.resetSeperator=function(){b.tokenizer.seperator=b.tokenizer.defaultSeperator},b.tokenizer.getSeperator=function(){return b.tokenizer.seperator},(b.Pipeline=function(){this._queue=[]}).registeredFunctions={},b.Pipeline.registerFunction=function(d,e){e in b.Pipeline.registeredFunctions&&b.utils.warn("Overwriting existing registered function: "+e),d.label=e,b.Pipeline.registeredFunctions[e]=d},b.Pipeline.getRegisteredFunction=function(d){return d in b.Pipeline.registeredFunctions!=1?null:b.Pipeline.registeredFunctions[d]},b.Pipeline.warnIfFunctionNotRegistered=function(d){d.label&&d.label in this.registeredFunctions||b.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",d)},b.Pipeline.load=function(d){var o=new b.Pipeline;return d.forEach(function(d){var e=b.Pipeline.getRegisteredFunction(d);if(!e)throw new Error("Cannot load un-registered function: "+d);o.add(e)}),o},b.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach(function(d){b.Pipeline.warnIfFunctionNotRegistered(d),this._queue.push(d)},this)},b.Pipeline.prototype.after=function(d,e){b.Pipeline.warnIfFunctionNotRegistered(e);d=this._queue.indexOf(d);if(-1===d)throw new Error("Cannot find existingFn");this._queue.splice(d+1,0,e)},b.Pipeline.prototype.before=function(d,e){b.Pipeline.warnIfFunctionNotRegistered(e);d=this._queue.indexOf(d);if(-1===d)throw new Error("Cannot find existingFn");this._queue.splice(d,0,e)},b.Pipeline.prototype.remove=function(d){d=this._queue.indexOf(d);-1!==d&&this._queue.splice(d,1)},b.Pipeline.prototype.run=function(d){for(var e=[],o=d.length,t=this._queue.length,s=0;s<o;s++){for(var f=d[s],c=0;c<t&&null!=(f=this._queue[c](f,s,d));c++);null!=f&&e.push(f)}return e},b.Pipeline.prototype.reset=function(){this._queue=[]},b.Pipeline.prototype.get=function(){return this._queue},b.Pipeline.prototype.toJSON=function(){return this._queue.map(function(d){return b.Pipeline.warnIfFunctionNotRegistered(d),d.label})},(b.Index=function(){this._fields=[],this._ref="id",this.pipeline=new b.Pipeline,this.documentStore=new b.DocumentStore,this.index={},this.eventEmitter=new b.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))}).prototype.on=function(){var d=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,d)},b.Index.prototype.off=function(d,e){return this.eventEmitter.removeListener(d,e)},b.Index.load=function(d){d.version!==b.version&&b.utils.warn("version mismatch: current "+b.version+" importing "+d.version);var e,o=new this;for(e in o._fields=d.fields,o._ref=d.ref,o.documentStore=b.DocumentStore.load(d.documentStore),o.pipeline=b.Pipeline.load(d.pipeline),o.index={},d.index)o.index[e]=b.InvertedIndex.load(d.index[e]);return o},b.Index.prototype.addField=function(d){return this._fields.push(d),this.index[d]=new b.InvertedIndex,this},b.Index.prototype.setRef=function(d){return this._ref=d,this},b.Index.prototype.saveDocument=function(d){return this.documentStore=new b.DocumentStore(d),this},b.Index.prototype.addDoc=function(f,d){var c;f&&(d=void 0===d||d,c=f[this._ref],this.documentStore.addDoc(c,f),this._fields.forEach(function(d){var e,o=this.pipeline.run(b.tokenizer(f[d])),t=(this.documentStore.addFieldLength(c,d,o.length),{});for(e in o.forEach(function(d){d in t?t[d]+=1:t[d]=1},this),t){var s=t[e],s=Math.sqrt(s);this.index[d].addToken(e,{ref:c,tf:s})}},this),d&&this.eventEmitter.emit("add",f,this))},b.Index.prototype.removeDocByRef=function(d){d&&!1!==this.documentStore.isDocStored()&&this.documentStore.hasDoc(d)&&(d=this.documentStore.getDoc(d),this.removeDoc(d,!1))},b.Index.prototype.removeDoc=function(d,e){var o;d&&(e=void 0===e||e,o=d[this._ref],this.documentStore.hasDoc(o)&&(this.documentStore.removeDoc(o),this._fields.forEach(function(e){this.pipeline.run(b.tokenizer(d[e])).forEach(function(d){this.index[e].removeToken(d,o)},this)},this),e&&this.eventEmitter.emit("remove",d,this)))},b.Index.prototype.updateDoc=function(d,e){e=void 0===e||e;this.removeDocByRef(d[this._ref],!1),this.addDoc(d,!1),e&&this.eventEmitter.emit("update",d,this)},b.Index.prototype.idf=function(d,e){var o="@"+e+"/"+d;if(Object.prototype.hasOwnProperty.call(this._idfCache,o))return this._idfCache[o];e=this.index[e].getDocFreq(d),d=1+Math.log(this.documentStore.length/(e+1));return this._idfCache[o]=d},b.Index.prototype.getFields=function(){return this._fields.slice()},b.Index.prototype.search=function(d,e){if(!d)return[];d="string"==typeof d?{any:d}:JSON.parse(JSON.stringify(d));var o=null;null!=e&&(o=JSON.stringify(e));for(var t=new b.Configuration(o,this.getFields()).get(),s={},f=Object.keys(d),c=0;c<f.length;c++){var i=f[c];s[i]=this.pipeline.run(b.tokenizer(d[i]))}var a,r={};for(a in t){var n=s[a]||s.any;if(n){var p=this.fieldSearch(n,a,t),l=t[a].boost;for(h in p)p[h]=p[h]*l;for(h in p)h in r?r[h]+=p[h]:r[h]=p[h]}}var v,h,g=[];for(h in r)v={ref:h,score:r[h]},this.documentStore.hasDoc(h)&&(v.doc=this.documentStore.getDoc(h)),g.push(v);return g.sort(function(d,e){return e.score-d.score}),g},b.Index.prototype.fieldSearch=function(d,p,e){var l=e[p].bool,o=e[p].expand,e=e[p].boost,v=null,h={};return 0!==e?(d.forEach(function(r){var d=[r],n=(1==o&&(d=this.index[p].expandToken(r)),{});d.forEach(function(d){var e=this.index[p].getDocs(d),o=this.idf(d,p);if(v&&"AND"==l){var t,s={};for(t in v)t in e&&(s[t]=e[t]);e=s}for(t in d==r&&this.fieldSearchStats(h,d,e),e){var f=this.index[p].getTermFrequency(d,t),c=this.documentStore.getFieldLength(t,p),i=1,a=1,f=f*o*(i=0!=c?1/Math.sqrt(c):i)*(a=d!=r?.15*(1-(d.length-r.length)/d.length):a);t in n?n[t]+=f:n[t]=f}},this),v=this.mergeScores(v,n,l)},this),v=this.coordNorm(v,h,d.length)):void 0},b.Index.prototype.mergeScores=function(d,e,o){if(!d)return e;if("AND"==o){var t={};for(s in e)s in d&&(t[s]=d[s]+e[s]);return t}for(var s in e)s in d?d[s]+=e[s]:d[s]=e[s];return d},b.Index.prototype.fieldSearchStats=function(d,e,o){for(var t in o)t in d?d[t].push(e):d[t]=[e]},b.Index.prototype.coordNorm=function(d,e,o){for(var t in d){var s;t in e&&(s=e[t].length,d[t]=d[t]*s/o)}return d},b.Index.prototype.toJSON=function(){var e={};return this._fields.forEach(function(d){e[d]=this.index[d].toJSON()},this),{version:b.version,fields:this._fields,ref:this._ref,documentStore:this.documentStore.toJSON(),index:e,pipeline:this.pipeline.toJSON()}},b.Index.prototype.use=function(d){var e=Array.prototype.slice.call(arguments,1);e.unshift(this),d.apply(this,e)},(b.DocumentStore=function(d){this._save=null==d||d,this.docs={},this.docInfo={},this.length=0}).load=function(d){var e=new this;return e.length=d.length,e.docs=d.docs,e.docInfo=d.docInfo,e._save=d.save,e},b.DocumentStore.prototype.isDocStored=function(){return this._save},b.DocumentStore.prototype.addDoc=function(d,e){this.hasDoc(d)||this.length++,this.docs[d]=!0===this._save?function(d){if(null===d||"object"!=typeof d)return d;var e,o=d.constructor();for(e in d)d.hasOwnProperty(e)&&(o[e]=d[e]);return o}(e):null},b.DocumentStore.prototype.getDoc=function(d){return!1===this.hasDoc(d)?null:this.docs[d]},b.DocumentStore.prototype.hasDoc=function(d){return d in this.docs},b.DocumentStore.prototype.removeDoc=function(d){this.hasDoc(d)&&(delete this.docs[d],delete this.docInfo[d],this.length--)},b.DocumentStore.prototype.addFieldLength=function(d,e,o){null!=d&&0!=this.hasDoc(d)&&(this.docInfo[d]||(this.docInfo[d]={}),this.docInfo[d][e]=o)},b.DocumentStore.prototype.updateFieldLength=function(d,e,o){null!=d&&0!=this.hasDoc(d)&&this.addFieldLength(d,e,o)},b.DocumentStore.prototype.getFieldLength=function(d,e){return null!=d&&d in this.docs&&e in this.docInfo[d]?this.docInfo[d][e]:0},b.DocumentStore.prototype.toJSON=function(){return{docs:this.docs,docInfo:this.docInfo,length:this.length,save:this._save}},r={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},n={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},d="[aeiouy]",e="[^aeiou][^aeiouy]*",p=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),l=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),v=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*([aeiouy][aeiou]*)?$"),h=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy]"),g=/^(.+?)(ss|i)es$/,y=/^(.+?)([^s])s$/,w=/^(.+?)eed$/,m=/^(.+?)(ed|ing)$/,u=/.$/,k=/(at|bl|iz)$/,x=new RegExp("([^aeiouylsz])\\1$"),S=new RegExp("^"+e+d+"[^aeiouwxy]$"),_=/^(.+?[^aeiou])y$/,I=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,T=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,$=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,E=/^(.+?)(s|t)(ion)$/,C=/^(.+?)e$/,F=/ll$/,q=new RegExp("^"+e+d+"[^aeiouwxy]$"),b.Pipeline.registerFunction(b.stemmer=function(d){var e,o,t,s,f,c,i,a;return d.length<3?d:("y"==(o=d.substr(0,1))&&(d=o.toUpperCase()+d.substr(1)),i=y,(f=g).test(d)?d=d.replace(f,"$1$2"):i.test(d)&&(d=d.replace(i,"$1$2")),i=m,(f=w).test(d)?(a=f.exec(d),(f=p).test(a[1])&&(d=d.replace(f=u,""))):i.test(d)&&(c=(a=i.exec(d))[1],(i=h).test(c)&&(d=c,t=x,s=S,(i=k).test(d)?d+="e":t.test(d)?d=d.replace(f=u,""):s.test(d)&&(d+="e"))),(f=_).test(d)&&(d=(c=(a=f.exec(d))[1])+"i"),(f=I).test(d)&&(c=(a=f.exec(d))[1],e=a[2],(f=p).test(c)&&(d=c+r[e])),(f=T).test(d)&&(c=(a=f.exec(d))[1],e=a[2],(f=p).test(c)&&(d=c+n[e])),i=E,(f=$).test(d)?(c=(a=f.exec(d))[1],(f=l).test(c)&&(d=c)):i.test(d)&&(c=(a=i.exec(d))[1]+a[2],(i=l).test(c)&&(d=c)),(f=C).test(d)&&(c=(a=f.exec(d))[1],i=v,t=q,((f=l).test(c)||i.test(c)&&!t.test(c))&&(d=c)),i=l,(f=F).test(d)&&i.test(d)&&(d=d.replace(f=u,"")),"y"==o?o.toLowerCase()+d.substr(1):d)},"stemmer"),b.stopWordFilter=function(d){return d&&!0!==b.stopWordFilter.stopWords[d]?d:void 0},b.clearStopWords=function(){b.stopWordFilter.stopWords={}},b.addStopWords=function(d){null!=d&&!1!==Array.isArray(d)&&d.forEach(function(d){b.stopWordFilter.stopWords[d]=!0},this)},b.resetStopWords=function(){b.stopWordFilter.stopWords=b.defaultStopWords},b.stopWordFilter.stopWords=b.defaultStopWords={"":!0,a:!0,able:!0,about:!0,across:!0,after:!0,all:!0,almost:!0,also:!0,am:!0,among:!0,an:!0,and:!0,any:!0,are:!0,as:!0,at:!0,be:!0,because:!0,been:!0,but:!0,by:!0,can:!0,cannot:!0,could:!0,dear:!0,did:!0,do:!0,does:!0,either:!0,else:!0,ever:!0,every:!0,for:!0,from:!0,get:!0,got:!0,had:!0,has:!0,have:!0,he:!0,her:!0,hers:!0,him:!0,his:!0,how:!0,however:!0,i:!0,if:!0,in:!0,into:!0,is:!0,it:!0,its:!0,just:!0,least:!0,let:!0,like:!0,likely:!0,may:!0,me:!0,might:!0,most:!0,must:!0,my:!0,neither:!0,no:!0,nor:!0,not:!0,of:!0,off:!0,often:!0,on:!0,only:!0,or:!0,other:!0,our:!0,own:!0,rather:!0,said:!0,say:!0,says:!0,she:!0,should:!0,since:!0,so:!0,some:!0,than:!0,that:!0,the:!0,their:!0,them:!0,then:!0,there:!0,these:!0,they:!0,this:!0,tis:!0,to:!0,too:!0,twas:!0,us:!0,wants:!0,was:!0,we:!0,were:!0,what:!0,when:!0,where:!0,which:!0,while:!0,who:!0,whom:!0,why:!0,will:!0,with:!0,would:!0,yet:!0,you:!0,your:!0},b.Pipeline.registerFunction(b.stopWordFilter,"stopWordFilter"),b.Pipeline.registerFunction(b.trimmer=function(d){if(null==d)throw new Error("token should not be undefined");return d.replace(/^\W+/,"").replace(/\W+$/,"")},"trimmer"),(b.InvertedIndex=function(){this.root={docs:{},df:0}}).load=function(d){var e=new this;return e.root=d.root,e},b.InvertedIndex.prototype.addToken=function(d,e,o){for(var o=o||this.root,t=0;t<=d.length-1;){var s=d[t];s in o||(o[s]={docs:{},df:0}),t+=1,o=o[s]}var f=e.ref;o.docs[f]?o.docs[f]={tf:e.tf}:(o.docs[f]={tf:e.tf},o.df+=1)},b.InvertedIndex.prototype.hasToken=function(d){if(!d)return!1;for(var e=this.root,o=0;o<d.length;o++){if(!e[d[o]])return!1;e=e[d[o]]}return!0},b.InvertedIndex.prototype.getNode=function(d){if(!d)return null;for(var e=this.root,o=0;o<d.length;o++){if(!e[d[o]])return null;e=e[d[o]]}return e},b.InvertedIndex.prototype.getDocs=function(d){d=this.getNode(d);return null==d?{}:d.docs},b.InvertedIndex.prototype.getTermFrequency=function(d,e){d=this.getNode(d);return null!=d&&e in d.docs?d.docs[e].tf:0},b.InvertedIndex.prototype.getDocFreq=function(d){d=this.getNode(d);return null==d?0:d.df},b.InvertedIndex.prototype.removeToken=function(d,e){d&&null!=(d=this.getNode(d))&&e in d.docs&&(delete d.docs[e],--d.df)},b.InvertedIndex.prototype.expandToken=function(d,e,o){if(null==d||""==d)return[];var t,e=e||[];if(null==o&&null==(o=this.getNode(d)))return e;for(t in 0<o.df&&e.push(d),o)"docs"!==t&&"df"!==t&&this.expandToken(d+t,e,o[t]);return e},b.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},(b.Configuration=function(d,e){var o,d=d||"";if(null==e)throw new Error("fields should not be null");this.config={};try{o=JSON.parse(d),this.buildUserConfig(o,e)}catch(d){b.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(e)}}).prototype.buildDefaultConfig=function(d){this.reset(),d.forEach(function(d){this.config[d]={boost:1,bool:"OR",expand:!1}},this)},b.Configuration.prototype.buildUserConfig=function(d,e){var o,t,s="OR",f=!1;if(this.reset(),"bool"in d&&(s=d.bool||s),"expand"in d&&(f=d.expand||f),"fields"in d)for(var c in d.fields)-1<e.indexOf(c)?(t=f,null!=(o=d.fields[c]).expand&&(t=o.expand),this.config[c]={boost:o.boost||0===o.boost?o.boost:1,bool:o.bool||s,expand:t}):b.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(s,f,e)},b.Configuration.prototype.addAllFields2UserConfig=function(e,o,d){d.forEach(function(d){this.config[d]={boost:1,bool:e,expand:o}},this)},b.Configuration.prototype.get=function(){return this.config},b.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(d){var e=new this;return e.elements=d,e.length=d.length,e},lunr.SortedSet.prototype.add=function(){for(var d,e=0;e<arguments.length;e++)~this.indexOf(d=arguments[e])||this.elements.splice(this.locationFor(d),0,d);this.length=this.elements.length},lunr.SortedSet.prototype.toArray=function(){return this.elements.slice()},lunr.SortedSet.prototype.map=function(d,e){return this.elements.map(d,e)},lunr.SortedSet.prototype.forEach=function(d,e){return this.elements.forEach(d,e)},lunr.SortedSet.prototype.indexOf=function(d){for(var e=0,o=this.elements.length,t=o-e,s=e+Math.floor(t/2),f=this.elements[s];1<t;){if(f===d)return s;t=(o=d<f?s:o)-(e=f<d?s:e),s=e+Math.floor(t/2),f=this.elements[s]}return f===d?s:-1},lunr.SortedSet.prototype.locationFor=function(d){for(var e=0,o=this.elements.length,t=o-e,s=e+Math.floor(t/2),f=this.elements[s];1<t;)t=(o=d<f?s:o)-(e=f<d?s:e),s=e+Math.floor(t/2),f=this.elements[s];return d<f?s:f<d?s+1:void 0},lunr.SortedSet.prototype.intersect=function(d){for(var e=new lunr.SortedSet,o=0,t=0,s=this.length,f=d.length,c=this.elements,i=d.elements;!(s-1<o||f-1<t);)c[o]!==i[t]?c[o]<i[t]?o++:c[o]>i[t]&&t++:(e.add(c[o]),o++,t++);return e},lunr.SortedSet.prototype.clone=function(){var d=new lunr.SortedSet;return d.elements=this.toArray(),d.length=d.elements.length,d},lunr.SortedSet.prototype.union=function(d){for(var e,d=this.length>=d.length?(e=this,d):(e=d,this),o=e.clone(),t=0,s=d.toArray();t<s.length;t++)o.add(s[t]);return o},lunr.SortedSet.prototype.toJSON=function(){return this.toArray()},e=this,d=function(){return b},"function"==typeof define&&define.amd?define(d):"object"==typeof exports?module.exports=b:e.elasticlunr=b}(),window.onload=function(){document.body.contains(document.goSearch)&&(document.goSearch.onsubmit=function(){return goSearchNow()})};var suggestions=document.getElementById("suggestions"),searchinput=document.getElementById("searchinput");function closeAllLists(d){for(var e=document.getElementById("suggestions");e.firstChild;)e.removeChild(e.firstChild)}function inputFocus(e){191===e.keyCode&&"INPUT"!==document.activeElement.tagName&&"TEXTAREA"!==document.activeElement.tagName&&(e.preventDefault(),searchinput.focus(),suggestions.classList.remove("d-none")),27===e.keyCode&&(searchinput.blur(),suggestions.classList.add("d-none"),closeAllLists());const o=suggestions.querySelectorAll("a");if(!suggestions.classList.contains("d-none")&&0!==o.length){const s=[...o];var t=s.indexOf(document.activeElement);let d=0;38===e.keyCode?(e.preventDefault(),d=0<t?t-1:0,o[d].focus()):40===e.keyCode&&(e.preventDefault(),d=t+1<s.length?t+1:t,o[d].focus())}}function substringByByte(d,e){for(var o="",t=!1,s=0,f=0,c=0,i=0;i<d.length;i++){var a=d.codePointAt(i).toString(16);if(t=4<a.length&&++i+1<d.length?"200d"==d.codePointAt(i+1).toString(16):t){if(s+=getByteByHex(a),i==d.length-1){if(!((f+=s)<=e))break;o+=d.substr(c,i-c+1)}}else if(0!=s){if(!((f=(f+=s)+getByteByHex(a))<=e))break;o+=d.substr(c,i-c+1),c=i+1,s=0}else{if(!((f+=getByteByHex(a))<=e))break;a.length<=4?o+=d[i]:o+=d[i-1]+d[i],c=i+1}}return o}function getByteByBinary(d){return[0,1,2,3,4][Math.ceil(d.length/8)]}function getByteByHex(d){return getByteByBinary(parseInt(d,16).toString(2))}document.addEventListener("keydown",inputFocus),document.addEventListener("click",function(d){suggestions.contains(d.target)||suggestions.classList.add("d-none")}),function(){var r=elasticlunr.Index.load(window.searchIndex);searchinput.addEventListener("input",function(){var o,e=this.value.trim(),s=r.search(e,{bool:"OR",fields:{title:{boost:2},body:{boost:1}}}),f=suggestions.childNodes,c=s.length,i=e.split(/\s+/);suggestions.classList.remove("d-none"),s.forEach(function(e){""!==e.doc.body&&((o=document.createElement("div")).innerHTML="<a href><span></span><span></span></a>",a=o.querySelector("a"),t=o.querySelector("span:first-child"),d=o.querySelector("span:nth-child(2)"),a.href=e.ref,t.textContent=e.doc.title,d.innerHTML=function(d,e){var o=e.map(function(d){return elasticlunr.stemmer(d.toLowerCase())}),t=!1,s=0,f=[],c=d.toLowerCase().split(". ");for(h in c){var i,a=c[h].split(/[\s\n]/),r=8;for(i in a){if(0<(u=a[i]).length){for(var n in o)elasticlunr.stemmer(u).startsWith(o[n])&&(r=40,t=!0);f.push([u,r,s]),r=2}s=s+u.length+1}s+=1}if(0===f.length)return void 0!==d.length&&300<d.length?d.substring(0,300)+"...":d;for(var p=[],l=Math.min(f.length,30),v=0,h=0;h<l;h++)v+=f[h][1];p.push(v);for(h=0;h<f.length-l;h++)v=(v-=f[h][1])+f[h+l][1],p.push(v);var g=0;if(t)for(var b=0,h=p.length-1;0<=h;h--)p[h]>b&&(b=p[h],g=h);for(var y=[],w=f[g][2],h=g;h<g+l;h++){var m,u=f[h];w<u[2]&&(y.push(d.substring(w,u[2])),w=u[2]),40===u[1]&&y.push("<b>"),w=u[2]+u[0].length;40!==u[1]&&12<=u[0].length&&!/^[\x00-\xff]+$/.test(u[0])?(m=substringByByte(d.substring(u[2],w),12),y.push(m)):y.push(d.substring(u[2],w)),40===u[1]&&y.push("</b>")}return y.push("…"),y.join("")}(e.doc.body,i),suggestions.appendChild(o))});for(;f.length>c;)suggestions.removeChild(f[0])},!0),suggestions.addEventListener("click",function(){for(;suggestions.lastChild;)suggestions.removeChild(suggestions.lastChild);return!1},!0),document.body.contains(document.goSearch)&&(document.goSearch.onsubmit=function(){return goSearchNow()})}();
\ No newline at end of file diff --git a/static/search_bundle_stork.min.js b/static/search_bundle_stork.min.js deleted file mode 100644 index 5a86067..0000000 --- a/static/search_bundle_stork.min.js +++ /dev/null @@ -1 +0,0 @@ -var stork;function loadStork(){var e=document.querySelector("meta[name='base']").getAttribute("content");"/"==e.slice(-1)&&(e=e.slice(0,-1)),stork.initialize(e+"/stork.wasm").then(()=>{console.log("Finished downloading WASM")}).catch(e=>{console.error(e)}),stork.register("stork",e+"/stork.st")}(()=>{"use strict";var n={214:(e,t,o)=>{let u;o.r(t),o.d(t,{default:()=>v,wasm_register_index:()=>function(e,t){try{var n=u.__wbindgen_add_to_stack_pointer(-16),r=f(e,u.__wbindgen_malloc,u.__wbindgen_realloc),o=c,s=function(e){var t=(0,u.__wbindgen_malloc)(+e.length);return d().set(e,+t),c=e.length,t}(t),i=c,a=(u.wasm_register_index(n,r,o,s,i),g()[n/4+0]),l=g()[n/4+1];return m(a,l)}finally{u.__wbindgen_add_to_stack_pointer(16),u.__wbindgen_free(a,l)}},wasm_search:()=>function(e,t){try{var n=u.__wbindgen_add_to_stack_pointer(-16),r=f(e,u.__wbindgen_malloc,u.__wbindgen_realloc),o=c,s=f(t,u.__wbindgen_malloc,u.__wbindgen_realloc),i=c,a=(u.wasm_search(n,r,o,s,i),g()[n/4+0]),l=g()[n/4+1];return m(a,l)}finally{u.__wbindgen_add_to_stack_pointer(16),u.__wbindgen_free(a,l)}},wasm_stork_version:()=>function(){try{var e=u.__wbindgen_add_to_stack_pointer(-16),t=(u.wasm_stork_version(e),g()[e/4+0]),n=g()[e/4+1];return m(t,n)}finally{u.__wbindgen_add_to_stack_pointer(16),u.__wbindgen_free(t,n)}}});const s=new Array(32).fill(void 0);function i(e){return s[e]}s.push(void 0,null,!0,!1);let a=s.length,c=0,n=null;function d(){return n=null!==n&&n.buffer===u.memory.buffer?n:new Uint8Array(u.memory.buffer)}let l=new TextEncoder("utf-8");const h="function"==typeof l.encodeInto?function(e,t){return l.encodeInto(e,t)}:function(e,t){var n=l.encode(e);return t.set(n),{read:e.length,written:n.length}};function f(e,t,n){if(void 0===n){const n=l.encode(e),r=t(n.length);return d().subarray(r,r+n.length).set(n),c=n.length,r}let r=e.length,o=t(r);const s=d();let i=0;for(;i<r;i++){const t=e.charCodeAt(i);if(127<t)break;s[o+i]=t}if(i!==r){0!==i&&(e=e.slice(i)),o=n(o,r,r=i+3*e.length);const t=d().subarray(o+i,o+r);i+=h(e,t).written}return c=i,o}let r=null;function g(){return r=null!==r&&r.buffer===u.memory.buffer?r:new Int32Array(u.memory.buffer)}let p=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});function m(e,t){return p.decode(d().subarray(e,e+t))}p.decode();const v=async function e(t){void 0===t&&(t=new URL("stork_bg.wasm",function(){const e=o.p;let t="";return(!e||e.indexOf("://")<0)&&(t+=window.location.protocol+"//"+window.location.host),(t+=e||"/")+"node_modules/stork-search/stork.js"}()));const n={wbg:{}};n.wbg.__wbg_new_693216e109162396=function(){return e=new Error,a===s.length&&s.push(s.length+1),t=a,a=s[t],s[t]=e,t;var e,t},n.wbg.__wbg_stack_0ddaca5d1abfb52f=function(e,t){var t=f(i(t).stack,u.__wbindgen_malloc,u.__wbindgen_realloc),n=c;g()[e/4+1]=n,g()[e/4+0]=t},n.wbg.__wbg_error_09919627ac0992f5=function(e,t){try{console.error(m(e,t))}finally{u.__wbindgen_free(e,t)}},n.wbg.__wbindgen_object_drop_ref=function(e){i(e),(e=e)<36||(s[e]=a,a=e)};var{instance:t,module:r}=await async function(e,t){if("function"==typeof Response&&e instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(e,t)}catch(t){if("application/wasm"==e.headers.get("Content-Type"))throw t;console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",t)}var n=await e.arrayBuffer();return WebAssembly.instantiate(n,t)}n=await WebAssembly.instantiate(e,t);return n instanceof WebAssembly.Instance?{instance:n,module:e}:n}(await(t="string"==typeof t||"function"==typeof Request&&t instanceof Request||"function"==typeof URL&&t instanceof URL?fetch(t):t),n);return u=t.exports,e.__wbindgen_wasm_module=r,u}},914:(e,l,t)=>{Object.defineProperty(l,"__esModule",{value:!0}),l.calculateOverriddenConfig=l.defaultConfig=void 0;var u=t(445),c=t(466);l.defaultConfig={showProgress:!0,printIndexInfo:!1,showScores:!1,showCloseButton:!0,minimumQueryLength:3,forceOverwrite:!1,resultNoun:{singular:"file",plural:"files"},onQueryUpdate:void 0,onResultSelected:void 0,onResultsHidden:void 0,onInputCleared:void 0,transformResultUrl:function(e){return e}},l.calculateOverriddenConfig=function(e){var t,n=(0,c.difference)(Object.keys(e),Object.keys(l.defaultConfig));if(0<n.length)return t=(0,c.plural)(n.length,"key","keys"),n=JSON.stringify(n),new u.default("Invalid ".concat(t," in config object: ").concat(n));for(var r=Object.assign({},l.defaultConfig),o=0,s=Object.keys(l.defaultConfig);o<s.length;o++){var i=s[o],a=e[i];void 0!==a&&(r[i]=a)}return r}},227:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.existsBeyondContainerBounds=t.setText=t.clear=t.add=t.create=void 0,t.create=function(e,t){e=document.createElement(e);return t.classNames&&e.setAttribute("class",t.classNames.join(" ")),e},t.add=function(e,t,n){n.insertAdjacentElement(t,e)},t.clear=function(e){for(;e&&e.firstChild;)e.removeChild(e.firstChild)},t.setText=function(e,t){t=document.createTextNode(t);e&&e.firstChild?e.replaceChild(t,e.firstChild):e&&e.appendChild(t)},t.existsBeyondContainerBounds=function(e,t){e=e.getBoundingClientRect(),t=t.getBoundingClientRect();return e.bottom>t.bottom||e.top<t.top}},934:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Entity=void 0;var r=n(139),o=n(771),s=n(214),i=n(445);function a(e,t,n){var r=this;this._state="initialized",this.downloadProgress=0,this.results=[],this.totalResultCount=0,this.eventListenerFunctions={},this.highlightedResult=0,this.resultsVisible=!1,this.hoverSelectEnabled=!0,this.setDownloadProgress=function(e){r.state="loading",r.downloadProgress=e,r.config.showProgress&&r.render()},this.name=e,this.url=t,this.config=n}Object.defineProperty(a.prototype,"state",{get:function(){return this._state},set:function(e){this._state=e,this.render()},enumerable:!1,configurable:!0}),a.prototype.getCurrentMessage=function(){if(!this.domManager)return null;var e=this.domManager.getQuery();return"error"===this.state?"Error! Check the browser console.":"ready"!=this.state?"Loading...":(null==e?void 0:e.length)<this.config.minimumQueryLength?"Filtering...":this.results?0===this.totalResultCount?"No ".concat(this.config.resultNoun.plural," found."):1===this.totalResultCount?"1 ".concat(this.config.resultNoun.singular," found."):"".concat(this.totalResultCount," ").concat(this.config.resultNoun.plural," found."):null},a.prototype.generateRenderConfig=function(){return{results:this.results,resultsVisible:!0,showScores:this.config.showScores,message:this.getCurrentMessage(),showProgress:this.config.showProgress,progress:this.downloadProgress,state:this.state}},a.prototype.render=function(){this.domManager&&this.domManager.render(this.generateRenderConfig())},a.prototype.registerIndex=function(r){var o=this;return new Promise(function(e,t){var n=JSON.parse((0,s.wasm_register_index)(o.name,r));n.error?t(new i.default(n.error)):(o.config.printIndexInfo&&console.log(n),o.state="ready",e(n))})},a.prototype.attachToDom=function(){this.domManager=new o.EntityDom(this.name,this),this.render()},a.prototype.injestSearchData=function(e){var r=this,o=(this.results=e.results,this.totalResultCount=e.total_hit_count,this.highlightedResult=0,e.url_prefix||"");this.results.map(function(e){var t="",n=e.excerpts.map(function(e){return e.internal_annotations}).filter(function(e){return!!e})[0];n&&n[0]&&("string"==typeof(n=n[0]).a&&(t+=n.a)),e.excerpts&&e.excerpts[0]&&e.excerpts[0].internal_annotations&&e.excerpts[0].internal_annotations[0]&&e.excerpts[0].internal_annotations[0].a&&"string"==typeof e.excerpts[0].internal_annotations[0].a&&(t=e.excerpts[0].internal_annotations[0].a),e.entry.url=r.config.transformResultUrl("".concat(o).concat(e.entry.url).concat(t))}),this.render()},a.prototype.getSanitizedResults=function(){var e=this.results;return e.map(function(e){delete e.title_highlight_ranges,e.excerpts.map(function(e){delete e.highlight_ranges,delete e.internal_annotations})}),e},a.prototype.setDownloadError=function(){this.state="error"},a.prototype.performSearch=function(e){if("ready"===this.state){if(e.length<this.config.minimumQueryLength)return this.results=[],void this.render();try{var t=(0,r.resolveSearch)(this.name,e);if(!t)return;this.injestSearchData(t),this.config.onQueryUpdate&&this.config.onQueryUpdate(e,this.getSanitizedResults())}catch(e){console.error(e)}}else this.render()},t.Entity=a},771:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.EntityDom=void 0;var a=n(227),i=n(9),o={results:[],resultsVisible:!1,showScores:!1,message:null,showProgress:!1,progress:1,state:"ready"};function r(n,e){var r=this,e=(this.scrollAnchorPoint="end",this.entity=e,[{selector:'input[data-stork="'.concat(n,'"]'),elementName:"input"},{selector:'div[data-stork="'.concat(n,'-output"]'),elementName:"output"}].map(function(e){var t=document.querySelector(e.selector);if(t)return t;throw new Error('Could not register search box "'.concat(n,'": ').concat(e.elementName," element not found. Make sure an element matches the query selector `").concat(e.selector,"`"))})),t=e[0],e=e[1];this.elements={input:t,output:e,list:(0,a.create)("ul",{classNames:["stork-results"]}),attribution:(0,a.create)("div",{classNames:["stork-attribution"]}),progress:(0,a.create)("div",{classNames:["stork-progress"]}),message:(0,a.create)("div",{classNames:["stork-message"]}),closeButton:(0,a.create)("button",{classNames:["stork-close-button"]})},this.elements.input.removeEventListener("input",this.entity.eventListenerFunctions.inputInputEvent),this.elements.input.removeEventListener("keydown",this.entity.eventListenerFunctions.inputKeydownEvent),this.entity.eventListenerFunctions={inputInputEvent:function(e){r.handleInputEvent(e)},inputKeydownEvent:function(e){r.handleKeyDownEvent(e)}},this.elements.input.addEventListener("input",this.entity.eventListenerFunctions.inputInputEvent),this.elements.input.addEventListener("keydown",this.entity.eventListenerFunctions.inputKeydownEvent),null!=(t=this.elements.list)&&t.addEventListener("mousemove",function(){r.hoverSelectEnabled=!0}),this.elements.attribution.innerHTML='Powered by <a href="https://stork-search.net">Stork</a>',this.elements.closeButton.innerHTML='\n<svg height="0.8em" viewBox="0 0 23 24" xmlns="http://www.w3.org/2000/svg">\n<g fill="none" fill-rule="evenodd" stroke-linecap="round">\n<g transform="translate(-700 -149)" stroke="currentcolor" stroke-width="4">\n<line id="a" x1="702.5" x2="720" y1="152.5" y2="170"/>\n<line transform="translate(711 161) rotate(-90) translate(-711 -161)" x1="702.5" x2="720" y1="152.5" y2="170"/>\n</g>\n</g>\n</svg>',this.entity.config.showProgress&&(0,a.add)(this.elements.progress,"afterend",this.elements.input),null!=(e=this.elements.closeButton)&&e.addEventListener("click",function(){r.elements.input.value="",r.elements.input.focus(),r.render(o);var e=[r.entity.config.onInputCleared,r.entity.config.onResultsHidden],t=e[0],e=e[1];t&&t(),e&&e()})}r.prototype.clearDom=function(){var e;(0,a.clear)(this.elements.output),(0,a.clear)(this.elements.list),null!=(e=this.elements.closeButton)&&e.remove(),this.elements.output.classList.remove("stork-output-visible")},r.prototype.render=function(r){var e,o=this,t=this.elements.input.value;if(this.clearDom(),(this.lastRenderState=r).showProgress&&((e=function(){switch(r.state){case"ready":case"error":return 1;case"initialized":case"loading":return.9*r.progress+.05}}())<1?(this.elements.progress.style.width="".concat(100*e,"%"),this.elements.progress.style.opacity="1"):(this.elements.progress.style.width="100%",this.elements.progress.style.opacity="0")),"error"===r.state&&this.elements.input.classList.add("stork-error"),0<this.getQuery().length&&r.resultsVisible&&(this.elements.output.classList.add("stork-output-visible"),(0,a.add)(this.elements.message,"beforeend",this.elements.output)),r.message&&(0,a.setText)(this.elements.message,r.message),0<(null==(e=r.results)?void 0:e.length)&&r.resultsVisible){(0,a.add)(this.elements.list,"beforeend",this.elements.output);for(var s=this,n=0;n<r.results.length;n++)!function(e){var t=r.results[e],n={selected:e===s.highlightedResult,showScores:r.showScores},t=(0,i.resultToListItem)(t,n);(0,a.add)(t,"beforeend",s.elements.list),t.addEventListener("mousemove",function(){o.hoverSelectEnabled&&e!==o.highlightedResult&&o.changeHighlightedResult({to:e,shouldScrollTo:!1})}),t.addEventListener("mouseleave",function(){o.hoverSelectEnabled&&e===o.highlightedResult&&o.changeHighlightedResult({to:-1,shouldScrollTo:!1})}),t.addEventListener("click",function(e){e.preventDefault(),o.selectResult()})}(n);(0,a.add)(this.elements.attribution,"beforeend",this.elements.output)}0<((null==t?void 0:t.length)||0)&&this.entity.config.showCloseButton&&(0,a.add)(this.elements.closeButton,"afterend",this.elements.input)},r.prototype.selectResult=function(){var e;null!=this.highlightedResult&&(e=this.entity.results[this.highlightedResult],this.entity.config.onResultSelected?Promise.resolve(this.entity.config.onResultSelected(this.getQuery(),e)).finally(function(){window.location.assign(e.entry.url)}):window.location.assign(e.entry.url))},r.prototype.changeHighlightedResult=function(e){var t=this.highlightedResult,n=Math.max(-1,Math.min(this.entity.results.length-1,e.to));this.highlightedResult=n,this.scrollAnchorPoint=(t||0)<n?"end":"start";for(var r=null,o=0;o<this.entity.results.length;o++){var s,i=null==(i=this.elements.list)?void 0:i.children[o];i&&(s="selected",o==n?(i.classList.add(s),r=i):i.classList.remove(s))}return e.shouldScrollTo&&(this.hoverSelectEnabled=!1,r&&(0,a.existsBeyondContainerBounds)(r,this.elements.list)&&r.scrollIntoView({behavior:"smooth",block:this.scrollAnchorPoint,inline:"nearest"})),n},r.prototype.handleKeyDownEvent=function(e){switch(e.keyCode){case 40:var t;null==this.highlightedResult?this.changeHighlightedResult({to:0,shouldScrollTo:!0}):(t=Math.min(this.highlightedResult+1,this.entity.results.length-1),this.changeHighlightedResult({to:t,shouldScrollTo:!0}));break;case 38:null!=this.highlightedResult&&(t=Math.max(0,this.highlightedResult-1),this.changeHighlightedResult({to:t,shouldScrollTo:!0}));break;case 13:this.selectResult();break;case 27:var n;this.lastRenderState.resultsVisible?(this.render(o),(n=this.entity.config.onResultsHidden)&&n()):0<this.elements.input.value.length&&(this.elements.input.value="",this.render(o),(n=this.entity.config.onInputCleared)&&n());break;default:return}},r.prototype.handleInputEvent=function(e){this.entity.performSearch(e.target.value)},r.prototype.getQuery=function(){return this.elements.input.value},t.EntityDom=r},129:function(e,t,n){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},a=(Object.defineProperty(t,"__esModule",{value:!0}),t.debug=t.entityIsReady=t.attachToDom=t.register=void 0,n(934)),l=n(914),u=n(794),c=n(258),d=n(445),h={};t.register=function(o,s,i){return new Promise(function(t,n){var r,e=(0,l.calculateOverriddenConfig)(i);e instanceof d.default?n(e):(h[o]&&!e.forceOverwrite&&n(new d.default("You're registering an index named `".concat(o,"`, but that already exists. If this is expected, set forceOverwrite to true in your Javascript config to allow overwriting indexes."))),r=new a.Entity(o,s,e),h[o]=r,(0,u.loadIndexFromUrl)(s,{progress:function(e){r.setDownloadProgress(e)},load:function(e){(0,c.runAfterWasmLoaded)(function(){r.registerIndex(new Uint8Array(e)).then(t).catch(n)},function(){r.state="error"})},error:function(){r.setDownloadError(),n()}}))})},t.attachToDom=function(e){if(!h[e])throw new Error("Index ".concat(e," has not been registered!"));h[e].attachToDom()},t.entityIsReady=function(e){return"ready"===(null==(e=h[e])?void 0:e.state)},t.debug=function(){return{entities:r({},h),entitiesCount:h.length}}},794:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.loadIndexFromUrl=void 0,t.loadIndexFromUrl=function(e,r){var t=new XMLHttpRequest;t.addEventListener("load",function(e){var t=e.target,n=t.status,t=t.response;0!==n?n<200||299<n?r.error():r.load(t):r.progress(e.loaded/e.total)}),t.addEventListener("error",function(){r.error()}),t.addEventListener("progress",function(e){r.progress(e.loaded/e.total)}),t.responseType="arraybuffer",t.open("GET",e),t.send()}},480:function(e,t,n){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},i=(Object.defineProperty(t,"__esModule",{value:!0}),t.debug=t.register=t.search=t.attach=t.downloadIndex=t.initialize=void 0,n(129)),o=n(258),s=n(139),a=n(445),l=n(34),u=n(214);function c(e){return(0,o.loadWasm)(e=void 0===e?null:e).then(function(){})}function d(r,o,s){return void 0===s&&(s={}),new Promise(function(e,t){var n=(0,l.validateIndexParams)(r,o);n?t(n):(0,i.register)(r,o,s).then(e).catch(t)})}function h(e){try{(0,i.attachToDom)(e)}catch(e){throw new a.default(e.message)}}t.initialize=c,t.downloadIndex=d,t.attach=h,t.register=function(e,t,n){void 0===n&&(n={});var r=c(),t=d(e,t,n);return h(e),Promise.all([r,t]).then()},t.search=function(e,t){if(!e||!t)throw new a.default("Make sure to call stork.search() with two arguments: the index name and the search query.");if((0,i.entityIsReady)(e))return(0,s.resolveSearch)(e,t);throw new a.default("Couldn't find index. Make sure the stork.downloadIndex() promise has resolved before calling stork.search().")},t.debug=function(){return r(r(r({},(0,o.debug)()),(0,i.debug)()),{jsStorkVersion:"1.5.0",wasmStorkVersion:u.wasm_stork_version})}},112:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.highlight=void 0,t.highlight=function(e,t){function n(e,t,n){return e.substr(0,t)+n+e.substr(t)}for(var r=0,o=0,s=t;o<s.length;o++){var i=s[o],a='<mark class="stork-highlight">',l="</mark>";e=n(e,i.beginning+r,a),r+=a.length,e=n(e,i.end+r,l),r+=l.length}return e}},9:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.resultToListItem=void 0;var r=n(112);t.resultToListItem=function(e,t){var n=document.createElement("template");return n.innerHTML='\n<li class="stork-result'.concat(t.selected?" selected":"",'">\n <a href="').concat(e.entry.url,'">\n <div class="stork-title">\n <p>').concat((0,r.highlight)(e.entry.title,e.title_highlight_ranges||[]),"</p>\n ").concat(t.showScores?"<code><b>".concat(e.score,"</b></code>"):"","\n </div>\n ").concat(0<e.excerpts.length?'<div class="stork-excerpt-container" />':"","\n ").concat(e.excerpts.map(function(e){return'<div class="stork-excerpt"><p>\n ...'.concat((0,r.highlight)(e.text,e.highlight_ranges||[]),"...\n </p>\n ").concat(t.showScores?"<code>".concat(e.score,"</code>"):"","\n </div>")}).join(""),"\n ").concat(0<e.excerpts.length?"</div>":"","\n </a>\n</li>"),n.content.firstElementChild}},139:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.resolveSearch=void 0;var o=n(214),s=n(445);t.resolveSearch=function(e,t){var n=null,r=null;try{n=(0,o.wasm_search)(e,t),r=JSON.parse(n)}catch(e){throw new s.default("Could not parse data from wasm_search. If you see this, please file a bug: https://jil.im/storkbug "+n)}if(!r)throw new s.default("Data was an empty object");if(r.error)throw new s.default("Could not perform search: the WASM binary failed to return search results.\n You might not be serving your search index properly.\n If you think this is an error, please file a bug: https://jil.im/storkbug\n \n The WASM binary came back with:\n ".concat(r.error));return r}},445:function(e,t){var r,n,o=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=(Object.defineProperty(t,"__esModule",{value:!0}),n=Error,o(s,n),s);function s(e){e=n.call(this,e)||this;return e.name="StorkError",e}t.default=o},466:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.plural=t.difference=t.htmlToElement=void 0,t.htmlToElement=function(e){var t=document.createElement("template");return e=e.trim(),t.innerHTML=e,t.content.firstChild},t.difference=function(e,t){var e=new Set(e),n=new Set(t),t=new Set(Array.from(e).filter(function(e){return!n.has(e)}));return Array.from(t)},t.plural=function(e,t,n){return 1==e?t:n}},34:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateIndexParams=void 0;var r=n(445);t.validateIndexParams=function(e,t){return"string"!=typeof e?new r.default("Index registration name must be a string."):"string"!=typeof t?new r.default("URL must be a string."):null}},258:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.debug=t.loadWasm=t.runAfterWasmLoaded=void 0;var r=n(214),o=n(445),s="https://files.stork-search.net/releases/v".concat("1.5.0","/stork.wasm"),i=null,a=null,l=[],u=[],c=(t.loadWasm=function(e){if(a)return a;var t=(e=void 0===e?null:e)||s,e=(i=t,(0,r.default)(t).then(function(){return c(),t}).catch(function(){throw d(),new o.default("Error while loading WASM at ".concat(t))}));return a=e},t.runAfterWasmLoaded=function(e,t){return a?(a.then(function(){return e()}).catch(function(){return t()}),a):(l.push(e),u.push(t),null)},function(){l.forEach(function(e){e()}),l=[]}),d=function(){u.forEach(function(e){e()}),u=[]};t.debug=function(){return{wasmSourceUrl:i,wasmLoadPromise:a,queueLength:l.length}}}},r={};function o(e){var t=r[e];if(void 0!==t)return t.exports;t=r[e]={exports:{}};return n[e].call(t.exports,t,t.exports,o),t.exports}o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.g.importScripts&&(e=o.g.location+"");var e,t=o.g.document;if(e||!t||(e=t.currentScript?t.currentScript.src:e)||(t=t.getElementsByTagName("script")).length&&(e=t[t.length-1].src),!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=e;t=o(480);stork=t})(),loadStork();
\ No newline at end of file diff --git a/static/search_bundle_tinysearch.min.js b/static/search_bundle_tinysearch.min.js deleted file mode 100644 index bb74dd4..0000000 --- a/static/search_bundle_tinysearch.min.js +++ /dev/null @@ -1 +0,0 @@ -function closeSearchNow(){const e=document.querySelector("main");e.innerHTML=window.main}function goSearchNow(){const e=document.querySelector("main");window.main||(window.main=e.innerHTML);var t=document.getElementById("suggestions"),n=t.cloneNode(!0),o=(n.id="results",document.createElement("div")),a='<form name="closeSearch"><h2><button type="submit" title="Close Search"><i class="svgs x"></i></button> Results For: '.concat(document.getElementById("searchinput").value,"</h2></form>");return o.innerHTML=a,n.insertBefore(o,n.firstChild),e.innerHTML=n.outerHTML,t.innerHTML="",document.getElementById("searchinput").value="",document.body.contains(document.closeSearch)&&(document.closeSearch.onsubmit=function(){closeSearchNow()}),!1}async function lazyLoad(){var e=document.querySelector("meta[name='base']").getAttribute("content");await init((e="/"==e.slice(-1)?e.slice(0,-1):e)+"/tinysearch_engine_bg.wasm")}var loaded=!(window.onload=function(){document.body.contains(document.goSearch)&&(document.goSearch.onsubmit=function(){return goSearchNow()})});function closeAllLists(e){for(var t=document.getElementById("suggestions");t.firstChild;)t.removeChild(t.firstChild)}function markTerm(e,t){return e.replace(new RegExp("(^|)("+t+")(|$)","ig"),"$1<mark><b>$2</b></mark>$3")}function autocomplete(e){e.addEventListener("input",function(e){var t=this.value;if(closeAllLists(),!t)return!1;for(var n=document.getElementById("suggestions"),o=search(t,99),a=0;a<o.length;a++){var r,c,i,s,u=o[a];(s=document.createElement("DIV")).innerHTML="<a href><span></span><span></span></a>",r=s.querySelector("a"),c=s.querySelector("span:first-child"),i=s.querySelector("span:nth-child(2)"),r.href=u[1]+"?q="+encodeURIComponent(t),c.innerHTML=markTerm(u[0],t),i.innerHTML=markTerm(u[2],t),n.appendChild(s)}})}loaded||(lazyLoad(),loaded=!0,document.body.contains(document.goSearch)&&(document.goSearch.onsubmit=function(){return goSearchNow()}));var searchinput=document.getElementById("searchinput");function suggestionFocus(t){191===t.keyCode&&"INPUT"!==document.activeElement.tagName&&"TEXTAREA"!==document.activeElement.tagName&&(t.preventDefault(),searchinput.focus(),suggestions.classList.remove("d-none")),27===t.keyCode&&(searchinput.blur(),suggestions.classList.add("d-none"),closeAllLists());const n=suggestions.querySelectorAll("a");if(!suggestions.classList.contains("d-none")&&0!==n.length){const a=[...n];var o=a.indexOf(document.activeElement);let e=0;38===t.keyCode?(t.preventDefault(),e=0<o?o-1:0,n[e].focus()):40===t.keyCode&&(t.preventDefault(),e=o+1<a.length?o+1:o,n[e].focus())}}document.addEventListener("keydown",suggestionFocus);let wasm,cachedTextDecoder=(autocomplete(document.getElementById("searchinput")),new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0})),cachegetUint8Memory0=(cachedTextDecoder.decode(),null);function getUint8Memory0(){return cachegetUint8Memory0=null!==cachegetUint8Memory0&&cachegetUint8Memory0.buffer===wasm.memory.buffer?cachegetUint8Memory0:new Uint8Array(wasm.memory.buffer)}function getStringFromWasm0(e,t){return cachedTextDecoder.decode(getUint8Memory0().subarray(e,e+t))}const heap=new Array(32).fill(void 0);heap.push(void 0,null,!0,!1);let heap_next=heap.length;function addHeapObject(e){heap_next===heap.length&&heap.push(heap.length+1);var t=heap_next;return heap_next=heap[t],heap[t]=e,t}let WASM_VECTOR_LEN=0,cachedTextEncoder=new TextEncoder("utf-8");const encodeString="function"==typeof cachedTextEncoder.encodeInto?function(e,t){return cachedTextEncoder.encodeInto(e,t)}:function(e,t){var n=cachedTextEncoder.encode(e);return t.set(n),{read:e.length,written:n.length}};function passStringToWasm0(e,t,n){if(void 0===n){const n=cachedTextEncoder.encode(e),o=t(n.length);return getUint8Memory0().subarray(o,o+n.length).set(n),WASM_VECTOR_LEN=n.length,o}let o=e.length,a=t(o);const r=getUint8Memory0();let c=0;for(;c<o;c++){const t=e.charCodeAt(c);if(127<t)break;r[a+c]=t}if(c!==o){0!==c&&(e=e.slice(c)),a=n(a,o,o=c+3*e.length);const t=getUint8Memory0().subarray(a+c,a+o);c+=encodeString(e,t).written}return WASM_VECTOR_LEN=c,a}function getObject(e){return heap[e]}function dropObject(e){e<36||(heap[e]=heap_next,heap_next=e)}function takeObject(e){var t=getObject(e);return dropObject(e),t}function search(e,t){var e=passStringToWasm0(e,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc),n=WASM_VECTOR_LEN;return takeObject(wasm.search(e,n,t))}async function load(e,t){if("function"==typeof Response&&e instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(e,t)}catch(t){if("application/wasm"==e.headers.get("Content-Type"))throw t;console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",t)}var n=await e.arrayBuffer();return WebAssembly.instantiate(n,t)}return(n=await WebAssembly.instantiate(e,t))instanceof WebAssembly.Instance?{instance:n,module:e}:n}async function init(e){var t=document.querySelector("meta[name='base']").getAttribute("content");"/"==t.slice(-1)&&(t=t.slice(0,-1)),void 0===e&&(e=new URL(t+"/tinysearch_engine_bg.wasm",import.meta.url));const n={wbg:{}};n.wbg.__wbindgen_json_parse=function(e,t){return addHeapObject(JSON.parse(getStringFromWasm0(e,t)))};var{instance:e,module:t}=await load(await(e="string"==typeof e||"function"==typeof Request&&e instanceof Request||"function"==typeof URL&&e instanceof URL?fetch(e):e),n);return wasm=e.exports,init.__wbindgen_wasm_module=t,wasm}export default init;export{search};
\ No newline at end of file diff --git a/static/search_facade.js b/static/search_facade.js deleted file mode 100644 index 174e141..0000000 --- a/static/search_facade.js +++ /dev/null @@ -1,15 +0,0 @@ -window.onload = function() { - document.getElementById('searchinput').onclick = function() { - var baseUrl = document.querySelector("meta[name='base']").getAttribute("content"); - if (baseUrl.slice(-1) == "/") { - baseUrl = baseUrl.slice(0, -1); - } - var sha256='a5da49e60765868acc42bc230eda18acb050d762201feab3275bd8bf8b87b4e6'; - var sha384='CoyxM6A7vQBhuCq0adbhanggafzE/H35VciKh5wTASR4wKO76duaSRzF0+QEsq8b'; - var loadSearch = document.createElement('script'); - loadSearch.src = baseUrl + '/search_bundle.min.js?h=' + sha256; - loadSearch.setAttribute('integrity', 'sha384-' + sha384); - document.head.appendChild(loadSearch); - document.getElementById('searchinput').onclick = ''; - } -}; diff --git a/static/search_facade_stork.js b/static/search_facade_stork.js deleted file mode 100644 index fc1459d..0000000 --- a/static/search_facade_stork.js +++ /dev/null @@ -1,16 +0,0 @@ -window.onload = function() { - document.getElementById('searchinput').onclick = function() { - var baseUrl = document.querySelector("meta[name='base']").getAttribute("content"); - if (baseUrl.slice(-1) == "/") { - baseUrl = baseUrl.slice(0, -1); - } - var sha256='07a791ddc469ec9b7e93fa64a81899b6c12bb3143e8bd0d1aee0b6dacc885b7e'; - var sha384='ePgzx2d0I+A6dkB+OTuOp13dsBEsL9f847ocaay/uDpwIyj0DUwOm7sEB01VpEiL'; - var loadSearch = document.createElement('script'); - loadSearch.src = baseUrl + '/search_bundle_stork.min.js?h=' + sha256; - loadSearch.setAttribute('integrity', 'sha384-' + sha384); - loadSearch.setAttribute('type', 'module'); - document.head.appendChild(loadSearch); - document.getElementById('searchinput').onclick = ''; - } -}; diff --git a/static/search_facade_tinysearch.js b/static/search_facade_tinysearch.js deleted file mode 100644 index c928818..0000000 --- a/static/search_facade_tinysearch.js +++ /dev/null @@ -1,16 +0,0 @@ -window.onload = function() { - document.getElementById('searchinput').onclick = function() { - var baseUrl = document.querySelector("meta[name='base']").getAttribute("content"); - if (baseUrl.slice(-1) == "/") { - baseUrl = baseUrl.slice(0, -1); - } - var sha256='1532d7e7d8292eec3ae8364d3d76029049533141d0674e4a02b1a17986e5f8ef'; - var sha384='POHXtCCwUbHtLT1Hn4+cEysiGJyU7RbnIQKfucRPc9gAquQsFc6j4Zca1HoWo+GS'; - var loadSearch = document.createElement('script'); - loadSearch.src = baseUrl + '/search_bundle_tinysearch.min.js?h=' + sha256; - loadSearch.setAttribute('integrity', 'sha384-' + sha384); - loadSearch.setAttribute('type', 'module'); - document.head.appendChild(loadSearch); - document.getElementById('searchinput').onclick = ''; - } -}; diff --git a/static/stork.st b/static/stork.st Binary files differindex 0543733..a6aafe2 100644 --- a/static/stork.st +++ b/static/stork.st diff --git a/static/stork.wasm b/static/stork.wasm Binary files differindex 1c7b52d..82559be 100644 --- a/static/stork.wasm +++ b/static/stork.wasm diff --git a/static/stork_config.js b/static/stork_config.js deleted file mode 100644 index 5480a18..0000000 --- a/static/stork_config.js +++ /dev/null @@ -1,14 +0,0 @@ -function loadStork() { - var baseUrl = document.querySelector("meta[name='base']").getAttribute("content"); - if (baseUrl.slice(-1) == "/") { - baseUrl = baseUrl.slice(0, -1); - } - stork.initialize(baseUrl + "/stork.wasm").then(() => { - console.log("Finished downloading WASM"); - }) - .catch(e => { - console.error(e); - }); // download WASM - stork.register("stork",baseUrl + "/stork.st"); -} -loadStork();
\ No newline at end of file diff --git a/static/theme.js b/static/theme.js deleted file mode 100644 index 5f6f0f6..0000000 --- a/static/theme.js +++ /dev/null @@ -1,4 +0,0 @@ -// enforce local storage setting but also fallback to user-agent preferences -if (localStorage.getItem('theme') === 'light' || (!localStorage.getItem('theme') && !window.matchMedia("(prefers-color-scheme: dark)").matches)) { - document.documentElement.classList.add('light'); -} diff --git a/static/theme.min.js b/static/theme.min.js deleted file mode 100644 index 612895e..0000000 --- a/static/theme.min.js +++ /dev/null @@ -1 +0,0 @@ -"light"!==localStorage.getItem("theme")&&(localStorage.getItem("theme")||window.matchMedia("(prefers-color-scheme: dark)").matches)||document.documentElement.classList.add("light");
\ No newline at end of file diff --git a/static/theme_button.js b/static/theme_button.js deleted file mode 100644 index d71c4fb..0000000 --- a/static/theme_button.js +++ /dev/null @@ -1,5 +0,0 @@ -// Set lightmode -document.getElementById('mode').addEventListener('click', () => { - document.documentElement.classList.toggle('light'); - localStorage.setItem('theme', document.documentElement.classList.contains('light') ? 'light' : 'dark'); -}); diff --git a/static/tinysearch_engine.d.ts b/static/tinysearch_engine.d.ts deleted file mode 100644 index d1b37dd..0000000 --- a/static/tinysearch_engine.d.ts +++ /dev/null @@ -1,38 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** -* @param {string} query -* @param {number} num_results -* @returns {any} -*/ -export function search(query: string, num_results: number): any; - -export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; - -export interface InitOutput { - readonly memory: WebAssembly.Memory; - readonly search: (a: number, b: number, c: number) => number; - readonly __wbindgen_malloc: (a: number) => number; - readonly __wbindgen_realloc: (a: number, b: number, c: number) => number; -} - -export type SyncInitInput = BufferSource | WebAssembly.Module; -/** -* Instantiates the given `module`, which can either be bytes or -* a precompiled `WebAssembly.Module`. -* -* @param {SyncInitInput} module -* -* @returns {InitOutput} -*/ -export function initSync(module: SyncInitInput): InitOutput; - -/** -* If `module_or_path` is {RequestInfo} or {URL}, makes a request and -* for everything else, calls `WebAssembly.instantiate` directly. -* -* @param {InitInput | Promise<InitInput>} module_or_path -* -* @returns {Promise<InitOutput>} -*/ -export default function init (module_or_path?: InitInput | Promise<InitInput>): Promise<InitOutput>; diff --git a/static/tinysearch_engine.js b/static/tinysearch_engine.js deleted file mode 100644 index 7fa5084..0000000 --- a/static/tinysearch_engine.js +++ /dev/null @@ -1,203 +0,0 @@ - -let wasm; - -const cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }); - -cachedTextDecoder.decode(); - -let cachedUint8Memory0 = new Uint8Array(); - -function getUint8Memory0() { - if (cachedUint8Memory0.byteLength === 0) { - cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer); - } - return cachedUint8Memory0; -} - -function getStringFromWasm0(ptr, len) { - return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); -} - -const heap = new Array(32).fill(undefined); - -heap.push(undefined, null, true, false); - -let heap_next = heap.length; - -function addHeapObject(obj) { - if (heap_next === heap.length) heap.push(heap.length + 1); - const idx = heap_next; - heap_next = heap[idx]; - - heap[idx] = obj; - return idx; -} - -let WASM_VECTOR_LEN = 0; - -const cachedTextEncoder = new TextEncoder('utf-8'); - -const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' - ? function (arg, view) { - return cachedTextEncoder.encodeInto(arg, view); -} - : function (arg, view) { - const buf = cachedTextEncoder.encode(arg); - view.set(buf); - return { - read: arg.length, - written: buf.length - }; -}); - -function passStringToWasm0(arg, malloc, realloc) { - - if (realloc === undefined) { - const buf = cachedTextEncoder.encode(arg); - const ptr = malloc(buf.length); - getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf); - WASM_VECTOR_LEN = buf.length; - return ptr; - } - - let len = arg.length; - let ptr = malloc(len); - - const mem = getUint8Memory0(); - - let offset = 0; - - for (; offset < len; offset++) { - const code = arg.charCodeAt(offset); - if (code > 0x7F) break; - mem[ptr + offset] = code; - } - - if (offset !== len) { - if (offset !== 0) { - arg = arg.slice(offset); - } - ptr = realloc(ptr, len, len = offset + arg.length * 3); - const view = getUint8Memory0().subarray(ptr + offset, ptr + len); - const ret = encodeString(arg, view); - - offset += ret.written; - } - - WASM_VECTOR_LEN = offset; - return ptr; -} - -function getObject(idx) { return heap[idx]; } - -function dropObject(idx) { - if (idx < 36) return; - heap[idx] = heap_next; - heap_next = idx; -} - -function takeObject(idx) { - const ret = getObject(idx); - dropObject(idx); - return ret; -} -/** -* @param {string} query -* @param {number} num_results -* @returns {any} -*/ -export function search(query, num_results) { - const ptr0 = passStringToWasm0(query, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.search(ptr0, len0, num_results); - return takeObject(ret); -} - -async function load(module, imports) { - if (typeof Response === 'function' && module instanceof Response) { - if (typeof WebAssembly.instantiateStreaming === 'function') { - try { - return await WebAssembly.instantiateStreaming(module, imports); - - } catch (e) { - if (module.headers.get('Content-Type') != 'application/wasm') { - console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); - - } else { - throw e; - } - } - } - - const bytes = await module.arrayBuffer(); - return await WebAssembly.instantiate(bytes, imports); - - } else { - const instance = await WebAssembly.instantiate(module, imports); - - if (instance instanceof WebAssembly.Instance) { - return { instance, module }; - - } else { - return instance; - } - } -} - -function getImports() { - const imports = {}; - imports.wbg = {}; - imports.wbg.__wbindgen_json_parse = function(arg0, arg1) { - const ret = JSON.parse(getStringFromWasm0(arg0, arg1)); - return addHeapObject(ret); - }; - - return imports; -} - -function initMemory(imports, maybe_memory) { - -} - -function finalizeInit(instance, module) { - wasm = instance.exports; - init.__wbindgen_wasm_module = module; - cachedUint8Memory0 = new Uint8Array(); - - - return wasm; -} - -function initSync(module) { - const imports = getImports(); - - initMemory(imports); - - if (!(module instanceof WebAssembly.Module)) { - module = new WebAssembly.Module(module); - } - - const instance = new WebAssembly.Instance(module, imports); - - return finalizeInit(instance, module); -} - -async function init(input) { - if (typeof input === 'undefined') { - input = new URL('tinysearch_engine_bg.wasm', import.meta.url); - } - const imports = getImports(); - - if (typeof input === 'string' || (typeof Request === 'function' && input instanceof Request) || (typeof URL === 'function' && input instanceof URL)) { - input = fetch(input); - } - - initMemory(imports); - - const { instance, module } = await load(await input, imports); - - return finalizeInit(instance, module); -} - -export { initSync } -export default init; diff --git a/static/tinysearch_engine_bg.wasm b/static/tinysearch_engine_bg.wasm Binary files differindex 90d2bb5..c3559af 100644 --- a/static/tinysearch_engine_bg.wasm +++ b/static/tinysearch_engine_bg.wasm diff --git a/static/tinysearch_engine_bg.wasm.d.ts b/static/tinysearch_engine_bg.wasm.d.ts deleted file mode 100644 index 0757276..0000000 --- a/static/tinysearch_engine_bg.wasm.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -export const memory: WebAssembly.Memory; -export function search(a: number, b: number, c: number): number; -export function __wbindgen_malloc(a: number): number; -export function __wbindgen_realloc(a: number, b: number, c: number): number; diff --git a/templates/404.html b/templates/404.html index 02c7688..f3fbfe9 100644 --- a/templates/404.html +++ b/templates/404.html @@ -17,8 +17,15 @@ {%- block content %} <div> - <h1>Page not found :(</h1> - <p>The page you are looking for doesn't exist or has been moved.</p> - <p>Try using the search, or <a href="{{ config.base_url | safe }}{%- if config.extra.uglyurls %}index.html{%- endif %}">go home</a>.</p> + <h1>404 :(</h1> + {#- Default English message #} + <p>Page not found, maybe moved{% if config.languages | length > 0 %} or not in this language{% endif %}. {% if config.build_search_index %}Try searching or{% endif %} <a href="{{ config.base_url | safe }}/{%- if config.extra.uglyurls %}index.html{%- endif %}">go to homepage</a>.</p> + + {# Iterate through each language and display the localised 404 message #} + {%- for lcode, language in config.languages -%} + {%- if lcode != config.default_language -%} + <p>{{ trans(key="404_not_found", lang=lcode) }}. {% if config.build_search_index %}{{ trans(key="404_try_search", lang=lcode) }}{% endif %} <a href="{{ config.base_url }}/{{ lcode }}/{%- if config.extra.uglyurls %}index.html{%- endif %}">{{ trans(key="404_go_home", lang=lcode) }}</a>.</p> + {%- endif -%} + {%- endfor -%} </div> {%- endblock content %} diff --git a/templates/archive.html b/templates/archive.html new file mode 100644 index 0000000..eff70a9 --- /dev/null +++ b/templates/archive.html @@ -0,0 +1,83 @@ +{# +This Page Shows the Posts Grouped by Year: example.com/archive/ +This Template can also be used as the rendering template for Sections, eg: example.com/blog/ example.com/software/ +#} + +{% extends "base.html" %} + +{%- block seo %} + {{- super() }} + {%- set title = "Archive" %} + + {%- if config.title %} + {%- set title_addition = title_separator ~ config.title %} + {%- else %} + {%- set title_addition = "" %} + {%- endif %} + + {%- set description = config.description %} + + {{- macros_head::seo(config=config, title=title, title_addition=title_addition, description=description, is_home=true) }} +{%- endblock seo %} + +{%- block content %} + {#- The following line is checking if the template is being used for the archive page or a section #} + {%- if current_path is matching("^(/[[:alpha:]][[:alpha:]])?/archive/$") %} + {%- set sec = "" %} + {%- else %} + {%- set langpath = "/" %} + {%- if lang != config.default_language %} + {%- set langpath = "/" ~ lang ~ "/" %} + {%- endif %} + + {%- set sec = current_path | trim_start_matches(pat=langpath) | split(pat="/page/") | slice(end=1) | join(sep="") | trim_end_matches(pat="/") %} + {%- set sec = sec ~ "/" %} + {%- endif %} + + {%- if lang == config.default_language %} + {%- set section_item = get_section(path=sec ~ "_index.md") %} + {%- else %} + {%- set section_item = get_section(path=sec ~ "_index." ~ lang ~ ".md") %} + {%- endif %} + {%- if sec != "" %} + {#- the section always overrides the config -#} + {%- if section_item.extra and 'hide_section_dates' in section_item.extra -%} + {%- set hide_section_dates = section_item.extra.hide_section_dates -%} + {%- elif config.extra.hide_section_dates -%} + {%- set hide_section_dates = true -%} + {%- endif -%} + {%- endif %} + <div> + {%- if section_item.title %} + <h2>{{ section_item.title }}</h2> + {%- endif %} + {{- section_item.content | safe }} + {%- if config.extra.archive_reverse %} + {%- for year, posts in section_item.pages | sort(attribute="year") | reverse | group_by(attribute="year") %} + {%- if not hide_section_dates %} + {%- if section_item.title %} + <h3>{{ year }}</h3> + {%- else %} + <h2>{{ year }}</h2> + {%- endif %} + {%- endif %} + {%- for post in posts %} + <p><a href="{{ post.permalink | safe }}{%- if config.extra.uglyurls %}index.html{%- endif %}">{{ post.title }}</a>{%- if not hide_section_dates %} - <time datetime="{{ post.date }}">{{ post.date | date(format="%F") }}</time>{%- endif %}</p> + {%- endfor %} + {%- endfor %} + {%- else %} + {%- for year, posts in section_item.pages | group_by(attribute="year") %} + {%- if not hide_section_dates %} + {%- if section_item.title %} + <h3>{{ year }}</h3> + {%- else %} + <h2>{{ year }}</h2> + {%- endif %} + {%- endif %} + {%- for post in posts %} + <p><a href="{{ post.permalink | safe }}{%- if config.extra.uglyurls %}index.html{%- endif %}">{{ post.title }}</a>{%- if not hide_section_dates %} - <time datetime="{{ post.date }}">{{ post.date | date(format="%F") }}</time>{%- endif %}</p> + {%- endfor %} + {%- endfor %} + {%- endif %} + </div> +{%- endblock content %} diff --git a/templates/base.html b/templates/base.html index 736912f..228b396 100644 --- a/templates/base.html +++ b/templates/base.html @@ -3,13 +3,13 @@ {%- import "macros/page.html" as page_macros %} {%- import "macros/macros.html" as macros %} <!DOCTYPE html> -<html lang="{{ config.extra.language_code | default(value='en-US') }}"> +<html lang="{%- if lang != config.default_language %}{{ lang }}{% else %}{{ config.extra.language_code | default(value=lang) }}{% endif %}"> <head> {{- macros_head::theme(config=config) }} {{- macros_head::stylesheets(config=config) }} <meta charset="utf-8" /> <meta http-equiv="x-ua-compatible" content="ie=edge" /> - <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" /> + <meta name="viewport" content="width=device-width, initial-scale=1" /> {{- macros_head::stylesheets_preload(config=config) }} {{- macros_head::js(config=config) }} <meta name="base" content="{{ config.base_url | safe }}" /> @@ -28,11 +28,7 @@ {{- macros_head::security(config=config) }} {{- macros_head::favicons(config=config) }} <noscript><link rel="stylesheet" href="{{ get_url(path='nojs.css', trailing_slash=false) | safe }}" /></noscript> - {%- block comments_init %} - {%- if config.extra.comments.hyvor %} - <script async src="https://talk.hyvor.com/embed/embed.js" type="module"></script> - {%- endif %} {%- endblock comments_init %} </head> <body> @@ -41,36 +37,62 @@ <nav> <div> {%- if config.extra.logo -%} - <h1><a href="{{ config.base_url | safe }}/{%- if config.extra.uglyurls %}index.html{%- endif %}"> + <h1><a href="{{ get_url(path="/", lang=lang) }}{%- if config.extra.uglyurls %}/index.html{%- endif %}"> {%- if config.extra.logo.file -%} <img src="{{ config.base_url | safe }}/{{ config.extra.logo.file | safe }}"{%- if config.extra.logo.alt %} alt="{{ config.extra.logo.alt | safe }}"{%- endif %}{%- if config.extra.logo.width %} width="{{ config.extra.logo.width | safe }}"{%- endif %}{%- if config.extra.logo.height %} height="{{ config.extra.logo.height | safe }}"{%- endif %} /> {%- endif -%} {%- if config.extra.logo.text -%}{{ config.extra.logo.text | safe }}{%- endif -%} </a></h1> {%- elif config.extra.textlogo -%} - <h1><a href="{{ config.base_url | safe }}/{%- if config.extra.uglyurls %}index.html{%- endif %}">{{ config.extra.textlogo | safe }}</a></h1> + <h1><a href="{{ get_url(path="/", lang=lang) }}{%- if config.extra.uglyurls -%} + {%- if lang == config.default_language -%}/{%- endif -%} + index.html{%- endif -%}">{{ config.extra.textlogo | safe }}</a></h1> {%- elif config.title -%} - <h1><a href="{{ config.base_url | safe }}/{%- if config.extra.uglyurls %}index.html{%- endif %}">{{ config.title | safe }}</a></h1> + <h1><a href="{{ get_url(path="/", lang=lang) }}{%- if config.extra.uglyurls %}/index.html{%- endif %}">{{ config.title | safe }}</a></h1> {%- endif -%} </div> <div> - <ul> - {%- for i in config.extra.menu -%} - <li> <h2><a href="{{ get_url(path=i.url, trailing_slash=i.slash) }}{%- if i.slash and config.extra.uglyurls %}index.html{%- endif %}"{% if i.blank %} target="_blank"{% endif %}>{{ i.name | safe }}</a></h2> </li> - {%- endfor -%} - {%- if config.extra.js_theme -%} - <li class="js">{%- if config.extra.icon_adjust -%}<i type="reset" id="mode" class="{{ config.extra.icon_adjust }}"></i>{%- else -%}<i type="reset" id="mode" class="mode">☀</i>{%- endif -%}</li> + {% set js_switcher=config.extra.js_switcher | default(value=true) %} + {%- if config.extra.menu or js_switcher %} + {%- if config.extra.menu %} + {%- for i in config.extra.menu -%} + <a href="{{ get_url(path=i.url, lang=lang, trailing_slash=i.slash) }}{%- if i.slash and config.extra.uglyurls %}index.html{%- endif %}"{% if i.blank %} target="_blank"{% endif %}> + {%- if lang != config.default_language %} {{ trans(key=i.name | safe, lang=lang) }} {% else %} {{ i.name | safe }} {% endif -%} + </a> + {%- endfor -%} + {%- endif -%} + {%- if js_switcher -%} + {%- set icon_adjust=config.extra.icon_adjust | default(value="svgs adjust") -%} + {%- if icon_adjust -%}<i type="reset" id="mode" class="js {{ icon_adjust }}"></i>{%- else -%}<i type="reset" id="mode" class="js mode">☀</i>{%- endif -%} + {%- endif -%} + {%- endif -%} + {%- if config.languages | length > 0 %} + <div class="dropdown" type="Button"> {%- if lang != config.default_language %}{{ trans(key="flag" | safe, lang=lang) }}{% else %}{{ config.extra.flag.en }}{% endif %} + {%- if current_url %} + <div class="dropdown-content"> + {%- for lcode,flag in config.extra.flag -%} + {%- if lang != lcode -%} + {%- if lcode == config.default_language -%} + <a type="Button" href="{{ current_url | replace(from=current_path | truncate(length=4, end=""), to="/") | safe }}{%- if config.extra.uglyurls %}index.html{%- endif %}">{{ flag }}</a><br /> + {%- else -%} + <a type="Button" href="{{ current_url | replace(from=config.base_url, to=config.base_url ~ "/" ~ lcode) | safe }}{%- if config.extra.uglyurls %}index.html{%- endif %}">{{ flag }}</a><br /> {%- endif -%} - </ul> + {%- endif -%} + {%- endfor -%} + </div> + {%- endif %} + </div> + {%- endif %} </div> {%- if config.build_search_index %} + {%- set icon_search=config.extra.icon_search | default(value="svgs search") %} <div> <form autocomplete=off class="js" name="goSearch" id="searchbox"> <div class="searchd"> - <input id="searchinput" type="text" placeholder="Search" title="Search"{% if config.extra.search_library %}{% if config.extra.search_library == "stork" %} data-stork="stork" {% endif %}{% endif %} /> - <button type="submit" title="Search">{%- if config.extra.icon_search -%}<i class="{{ config.extra.icon_search }}"></i>{%- else -%}<span class="si">⌕</span>{%- endif -%}</button> + <input id="searchinput" type="text" placeholder="{%- if lang != config.default_language %}{{ trans(key="Search" | safe, lang=lang) }}{% else %}Search{% endif %}" title="Search"{% if config.extra.search_library %}{% if config.extra.search_library == "stork" %} data-stork="stork" {% endif %}{% endif %} /> + <button type="submit" title="Search" class="{%- if icon_search -%}{{ icon_search }}{%- else -%}si{%- endif -%}">{%- if not icon_search -%}⌕{%- endif -%}</button> </div> - <div><div id="suggestions"{% if config.extra.search_library %}{% if config.extra.search_library == "stork" %} data-stork="stork-output" {% endif %}{% endif %}></div></div> + <div class="results"><div id="suggestions"{% if config.extra.search_library %}{% if config.extra.search_library == "stork" %} data-stork="stork-output" {% endif %}{% endif %}></div></div> </form> </div> {%- endif %} @@ -95,26 +117,36 @@ <hr /> {%- endif %} <div class="c"> - {{- social_macros::social_links(social_config=config.extra.social, config=config) }} + {{- social_macros::social_links(config=config) }} {#- Copyright START #} + {%- set copyright_start_string=config.extra.copyright_start_string | default(value="©") %} + {%- if copyright_start_string %}{%- set copyright_start_string=copyright_start_string ~ " " %}{%- endif %} {%- set copyright_start_year=config.extra.copyright_start_year | default(value="") %} {%- if copyright_start_year %}{%- set copyright_start_year=copyright_start_year ~ "-" %}{%- endif %} {%- set copyright_end_year=config.extra.copyright_end_year | default(value=now() | date(format="%Y")) %} - <p{%- if config.extra.footer_size %} class="{{ config.extra.footer_size }}"{% endif %}>Copyright © {{ copyright_start_year ~ copyright_end_year }} {{ config.title }}</p> + {%- if config.extra.copyright_entity %}{%- set copyright_entity= " " ~ config.extra.copyright_entity %}{%- else %}{%- set copyright_entity= " " ~ config.title %}{%- endif %} + {%- set copyright_end_string=config.extra.copyright_end_string | default(value="") %} + {%- if copyright_end_string %}{%- set copyright_end_string= " " ~ copyright_end_string %}{%- endif %} + <p{%- if config.extra.footer_size %} class="{{ config.extra.footer_size }}"{% endif %}> {{ copyright_start_string ~ copyright_start_year ~ copyright_end_year ~ copyright_entity ~ copyright_end_string }}</p> {#- Copyright END #} + {%- if config.extra.menu_footer %} <nav> - <ul> - {%- for i in config.extra.menu_footer -%} - <li{%- if config.extra.footer_size %} class="{{ config.extra.footer_size }}"{% endif %}> <a href="{{ get_url(path=i.url, trailing_slash=i.slash) }}{%- if i.slash and config.extra.uglyurls %}index.html{%- endif %}"{% if i.blank %} target="_blank"{% endif %}> {{ i.name | safe }} </a> </li> - {%- endfor -%} - </ul> + {%- for i in config.extra.menu_footer -%} + {%- if i.url != "sitemap.xml" %} + {%- set furl=get_url(path=i.url, lang=lang, trailing_slash=i.slash) %} + {%- else %} + {%- set furl=get_url(path=i.url, trailing_slash=i.slash) %} + {%- endif %} + <a{%- if config.extra.footer_size %} class="{{ config.extra.footer_size }}"{% endif %} href="{{ furl | safe }}{%- if i.slash and config.extra.uglyurls %}index.html{%- endif %}"{% if i.blank %} target="_blank"{% endif %}>{% if lang != config.default_language %} {{ trans(key=i.name | safe, lang=lang) }} {% else %} {{ i.name | safe }} {% endif %}</a> + {%- endfor %} </nav> + {%- endif %} {%- if config.extra.footer_credit | default(value=true) %} {%- if config.extra.footer_credit_override %} {{ config.extra.footer_credit_override | safe }} {%- else %} - <p{%- if config.extra.footer_size %} class="{{ config.extra.footer_size }}"{% endif %}>Powered by <a href="https://www.getzola.org/" target="_blank">Zola</a> and <a href="https://github.com/jieiku/abridge/" target="_blank">Abridge</a></p> + <p{%- if config.extra.footer_size %} class="{{ config.extra.footer_size }}"{% endif %}>{% if lang != config.default_language -%} {{ trans(key="Powered_by" | safe, lang=lang) }} {% else -%} Powered by {% endif %}<a href="https://www.getzola.org/" target="_blank">Zola</a> {%- if lang != config.default_language %} {{ trans(key="and" | safe, lang=lang) }} {% else %} and {% endif -%} <a href="https://github.com/jieiku/abridge/" target="_blank">Abridge</a></p> {%- endif %} {%- endif %} </div> diff --git a/templates/categories/list.html b/templates/categories/list.html index 1ded228..2e325c9 100644 --- a/templates/categories/list.html +++ b/templates/categories/list.html @@ -18,13 +18,13 @@ {%- block content %} <div> <div class="c"> - <h1>{{ terms | length }} Categories</h1> - <p>{% for term in terms %} [<a href="#{{ term.name }}">{{ term.name }}</a>] {% endfor %}</p> + <h1>{{ terms | length }} {%- if lang != config.default_language %} {{ trans(key="Categories" | safe, lang=lang) }} {% else %} Categories {% endif %}</h1> + <p>{% for term in terms %} [<a href="#{{ term.name }}">{{ term.name }}</a>]<sup>{{ term.pages | length }}</sup> {% endfor %}</p> </div> {%- for term in terms %} - <h2 id="{{ term.name }}"><a href="{{ term.permalink | safe }}">{{ term.name }}</a></h2> + <h2 id="{{ term.name }}"><a href="{{ term.permalink | safe }}{%- if config.extra.uglyurls %}index.html{%- endif %}">{{ term.name }}</a></h2> {%- for page in term.pages %} - <p><a href="{{ page.permalink | safe }}">{{ page.title }}</a> - <time datetime="{{ page.date }}">{{ page.date | date(format="%F") }}</time></p> + <p><a href="{{ page.permalink | safe }}{%- if config.extra.uglyurls %}index.html{%- endif %}">{{ page.title }}</a> - <time datetime="{{ page.date }}">{{ page.date | date(format="%F") }}</time></p> {%- endfor %} {%- endfor %} </div> diff --git a/templates/categories/single.html b/templates/categories/single.html index 1f5e48c..9e667b4 100644 --- a/templates/categories/single.html +++ b/templates/categories/single.html @@ -21,7 +21,7 @@ {%- for year, posts in term.pages | group_by(attribute="year") %} <h3>{{ year }}</h3> {%- for page in posts %} - <p><a href="{{ page.permalink | safe }}">{{ page.title }}</a> - <time datetime="{{ page.date }}">{{ page.date | date(format="%F") }}</time></p> + <p><a href="{{ page.permalink | safe }}{%- if config.extra.uglyurls %}index.html{%- endif %}">{{ page.title }}</a> - <time datetime="{{ page.date }}">{{ page.date | date(format="%F") }}</time></p> {%- endfor %} {%- endfor %} </div> diff --git a/templates/contact.fr.html b/templates/contact.fr.html new file mode 100644 index 0000000..d23569d --- /dev/null +++ b/templates/contact.fr.html @@ -0,0 +1,49 @@ +{# Cette page affiche la page de contact, par exemple: example.com/contact/ #} + +{% extends "base.html" %} + +{%- block seo %} + {{- super() }} + {%- set title_addition = "" %} + + {%- if page.title and config.title %} + {%- set title = page.title %} + {%- set title_addition = title_separator ~ config.title %} + {%- elif page.title %} + {%- set title = page.title %} + {%- else %} + {%- set title = config.title %} + {%- endif %} + + {%- if page.description %} + {%- set description = page.description %} + {%- else %} + {%- set description = config.description %} + {%- endif %} + + {{- macros_head::seo(config=config, title=title, title_addition=title_addition, description=description) }} +{%- endblock seo %} + +{%- block content %} + <div> + <p>Vous voulez entrer en contact ? Remplissez le formulaire ci-dessous pour m'envoyer un message et je vous répondrai dans les plus brefs délais !</p> + <form name="contact" method="POST"> + <p> + <label for="name">Nom</label> + <input type="text" placeholder="Nom" id="name" required data-validation-required-message="S'il vous plaît entrez votre nom." /> + </p> + <p> + <label for="email">Adresse e-mail</label> + <input type="email" placeholder="nom@example.com" id="email" required data-validation-required-message="Veuillez saisir votre adresse e-mail." /> + </p> + <p> + <label for="message">Message</label> + <textarea rows="5" placeholder="Message" id="message" required data-validation-required-message="Veuillez entrer un message."></textarea> + </p> + <div id="success"></div> + <p> + <button type="submit" id="sendMessageButton">Envoyer</button> + </p> + </form> + </div> +{%- endblock content %} diff --git a/templates/index.html b/templates/index.html index 7c8c45a..ce224c0 100644 --- a/templates/index.html +++ b/templates/index.html @@ -1,3 +1,8 @@ +{# +This Page Shows the Posts with a short summary on the index: example.com/ +This Template can also be used as the rendering template for Sections, eg: example.com/blog/ example.com/software/ +#} + {%- extends "base.html" %} {%- block seo %} @@ -54,12 +59,30 @@ {%- endfor %} {{- macros::pagination(paginator=paginator, config=config) }} </div> - {%- set section_item = get_section(path="_index.md") %} {%- if config.extra.recent | default(value=true) %} + {#- The following line is checking if the template is being used for the root or a section #} + {%- if current_path is matching("^(/[[:alpha:]][[:alpha:]])?(/page/[[:digit:]]+)?/$") %} + {%- set sec = "" %} + {%- else %} + {%- if lang == config.default_language %} + {%- set sec = current_path | trim_start_matches(pat="/") | split(pat="/page/") | slice(end=1) | join(sep="") | trim_end_matches(pat="/") %} + {%- set sec = sec ~ "/" %} + {%- else %} + {%- set sec = current_path | trim_start_matches(pat="/" ~ lang ~ "/") | split(pat="/page/") | slice(end=1) | join(sep="") | trim_end_matches(pat="/") %} + {%- set sec = sec ~ "/" %} + {%- endif %} + {%- endif %} + + {%- if lang == config.default_language %} + {%- set section_item = get_section(path=sec ~ "_index.md") %} + {%- else %} + {%- set section_item = get_section(path=sec ~ "_index." ~ lang ~ ".md") %} + {%- endif %} <div class="toc"> <div class="toc-sticky"> - <h1><span class="s75">Recent Posts</span></h1> - {%- for page in section_item.pages | slice(end=config.extra.recent_items) %} + <h1><span class="s70">{%- if lang != config.default_language %}{{ trans(key="Recent_Posts" | safe, lang=lang) }}{% else %}Recent Posts{% endif %}</span></h1> + {%- set recent_items=config.extra.recent_items | default(value=9) -%} + {%- for page in section_item.pages | slice(end=recent_items) %} {{- page_macros::page_listing(page=page, config=config) }} {%- endfor %} </div> diff --git a/templates/macros/create_stork_toml.html b/templates/macros/create_stork_toml.html index f754e2e..ee1d765 100644 --- a/templates/macros/create_stork_toml.html +++ b/templates/macros/create_stork_toml.html @@ -7,9 +7,9 @@ {% endif -%} {%- endif -%} {%- endfor -%} -{%- if found -%}{%- if section.subsections -%}, +{%- if found and section.subsections -%}, {% for subsection in section.subsections -%} {{ self::from_section(section=subsection) }} {%- endfor -%} -{%- endif -%}{%- endif -%} -{%- endmacro from_section -%}
\ No newline at end of file +{%- endif -%} +{%- endmacro from_section -%} diff --git a/templates/macros/create_tinysearch_json.html b/templates/macros/create_tinysearch_json.html index a28d9dc..fcc1f5a 100644 --- a/templates/macros/create_tinysearch_json.html +++ b/templates/macros/create_tinysearch_json.html @@ -18,10 +18,10 @@ {%- if not loop.last -%},{%- endif %} {%- endif -%} {%- endfor -%} -{%- if found -%}{%- if section.subsections -%} +{%- if found and section.subsections -%} , {%- for subsection in section.subsections -%} {{ self::from_section(section=subsection) }} {%- endfor -%} -{%- endif -%}{%- endif -%} -{%- endmacro from_section -%}
\ No newline at end of file +{%- endif -%} +{%- endmacro from_section -%} diff --git a/templates/macros/head.html b/templates/macros/head.html index 528577a..35afa5b 100644 --- a/templates/macros/head.html +++ b/templates/macros/head.html @@ -1,20 +1,28 @@ {#- Theme Switcher Button to toggle between dark/light #} {%- macro theme(config) %} - {%- if config.extra.js_theme %} - {%- if config.extra.js_themeButton or config.extra.js_bundle %} - <script src="{{ get_url(path=config.extra.js_theme, trailing_slash=false) | safe }}"{%- if config.extra.integrity %} integrity="sha384-{{ get_hash(path=config.extra.js_theme, sha_type=384, base64=true) | safe }}"{%- endif %}></script> + {%- if config.extra.js_switcher | default(value=true) %} + {%- set js_theme=config.extra.js_theme | default(value="") -%} + {%- if not js_theme %} + {%- set js_theme="js/theme.min.js" -%} + {%- if config.extra.js_switcher_default %}{%- if config.extra.js_switcher_default == "light" %} + {%- set js_theme="js/theme_light.min.js" -%} + {%- endif %}{%- endif %} + <script src="{{ get_url(path=js_theme, trailing_slash=false) | safe }}"{%- if config.extra.integrity | default(value=true) %} integrity="sha384-{{ get_hash(path=js_theme, sha_type=384, base64=true) | safe }}"{%- endif %}></script> {%- endif %} {%- endif %} {%- endmacro %} -{%- macro stylesheets(config) %} - {%- if config.extra.stylesheets %}{%- for i in config.extra.stylesheets %} + +{%- macro stylesheets(config) %} + {%- set stylesheets=config.extra.stylesheets | default(value=[ "abridge.css" ]) -%} + {%- if stylesheets %}{%- for i in stylesheets %} <link rel="stylesheet" href="{{ get_url(path=i, trailing_slash=false, cachebust=true) | safe }}" /> {%- endfor %}{%- endif %} - {%- endmacro %} + + {%- macro stylesheets_preload(config) %} {%- if config.extra.fonts %}{%- for i in config.extra.fonts %} @@ -31,10 +39,11 @@ {%- if config.extra.math or page.extra.math %} - {%- if config.extra.katex_css %}{%- if config.extra.katex_css is matching("^http[s]?://") %} - <link rel="preload" as="style" class="preStyle" href="{{ config.extra.katex_css | safe }}"{%- if config.extra.integrity %} integrity="sha384-ZPe7yZ91iWxYumsBEOn7ieg8q/o+qh/hQpSaPow8T6BwALcXSCS6C6fSRPIAnTQs"{%- endif %} crossorigin="anonymous" /> + {%- set katex_css=config.extra.katex_css | default(value="katex.min.css") -%} + {%- if katex_css %}{%- if katex_css is matching("^http[s]?://") %} + <link rel="preload" as="style" class="preStyle" href="{{ katex_css | safe }}"{%- if config.extra.integrity | default(value=true) and config.extra.katex_css_integrity %} integrity="{{ config.extra.katex_css_integrity | safe }}"{%- endif %} crossorigin="anonymous" /> {%- else %} - <link rel="preload" as="style" class="preStyle" href="{{ get_url(path=config.extra.katex_css, trailing_slash=false) }}"{%- if config.extra.integrity %} integrity="sha384-{{ get_hash(path=config.extra.katex_css, sha_type=384, base64=true) | safe }}"{%- endif %} /> + <link rel="preload" as="style" class="preStyle" href="{{ get_url(path=katex_css, trailing_slash=false) }}"{%- if config.extra.integrity | default(value=true) %} integrity="sha384-{{ get_hash(path=katex_css, sha_type=384, base64=true) | safe }}"{%- endif %} /> {%- endif %}{%- endif %} {%- endif %} @@ -45,13 +54,14 @@ {%- macro feed(config) %} {%- if config.generate_feed %} - <link rel="alternate" type="{% if config.feed_filename is containing('atom') %}application/atom+xml{% else %}application/rss+xml{% endif %}" title="Atom/RSS Feed" href="{{ get_url(path=config.feed_filename, trailing_slash=false) | safe }}" /> + <link rel="alternate" type="{% if config.feed_filename is containing('atom') %}application/atom+xml{% else %}application/rss+xml{% endif %}" title="Atom/RSS Feed" href="{{ get_url(path=config.feed_filename, trailing_slash=false, lang=lang) | safe }}" /> {%- endif %} {%- endmacro %} {%- macro js(config) %} + {%- set search_library=config.extra.search_library | default(value="elasticlunr") -%} {%- set preStyle = false %} @@ -66,140 +76,91 @@ {%- endif %} {%- if config.extra.math or page.extra.math %} - {%- if config.extra.katex_css %} + {%- set katex_css=config.extra.katex_css | default(value="katex.min.css") -%} + {%- if katex_css %} {%- set preStyle = true %} {%- endif %} {%- endif %} -{%- if config.extra.js_bundle and config.build_search_index or config.extra.js_bundle and config.extra.search_library %} - - {%- if config.extra.js_search_facade %} - {#- dont load the index #} - {%- elif config.extra.search_library == "tinysearch" or config.extra.search_library == "stork" %} - {#- dont load the index #} - {%- elif config.extra.js_search_index %} - <script defer src="{{ get_url(path=config.extra.js_search_index, trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity %} integrity="sha384-{{ get_hash(path=config.extra.js_search_index, sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- endif %} - - {%- if not config.extra.js_search_facade %} +{%- if config.extra.js_bundle %} + <script defer src="{{ get_url(path='js/abridge.min.js', trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity | default(value=true) %} integrity="sha384-{{ get_hash(path='js/abridge.min.js', sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- if config.extra.js_switcher %} - <script defer src="{{ get_url(path='abridge-bundle-nofacade.min.js', trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity %} integrity="sha384-{{ get_hash(path='abridge-bundle-nofacade.min.js', sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- else %} - <script defer src="{{ get_url(path='abridge-bundle-noswitcher.min.js', trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity %} integrity="sha384-{{ get_hash(path='abridge-bundle-nofacade.min.js', sha_type=384, base64=true) | safe }}"{%- endif %}></script> + {%- if config.build_search_index %} + {%- if search_library == "elasticlunr" %} + {%- if lang != "en" %} + <script defer src="{{get_url(path='js/lunr.stemmer.support.min.js', trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity | default(value=true) %} integrity="sha384-{{ get_hash(path='js/lunr.stemmer.support.min.js', sha_type=384, base64=true) | safe }}"{%- endif %}></script> + <script defer src="{{get_url(path='js/lunr.' ~ lang ~ '.min.js' , trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity | default(value=true) %} integrity="sha384-{{ get_hash(path='js/lunr.' ~ lang ~ '.min.js', sha_type=384, base64=true) | safe }}"{%- endif %}></script> {%- endif %} - - {%- elif config.extra.search_library == "tinysearch" %} - <script defer src="{{ get_url(path='abridge-bundle-tinysearch.min.js', trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity %} integrity="sha384-{{ get_hash(path='abridge-bundle-tinysearch.min.js', sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- elif config.extra.search_library == "stork" %} - <script defer src="{{ get_url(path='abridge-bundle-stork.min.js', trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity %} integrity="sha384-{{ get_hash(path='abridge-bundle-stork.min.js', sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- else %} - - {%- if config.extra.js_switcher %} - <script defer src="{{ get_url(path='abridge-bundle.min.js', trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity %} integrity="sha384-{{ get_hash(path='abridge-bundle.min.js', sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- else %} - <script defer src="{{ get_url(path='abridge.min.js', trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity %} integrity="sha384-{{ get_hash(path='abridge.min.js', sha_type=384, base64=true) | safe }}"{%- endif %}></script> {%- endif %} - {%- endif %} - -{%- elif config.build_search_index or config.extra.search_library %} - - {#- no bundle #} +{%- else %} {%- if preStyle == true %} - {%- if config.extra.js_prestyle %} - <script defer src="{{ get_url(path=config.extra.js_prestyle, trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity %} integrity="sha384-{{ get_hash(path=config.extra.js_prestyle, sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- endif %} - {%- endif %} - - {%- if config.extra.js_theme %} - {%- if config.extra.js_themeButton %} - <script defer src="{{ get_url(path=config.extra.js_themeButton, trailing_slash=false) | safe }}"{%- if config.extra.integrity %} integrity="sha384-{{ get_hash(path=config.extra.js_themeButton, sha_type=384, base64=true) | safe }}"{%- endif %}></script> + {%- set js_prestyle=config.extra.js_prestyle | default(value="js/prestyle.js") -%} + {%- if js_prestyle %} + <script defer src="{{ get_url(path=js_prestyle, trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity | default(value=true) %} integrity="sha384-{{ get_hash(path=js_prestyle, sha_type=384, base64=true) | safe }}"{%- endif %}></script> {%- endif %} {%- endif %} - {%- if config.extra.js_email %} - {%- if config.extra.social.mail_encode %} - <script defer src="{{ get_url(path=config.extra.js_email, trzailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity %} integrity="sha384-{{ get_hash(path=config.extra.js_email, sha_type=384, base64=true) | safe }}"{%- endif %}></script> + {%- if config.extra.js_switcher | default(value=true) %} + {%- set js_theme=config.extra.js_theme | default(value="js/theme.min.js") -%} + {%- if js_theme %} + {%- set js_themeButton=config.extra.js_themeButton | default(value="js/theme_button.js") -%} + {%- if js_themeButton %} + <script defer src="{{ get_url(path=js_themeButton, trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity | default(value=true) %} integrity="sha384-{{ get_hash(path=js_themeButton, sha_type=384, base64=true) | safe }}"{%- endif %}></script> {%- endif %} {%- endif %} - - {%- if config.extra.js_codecopy %} - <script defer src="{{ get_url(path=config.extra.js_codecopy, trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity %} integrity="sha384-{{ get_hash(path=config.extra.js_codecopy, sha_type=384, base64=true) | safe }}"{%- endif %}></script> {%- endif %} - {%- if config.extra.js_search_facade %} - {%- if config.extra.search_library %} - {%- if config.extra.search_library == "tinysearch" %} - <script defer src="{{ get_url(path='search_facade_tinysearch.js', trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity %} integrity="sha384-{{ get_hash(path='search_facade_tinysearch.js', sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- elif config.extra.search_library == "stork" %} - <script defer src="{{ get_url(path='search_facade_stork.js', trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity %} integrity="sha384-{{ get_hash(path='search_facade_stork.js', sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- endif %} + {%- set js_email=config.extra.js_email | default(value="js/email.js") -%} + {%- if js_email %} + {%- if config.extra.mail_encode | default(value=true) %} + <script defer src="{{ get_url(path=js_email, trzailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity | default(value=true) %} integrity="sha384-{{ get_hash(path=js_email, sha_type=384, base64=true) | safe }}"{%- endif %}></script> {%- endif %} - <script defer src="{{ get_url(path='search_facade.js', trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity %} integrity="sha384-{{ get_hash(path='search_facade.js', sha_type=384, base64=true) | safe }}"{%- endif %}></script> {%- endif %} - {%- if config.extra.js_search_facade or config.extra.search_library %} - {#- dont load the index/search #} - {%- elif config.extra.js_search_index %} - <script defer src="{{ get_url(path=config.extra.js_search_index, trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity %} integrity="sha384-{{ get_hash(path=config.extra.js_search_index, sha_type=384, base64=true) | safe }}"{%- endif %}></script> + {%- set js_codecopy=config.extra.js_codecopy | default(value="js/codecopy.js") -%} + {%- if js_codecopy %} + <script defer src="{{ get_url(path=js_codecopy, trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity | default(value=true) %} integrity="sha384-{{ get_hash(path=js_codecopy, sha_type=384, base64=true) | safe }}"{%- endif %}></script> {%- endif %} - {%- if config.extra.js_search_facade %} - {#- dont load the index/search #} - {%- else %} - {%- if config.extra.search_library == "tinysearch" %} - <script defer type="module" src="{{ get_url(path='tinysearch.js', trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity %} integrity="sha384-{{ get_hash(path='tinysearch.js', sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- elif config.extra.search_library == "stork" %} - <script defer type="module" src="{{ get_url(path='stork.js', trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity %} integrity="sha384-{{ get_hash(path='stork.js', sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- else %} - <script defer src="{{ get_url(path='elasticlunr.min.js', trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity %} integrity="sha384-{{ get_hash(path='elasticlunr.min.js', sha_type=384, base64=true) | safe }}"{%- endif %}></script> - <script defer src="{{ get_url(path='search.js', trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity %} integrity="sha384-{{ get_hash(path='search.js', sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- endif %} - {%- endif %} - -{%- elif config.extra.js_bundle %} - - {#- no search #} + {%- if search_library == "tinysearch" %} + <script defer type="module" src="{{ get_url(path='js/search_tinysearch.min.js' , trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity | default(value=true) %} integrity="sha384-{{ get_hash(path='js/search_tinysearch.min.js' , sha_type=384, base64=true) | safe }}"{%- endif %}></script> + {%- elif search_library == "stork" %} + <script defer type="module" src="{{ get_url(path='js/search_stork.min.js' , trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity | default(value=true) %} integrity="sha384-{{ get_hash(path='js/search_stork.min.js' , sha_type=384, base64=true) | safe }}"{%- endif %}></script> + {%- elif config.build_search_index %} - {%- if config.extra.js_switcher %} - - <script defer src="{{ get_url(path='abridge-bundle-nosearch.min.js', trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity %} integrity="sha384-{{ get_hash(path='abridge-bundle-nosearch.min.js', sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- else %} - - <script defer src="{{ get_url(path='abridge-bundle-noswitchernosearch.min.js', trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity %} integrity="sha384-{{ get_hash(path='abridge-bundle-noswitchernosearch.min.js', sha_type=384, base64=true) | safe }}"{%- endif %}></script> + {%- set search_index_format="elasticlunr_json" -%} + {%- if config.search.index_format %} + {%- if config.search.index_format == "elasticlunr_javascript" %} + {%- set search_index_format="elasticlunr_javascript" -%} + {%- endif %} {%- endif %} -{%- else %} - - {#- no bundle or search #} + {%- set uglyurls=config.extra.uglyurls | default(value=false) -%} + {%- if search_index_format == "elasticlunr_javascript" %} + <script defer src="{{ get_url(path='js/elasticlunr.min.js' , trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity | default(value=true) %} integrity="sha384-{{ get_hash(path='js/elasticlunr.min.js' , sha_type=384, base64=true) | safe }}"{%- endif %}></script> + <script defer src="{{ get_url(path='search_index.' ~ lang ~ '.js' , trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity | default(value=true) %} integrity="sha384-{{ get_hash(path='search_index.' ~ lang ~ '.js' , sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- if preStyle == true %} - {%- if config.extra.js_prestyle %} - <script defer src="{{ get_url(path=config.extra.js_prestyle, trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity %} integrity="sha384-{{ get_hash(path=config.extra.js_prestyle, sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- endif %} + {%- if uglyurls %} + <script defer src="{{ get_url(path='js/searchjavaugly.js' , trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity | default(value=true) %} integrity="sha384-{{ get_hash(path='js/searchjavaugly.js' , sha_type=384, base64=true) | safe }}"{%- endif %}></script> + {%- else %} + <script defer src="{{ get_url(path='js/searchjava.js' , trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity | default(value=true) %} integrity="sha384-{{ get_hash(path='js/searchjava.js' , sha_type=384, base64=true) | safe }}"{%- endif %}></script> {%- endif %} - {%- if config.extra.js_theme %} - {%- if config.extra.js_themeButton or config.extra.js_bundle %} - <script defer src="{{ get_url(path=config.extra.js_themeButton, trailing_slash=false) | safe }}"{%- if config.extra.integrity %} integrity="sha384-{{ get_hash(path=config.extra.js_themeButton, sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- endif %} + {%- else %} + <script defer src="{{ get_url(path='js/search_elasticlunr.min.js' , trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity | default(value=true) %} integrity="sha384-{{ get_hash(path='js/search_elasticlunr.min.js' , sha_type=384, base64=true) | safe }}"{%- endif %}></script> {%- endif %} - {%- if config.extra.js_email %} - {%- if config.extra.social.mail_encode %} - <script defer src="{{ get_url(path=config.extra.js_email, trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity %} integrity="sha384-{{ get_hash(path=config.extra.js_email, sha_type=384, base64=true) | safe }}"{%- endif %}></script> - {%- endif %} + {%- if lang != "en" %} + <script defer src="{{ get_url(path='js/lunr.stemmer.support.min.js', trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity | default(value=true) %} integrity="sha384-{{ get_hash(path='js/lunr.stemmer.support.min.js', sha_type=384, base64=true) | safe }}"{%- endif %}></script> + <script defer src="{{ get_url(path='js/lunr.' ~ lang ~ '.min.js' , trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity | default(value=true) %} integrity="sha384-{{ get_hash(path='js/lunr.' ~ lang ~ '.min.js' , sha_type=384, base64=true) | safe }}"{%- endif %}></script> {%- endif %} - {%- if config.extra.js_codecopy %} - <script defer src="{{ get_url(path=config.extra.js_codecopy, trailing_slash=false, cachebust=true) | safe }}"{%- if config.extra.integrity %} integrity="sha384-{{ get_hash(path=config.extra.js_codecopy, sha_type=384, base64=true) | safe }}"{%- endif %}></script> {%- endif %} - {%- endif %} @@ -208,31 +169,38 @@ {#- https://github.com/KaTeX/KaTeX/tree/main/contrib/mathtex-script-type/ #} {%- if config.extra.math or page.extra.math %} -{%- if config.extra.katex_bundle %} - <script defer src="{{ get_url(path=config.extra.katex_bundle, trailing_slash=false, cachebust=true) }}"{%- if config.extra.integrity %} integrity="sha384-{{ get_hash(path=config.extra.katex_bundle, sha_type=384, base64=true) | safe }}"{%- endif %}></script> +{%- set katex_bundle=config.extra.katex_bundle | default(value="js/katexbundle.min.js") -%} +{%- if katex_bundle %} + <script defer src="{{ get_url(path=katex_bundle, trailing_slash=false, cachebust=true) }}"{%- if config.extra.integrity | default(value=true) %} integrity="sha384-{{ get_hash(path=katex_bundle, sha_type=384, base64=true) | safe }}"{%- endif %}></script> {%- else %} - {%- if config.extra.katex_js %}{%- if config.extra.katex_js is matching("^http[s]?://") %} - <script defer src="{{ config.extra.katex_js | safe }}"{%- if config.extra.integrity %} integrity="sha384-ljao5I1l+8KYFXG7LNEA7DyaFvuvSCmedUf6Y6JI7LJqiu8q5dEivP2nDdFH31V4"{%- endif %} crossorigin="anonymous"></script> + {%- set katex_js=config.extra.katex_js | default(value="js/katex.min.js") -%} + {%- if katex_js %}{%- if katex_js is matching("^http[s]?://") %} + <script defer src="{{ katex_js | safe }}"{%- if config.extra.integrity | default(value=true) and config.extra.katex_js_integrity %} integrity="{{ config.extra.katex_js_integrity | safe }}"{%- endif %} crossorigin="anonymous"></script> {%- else %} - <script defer src="{{ get_url(path=config.extra.katex_js, trailing_slash=false, cachebust=true) }}"{%- if config.extra.integrity %} integrity="sha384-{{ get_hash(path=config.extra.katex_js, sha_type=384, base64=true) | safe }}"{%- endif %}></script> + <script defer src="{{ get_url(path=katex_js, trailing_slash=false, cachebust=true) }}"{%- if config.extra.integrity | default(value=true) %} integrity="sha384-{{ get_hash(path=katex_js, sha_type=384, base64=true) | safe }}"{%- endif %}></script> {%- endif %}{%- endif %} - {%- if config.extra.mathtex_js %}{%- if config.extra.mathtex_js is matching("^http[s]?://") %} - <script defer src="{{ config.extra.mathtex_js | safe }}"{%- if config.extra.integrity %} integrity="sha384-jiBVvJ8NGGj5n7kJaiWwWp9AjC+Yh8rhZY3GtAX8yU28azcLgoRo4oukO87g7zDT"{%- endif %} crossorigin="anonymous"></script> + {%- set mathtex_js=config.extra.mathtex_js | default(value="js/mathtex-script-type.min.js") -%} + {%- if mathtex_js %}{%- if mathtex_js is matching("^http[s]?://") %} + <script defer src="{{ mathtex_js | safe }}"{%- if config.extra.integrity | default(value=true) and config.extra.mathtex_js_integrity %} integrity="{{ config.extra.mathtex_js_integrity | safe }}"{%- endif %} crossorigin="anonymous"></script> {%- else %} - <script defer src="{{ get_url(path=config.extra.mathtex_js, trailing_slash=false, cachebust=true) }}"{%- if config.extra.integrity %} integrity="sha384-{{ get_hash(path=config.extra.mathtex_js, sha_type=384, base64=true) | safe }}"{%- endif %}></script> + <script defer src="{{ get_url(path=mathtex_js, trailing_slash=false, cachebust=true) }}"{%- if config.extra.integrity | default(value=true) %} integrity="sha384-{{ get_hash(path=mathtex_js, sha_type=384, base64=true) | safe }}"{%- endif %}></script> {%- endif %}{%- endif %} {%- if config.extra.math_auto_render or page.extra.math_auto_render %} - {%- if config.extra.katex_autorender_js %} - {%- if config.extra.katex_autorender_js is matching("^http[s]?://") %} - <script defer src="{{ config.extra.katex_autorender_js | safe }}"{%- if config.extra.integrity %} integrity="sha384-+XBljXPPiv+OzfbB3cVmLHf4hdUFHlWNZN5spNQ7rmHTXpd7WvJum6fIACpNNfIR"{%- endif %} crossorigin="anonymous"></script> + {%- set katex_autorender_js=config.extra.katex_autorender_js | default(value="js/katex-auto-render.min.js") -%} + {%- if katex_autorender_js %} + {%- if katex_autorender_js is matching("^http[s]?://") %} + <script defer src="{{ katex_autorender_js | safe }}"{%- if config.extra.integrity | default(value=true) and config.extra.katex_autorender_js_integrity %} integrity="{{ config.extra.katex_autorender_js_integrity | safe }}"{%- endif %} crossorigin="anonymous"></script> {%- else %} - <script defer src="{{ get_url(path=config.extra.katex_autorender_js, trailing_slash=false, cachebust=true) }}"{%- if config.extra.integrity %} integrity="sha384-{{ get_hash(path=config.extra.katex_autorender_js, sha_type=384, base64=true) | safe }}"{%- endif %}></script> + <script defer src="{{ get_url(path=katex_autorender_js, trailing_slash=false, cachebust=true) }}"{%- if config.extra.integrity | default(value=true) %} integrity="sha384-{{ get_hash(path=katex_autorender_js, sha_type=384, base64=true) | safe }}"{%- endif %}></script> + {%- endif %} {%- endif %} + {%- set katex_options=config.extra.katex_options | default(value="js/katexoptions.js") -%} + {%- if katex_options %} + <script defer src="{{ get_url(path=katex_options, trailing_slash=false, cachebust=true) }}"{%- if config.extra.integrity | default(value=true) %} integrity="sha384-{{ get_hash(path=katex_options, sha_type=384, base64=true) | safe }}"{%- endif %}></script> {%- endif %} - <script defer src="{{ get_url(path=config.extra.katex_options, trailing_slash=false, cachebust=true) }}"{%- if config.extra.integrity %} integrity="sha384-{{ get_hash(path=config.extra.katex_options, sha_type=384, base64=true) | safe }}"{%- endif %}></script> {%- endif %} {%- endif %} @@ -259,6 +227,10 @@ <link rel="mask-icon" href="{{ get_url(path=config.extra.favicon_mask, trailing_slash=false) | safe }}" color="{{ config.extra.favicon_mask_color }}" /> {%- endif %} + {%- if config.extra.favicon_svg %} + <link rel="icon" type="image/svg+xml" href="{{ get_url(path=config.extra.favicon_svg, trailing_slash=false) | safe }}" /> + {%- endif %} + {%- if config.extra.favicon180 %} <link rel="apple-touch-icon" sizes="180x180" href="{{ get_url(path=config.extra.favicon180, trailing_slash=false) | safe }}" /> {%- endif %} @@ -289,7 +261,7 @@ {#- page_images: using for the blog single template page -#} {#- page_section: the blog single template page have to pass the parameter -#} {#- is_404: using for the 404.html template -#} -{%- macro seo( config, title="", title_addition="", description="", type="website", is_home=false, is_404=false, is_page=false, page_images="", page_section="", created_time="2021-07-04T07:07:00-07:00", updated_time="2021-07-04T07:07:00-07:00" ) %} +{%- macro seo( config, title="", title_addition="", description="", type="website", is_home=false, is_404=false, is_page=false, page_images="", page_section="", created_time="2023-05-15T07:07:00-07:00", updated_time="2023-05-15T07:07:00-07:00" ) %} {%- if is_404 -%} <meta name="robots" content="noindex, follow" /> {%- else -%} @@ -321,9 +293,11 @@ <meta name="description" content="{{ config.description }}" /> {%- endif %} <link rel="canonical" href="{{ page_url | safe }}" /> -{%- if page.extra.keywords %} +{%- if page.extra.keywords and config.extra.keywords %} <meta name="keywords" content="{{ page.extra.keywords }}, {{ config.extra.keywords }}" /> -{%- else %} +{%- elif page.extra.keywords %} + <meta name="keywords" content="{{ page.extra.keywords }}" /> +{%- elif config.extra.keywords %} <meta name="keywords" content="{{ config.extra.keywords }}" /> {%- endif %} @@ -410,9 +384,9 @@ <meta property="og:updated_time" content="{{ updated_time }}" /> {%- endif %} -{%- if config.extra.social.twitter %} - <meta name="twitter:site" content="@{{ config.extra.twitter }}" /> - <meta name="twitter:creator" content="@{{ config.extra.twitter }}" /> +{%- if config.extra.twitter_meta %} + <meta name="twitter:site" content="@{{ config.extra.twitter_meta }}" /> + <meta name="twitter:creator" content="@{{ config.extra.twitter_meta }}" /> {%- endif %} diff --git a/templates/macros/macros.html b/templates/macros/macros.html index 2c17530..f994bdb 100644 --- a/templates/macros/macros.html +++ b/templates/macros/macros.html @@ -1,9 +1,9 @@ {%- macro title_post(page, config) %} - <h1><a href="{{ page.permalink | safe }}{%- if config.extra.uglyurls %}index.html{%- endif %}">{{ page.title }}</a></h1> + <h1><a href="{{ page.permalink | safe }}{%- if config.extra.uglyurls %}index.html{%- endif %}">{{ page.title }}</a></h1> {%- endmacro title_post %} {%- macro meta_post(page, config) %} - <span{%- if config.extra.meta_post.size %} class="{{ config.extra.meta_post.size }}"{% endif %}> + <span{%- if config.extra.meta_post.size %} class="{{ config.extra.meta_post.size }}"{% endif %}> {#- Author #} {%- if page.taxonomies.authors and config.taxonomies %} @@ -24,7 +24,7 @@ {#- divider #} {%- if config.extra.meta_post.author %} - {%- if config.extra.meta_post.readtime or config.extra.meta_post.date or config.extra.meta_post.categories_tags %} + {%- if config.extra.meta_post.readtime or config.extra.meta_post.date or config.extra.meta_post.updated or config.extra.meta_post.categories_tags %} {%- if config.extra.meta_post.divider %}<span class="hpad">{{ config.extra.meta_post.divider | safe }}</span>{%- else %} {%- endif %} {%- endif %} {%- endif %} @@ -32,20 +32,42 @@ {#- ReadTime #} {%- if config.extra.meta_post.readtime %} {%- if config.extra.icon_read %}<i class="{{ config.extra.icon_read }}"></i> {% endif %} {{ page.reading_time }} {{ config.extra.meta_post.readstring | default(value="min") }} {#- divider #} - {%- if config.extra.meta_post.date or config.extra.meta_post.categories_tags %} + {%- if config.extra.meta_post.date or config.extra.meta_post.updated or config.extra.meta_post.categories_tags %} {%- if config.extra.meta_post.divider %}<span class="hpad">{{ config.extra.meta_post.divider | safe }}</span>{%- else %} {%- endif %}{%- endif %}{%- endif %} {#- Date #} - {%- if config.extra.meta_post.date %} {%- if config.extra.icon_date %}<i class="{{ config.extra.icon_date }}"></i> {% endif %} {{ page.date | date(format="%B %d, %Y") }} + {%- if config.extra.meta_post.date %} {%- if config.extra.icon_date %}<i class="{{ config.extra.icon_date }}"></i> {% endif %} + {%- if config.extra.date_locale %} + {%- if lang != config.default_language -%} + {%- set lang_locale = trans(key="date_locale" | safe, lang=lang) -%} + {%- else -%} + {%- set lang_locale = config.extra.date_locale -%} + {%- endif -%} + {{ page.date | date(format="%B %d, %Y", locale=lang_locale) }} + {%- else %} {{ page.date | date(format="%B %d, %Y") }} {%- endif %} + {#- divider #} + {%- if config.extra.meta_post.updated or config.extra.meta_post.categories_tags %} + {%- if config.extra.meta_post.divider %}<span class="hpad">{{ config.extra.meta_post.divider | safe }}</span>{%- else %} {%- endif %}{%- endif %}{% endif %} + + {#- Updated #} + {%- if config.extra.meta_post.updated and page.updated %} {%- if config.extra.icon_date %}<i class="{{ config.extra.icon_date }}"></i> {% endif -%} + {%- if lang != config.default_language %} {{ trans(key="Updated" | safe, lang=lang) }}{% else %} Updated{% endif %}: + {%- if config.extra.date_locale %} + {%- if lang != config.default_language -%} + {%- set lang_locale = trans(key="date_locale" | safe, lang=lang) -%} + {%- else -%} + {%- set lang_locale = config.extra.date_locale -%} + {%- endif %} {{ page.updated | date(format="%B %d, %Y", locale=lang_locale) }} + {%- else %} {{ page.updated | date(format="%B %d, %Y") }} {%- endif %} {#- divider #} {%- if config.extra.meta_post.categories_tags %} {%- if config.extra.meta_post.divider %}<span class="hpad">{{ config.extra.meta_post.divider | safe }}</span>{%- else %} {%- endif %}{%- endif %}{% endif %} {#- Categories #} - {%- if page.taxonomies.categories %} {%- if config.extra.icon_info %}<i class="{{ config.extra.icon_info }}"></i> {% endif %} [{% for cat in page.taxonomies.categories %}<a href="{{ get_taxonomy_url(kind='categories', name=cat) | safe }}{%- if config.extra.uglyurls %}index.html{%- endif %}">{{ cat }}</a>{% endfor %}]{% endif %} + {%- if page.taxonomies.categories %} {%- if config.extra.icon_info %}<i class="{{ config.extra.icon_info }}"></i> {% endif %} [{% for cat in page.taxonomies.categories %}<a href="{{ get_taxonomy_url(kind='categories', name=cat, lang=lang) | safe }}{%- if config.extra.uglyurls %}index.html{%- endif %}">{{ cat }}</a>{% endfor %}]{% endif %} {#- Tags #} - {%- if page.taxonomies.tags %} {%- for tag in page.taxonomies.tags %} #<a href="{{ get_taxonomy_url(kind='tags', name=tag) | safe }}{%- if config.extra.uglyurls %}index.html{%- endif %}">{{ tag }}</a> {% endfor -%}{%- endif %}</span> + {%- if page.taxonomies.tags %} {%- for tag in page.taxonomies.tags %} #<a href="{{ get_taxonomy_url(kind='tags', name=tag, lang=lang) | safe }}{%- if config.extra.uglyurls %}index.html{%- endif %}">{{ tag }}</a> {% endfor -%}{%- endif %}</span> {%- endmacro meta_post %} {%- macro title_index(page, config) %} @@ -60,7 +82,7 @@ {%- if page.taxonomies.authors and config.taxonomies %} {%- for author in page.taxonomies.authors %} {%- if author_flag %}, {% endif %} - <a href="{{ get_taxonomy_url(kind='authors', name=author) | safe }}{%- if config.extra.uglyurls %}index.html{%- endif %}">{{ author }}</a> + <a href="{{ get_taxonomy_url(kind='authors', name=author, lang=lang) | safe }}{%- if config.extra.uglyurls %}index.html{%- endif %}">{{ author }}</a> {%- set_global author_flag = true %} {%- endfor %} {%- elif page.extra.authors and config.extra.meta_index.author %} @@ -75,7 +97,7 @@ {#- divider #} {%- if config.extra.meta_index.author %} - {%- if config.extra.meta_index.readtime or config.extra.meta_index.date or config.extra.meta_index.categories_tags %} + {%- if config.extra.meta_index.readtime or config.extra.meta_index.date or config.extra.meta_index.updated or config.extra.meta_index.categories_tags %} {%- if config.extra.meta_index.divider %}<span class="hpad">{{ config.extra.meta_index.divider | safe }}</span>{%- else %} {%- endif %} {%- endif %} {%- endif %} @@ -83,31 +105,69 @@ {#- ReadTime #} {%- if config.extra.meta_index.readtime %} {%- if config.extra.icon_read %}<i class="{{ config.extra.icon_read }}"></i> {% endif %} {{ page.reading_time }} {{ config.extra.meta_index.readstring | default(value="min") }} {#- divider #} - {%- if config.extra.meta_index.date or config.extra.meta_index.categories_tags %} + {%- if config.extra.meta_index.date or config.extra.meta_index.updated or config.extra.meta_index.categories_tags %} {%- if config.extra.meta_index.divider %}<span class="hpad">{{ config.extra.meta_index.divider | safe }}</span>{%- else %} {%- endif %}{%- endif %}{%- endif %} {#- Date #} - {%- if config.extra.meta_index.date %} {%- if config.extra.icon_date %}<i class="{{ config.extra.icon_date }}"></i> {% endif %} {{ page.date | date(format="%B %d, %Y") }} + {%- if config.extra.meta_index.date %} {%- if config.extra.icon_date %}<i class="{{ config.extra.icon_date }}"></i> {% endif %} + {%- if config.extra.date_locale %} + {%- if lang != config.default_language -%} + {%- set lang_locale = trans(key="date_locale" | safe, lang=lang) -%} + {%- else -%} + {%- set lang_locale = config.extra.date_locale -%} + {%- endif -%} + {{ page.date | date(format="%B %d, %Y", locale=lang_locale) }} + {%- else %} {{ page.date | date(format="%B %d, %Y") }} {%- endif %} + {#- divider #} + {%- if config.extra.meta_index.updated or config.extra.meta_index.categories_tags %} + {%- if config.extra.meta_index.divider %}<span class="hpad">{{ config.extra.meta_index.divider | safe }}</span>{%- else %} {%- endif %}{%- endif %}{% endif %} + + {#- Updated #} + {%- if config.extra.meta_index.updated and page.updated %} {%- if config.extra.icon_date %}<i class="{{ config.extra.icon_date }}"></i> {% endif -%} + {%- if lang != config.default_language %} {{ trans(key="Updated" | safe, lang=lang) }}{% else %} Updated{% endif %}: + {%- if config.extra.date_locale %} + {%- if lang != config.default_language -%} + {%- set lang_locale = trans(key="date_locale" | safe, lang=lang) -%} + {%- else -%} + {%- set lang_locale = config.extra.date_locale -%} + {%- endif %} {{ page.updated | date(format="%B %d, %Y", locale=lang_locale) }} + {%- else %} {{ page.updated | date(format="%B %d, %Y") }} {%- endif %} + {#- divider #} {%- if config.extra.meta_index.categories_tags %} {%- if config.extra.meta_index.divider %}<span class="hpad">{{ config.extra.meta_index.divider | safe }}</span>{%- else %} {%- endif %}{%- endif %}{% endif %} {#- Categories #} - {%- if page.taxonomies.categories %} {%- if config.extra.icon_info %}<i class="{{ config.extra.icon_info }}"></i> {% endif %} [{% for cat in page.taxonomies.categories %}<a href="{{ get_taxonomy_url(kind='categories', name=cat) | safe }}{%- if config.extra.uglyurls %}index.html{%- endif %}">{{ cat }}</a>{% endfor %}]{% endif %} + {%- if page.taxonomies.categories %} {%- if config.extra.icon_info %}<i class="{{ config.extra.icon_info }}"></i> {% endif %} [{% for cat in page.taxonomies.categories %}<a href="{{ get_taxonomy_url(kind='categories', name=cat, lang=lang) | safe }}{%- if config.extra.uglyurls %}index.html{%- endif %}">{{ cat }}</a>{% endfor %}]{% endif %} {#- Tags #} - {%- if page.taxonomies.tags %} {%- for tag in page.taxonomies.tags %} #<a href="{{ get_taxonomy_url(kind='tags', name=tag) | safe }}{%- if config.extra.uglyurls %}index.html{%- endif %}">{{ tag }}</a> {% endfor -%}{%- endif %}</span> + {%- if page.taxonomies.tags %} {%- for tag in page.taxonomies.tags %} #<a href="{{ get_taxonomy_url(kind='tags', name=tag, lang=lang) | safe }}{%- if config.extra.uglyurls %}index.html{%- endif %}">{{ tag }}</a> {% endfor -%}{%- endif %}</span> {%- endmacro meta_index %} -{%- macro footer(page) %} -{%- if page.reading_time %} -{%- if page.reading_time > 2 %} -<p><b><a href="#">Back to top</a></b></p> -{%- endif %} -{%- endif %} +{%- macro footer(page, config) %} + {%- if page.reading_time and page.reading_time > 2 %} + <p><b><a href="#">Back to top</a></b></p> + {%- endif %} + {#- prev/next content page nextprev title pagination #} + {%- if not config.extra.hide_page_nextprev_titles | default(value=false) %} + {%- if page.lower or page.higher %} + <nav> + <div> + {%- if page.lower %} + <a href="{{ page.lower.permalink | safe }}">‹ {{ page.lower.title | truncate(length=100) }}</a> + {%- endif %} + </div> + <div> + {%- if page.higher %} + <a href="{{ page.higher.permalink | safe }}"> {{ page.higher.title | truncate(length=100) }} ›</a> + {%- endif %} + </div> + </nav> + {%- endif %} + {%- endif %} {%- endmacro footer %} @@ -141,75 +201,75 @@ {%- endif %} {%- endif %} <nav> - <ul> + {%- set icon_first=config.extra.icon_first | default(value="svgs svgh angll") -%} + {%- set icon_prev=config.extra.icon_prev | default(value="svgs svgh angl") -%} + {%- set icon_next=config.extra.icon_next | default(value="svgs svgh angr") -%} + {%- set icon_last=config.extra.icon_last | default(value="svgs svgh angrr") -%} {%- if paginator.previous -%} - <li><a class="on outp" href="{{ paginator.first | safe }}{%- if config.extra.uglyurls %}index.html{%- endif %}" title="First Page"> - {%- if config.extra.icon_first -%}<i class="{{ config.extra.icon_first }}" alt="First Page"></i> + <a class="on outp" href="{{ paginator.first | safe }}{%- if config.extra.uglyurls %}index.html{%- endif %}" title="First Page"> + {%- if icon_first -%}<i class="{{ icon_first }}" alt="First Page"></i> {%- else -%}❰ {%- endif -%} - </a></li> + </a> {%- else -%} - <li><span class="off outp"> - {%- if config.extra.icon_first -%}<i class="{{ config.extra.icon_first }}" alt="First Page"></i> + <span class="off outp"> + {%- if icon_first -%}<i class="{{ icon_first }}" alt="First Page"></i> {%- else -%}❰ {%- endif -%} - </span></li> + </span> {%- endif -%} {%- if paginator.previous -%} - <li><a class="on outp" href="{{ paginator.previous | safe }}{%- if config.extra.uglyurls %}index.html{%- endif %}" title="Previous Page"> - {%- if config.extra.icon_prev -%}<i class="{{ config.extra.icon_prev }}" alt="Previous Page"></i> + <a class="on outp" href="{{ paginator.previous | safe }}{%- if config.extra.uglyurls %}index.html{%- endif %}" title="Previous Page"> + {%- if icon_prev -%}<i class="{{ icon_prev }}" alt="Previous Page"></i> {%- else -%}❬ {%- endif -%} - </a></li> + </a> {%- else -%} - <li><span class="off outp"> - {%- if config.extra.icon_prev -%}<i class="{{ config.extra.icon_prev }}" alt="Previous Page"></i> + <span class="off outp"> + {%- if icon_prev -%}<i class="{{ icon_prev }}" alt="Previous Page"></i> {%- else -%}❬ {%- endif -%} - </span></li> + </span> {%- endif -%} {%- for i in range(start=start, end=end+1) -%} - <li class="inp"> {%- if i == paginator.current_index -%} - <a class="on cnav" href="#">{{i}}</a> + <a class="inp on cnav" href="#">{{i}}</a> {%- elif i > 1 -%} - <a class="on" href="{{ paginator.base_url | safe }}{{ i ~ '/' }}{%- if config.extra.uglyurls %}index.html{%- endif %}">{{i}}</a> + <a class="inp on" href="{{ paginator.base_url | safe }}{{ i ~ '/' }}{%- if config.extra.uglyurls %}index.html{%- endif %}">{{i}}</a> {%- else -%} - <a class="on" href="{{ paginator.first | safe }}{%- if config.extra.uglyurls %}index.html{%- endif %}">{{ i }}</a> + <a class="inp on" href="{{ paginator.first | safe }}{%- if config.extra.uglyurls %}index.html{%- endif %}">{{ i }}</a> {%- endif -%} - </li> {%- endfor -%} {%- if paginator.next -%} - <li><a class="on outp" href="{{ paginator.next | safe }}{%- if config.extra.uglyurls %}index.html{%- endif %}" title="Next Page"> - {%- if config.extra.icon_next -%}<i class="{{ config.extra.icon_next }}" alt="Next Page"></i> + <a class="on outp" href="{{ paginator.next | safe }}{%- if config.extra.uglyurls %}index.html{%- endif %}" title="Next Page"> + {%- if icon_next -%}<i class="{{ icon_next }}" alt="Next Page"></i> {%- else -%}❭ {%- endif -%} - </a></li> + </a> {%- else -%} - <li><span class="off outp"> - {%- if config.extra.icon_next -%}<i class="{{ config.extra.icon_next }}" alt="Next Page"></i> + <span class="off outp"> + {%- if icon_next -%}<i class="{{ icon_next }}" alt="Next Page"></i> {%- else -%}❭ {%- endif -%} - </span></li> + </span> {%- endif -%} {%- if paginator.next -%} - <li><a class="on outp" href="{{ paginator.last | safe }}{%- if config.extra.uglyurls %}index.html{%- endif %}" title="Last Page"> - {%- if config.extra.icon_last -%}<i class="{{ config.extra.icon_last }}" alt="Last Page"></i> + <a class="on outp" href="{{ paginator.last | safe }}{%- if config.extra.uglyurls %}index.html{%- endif %}" title="Last Page"> + {%- if icon_last -%}<i class="{{ icon_last }}" alt="Last Page"></i> {%- else -%}❱ {%- endif -%} - </a></li> + </a> {%- else -%} - <li><span class="off outp"> - {%- if config.extra.icon_last -%}<i class="{{ config.extra.icon_last }}" alt="Last Page"></i> + <span class="off outp"> + {%- if icon_last -%}<i class="{{ icon_last }}" alt="Last Page"></i> {%- else -%}❱ {%- endif -%} - </span></li> + </span> {%- endif -%} - </ul> </nav> {%- endif %} {%- endmacro %} diff --git a/templates/macros/social.html b/templates/macros/social.html index 36be051..1221ce7 100644 --- a/templates/macros/social.html +++ b/templates/macros/social.html @@ -1,59 +1,58 @@ -{%- macro social_links(social_config, config) %} - <nav> - <ul> -{%- set base_url = get_url(path="", lang=lang) -%} - {%- if config.generate_feed -%}{%- if config.extra.social.feed -%} - <li><a href="{{ get_url(path=config.feed_filename, trailing_slash=false) | safe }}" target="_blank" title="Atom/RSS Feed"><i type="Button" class="svg rss" title="Atom/RSS Feed"></i></a></li>{% endif -%}{% endif -%} - {%- if social_config.mail -%} - {%- if social_config.mail_encode -%} - {%- set base64_email = social_config.mail -%} - <li class="js"><a class="m-protected" href="#{{ base64_email | base64_encode }}" target="_blank" title="Mail"><i type="Button" class="svg mail" title="Mail"></i></a></li> +{%- macro social_links(config) %} + <nav><div> + {%- if config.generate_feed and config.extra.feed -%} + <a href="{{ get_url(path=config.feed_filename, trailing_slash=false, lang=lang) | safe }}" target="_blank" title="Atom/RSS Feed"><i type="Button" class="svg rss" title="Atom/RSS Feed"></i></a>{% endif -%} + {%- if config.extra.mail -%} + {%- if config.extra.mail_encode | default(value=true) -%} + {%- set base64_email = config.extra.mail -%} + <a class="js m-protected" href="#{{ base64_email | base64_encode }}" target="_blank" title="Mail"><i type="Button" class="svg mail" title="Mail"></i></a> {%- else -%} - <li><a href="mailto:{{ social_config.mail }}" target="_blank" title="Mail"><i type="Button" class="svg mail" title="Mail"></i></a></li> + <a href="mailto:{{ config.extra.mail }}" target="_blank" title="Mail"><i type="Button" class="svg mail" title="Mail"></i></a> {%- endif -%} {% endif -%} - {%- if social_config.mastodon -%} - <li><a href="{{ social_config.mastodon | safe }}" target="_blank" title="Mastodon" rel="me"><i type="Button" class="svg mastodon" title="Mastodon"></i></a></li>{% endif -%} - {%- if social_config.element -%} - <li><a href="https://{{ social_config.element }}/" target="_blank" title="Element"><i type="Button" class="svg element" title="Element"></i></a></li>{% endif -%} - {%- if social_config.matrix -%} - <li><a href="https://{{ social_config.matrix }}/" target="_blank" title="Matrix"><i type="Button" class="svg matrix" title="Matrix"></i></a></li>{% endif -%} - {%- if social_config.twitter -%} - <li><a href="https://twitter.com/{{ social_config.twitter }}/" target="_blank" title="Twitter"><i type="Button" class="svg twitter" title="Twitter"></i></a></li>{% endif -%} - {%- if social_config.facebook -%} - <li><a href="https://www.facebook.com/{{ social_config.facebook }}/" target="_blank" title="Facebook"><i type="Button" class="svg facebook" title="Facebook"></i></a></li>{% endif -%} - {%- if social_config.linkedin -%} - <li><a href="https://www.linkedin.com/in/{{ social_config.linkedin }}/" target="_blank" title="LinkedIn"><i type="Button" class="svg linkedin" title="LinkedIn"></i></a></li>{% endif -%} - {%- if social_config.researchgate -%} - <li><a href="https://www.researchgate.net/profile/{{ social_config.researchgate }}/" target="_blank" title="ResearchGate"><i type="Button" class="svg researchgate" title="ResearchGate"></i></a></li>{% endif -%} - {%- if social_config.codeberg -%} - <li><a href="https://codeberg.org/{{ social_config.codeberg }}/" target="_blank" title="Codeberg"><i type="Button" class="svg codeberg" title="Codeberg"></i></a></li>{% endif -%} - {%- if social_config.gitlab -%} - <li><a href="https://gitlab.com/{{ social_config.gitlab }}/" target="_blank" title="Gitlab"><i type="Button" class="svg gitlab" title="Gitlab"></i></a></li>{% endif -%} - {%- if social_config.github -%} - <li><a href="https://github.com/{{ social_config.github }}/" target="_blank" title="Github"><i type="Button" class="svg github" title="Github"></i></a></li>{% endif -%} - {%- if social_config.bitbucket -%} - <li><a href="https://bitbucket.org/{{ social_config.bitbucket }}/" target="_blank" title="Bitbucket"><i type="Button" class="svg bitbucket" title="Bitbucket"></i></a></li>{% endif -%} - {%- if social_config.python -%} - <li><a href="https://pypi.org/user/{{ social_config.python }}/" target="_blank" title="Python"><i type="Button" class="svg python" title="Python"></i></a></li>{% endif -%} - {%- if social_config.docker -%} - <li><a href="https://hub.docker.com/u/{{ social_config.docker }}/" target="_blank" title="Docker"><i type="Button" class="svg docker" title="Docker"></i></a></li>{% endif -%} - {%- if social_config.stack -%} - <li><a href="https://stackoverflow.com/users/{{ social_config.stack }}/" target="_blank" title="Stack"><i type="Button" class="svg stack" title="Stack"></i></a></li>{% endif -%} - {%- if social_config.instagram -%} - <li><a href="https://www.instagram.com/{{ social_config.instagram }}/" target="_blank" title="Instagram"><i type="Button" class="svg instagram" title="Instagram"></i></a></li>{% endif -%} - {%- if social_config.pinterest -%} - <li><a href="https://www.pinterest.com/{{ social_config.pinterest }}/" target="_blank" title="Pinterest"><i type="Button" class="svg pinterest" title="Pinterest"></i></a></li>{% endif -%} - {%- if social_config.twitch -%} - <li><a href="https://www.twitch.tv/{{ social_config.twitch }}/" target="_blank" title="Twitch"><i type="Button" class="svg twitch" title="Twitch"></i></a></li>{% endif -%} - {%- if social_config.discord -%} - <li><a href="https://discord.com/{{ social_config.discord }}/" target="_blank" title="Discord"><i type="Button" class="svg discord" title="Discord"></i></a></li>{% endif -%} - {%- if social_config.youtube -%} - <li><a href="https://www.youtube.com/{{ social_config.youtube }}" target="_blank" title="YouTube"><i type="Button" class="svg youtube" title="YouTube"></i></a></li>{% endif -%} - {%- if social_config.buymeacoffee -%} - <li><a href="https://www.buymeacoffee.com/{{ social_config.buymeacoffee }}/" target="_blank" title="Buy Me A Coffee"><i type="Button" class="svg buymeacoffee" title="Buy Me A Coffee"></i></a></li>{% endif -%} - {%- if social_config.github_sponsor -%} - <li><a href="https://github.com/sponsors/{{ social_config.github_sponsor }}/" target="_blank" title="GitHub Sponsor"><i type="Button" class="svg github-sponsor" title="GitHub Sponsor"></i></a></li>{% endif -%} - </ul> - </nav> + {%- if config.extra.mastodon -%} + <a href="{{ config.extra.mastodon | safe }}" target="_blank" title="Mastodon" rel="me"><i type="Button" class="svg mastodon" title="Mastodon"></i></a>{% endif -%} + {%- if config.extra.element -%} + <a href="https://{{ config.extra.element }}/" target="_blank" title="Element"><i type="Button" class="svg element" title="Element"></i></a>{% endif -%} + {%- if config.extra.matrix -%} + <a href="https://{{ config.extra.matrix }}/" target="_blank" title="Matrix"><i type="Button" class="svg matrix" title="Matrix"></i></a>{% endif -%} + {%- if config.extra.twitter -%} + <a href="https://twitter.com/{{ config.extra.twitter }}/" target="_blank" title="Twitter"><i type="Button" class="svg twitter" title="Twitter"></i></a>{% endif -%} + {%- if config.extra.facebook -%} + <a href="https://www.facebook.com/{{ config.extra.facebook }}/" target="_blank" title="Facebook"><i type="Button" class="svg facebook" title="Facebook"></i></a>{% endif -%} + {%- if config.extra.linkedin -%} + <a href="https://www.linkedin.com/in/{{ config.extra.linkedin }}/" target="_blank" title="LinkedIn"><i type="Button" class="svg linkedin" title="LinkedIn"></i></a>{% endif -%} + {%- if config.extra.researchgate -%} + <a href="https://www.researchgate.net/profile/{{ config.extra.researchgate }}/" target="_blank" title="ResearchGate"><i type="Button" class="svg researchgate" title="ResearchGate"></i></a>{% endif -%} + {%- if config.extra.codeberg -%} + <a href="https://codeberg.org/{{ config.extra.codeberg }}/" target="_blank" title="Codeberg"><i type="Button" class="svg codeberg" title="Codeberg"></i></a>{% endif -%} + {%- if config.extra.gitlab -%} + <a href="https://gitlab.com/{{ config.extra.gitlab }}/" target="_blank" title="Gitlab"><i type="Button" class="svg gitlab" title="Gitlab"></i></a>{% endif -%} + {%- if config.extra.github -%} + <a href="https://github.com/{{ config.extra.github }}/" target="_blank" title="Github"><i type="Button" class="svg github" title="Github"></i></a>{% endif -%} + {%- if config.extra.bitbucket -%} + <a href="https://bitbucket.org/{{ config.extra.bitbucket }}/" target="_blank" title="Bitbucket"><i type="Button" class="svg bitbucket" title="Bitbucket"></i></a>{% endif -%} + {%- if config.extra.python -%} + <a href="https://pypi.org/user/{{ config.extra.python }}/" target="_blank" title="Python"><i type="Button" class="svg python" title="Python"></i></a>{% endif -%} + {%- if config.extra.docker -%} + <a href="https://hub.docker.com/u/{{ config.extra.docker }}/" target="_blank" title="Docker"><i type="Button" class="svg docker" title="Docker"></i></a>{% endif -%} + {%- if config.extra.stack -%} + <a href="https://stackoverflow.com/users/{{ config.extra.stack }}/" target="_blank" title="Stack"><i type="Button" class="svg stack" title="Stack"></i></a>{% endif -%} + {%- if config.extra.instagram -%} + <a href="https://www.instagram.com/{{ config.extra.instagram }}/" target="_blank" title="Instagram"><i type="Button" class="svg instagram" title="Instagram"></i></a>{% endif -%} + {%- if config.extra.pinterest -%} + <a href="https://www.pinterest.com/{{ config.extra.pinterest }}/" target="_blank" title="Pinterest"><i type="Button" class="svg pinterest" title="Pinterest"></i></a>{% endif -%} + {%- if config.extra.twitch -%} + <a href="https://www.twitch.tv/{{ config.extra.twitch }}/" target="_blank" title="Twitch"><i type="Button" class="svg twitch" title="Twitch"></i></a>{% endif -%} + {%- if config.extra.discord -%} + <a href="https://discord.com/{{ config.extra.discord }}/" target="_blank" title="Discord"><i type="Button" class="svg discord" title="Discord"></i></a>{% endif -%} + {%- if config.extra.youtube -%} + <a href="https://www.youtube.com/{{ config.extra.youtube }}" target="_blank" title="YouTube"><i type="Button" class="svg youtube" title="YouTube"></i></a>{% endif -%} + {%- if config.extra.kofi -%} + <a href="https://www.ko-fi.com/{{ config.extra.kofi }}/" target="_blank" title="Support me on Ko-fi"><i type="Button" class="svg kofi" title="Support me on Ko-fi"></i></a>{% endif -%} + {%- if config.extra.buymeacoffee -%} + <a href="https://www.buymeacoffee.com/{{ config.extra.buymeacoffee }}/" target="_blank" title="Buy Me A Coffee"><i type="Button" class="svg buymeacoffee" title="Buy Me A Coffee"></i></a>{% endif -%} + {%- if config.extra.github_sponsor -%} + <a href="https://github.com/sponsors/{{ config.extra.github_sponsor }}/" target="_blank" title="GitHub Sponsor"><i type="Button" class="svg github-sponsor" title="GitHub Sponsor"></i></a>{% endif -%} + </div></nav> {%- endmacro %} diff --git a/templates/page.html b/templates/page.html index 1c21d67..e002b31 100644 --- a/templates/page.html +++ b/templates/page.html @@ -30,6 +30,12 @@ {{- macros_head::seo(config=config, title=title, title_addition=title_addition, description=description, type="article", is_page=true, created_time=created_time, updated_time=updated_time, page_section=page_section) }} {%- endblock seo %} +{%- block comments_init %} + {%- if config.extra.comments.hyvor %} + <script async src="https://talk.hyvor.com/embed/embed.js" type="module"></script> + {%- endif %} +{%- endblock comments_init %} + {%- block content %} <article> {{- macros::title_post(page=page, config=config) }} @@ -39,7 +45,7 @@ {{- macros::meta_post(page=page, config=config) }} {%- endif %}{%- endif %} - {{ page.content | safe }} +{{ page.content | safe }} {%- if config.extra.meta_post.position %} {%- if config.extra.meta_post.position == "bottom" or config.extra.meta_post.position == "both" %} @@ -47,7 +53,7 @@ {%- endif %}{%- endif %} {%- block page_footer %} - {{- macros::footer(page=page) }} + {{- macros::footer(page=page, config=config) }} {%- endblock page_footer %} {%- block comments_body %} @@ -61,17 +67,17 @@ {%- set toc = page.toc %} {%- endif %} {%- if toc %} - <div class="toc" aria-hidden="true"> + <div class="toc"> <div class="toc-sticky"> - <h3>Index</h3> + <h3>{%- if lang != config.default_language %}{{ trans(key="Index" | safe, lang=lang) }}{% else %}Index{% endif %}</h3> {%- for h in toc %} <div class="toc-item"> - <a class="subtext" href="{{h.permalink | safe}}">{{ h.title }}</a> + <a class="subtext" href="#{{h.id | safe}}">{{ h.title }}</a> </div> {%- if h.children %} {%- for h2 in h.children %} <div class="toc-item-child"> - <a class="subtext" href="{{h2.permalink | safe}}"><small>- {{ h2.title }}</small></a> + <a class="subtext" href="#{{h2.id | safe}}"><small>- {{ h2.title }}</small></a> </div> {%- endfor %} {%- endif %} @@ -87,8 +93,9 @@ {%- if page.reading_time %} {%- if page.reading_time > 2 %} +{%- set icon_top=config.extra.icon_top | default(value="svgs svgh angu") -%} <span class="topout"> -<span class="topleft"> </span><a href="#" class="top" title="Back to Top">{%- if config.extra.icon_top %}<i class="{{ config.extra.icon_top }}"></i>{%- else %}⋏{%- endif %}</a> +<span class="topleft"> </span><a href="#" class="top" title="Back to Top">{%- if icon_top %}<i class="{{ icon_top }}"></i>{%- else %}⋏{%- endif %}</a> </span> {%- endif %} {%- endif %} diff --git a/templates/pages.html b/templates/pages.html index 87c9adb..4ef44f5 100644 --- a/templates/pages.html +++ b/templates/pages.html @@ -26,6 +26,7 @@ {%- block content %} <div> - {{ page.content | safe }} + +{{ page.content | safe }} </div> {%- endblock content %} diff --git a/templates/posts.html b/templates/posts.html deleted file mode 100644 index d4fc9e4..0000000 --- a/templates/posts.html +++ /dev/null @@ -1,30 +0,0 @@ -{# This Page Shows the Posts Grouped by Year: example.com/posts/ #} - -{% extends "base.html" %} - -{%- block seo %} - {{- super() }} - {%- set title = "Posts" %} - - {%- if config.title %} - {%- set title_addition = title_separator ~ config.title %} - {%- else %} - {%- set title_addition = "" %} - {%- endif %} - - {%- set description = config.description %} - - {{- macros_head::seo(config=config, title=title, title_addition=title_addition, description=description, is_home=true) }} -{%- endblock seo %} - -{%- block content %} -{%- set section_item = get_section(path="_index.md") %} - <div> - {%- for year, posts in section_item.pages | group_by(attribute="year") %} - <h2>{{ year }}</h2> - {%- for post in posts %} - <p><a href="{{ post.permalink | safe }}">{{ post.title }}</a> - <time datetime="{{ post.date }}">{{ post.date | date(format="%F") }}</time></p> - {%- endfor %} - {%- endfor %} - </div> -{%- endblock content %} diff --git a/templates/robots.txt b/templates/robots.txt index 766e67f..7977154 100644 --- a/templates/robots.txt +++ b/templates/robots.txt @@ -1,4 +1,9 @@ +{%- if config.extra.dev %} +User-Agent: * +Disallow: / +{%- else %} Sitemap: {{ get_url(path="sitemap.xml", trailing_slash=false) }} User-Agent: * Allow: / Host: {{ get_url(path="/", trailing_slash=false) }} +{%- endif %} diff --git a/templates/shortcodes/image.html b/templates/shortcodes/image.html index 8452ce9..4f9d3de 100644 --- a/templates/shortcodes/image.html +++ b/templates/shortcodes/image.html @@ -3,5 +3,5 @@ {% set type = source | split(pat=".") | last -%} <source srcset="{{ config.base_url | safe}}{{ page.path | safe }}{{ source | safe }}" type="{{ 'img/' ~ type }}" /> {% endfor -%} - <img src="{{ fpath }}" alt="{{ falt | default(value='Image') }}"{% if fw %} width="{{fw}}"{% endif %}{% if fh %} height="{{fh}}"{% endif %} /> + <img src="{{ fpath }}" alt="{{ falt | default(value='Image') }}"{% if fw %} width="{{fw}}"{% endif %}{% if fh %} height="{{fh}}"{% endif %} loading="lazy" /> </picture> diff --git a/templates/shortcodes/img.html b/templates/shortcodes/img.html index cf2a562..f23f783 100644 --- a/templates/shortcodes/img.html +++ b/templates/shortcodes/img.html @@ -24,5 +24,8 @@ {%- endif %} {%- set img = src | split(pat="/") | last %} -{%- set name = img | split(pat=".") | first %} -<img src="{{ path | safe }}{{ img | safe }}"{% if class %} class="{{class}}"{% endif %}{% if alt %} alt="{{alt}}"{% endif %}{% if w %} width="{{w}}"{% endif %}{% if h %} height="{{h}}"{% endif %} /> + +{%- if not alt %} + {%- set alt = img | split(pat=".") | first %} +{%- endif %} +<img src="{{ path | safe }}{{ img | safe }}"{% if class %} class="{{class}}"{% endif %}{% if alt %} alt="{{alt}}"{% endif %}{% if w %} width="{{w}}"{% endif %}{% if h %} height="{{h}}"{% endif %} loading="lazy" /> diff --git a/templates/shortcodes/imgswap.html b/templates/shortcodes/imgswap.html index f8c983c..4397b29 100644 --- a/templates/shortcodes/imgswap.html +++ b/templates/shortcodes/imgswap.html @@ -25,8 +25,11 @@ {%- endif %} {%- set img = main_src | split(pat="/") | last %} - {%- set name = img | split(pat=".") | first %} - <img src="{{ path | safe }}{{ img | safe }}" class="img-main{% if class %} {{class}}{% endif %}"{% if alt %} alt="{{alt}}"{% endif %}{% if w %} width="{{w}}"{% endif %}{% if h %} height="{{h}}"{% endif %} /> + + {%- if not alt %} + {%- set alt = img | split(pat=".") | first %} + {%- endif %} + <img src="{{ path | safe }}{{ img | safe }}" class="img-main{% if class %} {{class}}{% endif %}"{% if alt %} alt="{{alt}}"{% endif %}{% if w %} width="{{w}}"{% endif %}{% if h %} height="{{h}}"{% endif %} loading="lazy" /> {%- set dirtest = swap_src | trim_start_matches(pat="./") %} {%- if dirtest is containing("/") %} @@ -54,6 +57,9 @@ {%- endif %} {%- set img = swap_src | split(pat="/") | last %} - {%- set name = img | split(pat=".") | first %} - <img src="{{ path | safe }}{{ img | safe }}" class="img-swap{% if class %} {{class}}{% endif %}"{% if alt %} alt="{{alt}}"{% endif %}{% if w %} width="{{w}}"{% endif %}{% if h %} height="{{h}}"{% endif %} /> + + {%- if not alt %} + {%- set alt = img | split(pat=".") | first %} + {%- endif %} + <img src="{{ path | safe }}{{ img | safe }}" class="img-swap{% if class %} {{class}}{% endif %}"{% if alt %} alt="{{alt}}"{% endif %}{% if w %} width="{{w}}"{% endif %}{% if h %} height="{{h}}"{% endif %} loading="lazy" /> </div> diff --git a/templates/shortcodes/streamable.html b/templates/shortcodes/streamable.html new file mode 100644 index 0000000..7df8e9e --- /dev/null +++ b/templates/shortcodes/streamable.html @@ -0,0 +1,3 @@ +<div class="yv{% if class %} {{class}}{% endif %}"> + <iframe src="https://www.streamable.com/e/{{id}}" title="{{title | default(value='Streamable') }}" class="yvi" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe> +</div> diff --git a/templates/shortcodes/vimeo.html b/templates/shortcodes/vimeo.html new file mode 100644 index 0000000..0fe3129 --- /dev/null +++ b/templates/shortcodes/vimeo.html @@ -0,0 +1,3 @@ +<div class="yv{% if class %} {{class}}{% endif %}"> + <iframe src="https://player.vimeo.com/video/{{id}}?embedded=true{% if autoplay %}&autoplay=1{% endif %}{% if loop %}&loop=1{% endif %}{% if noautopause %}&autopause=0{% endif %}{% if not cookie %}&dnt=1{% endif %}" title="{{title | default(value='Vimeo') }}" class="yvi" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe> +</div> diff --git a/templates/shortcodes/vm.html b/templates/shortcodes/vm.html deleted file mode 100644 index 2dd60e8..0000000 --- a/templates/shortcodes/vm.html +++ /dev/null @@ -1,3 +0,0 @@ -<div class="yv{% if class %} {{class}}{% endif %}"> - <iframe src="https://player.vimeo.com/video/{{id}}?embedded=true{% if autoplay %}&autoplay=1{% endif %}{% if loop %}&loop=1{% endif %}{% if noautopause %}&autopause=0{% endif %}{% if not cookie %}&dnt=1{% endif %}" title="{{title | default(value='Vimeo') }}" class="yvi" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe> -</div> diff --git a/templates/shortcodes/youtube.html b/templates/shortcodes/youtube.html new file mode 100644 index 0000000..d07b91b --- /dev/null +++ b/templates/shortcodes/youtube.html @@ -0,0 +1,3 @@ +<div class="yv{% if class %} {{class}}{% endif %}"> + <iframe src="https://www.youtube{% if not cookie %}-nocookie{% endif %}.com/embed/{{id}}{% if playlist %}?list={{playlist}}{% endif %}{% if autoplay %}?autoplay=1{% endif %}" title="{{title | default(value='Youtube') }}" class="yvi" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe> +</div> diff --git a/templates/shortcodes/yt.html b/templates/shortcodes/yt.html deleted file mode 100644 index 9fb99dd..0000000 --- a/templates/shortcodes/yt.html +++ /dev/null @@ -1,3 +0,0 @@ -<div class="yv{% if class %} {{class}}{% endif %}"> - <iframe src="https://www.youtube{% if not cookie %}-nocookie{% endif %}.com/embed/{{id}}{% if playlist %}?list={{playlist}}{% endif %}{% if autoplay %}?autoplay=1{% endif %}" title="{{title | default(value='Youtube') }}" class="yvi" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe> -</div> diff --git a/templates/tags/list.html b/templates/tags/list.html index 545bf34..a24ef09 100644 --- a/templates/tags/list.html +++ b/templates/tags/list.html @@ -18,13 +18,13 @@ {%- block content %} <div> <div class="c"> - <h1>{{ terms | length }} Tags</h1> - <p>{% for term in terms %} #<a href="#{{ term.name }}">{{ term.name }}</a> {% endfor %}</p> + <h1>{{ terms | length }} {%- if lang != config.default_language %} {{ trans(key="Tags" | safe, lang=lang) }} {% else %} Tags {% endif %}</h1> + <p>{% for term in terms %} #<a href="#{{ term.name }}">{{ term.name }}</a><sup>{{ term.pages | length }}</sup> {% endfor %}</p> </div> {%- for term in terms %} - <h2 id="{{ term.name }}">#<a href="{{ term.permalink | safe }}">{{ term.name }}</a></h2> + <h2 id="{{ term.name }}">#<a href="{{ term.permalink | safe }}{%- if config.extra.uglyurls %}index.html{%- endif %}">{{ term.name }}</a></h2> {%- for page in term.pages %} - <p><a href="{{ page.permalink | safe }}">{{ page.title }}</a> - <time datetime="{{ page.date }}">{{ page.date | date(format="%F") }}</time></p> + <p><a href="{{ page.permalink | safe }}{%- if config.extra.uglyurls %}index.html{%- endif %}">{{ page.title }}</a> - <time datetime="{{ page.date }}">{{ page.date | date(format="%F") }}</time></p> {%- endfor %} {%- endfor %} </div> diff --git a/templates/tags/single.html b/templates/tags/single.html index ad8caeb..8984219 100644 --- a/templates/tags/single.html +++ b/templates/tags/single.html @@ -21,7 +21,7 @@ {%- for year, posts in term.pages | group_by(attribute="year") %} <h3>{{ year }}</h3> {%- for page in posts %} - <p><a href="{{ page.permalink | safe }}">{{ page.title }}</a> - <time datetime="{{ page.date }}">{{ page.date | date(format="%F") }}</time></p> + <p><a href="{{ page.permalink | safe }}{%- if config.extra.uglyurls %}index.html{%- endif %}">{{ page.title }}</a> - <time datetime="{{ page.date }}">{{ page.date | date(format="%F") }}</time></p> {%- endfor %} {%- endfor %} </div> @@ -1,8 +1,8 @@ name = "abridge" -description = "A fast and lightweight Zola theme using semantic html, a class-light abridge.css, and No JS." +description = "A fast and lightweight Zola theme using semantic html, a class-light abridge.css, and No mandatory JS." license = "MIT" homepage = "https://github.com/jieiku/abridge" -min_version = "0.17.1" +min_version = "0.17.3" demo = "https://abridge.netlify.app/" [extra] |
