diff --git a/.gitmodules b/.gitmodules index 9e98ea4..8032f75 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "themes/duckquill"] path = themes/duckquill url = https://codeberg.org/daudix/duckquill.git +[submodule "themes/ametrine"] + path = themes/ametrine + url = https://codeberg.org/daudix/ametrine.git diff --git a/config.toml b/config.toml index b04712b..b1f9100 100644 --- a/config.toml +++ b/config.toml @@ -1,6 +1,6 @@ title = "RSCC" description = "Well, get on this site and find out." -theme = "duckquill" +theme = "ametrine" # The URL the site will be built for base_url = "https://rootsource.cc" @@ -18,15 +18,21 @@ highlight_code = true [extra] # Put all your custom variables here +meta.favicon = true [extra.footer] show_copyright = true show_powered_by = true -show_source = false -copyright = "raíz1.noho.st owns this website" +show_source = true +copyright = "raiz1.noho.st owns this website" [extra.nav] +force_sidebar = true + links = [ - { url = "Articles/", name = "Articles" }, + { url = "Articles/", name = "Articles", icon = "newspaper" }, + { url = "https://git.rootsource.cc/", name = "Alpsource", icon = "git-merge" }, + { url = "https://haj.rootsource.cc/", name = "Hajiku/Costkey", icon = "fediverse-logo" }, + { url = "https://bin.rootsource.cc/", name = "Estellabin", icon = "lock-laminated" }, ] diff --git a/content/Articles/Duckquill2Ametrine/index.md b/content/Articles/Duckquill2Ametrine/index.md new file mode 100644 index 0000000..5d0b44d --- /dev/null +++ b/content/Articles/Duckquill2Ametrine/index.md @@ -0,0 +1,91 @@ ++++ +title = "Transition from Duckquill to Ametrine" +description = "In this guide, we will show you how to transition from Daudix's Duckquill to its successor, Ametrine!" +date = 2025-03-04 +[extra] +toc = true ++++ +# WIP! +(daudix will have less work writing this fr) +# Step 1: Getting Ametrine +First, you're going to navigate to the themes folder of your Zola installation. Example: + +```bash +user@hostname:/# cd /var/www/zola/themes/ +user@hostname:/var/www/zola/themes# +``` + +## Don't clone as submodule +If Git is installed, you're going to clone Ametrine into the themes directory: +```bash +user@hostname:/var/www/zola/themes# git clone https://codeberg.org/daudix/ametrine +cd ametrine +``` + +## Clone as submodule (recommended!) +Or, if you use Submodules: + +```bash +user@hostname:/var/www/zola/themes# git submodule init +user@hostname:/var/www/zola/themes# git submodule add https://codeberg.org/daudix/ametrine.git ametrine +``` + +# Step 2: Applying Ametrine +Next step is to change the config to use Ametrine instead of Duckquill + +For this, go back to the root directory of the Zola installation: + +```bash +user@hostname:/var/www/zola/themes# cd .. +user@hostname:/var/www/zola# ls +config.toml content public static templates themes zola +user@hostname:/var/www/zola# +``` + +## Editing the file manually +Open the file in your favourite editor: +```bash +user@hostname:/var/www/zola# micro config.toml +``` + +Find the line that says + +```toml +theme = "duckquill" +``` + +and replace it with + +```toml +theme = "ametrine" +``` + +## Using ``sed`` like a pro haxx0r +Feeling skid today? Use the following command to replace the line manually using sed: +```bash +user@hostname:/var/www/zola# sed -i 's/theme = \"duckquill\"/theme = \"ametrine\"/g' config.toml +``` + +# Building and praying +Well, time to build! + +```bash +user@hostname:/var/www/zola# ./zola build +Building site... +Checking all internal links with anchors. +> Successfully checked 0 internal link(s) with anchors. +-> Creating 3 pages (0 orphan) and 1 sections +Done in 341ms. +``` + +* Note: The zola command may either only be available in the site's directory, or as a widely-available command, depending on your installation method of Zola. + +We have done it! + +You have transitioned from Duckquill to Ametrine, and so did we, joining [AeroNook (#1)](https://aeronook.tech) and [Mambuco (#2)](https://mambuco.dev/) in the transition, making us the third! + +Ametrine is still experimental, but we are happy to see it grow so fast! Thank you [Daudix](https://daudix.one) for blessing us with this fr. Go check him out, he's a great and very talented person! + +Thank you for reading! + +Sincerely, RootsourceCC. diff --git a/content/Articles/Set-up-Costmiku-FFSync/index.md b/content/Articles/Set-up-Costmiku-FFSync/index.md new file mode 100644 index 0000000..3b7e6f7 --- /dev/null +++ b/content/Articles/Set-up-Costmiku-FFSync/index.md @@ -0,0 +1,37 @@ ++++ +title = "Set up costmiku ffsync on Firefox" +description = "Shortest article demonstrating how to configure Firefox to synchronise to costmiku ffsync" +date = 2025-03-01 +[extra] +toc = true ++++ + +This has not been written by the RootsourceCC team, but still describes it accurately. + +Create a Mozilla account + +Go to [https://accounts.firefox.com](https://accounts.firefox.com) and follow the "Sign up" steps to create an account. + +**Configure Firefox Desktop** + +Please open `about:config` in your Firefox and point `identity.sync.tokenserver.uri` to `https://ffsync.costmiku.space/1.0/sync/1.5`. + +**Configure Firefox based browsers on Android** + +These steps have to be followed in a strict order. Failing to do it would probably lead to issues. This should also work in Firefox based browsers like Mull (tested) and others. + + - Open Firefox Browser -> Settings -> About Firefox -> tap 5 times in Firefox logo. + - Go back to Settings -> Account -> you should see a new option `Sync Debug`, tap on it. + - Select `Custom Sync server` and write there your endpoint. It should be https://ffsync.costmiku.space/1.0/sync/1.5. + - Exit Firefox completely, reopen and then follow the steps of "Connect a device" to your Firefox account. + - After a successful auth process the sync should start working. + +Configure Firefox on iOS + +Not tested. + - Open Firefox Browser -> Settings -> About Firefox -> tap on the field with Firefox and version number. + - Go back to Settings -> Account -> you should see a new option `Advanced Sync Settings`, tap on it. + - Toggle Use Custom Sync Token Server and write there your endpoint. It should be `https://ffsync.costmiku.space/`. + - You might also need to toggle the switch for custom FxA login server and set it to `https://accounts.firefox.com` + - Exit Firefox completely, reopen and then follow the steps of "Connect a device" to your Firefox account. + - After a successful auth process the sync should start working. diff --git a/content/Articles/TylkoLinux-Installation/index.md b/content/Articles/TylkoLinux-Installation/index.md index 5307f51..3a33cf1 100644 --- a/content/Articles/TylkoLinux-Installation/index.md +++ b/content/Articles/TylkoLinux-Installation/index.md @@ -217,8 +217,19 @@ Run the following commands: einrichter/eic> eic.dirs.create # Creates necessary directories einrichter/eic> eic.essentials.create # Creates necessary tools einrichter/eic> eic.essentials.install # Installs the tools +einrichter/eic> eic.essentials.verify # Verifies that the packages are installed einrichter/eic> eic.clean # Clean up the environment ``` + +If after running eic.essentials.verify, the packages have not been installed, try to troubleshoot the actual package that failed to install and try again. + +Or...re-extract package and reinstall + +```bash +einrichter/eic> eic.bugfix.RrX +einrichter/eic> eic.essentials.install +``` + BEFORE BUILDING THE ACTUAL SYSTEM!!!! Run this command. It applies the RrX bugfix that removes and re-extracts affected packages. ```bash diff --git a/content/_index.md b/content/_index.md index efe99cc..626db33 100644 --- a/content/_index.md +++ b/content/_index.md @@ -2,13 +2,10 @@ title = "Home - RootSourceCC" +++ -# RootSourceCC - Welcome to RootSourceCC! You could technically call this: "The child of Raíz1, Icycoide and Costmiku" With the ownership by Raíz1, hosted on and also being in charge of Costmiku, and hosting Icycoide's stuff! -Links: -- [Alpsource (Git forge)](https://git.rootsource.cc) +Proud to say, we are the **third** website to transition from Duckquill to Ametrine! -[Raíz1](https://raiz1.noho.st) - [Icycoide](https://icycoide.github.io) 2025. diff --git a/public/404-static.gif b/public/404-static.gif new file mode 100644 index 0000000..f778a89 Binary files /dev/null and b/public/404-static.gif differ diff --git a/public/404.gif b/public/404.gif index 9790faa..a024a06 100644 Binary files a/public/404.gif and b/public/404.gif differ diff --git a/public/404.html b/public/404.html index 3a5eccf..1ec7c04 100644 --- a/public/404.html +++ b/public/404.html @@ -1,66 +1,108 @@ + + - + - - + + 404 - RSCC - + - - + + - - + + + + + + + + + + - + + + + + - + - - -
- - - - 404 +
  • + + Articles +
  • +
  • + + Alpsource +
  • +
  • + + Hajiku/Costkey +
  • +
  • + + Estellabin +
  • + + + + + +
    + + + + 404

    Page Not Found

    @@ -68,23 +110,32 @@

    The requested page could not be found.

    - - - - +
    -

    raíz1.noho.st owns this website

    - -

    - Powered by Zola and Duckquill - -

    +
    +
    +

    Powered by Zola and Ametrine +

    +
    +
    +
    + +
    + + +
    +
    +
    +
    + + diff --git a/public/404.png b/public/404.png deleted file mode 100644 index 6d2255b..0000000 Binary files a/public/404.png and /dev/null differ diff --git a/public/Articles/duckquill2ametrine/index.html b/public/Articles/duckquill2ametrine/index.html new file mode 100644 index 0000000..dae6e35 --- /dev/null +++ b/public/Articles/duckquill2ametrine/index.html @@ -0,0 +1,213 @@ + + + + + + + + + + + Transition from Duckquill to Ametrine - RSCC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to Main Content + + +
    + +
    +

    Transition from Duckquill to Ametrine

    + + +
    +
    +

    WIP!

    +

    (daudix will have less work writing this fr)

    +

    Step 1: Getting Ametrine

    +

    First, you're going to navigate to the themes folder of your Zola installation. Example:

    +
    user@hostname:/# cd /var/www/zola/themes/
    +user@hostname:/var/www/zola/themes# 
    +
    +

    Don't clone as submodule

    +

    If Git is installed, you're going to clone Ametrine into the themes directory:

    +
    user@hostname:/var/www/zola/themes# git clone https://codeberg.org/daudix/ametrine
    +cd ametrine
    +
    + +

    Or, if you use Submodules:

    +
    user@hostname:/var/www/zola/themes# git submodule init
    +user@hostname:/var/www/zola/themes# git submodule add https://codeberg.org/daudix/ametrine.git ametrine
    +
    +

    Step 2: Applying Ametrine

    +

    Next step is to change the config to use Ametrine instead of Duckquill

    +

    For this, go back to the root directory of the Zola installation:

    +
    user@hostname:/var/www/zola/themes# cd ..
    +user@hostname:/var/www/zola# ls
    +config.toml  content  public  static  templates  themes  zola
    +user@hostname:/var/www/zola# 
    +
    +

    Editing the file manually

    +

    Open the file in your favourite editor:

    +
    user@hostname:/var/www/zola# micro config.toml 
    +
    +

    Find the line that says

    +
    theme = "duckquill"
    +
    +

    and replace it with

    +
    theme = "ametrine"
    +
    +

    Using sed like a pro haxx0r

    +

    Feeling skid today? Use the following command to replace the line manually using sed:

    +
    user@hostname:/var/www/zola# sed -i 's/theme = \"duckquill\"/theme = \"ametrine\"/g' config.toml
    +
    +

    Building and praying

    +

    Well, time to build!

    +
    user@hostname:/var/www/zola# ./zola build
    +Building site...
    +Checking all internal links with anchors.
    +> Successfully checked 0 internal link(s) with anchors.
    +-> Creating 3 pages (0 orphan) and 1 sections
    +Done in 341ms.
    +
    +
      +
    • Note: The zola command may either only be available in the site's directory, or as a widely-available command, depending on your installation method of Zola.
    • +
    +

    We have done it!

    +

    You have transitioned from Duckquill to Ametrine, and so did we, joining AeroNook (#1) and Mambuco (#2) in the transition, making us the third!

    +

    Ametrine is still experimental, but we are happy to see it grow so fast! Thank you Daudix for blessing us with this fr. Go check him out, he's a great and very talented person!

    +

    Thank you for reading!

    +

    Sincerely, RootsourceCC.

    + +

    + +
    +
    +
    +
    +
    +

    Powered by Zola and Ametrine +

    +
    +
    + +
    +
    + +
    + + +
    +
    +
    +
    + + + + + diff --git a/public/Articles/index.html b/public/Articles/index.html index bbc780c..47bcbfd 100644 --- a/public/Articles/index.html +++ b/public/Articles/index.html @@ -1,111 +1,190 @@ + + - + - - + + Articles - RSCC - + - - + + - - + + + + + + + + + + - + + + + + - + - - -
    - -

    Articles

    - - +
  • + + Articles +
  • +
  • + + Alpsource +
  • +
  • + + Hajiku/Costkey +
  • +
  • + + Estellabin +
  • + + + +
    + +

    Articles

    - 1 post in total + 3 posts in total

    -
    - +
    +
    - - -
    + "> +
    + +

    Transition from Duckquill to Ametrine

    +
    +

    In this guide, we will show you how to transition from Daudix's Duckquill to its successor, Ametrine!

    + +
    + + +
    +
    + + + + +
    + - - - + + 1/2 + + + + + +
    -

    raíz1.noho.st owns this website

    - -

    - Powered by Zola and Duckquill - -

    +
    +
    +

    Powered by Zola and Ametrine +

    +
    +
    +
    + +
    + + +
    +
    +
    +
    + + diff --git a/public/Articles/page/2/index.html b/public/Articles/page/2/index.html new file mode 100644 index 0000000..bf77383 --- /dev/null +++ b/public/Articles/page/2/index.html @@ -0,0 +1,170 @@ + + + + + + + + + + + Articles - RSCC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to Main Content + + +
    + +

    Articles

    + +

    + + 3 posts in total + +

    + +
    + +
    + + + +
    +
    +
    +
    +
    +

    Powered by Zola and Ametrine +

    +
    +
    + +
    +
    + +
    + + +
    +
    +
    +
    + + + + + diff --git a/public/Articles/set-up-costmiku-ffsync/index.html b/public/Articles/set-up-costmiku-ffsync/index.html new file mode 100644 index 0000000..5d73e63 --- /dev/null +++ b/public/Articles/set-up-costmiku-ffsync/index.html @@ -0,0 +1,167 @@ + + + + + + + + + + + Set up costmiku ffsync on Firefox - RSCC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to Main Content + + +
    + +
    +

    Set up costmiku ffsync on Firefox

    + + +
    +
    +

    This has not been written by the RootsourceCC team, but still describes it accurately.

    +

    Create a Mozilla account

    +

    Go to https://accounts.firefox.com and follow the "Sign up" steps to create an account.

    +

    Configure Firefox Desktop

    +

    Please open about:config in your Firefox and point identity.sync.tokenserver.uri to https://ffsync.costmiku.space/1.0/sync/1.5.

    +

    Configure Firefox based browsers on Android

    +

    These steps have to be followed in a strict order. Failing to do it would probably lead to issues. This should also work in Firefox based browsers like Mull (tested) and others.

    +
      +
    • Open Firefox Browser -> Settings -> About Firefox -> tap 5 times in Firefox logo.
    • +
    • Go back to Settings -> Account -> you should see a new option Sync Debug, tap on it.
    • +
    • Select Custom Sync server and write there your endpoint. It should be https://ffsync.costmiku.space/1.0/sync/1.5.
    • +
    • Exit Firefox completely, reopen and then follow the steps of "Connect a device" to your Firefox account.
    • +
    • After a successful auth process the sync should start working.
    • +
    +

    Configure Firefox on iOS

    +

    Not tested.

    +
      +
    • Open Firefox Browser -> Settings -> About Firefox -> tap on the field with Firefox and version number.
    • +
    • Go back to Settings -> Account -> you should see a new option Advanced Sync Settings, tap on it.
    • +
    • Toggle Use Custom Sync Token Server and write there your endpoint. It should be https://ffsync.costmiku.space/.
    • +
    • You might also need to toggle the switch for custom FxA login server and set it to https://accounts.firefox.com
    • +
    • Exit Firefox completely, reopen and then follow the steps of "Connect a device" to your Firefox account.
    • +
    • After a successful auth process the sync should start working.
    • +
    + +

    + +
    +
    +
    +
    +
    +

    Powered by Zola and Ametrine +

    +
    +
    + +
    +
    + +
    + + +
    +
    +
    +
    + + + + + diff --git a/public/Articles/tylkolinux-installation/index.html b/public/Articles/tylkolinux-installation/index.html index db6b890..a27c9ce 100644 --- a/public/Articles/tylkolinux-installation/index.html +++ b/public/Articles/tylkolinux-installation/index.html @@ -1,106 +1,144 @@ + + - + - - + + TylkoLinux install guide (Delirium). - RSCC - + - - + + - - + + + + + + + + + + - + + + + + - + - - -
    - -

    - - -

    TylkoLinux install guide (Delirium).

    +
  • + + Articles +
  • +
  • + + Alpsource +
  • +
  • + + Hajiku/Costkey +
  • +
  • + + Estellabin +
  • + + +
    -

    Requires the branch for TylkoLinux 25.2 Delirium x86_64

    +
    + +
    +

    TylkoLinux install guide (Delirium).

    + + +
    +
    +

    Requires the branch for TylkoLinux 25.2 Delirium x86_64

    As you may have read in the description, this article serves as a guide to install (build) TylkoLinux on your machine.

    - Important

    + Important

    Prerequisites:

    • x86_64 machine
    • @@ -141,7 +179,7 @@ Now, of course, there are a lot of guides on how to do that online and depending

      - Caution

      + Caution

      Make sure that the $LFS variable always points to the correct destination. It is recommended to always mount the target root partition under /mnt/lfs and set your variable to that. Failure to do so may lead you to absolutely fuck up your system.

      @@ -149,7 +187,7 @@ Failure to do so may lead you to absolutely fuck up your system.

      - Tip

      + Tip

      From the LFS handbook: One way to ensure that the LFS variable is always set is to edit the .bash_profile file in both your personal home directory and in /root/.bash_profile and enter the export command above. In addition, the shell specified in the /etc/passwd file for all users that need the LFS variable must be bash to ensure that the /root/.bash_profile file is incorporated as a part of the login process.

      Another consideration is the method that is used to log into the host system. If logging in through a graphical display manager, the user's .bash_profile is not normally used when a virtual terminal is started. In this case, add the export command to the .bashrc file for the user and root. In addition, some distributions use an "if" test, and do not run the remaining .bashrc instructions for a non-interactive bash invocation. Be sure to place the export command ahead of the test for non-interactive use.

      @@ -170,7 +208,7 @@ One way to ensure that the LFS variable is always set is to edit the .bash_profi

      - Caution

      + Caution

      The instructions above assume that you are not rebooting your computer during the build. (imagine) To automatically remount the partition on boot, modify /etc/fstab by adding this line:

      /dev/<foo>  /mnt/lfs ext4   defaults      1     1
      @@ -241,7 +279,7 @@ Now HERE begins the real work (insert lqtroll emoji)

      S8: Actually building the system itself

      - Tip

      + Tip

      Before proceeding with the build, One way to ensure that the LFS variable is always set is to edit the .bash_profile file in both your personal home directory and in /root/.bash_profile and enter the export command above. In addition, the shell specified in the /etc/passwd file for all users that need the LFS variable must be bash to ensure that the /root/.bash_profile file is incorporated as a part of the login process.

      Another consideration is the method that is used to log into the host system. If logging in through a graphical display manager, the user's .bash_profile is not normally used when a virtual terminal is started. In this case, add the export command to the .bashrc file for the user and root. In addition, some distributions use an "if" test, and do not run the remaining .bashrc instructions for a non-interactive bash invocation. Be sure to place the export command ahead of the test for non-interactive use.

      @@ -260,8 +298,14 @@ Run the following commands:

      einrichter/eic> eic.dirs.create # Creates necessary directories
       einrichter/eic> eic.essentials.create # Creates necessary tools
       einrichter/eic> eic.essentials.install # Installs the tools
      +einrichter/eic> eic.essentials.verify # Verifies that the packages are installed
       einrichter/eic> eic.clean # Clean up the environment
       
      +

      If after running eic.essentials.verify, the packages have not been installed, try to troubleshoot the actual package that failed to install and try again.

      +

      Or...re-extract package and reinstall

      +
      einrichter/eic> eic.bugfix.RrX
      +einrichter/eic> eic.essentials.install
      +

      BEFORE BUILDING THE ACTUAL SYSTEM!!!! Run this command. It applies the RrX bugfix that removes and re-extracts affected packages.

      einrichter/eic> eic.bugfix.RrX
      @@ -292,7 +336,7 @@ To do so, run the following:

      S9.1.1: Network Device Naming

      - Tip

      + Tip

      Modified from the LFS handbook: The interface names depend on the implementation and configuration of the udev daemon running on the system. The udev daemon for TylkoLinux (well, LFS) (systemd-udevd) will not run unless the TylkoLinux/LFS system is booted. So it's unreliable to determine the interface names being used in the TylkoLinux system by running those commands on the host distro, even though you are in the chroot environment.

      @@ -322,7 +366,7 @@ For most systems, there is only one network interface for each type of connectio

      S9.1.4: /etc/resolv.conf

      - Tip

      + Tip

      From the LFS handbook: If using methods incompatible with systemd-resolved to configure your network interfaces (ex: ppp, etc.), or if using any type of local resolver (ex: bind, dnsmasq, unbound, etc.), or any other software that generates an /etc/resolv.conf (ex: a resolvconf program other than the one provided by systemd), the systemd-resolved service should not be used.

      To switch settings about whether this should be allowed or not, run the command below ↓

      @@ -466,21 +510,34 @@ Update the GRUB config with the respective command.

      Hope you had as much fun following the guide as I did writing it!

      -
    - - - - +

    + +
    -

    raíz1.noho.st owns this website

    - -

    - Powered by Zola and Duckquill - -

    +
    +
    +

    Powered by Zola and Ametrine +

    +
    +
    +
    + +
    + + +
    +
    +
    +
    + + diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png index c4e013b..27bc1f8 100644 Binary files a/public/apple-touch-icon.png and b/public/apple-touch-icon.png differ diff --git a/public/audio-button.js b/public/audio-button.js new file mode 100644 index 0000000..ac2b5be --- /dev/null +++ b/public/audio-button.js @@ -0,0 +1,9 @@ +const audioButtons = document.querySelectorAll(".audio"); + +audioButtons.forEach(button => { + button.addEventListener("click", event => playAudio(button.dataset.audio)); +}); + +function playAudio(url) { + new Audio(url).play(); +} diff --git a/public/auto-render.min.js b/public/auto-render.min.js deleted file mode 100644 index cd2bb42..0000000 --- a/public/auto-render.min.js +++ /dev/null @@ -1 +0,0 @@ -!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(e){return function(){"use strict";var t={771:function(t){t.exports=e}},n={};function r(e){var o=n[e];if(void 0!==o)return o.exports;var i=n[e]={exports:{}};return t[e](i,i.exports,r),i.exports}r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};var o={};return function(){r.d(o,{default:function(){return d}});var e=r(771),t=r.n(e);const n=function(e,t,n){let r=n,o=0;const i=e.length;for(;re.left.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"))).join("|")+")");for(;r=e.search(a),-1!==r;){r>0&&(o.push({type:"text",data:e.slice(0,r)}),e=e.slice(r));const a=t.findIndex((t=>e.startsWith(t.left)));if(r=n(t[a].right,e,t[a].left.length),-1===r)break;const l=e.slice(0,r+t[a].right.length),s=i.test(l)?l:e.slice(t[a].left.length,r);o.push({type:"math",data:s,rawData:l,display:t[a].display}),e=e.slice(r+t[a].right.length)}return""!==e&&o.push({type:"text",data:e}),o};const l=function(e,n){const r=a(e,n.delimiters);if(1===r.length&&"text"===r[0].type)return null;const o=document.createDocumentFragment();for(let e=0;e-1===e.indexOf(" "+t+" ")))&&s(r,t)}}};var d=function(e,t){if(!e)throw new Error("No element provided to render");const n={};for(const e in t)t.hasOwnProperty(e)&&(n[e]=t[e]);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||{},s(e,n)}}(),o=o.default}()})); diff --git a/public/card.png b/public/card.png index c133a6d..d17647f 100644 Binary files a/public/card.png and b/public/card.png differ diff --git a/public/closable.js b/public/closable.js index dc90c3f..0390289 100644 --- a/public/closable.js +++ b/public/closable.js @@ -25,3 +25,17 @@ document.addEventListener("click", function (event) { }); } }); + +const toggleNavbar = document.getElementById("toggle-navbar"); +const siteNavbar = document.getElementById("site-navbar"); +const mainContent = document.getElementById("main-content"); + +toggleNavbar.addEventListener("change", () => { + if (toggleNavbar.checked) { + toggleSidebar.checked = false; + } +}); + +mainContent.addEventListener("click", () => { + if (toggleNavbar.checked) toggleNavbar.checked = false; +}); diff --git a/public/comments.js b/public/comments.js index 8c78d61..ef30a12 100644 --- a/public/comments.js +++ b/public/comments.js @@ -1,21 +1,18 @@ -// Taken from https://carlschwan.eu/2020/12/29/adding-comments-to-your-static-blog-with-mastodon/ -// Attachment, card, and spoiler code taken from https://github.com/cassidyjames/cassidyjames.github.io/blob/99782788a7e3ba3cc52d6803010873abd1b02b9e/_includes/comments.html#L251-L296 +// Based on https://carlschwan.eu/2020/12/29/adding-comments-to-your-static-blog-with-mastodon/ +// Attachment, card, and spoiler code is from https://github.com/cassidyjames/cassidyjames.github.io/blob/99782788a7e3ba3cc52d6803010873abd1b02b9e/_includes/comments.html#L251-L296 -let blogPostAuthorText = document.getElementById("blog-post-author-text").textContent; -let boostsFromText = document.getElementById("boosts-from-text").textContent; -let dateLocale = document.getElementById("date-locale").textContent; -let favesFromText = document.getElementById("faves-from-text").textContent; -let host = document.getElementById("host").textContent; -let id = document.getElementById("id").textContent; let lazyAsyncImage = document.getElementById("lazy-async-image").textContent; +let relAttributes = document.getElementById("rel-attributes").textContent; +let dateLocale = document.getElementById("date-locale").textContent; +let host = document.getElementById("host").textContent; +let user = document.getElementById("user").textContent; +let id = document.getElementById("id").textContent; + +let articleAuthorText = document.getElementById("article-author-text").textContent; let loadingText = document.getElementById("loading-text").textContent; let noCommentsText = document.getElementById("no-comments-text").textContent; -let relAttributes = document.getElementById("rel-attributes").textContent; let reloadText = document.getElementById("reload-text").textContent; let sensitiveText = document.getElementById("sensitive-text").textContent; -let user = document.getElementById("user").textContent; -let viewCommentText = document.getElementById("view-comment-text").textContent; -let viewProfileText = document.getElementById("view-profile-text").textContent; document.getElementById("load-comments").addEventListener("click", loadComments); @@ -25,8 +22,9 @@ function escapeHtml(unsafe) { .replace(//g, ">") .replace(/"/g, """) - .replace(/'/g, "'"); + .replace(/'/g, "'"); } + function emojify(input, emojis) { let output = input; @@ -40,8 +38,9 @@ function emojify(input, emojis) { let img = document.createElement("img"); img.className = "emoji"; img.setAttribute("src", escapeHtml(emoji.static_url)); - img.setAttribute("alt", `:${emoji.shortcode}:`); img.setAttribute("title", `:${emoji.shortcode}:`); + img.setAttribute("width", "24"); + img.setAttribute("height", "24"); if (lazyAsyncImage == "true") { img.setAttribute("decoding", "async"); img.setAttribute("loading", "lazy"); @@ -146,39 +145,24 @@ function loadComments() { avatar.className = "avatar-link"; avatar.setAttribute("href", status.account.url); avatar.setAttribute("rel", relAttributes); - avatar.setAttribute( - "title", - `${viewProfileText} @${status.account.username}@${instance}` - ); avatar.appendChild(avatarPicture); comment.appendChild(avatar); - let instanceBadge = document.createElement("a"); - instanceBadge.className = "instance"; - instanceBadge.setAttribute("href", status.account.url); - instanceBadge.setAttribute( - "title", - `@${status.account.username}@${instance}` - ); - instanceBadge.setAttribute("rel", relAttributes); - instanceBadge.textContent = instance; - - let display = document.createElement("span"); + let display = document.createElement("a"); display.className = "display"; + display.setAttribute("href", status.account.url); + display.setAttribute("rel", relAttributes); display.setAttribute("itemprop", "author"); display.setAttribute("itemtype", "http://schema.org/Person"); display.innerHTML = status.account.display_name; - let header = document.createElement("header"); - header.className = "author"; - header.appendChild(display); - header.appendChild(instanceBadge); - comment.appendChild(header); + let instanceBadge = document.createElement("span"); + instanceBadge.className = "instance"; + instanceBadge.textContent = `@${status.account.username}@${instance}`; let permalink = document.createElement("a"); permalink.setAttribute("href", status.url); permalink.setAttribute("itemprop", "url"); - permalink.setAttribute("title", `${viewCommentText} ${instance}`); permalink.setAttribute("rel", relAttributes); permalink.textContent = new Date( status.created_at @@ -189,9 +173,15 @@ function loadComments() { let timestamp = document.createElement("time"); timestamp.setAttribute("datetime", status.created_at); + timestamp.classList.add("timestamp"); timestamp.appendChild(permalink); permalink.classList.add("external"); - comment.appendChild(timestamp); + + let header = document.createElement("header"); + header.appendChild(display); + header.appendChild(instanceBadge); + header.appendChild(timestamp); + comment.appendChild(header); let main = document.createElement("main"); main.setAttribute("itemprop", "text"); @@ -232,7 +222,6 @@ function loadComments() { mediaElement.setAttribute("src", attachment.preview_url); if (attachment.description != null) { - mediaElement.setAttribute("alt", attachment.description); mediaElement.setAttribute("title", attachment.description); } @@ -254,7 +243,6 @@ function loadComments() { mediaElement.setAttribute("controls", ""); if (attachment.description != null) { - mediaElement.setAttribute("aria-title", attachment.description); mediaElement.setAttribute("title", attachment.description); } @@ -273,7 +261,6 @@ function loadComments() { mediaElement.setAttribute("loop", ""); if (attachment.description != null) { - mediaElement.setAttribute("aria-title", attachment.description); mediaElement.setAttribute("title", attachment.description); } @@ -290,7 +277,6 @@ function loadComments() { mediaElement.setAttribute("controls", ""); if (attachment.description != null) { - mediaElement.setAttribute("aria-title", attachment.description); mediaElement.setAttribute("title", attachment.description); } @@ -315,10 +301,9 @@ function loadComments() { let boosts = document.createElement("a"); boosts.className = "boosts"; boosts.setAttribute("href", `${status.url}/reblogs`); - boosts.setAttribute("title", `${boostsFromText}`.replace("$INSTANCE", instance)); let boostsIcon = document.createElement("i"); - boostsIcon.className = "icon"; + boostsIcon.classList.add("ph-bold", "ph-repeat"); boosts.appendChild(boostsIcon); boosts.insertAdjacentHTML('beforeend', ` ${status.reblogs_count}`); interactions.appendChild(boosts); @@ -326,13 +311,52 @@ function loadComments() { let faves = document.createElement("a"); faves.className = "faves"; faves.setAttribute("href", `${status.url}/favourites`); - faves.setAttribute("title", `${favesFromText}`.replace("$INSTANCE", instance)); let favesIcon = document.createElement("i"); - favesIcon.className = "icon"; + favesIcon.classList.add("ph-bold", "ph-star"); faves.appendChild(favesIcon); faves.insertAdjacentHTML('beforeend', ` ${status.favourites_count}`); interactions.appendChild(faves); + + if ( + status.reactions && + Array.isArray(status.reactions) && + status.reactions.length > 0 + ) { + let reactions = document.createElement("div"); + reactions.classList.add("reactions", "overshoot-row"); + + status.reactions.forEach(reaction => { + let reactionElement = document.createElement("span"); + reactionElement.className = "reaction"; + + if (reaction.url) { + // Custom emoji + let img = document.createElement("img"); + img.className = "emoji"; + img.setAttribute("src", escapeHtml(reaction.url)); + img.setAttribute("title", `${reaction.name}`); + img.setAttribute("width", "24"); + img.setAttribute("height", "24"); + reactionElement.appendChild(img); + } else { + // Unicode emoji + let emoji = document.createElement("span"); + emoji.textContent = reaction.name; + reactionElement.appendChild(emoji); + } + + // Append the count + let count = document.createElement("span"); + count.textContent = reaction.count; + reactionElement.appendChild(count); + + reactions.appendChild(reactionElement); + }); + + interactions.appendChild(reactions); + } + comment.appendChild(interactions); if (status.card != null) { @@ -370,21 +394,11 @@ function loadComments() { if (op === true) { comment.classList.add("op"); - - avatar.classList.add("op"); - avatar.setAttribute( - "title", - `${blogPostAuthorText}: ` + avatar.getAttribute("title") - ); - instanceBadge.classList.add("op"); - instanceBadge.setAttribute( - "title", - `${blogPostAuthorText}: ` + instanceBadge.getAttribute("title") - ); + instanceBadge.setAttribute("title", articleAuthorText); } - commentsWrapper.innerHTML += comment.outerHTML; + commentsWrapper.appendChild(comment); }); } diff --git a/public/copy-button.js b/public/copy-button.js index 1dd8406..7b01c18 100644 --- a/public/copy-button.js +++ b/public/copy-button.js @@ -10,18 +10,27 @@ document.addEventListener("DOMContentLoaded", function () { title.innerHTML = lang; // Copy button icon - let icon = document.createElement("i"); - icon.classList.add("icon"); + let iconCopy = document.createElement("i"); + iconCopy.classList.add("ph-bold", "ph-copy"); + + let iconCheck = document.createElement("i"); + iconCheck.classList.add("ph-bold", "ph-check-square-offset"); // Copy button let button = document.createElement("button"); let copyCodeText = document.getElementById("copy-code-text").textContent; - button.setAttribute("title", copyCodeText) - button.appendChild(icon); + button.setAttribute("title", copyCodeText); + button.appendChild(iconCopy); + button.appendChild(iconCheck); // Code block header let header = document.createElement("div"); header.classList.add("header"); + + if (block.classList.contains("z-code")) { + header.classList.add("z-code"); + } + header.appendChild(title); header.appendChild(button); @@ -35,7 +44,7 @@ document.addEventListener("DOMContentLoaded", function () { container.appendChild(block); button.addEventListener("click", async () => { - await copyCode(block, header, button); // Pass the button here + await copyCode(block, header, button); }); } }); diff --git a/public/count.js b/public/count.js deleted file mode 100644 index 88c5dfb..0000000 --- a/public/count.js +++ /dev/null @@ -1,271 +0,0 @@ -// GoatCounter: https://www.goatcounter.com -// This file is released under the ISC license: https://opensource.org/licenses/ISC -;(function() { - 'use strict'; - - if (window.goatcounter && window.goatcounter.vars) // Compatibility with very old version; do not use. - window.goatcounter = window.goatcounter.vars - else - window.goatcounter = window.goatcounter || {} - - // Load settings from data-goatcounter-settings. - var s = document.querySelector('script[data-goatcounter]') - if (s && s.dataset.goatcounterSettings) { - try { var set = JSON.parse(s.dataset.goatcounterSettings) } - catch (err) { console.error('invalid JSON in data-goatcounter-settings: ' + err) } - for (var k in set) - if (['no_onload', 'no_events', 'allow_local', 'allow_frame', 'path', 'title', 'referrer', 'event'].indexOf(k) > -1) - window.goatcounter[k] = set[k] - } - - var enc = encodeURIComponent - - // Get all data we're going to send off to the counter endpoint. - var get_data = function(vars) { - var data = { - p: (vars.path === undefined ? goatcounter.path : vars.path), - r: (vars.referrer === undefined ? goatcounter.referrer : vars.referrer), - t: (vars.title === undefined ? goatcounter.title : vars.title), - e: !!(vars.event || goatcounter.event), - s: [window.screen.width, window.screen.height, (window.devicePixelRatio || 1)], - b: is_bot(), - q: location.search, - } - - var rcb, pcb, tcb // Save callbacks to apply later. - if (typeof(data.r) === 'function') rcb = data.r - if (typeof(data.t) === 'function') tcb = data.t - if (typeof(data.p) === 'function') pcb = data.p - - if (is_empty(data.r)) data.r = document.referrer - if (is_empty(data.t)) data.t = document.title - if (is_empty(data.p)) data.p = get_path() - - if (rcb) data.r = rcb(data.r) - if (tcb) data.t = tcb(data.t) - if (pcb) data.p = pcb(data.p) - return data - } - - // Check if a value is "empty" for the purpose of get_data(). - var is_empty = function(v) { return v === null || v === undefined || typeof(v) === 'function' } - - // See if this looks like a bot; there is some additional filtering on the - // backend, but these properties can't be fetched from there. - var is_bot = function() { - // Headless browsers are probably a bot. - var w = window, d = document - if (w.callPhantom || w._phantom || w.phantom) - return 150 - if (w.__nightmare) - return 151 - if (d.__selenium_unwrapped || d.__webdriver_evaluate || d.__driver_evaluate) - return 152 - if (navigator.webdriver) - return 153 - return 0 - } - - // Object to urlencoded string, starting with a ?. - var urlencode = function(obj) { - var p = [] - for (var k in obj) - if (obj[k] !== '' && obj[k] !== null && obj[k] !== undefined && obj[k] !== false) - p.push(enc(k) + '=' + enc(obj[k])) - return '?' + p.join('&') - } - - // Show a warning in the console. - var warn = function(msg) { - if (console && 'warn' in console) - console.warn('goatcounter: ' + msg) - } - - // Get the endpoint to send requests to. - var get_endpoint = function() { - var s = document.querySelector('script[data-goatcounter]') - if (s && s.dataset.goatcounter) - return s.dataset.goatcounter - return (goatcounter.endpoint || window.counter) // counter is for compat; don't use. - } - - // Get current path. - var get_path = function() { - var loc = location, - c = document.querySelector('link[rel="canonical"][href]') - if (c) { // May be relative or point to different domain. - var a = document.createElement('a') - a.href = c.href - if (a.hostname.replace(/^www\./, '') === location.hostname.replace(/^www\./, '')) - loc = a - } - return (loc.pathname + loc.search) || '/' - } - - // Run function after DOM is loaded. - var on_load = function(f) { - if (document.body === null) - document.addEventListener('DOMContentLoaded', function() { f() }, false) - else - f() - } - - // Filter some requests that we (probably) don't want to count. - goatcounter.filter = function() { - if ('visibilityState' in document && document.visibilityState === 'prerender') - return 'visibilityState' - if (!goatcounter.allow_frame && location !== parent.location) - return 'frame' - if (!goatcounter.allow_local && location.hostname.match(/(localhost$|^127\.|^10\.|^172\.(1[6-9]|2[0-9]|3[0-1])\.|^192\.168\.|^0\.0\.0\.0$)/)) - return 'localhost' - if (!goatcounter.allow_local && location.protocol === 'file:') - return 'localfile' - if (localStorage && localStorage.getItem('skipgc') === 't') - return 'disabled with #toggle-goatcounter' - return false - } - - // Get URL to send to GoatCounter. - window.goatcounter.url = function(vars) { - var data = get_data(vars || {}) - if (data.p === null) // null from user callback. - return - data.rnd = Math.random().toString(36).substr(2, 5) // Browsers don't always listen to Cache-Control. - - var endpoint = get_endpoint() - if (!endpoint) - return warn('no endpoint found') - - return endpoint + urlencode(data) - } - - // Count a hit. - window.goatcounter.count = function(vars) { - var f = goatcounter.filter() - if (f) - return warn('not counting because of: ' + f) - var url = goatcounter.url(vars) - if (!url) - return warn('not counting because path callback returned null') - - if (!navigator.sendBeacon(url)) { - // This mostly fails due to being blocked by CSP; try again with an - // image-based fallback. - var img = document.createElement('img') - img.src = url - img.style.position = 'absolute' // Affect layout less. - img.style.bottom = '0px' - img.style.width = '1px' - img.style.height = '1px' - img.loading = 'eager' - img.setAttribute('alt', '') - img.setAttribute('aria-hidden', 'true') - - var rm = function() { if (img && img.parentNode) img.parentNode.removeChild(img) } - img.addEventListener('load', rm, false) - document.body.appendChild(img) - } - } - - // Get a query parameter. - window.goatcounter.get_query = function(name) { - var s = location.search.substr(1).split('&') - for (var i = 0; i < s.length; i++) - if (s[i].toLowerCase().indexOf(name.toLowerCase() + '=') === 0) - return s[i].substr(name.length + 1) - } - - // Track click events. - window.goatcounter.bind_events = function() { - if (!document.querySelectorAll) // Just in case someone uses an ancient browser. - return - - var send = function(elem) { - return function() { - goatcounter.count({ - event: true, - path: (elem.dataset.goatcounterClick || elem.name || elem.id || ''), - title: (elem.dataset.goatcounterTitle || elem.title || (elem.innerHTML || '').substr(0, 200) || ''), - referrer: (elem.dataset.goatcounterReferrer || elem.dataset.goatcounterReferral || ''), - }) - } - } - - Array.prototype.slice.call(document.querySelectorAll("*[data-goatcounter-click]")).forEach(function(elem) { - if (elem.dataset.goatcounterBound) - return - var f = send(elem) - elem.addEventListener('click', f, false) - elem.addEventListener('auxclick', f, false) // Middle click. - elem.dataset.goatcounterBound = 'true' - }) - } - - // Add a "visitor counter" frame or image. - window.goatcounter.visit_count = function(opt) { - on_load(function() { - opt = opt || {} - opt.type = opt.type || 'html' - opt.append = opt.append || 'body' - opt.path = opt.path || get_path() - opt.attr = opt.attr || {width: '200', height: (opt.no_branding ? '60' : '80')} - - opt.attr['src'] = get_endpoint() + 'er/' + enc(opt.path) + '.' + enc(opt.type) + '?' - if (opt.no_branding) opt.attr['src'] += '&no_branding=1' - if (opt.style) opt.attr['src'] += '&style=' + enc(opt.style) - if (opt.start) opt.attr['src'] += '&start=' + enc(opt.start) - if (opt.end) opt.attr['src'] += '&end=' + enc(opt.end) - - var tag = {png: 'img', svg: 'img', html: 'iframe'}[opt.type] - if (!tag) - return warn('visit_count: unknown type: ' + opt.type) - - if (opt.type === 'html') { - opt.attr['frameborder'] = '0' - opt.attr['scrolling'] = 'no' - } - - var d = document.createElement(tag) - for (var k in opt.attr) - d.setAttribute(k, opt.attr[k]) - - var p = document.querySelector(opt.append) - if (!p) - return warn('visit_count: append not found: ' + opt.append) - p.appendChild(d) - }) - } - - // Make it easy to skip your own views. - if (location.hash === '#toggle-goatcounter') { - if (localStorage.getItem('skipgc') === 't') { - localStorage.removeItem('skipgc', 't') - alert('GoatCounter tracking is now ENABLED in this browser.') - } - else { - localStorage.setItem('skipgc', 't') - alert('GoatCounter tracking is now DISABLED in this browser until ' + location + ' is loaded again.') - } - } - - if (!goatcounter.no_onload) - on_load(function() { - // 1. Page is visible, count request. - // 2. Page is not yet visible; wait until it switches to 'visible' and count. - // See #487 - if (!('visibilityState' in document) || document.visibilityState === 'visible') - goatcounter.count() - else { - var f = function(e) { - if (document.visibilityState !== 'visible') - return - document.removeEventListener('visibilitychange', f) - goatcounter.count() - } - document.addEventListener('visibilitychange', f) - } - - if (!goatcounter.no_events) - goatcounter.bind_events() - }) -})(); diff --git a/public/favicon.png b/public/favicon.png index 7c4e467..a0decbf 100644 Binary files a/public/favicon.png and b/public/favicon.png differ diff --git a/public/floaties.js b/public/floaties.js new file mode 100644 index 0000000..5170108 --- /dev/null +++ b/public/floaties.js @@ -0,0 +1,24 @@ +document.addEventListener("DOMContentLoaded", () => { + const floaties = document.getElementById("floaties"); + if (!floaties) return; + + let lastScrollY = 0; + + const handleScroll = () => { + const currentScrollY = window.scrollY; + + if (currentScrollY > lastScrollY) { + setTimeout(() => { + floaties.classList.add("hidden"); + }, 300); + } else { + setTimeout(() => { + floaties.classList.remove("hidden"); + }, 400); + } + + lastScrollY = currentScrollY; + }; + + window.addEventListener("scroll", handleScroll); +}); diff --git a/public/fonts.css b/public/fonts.css deleted file mode 100644 index 615268a..0000000 --- a/public/fonts.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-style:normal;font-weight:100 900;src:url("fonts/InterVariable.woff2") format("woff2");font-family:"Inter Variable";font-display:swap}@font-face{font-style:italic;font-weight:100 900;src:url("fonts/InterVariable-Italic.woff2") format("woff2");font-family:"Inter Variable";font-display:swap}@font-face{font-style:normal;font-weight:100 900;src:url("fonts/JetBrainsMono.woff2") format("woff2");font-family:"JetBrains Mono";font-display:swap}@font-face{font-style:italic;font-weight:100 900;src:url("fonts/JetBrainsMono-Italic.woff2") format("woff2");font-family:"JetBrains Mono";font-display:swap}body{font-family:"Inter Variable",var(--font-system-ui),var(--font-emoji)}h1,h2,h3,h4,h5,h6{font-weight:bold;font-family:"Inter Variable",var(--font-system-ui),var(--font-emoji)}h1{font-weight:900}pre,code,kbd,samp{font-family:"JetBrains Mono",var(--font-monospace-code)} \ No newline at end of file diff --git a/public/fonts/InterVariable-Italic.woff2 b/public/fonts/InterVariable-Italic.woff2 deleted file mode 100644 index b3530f3..0000000 Binary files a/public/fonts/InterVariable-Italic.woff2 and /dev/null differ diff --git a/public/fonts/InterVariable.woff2 b/public/fonts/InterVariable.woff2 deleted file mode 100644 index 5a8d3e7..0000000 Binary files a/public/fonts/InterVariable.woff2 and /dev/null differ diff --git a/public/fonts/JetBrainsMono-Italic.woff2 b/public/fonts/JetBrainsMono-Italic.woff2 deleted file mode 100644 index 9545a7c..0000000 Binary files a/public/fonts/JetBrainsMono-Italic.woff2 and /dev/null differ diff --git a/public/fonts/JetBrainsMono.woff2 b/public/fonts/JetBrainsMono.woff2 deleted file mode 100644 index 3e95240..0000000 Binary files a/public/fonts/JetBrainsMono.woff2 and /dev/null differ diff --git a/public/fonts/KaTeX_AMS-Regular.woff2 b/public/fonts/KaTeX_AMS-Regular.woff2 deleted file mode 100644 index 0acaaff..0000000 Binary files a/public/fonts/KaTeX_AMS-Regular.woff2 and /dev/null differ diff --git a/public/fonts/KaTeX_Caligraphic-Bold.woff2 b/public/fonts/KaTeX_Caligraphic-Bold.woff2 deleted file mode 100644 index f390922..0000000 Binary files a/public/fonts/KaTeX_Caligraphic-Bold.woff2 and /dev/null differ diff --git a/public/fonts/KaTeX_Caligraphic-Regular.woff2 b/public/fonts/KaTeX_Caligraphic-Regular.woff2 deleted file mode 100644 index 75344a1..0000000 Binary files a/public/fonts/KaTeX_Caligraphic-Regular.woff2 and /dev/null differ diff --git a/public/fonts/KaTeX_Fraktur-Bold.woff2 b/public/fonts/KaTeX_Fraktur-Bold.woff2 deleted file mode 100644 index 395f28b..0000000 Binary files a/public/fonts/KaTeX_Fraktur-Bold.woff2 and /dev/null differ diff --git a/public/fonts/KaTeX_Fraktur-Regular.woff2 b/public/fonts/KaTeX_Fraktur-Regular.woff2 deleted file mode 100644 index 735f694..0000000 Binary files a/public/fonts/KaTeX_Fraktur-Regular.woff2 and /dev/null differ diff --git a/public/fonts/KaTeX_Main-Bold.woff2 b/public/fonts/KaTeX_Main-Bold.woff2 deleted file mode 100644 index ab2ad21..0000000 Binary files a/public/fonts/KaTeX_Main-Bold.woff2 and /dev/null differ diff --git a/public/fonts/KaTeX_Main-BoldItalic.woff2 b/public/fonts/KaTeX_Main-BoldItalic.woff2 deleted file mode 100644 index 5931794..0000000 Binary files a/public/fonts/KaTeX_Main-BoldItalic.woff2 and /dev/null differ diff --git a/public/fonts/KaTeX_Main-Italic.woff2 b/public/fonts/KaTeX_Main-Italic.woff2 deleted file mode 100644 index b50920e..0000000 Binary files a/public/fonts/KaTeX_Main-Italic.woff2 and /dev/null differ diff --git a/public/fonts/KaTeX_Main-Regular.woff2 b/public/fonts/KaTeX_Main-Regular.woff2 deleted file mode 100644 index eb24a7b..0000000 Binary files a/public/fonts/KaTeX_Main-Regular.woff2 and /dev/null differ diff --git a/public/fonts/KaTeX_Math-BoldItalic.woff2 b/public/fonts/KaTeX_Math-BoldItalic.woff2 deleted file mode 100644 index 2965702..0000000 Binary files a/public/fonts/KaTeX_Math-BoldItalic.woff2 and /dev/null differ diff --git a/public/fonts/KaTeX_Math-Italic.woff2 b/public/fonts/KaTeX_Math-Italic.woff2 deleted file mode 100644 index 215c143..0000000 Binary files a/public/fonts/KaTeX_Math-Italic.woff2 and /dev/null differ diff --git a/public/fonts/KaTeX_SansSerif-Bold.woff2 b/public/fonts/KaTeX_SansSerif-Bold.woff2 deleted file mode 100644 index cfaa3bd..0000000 Binary files a/public/fonts/KaTeX_SansSerif-Bold.woff2 and /dev/null differ diff --git a/public/fonts/KaTeX_SansSerif-Italic.woff2 b/public/fonts/KaTeX_SansSerif-Italic.woff2 deleted file mode 100644 index 349c06d..0000000 Binary files a/public/fonts/KaTeX_SansSerif-Italic.woff2 and /dev/null differ diff --git a/public/fonts/KaTeX_SansSerif-Regular.woff2 b/public/fonts/KaTeX_SansSerif-Regular.woff2 deleted file mode 100644 index a90eea8..0000000 Binary files a/public/fonts/KaTeX_SansSerif-Regular.woff2 and /dev/null differ diff --git a/public/fonts/KaTeX_Script-Regular.woff2 b/public/fonts/KaTeX_Script-Regular.woff2 deleted file mode 100644 index b3048fc..0000000 Binary files a/public/fonts/KaTeX_Script-Regular.woff2 and /dev/null differ diff --git a/public/fonts/KaTeX_Size1-Regular.woff2 b/public/fonts/KaTeX_Size1-Regular.woff2 deleted file mode 100644 index c5a8462..0000000 Binary files a/public/fonts/KaTeX_Size1-Regular.woff2 and /dev/null differ diff --git a/public/fonts/KaTeX_Size2-Regular.woff2 b/public/fonts/KaTeX_Size2-Regular.woff2 deleted file mode 100644 index e1bccfe..0000000 Binary files a/public/fonts/KaTeX_Size2-Regular.woff2 and /dev/null differ diff --git a/public/fonts/KaTeX_Size3-Regular.woff2 b/public/fonts/KaTeX_Size3-Regular.woff2 deleted file mode 100644 index 249a286..0000000 Binary files a/public/fonts/KaTeX_Size3-Regular.woff2 and /dev/null differ diff --git a/public/fonts/KaTeX_Size4-Regular.woff2 b/public/fonts/KaTeX_Size4-Regular.woff2 deleted file mode 100644 index 680c130..0000000 Binary files a/public/fonts/KaTeX_Size4-Regular.woff2 and /dev/null differ diff --git a/public/fonts/KaTeX_Typewriter-Regular.woff2 b/public/fonts/KaTeX_Typewriter-Regular.woff2 deleted file mode 100644 index 771f1af..0000000 Binary files a/public/fonts/KaTeX_Typewriter-Regular.woff2 and /dev/null differ diff --git a/public/fonts/geist-mono.woff2 b/public/fonts/geist-mono.woff2 new file mode 100644 index 0000000..dae0037 Binary files /dev/null and b/public/fonts/geist-mono.woff2 differ diff --git a/public/fonts/geist.woff2 b/public/fonts/geist.woff2 new file mode 100644 index 0000000..6fd61c4 Binary files /dev/null and b/public/fonts/geist.woff2 differ diff --git a/public/fonts/phosphor-bold.woff2 b/public/fonts/phosphor-bold.woff2 new file mode 100644 index 0000000..e4ed8f2 Binary files /dev/null and b/public/fonts/phosphor-bold.woff2 differ diff --git a/public/fuse.js b/public/fuse.js deleted file mode 100644 index 1f534ad..0000000 --- a/public/fuse.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * Fuse.js v7.0.0 - Lightweight fuzzy-search (http://fusejs.io) - * - * Copyright (c) 2023 Kiro Risk (http://kiro.me) - * All Rights Reserved. Apache Software License 2.0 - * - * http://www.apache.org/licenses/LICENSE-2.0 - */ -var e,t;e=this,t=function(){"use strict";function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function t(t){for(var n=1;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{},n=t.getFn,i=void 0===n?$.getFn:n,o=t.fieldNormWeight,c=void 0===o?$.fieldNormWeight:o;r(this,e),this.norm=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,n=new Map,r=Math.pow(10,t);return{get:function(t){var i=t.match(F).length;if(n.has(i))return n.get(i);var o=1/Math.pow(i,.5*e),c=parseFloat(Math.round(o*r)/r);return n.set(i,c),c},clear:function(){n.clear()}}}(c,3),this.getFn=i,this.isCreated=!1,this.setIndexRecords()}return o(e,[{key:"setSources",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.docs=e}},{key:"setIndexRecords",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.records=e}},{key:"setKeys",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.keys=t,this._keysMap={},t.forEach((function(t,n){e._keysMap[t.id]=n}))}},{key:"create",value:function(){var e=this;!this.isCreated&&this.docs.length&&(this.isCreated=!0,m(this.docs[0])?this.docs.forEach((function(t,n){e._addString(t,n)})):this.docs.forEach((function(t,n){e._addObject(t,n)})),this.norm.clear())}},{key:"add",value:function(e){var t=this.size();m(e)?this._addString(e,t):this._addObject(e,t)}},{key:"removeAt",value:function(e){this.records.splice(e,1);for(var t=e,n=this.size();t2&&void 0!==arguments[2]?arguments[2]:{},r=n.getFn,i=void 0===r?$.getFn:r,o=n.fieldNormWeight,c=void 0===o?$.fieldNormWeight:o,a=new R({getFn:i,fieldNormWeight:c});return a.setKeys(e.map(A)),a.setSources(t),a.create(),a}function N(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.errors,r=void 0===n?0:n,i=t.currentLocation,o=void 0===i?0:i,c=t.expectedLocation,a=void 0===c?0:c,s=t.distance,u=void 0===s?$.distance:s,h=t.ignoreLocation,l=void 0===h?$.ignoreLocation:h,f=r/e.length;if(l)return f;var d=Math.abs(a-o);return u?f+d/u:d?1:f}var W=32;function T(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=r.location,o=void 0===i?$.location:i,c=r.distance,a=void 0===c?$.distance:c,s=r.threshold,u=void 0===s?$.threshold:s,h=r.findAllMatches,l=void 0===h?$.findAllMatches:h,f=r.minMatchCharLength,d=void 0===f?$.minMatchCharLength:f,v=r.includeMatches,g=void 0===v?$.includeMatches:v,y=r.ignoreLocation,p=void 0===y?$.ignoreLocation:y;if(t.length>W)throw new Error("Pattern length exceeds max of ".concat(W,"."));for(var m,k=t.length,M=e.length,b=Math.max(0,Math.min(o,M)),x=u,w=b,S=d>1||g,L=S?Array(M):[];(m=e.indexOf(t,w))>-1;){var _=N(t,{currentLocation:m,expectedLocation:b,distance:a,ignoreLocation:p});if(x=Math.min(_,x),w=m+k,S)for(var O=0;O=P;D-=1){var K=D-1,q=n[e.charAt(K)];if(S&&(L[K]=+!!q),z[D]=(z[D+1]<<1|1)&q,E&&(z[D]|=(j[D+1]|j[D])<<1|1|j[D+1]),z[D]&C&&(A=N(t,{errors:E,currentLocation:K,expectedLocation:b,distance:a,ignoreLocation:p}))<=x){if(x=A,(w=K)<=b)break;P=Math.max(1,2*b-w)}}if(N(t,{errors:E+1,currentLocation:b,expectedLocation:b,distance:a,ignoreLocation:p})>x)break;j=z}var B={isMatch:w>=0,score:Math.max(.001,A)};if(S){var J=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.minMatchCharLength,n=[],r=-1,i=-1,o=0,c=e.length;o=t&&n.push([r,i]),r=-1)}return e[o-1]&&o-r>=t&&n.push([r,o-1]),n}(L,d);J.length?g&&(B.indices=J):B.isMatch=!1}return B}function z(e){for(var t={},n=0,r=e.length;n1&&void 0!==arguments[1]?arguments[1]:{},o=i.location,c=void 0===o?$.location:o,a=i.threshold,s=void 0===a?$.threshold:a,u=i.distance,h=void 0===u?$.distance:u,l=i.includeMatches,f=void 0===l?$.includeMatches:l,d=i.findAllMatches,v=void 0===d?$.findAllMatches:d,g=i.minMatchCharLength,y=void 0===g?$.minMatchCharLength:g,p=i.isCaseSensitive,m=void 0===p?$.isCaseSensitive:p,k=i.ignoreLocation,M=void 0===k?$.ignoreLocation:k;if(r(this,e),this.options={location:c,threshold:s,distance:h,includeMatches:f,findAllMatches:v,minMatchCharLength:y,isCaseSensitive:m,ignoreLocation:M},this.pattern=m?t:t.toLowerCase(),this.chunks=[],this.pattern.length){var b=function(e,t){n.chunks.push({pattern:e,alphabet:z(e),startIndex:t})},x=this.pattern.length;if(x>W){for(var w=0,S=x%W,L=x-S;w1&&void 0!==arguments[1]?arguments[1]:{},c=o.location,a=void 0===c?$.location:c,s=o.threshold,u=void 0===s?$.threshold:s,h=o.distance,l=void 0===h?$.distance:h,f=o.includeMatches,d=void 0===f?$.includeMatches:f,v=o.findAllMatches,g=void 0===v?$.findAllMatches:v,y=o.minMatchCharLength,p=void 0===y?$.minMatchCharLength:y,m=o.isCaseSensitive,k=void 0===m?$.isCaseSensitive:m,M=o.ignoreLocation,b=void 0===M?$.ignoreLocation:M;return r(this,n),(i=t.call(this,e))._bitapSearch=new D(e,{location:a,threshold:u,distance:l,includeMatches:d,findAllMatches:g,minMatchCharLength:p,isCaseSensitive:k,ignoreLocation:b}),i}return o(n,[{key:"search",value:function(e){return this._bitapSearch.searchIn(e)}}],[{key:"type",get:function(){return"fuzzy"}},{key:"multiRegex",get:function(){return/^"(.*)"$/}},{key:"singleRegex",get:function(){return/^(.*)$/}}]),n}(K),X=function(e){a(n,e);var t=l(n);function n(e){return r(this,n),t.call(this,e)}return o(n,[{key:"search",value:function(e){for(var t,n=0,r=[],i=this.pattern.length;(t=e.indexOf(this.pattern,n))>-1;)n=t+i,r.push([t,n-1]);var o=!!r.length;return{isMatch:o,score:o?0:1,indices:r}}}],[{key:"type",get:function(){return"include"}},{key:"multiRegex",get:function(){return/^'"(.*)"$/}},{key:"singleRegex",get:function(){return/^'(.*)$/}}]),n}(K),Y=[B,X,U,V,H,G,J,Q],Z=Y.length,ee=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,te=new Set([Q.type,X.type]),ne=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=n.isCaseSensitive,o=void 0===i?$.isCaseSensitive:i,c=n.includeMatches,a=void 0===c?$.includeMatches:c,s=n.minMatchCharLength,u=void 0===s?$.minMatchCharLength:s,h=n.ignoreLocation,l=void 0===h?$.ignoreLocation:h,f=n.findAllMatches,d=void 0===f?$.findAllMatches:f,v=n.location,g=void 0===v?$.location:v,y=n.threshold,p=void 0===y?$.threshold:y,m=n.distance,k=void 0===m?$.distance:m;r(this,e),this.query=null,this.options={isCaseSensitive:o,includeMatches:a,minMatchCharLength:u,findAllMatches:d,ignoreLocation:l,location:g,threshold:p,distance:k},this.pattern=o?t:t.toLowerCase(),this.query=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.split("|").map((function(e){for(var n=e.trim().split(ee).filter((function(e){return e&&!!e.trim()})),r=[],i=0,o=n.length;i2&&void 0!==arguments[2]?arguments[2]:{}).auto,r=void 0===n||n;return ue(e)||(e=he(e)),function e(n){var i=Object.keys(n),o=function(e){return!!e[ae]}(n);if(!o&&i.length>1&&!ue(n))return e(he(n));if(function(e){return!g(e)&&b(e)&&!ue(e)}(n)){var c=o?n[ae]:i[0],a=o?n[se]:n[c];if(!m(a))throw new Error(function(e){return"Invalid value for key ".concat(e)}(c));var s={keyId:C(c),pattern:a};return r&&(s.searcher=ie(a,t)),s}var u={children:[],operator:i[0]};return i.forEach((function(t){var r=n[t];g(r)&&r.forEach((function(t){u.children.push(e(t))}))})),u}(e)}function fe(e,t){var n=e.matches;t.matches=[],x(n)&&n.forEach((function(e){if(x(e.indices)&&e.indices.length){var n={indices:e.indices,value:e.value};e.key&&(n.key=e.key.src),e.idx>-1&&(n.refIndex=e.idx),t.matches.push(n)}}))}function de(e,t){t.score=e.score}var ve=function(){function e(n){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2?arguments[2]:void 0;r(this,e),this.options=t(t({},$),i),this.options.useExtendedSearch,this._keyStore=new j(this.options.keys),this.setCollection(n,o)}return o(e,[{key:"setCollection",value:function(e,t){if(this._docs=e,t&&!(t instanceof R))throw new Error("Incorrect 'index' type");this._myIndex=t||P(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}},{key:"add",value:function(e){x(e)&&(this._docs.push(e),this._myIndex.add(e))}},{key:"remove",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){return!1},t=[],n=0,r=this._docs.length;n1&&void 0!==arguments[1]?arguments[1]:{}).limit,n=void 0===t?-1:t,r=this.options,i=r.includeMatches,o=r.includeScore,c=r.shouldSort,a=r.sortFn,s=r.ignoreFieldNorm,u=m(e)?m(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e);return function(e,t){var n=t.ignoreFieldNorm,r=void 0===n?$.ignoreFieldNorm:n;e.forEach((function(e){var t=1;e.matches.forEach((function(e){var n=e.key,i=e.norm,o=e.score,c=n?n.weight:null;t*=Math.pow(0===o&&c?Number.EPSILON:o,(c||1)*(r?1:i))})),e.score=t}))}(u,{ignoreFieldNorm:s}),c&&u.sort(a),k(n)&&n>-1&&(u=u.slice(0,n)),function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.includeMatches,i=void 0===r?$.includeMatches:r,o=n.includeScore,c=void 0===o?$.includeScore:o,a=[];return i&&a.push(fe),c&&a.push(de),e.map((function(e){var n=e.idx,r={item:t[n],refIndex:n};return a.length&&a.forEach((function(t){t(e,r)})),r}))}(u,this._docs,{includeMatches:i,includeScore:o})}},{key:"_searchStringList",value:function(e){var t=ie(e,this.options),n=this._myIndex.records,r=[];return n.forEach((function(e){var n=e.v,i=e.i,o=e.n;if(x(n)){var c=t.searchIn(n),a=c.isMatch,s=c.score,u=c.indices;a&&r.push({item:n,idx:i,matches:[{score:s,value:n,norm:o,indices:u}]})}})),r}},{key:"_searchLogical",value:function(e){var t=this,n=le(e,this.options),r=function e(n,r,i){if(!n.children){var o=n.keyId,c=n.searcher,a=t._findMatches({key:t._keyStore.get(o),value:t._myIndex.getValueForItemAtKeyId(r,o),searcher:c});return a&&a.length?[{idx:i,item:r,matches:a}]:[]}for(var s=[],u=0,h=n.children.length;u1&&void 0!==arguments[1]?arguments[1]:{},n=t.getFn,r=void 0===n?$.getFn:n,i=t.fieldNormWeight,o=void 0===i?$.fieldNormWeight:i,c=e.keys,a=e.records,s=new R({getFn:r,fieldNormWeight:o});return s.setKeys(c),s.setIndexRecords(a),s},ve.config=$,function(){re.push.apply(re,arguments)}(ne),ve},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Fuse=t(); \ No newline at end of file diff --git a/public/index.html b/public/index.html index e33f857..cc591f0 100644 --- a/public/index.html +++ b/public/index.html @@ -1,88 +1,134 @@ + + - + - - + + RSCC - + - - + + - - + + + + + + + + + + - + + + + + - + - - -
    - - -

    RootSourceCC

    -

    Welcome to RootSourceCC! You could technically call this: "The child of Raíz1, Icycoide and Costmiku"

    +
  • + + Articles +
  • +
  • + + Alpsource +
  • +
  • + + Hajiku/Costkey +
  • +
  • + + Estellabin +
  • + + + + + +
    + +

    Home - RootSourceCC

    Welcome to RootSourceCC! You could technically call this: "The child of Raíz1, Icycoide and Costmiku"

    With the ownership by Raíz1, hosted on and also being in charge of Costmiku, and hosting Icycoide's stuff!

    -

    Links:

    - +

    Proud to say, we are the third website to transition from Duckquill to Ametrine!

    -Raíz1 - Icycoide 2025.

    - - - - +
    -

    raíz1.noho.st owns this website

    - -

    - Powered by Zola and Duckquill - -

    +
    +
    +

    Powered by Zola and Ametrine +

    +
    +
    +
    + +
    + + +
    +
    +
    +
    + + diff --git a/public/katex-init.js b/public/katex-init.js deleted file mode 100644 index 00d02dc..0000000 --- a/public/katex-init.js +++ /dev/null @@ -1,8 +0,0 @@ -document.addEventListener("DOMContentLoaded", function () { - renderMathInElement(document.body, { - delimiters: [ - { left: "$$", right: "$$", display: true }, - { left: "$", right: "$", display: false }, - ], - }); -}); diff --git a/public/katex.css b/public/katex.css deleted file mode 100644 index 99863ad..0000000 --- a/public/katex.css +++ /dev/null @@ -1,1209 +0,0 @@ -/* stylelint-disable font-family-no-missing-generic-family-keyword */ -@font-face { - font-family: "KaTeX_AMS"; - src: url(fonts/KaTeX_AMS-Regular.woff2) format("woff2"); - font-weight: normal; - font-style: normal; -} -@font-face { - font-family: "KaTeX_Caligraphic"; - src: url(fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"); - font-weight: bold; - font-style: normal; -} -@font-face { - font-family: "KaTeX_Caligraphic"; - src: url(fonts/KaTeX_Caligraphic-Regular.woff2) format("woff2"); - font-weight: normal; - font-style: normal; -} -@font-face { - font-family: "KaTeX_Fraktur"; - src: url(fonts/KaTeX_Fraktur-Bold.woff2) format("woff2"); - font-weight: bold; - font-style: normal; -} -@font-face { - font-family: "KaTeX_Fraktur"; - src: url(fonts/KaTeX_Fraktur-Regular.woff2) format("woff2"); - font-weight: normal; - font-style: normal; -} -@font-face { - font-family: "KaTeX_Main"; - src: url(fonts/KaTeX_Main-Bold.woff2) format("woff2"); - font-weight: bold; - font-style: normal; -} -@font-face { - font-family: "KaTeX_Main"; - src: url(fonts/KaTeX_Main-BoldItalic.woff2) format("woff2"); - font-weight: bold; - font-style: italic; -} -@font-face { - font-family: "KaTeX_Main"; - src: url(fonts/KaTeX_Main-Italic.woff2) format("woff2"); - font-weight: normal; - font-style: italic; -} -@font-face { - font-family: "KaTeX_Main"; - src: url(fonts/KaTeX_Main-Regular.woff2) format("woff2"); - font-weight: normal; - font-style: normal; -} -@font-face { - font-family: "KaTeX_Math"; - src: url(fonts/KaTeX_Math-BoldItalic.woff2) format("woff2"); - font-weight: bold; - font-style: italic; -} -@font-face { - font-family: "KaTeX_Math"; - src: url(fonts/KaTeX_Math-Italic.woff2) format("woff2"); - font-weight: normal; - font-style: italic; -} -@font-face { - font-family: "KaTeX_SansSerif"; - src: url(fonts/KaTeX_SansSerif-Bold.woff2) format("woff2"); - font-weight: bold; - font-style: normal; -} -@font-face { - font-family: "KaTeX_SansSerif"; - src: url(fonts/KaTeX_SansSerif-Italic.woff2) format("woff2"); - font-weight: normal; - font-style: italic; -} -@font-face { - font-family: "KaTeX_SansSerif"; - src: url(fonts/KaTeX_SansSerif-Regular.woff2) format("woff2"); - font-weight: normal; - font-style: normal; -} -@font-face { - font-family: "KaTeX_Script"; - src: url(fonts/KaTeX_Script-Regular.woff2) format("woff2"); - font-weight: normal; - font-style: normal; -} -@font-face { - font-family: "KaTeX_Size1"; - src: url(fonts/KaTeX_Size1-Regular.woff2) format("woff2"); - font-weight: normal; - font-style: normal; -} -@font-face { - font-family: "KaTeX_Size2"; - src: url(fonts/KaTeX_Size2-Regular.woff2) format("woff2"); - font-weight: normal; - font-style: normal; -} -@font-face { - font-family: "KaTeX_Size3"; - src: url(fonts/KaTeX_Size3-Regular.woff2) format("woff2"); - font-weight: normal; - font-style: normal; -} -@font-face { - font-family: "KaTeX_Size4"; - src: url(fonts/KaTeX_Size4-Regular.woff2) format("woff2"); - font-weight: normal; - font-style: normal; -} -@font-face { - font-family: "KaTeX_Typewriter"; - src: url(fonts/KaTeX_Typewriter-Regular.woff2) format("woff2"); - font-weight: normal; - font-style: normal; -} -.katex { - font: normal 1.21em KaTeX_Main, Times New Roman, serif; - line-height: 1.2; - text-indent: 0; - text-rendering: auto; -} -.katex * { - -ms-high-contrast-adjust: none !important; -} -.katex * { - border-color: currentColor; -} -.katex .katex-version::after { - content: "0.16.11"; -} -.katex .katex-mathml { - /* Accessibility hack to only show to screen readers - Found at: http://a11yproject.com/posts/how-to-hide-content/ */ - position: absolute; - clip: rect(1px, 1px, 1px, 1px); - padding: 0; - border: 0; - height: 1px; - width: 1px; - overflow: hidden; -} -.katex .katex-html { - /* \newline is an empty block at top level, between .base elements */ -} -.katex .katex-html > .newline { - display: block; -} -.katex .base { - position: relative; - display: inline-block; - white-space: nowrap; - width: -webkit-min-content; - width: -moz-min-content; - width: min-content; -} -.katex .strut { - display: inline-block; -} -.katex .textbf { - font-weight: bold; -} -.katex .textit { - font-style: italic; -} -.katex .textrm { - font-family: KaTeX_Main; -} -.katex .textsf { - font-family: KaTeX_SansSerif; -} -.katex .texttt { - font-family: KaTeX_Typewriter; -} -.katex .mathnormal { - font-family: KaTeX_Math; - font-style: italic; -} -.katex .mathit { - font-family: KaTeX_Main; - font-style: italic; -} -.katex .mathrm { - font-style: normal; -} -.katex .mathbf { - font-family: KaTeX_Main; - font-weight: bold; -} -.katex .boldsymbol { - font-family: KaTeX_Math; - font-weight: bold; - font-style: italic; -} -.katex .amsrm { - font-family: KaTeX_AMS; -} -.katex .mathbb, -.katex .textbb { - font-family: KaTeX_AMS; -} -.katex .mathcal { - font-family: KaTeX_Caligraphic; -} -.katex .mathfrak, -.katex .textfrak { - font-family: KaTeX_Fraktur; -} -.katex .mathboldfrak, -.katex .textboldfrak { - font-family: KaTeX_Fraktur; - font-weight: bold; -} -.katex .mathtt { - font-family: KaTeX_Typewriter; -} -.katex .mathscr, -.katex .textscr { - font-family: KaTeX_Script; -} -.katex .mathsf, -.katex .textsf { - font-family: KaTeX_SansSerif; -} -.katex .mathboldsf, -.katex .textboldsf { - font-family: KaTeX_SansSerif; - font-weight: bold; -} -.katex .mathitsf, -.katex .textitsf { - font-family: KaTeX_SansSerif; - font-style: italic; -} -.katex .mainrm { - font-family: KaTeX_Main; - font-style: normal; -} -.katex .vlist-t { - display: inline-table; - table-layout: fixed; - border-collapse: collapse; -} -.katex .vlist-r { - display: table-row; -} -.katex .vlist { - display: table-cell; - vertical-align: bottom; - position: relative; -} -.katex .vlist > span { - display: block; - height: 0; - position: relative; -} -.katex .vlist > span > span { - display: inline-block; -} -.katex .vlist > span > .pstrut { - overflow: hidden; - width: 0; -} -.katex .vlist-t2 { - margin-right: -2px; -} -.katex .vlist-s { - display: table-cell; - vertical-align: bottom; - font-size: 1px; - width: 2px; - min-width: 2px; -} -.katex .vbox { - display: inline-flex; - flex-direction: column; - align-items: baseline; -} -.katex .hbox { - display: inline-flex; - flex-direction: row; - width: 100%; -} -.katex .thinbox { - display: inline-flex; - flex-direction: row; - width: 0; - max-width: 0; -} -.katex .msupsub { - text-align: left; -} -.katex .mfrac > span > span { - text-align: center; -} -.katex .mfrac .frac-line { - display: inline-block; - width: 100%; - border-bottom-style: solid; -} -.katex .mfrac .frac-line, -.katex .overline .overline-line, -.katex .underline .underline-line, -.katex .hline, -.katex .hdashline, -.katex .rule { - min-height: 1px; -} -.katex .mspace { - display: inline-block; -} -.katex .llap, -.katex .rlap, -.katex .clap { - width: 0; - position: relative; -} -.katex .llap > .inner, -.katex .rlap > .inner, -.katex .clap > .inner { - position: absolute; -} -.katex .llap > .fix, -.katex .rlap > .fix, -.katex .clap > .fix { - display: inline-block; -} -.katex .llap > .inner { - right: 0; -} -.katex .rlap > .inner, -.katex .clap > .inner { - left: 0; -} -.katex .clap > .inner > span { - margin-left: -50%; - margin-right: 50%; -} -.katex .rule { - display: inline-block; - border: solid 0; - position: relative; -} -.katex .overline .overline-line, -.katex .underline .underline-line, -.katex .hline { - display: inline-block; - width: 100%; - border-bottom-style: solid; -} -.katex .hdashline { - display: inline-block; - width: 100%; - border-bottom-style: dashed; -} -.katex .sqrt > .root { - /* These values are taken from the definition of `\r@@t`, - `\mkern 5mu` and `\mkern -10mu`. */ - margin-left: 0.2777777778em; - margin-right: -0.5555555556em; -} -.katex .sizing.reset-size1.size1, -.katex .fontsize-ensurer.reset-size1.size1 { - /* stylelint-disable-next-line */ - font-size: 1em; -} -.katex .sizing.reset-size1.size2, -.katex .fontsize-ensurer.reset-size1.size2 { - /* stylelint-disable-next-line */ - font-size: 1.2em; -} -.katex .sizing.reset-size1.size3, -.katex .fontsize-ensurer.reset-size1.size3 { - /* stylelint-disable-next-line */ - font-size: 1.4em; -} -.katex .sizing.reset-size1.size4, -.katex .fontsize-ensurer.reset-size1.size4 { - /* stylelint-disable-next-line */ - font-size: 1.6em; -} -.katex .sizing.reset-size1.size5, -.katex .fontsize-ensurer.reset-size1.size5 { - /* stylelint-disable-next-line */ - font-size: 1.8em; -} -.katex .sizing.reset-size1.size6, -.katex .fontsize-ensurer.reset-size1.size6 { - /* stylelint-disable-next-line */ - font-size: 2em; -} -.katex .sizing.reset-size1.size7, -.katex .fontsize-ensurer.reset-size1.size7 { - /* stylelint-disable-next-line */ - font-size: 2.4em; -} -.katex .sizing.reset-size1.size8, -.katex .fontsize-ensurer.reset-size1.size8 { - /* stylelint-disable-next-line */ - font-size: 2.88em; -} -.katex .sizing.reset-size1.size9, -.katex .fontsize-ensurer.reset-size1.size9 { - /* stylelint-disable-next-line */ - font-size: 3.456em; -} -.katex .sizing.reset-size1.size10, -.katex .fontsize-ensurer.reset-size1.size10 { - /* stylelint-disable-next-line */ - font-size: 4.148em; -} -.katex .sizing.reset-size1.size11, -.katex .fontsize-ensurer.reset-size1.size11 { - /* stylelint-disable-next-line */ - font-size: 4.976em; -} -.katex .sizing.reset-size2.size1, -.katex .fontsize-ensurer.reset-size2.size1 { - /* stylelint-disable-next-line */ - font-size: 0.8333333333em; -} -.katex .sizing.reset-size2.size2, -.katex .fontsize-ensurer.reset-size2.size2 { - /* stylelint-disable-next-line */ - font-size: 1em; -} -.katex .sizing.reset-size2.size3, -.katex .fontsize-ensurer.reset-size2.size3 { - /* stylelint-disable-next-line */ - font-size: 1.1666666667em; -} -.katex .sizing.reset-size2.size4, -.katex .fontsize-ensurer.reset-size2.size4 { - /* stylelint-disable-next-line */ - font-size: 1.3333333333em; -} -.katex .sizing.reset-size2.size5, -.katex .fontsize-ensurer.reset-size2.size5 { - /* stylelint-disable-next-line */ - font-size: 1.5em; -} -.katex .sizing.reset-size2.size6, -.katex .fontsize-ensurer.reset-size2.size6 { - /* stylelint-disable-next-line */ - font-size: 1.6666666667em; -} -.katex .sizing.reset-size2.size7, -.katex .fontsize-ensurer.reset-size2.size7 { - /* stylelint-disable-next-line */ - font-size: 2em; -} -.katex .sizing.reset-size2.size8, -.katex .fontsize-ensurer.reset-size2.size8 { - /* stylelint-disable-next-line */ - font-size: 2.4em; -} -.katex .sizing.reset-size2.size9, -.katex .fontsize-ensurer.reset-size2.size9 { - /* stylelint-disable-next-line */ - font-size: 2.88em; -} -.katex .sizing.reset-size2.size10, -.katex .fontsize-ensurer.reset-size2.size10 { - /* stylelint-disable-next-line */ - font-size: 3.4566666667em; -} -.katex .sizing.reset-size2.size11, -.katex .fontsize-ensurer.reset-size2.size11 { - /* stylelint-disable-next-line */ - font-size: 4.1466666667em; -} -.katex .sizing.reset-size3.size1, -.katex .fontsize-ensurer.reset-size3.size1 { - /* stylelint-disable-next-line */ - font-size: 0.7142857143em; -} -.katex .sizing.reset-size3.size2, -.katex .fontsize-ensurer.reset-size3.size2 { - /* stylelint-disable-next-line */ - font-size: 0.8571428571em; -} -.katex .sizing.reset-size3.size3, -.katex .fontsize-ensurer.reset-size3.size3 { - /* stylelint-disable-next-line */ - font-size: 1em; -} -.katex .sizing.reset-size3.size4, -.katex .fontsize-ensurer.reset-size3.size4 { - /* stylelint-disable-next-line */ - font-size: 1.1428571429em; -} -.katex .sizing.reset-size3.size5, -.katex .fontsize-ensurer.reset-size3.size5 { - /* stylelint-disable-next-line */ - font-size: 1.2857142857em; -} -.katex .sizing.reset-size3.size6, -.katex .fontsize-ensurer.reset-size3.size6 { - /* stylelint-disable-next-line */ - font-size: 1.4285714286em; -} -.katex .sizing.reset-size3.size7, -.katex .fontsize-ensurer.reset-size3.size7 { - /* stylelint-disable-next-line */ - font-size: 1.7142857143em; -} -.katex .sizing.reset-size3.size8, -.katex .fontsize-ensurer.reset-size3.size8 { - /* stylelint-disable-next-line */ - font-size: 2.0571428571em; -} -.katex .sizing.reset-size3.size9, -.katex .fontsize-ensurer.reset-size3.size9 { - /* stylelint-disable-next-line */ - font-size: 2.4685714286em; -} -.katex .sizing.reset-size3.size10, -.katex .fontsize-ensurer.reset-size3.size10 { - /* stylelint-disable-next-line */ - font-size: 2.9628571429em; -} -.katex .sizing.reset-size3.size11, -.katex .fontsize-ensurer.reset-size3.size11 { - /* stylelint-disable-next-line */ - font-size: 3.5542857143em; -} -.katex .sizing.reset-size4.size1, -.katex .fontsize-ensurer.reset-size4.size1 { - /* stylelint-disable-next-line */ - font-size: 0.625em; -} -.katex .sizing.reset-size4.size2, -.katex .fontsize-ensurer.reset-size4.size2 { - /* stylelint-disable-next-line */ - font-size: 0.75em; -} -.katex .sizing.reset-size4.size3, -.katex .fontsize-ensurer.reset-size4.size3 { - /* stylelint-disable-next-line */ - font-size: 0.875em; -} -.katex .sizing.reset-size4.size4, -.katex .fontsize-ensurer.reset-size4.size4 { - /* stylelint-disable-next-line */ - font-size: 1em; -} -.katex .sizing.reset-size4.size5, -.katex .fontsize-ensurer.reset-size4.size5 { - /* stylelint-disable-next-line */ - font-size: 1.125em; -} -.katex .sizing.reset-size4.size6, -.katex .fontsize-ensurer.reset-size4.size6 { - /* stylelint-disable-next-line */ - font-size: 1.25em; -} -.katex .sizing.reset-size4.size7, -.katex .fontsize-ensurer.reset-size4.size7 { - /* stylelint-disable-next-line */ - font-size: 1.5em; -} -.katex .sizing.reset-size4.size8, -.katex .fontsize-ensurer.reset-size4.size8 { - /* stylelint-disable-next-line */ - font-size: 1.8em; -} -.katex .sizing.reset-size4.size9, -.katex .fontsize-ensurer.reset-size4.size9 { - /* stylelint-disable-next-line */ - font-size: 2.16em; -} -.katex .sizing.reset-size4.size10, -.katex .fontsize-ensurer.reset-size4.size10 { - /* stylelint-disable-next-line */ - font-size: 2.5925em; -} -.katex .sizing.reset-size4.size11, -.katex .fontsize-ensurer.reset-size4.size11 { - /* stylelint-disable-next-line */ - font-size: 3.11em; -} -.katex .sizing.reset-size5.size1, -.katex .fontsize-ensurer.reset-size5.size1 { - /* stylelint-disable-next-line */ - font-size: 0.5555555556em; -} -.katex .sizing.reset-size5.size2, -.katex .fontsize-ensurer.reset-size5.size2 { - /* stylelint-disable-next-line */ - font-size: 0.6666666667em; -} -.katex .sizing.reset-size5.size3, -.katex .fontsize-ensurer.reset-size5.size3 { - /* stylelint-disable-next-line */ - font-size: 0.7777777778em; -} -.katex .sizing.reset-size5.size4, -.katex .fontsize-ensurer.reset-size5.size4 { - /* stylelint-disable-next-line */ - font-size: 0.8888888889em; -} -.katex .sizing.reset-size5.size5, -.katex .fontsize-ensurer.reset-size5.size5 { - /* stylelint-disable-next-line */ - font-size: 1em; -} -.katex .sizing.reset-size5.size6, -.katex .fontsize-ensurer.reset-size5.size6 { - /* stylelint-disable-next-line */ - font-size: 1.1111111111em; -} -.katex .sizing.reset-size5.size7, -.katex .fontsize-ensurer.reset-size5.size7 { - /* stylelint-disable-next-line */ - font-size: 1.3333333333em; -} -.katex .sizing.reset-size5.size8, -.katex .fontsize-ensurer.reset-size5.size8 { - /* stylelint-disable-next-line */ - font-size: 1.6em; -} -.katex .sizing.reset-size5.size9, -.katex .fontsize-ensurer.reset-size5.size9 { - /* stylelint-disable-next-line */ - font-size: 1.92em; -} -.katex .sizing.reset-size5.size10, -.katex .fontsize-ensurer.reset-size5.size10 { - /* stylelint-disable-next-line */ - font-size: 2.3044444444em; -} -.katex .sizing.reset-size5.size11, -.katex .fontsize-ensurer.reset-size5.size11 { - /* stylelint-disable-next-line */ - font-size: 2.7644444444em; -} -.katex .sizing.reset-size6.size1, -.katex .fontsize-ensurer.reset-size6.size1 { - /* stylelint-disable-next-line */ - font-size: 0.5em; -} -.katex .sizing.reset-size6.size2, -.katex .fontsize-ensurer.reset-size6.size2 { - /* stylelint-disable-next-line */ - font-size: 0.6em; -} -.katex .sizing.reset-size6.size3, -.katex .fontsize-ensurer.reset-size6.size3 { - /* stylelint-disable-next-line */ - font-size: 0.7em; -} -.katex .sizing.reset-size6.size4, -.katex .fontsize-ensurer.reset-size6.size4 { - /* stylelint-disable-next-line */ - font-size: 0.8em; -} -.katex .sizing.reset-size6.size5, -.katex .fontsize-ensurer.reset-size6.size5 { - /* stylelint-disable-next-line */ - font-size: 0.9em; -} -.katex .sizing.reset-size6.size6, -.katex .fontsize-ensurer.reset-size6.size6 { - /* stylelint-disable-next-line */ - font-size: 1em; -} -.katex .sizing.reset-size6.size7, -.katex .fontsize-ensurer.reset-size6.size7 { - /* stylelint-disable-next-line */ - font-size: 1.2em; -} -.katex .sizing.reset-size6.size8, -.katex .fontsize-ensurer.reset-size6.size8 { - /* stylelint-disable-next-line */ - font-size: 1.44em; -} -.katex .sizing.reset-size6.size9, -.katex .fontsize-ensurer.reset-size6.size9 { - /* stylelint-disable-next-line */ - font-size: 1.728em; -} -.katex .sizing.reset-size6.size10, -.katex .fontsize-ensurer.reset-size6.size10 { - /* stylelint-disable-next-line */ - font-size: 2.074em; -} -.katex .sizing.reset-size6.size11, -.katex .fontsize-ensurer.reset-size6.size11 { - /* stylelint-disable-next-line */ - font-size: 2.488em; -} -.katex .sizing.reset-size7.size1, -.katex .fontsize-ensurer.reset-size7.size1 { - /* stylelint-disable-next-line */ - font-size: 0.4166666667em; -} -.katex .sizing.reset-size7.size2, -.katex .fontsize-ensurer.reset-size7.size2 { - /* stylelint-disable-next-line */ - font-size: 0.5em; -} -.katex .sizing.reset-size7.size3, -.katex .fontsize-ensurer.reset-size7.size3 { - /* stylelint-disable-next-line */ - font-size: 0.5833333333em; -} -.katex .sizing.reset-size7.size4, -.katex .fontsize-ensurer.reset-size7.size4 { - /* stylelint-disable-next-line */ - font-size: 0.6666666667em; -} -.katex .sizing.reset-size7.size5, -.katex .fontsize-ensurer.reset-size7.size5 { - /* stylelint-disable-next-line */ - font-size: 0.75em; -} -.katex .sizing.reset-size7.size6, -.katex .fontsize-ensurer.reset-size7.size6 { - /* stylelint-disable-next-line */ - font-size: 0.8333333333em; -} -.katex .sizing.reset-size7.size7, -.katex .fontsize-ensurer.reset-size7.size7 { - /* stylelint-disable-next-line */ - font-size: 1em; -} -.katex .sizing.reset-size7.size8, -.katex .fontsize-ensurer.reset-size7.size8 { - /* stylelint-disable-next-line */ - font-size: 1.2em; -} -.katex .sizing.reset-size7.size9, -.katex .fontsize-ensurer.reset-size7.size9 { - /* stylelint-disable-next-line */ - font-size: 1.44em; -} -.katex .sizing.reset-size7.size10, -.katex .fontsize-ensurer.reset-size7.size10 { - /* stylelint-disable-next-line */ - font-size: 1.7283333333em; -} -.katex .sizing.reset-size7.size11, -.katex .fontsize-ensurer.reset-size7.size11 { - /* stylelint-disable-next-line */ - font-size: 2.0733333333em; -} -.katex .sizing.reset-size8.size1, -.katex .fontsize-ensurer.reset-size8.size1 { - /* stylelint-disable-next-line */ - font-size: 0.3472222222em; -} -.katex .sizing.reset-size8.size2, -.katex .fontsize-ensurer.reset-size8.size2 { - /* stylelint-disable-next-line */ - font-size: 0.4166666667em; -} -.katex .sizing.reset-size8.size3, -.katex .fontsize-ensurer.reset-size8.size3 { - /* stylelint-disable-next-line */ - font-size: 0.4861111111em; -} -.katex .sizing.reset-size8.size4, -.katex .fontsize-ensurer.reset-size8.size4 { - /* stylelint-disable-next-line */ - font-size: 0.5555555556em; -} -.katex .sizing.reset-size8.size5, -.katex .fontsize-ensurer.reset-size8.size5 { - /* stylelint-disable-next-line */ - font-size: 0.625em; -} -.katex .sizing.reset-size8.size6, -.katex .fontsize-ensurer.reset-size8.size6 { - /* stylelint-disable-next-line */ - font-size: 0.6944444444em; -} -.katex .sizing.reset-size8.size7, -.katex .fontsize-ensurer.reset-size8.size7 { - /* stylelint-disable-next-line */ - font-size: 0.8333333333em; -} -.katex .sizing.reset-size8.size8, -.katex .fontsize-ensurer.reset-size8.size8 { - /* stylelint-disable-next-line */ - font-size: 1em; -} -.katex .sizing.reset-size8.size9, -.katex .fontsize-ensurer.reset-size8.size9 { - /* stylelint-disable-next-line */ - font-size: 1.2em; -} -.katex .sizing.reset-size8.size10, -.katex .fontsize-ensurer.reset-size8.size10 { - /* stylelint-disable-next-line */ - font-size: 1.4402777778em; -} -.katex .sizing.reset-size8.size11, -.katex .fontsize-ensurer.reset-size8.size11 { - /* stylelint-disable-next-line */ - font-size: 1.7277777778em; -} -.katex .sizing.reset-size9.size1, -.katex .fontsize-ensurer.reset-size9.size1 { - /* stylelint-disable-next-line */ - font-size: 0.2893518519em; -} -.katex .sizing.reset-size9.size2, -.katex .fontsize-ensurer.reset-size9.size2 { - /* stylelint-disable-next-line */ - font-size: 0.3472222222em; -} -.katex .sizing.reset-size9.size3, -.katex .fontsize-ensurer.reset-size9.size3 { - /* stylelint-disable-next-line */ - font-size: 0.4050925926em; -} -.katex .sizing.reset-size9.size4, -.katex .fontsize-ensurer.reset-size9.size4 { - /* stylelint-disable-next-line */ - font-size: 0.462962963em; -} -.katex .sizing.reset-size9.size5, -.katex .fontsize-ensurer.reset-size9.size5 { - /* stylelint-disable-next-line */ - font-size: 0.5208333333em; -} -.katex .sizing.reset-size9.size6, -.katex .fontsize-ensurer.reset-size9.size6 { - /* stylelint-disable-next-line */ - font-size: 0.5787037037em; -} -.katex .sizing.reset-size9.size7, -.katex .fontsize-ensurer.reset-size9.size7 { - /* stylelint-disable-next-line */ - font-size: 0.6944444444em; -} -.katex .sizing.reset-size9.size8, -.katex .fontsize-ensurer.reset-size9.size8 { - /* stylelint-disable-next-line */ - font-size: 0.8333333333em; -} -.katex .sizing.reset-size9.size9, -.katex .fontsize-ensurer.reset-size9.size9 { - /* stylelint-disable-next-line */ - font-size: 1em; -} -.katex .sizing.reset-size9.size10, -.katex .fontsize-ensurer.reset-size9.size10 { - /* stylelint-disable-next-line */ - font-size: 1.2002314815em; -} -.katex .sizing.reset-size9.size11, -.katex .fontsize-ensurer.reset-size9.size11 { - /* stylelint-disable-next-line */ - font-size: 1.4398148148em; -} -.katex .sizing.reset-size10.size1, -.katex .fontsize-ensurer.reset-size10.size1 { - /* stylelint-disable-next-line */ - font-size: 0.2410800386em; -} -.katex .sizing.reset-size10.size2, -.katex .fontsize-ensurer.reset-size10.size2 { - /* stylelint-disable-next-line */ - font-size: 0.2892960463em; -} -.katex .sizing.reset-size10.size3, -.katex .fontsize-ensurer.reset-size10.size3 { - /* stylelint-disable-next-line */ - font-size: 0.337512054em; -} -.katex .sizing.reset-size10.size4, -.katex .fontsize-ensurer.reset-size10.size4 { - /* stylelint-disable-next-line */ - font-size: 0.3857280617em; -} -.katex .sizing.reset-size10.size5, -.katex .fontsize-ensurer.reset-size10.size5 { - /* stylelint-disable-next-line */ - font-size: 0.4339440694em; -} -.katex .sizing.reset-size10.size6, -.katex .fontsize-ensurer.reset-size10.size6 { - /* stylelint-disable-next-line */ - font-size: 0.4821600771em; -} -.katex .sizing.reset-size10.size7, -.katex .fontsize-ensurer.reset-size10.size7 { - /* stylelint-disable-next-line */ - font-size: 0.5785920926em; -} -.katex .sizing.reset-size10.size8, -.katex .fontsize-ensurer.reset-size10.size8 { - /* stylelint-disable-next-line */ - font-size: 0.6943105111em; -} -.katex .sizing.reset-size10.size9, -.katex .fontsize-ensurer.reset-size10.size9 { - /* stylelint-disable-next-line */ - font-size: 0.8331726133em; -} -.katex .sizing.reset-size10.size10, -.katex .fontsize-ensurer.reset-size10.size10 { - /* stylelint-disable-next-line */ - font-size: 1em; -} -.katex .sizing.reset-size10.size11, -.katex .fontsize-ensurer.reset-size10.size11 { - /* stylelint-disable-next-line */ - font-size: 1.1996142719em; -} -.katex .sizing.reset-size11.size1, -.katex .fontsize-ensurer.reset-size11.size1 { - /* stylelint-disable-next-line */ - font-size: 0.2009646302em; -} -.katex .sizing.reset-size11.size2, -.katex .fontsize-ensurer.reset-size11.size2 { - /* stylelint-disable-next-line */ - font-size: 0.2411575563em; -} -.katex .sizing.reset-size11.size3, -.katex .fontsize-ensurer.reset-size11.size3 { - /* stylelint-disable-next-line */ - font-size: 0.2813504823em; -} -.katex .sizing.reset-size11.size4, -.katex .fontsize-ensurer.reset-size11.size4 { - /* stylelint-disable-next-line */ - font-size: 0.3215434084em; -} -.katex .sizing.reset-size11.size5, -.katex .fontsize-ensurer.reset-size11.size5 { - /* stylelint-disable-next-line */ - font-size: 0.3617363344em; -} -.katex .sizing.reset-size11.size6, -.katex .fontsize-ensurer.reset-size11.size6 { - /* stylelint-disable-next-line */ - font-size: 0.4019292605em; -} -.katex .sizing.reset-size11.size7, -.katex .fontsize-ensurer.reset-size11.size7 { - /* stylelint-disable-next-line */ - font-size: 0.4823151125em; -} -.katex .sizing.reset-size11.size8, -.katex .fontsize-ensurer.reset-size11.size8 { - /* stylelint-disable-next-line */ - font-size: 0.578778135em; -} -.katex .sizing.reset-size11.size9, -.katex .fontsize-ensurer.reset-size11.size9 { - /* stylelint-disable-next-line */ - font-size: 0.6945337621em; -} -.katex .sizing.reset-size11.size10, -.katex .fontsize-ensurer.reset-size11.size10 { - /* stylelint-disable-next-line */ - font-size: 0.8336012862em; -} -.katex .sizing.reset-size11.size11, -.katex .fontsize-ensurer.reset-size11.size11 { - /* stylelint-disable-next-line */ - font-size: 1em; -} -.katex .delimsizing.size1 { - font-family: KaTeX_Size1; -} -.katex .delimsizing.size2 { - font-family: KaTeX_Size2; -} -.katex .delimsizing.size3 { - font-family: KaTeX_Size3; -} -.katex .delimsizing.size4 { - font-family: KaTeX_Size4; -} -.katex .delimsizing.mult .delim-size1 > span { - font-family: KaTeX_Size1; -} -.katex .delimsizing.mult .delim-size4 > span { - font-family: KaTeX_Size4; -} -.katex .nulldelimiter { - display: inline-block; - width: 0.12em; -} -.katex .delimcenter { - position: relative; -} -.katex .op-symbol { - position: relative; -} -.katex .op-symbol.small-op { - font-family: KaTeX_Size1; -} -.katex .op-symbol.large-op { - font-family: KaTeX_Size2; -} -.katex .op-limits > .vlist-t { - text-align: center; -} -.katex .accent > .vlist-t { - text-align: center; -} -.katex .accent .accent-body { - position: relative; -} -.katex .accent .accent-body:not(.accent-full) { - width: 0; -} -.katex .overlay { - display: block; -} -.katex .mtable .vertical-separator { - display: inline-block; - min-width: 1px; -} -.katex .mtable .arraycolsep { - display: inline-block; -} -.katex .mtable .col-align-c > .vlist-t { - text-align: center; -} -.katex .mtable .col-align-l > .vlist-t { - text-align: left; -} -.katex .mtable .col-align-r > .vlist-t { - text-align: right; -} -.katex .svg-align { - text-align: left; -} -.katex svg { - display: block; - position: absolute; - width: 100%; - height: inherit; - fill: currentColor; - stroke: currentColor; - fill-rule: nonzero; - fill-opacity: 1; - stroke-width: 1; - stroke-linecap: butt; - stroke-linejoin: miter; - stroke-miterlimit: 4; - stroke-dasharray: none; - stroke-dashoffset: 0; - stroke-opacity: 1; -} -.katex svg path { - stroke: none; -} -.katex img { - border-style: none; - min-width: 0; - min-height: 0; - max-width: none; - max-height: none; -} -.katex .stretchy { - width: 100%; - display: block; - position: relative; - overflow: hidden; -} -.katex .stretchy::before, .katex .stretchy::after { - content: ""; -} -.katex .hide-tail { - width: 100%; - position: relative; - overflow: hidden; -} -.katex .halfarrow-left { - position: absolute; - left: 0; - width: 50.2%; - overflow: hidden; -} -.katex .halfarrow-right { - position: absolute; - right: 0; - width: 50.2%; - overflow: hidden; -} -.katex .brace-left { - position: absolute; - left: 0; - width: 25.1%; - overflow: hidden; -} -.katex .brace-center { - position: absolute; - left: 25%; - width: 50%; - overflow: hidden; -} -.katex .brace-right { - position: absolute; - right: 0; - width: 25.1%; - overflow: hidden; -} -.katex .x-arrow-pad { - padding: 0 0.5em; -} -.katex .cd-arrow-pad { - padding: 0 0.55556em 0 0.27778em; -} -.katex .x-arrow, -.katex .mover, -.katex .munder { - text-align: center; -} -.katex .boxpad { - padding: 0 0.3em; -} -.katex .fbox, -.katex .fcolorbox { - box-sizing: border-box; - border: 0.04em solid; -} -.katex .cancel-pad { - padding: 0 0.2em; -} -.katex .cancel-lap { - margin-left: -0.2em; - margin-right: -0.2em; -} -.katex .sout { - border-bottom-style: solid; - border-bottom-width: 0.08em; -} -.katex .angl { - box-sizing: border-box; - border-top: 0.049em solid; - border-right: 0.049em solid; - margin-right: 0.03889em; -} -.katex .anglpad { - padding: 0 0.03889em; -} -.katex .eqn-num::before { - counter-increment: katexEqnNo; - content: "(" counter(katexEqnNo) ")"; -} -.katex .mml-eqn-num::before { - counter-increment: mmlEqnNo; - content: "(" counter(mmlEqnNo) ")"; -} -.katex .mtr-glue { - width: 50%; -} -.katex .cd-vert-arrow { - display: inline-block; - position: relative; -} -.katex .cd-label-left { - display: inline-block; - position: absolute; - right: calc(50% + 0.3em); - text-align: left; -} -.katex .cd-label-right { - display: inline-block; - position: absolute; - left: calc(50% + 0.3em); - text-align: right; -} - -.katex-display { - display: block; - margin: 1em 0; - text-align: center; -} -.katex-display > .katex { - display: block; - text-align: center; - white-space: nowrap; -} -.katex-display > .katex > .katex-html { - display: block; - position: relative; -} -.katex-display > .katex > .katex-html > .tag { - position: absolute; - right: 0; -} - -.katex-display.leqno > .katex > .katex-html > .tag { - left: 0; - right: auto; -} - -.katex-display.fleqn > .katex { - text-align: left; - padding-left: 2em; -} - -body { - counter-reset: katexEqnNo mmlEqnNo; -} diff --git a/public/katex.min.js b/public/katex.min.js deleted file mode 100644 index 3817b64..0000000 --- a/public/katex.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(){return function(){"use strict";var e={d:function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{default:function(){return Yn}});class r{constructor(e,t){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;let n,o,s="KaTeX parse error: "+e;const i=t&&t.loc;if(i&&i.start<=i.end){const e=i.lexer.input;n=i.start,o=i.end,n===e.length?s+=" at end of input: ":s+=" at position "+(n+1)+": ";const t=e.slice(n,o).replace(/[^]/g,"$&\u0332");let r,a;r=n>15?"\u2026"+e.slice(n-15,n):e.slice(0,n),a=o+15":">","<":"<",'"':""","'":"'"},i=/[&><"']/g;const a=function(e){return"ordgroup"===e.type||"color"===e.type?1===e.body.length?a(e.body[0]):e:"font"===e.type?a(e.body):e};var l={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(i,(e=>s[e]))},hyphenate:function(e){return e.replace(o,"-$1").toLowerCase()},getBaseElem:a,isCharacterBox:function(e){const t=a(e);return"mathord"===t.type||"textord"===t.type||"atom"===t.type},protocolFromUrl:function(e){const t=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return t?":"!==t[2]?null:/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?t[1].toLowerCase():null:"_relative"}};const h={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 "},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 ",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:e=>"#"+e},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(e,t)=>(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:e=>Math.max(0,e),cli:"--min-rule-thickness ",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:e=>Math.max(0,e),cli:"-s, --max-size ",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:e=>Math.max(0,e),cli:"-e, --max-expand ",cliProcessor:e=>"Infinity"===e?1/0:parseInt(e)},globalGroup:{type:"boolean",cli:!1}};function c(e){if(e.default)return e.default;const t=e.type,r=Array.isArray(t)?t[0]:t;if("string"!=typeof r)return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class m{constructor(e){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{};for(const t in h)if(h.hasOwnProperty(t)){const r=h[t];this[t]=void 0!==e[t]?r.processor?r.processor(e[t]):e[t]:c(r)}}reportNonstrict(e,t,r){let o=this.strict;if("function"==typeof o&&(o=o(e,t,r)),o&&"ignore"!==o){if(!0===o||"error"===o)throw new n("LaTeX-incompatible input and strict mode is set to 'error': "+t+" ["+e+"]",r);"warn"===o?"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 '"+o+"': "+t+" ["+e+"]")}}useStrictBehavior(e,t,r){let 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+"]"),!1):("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+n+"': "+t+" ["+e+"]"),!1)))}isTrusted(e){if(e.url&&!e.protocol){const t=l.protocolFromUrl(e.url);if(null==t)return!1;e.protocol=t}const t="function"==typeof this.trust?this.trust(e):this.trust;return Boolean(t)}}class p{constructor(e,t,r){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=r}sup(){return u[d[this.id]]}sub(){return u[g[this.id]]}fracNum(){return u[f[this.id]]}fracDen(){return u[b[this.id]]}cramp(){return u[y[this.id]]}text(){return u[x[this.id]]}isTight(){return this.size>=2}}const u=[new p(0,0,!1),new p(1,0,!0),new p(2,1,!1),new p(3,1,!0),new p(4,2,!1),new p(5,2,!0),new p(6,3,!1),new p(7,3,!0)],d=[4,5,4,5,6,7,6,7],g=[5,5,5,5,7,7,7,7],f=[2,3,4,5,6,7,6,7],b=[3,3,5,5,7,7,7,7],y=[1,1,3,3,5,5,7,7],x=[0,1,2,3,2,3,2,3];var w={DISPLAY:u[0],TEXT:u[2],SCRIPT:u[4],SCRIPTSCRIPT:u[6]};const v=[{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]]}];const k=[];function S(e){for(let t=0;t=k[t]&&e<=k[t+1])return!0;return!1}v.forEach((e=>e.blocks.forEach((e=>k.push(...e)))));const M=80,z={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"};class A{constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return l.contains(this.classes,e)}toNode(){const e=document.createDocumentFragment();for(let t=0;te.toText())).join("")}}var T={"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]}};const B={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]},C={"\xc5":"A","\xd0":"D","\xde":"o","\xe5":"a","\xf0":"d","\xfe":"o","\u0410":"A","\u0411":"B","\u0412":"B","\u0413":"F","\u0414":"A","\u0415":"E","\u0416":"K","\u0417":"3","\u0418":"N","\u0419":"N","\u041a":"K","\u041b":"N","\u041c":"M","\u041d":"H","\u041e":"O","\u041f":"N","\u0420":"P","\u0421":"C","\u0422":"T","\u0423":"y","\u0424":"O","\u0425":"X","\u0426":"U","\u0427":"h","\u0428":"W","\u0429":"W","\u042a":"B","\u042b":"X","\u042c":"B","\u042d":"3","\u042e":"X","\u042f":"R","\u0430":"a","\u0431":"b","\u0432":"a","\u0433":"r","\u0434":"y","\u0435":"e","\u0436":"m","\u0437":"e","\u0438":"n","\u0439":"n","\u043a":"n","\u043b":"n","\u043c":"m","\u043d":"n","\u043e":"o","\u043f":"n","\u0440":"p","\u0441":"c","\u0442":"o","\u0443":"y","\u0444":"b","\u0445":"x","\u0446":"n","\u0447":"n","\u0448":"w","\u0449":"w","\u044a":"a","\u044b":"m","\u044c":"a","\u044d":"e","\u044e":"m","\u044f":"r"};function N(e,t,r){if(!T[t])throw new Error("Font metrics not found for font: "+t+".");let n=e.charCodeAt(0),o=T[t][n];if(!o&&e[0]in C&&(n=C[e[0]].charCodeAt(0),o=T[t][n]),o||"text"!==r||S(n)&&(o=T[t][77]),o)return{depth:o[0],height:o[1],italic:o[2],skew:o[3],width:o[4]}}const q={};const I=[[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]],R=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],H=function(e,t){return t.size<2?e:I[e-1][t.size-1]};class O{constructor(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||O.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=R[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){const t={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(const r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);return new O(t)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:H(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:R[e-1]})}havingBaseStyle(e){e=e||this.style.text();const t=H(O.BASESIZE,e);return this.size===t&&this.textSize===O.BASESIZE&&this.style===e?this:this.extend({style:e,size:t})}havingBaseSizing(){let e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==O.BASESIZE?["sizing","reset-size"+this.size,"size"+O.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=function(e){let t;if(t=e>=5?0:e>=3?1:2,!q[t]){const e=q[t]={cssEmPerMu:B.quad[t]/18};for(const r in B)B.hasOwnProperty(r)&&(e[r]=B[r][t])}return q[t]}(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}O.BASESIZE=6;var E=O;const L={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},D={ex:!0,em:!0,mu:!0},V=function(e){return"string"!=typeof e&&(e=e.unit),e in L||e in D||"ex"===e},P=function(e,t){let r;if(e.unit in L)r=L[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if("mu"===e.unit)r=t.fontMetrics().cssEmPerMu;else{let o;if(o=t.style.isTight()?t.havingStyle(t.style.text()):t,"ex"===e.unit)r=o.fontMetrics().xHeight;else{if("em"!==e.unit)throw new n("Invalid unit: '"+e.unit+"'");r=o.fontMetrics().quad}o!==t&&(r*=o.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*r,t.maxSize)},F=function(e){return+e.toFixed(4)+"em"},G=function(e){return e.filter((e=>e)).join(" ")},U=function(e,t,r){if(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");const e=t.getColor();e&&(this.style.color=e)}},Y=function(e){const t=document.createElement(e);t.className=G(this.classes);for(const e in this.style)this.style.hasOwnProperty(e)&&(t.style[e]=this.style[e]);for(const e in this.attributes)this.attributes.hasOwnProperty(e)&&t.setAttribute(e,this.attributes[e]);for(let e=0;e",t};class W{constructor(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,U.call(this,e,r,n),this.children=t||[]}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return l.contains(this.classes,e)}toNode(){return Y.call(this,"span")}toMarkup(){return X.call(this,"span")}}class _{constructor(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,U.call(this,t,n),this.children=r||[],this.setAttribute("href",e)}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return l.contains(this.classes,e)}toNode(){return Y.call(this,"a")}toMarkup(){return X.call(this,"a")}}class j{constructor(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}hasClass(e){return l.contains(this.classes,e)}toNode(){const e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(const t in this.style)this.style.hasOwnProperty(t)&&(e.style[t]=this.style[t]);return e}toMarkup(){let e=''+l.escape(this.alt)+'=n[0]&&e<=n[1])return r.name}}return null}(this.text.charCodeAt(0));l&&this.classes.push(l+"_fallback"),/[\xee\xef\xed\xec]/.test(this.text)&&(this.text=$[this.text])}hasClass(e){return l.contains(this.classes,e)}toNode(){const e=document.createTextNode(this.text);let t=null;this.italic>0&&(t=document.createElement("span"),t.style.marginRight=F(this.italic)),this.classes.length>0&&(t=t||document.createElement("span"),t.className=G(this.classes));for(const e in this.style)this.style.hasOwnProperty(e)&&(t=t||document.createElement("span"),t.style[e]=this.style[e]);return t?(t.appendChild(e),t):e}toMarkup(){let e=!1,t="0&&(r+="margin-right:"+this.italic+"em;");for(const e in this.style)this.style.hasOwnProperty(e)&&(r+=l.hyphenate(e)+":"+this.style[e]+";");r&&(e=!0,t+=' style="'+l.escape(r)+'"');const n=l.escape(this.text);return e?(t+=">",t+=n,t+="",t):n}}class K{constructor(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}toNode(){const e=document.createElementNS("http://www.w3.org/2000/svg","svg");for(const t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);for(let t=0;t':''}}class Q{constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){const e=document.createElementNS("http://www.w3.org/2000/svg","line");for(const t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);return e}toMarkup(){let e="","\\gt",!0),se(ie,le,ye,"\u2208","\\in",!0),se(ie,le,ye,"\ue020","\\@not"),se(ie,le,ye,"\u2282","\\subset",!0),se(ie,le,ye,"\u2283","\\supset",!0),se(ie,le,ye,"\u2286","\\subseteq",!0),se(ie,le,ye,"\u2287","\\supseteq",!0),se(ie,he,ye,"\u2288","\\nsubseteq",!0),se(ie,he,ye,"\u2289","\\nsupseteq",!0),se(ie,le,ye,"\u22a8","\\models"),se(ie,le,ye,"\u2190","\\leftarrow",!0),se(ie,le,ye,"\u2264","\\le"),se(ie,le,ye,"\u2264","\\leq",!0),se(ie,le,ye,"<","\\lt",!0),se(ie,le,ye,"\u2192","\\rightarrow",!0),se(ie,le,ye,"\u2192","\\to"),se(ie,he,ye,"\u2271","\\ngeq",!0),se(ie,he,ye,"\u2270","\\nleq",!0),se(ie,le,xe,"\xa0","\\ "),se(ie,le,xe,"\xa0","\\space"),se(ie,le,xe,"\xa0","\\nobreakspace"),se(ae,le,xe,"\xa0","\\ "),se(ae,le,xe,"\xa0"," "),se(ae,le,xe,"\xa0","\\space"),se(ae,le,xe,"\xa0","\\nobreakspace"),se(ie,le,xe,null,"\\nobreak"),se(ie,le,xe,null,"\\allowbreak"),se(ie,le,be,",",","),se(ie,le,be,";",";"),se(ie,he,me,"\u22bc","\\barwedge",!0),se(ie,he,me,"\u22bb","\\veebar",!0),se(ie,le,me,"\u2299","\\odot",!0),se(ie,le,me,"\u2295","\\oplus",!0),se(ie,le,me,"\u2297","\\otimes",!0),se(ie,le,we,"\u2202","\\partial",!0),se(ie,le,me,"\u2298","\\oslash",!0),se(ie,he,me,"\u229a","\\circledcirc",!0),se(ie,he,me,"\u22a1","\\boxdot",!0),se(ie,le,me,"\u25b3","\\bigtriangleup"),se(ie,le,me,"\u25bd","\\bigtriangledown"),se(ie,le,me,"\u2020","\\dagger"),se(ie,le,me,"\u22c4","\\diamond"),se(ie,le,me,"\u22c6","\\star"),se(ie,le,me,"\u25c3","\\triangleleft"),se(ie,le,me,"\u25b9","\\triangleright"),se(ie,le,fe,"{","\\{"),se(ae,le,we,"{","\\{"),se(ae,le,we,"{","\\textbraceleft"),se(ie,le,pe,"}","\\}"),se(ae,le,we,"}","\\}"),se(ae,le,we,"}","\\textbraceright"),se(ie,le,fe,"{","\\lbrace"),se(ie,le,pe,"}","\\rbrace"),se(ie,le,fe,"[","\\lbrack",!0),se(ae,le,we,"[","\\lbrack",!0),se(ie,le,pe,"]","\\rbrack",!0),se(ae,le,we,"]","\\rbrack",!0),se(ie,le,fe,"(","\\lparen",!0),se(ie,le,pe,")","\\rparen",!0),se(ae,le,we,"<","\\textless",!0),se(ae,le,we,">","\\textgreater",!0),se(ie,le,fe,"\u230a","\\lfloor",!0),se(ie,le,pe,"\u230b","\\rfloor",!0),se(ie,le,fe,"\u2308","\\lceil",!0),se(ie,le,pe,"\u2309","\\rceil",!0),se(ie,le,we,"\\","\\backslash"),se(ie,le,we,"\u2223","|"),se(ie,le,we,"\u2223","\\vert"),se(ae,le,we,"|","\\textbar",!0),se(ie,le,we,"\u2225","\\|"),se(ie,le,we,"\u2225","\\Vert"),se(ae,le,we,"\u2225","\\textbardbl"),se(ae,le,we,"~","\\textasciitilde"),se(ae,le,we,"\\","\\textbackslash"),se(ae,le,we,"^","\\textasciicircum"),se(ie,le,ye,"\u2191","\\uparrow",!0),se(ie,le,ye,"\u21d1","\\Uparrow",!0),se(ie,le,ye,"\u2193","\\downarrow",!0),se(ie,le,ye,"\u21d3","\\Downarrow",!0),se(ie,le,ye,"\u2195","\\updownarrow",!0),se(ie,le,ye,"\u21d5","\\Updownarrow",!0),se(ie,le,ge,"\u2210","\\coprod"),se(ie,le,ge,"\u22c1","\\bigvee"),se(ie,le,ge,"\u22c0","\\bigwedge"),se(ie,le,ge,"\u2a04","\\biguplus"),se(ie,le,ge,"\u22c2","\\bigcap"),se(ie,le,ge,"\u22c3","\\bigcup"),se(ie,le,ge,"\u222b","\\int"),se(ie,le,ge,"\u222b","\\intop"),se(ie,le,ge,"\u222c","\\iint"),se(ie,le,ge,"\u222d","\\iiint"),se(ie,le,ge,"\u220f","\\prod"),se(ie,le,ge,"\u2211","\\sum"),se(ie,le,ge,"\u2a02","\\bigotimes"),se(ie,le,ge,"\u2a01","\\bigoplus"),se(ie,le,ge,"\u2a00","\\bigodot"),se(ie,le,ge,"\u222e","\\oint"),se(ie,le,ge,"\u222f","\\oiint"),se(ie,le,ge,"\u2230","\\oiiint"),se(ie,le,ge,"\u2a06","\\bigsqcup"),se(ie,le,ge,"\u222b","\\smallint"),se(ae,le,ue,"\u2026","\\textellipsis"),se(ie,le,ue,"\u2026","\\mathellipsis"),se(ae,le,ue,"\u2026","\\ldots",!0),se(ie,le,ue,"\u2026","\\ldots",!0),se(ie,le,ue,"\u22ef","\\@cdots",!0),se(ie,le,ue,"\u22f1","\\ddots",!0),se(ie,le,we,"\u22ee","\\varvdots"),se(ie,le,ce,"\u02ca","\\acute"),se(ie,le,ce,"\u02cb","\\grave"),se(ie,le,ce,"\xa8","\\ddot"),se(ie,le,ce,"~","\\tilde"),se(ie,le,ce,"\u02c9","\\bar"),se(ie,le,ce,"\u02d8","\\breve"),se(ie,le,ce,"\u02c7","\\check"),se(ie,le,ce,"^","\\hat"),se(ie,le,ce,"\u20d7","\\vec"),se(ie,le,ce,"\u02d9","\\dot"),se(ie,le,ce,"\u02da","\\mathring"),se(ie,le,de,"\ue131","\\@imath"),se(ie,le,de,"\ue237","\\@jmath"),se(ie,le,we,"\u0131","\u0131"),se(ie,le,we,"\u0237","\u0237"),se(ae,le,we,"\u0131","\\i",!0),se(ae,le,we,"\u0237","\\j",!0),se(ae,le,we,"\xdf","\\ss",!0),se(ae,le,we,"\xe6","\\ae",!0),se(ae,le,we,"\u0153","\\oe",!0),se(ae,le,we,"\xf8","\\o",!0),se(ae,le,we,"\xc6","\\AE",!0),se(ae,le,we,"\u0152","\\OE",!0),se(ae,le,we,"\xd8","\\O",!0),se(ae,le,ce,"\u02ca","\\'"),se(ae,le,ce,"\u02cb","\\`"),se(ae,le,ce,"\u02c6","\\^"),se(ae,le,ce,"\u02dc","\\~"),se(ae,le,ce,"\u02c9","\\="),se(ae,le,ce,"\u02d8","\\u"),se(ae,le,ce,"\u02d9","\\."),se(ae,le,ce,"\xb8","\\c"),se(ae,le,ce,"\u02da","\\r"),se(ae,le,ce,"\u02c7","\\v"),se(ae,le,ce,"\xa8",'\\"'),se(ae,le,ce,"\u02dd","\\H"),se(ae,le,ce,"\u25ef","\\textcircled");const ve={"--":!0,"---":!0,"``":!0,"''":!0};se(ae,le,we,"\u2013","--",!0),se(ae,le,we,"\u2013","\\textendash"),se(ae,le,we,"\u2014","---",!0),se(ae,le,we,"\u2014","\\textemdash"),se(ae,le,we,"\u2018","`",!0),se(ae,le,we,"\u2018","\\textquoteleft"),se(ae,le,we,"\u2019","'",!0),se(ae,le,we,"\u2019","\\textquoteright"),se(ae,le,we,"\u201c","``",!0),se(ae,le,we,"\u201c","\\textquotedblleft"),se(ae,le,we,"\u201d","''",!0),se(ae,le,we,"\u201d","\\textquotedblright"),se(ie,le,we,"\xb0","\\degree",!0),se(ae,le,we,"\xb0","\\degree"),se(ae,le,we,"\xb0","\\textdegree",!0),se(ie,le,we,"\xa3","\\pounds"),se(ie,le,we,"\xa3","\\mathsterling",!0),se(ae,le,we,"\xa3","\\pounds"),se(ae,le,we,"\xa3","\\textsterling",!0),se(ie,he,we,"\u2720","\\maltese"),se(ae,he,we,"\u2720","\\maltese");const ke='0123456789/@."';for(let e=0;e{if(G(e.classes)!==G(t.classes)||e.skew!==t.skew||e.maxFontSize!==t.maxFontSize)return!1;if(1===e.classes.length){const t=e.classes[0];if("mbin"===t||"mord"===t)return!1}for(const r in e.style)if(e.style.hasOwnProperty(r)&&e.style[r]!==t.style[r])return!1;for(const r in t.style)if(t.style.hasOwnProperty(r)&&e.style[r]!==t.style[r])return!1;return!0},Ie=function(e){let t=0,r=0,n=0;for(let o=0;ot&&(t=s.height),s.depth>r&&(r=s.depth),s.maxFontSize>n&&(n=s.maxFontSize)}e.height=t,e.depth=r,e.maxFontSize=n},Re=function(e,t,r,n){const o=new W(e,t,r,n);return Ie(o),o},He=(e,t,r,n)=>new W(e,t,r,n),Oe=function(e){const t=new A(e);return Ie(t),t},Ee=function(e,t,r){let n,o="";switch(e){case"amsrm":o="AMS";break;case"textrm":o="Main";break;case"textsf":o="SansSerif";break;case"texttt":o="Typewriter";break;default:o=e}return n="textbf"===t&&"textit"===r?"BoldItalic":"textbf"===t?"Bold":"textit"===t?"Italic":"Regular",o+"-"+n},Le={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"}},De={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]};var Ve={fontMap:Le,makeSymbol:Ne,mathsym:function(e,t,r,n){return void 0===n&&(n=[]),"boldsymbol"===r.font&&Ce(e,"Main-Bold",t).metrics?Ne(e,"Main-Bold",t,r,n.concat(["mathbf"])):"\\"===e||"main"===oe[t][e].font?Ne(e,"Main-Regular",t,r,n):Ne(e,"AMS-Regular",t,r,n.concat(["amsrm"]))},makeSpan:Re,makeSvgSpan:He,makeLineSpan:function(e,t,r){const n=Re([e],[],t);return n.height=Math.max(r||t.fontMetrics().defaultRuleThickness,t.minRuleThickness),n.style.borderBottomWidth=F(n.height),n.maxFontSize=1,n},makeAnchor:function(e,t,r,n){const o=new _(e,t,r,n);return Ie(o),o},makeFragment:Oe,wrapFragment:function(e,t){return e instanceof A?Re([],[e],t):e},makeVList:function(e,t){const{children:r,depth:n}=function(e){if("individualShift"===e.positionType){const t=e.children,r=[t[0]],n=-t[0].shift-t[0].elem.depth;let o=n;for(let e=1;e0)return Ne(s,h,o,t,i.concat(c));if(l){let e,n;if("boldsymbol"===l){const t=function(e,t,r,n,o){return"textord"!==o&&Ce(e,"Math-BoldItalic",t).metrics?{fontName:"Math-BoldItalic",fontClass:"boldsymbol"}:{fontName:"Main-Bold",fontClass:"mathbf"}}(s,o,0,0,r);e=t.fontName,n=[t.fontClass]}else a?(e=Le[l].fontName,n=[l]):(e=Ee(l,t.fontWeight,t.fontShape),n=[l,t.fontWeight,t.fontShape]);if(Ce(s,e,o).metrics)return Ne(s,e,o,t,i.concat(n));if(ve.hasOwnProperty(s)&&"Typewriter"===e.slice(0,10)){const r=[];for(let a=0;a{const r=Re(["mspace"],[],t),n=P(e,t);return r.style.marginRight=F(n),r},staticSvg:function(e,t){const[r,n,o]=De[e],s=new J(r),i=new K([s],{width:F(n),height:F(o),style:"width:"+F(n),viewBox:"0 0 "+1e3*n+" "+1e3*o,preserveAspectRatio:"xMinYMin"}),a=He(["overlay"],[i],t);return a.height=o,a.style.height=F(o),a.style.width=F(n),a},svgData:De,tryCombineChars:e=>{for(let t=0;t{const r=t.classes[0],n=e.classes[0];"mbin"===r&&l.contains(et,n)?t.classes[0]="mord":"mbin"===n&&l.contains(Qe,r)&&(e.classes[0]="mord")}),{node:i},a,h),ot(o,((e,t)=>{const r=at(t),n=at(e),o=r&&n?e.hasClass("mtight")?Ye[r][n]:Ue[r][n]:null;if(o)return Ve.makeGlue(o,s)}),{node:i},a,h),o},ot=function(e,t,r,n,o){n&&e.push(n);let s=0;for(;sr=>{e.splice(t+1,0,r),s++})(s)}n&&e.pop()},st=function(e){return e instanceof A||e instanceof _||e instanceof W&&e.hasClass("enclosing")?e:null},it=function(e,t){const r=st(e);if(r){const e=r.children;if(e.length){if("right"===t)return it(e[e.length-1],"right");if("left"===t)return it(e[0],"left")}}return e},at=function(e,t){return e?(t&&(e=it(e,t)),rt[e.classes[0]]||null):null},lt=function(e,t){const r=["nulldelimiter"].concat(e.baseSizingClasses());return Je(t.concat(r))},ht=function(e,t,r){if(!e)return Je();if(We[e.type]){let n=We[e.type](e,t);if(r&&t.size!==r.size){n=Je(t.sizingClasses(r),[n],t);const e=t.sizeMultiplier/r.sizeMultiplier;n.height*=e,n.depth*=e}return n}throw new n("Got group of unknown type: '"+e.type+"'")};function ct(e,t){const r=Je(["base"],e,t),n=Je(["strut"]);return n.style.height=F(r.height+r.depth),r.depth&&(n.style.verticalAlign=F(-r.depth)),r.children.unshift(n),r}function mt(e,t){let r=null;1===e.length&&"tag"===e[0].type&&(r=e[0].tag,e=e[0].body);const n=nt(e,t,"root");let o;2===n.length&&n[1].hasClass("tag")&&(o=n.pop());const s=[];let i,a=[];for(let e=0;e0&&(s.push(ct(a,t)),a=[]),s.push(n[e]));a.length>0&&s.push(ct(a,t)),r?(i=ct(nt(r,t,!0)),i.classes=["tag"],s.push(i)):o&&s.push(o);const l=Je(["katex-html"],s);if(l.setAttribute("aria-hidden","true"),i){const e=i.children[0];e.style.height=F(l.height+l.depth),l.depth&&(e.style.verticalAlign=F(-l.depth))}return l}function pt(e){return new A(e)}class ut{constructor(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||[]}setAttribute(e,t){this.attributes[e]=t}getAttribute(e){return this.attributes[e]}toNode(){const e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(const t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);this.classes.length>0&&(e.className=G(this.classes));for(let t=0;t0&&(e+=' class ="'+l.escape(G(this.classes))+'"'),e+=">";for(let t=0;t",e}toText(){return this.children.map((e=>e.toText())).join("")}}class dt{constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return l.escape(this.toText())}toText(){return this.text}}var gt={MathNode:ut,TextNode:dt,SpaceNode:class{constructor(e){this.width=void 0,this.character=void 0,this.width=e,this.character=e>=.05555&&e<=.05556?"\u200a":e>=.1666&&e<=.1667?"\u2009":e>=.2222&&e<=.2223?"\u2005":e>=.2777&&e<=.2778?"\u2005\u200a":e>=-.05556&&e<=-.05555?"\u200a\u2063":e>=-.1667&&e<=-.1666?"\u2009\u2063":e>=-.2223&&e<=-.2222?"\u205f\u2063":e>=-.2778&&e<=-.2777?"\u2005\u2063":null}toNode(){if(this.character)return document.createTextNode(this.character);{const e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",F(this.width)),e}}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}},newDocumentFragment:pt};const ft=function(e,t,r){return!oe[t][e]||!oe[t][e].replace||55349===e.charCodeAt(0)||ve.hasOwnProperty(e)&&r&&(r.fontFamily&&"tt"===r.fontFamily.slice(4,6)||r.font&&"tt"===r.font.slice(4,6))||(e=oe[t][e].replace),new gt.TextNode(e)},bt=function(e){return 1===e.length?e[0]:new gt.MathNode("mrow",e)},yt=function(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";const r=t.font;if(!r||"mathnormal"===r)return null;const n=e.mode;if("mathit"===r)return"italic";if("boldsymbol"===r)return"textord"===e.type?"bold":"bold-italic";if("mathbf"===r)return"bold";if("mathbb"===r)return"double-struck";if("mathfrak"===r)return"fraktur";if("mathscr"===r||"mathcal"===r)return"script";if("mathsf"===r)return"sans-serif";if("mathtt"===r)return"monospace";let o=e.text;if(l.contains(["\\imath","\\jmath"],o))return null;oe[n][o]&&oe[n][o].replace&&(o=oe[n][o].replace);return N(o,Ve.fontMap[r].fontName,n)?Ve.fontMap[r].variant:null},xt=function(e,t,r){if(1===e.length){const n=vt(e[0],t);return r&&n instanceof ut&&"mo"===n.type&&(n.setAttribute("lspace","0em"),n.setAttribute("rspace","0em")),[n]}const n=[];let o;for(let r=0;r0&&(e.text=e.text.slice(0,1)+"\u0338"+e.text.slice(1),n.pop())}}}n.push(s),o=s}return n},wt=function(e,t,r){return bt(xt(e,t,r))},vt=function(e,t){if(!e)return new gt.MathNode("mrow");if(_e[e.type]){return _e[e.type](e,t)}throw new n("Got group of unknown type: '"+e.type+"'")};function kt(e,t,r,n,o){const s=xt(e,r);let i;i=1===s.length&&s[0]instanceof ut&&l.contains(["mrow","mtable"],s[0].type)?s[0]:new gt.MathNode("mrow",s);const a=new gt.MathNode("annotation",[new gt.TextNode(t)]);a.setAttribute("encoding","application/x-tex");const h=new gt.MathNode("semantics",[i,a]),c=new gt.MathNode("math",[h]);c.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&c.setAttribute("display","block");const m=o?"katex":"katex-mathml";return Ve.makeSpan([m],[c])}const St=function(e){return new E({style:e.displayMode?w.DISPLAY:w.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},Mt=function(e,t){if(t.displayMode){const r=["katex-display"];t.leqno&&r.push("leqno"),t.fleqn&&r.push("fleqn"),e=Ve.makeSpan(r,[e])}return e},zt=function(e,t,r){const n=St(r);let o;if("mathml"===r.output)return kt(e,t,n,r.displayMode,!0);if("html"===r.output){const t=mt(e,n);o=Ve.makeSpan(["katex"],[t])}else{const s=kt(e,t,n,r.displayMode,!1),i=mt(e,n);o=Ve.makeSpan(["katex"],[s,i])}return Mt(o,r)};const At={widehat:"^",widecheck:"\u02c7",widetilde:"~",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",underbrace:"\u23df",overbrace:"\u23de",overgroup:"\u23e0",undergroup:"\u23e1",overleftrightarrow:"\u2194",underleftrightarrow:"\u2194",xleftrightarrow:"\u2194",Overrightarrow:"\u21d2",xRightarrow:"\u21d2",overleftharpoon:"\u21bc",xleftharpoonup:"\u21bc",overrightharpoon:"\u21c0",xrightharpoonup:"\u21c0",xLeftarrow:"\u21d0",xLeftrightarrow:"\u21d4",xhookleftarrow:"\u21a9",xhookrightarrow:"\u21aa",xmapsto:"\u21a6",xrightharpoondown:"\u21c1",xleftharpoondown:"\u21bd",xrightleftharpoons:"\u21cc",xleftrightharpoons:"\u21cb",xtwoheadleftarrow:"\u219e",xtwoheadrightarrow:"\u21a0",xlongequal:"=",xtofrom:"\u21c4",xrightleftarrows:"\u21c4",xrightequilibrium:"\u21cc",xleftequilibrium:"\u21cb","\\cdrightarrow":"\u2192","\\cdleftarrow":"\u2190","\\cdlongequal":"="},Tt={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]};var Bt=function(e,t,r,n,o){let s;const i=e.height+e.depth+r+n;if(/fbox|color|angl/.test(t)){if(s=Ve.makeSpan(["stretchy",t],[],o),"fbox"===t){const e=o.color&&o.getColor();e&&(s.style.borderColor=e)}}else{const e=[];/^[bx]cancel$/.test(t)&&e.push(new Q({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(t)&&e.push(new Q({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));const r=new K(e,{width:"100%",height:F(i)});s=Ve.makeSvgSpan([],[r],o)}return s.height=i,s.style.height=F(i),s},Ct=function(e){const t=new gt.MathNode("mo",[new gt.TextNode(At[e.replace(/^\\/,"")])]);return t.setAttribute("stretchy","true"),t},Nt=function(e,t){const{span:r,minWidth:n,height:o}=function(){let r=4e5;const n=e.label.slice(1);if(l.contains(["widehat","widecheck","widetilde","utilde"],n)){const s="ordgroup"===(o=e.base).type?o.body.length:1;let i,a,l;if(s>5)"widehat"===n||"widecheck"===n?(i=420,r=2364,l=.42,a=n+"4"):(i=312,r=2340,l=.34,a="tilde4");else{const e=[1,1,2,2,3,3][s];"widehat"===n||"widecheck"===n?(r=[0,1062,2364,2364,2364][e],i=[0,239,300,360,420][e],l=[0,.24,.3,.3,.36,.42][e],a=n+e):(r=[0,600,1033,2339,2340][e],i=[0,260,286,306,312][e],l=[0,.26,.286,.3,.306,.34][e],a="tilde"+e)}const h=new J(a),c=new K([h],{width:"100%",height:F(l),viewBox:"0 0 "+r+" "+i,preserveAspectRatio:"none"});return{span:Ve.makeSvgSpan([],[c],t),minWidth:0,height:l}}{const e=[],o=Tt[n],[s,i,a]=o,l=a/1e3,h=s.length;let c,m;if(1===h){c=["hide-tail"],m=[o[3]]}else if(2===h)c=["halfarrow-left","halfarrow-right"],m=["xMinYMin","xMaxYMin"];else{if(3!==h)throw new Error("Correct katexImagesData or update code here to support\n "+h+" children.");c=["brace-left","brace-center","brace-right"],m=["xMinYMin","xMidYMin","xMaxYMin"]}for(let n=0;n0&&(r.style.minWidth=F(n)),r};function qt(e,t){if(!e||e.type!==t)throw new Error("Expected node of type "+t+", but got "+(e?"node of type "+e.type:String(e)));return e}function It(e){const t=Rt(e);if(!t)throw new Error("Expected node of symbol group type, but got "+(e?"node of type "+e.type:String(e)));return t}function Rt(e){return e&&("atom"===e.type||re.hasOwnProperty(e.type))?e:null}const Ht=(e,t)=>{let r,n,o;e&&"supsub"===e.type?(n=qt(e.base,"accent"),r=n.base,e.base=r,o=function(e){if(e instanceof W)return e;throw new Error("Expected span but got "+String(e)+".")}(ht(e,t)),e.base=n):(n=qt(e,"accent"),r=n.base);const s=ht(r,t.havingCrampedStyle());let i=0;if(n.isShifty&&l.isCharacterBox(r)){const e=l.getBaseElem(r);i=ee(ht(e,t.havingCrampedStyle())).skew}const a="\\c"===n.label;let h,c=a?s.height+s.depth:Math.min(s.height,t.fontMetrics().xHeight);if(n.isStretchy)h=Nt(n,t),h=Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"elem",elem:h,wrapperClasses:["svg-align"],wrapperStyle:i>0?{width:"calc(100% - "+F(2*i)+")",marginLeft:F(2*i)}:void 0}]},t);else{let e,r;"\\vec"===n.label?(e=Ve.staticSvg("vec",t),r=Ve.svgData.vec[1]):(e=Ve.makeOrd({mode:n.mode,text:n.label},t,"textord"),e=ee(e),e.italic=0,r=e.width,a&&(c+=e.depth)),h=Ve.makeSpan(["accent-body"],[e]);const o="\\textcircled"===n.label;o&&(h.classes.push("accent-full"),c=s.height);let l=i;o||(l-=r/2),h.style.left=F(l),"\\textcircled"===n.label&&(h.style.top=".2em"),h=Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"kern",size:-c},{type:"elem",elem:h}]},t)}const m=Ve.makeSpan(["mord","accent"],[h],t);return o?(o.children[0]=m,o.height=Math.max(m.height,o.height),o.classes[0]="mord",o):m},Ot=(e,t)=>{const r=e.isStretchy?Ct(e.label):new gt.MathNode("mo",[ft(e.label,e.mode)]),n=new gt.MathNode("mover",[vt(e.base,t),r]);return n.setAttribute("accent","true"),n},Et=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map((e=>"\\"+e)).join("|"));je({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:(e,t)=>{const r=Ze(t[0]),n=!Et.test(e.funcName),o=!n||"\\widehat"===e.funcName||"\\widetilde"===e.funcName||"\\widecheck"===e.funcName;return{type:"accent",mode:e.parser.mode,label:e.funcName,isStretchy:n,isShifty:o,base:r}},htmlBuilder:Ht,mathmlBuilder:Ot}),je({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(e,t)=>{const r=t[0];let n=e.parser.mode;return"math"===n&&(e.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+e.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:e.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:Ht,mathmlBuilder:Ot}),je({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=t[0];return{type:"accentUnder",mode:r.mode,label:n,base:o}},htmlBuilder:(e,t)=>{const r=ht(e.base,t),n=Nt(e,t),o="\\utilde"===e.label?.12:0,s=Ve.makeVList({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:o},{type:"elem",elem:r}]},t);return Ve.makeSpan(["mord","accentunder"],[s],t)},mathmlBuilder:(e,t)=>{const r=Ct(e.label),n=new gt.MathNode("munder",[vt(e.base,t),r]);return n.setAttribute("accentunder","true"),n}});const Lt=e=>{const t=new gt.MathNode("mpadded",e?[e]:[]);return t.setAttribute("width","+0.6em"),t.setAttribute("lspace","0.3em"),t};je({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(e,t,r){let{parser:n,funcName:o}=e;return{type:"xArrow",mode:n.mode,label:o,body:t[0],below:r[0]}},htmlBuilder(e,t){const r=t.style;let n=t.havingStyle(r.sup());const o=Ve.wrapFragment(ht(e.body,n,t),t),s="\\x"===e.label.slice(0,2)?"x":"cd";let i;o.classes.push(s+"-arrow-pad"),e.below&&(n=t.havingStyle(r.sub()),i=Ve.wrapFragment(ht(e.below,n,t),t),i.classes.push(s+"-arrow-pad"));const a=Nt(e,t),l=-t.fontMetrics().axisHeight+.5*a.height;let h,c=-t.fontMetrics().axisHeight-.5*a.height-.111;if((o.depth>.25||"\\xleftequilibrium"===e.label)&&(c-=o.depth),i){const e=-t.fontMetrics().axisHeight+i.height+.5*a.height+.111;h=Ve.makeVList({positionType:"individualShift",children:[{type:"elem",elem:o,shift:c},{type:"elem",elem:a,shift:l},{type:"elem",elem:i,shift:e}]},t)}else h=Ve.makeVList({positionType:"individualShift",children:[{type:"elem",elem:o,shift:c},{type:"elem",elem:a,shift:l}]},t);return h.children[0].children[0].children[1].classes.push("svg-align"),Ve.makeSpan(["mrel","x-arrow"],[h],t)},mathmlBuilder(e,t){const r=Ct(e.label);let n;if(r.setAttribute("minsize","x"===e.label.charAt(0)?"1.75em":"3.0em"),e.body){const o=Lt(vt(e.body,t));if(e.below){const s=Lt(vt(e.below,t));n=new gt.MathNode("munderover",[r,s,o])}else n=new gt.MathNode("mover",[r,o])}else if(e.below){const o=Lt(vt(e.below,t));n=new gt.MathNode("munder",[r,o])}else n=Lt(),n=new gt.MathNode("mover",[r,n]);return n}});const Dt=Ve.makeSpan;function Vt(e,t){const r=nt(e.body,t,!0);return Dt([e.mclass],r,t)}function Pt(e,t){let r;const n=xt(e.body,t);return"minner"===e.mclass?r=new gt.MathNode("mpadded",n):"mord"===e.mclass?e.isCharacterBox?(r=n[0],r.type="mi"):r=new gt.MathNode("mi",n):(e.isCharacterBox?(r=n[0],r.type="mo"):r=new gt.MathNode("mo",n),"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}je({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(e,t){let{parser:r,funcName:n}=e;const o=t[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:Ke(o),isCharacterBox:l.isCharacterBox(o)}},htmlBuilder:Vt,mathmlBuilder:Pt});const Ft=e=>{const t="ordgroup"===e.type&&e.body.length?e.body[0]:e;return"atom"!==t.type||"bin"!==t.family&&"rel"!==t.family?"mord":"m"+t.family};je({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(e,t){let{parser:r}=e;return{type:"mclass",mode:r.mode,mclass:Ft(t[0]),body:Ke(t[1]),isCharacterBox:l.isCharacterBox(t[1])}}}),je({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(e,t){let{parser:r,funcName:n}=e;const o=t[1],s=t[0];let i;i="\\stackrel"!==n?Ft(o):"mrel";const a={type:"op",mode:o.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:"\\stackrel"!==n,body:Ke(o)},h={type:"supsub",mode:s.mode,base:a,sup:"\\underset"===n?null:s,sub:"\\underset"===n?s:null};return{type:"mclass",mode:r.mode,mclass:i,body:[h],isCharacterBox:l.isCharacterBox(h)}},htmlBuilder:Vt,mathmlBuilder:Pt}),je({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(e,t){let{parser:r}=e;return{type:"pmb",mode:r.mode,mclass:Ft(t[0]),body:Ke(t[0])}},htmlBuilder(e,t){const r=nt(e.body,t,!0),n=Ve.makeSpan([e.mclass],r,t);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder(e,t){const r=xt(e.body,t),n=new gt.MathNode("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});const Gt={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},Ut=e=>"textord"===e.type&&"@"===e.text;function Yt(e,t,r){const n=Gt[e];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[t[0]],[t[1]]);case"\\uparrow":case"\\downarrow":{const e={type:"atom",text:n,mode:"math",family:"rel"},o={type:"ordgroup",mode:"math",body:[r.callFunction("\\\\cdleft",[t[0]],[]),r.callFunction("\\Big",[e],[]),r.callFunction("\\\\cdright",[t[1]],[])]};return r.callFunction("\\\\cdparent",[o],[])}case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{const e={type:"textord",text:"\\Vert",mode:"math"};return r.callFunction("\\Big",[e],[])}default:return{type:"textord",text:" ",mode:"math"}}}je({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(e,t){let{parser:r,funcName:n}=e;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:t[0]}},htmlBuilder(e,t){const r=t.havingStyle(t.style.sup()),n=Ve.wrapFragment(ht(e.label,r,t),t);return n.classes.push("cd-label-"+e.side),n.style.bottom=F(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder(e,t){let r=new gt.MathNode("mrow",[vt(e.label,t)]);return r=new gt.MathNode("mpadded",[r]),r.setAttribute("width","0"),"left"===e.side&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),r=new gt.MathNode("mstyle",[r]),r.setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}}),je({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(e,t){let{parser:r}=e;return{type:"cdlabelparent",mode:r.mode,fragment:t[0]}},htmlBuilder(e,t){const r=Ve.wrapFragment(ht(e.fragment,t),t);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder(e,t){return new gt.MathNode("mrow",[vt(e.fragment,t)])}}),je({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(e,t){let{parser:r}=e;const o=qt(t[0],"ordgroup").body;let s="";for(let e=0;e=1114111)throw new n("\\@char with invalid code point "+s);return a<=65535?i=String.fromCharCode(a):(a-=65536,i=String.fromCharCode(55296+(a>>10),56320+(1023&a))),{type:"textord",mode:r.mode,text:i}}});const Xt=(e,t)=>{const r=nt(e.body,t.withColor(e.color),!1);return Ve.makeFragment(r)},Wt=(e,t)=>{const r=xt(e.body,t.withColor(e.color)),n=new gt.MathNode("mstyle",r);return n.setAttribute("mathcolor",e.color),n};je({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(e,t){let{parser:r}=e;const n=qt(t[0],"color-token").color,o=t[1];return{type:"color",mode:r.mode,color:n,body:Ke(o)}},htmlBuilder:Xt,mathmlBuilder:Wt}),je({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(e,t){let{parser:r,breakOnTokenText:n}=e;const o=qt(t[0],"color-token").color;r.gullet.macros.set("\\current@color",o);const s=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:o,body:s}},htmlBuilder:Xt,mathmlBuilder:Wt}),je({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(e,t,r){let{parser:n}=e;const o="["===n.gullet.future().text?n.parseSizeGroup(!0):null,s=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:s,size:o&&qt(o,"size").value}},htmlBuilder(e,t){const r=Ve.makeSpan(["mspace"],[],t);return e.newLine&&(r.classes.push("newline"),e.size&&(r.style.marginTop=F(P(e.size,t)))),r},mathmlBuilder(e,t){const r=new gt.MathNode("mspace");return e.newLine&&(r.setAttribute("linebreak","newline"),e.size&&r.setAttribute("height",F(P(e.size,t)))),r}});const _t={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},jt=e=>{const t=e.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(t))throw new n("Expected a control sequence",e);return t},$t=(e,t,r,n)=>{let o=e.gullet.macros.get(r.text);null==o&&(r.noexpand=!0,o={tokens:[r],numArgs:0,unexpandable:!e.gullet.isExpandable(r.text)}),e.gullet.macros.set(t,o,n)};je({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(e){let{parser:t,funcName:r}=e;t.consumeSpaces();const o=t.fetch();if(_t[o.text])return"\\global"!==r&&"\\\\globallong"!==r||(o.text=_t[o.text]),qt(t.parseFunction(),"internal");throw new n("Invalid token after macro prefix",o)}}),je({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){let{parser:t,funcName:r}=e,o=t.gullet.popToken();const s=o.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(s))throw new n("Expected a control sequence",o);let i,a=0;const l=[[]];for(;"{"!==t.gullet.future().text;)if(o=t.gullet.popToken(),"#"===o.text){if("{"===t.gullet.future().text){i=t.gullet.future(),l[a].push("{");break}if(o=t.gullet.popToken(),!/^[1-9]$/.test(o.text))throw new n('Invalid argument number "'+o.text+'"');if(parseInt(o.text)!==a+1)throw new n('Argument number "'+o.text+'" out of order');a++,l.push([])}else{if("EOF"===o.text)throw new n("Expected a macro definition");l[a].push(o.text)}let{tokens:h}=t.gullet.consumeArg();return i&&h.unshift(i),"\\edef"!==r&&"\\xdef"!==r||(h=t.gullet.expandTokens(h),h.reverse()),t.gullet.macros.set(s,{tokens:h,numArgs:a,delimiters:l},r===_t[r]),{type:"internal",mode:t.mode}}}),je({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){let{parser:t,funcName:r}=e;const n=jt(t.gullet.popToken());t.gullet.consumeSpaces();const o=(e=>{let t=e.gullet.popToken();return"="===t.text&&(t=e.gullet.popToken()," "===t.text&&(t=e.gullet.popToken())),t})(t);return $t(t,n,o,"\\\\globallet"===r),{type:"internal",mode:t.mode}}}),je({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){let{parser:t,funcName:r}=e;const n=jt(t.gullet.popToken()),o=t.gullet.popToken(),s=t.gullet.popToken();return $t(t,n,s,"\\\\globalfuture"===r),t.gullet.pushToken(s),t.gullet.pushToken(o),{type:"internal",mode:t.mode}}});const Zt=function(e,t,r){const n=N(oe.math[e]&&oe.math[e].replace||e,t,r);if(!n)throw new Error("Unsupported symbol "+e+" and font size "+t+".");return n},Kt=function(e,t,r,n){const o=r.havingBaseStyle(t),s=Ve.makeSpan(n.concat(o.sizingClasses(r)),[e],r),i=o.sizeMultiplier/r.sizeMultiplier;return s.height*=i,s.depth*=i,s.maxFontSize=o.sizeMultiplier,s},Jt=function(e,t,r){const n=t.havingBaseStyle(r),o=(1-t.sizeMultiplier/n.sizeMultiplier)*t.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=F(o),e.height-=o,e.depth+=o},Qt=function(e,t,r,n,o,s){const i=function(e,t,r,n){return Ve.makeSymbol(e,"Size"+t+"-Regular",r,n)}(e,t,o,n),a=Kt(Ve.makeSpan(["delimsizing","size"+t],[i],n),w.TEXT,n,s);return r&&Jt(a,n,w.TEXT),a},er=function(e,t,r){let n;n="Size1-Regular"===t?"delim-size1":"delim-size4";return{type:"elem",elem:Ve.makeSpan(["delimsizinginner",n],[Ve.makeSpan([],[Ve.makeSymbol(e,t,r)])])}},tr=function(e,t,r){const n=T["Size4-Regular"][e.charCodeAt(0)]?T["Size4-Regular"][e.charCodeAt(0)][4]:T["Size1-Regular"][e.charCodeAt(0)][4],o=new J("inner",function(e,t){switch(e){case"\u239c":return"M291 0 H417 V"+t+" H291z M291 0 H417 V"+t+" H291z";case"\u2223":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145z";case"\u2225":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"\u239f":return"M457 0 H583 V"+t+" H457z M457 0 H583 V"+t+" H457z";case"\u23a2":return"M319 0 H403 V"+t+" H319z M319 0 H403 V"+t+" H319z";case"\u23a5":return"M263 0 H347 V"+t+" H263z M263 0 H347 V"+t+" H263z";case"\u23aa":return"M384 0 H504 V"+t+" H384z M384 0 H504 V"+t+" H384z";case"\u23d0":return"M312 0 H355 V"+t+" H312z M312 0 H355 V"+t+" H312z";case"\u2016":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))),s=new K([o],{width:F(n),height:F(t),style:"width:"+F(n),viewBox:"0 0 "+1e3*n+" "+Math.round(1e3*t),preserveAspectRatio:"xMinYMin"}),i=Ve.makeSvgSpan([],[s],r);return i.height=t,i.style.height=F(t),i.style.width=F(n),{type:"elem",elem:i}},rr={type:"kern",size:-.008},nr=["|","\\lvert","\\rvert","\\vert"],or=["\\|","\\lVert","\\rVert","\\Vert"],sr=function(e,t,r,n,o,s){let i,a,h,c,m="",p=0;i=h=c=e,a=null;let u="Size1-Regular";"\\uparrow"===e?h=c="\u23d0":"\\Uparrow"===e?h=c="\u2016":"\\downarrow"===e?i=h="\u23d0":"\\Downarrow"===e?i=h="\u2016":"\\updownarrow"===e?(i="\\uparrow",h="\u23d0",c="\\downarrow"):"\\Updownarrow"===e?(i="\\Uparrow",h="\u2016",c="\\Downarrow"):l.contains(nr,e)?(h="\u2223",m="vert",p=333):l.contains(or,e)?(h="\u2225",m="doublevert",p=556):"["===e||"\\lbrack"===e?(i="\u23a1",h="\u23a2",c="\u23a3",u="Size4-Regular",m="lbrack",p=667):"]"===e||"\\rbrack"===e?(i="\u23a4",h="\u23a5",c="\u23a6",u="Size4-Regular",m="rbrack",p=667):"\\lfloor"===e||"\u230a"===e?(h=i="\u23a2",c="\u23a3",u="Size4-Regular",m="lfloor",p=667):"\\lceil"===e||"\u2308"===e?(i="\u23a1",h=c="\u23a2",u="Size4-Regular",m="lceil",p=667):"\\rfloor"===e||"\u230b"===e?(h=i="\u23a5",c="\u23a6",u="Size4-Regular",m="rfloor",p=667):"\\rceil"===e||"\u2309"===e?(i="\u23a4",h=c="\u23a5",u="Size4-Regular",m="rceil",p=667):"("===e||"\\lparen"===e?(i="\u239b",h="\u239c",c="\u239d",u="Size4-Regular",m="lparen",p=875):")"===e||"\\rparen"===e?(i="\u239e",h="\u239f",c="\u23a0",u="Size4-Regular",m="rparen",p=875):"\\{"===e||"\\lbrace"===e?(i="\u23a7",a="\u23a8",c="\u23a9",h="\u23aa",u="Size4-Regular"):"\\}"===e||"\\rbrace"===e?(i="\u23ab",a="\u23ac",c="\u23ad",h="\u23aa",u="Size4-Regular"):"\\lgroup"===e||"\u27ee"===e?(i="\u23a7",c="\u23a9",h="\u23aa",u="Size4-Regular"):"\\rgroup"===e||"\u27ef"===e?(i="\u23ab",c="\u23ad",h="\u23aa",u="Size4-Regular"):"\\lmoustache"===e||"\u23b0"===e?(i="\u23a7",c="\u23ad",h="\u23aa",u="Size4-Regular"):"\\rmoustache"!==e&&"\u23b1"!==e||(i="\u23ab",c="\u23a9",h="\u23aa",u="Size4-Regular");const d=Zt(i,u,o),g=d.height+d.depth,f=Zt(h,u,o),b=f.height+f.depth,y=Zt(c,u,o),x=y.height+y.depth;let v=0,k=1;if(null!==a){const e=Zt(a,u,o);v=e.height+e.depth,k=2}const S=g+x+v,M=S+Math.max(0,Math.ceil((t-S)/(k*b)))*k*b;let z=n.fontMetrics().axisHeight;r&&(z*=n.sizeMultiplier);const A=M/2-z,T=[];if(m.length>0){const e=M-g-x,t=Math.round(1e3*M),r=function(e,t){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+" v1759 h347 v-84\nH403z M403 1759 V0 H319 V1759 v"+t+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+" v1759 H0 v84 H347z\nM347 1759 V0 H263 V1759 v"+t+" v1759 h84z";case"vert":return"M145 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+t+" v585 h43z";case"doublevert":return"M145 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+t+" v585 h43z\nM367 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M410 15 H367 v585 v"+t+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+t+" v1715 h263 v84 H319z\nMM319 602 V0 H403 V602 v"+t+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+t+" v1799 H0 v-84 H319z\nMM319 602 V0 H403 V602 v"+t+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+" v602 h84z\nM403 1759 V0 H319 V1759 v"+t+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+" v602 h84z\nM347 1759 V0 h-84 V1759 v"+t+" v602 h84z";case"lparen":return"M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1\nc-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,\n-36,557 l0,"+(t+84)+"c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,\n949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9\nc0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,\n-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189\nl0,-"+(t+92)+"c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,\n-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z";case"rparen":return"M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,\n63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5\nc11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,"+(t+9)+"\nc-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664\nc-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11\nc0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17\nc242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558\nl0,-"+(t+144)+"c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,\n-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z";default:throw new Error("Unknown stretchy delimiter.")}}(m,Math.round(1e3*e)),o=new J(m,r),s=(p/1e3).toFixed(3)+"em",i=(t/1e3).toFixed(3)+"em",a=new K([o],{width:s,height:i,viewBox:"0 0 "+p+" "+t}),l=Ve.makeSvgSpan([],[a],n);l.height=t/1e3,l.style.width=s,l.style.height=i,T.push({type:"elem",elem:l})}else{if(T.push(er(c,u,o)),T.push(rr),null===a){const e=M-g-x+.016;T.push(tr(h,e,n))}else{const e=(M-g-x-v)/2+.016;T.push(tr(h,e,n)),T.push(rr),T.push(er(a,u,o)),T.push(rr),T.push(tr(h,e,n))}T.push(rr),T.push(er(i,u,o))}const B=n.havingBaseStyle(w.TEXT),C=Ve.makeVList({positionType:"bottom",positionData:A,children:T},B);return Kt(Ve.makeSpan(["delimsizing","mult"],[C],B),w.TEXT,n,s)},ir=.08,ar=function(e,t,r,n,o){const s=function(e,t,r){t*=1e3;let n="";switch(e){case"sqrtMain":n=function(e,t){return"M95,"+(622+e+t)+"\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)+" "+t+"h400000v"+(40+e)+"h-400000z"}(t,M);break;case"sqrtSize1":n=function(e,t){return"M263,"+(601+e+t)+"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)+" "+t+"h400000v"+(40+e)+"h-400000z"}(t,M);break;case"sqrtSize2":n=function(e,t){return"M983 "+(10+e+t)+"\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)+" "+t+"h400000v"+(40+e)+"h-400000z"}(t,M);break;case"sqrtSize3":n=function(e,t){return"M424,"+(2398+e+t)+"\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)+" "+t+"\nh400000v"+(40+e)+"h-400000z"}(t,M);break;case"sqrtSize4":n=function(e,t){return"M473,"+(2713+e+t)+"\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)+" "+t+"h400000v"+(40+e)+"H1017.7z"}(t,M);break;case"sqrtTall":n=function(e,t,r){return"M702 "+(e+t)+"H400000"+(40+e)+"\nH742v"+(r-54-t-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 "+t+"H400000v"+(40+e)+"H742z"}(t,M,r)}return n}(e,n,r),i=new J(e,s),a=new K([i],{width:"400em",height:F(t),viewBox:"0 0 400000 "+r,preserveAspectRatio:"xMinYMin slice"});return Ve.makeSvgSpan(["hide-tail"],[a],o)},lr=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230a","\u230b","\\lceil","\\rceil","\u2308","\u2309","\\surd"],hr=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27ee","\u27ef","\\lmoustache","\\rmoustache","\u23b0","\u23b1"],cr=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],mr=[0,1.2,1.8,2.4,3],pr=[{type:"small",style:w.SCRIPTSCRIPT},{type:"small",style:w.SCRIPT},{type:"small",style:w.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],ur=[{type:"small",style:w.SCRIPTSCRIPT},{type:"small",style:w.SCRIPT},{type:"small",style:w.TEXT},{type:"stack"}],dr=[{type:"small",style:w.SCRIPTSCRIPT},{type:"small",style:w.SCRIPT},{type:"small",style:w.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],gr=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.")},fr=function(e,t,r,n){for(let o=Math.min(2,3-n.style.size);ot)return r[o]}return r[r.length-1]},br=function(e,t,r,n,o,s){let i;"<"===e||"\\lt"===e||"\u27e8"===e?e="\\langle":">"!==e&&"\\gt"!==e&&"\u27e9"!==e||(e="\\rangle"),i=l.contains(cr,e)?pr:l.contains(lr,e)?dr:ur;const a=fr(e,t,i,n);return"small"===a.type?function(e,t,r,n,o,s){const i=Ve.makeSymbol(e,"Main-Regular",o,n),a=Kt(i,t,n,s);return r&&Jt(a,n,t),a}(e,a.style,r,n,o,s):"large"===a.type?Qt(e,a.size,r,n,o,s):sr(e,t,r,n,o,s)};var yr={sqrtImage:function(e,t){const r=t.havingBaseSizing(),n=fr("\\surd",e*r.sizeMultiplier,dr,r);let o=r.sizeMultiplier;const s=Math.max(0,t.minRuleThickness-t.fontMetrics().sqrtRuleThickness);let i,a,l=0,h=0,c=0;return"small"===n.type?(c=1e3+1e3*s+80,e<1?o=1:e<1.4&&(o=.7),l=(1+s+ir)/o,h=(1+s)/o,i=ar("sqrtMain",l,c,s,t),i.style.minWidth="0.853em",a=.833/o):"large"===n.type?(c=1080*mr[n.size],h=(mr[n.size]+s)/o,l=(mr[n.size]+s+ir)/o,i=ar("sqrtSize"+n.size,l,c,s,t),i.style.minWidth="1.02em",a=1/o):(l=e+s+ir,h=e+s,c=Math.floor(1e3*e+s)+80,i=ar("sqrtTall",l,c,s,t),i.style.minWidth="0.742em",a=1.056),i.height=h,i.style.height=F(l),{span:i,advanceWidth:a,ruleWidth:(t.fontMetrics().sqrtRuleThickness+s)*o}},sizedDelim:function(e,t,r,o,s){if("<"===e||"\\lt"===e||"\u27e8"===e?e="\\langle":">"!==e&&"\\gt"!==e&&"\u27e9"!==e||(e="\\rangle"),l.contains(lr,e)||l.contains(cr,e))return Qt(e,t,!1,r,o,s);if(l.contains(hr,e))return sr(e,mr[t],!1,r,o,s);throw new n("Illegal delimiter: '"+e+"'")},sizeToMaxHeight:mr,customSizedDelim:br,leftRightDelim:function(e,t,r,n,o,s){const i=n.fontMetrics().axisHeight*n.sizeMultiplier,a=5/n.fontMetrics().ptPerEm,l=Math.max(t-i,r+i),h=Math.max(l/500*901,2*l-a);return br(e,h,!0,n,o,s)}};const xr={"\\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}},wr=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230a","\u230b","\\lceil","\\rceil","\u2308","\u2309","<",">","\\langle","\u27e8","\\rangle","\u27e9","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27ee","\u27ef","\\lmoustache","\\rmoustache","\u23b0","\u23b1","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];function vr(e,t){const r=Rt(e);if(r&&l.contains(wr,r.text))return r;throw new n(r?"Invalid delimiter '"+r.text+"' after '"+t.funcName+"'":"Invalid delimiter type '"+e.type+"'",e)}function kr(e){if(!e.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}je({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:(e,t)=>{const r=vr(t[0],e);return{type:"delimsizing",mode:e.parser.mode,size:xr[e.funcName].size,mclass:xr[e.funcName].mclass,delim:r.text}},htmlBuilder:(e,t)=>"."===e.delim?Ve.makeSpan([e.mclass]):yr.sizedDelim(e.delim,e.size,t,e.mode,[e.mclass]),mathmlBuilder:e=>{const t=[];"."!==e.delim&&t.push(ft(e.delim,e.mode));const r=new gt.MathNode("mo",t);"mopen"===e.mclass||"mclose"===e.mclass?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");const n=F(yr.sizeToMaxHeight[e.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r}}),je({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{const r=e.parser.gullet.macros.get("\\current@color");if(r&&"string"!=typeof r)throw new n("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:e.parser.mode,delim:vr(t[0],e).text,color:r}}}),je({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{const r=vr(t[0],e),n=e.parser;++n.leftrightDepth;const o=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);const s=qt(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:o,left:r.text,right:s.delim,rightColor:s.color}},htmlBuilder:(e,t)=>{kr(e);const r=nt(e.body,t,!0,["mopen","mclose"]);let n,o,s=0,i=0,a=!1;for(let e=0;e{kr(e);const r=xt(e.body,t);if("."!==e.left){const t=new gt.MathNode("mo",[ft(e.left,e.mode)]);t.setAttribute("fence","true"),r.unshift(t)}if("."!==e.right){const t=new gt.MathNode("mo",[ft(e.right,e.mode)]);t.setAttribute("fence","true"),e.rightColor&&t.setAttribute("mathcolor",e.rightColor),r.push(t)}return bt(r)}}),je({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{const r=vr(t[0],e);if(!e.parser.leftrightDepth)throw new n("\\middle without preceding \\left",r);return{type:"middle",mode:e.parser.mode,delim:r.text}},htmlBuilder:(e,t)=>{let r;if("."===e.delim)r=lt(t,[]);else{r=yr.sizedDelim(e.delim,1,t,e.mode,[]);const n={delim:e.delim,options:t};r.isMiddle=n}return r},mathmlBuilder:(e,t)=>{const r="\\vert"===e.delim||"|"===e.delim?ft("|","text"):ft(e.delim,e.mode),n=new gt.MathNode("mo",[r]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n}});const Sr=(e,t)=>{const r=Ve.wrapFragment(ht(e.body,t),t),n=e.label.slice(1);let o,s=t.sizeMultiplier,i=0;const a=l.isCharacterBox(e.body);if("sout"===n)o=Ve.makeSpan(["stretchy","sout"]),o.height=t.fontMetrics().defaultRuleThickness/s,i=-.5*t.fontMetrics().xHeight;else if("phase"===n){const e=P({number:.6,unit:"pt"},t),n=P({number:.35,unit:"ex"},t);s/=t.havingBaseSizing().sizeMultiplier;const a=r.height+r.depth+e+n;r.style.paddingLeft=F(a/2+e);const l=Math.floor(1e3*a*s),c="M400000 "+(h=l)+" H0 L"+h/2+" 0 l65 45 L145 "+(h-80)+" H400000z",m=new K([new J("phase",c)],{width:"400em",height:F(l/1e3),viewBox:"0 0 400000 "+l,preserveAspectRatio:"xMinYMin slice"});o=Ve.makeSvgSpan(["hide-tail"],[m],t),o.style.height=F(a),i=r.depth+e+n}else{/cancel/.test(n)?a||r.classes.push("cancel-pad"):"angl"===n?r.classes.push("anglpad"):r.classes.push("boxpad");let s=0,l=0,h=0;/box/.test(n)?(h=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness),s=t.fontMetrics().fboxsep+("colorbox"===n?0:h),l=s):"angl"===n?(h=Math.max(t.fontMetrics().defaultRuleThickness,t.minRuleThickness),s=4*h,l=Math.max(0,.25-r.depth)):(s=a?.2:0,l=s),o=Bt(r,n,s,l,t),/fbox|boxed|fcolorbox/.test(n)?(o.style.borderStyle="solid",o.style.borderWidth=F(h)):"angl"===n&&.049!==h&&(o.style.borderTopWidth=F(h),o.style.borderRightWidth=F(h)),i=r.depth+l,e.backgroundColor&&(o.style.backgroundColor=e.backgroundColor,e.borderColor&&(o.style.borderColor=e.borderColor))}var h;let c;if(e.backgroundColor)c=Ve.makeVList({positionType:"individualShift",children:[{type:"elem",elem:o,shift:i},{type:"elem",elem:r,shift:0}]},t);else{const e=/cancel|phase/.test(n)?["svg-align"]:[];c=Ve.makeVList({positionType:"individualShift",children:[{type:"elem",elem:r,shift:0},{type:"elem",elem:o,shift:i,wrapperClasses:e}]},t)}return/cancel/.test(n)&&(c.height=r.height,c.depth=r.depth),/cancel/.test(n)&&!a?Ve.makeSpan(["mord","cancel-lap"],[c],t):Ve.makeSpan(["mord"],[c],t)},Mr=(e,t)=>{let r=0;const n=new gt.MathNode(e.label.indexOf("colorbox")>-1?"mpadded":"menclose",[vt(e.body,t)]);switch(e.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=t.fontMetrics().fboxsep*t.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),"\\fcolorbox"===e.label){const r=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness);n.setAttribute("style","border: "+r+"em solid "+String(e.borderColor))}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike")}return e.backgroundColor&&n.setAttribute("mathbackground",e.backgroundColor),n};je({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(e,t,r){let{parser:n,funcName:o}=e;const s=qt(t[0],"color-token").color,i=t[1];return{type:"enclose",mode:n.mode,label:o,backgroundColor:s,body:i}},htmlBuilder:Sr,mathmlBuilder:Mr}),je({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(e,t,r){let{parser:n,funcName:o}=e;const s=qt(t[0],"color-token").color,i=qt(t[1],"color-token").color,a=t[2];return{type:"enclose",mode:n.mode,label:o,backgroundColor:i,borderColor:s,body:a}},htmlBuilder:Sr,mathmlBuilder:Mr}),je({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(e,t){let{parser:r}=e;return{type:"enclose",mode:r.mode,label:"\\fbox",body:t[0]}}}),je({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(e,t){let{parser:r,funcName:n}=e;const o=t[0];return{type:"enclose",mode:r.mode,label:n,body:o}},htmlBuilder:Sr,mathmlBuilder:Mr}),je({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(e,t){let{parser:r}=e;return{type:"enclose",mode:r.mode,label:"\\angl",body:t[0]}}});const zr={};function Ar(e){let{type:t,names:r,props:n,handler:o,htmlBuilder:s,mathmlBuilder:i}=e;const a={type:t,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:o};for(let e=0;e{if(!e.parser.settings.displayMode)throw new n("{"+e.envName+"} can be used only in display mode.")};function Rr(e){if(-1===e.indexOf("ed"))return-1===e.indexOf("*")}function Hr(e,t,r){let{hskipBeforeAndAfter:o,addJot:s,cols:i,arraystretch:a,colSeparationType:l,autoTag:h,singleRow:c,emptySingleRow:m,maxNumCols:p,leqno:u}=t;if(e.gullet.beginGroup(),c||e.gullet.macros.set("\\cr","\\\\\\relax"),!a){const t=e.gullet.expandMacroAsText("\\arraystretch");if(null==t)a=1;else if(a=parseFloat(t),!a||a<0)throw new n("Invalid \\arraystretch: "+t)}e.gullet.beginGroup();let d=[];const g=[d],f=[],b=[],y=null!=h?[]:void 0;function x(){h&&e.gullet.macros.set("\\@eqnsw","1",!0)}function w(){y&&(e.gullet.macros.get("\\df@tag")?(y.push(e.subparse([new Nr("\\df@tag")])),e.gullet.macros.set("\\df@tag",void 0,!0)):y.push(Boolean(h)&&"1"===e.gullet.macros.get("\\@eqnsw")))}for(x(),b.push(qr(e));;){let t=e.parseExpression(!1,c?"\\end":"\\\\");e.gullet.endGroup(),e.gullet.beginGroup(),t={type:"ordgroup",mode:e.mode,body:t},r&&(t={type:"styling",mode:e.mode,style:r,body:[t]}),d.push(t);const o=e.fetch().text;if("&"===o){if(p&&d.length===p){if(c||l)throw new n("Too many tab characters: &",e.nextToken);e.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}e.consume()}else{if("\\end"===o){w(),1===d.length&&"styling"===t.type&&0===t.body[0].body.length&&(g.length>1||!m)&&g.pop(),b.length0&&(x+=.25),c.push({pos:x,isDashed:e[t]})}for(v(i[0]),r=0;r0&&(p+=y,le)))for(r=0;r=a)continue;(o>0||e.hskipBeforeAndAfter)&&(i=l.deflt(c.pregap,u),0!==i&&(z=Ve.makeSpan(["arraycolsep"],[]),z.style.width=F(i),M.push(z)));let d=[];for(r=0;r0){const e=Ve.makeLineSpan("hline",t,m),r=Ve.makeLineSpan("hdashline",t,m),n=[{type:"elem",elem:h,shift:0}];for(;c.length>0;){const t=c.pop(),o=t.pos-k;t.isDashed?n.push({type:"elem",elem:r,shift:o}):n.push({type:"elem",elem:e,shift:o})}h=Ve.makeVList({positionType:"individualShift",children:n},t)}if(0===T.length)return Ve.makeSpan(["mord"],[h],t);{let e=Ve.makeVList({positionType:"individualShift",children:T},t);return e=Ve.makeSpan(["tag"],[e],t),Ve.makeFragment([h,e])}},Lr={c:"center ",l:"left ",r:"right "},Dr=function(e,t){const r=[],n=new gt.MathNode("mtd",[],["mtr-glue"]),o=new gt.MathNode("mtd",[],["mml-eqn-num"]);for(let s=0;s0){const t=e.cols;let r="",n=!1,o=0,i=t.length;"separator"===t[0].type&&(a+="top ",o=1),"separator"===t[t.length-1].type&&(a+="bottom ",i-=1);for(let e=o;e0?"left ":"",a+=c[c.length-1].length>0?"right ":"";for(let e=1;e-1?"alignat":"align",s="split"===e.envName,i=Hr(e.parser,{cols:r,addJot:!0,autoTag:s?void 0:Rr(e.envName),emptySingleRow:!0,colSeparationType:o,maxNumCols:s?2:void 0,leqno:e.parser.settings.leqno},"display");let a,l=0;const h={type:"ordgroup",mode:e.mode,body:[]};if(t[0]&&"ordgroup"===t[0].type){let e="";for(let r=0;r0&&c&&(n=1),r[e]={type:"align",align:t,pregap:n,postgap:0}}return i.colSeparationType=c?"align":"alignat",i};Ar({type:"array",names:["array","darray"],props:{numArgs:1},handler(e,t){const r=(Rt(t[0])?[t[0]]:qt(t[0],"ordgroup").body).map((function(e){const t=It(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 n("Unknown column alignment: "+t,e)})),o={cols:r,hskipBeforeAndAfter:!0,maxNumCols:r.length};return Hr(e.parser,o,Or(e.envName))},htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(e){const t={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[e.envName.replace("*","")];let r="c";const o={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if("*"===e.envName.charAt(e.envName.length-1)){const t=e.parser;if(t.consumeSpaces(),"["===t.fetch().text){if(t.consume(),t.consumeSpaces(),r=t.fetch().text,-1==="lcr".indexOf(r))throw new n("Expected l or c or r",t.nextToken);t.consume(),t.consumeSpaces(),t.expect("]"),t.consume(),o.cols=[{type:"align",align:r}]}}const s=Hr(e.parser,o,Or(e.envName)),i=Math.max(0,...s.body.map((e=>e.length)));return s.cols=new Array(i).fill({type:"align",align:r}),t?{type:"leftright",mode:e.mode,body:[s],left:t[0],right:t[1],rightColor:void 0}:s},htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(e){const t=Hr(e.parser,{arraystretch:.5},"script");return t.colSeparationType="small",t},htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["subarray"],props:{numArgs:1},handler(e,t){const r=(Rt(t[0])?[t[0]]:qt(t[0],"ordgroup").body).map((function(e){const t=It(e).text;if(-1!=="lc".indexOf(t))return{type:"align",align:t};throw new n("Unknown column alignment: "+t,e)}));if(r.length>1)throw new n("{subarray} can contain only one column");let o={cols:r,hskipBeforeAndAfter:!1,arraystretch:.5};if(o=Hr(e.parser,o,"script"),o.body.length>0&&o.body[0].length>1)throw new n("{subarray} can contain only one column");return o},htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(e){const t=Hr(e.parser,{arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},Or(e.envName));return{type:"leftright",mode:e.mode,body:[t],left:e.envName.indexOf("r")>-1?".":"\\{",right:e.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Vr,htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(e){l.contains(["gather","gather*"],e.envName)&&Ir(e);const t={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:Rr(e.envName),emptySingleRow:!0,leqno:e.parser.settings.leqno};return Hr(e.parser,t,"display")},htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Vr,htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(e){Ir(e);const t={autoTag:Rr(e.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:e.parser.settings.leqno};return Hr(e.parser,t,"display")},htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["CD"],props:{numArgs:0},handler(e){return Ir(e),function(e){const t=[];for(e.gullet.beginGroup(),e.gullet.macros.set("\\cr","\\\\\\relax"),e.gullet.beginGroup();;){t.push(e.parseExpression(!1,"\\\\")),e.gullet.endGroup(),e.gullet.beginGroup();const r=e.fetch().text;if("&"!==r&&"\\\\"!==r){if("\\end"===r){0===t[t.length-1].length&&t.pop();break}throw new n("Expected \\\\ or \\cr or \\end",e.nextToken)}e.consume()}let r=[];const o=[r];for(let a=0;a-1);else{if(!("<>AV".indexOf(o)>-1))throw new n('Expected one of "<>AV=|." after @',l[t]);for(let e=0;e<2;e++){let r=!0;for(let h=t+1;h{const r=e.font,n=t.withFont(r);return ht(e.body,n)},Gr=(e,t)=>{const r=e.font,n=t.withFont(r);return vt(e.body,n)},Ur={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};je({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=Ze(t[0]);let s=n;return s in Ur&&(s=Ur[s]),{type:"font",mode:r.mode,font:s.slice(1),body:o}},htmlBuilder:Fr,mathmlBuilder:Gr}),je({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(e,t)=>{let{parser:r}=e;const n=t[0],o=l.isCharacterBox(n);return{type:"mclass",mode:r.mode,mclass:Ft(n),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:n}],isCharacterBox:o}}}),je({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(e,t)=>{let{parser:r,funcName:n,breakOnTokenText:o}=e;const{mode:s}=r,i=r.parseExpression(!0,o);return{type:"font",mode:s,font:"math"+n.slice(1),body:{type:"ordgroup",mode:r.mode,body:i}}},htmlBuilder:Fr,mathmlBuilder:Gr});const Yr=(e,t)=>{let r=t;return"display"===e?r=r.id>=w.SCRIPT.id?r.text():w.DISPLAY:"text"===e&&r.size===w.DISPLAY.size?r=w.TEXT:"script"===e?r=w.SCRIPT:"scriptscript"===e&&(r=w.SCRIPTSCRIPT),r},Xr=(e,t)=>{const r=Yr(e.size,t.style),n=r.fracNum(),o=r.fracDen();let s;s=t.havingStyle(n);const i=ht(e.numer,s,t);if(e.continued){const e=8.5/t.fontMetrics().ptPerEm,r=3.5/t.fontMetrics().ptPerEm;i.height=i.height0?3*c:7*c,u=t.fontMetrics().denom1):(h>0?(m=t.fontMetrics().num2,p=c):(m=t.fontMetrics().num3,p=3*c),u=t.fontMetrics().denom2),l){const e=t.fontMetrics().axisHeight;m-i.depth-(e+.5*h){let r=new gt.MathNode("mfrac",[vt(e.numer,t),vt(e.denom,t)]);if(e.hasBarLine){if(e.barSize){const n=P(e.barSize,t);r.setAttribute("linethickness",F(n))}}else r.setAttribute("linethickness","0px");const n=Yr(e.size,t.style);if(n.size!==t.style.size){r=new gt.MathNode("mstyle",[r]);const e=n.size===w.DISPLAY.size?"true":"false";r.setAttribute("displaystyle",e),r.setAttribute("scriptlevel","0")}if(null!=e.leftDelim||null!=e.rightDelim){const t=[];if(null!=e.leftDelim){const r=new gt.MathNode("mo",[new gt.TextNode(e.leftDelim.replace("\\",""))]);r.setAttribute("fence","true"),t.push(r)}if(t.push(r),null!=e.rightDelim){const r=new gt.MathNode("mo",[new gt.TextNode(e.rightDelim.replace("\\",""))]);r.setAttribute("fence","true"),t.push(r)}return bt(t)}return r};je({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=t[0],s=t[1];let i,a=null,l=null,h="auto";switch(n){case"\\dfrac":case"\\frac":case"\\tfrac":i=!0;break;case"\\\\atopfrac":i=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":i=!1,a="(",l=")";break;case"\\\\bracefrac":i=!1,a="\\{",l="\\}";break;case"\\\\brackfrac":i=!1,a="[",l="]";break;default:throw new Error("Unrecognized genfrac command")}switch(n){case"\\dfrac":case"\\dbinom":h="display";break;case"\\tfrac":case"\\tbinom":h="text"}return{type:"genfrac",mode:r.mode,continued:!1,numer:o,denom:s,hasBarLine:i,leftDelim:a,rightDelim:l,size:h,barSize:null}},htmlBuilder:Xr,mathmlBuilder:Wr}),je({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=t[0],s=t[1];return{type:"genfrac",mode:r.mode,continued:!0,numer:o,denom:s,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}}}),je({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(e){let t,{parser:r,funcName:n,token:o}=e;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:o}}});const _r=["display","text","script","scriptscript"],jr=function(e){let t=null;return e.length>0&&(t=e,t="."===t?null:t),t};je({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(e,t){let{parser:r}=e;const n=t[4],o=t[5],s=Ze(t[0]),i="atom"===s.type&&"open"===s.family?jr(s.text):null,a=Ze(t[1]),l="atom"===a.type&&"close"===a.family?jr(a.text):null,h=qt(t[2],"size");let c,m=null;h.isBlank?c=!0:(m=h.value,c=m.number>0);let p="auto",u=t[3];if("ordgroup"===u.type){if(u.body.length>0){const e=qt(u.body[0],"textord");p=_r[Number(e.text)]}}else u=qt(u,"textord"),p=_r[Number(u.text)];return{type:"genfrac",mode:r.mode,numer:n,denom:o,continued:!1,hasBarLine:c,barSize:m,leftDelim:i,rightDelim:l,size:p}},htmlBuilder:Xr,mathmlBuilder:Wr}),je({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(e,t){let{parser:r,funcName:n,token:o}=e;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:qt(t[0],"size").value,token:o}}}),je({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=t[0],s=function(e){if(!e)throw new Error("Expected non-null, but got "+String(e));return e}(qt(t[1],"infix").size),i=t[2],a=s.number>0;return{type:"genfrac",mode:r.mode,numer:o,denom:i,continued:!1,hasBarLine:a,barSize:s,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:Xr,mathmlBuilder:Wr});const $r=(e,t)=>{const r=t.style;let n,o;"supsub"===e.type?(n=e.sup?ht(e.sup,t.havingStyle(r.sup()),t):ht(e.sub,t.havingStyle(r.sub()),t),o=qt(e.base,"horizBrace")):o=qt(e,"horizBrace");const s=ht(o.base,t.havingBaseStyle(w.DISPLAY)),i=Nt(o,t);let a;if(o.isOver?(a=Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:i}]},t),a.children[0].children[0].children[1].classes.push("svg-align")):(a=Ve.makeVList({positionType:"bottom",positionData:s.depth+.1+i.height,children:[{type:"elem",elem:i},{type:"kern",size:.1},{type:"elem",elem:s}]},t),a.children[0].children[0].children[0].classes.push("svg-align")),n){const e=Ve.makeSpan(["mord",o.isOver?"mover":"munder"],[a],t);a=o.isOver?Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:e},{type:"kern",size:.2},{type:"elem",elem:n}]},t):Ve.makeVList({positionType:"bottom",positionData:e.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:e}]},t)}return Ve.makeSpan(["mord",o.isOver?"mover":"munder"],[a],t)};je({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(e,t){let{parser:r,funcName:n}=e;return{type:"horizBrace",mode:r.mode,label:n,isOver:/^\\over/.test(n),base:t[0]}},htmlBuilder:$r,mathmlBuilder:(e,t)=>{const r=Ct(e.label);return new gt.MathNode(e.isOver?"mover":"munder",[vt(e.base,t),r])}}),je({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;const n=t[1],o=qt(t[0],"url").url;return r.settings.isTrusted({command:"\\href",url:o})?{type:"href",mode:r.mode,href:o,body:Ke(n)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:(e,t)=>{const r=nt(e.body,t,!1);return Ve.makeAnchor(e.href,[],r,t)},mathmlBuilder:(e,t)=>{let r=wt(e.body,t);return r instanceof ut||(r=new ut("mrow",[r])),r.setAttribute("href",e.href),r}}),je({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;const n=qt(t[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");const o=[];for(let e=0;e{let{parser:r,funcName:o,token:s}=e;const i=qt(t[0],"raw").string,a=t[1];let l;r.settings.strict&&r.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");const h={};switch(o){case"\\htmlClass":h.class=i,l={command:"\\htmlClass",class:i};break;case"\\htmlId":h.id=i,l={command:"\\htmlId",id:i};break;case"\\htmlStyle":h.style=i,l={command:"\\htmlStyle",style:i};break;case"\\htmlData":{const e=i.split(",");for(let t=0;t{const r=nt(e.body,t,!1),n=["enclosing"];e.attributes.class&&n.push(...e.attributes.class.trim().split(/\s+/));const o=Ve.makeSpan(n,r,t);for(const t in e.attributes)"class"!==t&&e.attributes.hasOwnProperty(t)&&o.setAttribute(t,e.attributes[t]);return o},mathmlBuilder:(e,t)=>wt(e.body,t)}),je({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;return{type:"htmlmathml",mode:r.mode,html:Ke(t[0]),mathml:Ke(t[1])}},htmlBuilder:(e,t)=>{const r=nt(e.html,t,!1);return Ve.makeFragment(r)},mathmlBuilder:(e,t)=>wt(e.mathml,t)});const Zr=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};{const t=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!t)throw new n("Invalid size: '"+e+"' in \\includegraphics");const r={number:+(t[1]+t[2]),unit:t[3]};if(!V(r))throw new n("Invalid unit: '"+r.unit+"' in \\includegraphics.");return r}};je({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(e,t,r)=>{let{parser:o}=e,s={number:0,unit:"em"},i={number:.9,unit:"em"},a={number:0,unit:"em"},l="";if(r[0]){const e=qt(r[0],"raw").string.split(",");for(let t=0;t{const r=P(e.height,t);let n=0;e.totalheight.number>0&&(n=P(e.totalheight,t)-r);let o=0;e.width.number>0&&(o=P(e.width,t));const s={height:F(r+n)};o>0&&(s.width=F(o)),n>0&&(s.verticalAlign=F(-n));const i=new j(e.src,e.alt,s);return i.height=r,i.depth=n,i},mathmlBuilder:(e,t)=>{const r=new gt.MathNode("mglyph",[]);r.setAttribute("alt",e.alt);const n=P(e.height,t);let o=0;if(e.totalheight.number>0&&(o=P(e.totalheight,t)-n,r.setAttribute("valign",F(-o))),r.setAttribute("height",F(n+o)),e.width.number>0){const n=P(e.width,t);r.setAttribute("width",F(n))}return r.setAttribute("src",e.src),r}}),je({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(e,t){let{parser:r,funcName:n}=e;const o=qt(t[0],"size");if(r.settings.strict){const e="m"===n[1],t="mu"===o.value.unit;e?(t||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, not "+o.value.unit+" units"),"math"!==r.mode&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):t&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:o.value}},htmlBuilder(e,t){return Ve.makeGlue(e.dimension,t)},mathmlBuilder(e,t){const r=P(e.dimension,t);return new gt.SpaceNode(r)}}),je({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=t[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:o}},htmlBuilder:(e,t)=>{let r;"clap"===e.alignment?(r=Ve.makeSpan([],[ht(e.body,t)]),r=Ve.makeSpan(["inner"],[r],t)):r=Ve.makeSpan(["inner"],[ht(e.body,t)]);const n=Ve.makeSpan(["fix"],[]);let o=Ve.makeSpan([e.alignment],[r,n],t);const s=Ve.makeSpan(["strut"]);return s.style.height=F(o.height+o.depth),o.depth&&(s.style.verticalAlign=F(-o.depth)),o.children.unshift(s),o=Ve.makeSpan(["thinbox"],[o],t),Ve.makeSpan(["mord","vbox"],[o],t)},mathmlBuilder:(e,t)=>{const r=new gt.MathNode("mpadded",[vt(e.body,t)]);if("rlap"!==e.alignment){const t="llap"===e.alignment?"-1":"-0.5";r.setAttribute("lspace",t+"width")}return r.setAttribute("width","0px"),r}}),je({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(e,t){let{funcName:r,parser:n}=e;const o=n.mode;n.switchMode("math");const s="\\("===r?"\\)":"$",i=n.parseExpression(!1,s);return n.expect(s),n.switchMode(o),{type:"styling",mode:n.mode,style:"text",body:i}}}),je({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(e,t){throw new n("Mismatched "+e.funcName)}});const Kr=(e,t)=>{switch(t.style.size){case w.DISPLAY.size:return e.display;case w.TEXT.size:return e.text;case w.SCRIPT.size:return e.script;case w.SCRIPTSCRIPT.size:return e.scriptscript;default:return e.text}};je({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(e,t)=>{let{parser:r}=e;return{type:"mathchoice",mode:r.mode,display:Ke(t[0]),text:Ke(t[1]),script:Ke(t[2]),scriptscript:Ke(t[3])}},htmlBuilder:(e,t)=>{const r=Kr(e,t),n=nt(r,t,!1);return Ve.makeFragment(n)},mathmlBuilder:(e,t)=>{const r=Kr(e,t);return wt(r,t)}});const Jr=(e,t,r,n,o,s,i)=>{e=Ve.makeSpan([],[e]);const a=r&&l.isCharacterBox(r);let h,c,m;if(t){const e=ht(t,n.havingStyle(o.sup()),n);c={elem:e,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-e.depth)}}if(r){const e=ht(r,n.havingStyle(o.sub()),n);h={elem:e,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-e.height)}}if(c&&h){const t=n.fontMetrics().bigOpSpacing5+h.elem.height+h.elem.depth+h.kern+e.depth+i;m=Ve.makeVList({positionType:"bottom",positionData:t,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:h.elem,marginLeft:F(-s)},{type:"kern",size:h.kern},{type:"elem",elem:e},{type:"kern",size:c.kern},{type:"elem",elem:c.elem,marginLeft:F(s)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}else if(h){const t=e.height-i;m=Ve.makeVList({positionType:"top",positionData:t,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:h.elem,marginLeft:F(-s)},{type:"kern",size:h.kern},{type:"elem",elem:e}]},n)}else{if(!c)return e;{const t=e.depth+i;m=Ve.makeVList({positionType:"bottom",positionData:t,children:[{type:"elem",elem:e},{type:"kern",size:c.kern},{type:"elem",elem:c.elem,marginLeft:F(s)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}}const p=[m];if(h&&0!==s&&!a){const e=Ve.makeSpan(["mspace"],[],n);e.style.marginRight=F(s),p.unshift(e)}return Ve.makeSpan(["mop","op-limits"],p,n)},Qr=["\\smallint"],en=(e,t)=>{let r,n,o,s=!1;"supsub"===e.type?(r=e.sup,n=e.sub,o=qt(e.base,"op"),s=!0):o=qt(e,"op");const i=t.style;let a,h=!1;if(i.size===w.DISPLAY.size&&o.symbol&&!l.contains(Qr,o.name)&&(h=!0),o.symbol){const e=h?"Size2-Regular":"Size1-Regular";let r="";if("\\oiint"!==o.name&&"\\oiiint"!==o.name||(r=o.name.slice(1),o.name="oiint"===r?"\\iint":"\\iiint"),a=Ve.makeSymbol(o.name,e,"math",t,["mop","op-symbol",h?"large-op":"small-op"]),r.length>0){const e=a.italic,n=Ve.staticSvg(r+"Size"+(h?"2":"1"),t);a=Ve.makeVList({positionType:"individualShift",children:[{type:"elem",elem:a,shift:0},{type:"elem",elem:n,shift:h?.08:0}]},t),o.name="\\"+r,a.classes.unshift("mop"),a.italic=e}}else if(o.body){const e=nt(o.body,t,!0);1===e.length&&e[0]instanceof Z?(a=e[0],a.classes[0]="mop"):a=Ve.makeSpan(["mop"],e,t)}else{const e=[];for(let r=1;r{let r;if(e.symbol)r=new ut("mo",[ft(e.name,e.mode)]),l.contains(Qr,e.name)&&r.setAttribute("largeop","false");else if(e.body)r=new ut("mo",xt(e.body,t));else{r=new ut("mi",[new dt(e.name.slice(1))]);const t=new ut("mo",[ft("\u2061","text")]);r=e.parentIsSupSub?new ut("mrow",[r,t]):pt([r,t])}return r},rn={"\u220f":"\\prod","\u2210":"\\coprod","\u2211":"\\sum","\u22c0":"\\bigwedge","\u22c1":"\\bigvee","\u22c2":"\\bigcap","\u22c3":"\\bigcup","\u2a00":"\\bigodot","\u2a01":"\\bigoplus","\u2a02":"\\bigotimes","\u2a04":"\\biguplus","\u2a06":"\\bigsqcup"};je({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","\u220f","\u2210","\u2211","\u22c0","\u22c1","\u22c2","\u22c3","\u2a00","\u2a01","\u2a02","\u2a04","\u2a06"],props:{numArgs:0},handler:(e,t)=>{let{parser:r,funcName:n}=e,o=n;return 1===o.length&&(o=rn[o]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:o}},htmlBuilder:en,mathmlBuilder:tn}),je({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{let{parser:r}=e;const n=t[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:Ke(n)}},htmlBuilder:en,mathmlBuilder:tn});const nn={"\u222b":"\\int","\u222c":"\\iint","\u222d":"\\iiint","\u222e":"\\oint","\u222f":"\\oiint","\u2230":"\\oiiint"};je({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(e){let{parser:t,funcName:r}=e;return{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:en,mathmlBuilder:tn}),je({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(e){let{parser:t,funcName:r}=e;return{type:"op",mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:en,mathmlBuilder:tn}),je({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","\u222b","\u222c","\u222d","\u222e","\u222f","\u2230"],props:{numArgs:0},handler(e){let{parser:t,funcName:r}=e,n=r;return 1===n.length&&(n=nn[n]),{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:en,mathmlBuilder:tn});const on=(e,t)=>{let r,n,o,s,i=!1;if("supsub"===e.type?(r=e.sup,n=e.sub,o=qt(e.base,"operatorname"),i=!0):o=qt(e,"operatorname"),o.body.length>0){const e=o.body.map((e=>{const t=e.text;return"string"==typeof t?{type:"textord",mode:e.mode,text:t}:e})),r=nt(e,t.withFont("mathrm"),!0);for(let e=0;e{let{parser:r,funcName:n}=e;const o=t[0];return{type:"operatorname",mode:r.mode,body:Ke(o),alwaysHandleSupSub:"\\operatornamewithlimits"===n,limits:!1,parentIsSupSub:!1}},htmlBuilder:on,mathmlBuilder:(e,t)=>{let r=xt(e.body,t.withFont("mathrm")),n=!0;for(let e=0;ee.toText())).join("");r=[new gt.TextNode(e)]}const o=new gt.MathNode("mi",r);o.setAttribute("mathvariant","normal");const s=new gt.MathNode("mo",[ft("\u2061","text")]);return e.parentIsSupSub?new gt.MathNode("mrow",[o,s]):gt.newDocumentFragment([o,s])}}),Br("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@"),$e({type:"ordgroup",htmlBuilder(e,t){return e.semisimple?Ve.makeFragment(nt(e.body,t,!1)):Ve.makeSpan(["mord"],nt(e.body,t,!0),t)},mathmlBuilder(e,t){return wt(e.body,t,!0)}}),je({type:"overline",names:["\\overline"],props:{numArgs:1},handler(e,t){let{parser:r}=e;const n=t[0];return{type:"overline",mode:r.mode,body:n}},htmlBuilder(e,t){const r=ht(e.body,t.havingCrampedStyle()),n=Ve.makeLineSpan("overline-line",t),o=t.fontMetrics().defaultRuleThickness,s=Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*o},{type:"elem",elem:n},{type:"kern",size:o}]},t);return Ve.makeSpan(["mord","overline"],[s],t)},mathmlBuilder(e,t){const r=new gt.MathNode("mo",[new gt.TextNode("\u203e")]);r.setAttribute("stretchy","true");const n=new gt.MathNode("mover",[vt(e.body,t),r]);return n.setAttribute("accent","true"),n}}),je({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;const n=t[0];return{type:"phantom",mode:r.mode,body:Ke(n)}},htmlBuilder:(e,t)=>{const r=nt(e.body,t.withPhantom(),!1);return Ve.makeFragment(r)},mathmlBuilder:(e,t)=>{const r=xt(e.body,t);return new gt.MathNode("mphantom",r)}}),je({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;const n=t[0];return{type:"hphantom",mode:r.mode,body:n}},htmlBuilder:(e,t)=>{let r=Ve.makeSpan([],[ht(e.body,t.withPhantom())]);if(r.height=0,r.depth=0,r.children)for(let e=0;e{const r=xt(Ke(e.body),t),n=new gt.MathNode("mphantom",r),o=new gt.MathNode("mpadded",[n]);return o.setAttribute("height","0px"),o.setAttribute("depth","0px"),o}}),je({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;const n=t[0];return{type:"vphantom",mode:r.mode,body:n}},htmlBuilder:(e,t)=>{const r=Ve.makeSpan(["inner"],[ht(e.body,t.withPhantom())]),n=Ve.makeSpan(["fix"],[]);return Ve.makeSpan(["mord","rlap"],[r,n],t)},mathmlBuilder:(e,t)=>{const r=xt(Ke(e.body),t),n=new gt.MathNode("mphantom",r),o=new gt.MathNode("mpadded",[n]);return o.setAttribute("width","0px"),o}}),je({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(e,t){let{parser:r}=e;const n=qt(t[0],"size").value,o=t[1];return{type:"raisebox",mode:r.mode,dy:n,body:o}},htmlBuilder(e,t){const r=ht(e.body,t),n=P(e.dy,t);return Ve.makeVList({positionType:"shift",positionData:-n,children:[{type:"elem",elem:r}]},t)},mathmlBuilder(e,t){const r=new gt.MathNode("mpadded",[vt(e.body,t)]),n=e.dy.number+e.dy.unit;return r.setAttribute("voffset",n),r}}),je({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0},handler(e){let{parser:t}=e;return{type:"internal",mode:t.mode}}}),je({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,argTypes:["size","size","size"]},handler(e,t,r){let{parser:n}=e;const o=r[0],s=qt(t[0],"size"),i=qt(t[1],"size");return{type:"rule",mode:n.mode,shift:o&&qt(o,"size").value,width:s.value,height:i.value}},htmlBuilder(e,t){const r=Ve.makeSpan(["mord","rule"],[],t),n=P(e.width,t),o=P(e.height,t),s=e.shift?P(e.shift,t):0;return r.style.borderRightWidth=F(n),r.style.borderTopWidth=F(o),r.style.bottom=F(s),r.width=n,r.height=o+s,r.depth=-s,r.maxFontSize=1.125*o*t.sizeMultiplier,r},mathmlBuilder(e,t){const r=P(e.width,t),n=P(e.height,t),o=e.shift?P(e.shift,t):0,s=t.color&&t.getColor()||"black",i=new gt.MathNode("mspace");i.setAttribute("mathbackground",s),i.setAttribute("width",F(r)),i.setAttribute("height",F(n));const a=new gt.MathNode("mpadded",[i]);return o>=0?a.setAttribute("height",F(o)):(a.setAttribute("height",F(o)),a.setAttribute("depth",F(-o))),a.setAttribute("voffset",F(o)),a}});const an=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"];je({type:"sizing",names:an,props:{numArgs:0,allowedInText:!0},handler:(e,t)=>{let{breakOnTokenText:r,funcName:n,parser:o}=e;const s=o.parseExpression(!1,r);return{type:"sizing",mode:o.mode,size:an.indexOf(n)+1,body:s}},htmlBuilder:(e,t)=>{const r=t.havingSize(e.size);return sn(e.body,r,t)},mathmlBuilder:(e,t)=>{const r=t.havingSize(e.size),n=xt(e.body,r),o=new gt.MathNode("mstyle",n);return o.setAttribute("mathsize",F(r.sizeMultiplier)),o}}),je({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(e,t,r)=>{let{parser:n}=e,o=!1,s=!1;const i=r[0]&&qt(r[0],"ordgroup");if(i){let e="";for(let t=0;t{const r=Ve.makeSpan([],[ht(e.body,t)]);if(!e.smashHeight&&!e.smashDepth)return r;if(e.smashHeight&&(r.height=0,r.children))for(let e=0;e{const r=new gt.MathNode("mpadded",[vt(e.body,t)]);return e.smashHeight&&r.setAttribute("height","0px"),e.smashDepth&&r.setAttribute("depth","0px"),r}}),je({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(e,t,r){let{parser:n}=e;const o=r[0],s=t[0];return{type:"sqrt",mode:n.mode,body:s,index:o}},htmlBuilder(e,t){let r=ht(e.body,t.havingCrampedStyle());0===r.height&&(r.height=t.fontMetrics().xHeight),r=Ve.wrapFragment(r,t);const n=t.fontMetrics().defaultRuleThickness;let o=n;t.style.idr.height+r.depth+s&&(s=(s+c-r.height-r.depth)/2);const m=a.height-r.height-s-l;r.style.paddingLeft=F(h);const p=Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+m)},{type:"elem",elem:a},{type:"kern",size:l}]},t);if(e.index){const r=t.havingStyle(w.SCRIPTSCRIPT),n=ht(e.index,r,t),o=.6*(p.height-p.depth),s=Ve.makeVList({positionType:"shift",positionData:-o,children:[{type:"elem",elem:n}]},t),i=Ve.makeSpan(["root"],[s]);return Ve.makeSpan(["mord","sqrt"],[i,p],t)}return Ve.makeSpan(["mord","sqrt"],[p],t)},mathmlBuilder(e,t){const{body:r,index:n}=e;return n?new gt.MathNode("mroot",[vt(r,t),vt(n,t)]):new gt.MathNode("msqrt",[vt(r,t)])}});const ln={display:w.DISPLAY,text:w.TEXT,script:w.SCRIPT,scriptscript:w.SCRIPTSCRIPT};je({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e,t){let{breakOnTokenText:r,funcName:n,parser:o}=e;const s=o.parseExpression(!0,r),i=n.slice(1,n.length-5);return{type:"styling",mode:o.mode,style:i,body:s}},htmlBuilder(e,t){const r=ln[e.style],n=t.havingStyle(r).withFont("");return sn(e.body,n,t)},mathmlBuilder(e,t){const r=ln[e.style],n=t.havingStyle(r),o=xt(e.body,n),s=new gt.MathNode("mstyle",o),i={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]}[e.style];return s.setAttribute("scriptlevel",i[0]),s.setAttribute("displaystyle",i[1]),s}});$e({type:"supsub",htmlBuilder(e,t){const r=function(e,t){const r=e.base;if(r)return"op"===r.type?r.limits&&(t.style.size===w.DISPLAY.size||r.alwaysHandleSupSub)?en:null:"operatorname"===r.type?r.alwaysHandleSupSub&&(t.style.size===w.DISPLAY.size||r.limits)?on:null:"accent"===r.type?l.isCharacterBox(r.base)?Ht:null:"horizBrace"===r.type&&!e.sub===r.isOver?$r:null;return null}(e,t);if(r)return r(e,t);const{base:n,sup:o,sub:s}=e,i=ht(n,t);let a,h;const c=t.fontMetrics();let m=0,p=0;const u=n&&l.isCharacterBox(n);if(o){const e=t.havingStyle(t.style.sup());a=ht(o,e,t),u||(m=i.height-e.fontMetrics().supDrop*e.sizeMultiplier/t.sizeMultiplier)}if(s){const e=t.havingStyle(t.style.sub());h=ht(s,e,t),u||(p=i.depth+e.fontMetrics().subDrop*e.sizeMultiplier/t.sizeMultiplier)}let d;d=t.style===w.DISPLAY?c.sup1:t.style.cramped?c.sup3:c.sup2;const g=t.sizeMultiplier,f=F(.5/c.ptPerEm/g);let b,y=null;if(h){const t=e.base&&"op"===e.base.type&&e.base.name&&("\\oiint"===e.base.name||"\\oiiint"===e.base.name);(i instanceof Z||t)&&(y=F(-i.italic))}if(a&&h){m=Math.max(m,d,a.depth+.25*c.xHeight),p=Math.max(p,c.sub2);const e=4*c.defaultRuleThickness;if(m-a.depth-(h.height-p)0&&(m+=t,p-=t)}const r=[{type:"elem",elem:h,shift:p,marginRight:f,marginLeft:y},{type:"elem",elem:a,shift:-m,marginRight:f}];b=Ve.makeVList({positionType:"individualShift",children:r},t)}else if(h){p=Math.max(p,c.sub1,h.height-.8*c.xHeight);const e=[{type:"elem",elem:h,marginLeft:y,marginRight:f}];b=Ve.makeVList({positionType:"shift",positionData:p,children:e},t)}else{if(!a)throw new Error("supsub must have either sup or sub.");m=Math.max(m,d,a.depth+.25*c.xHeight),b=Ve.makeVList({positionType:"shift",positionData:-m,children:[{type:"elem",elem:a,marginRight:f}]},t)}const x=at(i,"right")||"mord";return Ve.makeSpan([x],[i,Ve.makeSpan(["msupsub"],[b])],t)},mathmlBuilder(e,t){let r,n,o=!1;e.base&&"horizBrace"===e.base.type&&(n=!!e.sup,n===e.base.isOver&&(o=!0,r=e.base.isOver)),!e.base||"op"!==e.base.type&&"operatorname"!==e.base.type||(e.base.parentIsSupSub=!0);const s=[vt(e.base,t)];let i;if(e.sub&&s.push(vt(e.sub,t)),e.sup&&s.push(vt(e.sup,t)),o)i=r?"mover":"munder";else if(e.sub)if(e.sup){const r=e.base;i=r&&"op"===r.type&&r.limits&&t.style===w.DISPLAY||r&&"operatorname"===r.type&&r.alwaysHandleSupSub&&(t.style===w.DISPLAY||r.limits)?"munderover":"msubsup"}else{const r=e.base;i=r&&"op"===r.type&&r.limits&&(t.style===w.DISPLAY||r.alwaysHandleSupSub)||r&&"operatorname"===r.type&&r.alwaysHandleSupSub&&(r.limits||t.style===w.DISPLAY)?"munder":"msub"}else{const r=e.base;i=r&&"op"===r.type&&r.limits&&(t.style===w.DISPLAY||r.alwaysHandleSupSub)||r&&"operatorname"===r.type&&r.alwaysHandleSupSub&&(r.limits||t.style===w.DISPLAY)?"mover":"msup"}return new gt.MathNode(i,s)}}),$e({type:"atom",htmlBuilder(e,t){return Ve.mathsym(e.text,e.mode,t,["m"+e.family])},mathmlBuilder(e,t){const r=new gt.MathNode("mo",[ft(e.text,e.mode)]);if("bin"===e.family){const n=yt(e,t);"bold-italic"===n&&r.setAttribute("mathvariant",n)}else"punct"===e.family?r.setAttribute("separator","true"):"open"!==e.family&&"close"!==e.family||r.setAttribute("stretchy","false");return r}});const hn={mi:"italic",mn:"normal",mtext:"normal"};$e({type:"mathord",htmlBuilder(e,t){return Ve.makeOrd(e,t,"mathord")},mathmlBuilder(e,t){const r=new gt.MathNode("mi",[ft(e.text,e.mode,t)]),n=yt(e,t)||"italic";return n!==hn[r.type]&&r.setAttribute("mathvariant",n),r}}),$e({type:"textord",htmlBuilder(e,t){return Ve.makeOrd(e,t,"textord")},mathmlBuilder(e,t){const r=ft(e.text,e.mode,t),n=yt(e,t)||"normal";let o;return o="text"===e.mode?new gt.MathNode("mtext",[r]):/[0-9]/.test(e.text)?new gt.MathNode("mn",[r]):"\\prime"===e.text?new gt.MathNode("mo",[r]):new gt.MathNode("mi",[r]),n!==hn[o.type]&&o.setAttribute("mathvariant",n),o}});const cn={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},mn={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};$e({type:"spacing",htmlBuilder(e,t){if(mn.hasOwnProperty(e.text)){const r=mn[e.text].className||"";if("text"===e.mode){const n=Ve.makeOrd(e,t,"textord");return n.classes.push(r),n}return Ve.makeSpan(["mspace",r],[Ve.mathsym(e.text,e.mode,t)],t)}if(cn.hasOwnProperty(e.text))return Ve.makeSpan(["mspace",cn[e.text]],[],t);throw new n('Unknown type of space "'+e.text+'"')},mathmlBuilder(e,t){let r;if(!mn.hasOwnProperty(e.text)){if(cn.hasOwnProperty(e.text))return new gt.MathNode("mspace");throw new n('Unknown type of space "'+e.text+'"')}return r=new gt.MathNode("mtext",[new gt.TextNode("\xa0")]),r}});const pn=()=>{const e=new gt.MathNode("mtd",[]);return e.setAttribute("width","50%"),e};$e({type:"tag",mathmlBuilder(e,t){const r=new gt.MathNode("mtable",[new gt.MathNode("mtr",[pn(),new gt.MathNode("mtd",[wt(e.body,t)]),pn(),new gt.MathNode("mtd",[wt(e.tag,t)])])]);return r.setAttribute("width","100%"),r}});const un={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},dn={"\\textbf":"textbf","\\textmd":"textmd"},gn={"\\textit":"textit","\\textup":"textup"},fn=(e,t)=>{const r=e.font;return r?un[r]?t.withTextFontFamily(un[r]):dn[r]?t.withTextFontWeight(dn[r]):"\\emph"===r?"textit"===t.fontShape?t.withTextFontShape("textup"):t.withTextFontShape("textit"):t.withTextFontShape(gn[r]):t};je({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(e,t){let{parser:r,funcName:n}=e;const o=t[0];return{type:"text",mode:r.mode,body:Ke(o),font:n}},htmlBuilder(e,t){const r=fn(e,t),n=nt(e.body,r,!0);return Ve.makeSpan(["mord","text"],n,r)},mathmlBuilder(e,t){const r=fn(e,t);return wt(e.body,r)}}),je({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(e,t){let{parser:r}=e;return{type:"underline",mode:r.mode,body:t[0]}},htmlBuilder(e,t){const r=ht(e.body,t),n=Ve.makeLineSpan("underline-line",t),o=t.fontMetrics().defaultRuleThickness,s=Ve.makeVList({positionType:"top",positionData:r.height,children:[{type:"kern",size:o},{type:"elem",elem:n},{type:"kern",size:3*o},{type:"elem",elem:r}]},t);return Ve.makeSpan(["mord","underline"],[s],t)},mathmlBuilder(e,t){const r=new gt.MathNode("mo",[new gt.TextNode("\u203e")]);r.setAttribute("stretchy","true");const n=new gt.MathNode("munder",[vt(e.body,t),r]);return n.setAttribute("accentunder","true"),n}}),je({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(e,t){let{parser:r}=e;return{type:"vcenter",mode:r.mode,body:t[0]}},htmlBuilder(e,t){const r=ht(e.body,t),n=t.fontMetrics().axisHeight,o=.5*(r.height-n-(r.depth+n));return Ve.makeVList({positionType:"shift",positionData:o,children:[{type:"elem",elem:r}]},t)},mathmlBuilder(e,t){return new gt.MathNode("mpadded",[vt(e.body,t)],["vcenter"])}}),je({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(e,t,r){throw new n("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(e,t){const r=bn(e),n=[],o=t.havingStyle(t.style.text());for(let t=0;te.body.replace(/ /g,e.star?"\u2423":"\xa0");var yn=Xe;const xn="[ \r\n\t]",wn="(\\\\[a-zA-Z@]+)"+xn+"*",vn="[\u0300-\u036f]",kn=new RegExp(vn+"+$"),Sn="("+xn+"+)|\\\\(\n|[ \r\t]+\n?)[ \r\t]*|([!-\\[\\]-\u2027\u202a-\ud7ff\uf900-\uffff]"+vn+"*|[\ud800-\udbff][\udc00-\udfff]"+vn+"*|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5|"+wn+"|\\\\[^\ud800-\udfff])";class Mn{constructor(e,t){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=t,this.tokenRegex=new RegExp(Sn,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,t){this.catcodes[e]=t}lex(){const e=this.input,t=this.tokenRegex.lastIndex;if(t===e.length)return new Nr("EOF",new Cr(this,t,t));const r=this.tokenRegex.exec(e);if(null===r||r.index!==t)throw new n("Unexpected character: '"+e[t]+"'",new Nr(e[t],new Cr(this,t,t+1)));const o=r[6]||r[3]||(r[2]?"\\ ":" ");if(14===this.catcodes[o]){const t=e.indexOf("\n",this.tokenRegex.lastIndex);return-1===t?(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=t+1,this.lex()}return new Nr(o,new Cr(this,t,this.tokenRegex.lastIndex))}}class zn{constructor(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=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(0===this.undefStack.length)throw new n("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");const e=this.undefStack.pop();for(const t in e)e.hasOwnProperty(t)&&(null==e[t]?delete this.current[t]:this.current[t]=e[t])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,t,r){if(void 0===r&&(r=!1),r){for(let t=0;t0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{const t=this.undefStack[this.undefStack.length-1];t&&!t.hasOwnProperty(e)&&(t[e]=this.current[e])}null==t?delete this.current[e]:this.current[e]=t}}var An=Tr;Br("\\noexpand",(function(e){const t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}})),Br("\\expandafter",(function(e){const t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}})),Br("\\@firstoftwo",(function(e){return{tokens:e.consumeArgs(2)[0],numArgs:0}})),Br("\\@secondoftwo",(function(e){return{tokens:e.consumeArgs(2)[1],numArgs:0}})),Br("\\@ifnextchar",(function(e){const t=e.consumeArgs(3);e.consumeSpaces();const r=e.future();return 1===t[0].length&&t[0][0].text===r.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}})),Br("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),Br("\\TextOrMath",(function(e){const t=e.consumeArgs(2);return"text"===e.mode?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}}));const Tn={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};Br("\\char",(function(e){let t,r=e.popToken(),o="";if("'"===r.text)t=8,r=e.popToken();else if('"'===r.text)t=16,r=e.popToken();else if("`"===r.text)if(r=e.popToken(),"\\"===r.text[0])o=r.text.charCodeAt(1);else{if("EOF"===r.text)throw new n("\\char` missing argument");o=r.text.charCodeAt(0)}else t=10;if(t){if(o=Tn[r.text],null==o||o>=t)throw new n("Invalid base-"+t+" digit "+r.text);let s;for(;null!=(s=Tn[e.future().text])&&s{let o=e.consumeArg().tokens;if(1!==o.length)throw new n("\\newcommand's first argument must be a macro name");const s=o[0].text,i=e.isDefined(s);if(i&&!t)throw new n("\\newcommand{"+s+"} attempting to redefine "+s+"; use \\renewcommand");if(!i&&!r)throw new n("\\renewcommand{"+s+"} when command "+s+" does not yet exist; use \\newcommand");let a=0;if(o=e.consumeArg().tokens,1===o.length&&"["===o[0].text){let t="",r=e.expandNextToken();for(;"]"!==r.text&&"EOF"!==r.text;)t+=r.text,r=e.expandNextToken();if(!t.match(/^\s*[0-9]+\s*$/))throw new n("Invalid number of arguments: "+t);a=parseInt(t),o=e.consumeArg().tokens}return e.macros.set(s,{tokens:o,numArgs:a}),""};Br("\\newcommand",(e=>Bn(e,!1,!0))),Br("\\renewcommand",(e=>Bn(e,!0,!1))),Br("\\providecommand",(e=>Bn(e,!0,!0))),Br("\\message",(e=>{const t=e.consumeArgs(1)[0];return console.log(t.reverse().map((e=>e.text)).join("")),""})),Br("\\errmessage",(e=>{const t=e.consumeArgs(1)[0];return console.error(t.reverse().map((e=>e.text)).join("")),""})),Br("\\show",(e=>{const t=e.popToken(),r=t.text;return console.log(t,e.macros.get(r),yn[r],oe.math[r],oe.text[r]),""})),Br("\\bgroup","{"),Br("\\egroup","}"),Br("~","\\nobreakspace"),Br("\\lq","`"),Br("\\rq","'"),Br("\\aa","\\r a"),Br("\\AA","\\r A"),Br("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`\xa9}"),Br("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"),Br("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xae}"),Br("\u212c","\\mathscr{B}"),Br("\u2130","\\mathscr{E}"),Br("\u2131","\\mathscr{F}"),Br("\u210b","\\mathscr{H}"),Br("\u2110","\\mathscr{I}"),Br("\u2112","\\mathscr{L}"),Br("\u2133","\\mathscr{M}"),Br("\u211b","\\mathscr{R}"),Br("\u212d","\\mathfrak{C}"),Br("\u210c","\\mathfrak{H}"),Br("\u2128","\\mathfrak{Z}"),Br("\\Bbbk","\\Bbb{k}"),Br("\xb7","\\cdotp"),Br("\\llap","\\mathllap{\\textrm{#1}}"),Br("\\rlap","\\mathrlap{\\textrm{#1}}"),Br("\\clap","\\mathclap{\\textrm{#1}}"),Br("\\mathstrut","\\vphantom{(}"),Br("\\underbar","\\underline{\\text{#1}}"),Br("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}'),Br("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}"),Br("\\ne","\\neq"),Br("\u2260","\\neq"),Br("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}"),Br("\u2209","\\notin"),Br("\u2258","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}"),Br("\u2259","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}"),Br("\u225a","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225a}}"),Br("\u225b","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225b}}"),Br("\u225d","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225d}}"),Br("\u225e","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225e}}"),Br("\u225f","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225f}}"),Br("\u27c2","\\perp"),Br("\u203c","\\mathclose{!\\mkern-0.8mu!}"),Br("\u220c","\\notni"),Br("\u231c","\\ulcorner"),Br("\u231d","\\urcorner"),Br("\u231e","\\llcorner"),Br("\u231f","\\lrcorner"),Br("\xa9","\\copyright"),Br("\xae","\\textregistered"),Br("\ufe0f","\\textregistered"),Br("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}'),Br("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}'),Br("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}'),Br("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}'),Br("\\vdots","\\mathord{\\varvdots\\rule{0pt}{15pt}}"),Br("\u22ee","\\vdots"),Br("\\varGamma","\\mathit{\\Gamma}"),Br("\\varDelta","\\mathit{\\Delta}"),Br("\\varTheta","\\mathit{\\Theta}"),Br("\\varLambda","\\mathit{\\Lambda}"),Br("\\varXi","\\mathit{\\Xi}"),Br("\\varPi","\\mathit{\\Pi}"),Br("\\varSigma","\\mathit{\\Sigma}"),Br("\\varUpsilon","\\mathit{\\Upsilon}"),Br("\\varPhi","\\mathit{\\Phi}"),Br("\\varPsi","\\mathit{\\Psi}"),Br("\\varOmega","\\mathit{\\Omega}"),Br("\\substack","\\begin{subarray}{c}#1\\end{subarray}"),Br("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax"),Br("\\boxed","\\fbox{$\\displaystyle{#1}$}"),Br("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;"),Br("\\implies","\\DOTSB\\;\\Longrightarrow\\;"),Br("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");const Cn={",":"\\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"};Br("\\dots",(function(e){let t="\\dotso";const r=e.expandAfterFuture().text;return r in Cn?t=Cn[r]:("\\not"===r.slice(0,4)||r in oe.math&&l.contains(["bin","rel"],oe.math[r].group))&&(t="\\dotsb"),t}));const Nn={")":!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};Br("\\dotso",(function(e){return e.future().text in Nn?"\\ldots\\,":"\\ldots"})),Br("\\dotsc",(function(e){const t=e.future().text;return t in Nn&&","!==t?"\\ldots\\,":"\\ldots"})),Br("\\cdots",(function(e){return e.future().text in Nn?"\\@cdots\\,":"\\@cdots"})),Br("\\dotsb","\\cdots"),Br("\\dotsm","\\cdots"),Br("\\dotsi","\\!\\cdots"),Br("\\dotsx","\\ldots\\,"),Br("\\DOTSI","\\relax"),Br("\\DOTSB","\\relax"),Br("\\DOTSX","\\relax"),Br("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),Br("\\,","\\tmspace+{3mu}{.1667em}"),Br("\\thinspace","\\,"),Br("\\>","\\mskip{4mu}"),Br("\\:","\\tmspace+{4mu}{.2222em}"),Br("\\medspace","\\:"),Br("\\;","\\tmspace+{5mu}{.2777em}"),Br("\\thickspace","\\;"),Br("\\!","\\tmspace-{3mu}{.1667em}"),Br("\\negthinspace","\\!"),Br("\\negmedspace","\\tmspace-{4mu}{.2222em}"),Br("\\negthickspace","\\tmspace-{5mu}{.277em}"),Br("\\enspace","\\kern.5em "),Br("\\enskip","\\hskip.5em\\relax"),Br("\\quad","\\hskip1em\\relax"),Br("\\qquad","\\hskip2em\\relax"),Br("\\tag","\\@ifstar\\tag@literal\\tag@paren"),Br("\\tag@paren","\\tag@literal{({#1})}"),Br("\\tag@literal",(e=>{if(e.macros.get("\\df@tag"))throw new n("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"})),Br("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),Br("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),Br("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}"),Br("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),Br("\\newline","\\\\\\relax"),Br("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");const qn=F(T["Main-Regular"]["T".charCodeAt(0)][1]-.7*T["Main-Regular"]["A".charCodeAt(0)][1]);Br("\\LaTeX","\\textrm{\\html@mathml{L\\kern-.36em\\raisebox{"+qn+"}{\\scriptstyle A}\\kern-.15em\\TeX}{LaTeX}}"),Br("\\KaTeX","\\textrm{\\html@mathml{K\\kern-.17em\\raisebox{"+qn+"}{\\scriptstyle A}\\kern-.15em\\TeX}{KaTeX}}"),Br("\\hspace","\\@ifstar\\@hspacer\\@hspace"),Br("\\@hspace","\\hskip #1\\relax"),Br("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax"),Br("\\ordinarycolon",":"),Br("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}"),Br("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'),Br("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'),Br("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'),Br("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'),Br("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'),Br("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'),Br("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'),Br("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'),Br("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'),Br("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'),Br("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'),Br("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'),Br("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'),Br("\u2237","\\dblcolon"),Br("\u2239","\\eqcolon"),Br("\u2254","\\coloneqq"),Br("\u2255","\\eqqcolon"),Br("\u2a74","\\Coloneqq"),Br("\\ratio","\\vcentcolon"),Br("\\coloncolon","\\dblcolon"),Br("\\colonequals","\\coloneqq"),Br("\\coloncolonequals","\\Coloneqq"),Br("\\equalscolon","\\eqqcolon"),Br("\\equalscoloncolon","\\Eqqcolon"),Br("\\colonminus","\\coloneq"),Br("\\coloncolonminus","\\Coloneq"),Br("\\minuscolon","\\eqcolon"),Br("\\minuscoloncolon","\\Eqcolon"),Br("\\coloncolonapprox","\\Colonapprox"),Br("\\coloncolonsim","\\Colonsim"),Br("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),Br("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),Br("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),Br("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),Br("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220c}}"),Br("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),Br("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),Br("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}"),Br("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}"),Br("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}"),Br("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}"),Br("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}"),Br("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}"),Br("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}"),Br("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}"),Br("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}"),Br("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}"),Br("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}"),Br("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}"),Br("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}"),Br("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}"),Br("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}"),Br("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}"),Br("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228a}"),Br("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2acb}"),Br("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228b}"),Br("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2acc}"),Br("\\imath","\\html@mathml{\\@imath}{\u0131}"),Br("\\jmath","\\html@mathml{\\@jmath}{\u0237}"),Br("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27e6}}"),Br("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27e7}}"),Br("\u27e6","\\llbracket"),Br("\u27e7","\\rrbracket"),Br("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}"),Br("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}"),Br("\u2983","\\lBrace"),Br("\u2984","\\rBrace"),Br("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29b5}}"),Br("\u29b5","\\minuso"),Br("\\darr","\\downarrow"),Br("\\dArr","\\Downarrow"),Br("\\Darr","\\Downarrow"),Br("\\lang","\\langle"),Br("\\rang","\\rangle"),Br("\\uarr","\\uparrow"),Br("\\uArr","\\Uparrow"),Br("\\Uarr","\\Uparrow"),Br("\\N","\\mathbb{N}"),Br("\\R","\\mathbb{R}"),Br("\\Z","\\mathbb{Z}"),Br("\\alef","\\aleph"),Br("\\alefsym","\\aleph"),Br("\\Alpha","\\mathrm{A}"),Br("\\Beta","\\mathrm{B}"),Br("\\bull","\\bullet"),Br("\\Chi","\\mathrm{X}"),Br("\\clubs","\\clubsuit"),Br("\\cnums","\\mathbb{C}"),Br("\\Complex","\\mathbb{C}"),Br("\\Dagger","\\ddagger"),Br("\\diamonds","\\diamondsuit"),Br("\\empty","\\emptyset"),Br("\\Epsilon","\\mathrm{E}"),Br("\\Eta","\\mathrm{H}"),Br("\\exist","\\exists"),Br("\\harr","\\leftrightarrow"),Br("\\hArr","\\Leftrightarrow"),Br("\\Harr","\\Leftrightarrow"),Br("\\hearts","\\heartsuit"),Br("\\image","\\Im"),Br("\\infin","\\infty"),Br("\\Iota","\\mathrm{I}"),Br("\\isin","\\in"),Br("\\Kappa","\\mathrm{K}"),Br("\\larr","\\leftarrow"),Br("\\lArr","\\Leftarrow"),Br("\\Larr","\\Leftarrow"),Br("\\lrarr","\\leftrightarrow"),Br("\\lrArr","\\Leftrightarrow"),Br("\\Lrarr","\\Leftrightarrow"),Br("\\Mu","\\mathrm{M}"),Br("\\natnums","\\mathbb{N}"),Br("\\Nu","\\mathrm{N}"),Br("\\Omicron","\\mathrm{O}"),Br("\\plusmn","\\pm"),Br("\\rarr","\\rightarrow"),Br("\\rArr","\\Rightarrow"),Br("\\Rarr","\\Rightarrow"),Br("\\real","\\Re"),Br("\\reals","\\mathbb{R}"),Br("\\Reals","\\mathbb{R}"),Br("\\Rho","\\mathrm{P}"),Br("\\sdot","\\cdot"),Br("\\sect","\\S"),Br("\\spades","\\spadesuit"),Br("\\sub","\\subset"),Br("\\sube","\\subseteq"),Br("\\supe","\\supseteq"),Br("\\Tau","\\mathrm{T}"),Br("\\thetasym","\\vartheta"),Br("\\weierp","\\wp"),Br("\\Zeta","\\mathrm{Z}"),Br("\\argmin","\\DOTSB\\operatorname*{arg\\,min}"),Br("\\argmax","\\DOTSB\\operatorname*{arg\\,max}"),Br("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),Br("\\bra","\\mathinner{\\langle{#1}|}"),Br("\\ket","\\mathinner{|{#1}\\rangle}"),Br("\\braket","\\mathinner{\\langle{#1}\\rangle}"),Br("\\Bra","\\left\\langle#1\\right|"),Br("\\Ket","\\left|#1\\right\\rangle");const In=e=>t=>{const r=t.consumeArg().tokens,n=t.consumeArg().tokens,o=t.consumeArg().tokens,s=t.consumeArg().tokens,i=t.macros.get("|"),a=t.macros.get("\\|");t.macros.beginGroup();const l=t=>r=>{e&&(r.macros.set("|",i),o.length&&r.macros.set("\\|",a));let s=t;if(!t&&o.length){"|"===r.future().text&&(r.popToken(),s=!0)}return{tokens:s?o:n,numArgs:0}};t.macros.set("|",l(!1)),o.length&&t.macros.set("\\|",l(!0));const h=t.consumeArg().tokens,c=t.expandTokens([...s,...h,...r]);return t.macros.endGroup(),{tokens:c.reverse(),numArgs:0}};Br("\\bra@ket",In(!1)),Br("\\bra@set",In(!0)),Br("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}"),Br("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}"),Br("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}"),Br("\\angln","{\\angl n}"),Br("\\blue","\\textcolor{##6495ed}{#1}"),Br("\\orange","\\textcolor{##ffa500}{#1}"),Br("\\pink","\\textcolor{##ff00af}{#1}"),Br("\\red","\\textcolor{##df0030}{#1}"),Br("\\green","\\textcolor{##28ae7b}{#1}"),Br("\\gray","\\textcolor{gray}{#1}"),Br("\\purple","\\textcolor{##9d38bd}{#1}"),Br("\\blueA","\\textcolor{##ccfaff}{#1}"),Br("\\blueB","\\textcolor{##80f6ff}{#1}"),Br("\\blueC","\\textcolor{##63d9ea}{#1}"),Br("\\blueD","\\textcolor{##11accd}{#1}"),Br("\\blueE","\\textcolor{##0c7f99}{#1}"),Br("\\tealA","\\textcolor{##94fff5}{#1}"),Br("\\tealB","\\textcolor{##26edd5}{#1}"),Br("\\tealC","\\textcolor{##01d1c1}{#1}"),Br("\\tealD","\\textcolor{##01a995}{#1}"),Br("\\tealE","\\textcolor{##208170}{#1}"),Br("\\greenA","\\textcolor{##b6ffb0}{#1}"),Br("\\greenB","\\textcolor{##8af281}{#1}"),Br("\\greenC","\\textcolor{##74cf70}{#1}"),Br("\\greenD","\\textcolor{##1fab54}{#1}"),Br("\\greenE","\\textcolor{##0d923f}{#1}"),Br("\\goldA","\\textcolor{##ffd0a9}{#1}"),Br("\\goldB","\\textcolor{##ffbb71}{#1}"),Br("\\goldC","\\textcolor{##ff9c39}{#1}"),Br("\\goldD","\\textcolor{##e07d10}{#1}"),Br("\\goldE","\\textcolor{##a75a05}{#1}"),Br("\\redA","\\textcolor{##fca9a9}{#1}"),Br("\\redB","\\textcolor{##ff8482}{#1}"),Br("\\redC","\\textcolor{##f9685d}{#1}"),Br("\\redD","\\textcolor{##e84d39}{#1}"),Br("\\redE","\\textcolor{##bc2612}{#1}"),Br("\\maroonA","\\textcolor{##ffbde0}{#1}"),Br("\\maroonB","\\textcolor{##ff92c6}{#1}"),Br("\\maroonC","\\textcolor{##ed5fa6}{#1}"),Br("\\maroonD","\\textcolor{##ca337c}{#1}"),Br("\\maroonE","\\textcolor{##9e034e}{#1}"),Br("\\purpleA","\\textcolor{##ddd7ff}{#1}"),Br("\\purpleB","\\textcolor{##c6b9fc}{#1}"),Br("\\purpleC","\\textcolor{##aa87ff}{#1}"),Br("\\purpleD","\\textcolor{##7854ab}{#1}"),Br("\\purpleE","\\textcolor{##543b78}{#1}"),Br("\\mintA","\\textcolor{##f5f9e8}{#1}"),Br("\\mintB","\\textcolor{##edf2df}{#1}"),Br("\\mintC","\\textcolor{##e0e5cc}{#1}"),Br("\\grayA","\\textcolor{##f6f7f7}{#1}"),Br("\\grayB","\\textcolor{##f0f1f2}{#1}"),Br("\\grayC","\\textcolor{##e3e5e6}{#1}"),Br("\\grayD","\\textcolor{##d6d8da}{#1}"),Br("\\grayE","\\textcolor{##babec2}{#1}"),Br("\\grayF","\\textcolor{##888d93}{#1}"),Br("\\grayG","\\textcolor{##626569}{#1}"),Br("\\grayH","\\textcolor{##3b3e40}{#1}"),Br("\\grayI","\\textcolor{##21242c}{#1}"),Br("\\kaBlue","\\textcolor{##314453}{#1}"),Br("\\kaGreen","\\textcolor{##71B307}{#1}");const Rn={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class Hn{constructor(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 zn(An,t.macros),this.mode=r,this.stack=[]}feed(e){this.lexer=new Mn(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return 0===this.stack.length&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){let t,r,n;if(e){if(this.consumeSpaces(),"["!==this.future().text)return null;t=this.popToken(),({tokens:n,end:r}=this.consumeArg(["]"]))}else({tokens:n,start:t,end:r}=this.consumeArg());return this.pushToken(new Nr("EOF",r.loc)),this.pushTokens(n),t.range(r,"")}consumeSpaces(){for(;;){if(" "!==this.future().text)break;this.stack.pop()}}consumeArg(e){const t=[],r=e&&e.length>0;r||this.consumeSpaces();const o=this.future();let s,i=0,a=0;do{if(s=this.popToken(),t.push(s),"{"===s.text)++i;else if("}"===s.text){if(--i,-1===i)throw new n("Extra }",s)}else if("EOF"===s.text)throw new n("Unexpected end of input in a macro argument, expected '"+(e&&r?e[a]:"}")+"'",s);if(e&&r)if((0===i||1===i&&"{"===e[a])&&s.text===e[a]){if(++a,a===e.length){t.splice(-a,a);break}}else a=0}while(0!==i||r);return"{"===o.text&&"}"===t[t.length-1].text&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:o,end:s}}consumeArgs(e,t){if(t){if(t.length!==e+1)throw new n("The length of delimiters doesn't match the number of args!");const r=t[0];for(let e=0;ethis.settings.maxExpand)throw new n("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){const t=this.popToken(),r=t.text,o=t.noexpand?null:this._getExpansion(r);if(null==o||e&&o.unexpandable){if(e&&null==o&&"\\"===r[0]&&!this.isDefined(r))throw new n("Undefined control sequence: "+r);return this.pushToken(t),!1}this.countExpansion(1);let s=o.tokens;const i=this.consumeArgs(o.numArgs,o.delimiters);if(o.numArgs){s=s.slice();for(let e=s.length-1;e>=0;--e){let t=s[e];if("#"===t.text){if(0===e)throw new n("Incomplete placeholder at end of macro body",t);if(t=s[--e],"#"===t.text)s.splice(e+1,1);else{if(!/^[1-9]$/.test(t.text))throw new n("Not a valid argument number",t);s.splice(e,2,...i[+t.text-1])}}}}return this.pushTokens(s),s.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(!1===this.expandOnce()){const e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}throw new Error}expandMacro(e){return this.macros.has(e)?this.expandTokens([new Nr(e)]):void 0}expandTokens(e){const t=[],r=this.stack.length;for(this.pushTokens(e);this.stack.length>r;)if(!1===this.expandOnce(!0)){const e=this.stack.pop();e.treatAsRelax&&(e.noexpand=!1,e.treatAsRelax=!1),t.push(e)}return this.countExpansion(t.length),t}expandMacroAsText(e){const t=this.expandMacro(e);return t?t.map((e=>e.text)).join(""):t}_getExpansion(e){const t=this.macros.get(e);if(null==t)return t;if(1===e.length){const t=this.lexer.catcodes[e];if(null!=t&&13!==t)return}const r="function"==typeof t?t(this):t;if("string"==typeof r){let e=0;if(-1!==r.indexOf("#")){const t=r.replace(/##/g,"");for(;-1!==t.indexOf("#"+(e+1));)++e}const t=new Mn(r,this.settings),n=[];let o=t.lex();for(;"EOF"!==o.text;)n.push(o),o=t.lex();n.reverse();return{tokens:n,numArgs:e}}return r}isDefined(e){return this.macros.has(e)||yn.hasOwnProperty(e)||oe.math.hasOwnProperty(e)||oe.text.hasOwnProperty(e)||Rn.hasOwnProperty(e)}isExpandable(e){const t=this.macros.get(e);return null!=t?"string"==typeof t||"function"==typeof t||!t.unexpandable:yn.hasOwnProperty(e)&&!yn[e].primitive}}const On=/^[\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]/,En=Object.freeze({"\u208a":"+","\u208b":"-","\u208c":"=","\u208d":"(","\u208e":")","\u2080":"0","\u2081":"1","\u2082":"2","\u2083":"3","\u2084":"4","\u2085":"5","\u2086":"6","\u2087":"7","\u2088":"8","\u2089":"9","\u2090":"a","\u2091":"e","\u2095":"h","\u1d62":"i","\u2c7c":"j","\u2096":"k","\u2097":"l","\u2098":"m","\u2099":"n","\u2092":"o","\u209a":"p","\u1d63":"r","\u209b":"s","\u209c":"t","\u1d64":"u","\u1d65":"v","\u2093":"x","\u1d66":"\u03b2","\u1d67":"\u03b3","\u1d68":"\u03c1","\u1d69":"\u03d5","\u1d6a":"\u03c7","\u207a":"+","\u207b":"-","\u207c":"=","\u207d":"(","\u207e":")","\u2070":"0","\xb9":"1","\xb2":"2","\xb3":"3","\u2074":"4","\u2075":"5","\u2076":"6","\u2077":"7","\u2078":"8","\u2079":"9","\u1d2c":"A","\u1d2e":"B","\u1d30":"D","\u1d31":"E","\u1d33":"G","\u1d34":"H","\u1d35":"I","\u1d36":"J","\u1d37":"K","\u1d38":"L","\u1d39":"M","\u1d3a":"N","\u1d3c":"O","\u1d3e":"P","\u1d3f":"R","\u1d40":"T","\u1d41":"U","\u2c7d":"V","\u1d42":"W","\u1d43":"a","\u1d47":"b","\u1d9c":"c","\u1d48":"d","\u1d49":"e","\u1da0":"f","\u1d4d":"g","\u02b0":"h","\u2071":"i","\u02b2":"j","\u1d4f":"k","\u02e1":"l","\u1d50":"m","\u207f":"n","\u1d52":"o","\u1d56":"p","\u02b3":"r","\u02e2":"s","\u1d57":"t","\u1d58":"u","\u1d5b":"v","\u02b7":"w","\u02e3":"x","\u02b8":"y","\u1dbb":"z","\u1d5d":"\u03b2","\u1d5e":"\u03b3","\u1d5f":"\u03b4","\u1d60":"\u03d5","\u1d61":"\u03c7","\u1dbf":"\u03b8"}),Ln={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030c":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030a":{text:"\\r",math:"\\mathring"},"\u030b":{text:"\\H"},"\u0327":{text:"\\c"}},Dn={"\xe1":"a\u0301","\xe0":"a\u0300","\xe4":"a\u0308","\u01df":"a\u0308\u0304","\xe3":"a\u0303","\u0101":"a\u0304","\u0103":"a\u0306","\u1eaf":"a\u0306\u0301","\u1eb1":"a\u0306\u0300","\u1eb5":"a\u0306\u0303","\u01ce":"a\u030c","\xe2":"a\u0302","\u1ea5":"a\u0302\u0301","\u1ea7":"a\u0302\u0300","\u1eab":"a\u0302\u0303","\u0227":"a\u0307","\u01e1":"a\u0307\u0304","\xe5":"a\u030a","\u01fb":"a\u030a\u0301","\u1e03":"b\u0307","\u0107":"c\u0301","\u1e09":"c\u0327\u0301","\u010d":"c\u030c","\u0109":"c\u0302","\u010b":"c\u0307","\xe7":"c\u0327","\u010f":"d\u030c","\u1e0b":"d\u0307","\u1e11":"d\u0327","\xe9":"e\u0301","\xe8":"e\u0300","\xeb":"e\u0308","\u1ebd":"e\u0303","\u0113":"e\u0304","\u1e17":"e\u0304\u0301","\u1e15":"e\u0304\u0300","\u0115":"e\u0306","\u1e1d":"e\u0327\u0306","\u011b":"e\u030c","\xea":"e\u0302","\u1ebf":"e\u0302\u0301","\u1ec1":"e\u0302\u0300","\u1ec5":"e\u0302\u0303","\u0117":"e\u0307","\u0229":"e\u0327","\u1e1f":"f\u0307","\u01f5":"g\u0301","\u1e21":"g\u0304","\u011f":"g\u0306","\u01e7":"g\u030c","\u011d":"g\u0302","\u0121":"g\u0307","\u0123":"g\u0327","\u1e27":"h\u0308","\u021f":"h\u030c","\u0125":"h\u0302","\u1e23":"h\u0307","\u1e29":"h\u0327","\xed":"i\u0301","\xec":"i\u0300","\xef":"i\u0308","\u1e2f":"i\u0308\u0301","\u0129":"i\u0303","\u012b":"i\u0304","\u012d":"i\u0306","\u01d0":"i\u030c","\xee":"i\u0302","\u01f0":"j\u030c","\u0135":"j\u0302","\u1e31":"k\u0301","\u01e9":"k\u030c","\u0137":"k\u0327","\u013a":"l\u0301","\u013e":"l\u030c","\u013c":"l\u0327","\u1e3f":"m\u0301","\u1e41":"m\u0307","\u0144":"n\u0301","\u01f9":"n\u0300","\xf1":"n\u0303","\u0148":"n\u030c","\u1e45":"n\u0307","\u0146":"n\u0327","\xf3":"o\u0301","\xf2":"o\u0300","\xf6":"o\u0308","\u022b":"o\u0308\u0304","\xf5":"o\u0303","\u1e4d":"o\u0303\u0301","\u1e4f":"o\u0303\u0308","\u022d":"o\u0303\u0304","\u014d":"o\u0304","\u1e53":"o\u0304\u0301","\u1e51":"o\u0304\u0300","\u014f":"o\u0306","\u01d2":"o\u030c","\xf4":"o\u0302","\u1ed1":"o\u0302\u0301","\u1ed3":"o\u0302\u0300","\u1ed7":"o\u0302\u0303","\u022f":"o\u0307","\u0231":"o\u0307\u0304","\u0151":"o\u030b","\u1e55":"p\u0301","\u1e57":"p\u0307","\u0155":"r\u0301","\u0159":"r\u030c","\u1e59":"r\u0307","\u0157":"r\u0327","\u015b":"s\u0301","\u1e65":"s\u0301\u0307","\u0161":"s\u030c","\u1e67":"s\u030c\u0307","\u015d":"s\u0302","\u1e61":"s\u0307","\u015f":"s\u0327","\u1e97":"t\u0308","\u0165":"t\u030c","\u1e6b":"t\u0307","\u0163":"t\u0327","\xfa":"u\u0301","\xf9":"u\u0300","\xfc":"u\u0308","\u01d8":"u\u0308\u0301","\u01dc":"u\u0308\u0300","\u01d6":"u\u0308\u0304","\u01da":"u\u0308\u030c","\u0169":"u\u0303","\u1e79":"u\u0303\u0301","\u016b":"u\u0304","\u1e7b":"u\u0304\u0308","\u016d":"u\u0306","\u01d4":"u\u030c","\xfb":"u\u0302","\u016f":"u\u030a","\u0171":"u\u030b","\u1e7d":"v\u0303","\u1e83":"w\u0301","\u1e81":"w\u0300","\u1e85":"w\u0308","\u0175":"w\u0302","\u1e87":"w\u0307","\u1e98":"w\u030a","\u1e8d":"x\u0308","\u1e8b":"x\u0307","\xfd":"y\u0301","\u1ef3":"y\u0300","\xff":"y\u0308","\u1ef9":"y\u0303","\u0233":"y\u0304","\u0177":"y\u0302","\u1e8f":"y\u0307","\u1e99":"y\u030a","\u017a":"z\u0301","\u017e":"z\u030c","\u1e91":"z\u0302","\u017c":"z\u0307","\xc1":"A\u0301","\xc0":"A\u0300","\xc4":"A\u0308","\u01de":"A\u0308\u0304","\xc3":"A\u0303","\u0100":"A\u0304","\u0102":"A\u0306","\u1eae":"A\u0306\u0301","\u1eb0":"A\u0306\u0300","\u1eb4":"A\u0306\u0303","\u01cd":"A\u030c","\xc2":"A\u0302","\u1ea4":"A\u0302\u0301","\u1ea6":"A\u0302\u0300","\u1eaa":"A\u0302\u0303","\u0226":"A\u0307","\u01e0":"A\u0307\u0304","\xc5":"A\u030a","\u01fa":"A\u030a\u0301","\u1e02":"B\u0307","\u0106":"C\u0301","\u1e08":"C\u0327\u0301","\u010c":"C\u030c","\u0108":"C\u0302","\u010a":"C\u0307","\xc7":"C\u0327","\u010e":"D\u030c","\u1e0a":"D\u0307","\u1e10":"D\u0327","\xc9":"E\u0301","\xc8":"E\u0300","\xcb":"E\u0308","\u1ebc":"E\u0303","\u0112":"E\u0304","\u1e16":"E\u0304\u0301","\u1e14":"E\u0304\u0300","\u0114":"E\u0306","\u1e1c":"E\u0327\u0306","\u011a":"E\u030c","\xca":"E\u0302","\u1ebe":"E\u0302\u0301","\u1ec0":"E\u0302\u0300","\u1ec4":"E\u0302\u0303","\u0116":"E\u0307","\u0228":"E\u0327","\u1e1e":"F\u0307","\u01f4":"G\u0301","\u1e20":"G\u0304","\u011e":"G\u0306","\u01e6":"G\u030c","\u011c":"G\u0302","\u0120":"G\u0307","\u0122":"G\u0327","\u1e26":"H\u0308","\u021e":"H\u030c","\u0124":"H\u0302","\u1e22":"H\u0307","\u1e28":"H\u0327","\xcd":"I\u0301","\xcc":"I\u0300","\xcf":"I\u0308","\u1e2e":"I\u0308\u0301","\u0128":"I\u0303","\u012a":"I\u0304","\u012c":"I\u0306","\u01cf":"I\u030c","\xce":"I\u0302","\u0130":"I\u0307","\u0134":"J\u0302","\u1e30":"K\u0301","\u01e8":"K\u030c","\u0136":"K\u0327","\u0139":"L\u0301","\u013d":"L\u030c","\u013b":"L\u0327","\u1e3e":"M\u0301","\u1e40":"M\u0307","\u0143":"N\u0301","\u01f8":"N\u0300","\xd1":"N\u0303","\u0147":"N\u030c","\u1e44":"N\u0307","\u0145":"N\u0327","\xd3":"O\u0301","\xd2":"O\u0300","\xd6":"O\u0308","\u022a":"O\u0308\u0304","\xd5":"O\u0303","\u1e4c":"O\u0303\u0301","\u1e4e":"O\u0303\u0308","\u022c":"O\u0303\u0304","\u014c":"O\u0304","\u1e52":"O\u0304\u0301","\u1e50":"O\u0304\u0300","\u014e":"O\u0306","\u01d1":"O\u030c","\xd4":"O\u0302","\u1ed0":"O\u0302\u0301","\u1ed2":"O\u0302\u0300","\u1ed6":"O\u0302\u0303","\u022e":"O\u0307","\u0230":"O\u0307\u0304","\u0150":"O\u030b","\u1e54":"P\u0301","\u1e56":"P\u0307","\u0154":"R\u0301","\u0158":"R\u030c","\u1e58":"R\u0307","\u0156":"R\u0327","\u015a":"S\u0301","\u1e64":"S\u0301\u0307","\u0160":"S\u030c","\u1e66":"S\u030c\u0307","\u015c":"S\u0302","\u1e60":"S\u0307","\u015e":"S\u0327","\u0164":"T\u030c","\u1e6a":"T\u0307","\u0162":"T\u0327","\xda":"U\u0301","\xd9":"U\u0300","\xdc":"U\u0308","\u01d7":"U\u0308\u0301","\u01db":"U\u0308\u0300","\u01d5":"U\u0308\u0304","\u01d9":"U\u0308\u030c","\u0168":"U\u0303","\u1e78":"U\u0303\u0301","\u016a":"U\u0304","\u1e7a":"U\u0304\u0308","\u016c":"U\u0306","\u01d3":"U\u030c","\xdb":"U\u0302","\u016e":"U\u030a","\u0170":"U\u030b","\u1e7c":"V\u0303","\u1e82":"W\u0301","\u1e80":"W\u0300","\u1e84":"W\u0308","\u0174":"W\u0302","\u1e86":"W\u0307","\u1e8c":"X\u0308","\u1e8a":"X\u0307","\xdd":"Y\u0301","\u1ef2":"Y\u0300","\u0178":"Y\u0308","\u1ef8":"Y\u0303","\u0232":"Y\u0304","\u0176":"Y\u0302","\u1e8e":"Y\u0307","\u0179":"Z\u0301","\u017d":"Z\u030c","\u1e90":"Z\u0302","\u017b":"Z\u0307","\u03ac":"\u03b1\u0301","\u1f70":"\u03b1\u0300","\u1fb1":"\u03b1\u0304","\u1fb0":"\u03b1\u0306","\u03ad":"\u03b5\u0301","\u1f72":"\u03b5\u0300","\u03ae":"\u03b7\u0301","\u1f74":"\u03b7\u0300","\u03af":"\u03b9\u0301","\u1f76":"\u03b9\u0300","\u03ca":"\u03b9\u0308","\u0390":"\u03b9\u0308\u0301","\u1fd2":"\u03b9\u0308\u0300","\u1fd1":"\u03b9\u0304","\u1fd0":"\u03b9\u0306","\u03cc":"\u03bf\u0301","\u1f78":"\u03bf\u0300","\u03cd":"\u03c5\u0301","\u1f7a":"\u03c5\u0300","\u03cb":"\u03c5\u0308","\u03b0":"\u03c5\u0308\u0301","\u1fe2":"\u03c5\u0308\u0300","\u1fe1":"\u03c5\u0304","\u1fe0":"\u03c5\u0306","\u03ce":"\u03c9\u0301","\u1f7c":"\u03c9\u0300","\u038e":"\u03a5\u0301","\u1fea":"\u03a5\u0300","\u03ab":"\u03a5\u0308","\u1fe9":"\u03a5\u0304","\u1fe8":"\u03a5\u0306","\u038f":"\u03a9\u0301","\u1ffa":"\u03a9\u0300"};class Vn{constructor(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new Hn(e,t,this.mode),this.settings=t,this.leftrightDepth=0}expect(e,t){if(void 0===t&&(t=!0),this.fetch().text!==e)throw new n("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());t&&this.consume()}consume(){this.nextToken=null}fetch(){return null==this.nextToken&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{const e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){const t=this.nextToken;this.consume(),this.gullet.pushToken(new Nr("}")),this.gullet.pushTokens(e);const r=this.parseExpression(!1);return this.expect("}"),this.nextToken=t,r}parseExpression(e,t){const r=[];for(;;){"math"===this.mode&&this.consumeSpaces();const n=this.fetch();if(-1!==Vn.endOfExpression.indexOf(n.text))break;if(t&&n.text===t)break;if(e&&yn[n.text]&&yn[n.text].infix)break;const o=this.parseAtom(t);if(!o)break;"internal"!==o.type&&r.push(o)}return"text"===this.mode&&this.formLigatures(r),this.handleInfixNodes(r)}handleInfixNodes(e){let t,r=-1;for(let o=0;o=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+t[0]+'" used in math mode',e);const r=oe[this.mode][t].group,n=Cr.range(e);let s;if(te.hasOwnProperty(r)){const e=r;s={type:"atom",mode:this.mode,family:e,loc:n,text:t}}else s={type:r,mode:this.mode,loc:n,text:t};o=s}else{if(!(t.charCodeAt(0)>=128))return null;this.settings.strict&&(S(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)),o={type:"textord",mode:"text",loc:Cr.range(e),text:t}}if(this.consume(),r)for(let t=0;t { - clearTimeout(timeoutId); - - timeoutId = setTimeout(() => { - actual_fn(...args); - }, wait); - }; - }; - - function initSearch() { - const searchBar = document.getElementById("search-bar"); - const searchResults = document.getElementById("search-results"); - const searchContainer = document.getElementById("search-container"); - const MAX_ITEMS = 10; - const MAX_RESULTS = 4; - - let currentTerm = ""; - - searchBar.addEventListener("keyup", (e) => { - const searchVal = searchBar.value.trim(); - const results = fuse.search(searchVal, { limit: MAX_ITEMS }); - - let html = ""; - for (const result of results) { - html += makeTeaser(result, searchVal); - } - searchResults.innerHTML = html; - - if (html) { - searchResults.style.display = "flex"; - } else { - searchResults.style.display = "none"; - } - }); - - function makeTeaser(result, searchVal) { - const TEASER_SIZE = 20; - let output = `
    ${result.item.title}`; - - for (const match of result.matches) { - if (match.key === "title") continue; - - const indices = match.indices.sort((a, b) => Math.abs(a[1] - a[0] - searchVal.length) - Math.abs(b[1] - b[0] - searchVal.length)).slice(0, MAX_RESULTS); - const value = match.value; - - for (const ind of indices) { - const start = Math.max(0, ind[0] - TEASER_SIZE); - const end = Math.min(value.length - 1, ind[1] + TEASER_SIZE); - output += "" - + value.substring(start, ind[0]) - + `${value.substring(ind[0], ind[1] + 1)}` - + value.substring(ind[1] + 1, end) - + ""; - } - - if (match.indices.length > 4) { - const moreMatchesText = document.getElementById("more-matches-text").textContent; - output += `${moreMatchesText}`.replace("$MATCHES", `+${match.indices.length - MAX_RESULTS}`); - } - } - return output + "
    "; - } - - /*window.addEventListener("click", function (event) { - if (searchSetup && searchBar.getAttribute("disabled") === null && !searchContainer.contains(event.target)) { - toggleSearch(); - } - }, { passive: true });*/ - - document.addEventListener("keydown", function(event) { - if (event.key === "/") { - event.preventDefault(); - toggleSearch(); - } - }); - - document.getElementById("search-toggle").addEventListener("click", toggleSearch); - } - - if (document.readyState === "complete" || - (document.readyState !== "loading" && !document.documentElement.doScroll)) - initSearch(); - else - document.addEventListener("DOMContentLoaded", initSearch); diff --git a/public/search-elasticlunr.js b/public/search.js similarity index 58% rename from public/search-elasticlunr.js rename to public/search.js index d7d3578..e2398ad 100644 --- a/public/search-elasticlunr.js +++ b/public/search.js @@ -1,16 +1,18 @@ -// Based on https://github.com/getzola/zola/blob/1ac1231de1e342bbaf4d7a51a8a9a40ea152e246/docs/static/search.js -function debounce(func, wait) { +// Based on https://github.com/cydave/zola-theme-papermod/blob/fab7cd04833f0c78264b433a4fb1f4b999ef0399/static/js/search.js + +// Debounce function definition +function debounce(func, wait, immediate) { var timeout; - return function () { - var context = this; - var args = arguments; - clearTimeout(timeout); - - timeout = setTimeout(function () { + var context = this, args = arguments; + var later = function () { timeout = null; - func.apply(context, args); - }, wait); + if (!immediate) func.apply(context, args); + }; + var callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, wait); + if (callNow) func.apply(context, args); }; } @@ -123,6 +125,7 @@ function makeTeaser(body, terms) { } function formatSearchResultItem(item, terms) { + // Adjust this to match your desired result item structure return '
    ' + `${item.doc.title}` + `${makeTeaser(item.doc.body, terms)}` @@ -130,9 +133,11 @@ function formatSearchResultItem(item, terms) { } function initSearch() { - var searchBar = document.getElementById("search-bar"); - var searchContainer = document.getElementById("search-container"); - var searchResults = document.getElementById("search-results"); + var searchModal = document.getElementById("search-modal"); // Full-screen modal + var searchModalContent = document.getElementById("search-modal-content"); // Actual modal box + var searchInput = document.getElementById("search-input"); // Search input + var searchResults = document.getElementById("search-results"); // Search results + var searchButton = document.getElementById("search"); // Search button var MAX_ITEMS = 10; var options = { @@ -147,29 +152,67 @@ function initSearch() { var initIndex = async function () { if (index === undefined) { - let searchIndex = document.getElementById("search-index").textContent; - index = fetch(searchIndex) - .then( - async function (response) { - return await elasticlunr.Index.load(await response.json()); - } - ); + if (typeof window.searchIndex !== "undefined") { + index = elasticlunr.Index.load(window.searchIndex); + } else { + let response = await fetch(`/search_index.${document.documentElement.lang}.json`); + index = elasticlunr.Index.load(await response.json()); + } } - let res = await index; - return res; + return index; + }; + + // Open search modal when clicking the search button + if (searchButton) { + searchButton.addEventListener("click", function () { + searchModal.classList.add("active"); + searchModal.addEventListener("transitionend", function handler() { + searchInput.focus(); + searchModal.removeEventListener("transitionend", handler); + }, { once: true }); + }); } - searchBar.addEventListener("keyup", debounce(async function () { - var term = searchBar.value.trim(); - if (term === currentTerm) { - return; + // Open search modal on "/" key press + window.addEventListener("keydown", (event) => { + if (event.key === "/" && document.activeElement.tagName !== "INPUT" && document.activeElement.tagName !== "TEXTAREA") { + event.preventDefault(); + searchModal.classList.add("active"); + searchModal.addEventListener("transitionend", function handler() { + searchInput.focus(); + searchModal.removeEventListener("transitionend", handler); + }, { once: true }); } + }); + + // Close search modal on Escape key + window.addEventListener("keydown", (event) => { + if (event.key === "Escape") { + searchModal.classList.remove("active"); + } + }); + + // Close search modal when clicking outside search-modal-content + searchModal.addEventListener("click", function (e) { + if (!searchModalContent.contains(e.target)) { + searchModal.classList.remove("active"); + } + }); + + // Prevent clicks inside modal content from closing it + searchModalContent.addEventListener("click", function (e) { + e.stopPropagation(); // Stops event from reaching searchModal click handler + }); + + // Search input event + searchInput.addEventListener("keyup", debounce(async function () { + var term = searchInput.value.trim(); + if (term === currentTerm) return; + searchResults.style.display = term === "" ? "none" : "flex"; - searchResults.innerHTML = ""; + searchResults.innerHTML = ""; // Clear previous results currentTerm = term; - if (term === "") { - return; - } + if (term === "") return; var results = (await initIndex()).search(term, options); if (results.length === 0) { @@ -177,27 +220,11 @@ function initSearch() { return; } + // Insert formatted search result items for (var i = 0; i < Math.min(results.length, MAX_ITEMS); i++) { searchResults.innerHTML += formatSearchResultItem(results[i], term.split(" ")); } }, 150)); - - document.addEventListener("keydown", function (event) { - if (event.key === "/") { - event.preventDefault(); - toggleSearch(); - } - }); - - document.getElementById("search-toggle").addEventListener("click", toggleSearch); -} - -function toggleSearch() { - var searchContainer = document.getElementById("search-container"); - var searchBar = document.getElementById("search-bar"); - searchContainer.classList.toggle("active"); - searchBar.toggleAttribute("disabled"); - searchBar.focus(); } if (document.readyState === "complete" || diff --git a/public/search_index.en.js b/public/search_index.en.js index 9a62bcd..d189781 100644 --- a/public/search_index.en.js +++ b/public/search_index.en.js @@ -1 +1 @@ -window.searchIndex = {"fields":["title","body"],"pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5","index":{"body":{"root":{"docs":{},"df":0,"2":{"docs":{},"df":0,"0":{"docs":{},"df":0,"2":{"docs":{},"df":0,"5":{"docs":{"https://rootsource.cc/":{"tf":1.0}},"df":1}}},"1":{"docs":{},"df":0,"6":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"5":{"docs":{},"df":0,".":{"docs":{},"df":0,"2":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"g":{"docs":{},"df":0,"b":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"3":{"docs":{},"df":0,"2":{"docs":{},"df":0,"g":{"docs":{},"df":0,"b":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"5":{"docs":{},"df":0,"g":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"8":{"docs":{},"df":0,"g":{"docs":{},"df":0,"b":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}},"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}}},"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.6457513110645907}},"df":1,"i":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.449489742783178}},"df":1}}}},"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.23606797749979}},"df":1}}}},"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}},"s":{"docs":{},"df":0,"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}}},"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":2}}}}},"s":{"docs":{},"df":0,"k":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}},"r":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.449489742783178}},"df":1,".":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}},"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"e":{"docs":{"https://rootsource.cc/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":2,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}},"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":3.1622776601683795}},"df":1,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}},"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":3.3166247903554}},"df":1}}}}},"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":2}},"r":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}},"s":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}},"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}},"g":{"docs":{"https://rootsource.cc/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.23606797749979}},"df":1,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1},"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}},"i":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}},"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":4.47213595499958}},"df":1}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}},"u":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1,"u":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":3.0}},"df":1}}}}},"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"o":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1}}}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"u":{"docs":{"https://rootsource.cc/":{"tf":1.4142135623730951}},"df":1}}}}}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}},"p":{"docs":{},"df":0,"u":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.23606797749979}},"df":1}}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}},"e":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"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://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"h":{"docs":{},"df":0,"c":{"docs":{},"df":0,"p":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"n":{"docs":{},"df":0,"'":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.6457513110645907}},"df":1}}}}}}},"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}},"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"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://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}},"o":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"f":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"s":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"q":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"n":{"docs":{},"df":0,"'":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.6457513110645907}},"df":1}},"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}},"w":{"docs":{},"df":0,"n":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"u":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"m":{"docs":{},"df":0,"p":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1},"n":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}}},"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"j":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"d":{"docs":{},"df":0,":":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"p":{"docs":{},"df":0,"2":{"docs":{},"df":0,"s":{"docs":{},"df":0,"1":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.8284271247461903}},"df":1}},"i":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.23606797749979}},"df":1}}}}}},"t":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.23606797749979}},"df":1,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"j":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,".":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"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,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}}}}}},"f":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}},"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"w":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"v":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"h":{"docs":{},"df":0,"0":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"t":{"docs":{},"df":0,"u":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"x":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.449489742783178}},"df":1}}}},"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"c":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}}},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"u":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":4.0}},"df":1,"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}}}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":4.358898943540674}},"df":1}}}},"r":{"docs":{},"df":0,"g":{"docs":{"https://rootsource.cc/":{"tf":1.0}},"df":1},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}}}}}},"g":{"docs":{},"df":0,"c":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":2,"h":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1,"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}},"u":{"docs":{},"df":0,"b":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1,"_":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"=":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.6457513110645907}},"df":1}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"k":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}}}},"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1,"'":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":2}},"p":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/":{"tf":1.4142135623730951},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.449489742783178}},"df":2,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}},"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,"w":{"docs":{},"df":0,"w":{"docs":{},"df":0,"w":{"docs":{},"df":0,".":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"x":{"docs":{},"df":0,"f":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,".":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{},"df":0,"/":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}}}}}},"l":{"docs":{},"df":0,"f":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"'":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"c":{"docs":{},"df":0,"y":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/":{"tf":1.4142135623730951}},"df":1,"e":{"docs":{},"df":0,"'":{"docs":{"https://rootsource.cc/":{"tf":1.0}},"df":1}}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"p":{"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":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}},"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}},"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":3.872983346207417}},"df":1},"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.23606797749979}},"df":1}}},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.6457513110645907}},"df":1}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"v":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"p":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1},"t":{"docs":{},"df":0,"'":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}},"y":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"y":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"z":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"f":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"'":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"f":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":4.242640687119285}},"df":1,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}},"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}},"n":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1},"k":{"docs":{"https://rootsource.cc/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":2},"u":{"docs":{},"df":0,"x":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1,"i":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"g":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1,"i":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}},"n":{"docs":{},"df":0,"g":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}},"o":{"docs":{},"df":0,"k":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"q":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}},"d":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"k":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":3.605551275463989}},"df":1}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.23606797749979}},"df":1}}},"r":{"docs":{},"df":0,"k":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}},"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.6457513110645907}},"df":1}}},"v":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}},"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":3.0}},"df":1}},"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.6457513110645907}},"df":1}},"t":{"docs":{},"df":0,"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.8284271247461903}},"df":1,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}}}},"x":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1},"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}},"w":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.449489742783178}},"df":1}}},"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"v":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"f":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.8284271247461903}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}},"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}}},"u":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"w":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{"https://rootsource.cc/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":2}}}}}}}}},"p":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":3.1622776601683795}},"df":1}}}},"g":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}},"r":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1,"i":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":3.4641016151377544}},"df":1,"o":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1}},"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"p":{"docs":{},"df":0,"p":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1,"e":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"q":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"í":{"docs":{},"df":0,"z":{"docs":{},"df":0,"1":{"docs":{"https://rootsource.cc/":{"tf":1.7320508075688772}},"df":1}}}},"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"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://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"v":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}},"o":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}}}}}},"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"v":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":3.0}},"df":1,"/":{"docs":{},"df":0,".":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1}}}}}}}}}}}}},"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/":{"tf":1.7320508075688772}},"df":1}}}}}}}}}}},"p":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"x":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":6.0}},"df":1}}},"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"1":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"0":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"1":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"2":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"3":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"4":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"1":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"2":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"3":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"4":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"5":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"1":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"6":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"1":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"2":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"7":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"1":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"8":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"1":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"2":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"9":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"1":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"1":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"2":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"3":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"4":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"1":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"5":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"6":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"2":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"3":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"4":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"5":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"6":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}},"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.449489742783178}},"df":1}}}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}}},"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1},"r":{"docs":{},"df":0,"v":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":3.605551275463989}},"df":1,"u":{"docs":{},"df":0,"p":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1,".":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{},"df":0,"#":{"docs":{},"df":0,"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{},"df":0,"n":{"docs":{},"df":0,"'":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"w":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"z":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"k":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"'":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1}}}},"e":{"docs":{},"df":0,"p":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"f":{"docs":{},"df":0,"f":{"docs":{"https://rootsource.cc/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"f":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}}},"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.8284271247461903}},"df":1}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1,"o":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}},"y":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":5.291502622129181}},"df":1,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.449489742783178}},"df":1,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{},"df":0,"/":{"docs":{},"df":0,"f":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,".":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}},"k":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}},"d":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}}},"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.449489742783178}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"k":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}},"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}}}},"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}},"z":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}},"n":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}},"p":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1}},"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}}}},"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"y":{"docs":{},"df":0,"l":{"docs":{},"df":0,"k":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"x":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":3.1622776601683795}},"df":1,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}}}}},"p":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.449489742783178}},"df":1}}}},"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"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://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":3.0}},"df":1,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}},"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":4.47213595499958}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.8284271247461903}},"df":1,"'":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1}}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"t":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.8284271247461903}},"df":1}}}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}}}},"m":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"'":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.8284271247461903}},"df":1}},"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"y":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.23606797749979}},"df":1}},"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/":{"tf":1.0}},"df":1}}},"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}},"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"0":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"0":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"'":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"k":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}}},"x":{"docs":{},"df":0,"8":{"docs":{},"df":0,"6":{"docs":{},"df":0,"_":{"docs":{},"df":0,"6":{"docs":{},"df":0,"4":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}},"y":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"'":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}}}}},"title":{"root":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/":{"tf":1.0}},"df":1}}}}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}},"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"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,"c":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/":{"tf":1.0}},"df":1}}}}}}}}}}}},"t":{"docs":{},"df":0,"y":{"docs":{},"df":0,"l":{"docs":{},"df":0,"k":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"x":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"documentStore":{"save":true,"docs":{"https://rootsource.cc/":{"body":"RootSourceCC\nWelcome to RootSourceCC! You could technically call this: \"The child of Raíz1, Icycoide and Costmiku\"\nWith the ownership by Raíz1, hosted on and also being in charge of Costmiku, and hosting Icycoide's stuff!\nLinks:\n\nAlpsource (Git forge)\n\n-Raíz1 - Icycoide 2025.\n","id":"https://rootsource.cc/","title":"Home - RootSourceCC"},"https://rootsource.cc/Articles/":{"body":"","id":"https://rootsource.cc/Articles/","title":"Articles"},"https://rootsource.cc/Articles/tylkolinux-installation/":{"body":"Requires the branch for TylkoLinux 25.2 Delirium x86_64\nAs you may have read in the description, this article serves as a guide to install (build) TylkoLinux on your machine.\n\n\t\n\t\tImportant\n\tPrerequisites:\n\nx86_64 machine\nAt least 32GB of storage\nCPU with at least four cores\n8GB RAM\nA linux system running on the host system\nINTERNET ACCESS!!! (also required for other install scripts in EIC)\n\n\n\n\nUpdate as of now: DON'T PROCEED WITH THE GUIDE YET. The script is still in its testing phase, and I'm halfway done successfully testing it :p\nS1: Cloning the repository\nThe repository is available on GitHub. You can clone into it by running the following (if you have Git installed):\n\nProceed to change directory into it.\n\nAnd switch branch into the version.\n\nS2: Run the compatibility checker\nRun the compatibility check by running the script that is inside of the repository:\n\nMake sure everything is successful. If not, update your packages.\nS3: Partitioning the target device\nNow that we have the installer ready, let's not run it just yet!\nFirst, we need to partition the drive we want to install it to.\nNow, of course, there are a lot of guides on how to do that online and depending on what setup you might want to achieve.\nWhat IS clear though, is that you need a boot partition and a root partition, those are the bare minimum.\nObviously, I won't be able to write an ENTIRE guide on how to partiton your drive. If you don't know how to do that in the first place, then you shouldn't use TylkoLinux.\nS4: Setting the $LFS variable\nSet the $LFS variable to point to /mnt/lfs. Of course, if you desire, you may also make it point to a different destination.\n\n\n\t\n\t\tCaution\n\tMake sure that the $LFS variable always points to the correct destination.\nIt is recommended to always mount the target root partition under /mnt/lfs and set your variable to that.\nFailure to do so may lead you to absolutely fuck up your system.\n\n\n\n\t\n\t\tTip\n\tFrom the LFS handbook:\nOne way to ensure that the LFS variable is always set is to edit the .bash_profile file in both your personal home directory and in /root/.bash_profile and enter the export command above. In addition, the shell specified in the /etc/passwd file for all users that need the LFS variable must be bash to ensure that the /root/.bash_profile file is incorporated as a part of the login process.\nAnother consideration is the method that is used to log into the host system. If logging in through a graphical display manager, the user's .bash_profile is not normally used when a virtual terminal is started. In this case, add the export command to the .bashrc file for the user and root. In addition, some distributions use an \"if\" test, and do not run the remaining .bashrc instructions for a non-interactive bash invocation. Be sure to place the export command ahead of the test for non-interactive use.\n\n\nS5: Mounting the partitions\nCreate the mount point and mount the filesystem using the following commands:\n\nIf using multiple partitions for TylkoLinux (for example, one for the root and one for the home partition), mount them as followed:\n\n\n\t\n\t\tCaution\n\tThe instructions above assume that you are not rebooting your computer during the build. (imagine)\nTo automatically remount the partition on boot, modify /etc/fstab by adding this line:\n\nIf you use additional (optional) partitions, add them as well.\n\n\nIf also using swap, mount with the swapon command:\n\nS5.1: Move bash.bashrc out of the way\nSeveral commercial distributions add an undocumented instantiation of /etc/bash.bashrc to the initialization of bash. This file has the potential to modify the lfs user's environment in ways that can affect the building of critical TylkoLinux (LFS) packages. To make sure the lfs user's environment is clean, check for the presence of /etc/bash.bashrc and, if present, move it out of the way. As the root user, run:\n\nS6: Start the core installation tool\nTo start the installer, make sure you're in the same directory as the git repo we cloned, running as the root user, then type the following:\n\nIf this command fails, make sure it has the permissions to be executed by running the following:\n\nS6.1: Download packages\nWhen in the script, you should see the following:\n\nTo download packages and patches to the directory, type in the following function:\n\nThis action will proceed to download the packages and patches to $LFS/sources, and also the checksums.\nWatch out, here's the next step:\nExtract the packages and rename them to the appropriate directory names\n\nIMPORTANT!! Run this too, to prepare for the installation of Linux, and more.\n\nS6.2: Creating a limited directory layout\nRun the following command:\n\nS7: Enter lfs user\nEnter the LFS environment to build the cross toolchain and temporary tools by entering the following:\n\nS7.1: Going through pending steps\nYou are about to build a cross toolchain and temporary tools. You're going to see the following:\n\nEither type R to run, S to skip or Q to quit.\nDo the same for the other remaining quesitons:\n\nAnd eventually...\n\nBefore you know it, you're done!\nNow HERE begins the real work (insert lqtroll emoji)\nS8: Actually building the system itself\n\n\t\n\t\tTip\n\tBefore proceeding with the build,\nOne way to ensure that the LFS variable is always set is to edit the .bash_profile file in both your personal home directory and in /root/.bash_profile and enter the export command above. In addition, the shell specified in the /etc/passwd file for all users that need the LFS variable must be bash to ensure that the /root/.bash_profile file is incorporated as a part of the login process.\nAnother consideration is the method that is used to log into the host system. If logging in through a graphical display manager, the user's .bash_profile is not normally used when a virtual terminal is started. In this case, add the export command to the .bashrc file for the user and root. In addition, some distributions use an \"if\" test, and do not run the remaining .bashrc instructions for a non-interactive bash invocation. Be sure to place the export command ahead of the test for non-interactive use.\n\n\nNow that you finished that section, enter the chroot environment like this:\n\nThis command changes ownership of the commands under $LFS from the user lfs to root\nIt also mounts the virtual kernel file systems.\nThen, it chroots you into the bash shell. Continue the installer by running the following command inside of the chroot:\n\nThis boots you into the eic shell.\nRun the following commands:\n\nBEFORE BUILDING THE ACTUAL SYSTEM!!!!\nRun this command. It applies the RrX bugfix that removes and re-extracts affected packages.\n\nBuild the system by running the following:\n\nGCC, due to its nature of taking so long to build, gets its own function:\n\nContinue building as if nothing happened\n\nS8.1: Strip system (optional)\nDone after so long? If you don't plan on doing any debugging on the system software/aren't that much of a programmer, you can remove debugging symbols and unnecessary symbol table entries from binaries and libraries.\nThis frees up about 2GB(?) on the system.\nTo do so, run the following:\n\nS8.2: Cleaning up\nFinally, after all of that, clean up extra leftovers and the tester account by running this command:\n\nS9: Setting up the system\nYou are now in the stage where you set up your system and actually make an attempt at making your system bootable!\nS9.1: Networking\n(This section only applies if a network card is to be configured.)\nS9.1.1: Network Device Naming\n\n\t\n\t\tTip\n\tModified from the LFS handbook: The interface names depend on the implementation and configuration of the udev daemon running on the system. The udev daemon for TylkoLinux (well, LFS) (systemd-udevd) will not run unless the TylkoLinux/LFS system is booted. So it's unreliable to determine the interface names being used in the TylkoLinux system by running those commands on the host distro, even though you are in the chroot environment.\n\n\n\nUdev normally assigns network card interface names based on physical system characteristics such as enp2s1. If you are not sure what your interface name is, you can always run ip link after you have booted your system.\nFor most systems, there is only one network interface for each type of connection. For example, the classic interface name for a wired connection is eth0. A wireless connection will usually have the name wifi0 or wlan0.\nIf you'd like to use classic/customised network names, run the following function and enter the demanded information:\n\nS9.1.2: Static IP configuration\nThis makes a basic config file for a Static IP setup\n\nS9.1.3: DHCP configuration\n\nS9.1.4: /etc/resolv.conf\n\n\t\n\t\tTip\n\tFrom the LFS handbook: If using methods incompatible with systemd-resolved to configure your network interfaces (ex: ppp, etc.), or if using any type of local resolver (ex: bind, dnsmasq, unbound, etc.), or any other software that generates an /etc/resolv.conf (ex: a resolvconf program other than the one provided by systemd), the systemd-resolved service should not be used.\nTo switch settings about whether this should be allowed or not, run the command below ↓\n\n\n\nS9.1.4.1: Static resolv.conf\nWant to create a static file? Here:\n\nS9.1.5: Hostname\nTo configure the hostname, enter the following command:\n\nS9.1.6: Customising the /etc/hosts file\nRemind me to work on this section. Call me lazy (please don't), but to get over this guide a tiny tiny bit faster, I recommend you to google (or otherwise look up) \"how to set up etc hosts\". Usually it's managed by systemd I think? (obv unless you disabled it)\nS9.2: System time\nYou can tell the system whether your hardware clock is set to local time or UTC.\nEither run:\n// When in chroot,\n\n// When in a booted system,\n\nEither can be set back to nothing by either deleting /etc/adjtime\n\nor by using timedatectl\n\nTo interactively change the system time (when in a booted system ofc)\ndo:\n\nthen respond to the questions.\nTo set the timezone on a running system, run the following:\n\nTo get the list of timezones in the first place, do:\n\nIn systemd 216 and up, the network time synchronisation service is enabled by default. If you want, disable/enable it like this:\n\nS9.3: Configuring the Linux console\nWrite defaults:\n\nSet keymap:\n\nS9.4: Localisation\nRun this and answer questions:\n\nS9.5: Creating files under /etc/\nRun these to create the /etc/inputrc and /etc/shells files\n\nS9.6: More config...\nDisable screen clearing:\n\nLimit core dump size to something (in the format of 5M, 5G etc):\n\nTo remove the limit:\n\nS10: Making it boot\nS10.1: Making an /etc/fstab\nMake a filesystem table like this:\n\nReplace and with the appropriate values, don't add the swap line if you didn't make a swap partition.\nReplace with the filesystem type\nFor any additional configuration, check this page: https://www.linuxfromscratch.org/lfs/view/stable-systemd/chapter10/fstab.html\nS10.2: BOOTING LINUX!!!!\nDon't get excited too yet, we need to verify something.\n\nIf you see the .config file, we can continue. If not, don't run this step, exit out of the Einrichter-in-chroot.sh script to go back to the Einrichter-CLI.sh script. After that, run:\n\nAlright, we can continue. RUN THE FOLLOWING:\n\nLater it will ask you this:\n\nSay yes if you want the kernel to be in the boot partition instead of the root one. Otherwise, no.\nS10.3: Bootloader configuration\nUsing UEFI bootloader? Check this:\nhttps://www.linuxfromscratch.org/blfs/view/stable-systemd/postlfs/grub-setup.html#uefi-kernel\nThis page shows instructions on installing GRUB.\nNot needed of course, if you want to tweak your current GRUB to also detect other OSes, add this to your /etc/default/grub (on the host machine)\nGRUB_DISABLE_OS_PROBER=false\nUpdate the GRUB config with the respective command.\nS10.4: Package management\nNeed a package manager? Install RPM:\n\nTo install tdnf, vmware's implementation of DNF, do:\n\nIf you want to add more packages to your system, including NetworkManager, run:\n\nS11: The End:tm:\nWell, you made it! Congrats on installing the basics of TylkoLinux... If you want, you can also mark your installation as a TylkoLinux one by running this:\n\nHope you had as much fun following the guide as I did writing it!\n","id":"https://rootsource.cc/Articles/tylkolinux-installation/","title":"TylkoLinux install guide (Delirium)."}},"docInfo":{"https://rootsource.cc/":{"body":25,"title":2},"https://rootsource.cc/Articles/":{"body":0,"title":1},"https://rootsource.cc/Articles/tylkolinux-installation/":{"body":1147,"title":4}},"length":3},"lang":"English"} \ No newline at end of file +window.searchIndex = {"fields":["title","body"],"pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5","index":{"body":{"root":{"docs":{},"df":0,"1":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.4142135623730951}},"df":1},"2":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.4142135623730951}},"df":1,"0":{"docs":{},"df":0,"2":{"docs":{},"df":0,"5":{"docs":{"https://rootsource.cc/":{"tf":1.0}},"df":1}}},"1":{"docs":{},"df":0,"6":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"5":{"docs":{},"df":0,".":{"docs":{},"df":0,"2":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"g":{"docs":{},"df":0,"b":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"3":{"docs":{},"df":0,"2":{"docs":{},"df":0,"g":{"docs":{},"df":0,"b":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"5":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":1,"g":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"8":{"docs":{},"df":0,"g":{"docs":{},"df":0,"b":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,":":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":1}}}}}}}}},"v":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}},"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":2.449489742783178},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":2}}}},"u":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":1}}},"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1}}}}},"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.6457513110645907}},"df":1,"i":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.449489742783178}},"df":1}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"k":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0}},"df":1}}}}}}},"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}},"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.23606797749979}},"df":1}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/":{"tf":1.0},"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":2.6457513110645907}},"df":2}}}}}},"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}},"s":{"docs":{},"df":0,"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":2}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}}},"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":2}}}}},"s":{"docs":{},"df":0,"k":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.4142135623730951}},"df":1},"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.4142135623730951},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":2}}}}},"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0},"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.4142135623730951},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":3}},"r":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.4142135623730951},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":2},"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.449489742783178}},"df":1,".":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}},"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"e":{"docs":{"https://rootsource.cc/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":2,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}},"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":3.1622776601683795}},"df":1,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"o":{"docs":{},"df":0,"w":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":2.0}},"df":1}}}}}},"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.4142135623730951},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":3.3166247903554}},"df":2}}}}},"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":2}},"r":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}},"s":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}},"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":2}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}},"g":{"docs":{"https://rootsource.cc/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":2,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.23606797749979}},"df":1,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1},"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}},"i":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.7320508075688772},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":2}}}},"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.7320508075688772},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":4.47213595499958}},"df":2}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.4142135623730951}},"df":1}}},"u":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":2,"u":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.7320508075688772},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":3.0}},"df":2}}}}},"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.4142135623730951},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":2}}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"o":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1}}}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"u":{"docs":{"https://rootsource.cc/":{"tf":1.4142135623730951},"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":2}}}}}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}},"p":{"docs":{},"df":0,"u":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.4142135623730951},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.23606797749979}},"df":2}}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.7320508075688772}},"df":1,"i":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.4142135623730951}},"df":1}}}}},"e":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":2}}},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":2}}}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":1},"p":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"k":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.4142135623730951},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":2}}}},"h":{"docs":{},"df":0,"c":{"docs":{},"df":0,"p":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"n":{"docs":{},"df":0,"'":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.7320508075688772},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.6457513110645907}},"df":2}}}}}}},"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}},"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"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://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}},"o":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"f":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"s":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"q":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"n":{"docs":{},"df":0,"'":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.6457513110645907}},"df":2}},"e":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":2}},"w":{"docs":{},"df":0,"n":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/":{"tf":1.0},"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.7320508075688772}},"df":2}}}}}},"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"m":{"docs":{},"df":0,"p":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":2,"o":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1,".":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"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":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}}},"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"j":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"d":{"docs":{},"df":0,":":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.4142135623730951}},"df":1}}}}}},"p":{"docs":{},"df":0,"2":{"docs":{},"df":0,"s":{"docs":{},"df":0,"1":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.8284271247461903}},"df":1}},"i":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.23606797749979}},"df":1}}}}}},"t":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.23606797749979}},"df":1,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"j":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,".":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"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,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}}}}}},"f":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}},"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"w":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"v":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"h":{"docs":{},"df":0,"0":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"t":{"docs":{},"df":0,"u":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"x":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":2}}}},"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.4142135623730951},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":2}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0}},"df":1}}}}}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.449489742783178}},"df":1}}}},"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"c":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}}}}},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":2,"u":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"v":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0}},"df":1}}}}}}},"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0}},"df":1}}},"f":{"docs":{},"df":0,"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.4142135623730951},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":4.0}},"df":2,"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}}}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"d":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0}},"df":1},"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"x":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":4.0}},"df":1}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":2}}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0},"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":2.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":4.358898943540674}},"df":3}}}},"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"r":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.4142135623730951}},"df":1,"e":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}}}}},"x":{"docs":{},"df":0,"a":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":1}}},"g":{"docs":{},"df":0,"c":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"t":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":2}},"i":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":2,"h":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":2.0},"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.7320508075688772},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":3,"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"w":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"b":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1,"_":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"=":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":3.1622776601683795}},"df":1},"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.6457513110645907}},"df":1}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"k":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}}}},"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"i":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"x":{"docs":{},"df":0,"x":{"docs":{},"df":0,"0":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"'":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0}},"df":1},"r":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1,"'":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":2}},"p":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/":{"tf":1.4142135623730951},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.449489742783178}},"df":2,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}},"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,"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"x":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"u":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"1":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"/":{"docs":{},"df":0,"1":{"docs":{},"df":0,".":{"docs":{},"df":0,"5":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"df":0,"w":{"docs":{},"df":0,"w":{"docs":{},"df":0,".":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"x":{"docs":{},"df":0,"f":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,".":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{},"df":0,"/":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}}}}}},"l":{"docs":{},"df":0,"f":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"'":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"c":{"docs":{},"df":0,"y":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/":{"tf":1.4142135623730951}},"df":1,"e":{"docs":{},"df":0,"'":{"docs":{"https://rootsource.cc/":{"tf":1.0}},"df":1}}}}}}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"y":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,".":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"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,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"p":{"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":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}},"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}},"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":2.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":4.123105625617661}},"df":2},"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":2}}},"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.23606797749979}},"df":1}}},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.6457513110645907}},"df":1}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"v":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"o":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":1},"p":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1},"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"u":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"'":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"j":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0}},"df":1}}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}},"y":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"y":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"z":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":2}},"f":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"'":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"f":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":4.242640687119285}},"df":1,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}},"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}},"n":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.4142135623730951},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":2},"k":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"u":{"docs":{},"df":0,"x":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1,"i":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"g":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1,"i":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":2}},"o":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"g":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}},"o":{"docs":{},"df":0,"k":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"q":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}},"d":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"k":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":3.605551275463989}},"df":2}},"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.23606797749979}},"df":1}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.4142135623730951}},"df":1}}}},"r":{"docs":{},"df":0,"k":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":2}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}},"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.6457513110645907}},"df":1}}},"v":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}},"z":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":1}}}}}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}},"l":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":1},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":3.0}},"df":1}},"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.6457513110645907}},"df":2}},"t":{"docs":{},"df":0,"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.8284271247461903}},"df":1,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}}}},"w":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.4142135623730951}},"df":1},"x":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1},"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}},"t":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0}},"df":1},"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}},"w":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.449489742783178}},"df":1}},"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"v":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"f":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.8284271247461903}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0},"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.7320508075688772}},"df":2}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.4142135623730951},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":2}}}}},"r":{"docs":{},"df":0,".":{"docs":{},"df":0,".":{"docs":{},"df":0,".":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":1}}}},"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":1,"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}}},"u":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":2}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"w":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{"https://rootsource.cc/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":2}}}}}}}}},"p":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":3.605551275463989}},"df":1}}}},"g":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}},"r":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1,"i":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":3.4641016151377544}},"df":1,"o":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":2}}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1}},"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":2}}}},"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":2}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"p":{"docs":{},"df":0,"p":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0}},"df":1,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":1}}}},"c":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1,"e":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.4142135623730951},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":2}}}},"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"u":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/":{"tf":1.0}},"df":1}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"q":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"í":{"docs":{},"df":0,"z":{"docs":{},"df":0,"1":{"docs":{"https://rootsource.cc/":{"tf":1.7320508075688772}},"df":1}}}},"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":2,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"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://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":2}}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"v":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.4142135623730951}},"df":1}}}},"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.4142135623730951},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":2}}},"o":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}}}}}},"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"v":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":3.0}},"df":2,"/":{"docs":{},"df":0,".":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1}}}}}}}}}}}}},"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/":{"tf":1.4142135623730951},"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0},"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":3}}}}}}}}}}},"p":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"x":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":6.082762530298219}},"df":1}}},"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"1":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"0":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"1":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"2":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"3":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"4":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"1":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"2":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"3":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"4":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"5":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"1":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"6":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"1":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"2":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"7":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"1":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"8":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"1":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"2":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"9":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"1":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"1":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"2":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"3":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"4":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"1":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"5":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"6":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"2":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"3":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"4":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"5":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"6":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}},"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.449489742783178}},"df":1}}}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}}},"d":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.4142135623730951}},"df":1},"e":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0},"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.4142135623730951},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":3},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"v":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.7320508075688772}},"df":1}},"i":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"t":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":2.6457513110645907},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":3.605551275463989}},"df":2,"u":{"docs":{},"df":0,"p":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1,".":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{},"df":0,"#":{"docs":{},"df":0,"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{},"df":0,"n":{"docs":{},"df":0,"'":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"w":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"'":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0}},"df":1}}},"z":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"k":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0}},"df":1},"p":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"'":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.4142135623730951},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":2}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1}}}},"e":{"docs":{},"df":0,"p":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.7320508075688772},"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":2.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":3}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0},"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":3}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":1}},"p":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"f":{"docs":{},"df":0,"f":{"docs":{"https://rootsource.cc/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.7320508075688772}},"df":1}}}}}},"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.4142135623730951},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":2,"f":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}}},"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.8284271247461903}},"df":1}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1,"o":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":2}}}}},"y":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"n":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":2.449489742783178}},"df":1,"h":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":5.291502622129181}},"df":1,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.449489742783178}},"df":1,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{},"df":0,"/":{"docs":{},"df":0,"f":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,".":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}},"k":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0}},"df":1}}}},"p":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":2.0}},"df":1},"r":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}},"d":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":1}},"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}}},"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.4142135623730951},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.449489742783178}},"df":2,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"k":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.4142135623730951}},"df":1}}},"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.4142135623730951}},"df":1}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"k":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/":{"tf":1.0},"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}},"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}}}},"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0},"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":3,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}},"z":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}},"n":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}},"p":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1}},"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0}},"df":1}}},"g":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.4142135623730951}},"df":1}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/":{"tf":1.0},"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.7320508075688772}},"df":2}}}}},"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}}}}},"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"y":{"docs":{},"df":0,"l":{"docs":{},"df":0,"k":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"x":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":3.1622776601683795}},"df":1,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}}}}},"p":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.449489742783178}},"df":1}}}},"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"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://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.4142135623730951},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":3.0}},"df":2,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}},"s":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":2.23606797749979},"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":4.47213595499958}},"df":3,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.8284271247461903}},"df":1,"'":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.0}},"df":1}}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}},"t":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.8284271247461903}},"df":1}}}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0}},"df":1,"f":{"docs":{},"df":0,"i":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":2}}}}}},"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":1}}}}}},"m":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"'":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.8284271247461903}},"df":1}},"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"y":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":2.23606797749979}},"df":1}},"e":{"docs":{},"df":0,"b":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/":{"tf":1.0}},"df":1}}},"l":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":2}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0}},"df":1}},"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"0":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"p":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0}},"df":1},"r":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"0":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"'":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"k":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0},"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.7320508075688772},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":3}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0},"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.4142135623730951},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":3},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":1}}}}}}},"x":{"docs":{},"df":0,"8":{"docs":{},"df":0,"6":{"docs":{},"df":0,"_":{"docs":{},"df":0,"6":{"docs":{},"df":0,"4":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.4142135623730951}},"df":1}}}}}},"y":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"'":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1},"r":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.4142135623730951},"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.7320508075688772}},"df":2}}}}},"z":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":2.0}},"df":1}}}}}},"title":{"root":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/":{"tf":1.0}},"df":1}}}}}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"u":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":1}}}}}}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0}},"df":1}}}}}}}},"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"x":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":1}}}}}}},"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}},"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{"https://rootsource.cc/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"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,"c":{"docs":{},"df":0,"c":{"docs":{"https://rootsource.cc/":{"tf":1.0}},"df":1}}}}}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://rootsource.cc/Articles/duckquill2ametrine/":{"tf":1.0}},"df":1}}}}}},"y":{"docs":{},"df":0,"l":{"docs":{},"df":0,"k":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"x":{"docs":{"https://rootsource.cc/Articles/tylkolinux-installation/":{"tf":1.0}},"df":1}}}}}}}}}},"u":{"docs":{},"df":0,"p":{"docs":{"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"tf":1.0}},"df":1}}}}},"documentStore":{"save":true,"docs":{"https://rootsource.cc/":{"body":"Welcome to RootSourceCC! You could technically call this: \"The child of Raíz1, Icycoide and Costmiku\"\nWith the ownership by Raíz1, hosted on and also being in charge of Costmiku, and hosting Icycoide's stuff!\nProud to say, we are the third website to transition from Duckquill to Ametrine!\n-Raíz1 - Icycoide 2025.\n","id":"https://rootsource.cc/","title":"Home - RootSourceCC"},"https://rootsource.cc/Articles/":{"body":"","id":"https://rootsource.cc/Articles/","title":"Articles"},"https://rootsource.cc/Articles/duckquill2ametrine/":{"body":"WIP!\n(daudix will have less work writing this fr)\nStep 1: Getting Ametrine\nFirst, you're going to navigate to the themes folder of your Zola installation. Example:\n\nDon't clone as submodule\nIf Git is installed, you're going to clone Ametrine into the themes directory:\n\nClone as submodule (recommended!)\nOr, if you use Submodules:\n\nStep 2: Applying Ametrine\nNext step is to change the config to use Ametrine instead of Duckquill\nFor this, go back to the root directory of the Zola installation:\n\nEditing the file manually\nOpen the file in your favourite editor:\n\nFind the line that says\n\nand replace it with\n\nUsing sed like a pro haxx0r\nFeeling skid today? Use the following command to replace the line manually using sed:\n\nBuilding and praying\nWell, time to build!\n\n\nNote: The zola command may either only be available in the site's directory, or as a widely-available command, depending on your installation method of Zola.\n\nWe have done it!\nYou have transitioned from Duckquill to Ametrine, and so did we, joining AeroNook (#1) and Mambuco (#2) in the transition, making us the third!\nAmetrine is still experimental, but we are happy to see it grow so fast! Thank you Daudix for blessing us with this fr. Go check him out, he's a great and very talented person!\nThank you for reading!\nSincerely, RootsourceCC.\n","id":"https://rootsource.cc/Articles/duckquill2ametrine/","title":"Transition from Duckquill to Ametrine"},"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"body":"This has not been written by the RootsourceCC team, but still describes it accurately.\nCreate a Mozilla account\nGo to https://accounts.firefox.com and follow the \"Sign up\" steps to create an account.\nConfigure Firefox Desktop\nPlease open about:config in your Firefox and point identity.sync.tokenserver.uri to https://ffsync.costmiku.space/1.0/sync/1.5.\nConfigure Firefox based browsers on Android\nThese steps have to be followed in a strict order. Failing to do it would probably lead to issues. This should also work in Firefox based browsers like Mull (tested) and others.\n\nOpen Firefox Browser -> Settings -> About Firefox -> tap 5 times in Firefox logo.\nGo back to Settings -> Account -> you should see a new option Sync Debug, tap on it.\nSelect Custom Sync server and write there your endpoint. It should be https://ffsync.costmiku.space/1.0/sync/1.5.\nExit Firefox completely, reopen and then follow the steps of \"Connect a device\" to your Firefox account.\nAfter a successful auth process the sync should start working.\n\nConfigure Firefox on iOS\nNot tested.\n\nOpen Firefox Browser -> Settings -> About Firefox -> tap on the field with Firefox and version number.\nGo back to Settings -> Account -> you should see a new option Advanced Sync Settings, tap on it.\nToggle Use Custom Sync Token Server and write there your endpoint. It should be https://ffsync.costmiku.space/.\nYou might also need to toggle the switch for custom FxA login server and set it to https://accounts.firefox.com\nExit Firefox completely, reopen and then follow the steps of \"Connect a device\" to your Firefox account.\nAfter a successful auth process the sync should start working.\n\n","id":"https://rootsource.cc/Articles/set-up-costmiku-ffsync/","title":"Set up costmiku ffsync on Firefox"},"https://rootsource.cc/Articles/tylkolinux-installation/":{"body":"Requires the branch for TylkoLinux 25.2 Delirium x86_64\nAs you may have read in the description, this article serves as a guide to install (build) TylkoLinux on your machine.\n\n\t\n\t\tImportant\n\tPrerequisites:\n\nx86_64 machine\nAt least 32GB of storage\nCPU with at least four cores\n8GB RAM\nA linux system running on the host system\nINTERNET ACCESS!!! (also required for other install scripts in EIC)\n\n\n\n\nUpdate as of now: DON'T PROCEED WITH THE GUIDE YET. The script is still in its testing phase, and I'm halfway done successfully testing it :p\nS1: Cloning the repository\nThe repository is available on GitHub. You can clone into it by running the following (if you have Git installed):\n\nProceed to change directory into it.\n\nAnd switch branch into the version.\n\nS2: Run the compatibility checker\nRun the compatibility check by running the script that is inside of the repository:\n\nMake sure everything is successful. If not, update your packages.\nS3: Partitioning the target device\nNow that we have the installer ready, let's not run it just yet!\nFirst, we need to partition the drive we want to install it to.\nNow, of course, there are a lot of guides on how to do that online and depending on what setup you might want to achieve.\nWhat IS clear though, is that you need a boot partition and a root partition, those are the bare minimum.\nObviously, I won't be able to write an ENTIRE guide on how to partiton your drive. If you don't know how to do that in the first place, then you shouldn't use TylkoLinux.\nS4: Setting the $LFS variable\nSet the $LFS variable to point to /mnt/lfs. Of course, if you desire, you may also make it point to a different destination.\n\n\n\t\n\t\tCaution\n\tMake sure that the $LFS variable always points to the correct destination.\nIt is recommended to always mount the target root partition under /mnt/lfs and set your variable to that.\nFailure to do so may lead you to absolutely fuck up your system.\n\n\n\n\t\n\t\tTip\n\tFrom the LFS handbook:\nOne way to ensure that the LFS variable is always set is to edit the .bash_profile file in both your personal home directory and in /root/.bash_profile and enter the export command above. In addition, the shell specified in the /etc/passwd file for all users that need the LFS variable must be bash to ensure that the /root/.bash_profile file is incorporated as a part of the login process.\nAnother consideration is the method that is used to log into the host system. If logging in through a graphical display manager, the user's .bash_profile is not normally used when a virtual terminal is started. In this case, add the export command to the .bashrc file for the user and root. In addition, some distributions use an \"if\" test, and do not run the remaining .bashrc instructions for a non-interactive bash invocation. Be sure to place the export command ahead of the test for non-interactive use.\n\n\nS5: Mounting the partitions\nCreate the mount point and mount the filesystem using the following commands:\n\nIf using multiple partitions for TylkoLinux (for example, one for the root and one for the home partition), mount them as followed:\n\n\n\t\n\t\tCaution\n\tThe instructions above assume that you are not rebooting your computer during the build. (imagine)\nTo automatically remount the partition on boot, modify /etc/fstab by adding this line:\n\nIf you use additional (optional) partitions, add them as well.\n\n\nIf also using swap, mount with the swapon command:\n\nS5.1: Move bash.bashrc out of the way\nSeveral commercial distributions add an undocumented instantiation of /etc/bash.bashrc to the initialization of bash. This file has the potential to modify the lfs user's environment in ways that can affect the building of critical TylkoLinux (LFS) packages. To make sure the lfs user's environment is clean, check for the presence of /etc/bash.bashrc and, if present, move it out of the way. As the root user, run:\n\nS6: Start the core installation tool\nTo start the installer, make sure you're in the same directory as the git repo we cloned, running as the root user, then type the following:\n\nIf this command fails, make sure it has the permissions to be executed by running the following:\n\nS6.1: Download packages\nWhen in the script, you should see the following:\n\nTo download packages and patches to the directory, type in the following function:\n\nThis action will proceed to download the packages and patches to $LFS/sources, and also the checksums.\nWatch out, here's the next step:\nExtract the packages and rename them to the appropriate directory names\n\nIMPORTANT!! Run this too, to prepare for the installation of Linux, and more.\n\nS6.2: Creating a limited directory layout\nRun the following command:\n\nS7: Enter lfs user\nEnter the LFS environment to build the cross toolchain and temporary tools by entering the following:\n\nS7.1: Going through pending steps\nYou are about to build a cross toolchain and temporary tools. You're going to see the following:\n\nEither type R to run, S to skip or Q to quit.\nDo the same for the other remaining quesitons:\n\nAnd eventually...\n\nBefore you know it, you're done!\nNow HERE begins the real work (insert lqtroll emoji)\nS8: Actually building the system itself\n\n\t\n\t\tTip\n\tBefore proceeding with the build,\nOne way to ensure that the LFS variable is always set is to edit the .bash_profile file in both your personal home directory and in /root/.bash_profile and enter the export command above. In addition, the shell specified in the /etc/passwd file for all users that need the LFS variable must be bash to ensure that the /root/.bash_profile file is incorporated as a part of the login process.\nAnother consideration is the method that is used to log into the host system. If logging in through a graphical display manager, the user's .bash_profile is not normally used when a virtual terminal is started. In this case, add the export command to the .bashrc file for the user and root. In addition, some distributions use an \"if\" test, and do not run the remaining .bashrc instructions for a non-interactive bash invocation. Be sure to place the export command ahead of the test for non-interactive use.\n\n\nNow that you finished that section, enter the chroot environment like this:\n\nThis command changes ownership of the commands under $LFS from the user lfs to root\nIt also mounts the virtual kernel file systems.\nThen, it chroots you into the bash shell. Continue the installer by running the following command inside of the chroot:\n\nThis boots you into the eic shell.\nRun the following commands:\n\nIf after running eic.essentials.verify, the packages have not been installed, try to troubleshoot the actual package that failed to install and try again.\nOr...re-extract package and reinstall\n\nBEFORE BUILDING THE ACTUAL SYSTEM!!!!\nRun this command. It applies the RrX bugfix that removes and re-extracts affected packages.\n\nBuild the system by running the following:\n\nGCC, due to its nature of taking so long to build, gets its own function:\n\nContinue building as if nothing happened\n\nS8.1: Strip system (optional)\nDone after so long? If you don't plan on doing any debugging on the system software/aren't that much of a programmer, you can remove debugging symbols and unnecessary symbol table entries from binaries and libraries.\nThis frees up about 2GB(?) on the system.\nTo do so, run the following:\n\nS8.2: Cleaning up\nFinally, after all of that, clean up extra leftovers and the tester account by running this command:\n\nS9: Setting up the system\nYou are now in the stage where you set up your system and actually make an attempt at making your system bootable!\nS9.1: Networking\n(This section only applies if a network card is to be configured.)\nS9.1.1: Network Device Naming\n\n\t\n\t\tTip\n\tModified from the LFS handbook: The interface names depend on the implementation and configuration of the udev daemon running on the system. The udev daemon for TylkoLinux (well, LFS) (systemd-udevd) will not run unless the TylkoLinux/LFS system is booted. So it's unreliable to determine the interface names being used in the TylkoLinux system by running those commands on the host distro, even though you are in the chroot environment.\n\n\n\nUdev normally assigns network card interface names based on physical system characteristics such as enp2s1. If you are not sure what your interface name is, you can always run ip link after you have booted your system.\nFor most systems, there is only one network interface for each type of connection. For example, the classic interface name for a wired connection is eth0. A wireless connection will usually have the name wifi0 or wlan0.\nIf you'd like to use classic/customised network names, run the following function and enter the demanded information:\n\nS9.1.2: Static IP configuration\nThis makes a basic config file for a Static IP setup\n\nS9.1.3: DHCP configuration\n\nS9.1.4: /etc/resolv.conf\n\n\t\n\t\tTip\n\tFrom the LFS handbook: If using methods incompatible with systemd-resolved to configure your network interfaces (ex: ppp, etc.), or if using any type of local resolver (ex: bind, dnsmasq, unbound, etc.), or any other software that generates an /etc/resolv.conf (ex: a resolvconf program other than the one provided by systemd), the systemd-resolved service should not be used.\nTo switch settings about whether this should be allowed or not, run the command below ↓\n\n\n\nS9.1.4.1: Static resolv.conf\nWant to create a static file? Here:\n\nS9.1.5: Hostname\nTo configure the hostname, enter the following command:\n\nS9.1.6: Customising the /etc/hosts file\nRemind me to work on this section. Call me lazy (please don't), but to get over this guide a tiny tiny bit faster, I recommend you to google (or otherwise look up) \"how to set up etc hosts\". Usually it's managed by systemd I think? (obv unless you disabled it)\nS9.2: System time\nYou can tell the system whether your hardware clock is set to local time or UTC.\nEither run:\n// When in chroot,\n\n// When in a booted system,\n\nEither can be set back to nothing by either deleting /etc/adjtime\n\nor by using timedatectl\n\nTo interactively change the system time (when in a booted system ofc)\ndo:\n\nthen respond to the questions.\nTo set the timezone on a running system, run the following:\n\nTo get the list of timezones in the first place, do:\n\nIn systemd 216 and up, the network time synchronisation service is enabled by default. If you want, disable/enable it like this:\n\nS9.3: Configuring the Linux console\nWrite defaults:\n\nSet keymap:\n\nS9.4: Localisation\nRun this and answer questions:\n\nS9.5: Creating files under /etc/\nRun these to create the /etc/inputrc and /etc/shells files\n\nS9.6: More config...\nDisable screen clearing:\n\nLimit core dump size to something (in the format of 5M, 5G etc):\n\nTo remove the limit:\n\nS10: Making it boot\nS10.1: Making an /etc/fstab\nMake a filesystem table like this:\n\nReplace and with the appropriate values, don't add the swap line if you didn't make a swap partition.\nReplace with the filesystem type\nFor any additional configuration, check this page: https://www.linuxfromscratch.org/lfs/view/stable-systemd/chapter10/fstab.html\nS10.2: BOOTING LINUX!!!!\nDon't get excited too yet, we need to verify something.\n\nIf you see the .config file, we can continue. If not, don't run this step, exit out of the Einrichter-in-chroot.sh script to go back to the Einrichter-CLI.sh script. After that, run:\n\nAlright, we can continue. RUN THE FOLLOWING:\n\nLater it will ask you this:\n\nSay yes if you want the kernel to be in the boot partition instead of the root one. Otherwise, no.\nS10.3: Bootloader configuration\nUsing UEFI bootloader? Check this:\nhttps://www.linuxfromscratch.org/blfs/view/stable-systemd/postlfs/grub-setup.html#uefi-kernel\nThis page shows instructions on installing GRUB.\nNot needed of course, if you want to tweak your current GRUB to also detect other OSes, add this to your /etc/default/grub (on the host machine)\nGRUB_DISABLE_OS_PROBER=false\nUpdate the GRUB config with the respective command.\nS10.4: Package management\nNeed a package manager? Install RPM:\n\nTo install tdnf, vmware's implementation of DNF, do:\n\nIf you want to add more packages to your system, including NetworkManager, run:\n\nS11: The End:tm:\nWell, you made it! Congrats on installing the basics of TylkoLinux... If you want, you can also mark your installation as a TylkoLinux one by running this:\n\nHope you had as much fun following the guide as I did writing it!\n","id":"https://rootsource.cc/Articles/tylkolinux-installation/","title":"TylkoLinux install guide (Delirium)."}},"docInfo":{"https://rootsource.cc/":{"body":26,"title":2},"https://rootsource.cc/Articles/":{"body":0,"title":1},"https://rootsource.cc/Articles/duckquill2ametrine/":{"body":131,"title":3},"https://rootsource.cc/Articles/set-up-costmiku-ffsync/":{"body":159,"title":5},"https://rootsource.cc/Articles/tylkolinux-installation/":{"body":1163,"title":4}},"length":5},"lang":"English"} \ No newline at end of file diff --git a/public/sitemap.xml b/public/sitemap.xml index c6489ce..90b7c60 100644 --- a/public/sitemap.xml +++ b/public/sitemap.xml @@ -6,9 +6,20 @@ https://rootsource.cc/Articles/ + + https://rootsource.cc/Articles/duckquill2ametrine/ + 2025-03-04 + https://rootsource.cc/Articles/page/1/ + + https://rootsource.cc/Articles/page/2/ + + + https://rootsource.cc/Articles/set-up-costmiku-ffsync/ + 2025-03-01 + https://rootsource.cc/Articles/tylkolinux-installation/ 2025-01-30 diff --git a/public/style.css b/public/style.css index 335416b..4b233d4 100644 --- a/public/style.css +++ b/public/style.css @@ -1,5 +1,5 @@ /*! - * Duckquill v6.1.1 (https://duckquill.daudix.one) - * Copyright 2024 David "Daudix" Lapshin - * Licensed under MIT (https://codeberg.org/daudix/duckquill/src/branch/main/LICENSE) - */:where(html){-webkit-text-size-adjust:100%;text-size-adjust:100%;line-height:1.15}:where(h1){margin-block-start:.67em;margin-block-end:.67em;font-size:2em}:where(dl,ol,ul) :where(dl,ol,ul){margin-block-start:0;margin-block-end:0}:where(hr){box-sizing:content-box;height:0;color:inherit}:where(abbr[title]){text-decoration:underline;text-decoration:underline dotted}:where(b,strong){font-weight:bolder}:where(code,kbd,pre,samp){font-size:1em;font-family:monospace,monospace}:where(small){font-size:80%}:where(table){border-color:currentColor;text-indent:0}:where(button,input,select){margin:0}:where(button){text-transform:none}:where(button,input:is([type=button i],[type=reset i],[type=submit i])){-webkit-appearance:button}:where(progress){vertical-align:baseline}:where(select){text-transform:none}:where(textarea){margin:0}:where(input[type=search i]){-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-input-placeholder{opacity:.54;color:inherit}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}:where(button,input:is([type=button i],[type=color i],[type=reset i],[type=submit i]))::-moz-focus-inner{border-style:none;padding:0}:where(button,input:is([type=button i],[type=color i],[type=reset i],[type=submit i]))::-moz-focusring{outline:1px dotted ButtonText}:where(:-moz-ui-invalid){box-shadow:none}:where(dialog){position:absolute;right:0;left:0;margin:auto;border:solid;background-color:#fff;padding:1em;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;color:#000}:where(dialog:not([open])){display:none}:where(summary){display:list-item}:root{--bg-color: color-mix(in srgb, var(--accent-color) 20%, white);--bg-overlay: linear-gradient(rgb(255 255 255 / 0.8), rgb(255 255 255 / 0.8));--fg-color: rgb(0 0 0 / 0.8);--fg-contrast: rgb(255 255 255);--fg-muted-1: rgb(0 0 0 / 0.05);--fg-muted-2: rgb(0 0 0 / 0.1);--fg-muted-3: rgb(0 0 0 / 0.2);--fg-muted-4: rgb(0 0 0 / 0.5);--fg-muted-5: rgb(0 0 0 / 0.6);--glass-bg: rgb(242 242 242 / 0.7);--accent-color-alpha: rgb(from var(--accent-color) r g b / var(--color-opacity));--blue-bg: rgb(from var(--blue-fg) r g b / var(--color-opacity));--blue-fg: rgb(53 132 228);--brown-bg: rgb(from var(--brown-fg) r g b / var(--color-opacity));--brown-fg: rgb(99 69 44);--green-bg: rgb(from var(--green-fg) r g b / var(--color-opacity));--green-fg: rgb(38 162 105);--purple-bg: rgb(from var(--purple-fg) r g b / var(--color-opacity));--purple-fg: rgb(145 65 172);--red-bg: rgb(from var(--red-fg) r g b / var(--color-opacity));--red-fg: rgb(224 27 36);--yellow-bg: rgb(from var(--yellow-fg) r g b / var(--color-opacity));--yellow-fg: rgb(156 110 3);--container-width: 720px;--rounded-corner: 0.75rem;--rounded-corner-small: 0.5rem;--blur: saturate(1.8) blur(0.75rem);--font-size-xx-small: 0.625rem;--font-size-x-small: 0.75rem;--font-size-small: 0.875rem;--font-size-medium: 1rem;--font-size-large: 1.25rem;--font-size-x-large: 1.5rem;--font-size-xx-large: 2rem;--font-size-xxx-large: 3rem;--font-size-xx-small-em: 0.625em;--font-size-x-small-em: 0.75em;--font-size-small-em: 0.875em;--font-size-medium-em: 1em;--font-size-large-em: 1.25em;--font-size-x-large-em: 1.5em;--font-size-xx-large-em: 2em;--font-size-xxx-large-em: 3em;--font-system-ui: system-ui, sans-serif;--font-transitional: Charter, "Bitstream Charter", "Sitka Text", Cambria, serif;--font-old-style: "Iowan Old Style", "Palatino Linotype", "URW Palladio L", P052, serif;--font-humanist: Seravek, "Gill Sans Nova", Ubuntu, Calibri, "DejaVu Sans", source-sans-pro, sans-serif;--font-geometric-humanist: Avenir, Montserrat, Corbel, "URW Gothic", source-sans-pro, sans-serif;--font-classical-humanist: Optima, Candara, "Noto Sans", source-sans-pro, sans-serif;--font-neo-grotesque: Inter, Roboto, "Helvetica Neue", "Arial Nova", "Nimbus Sans", Arial, sans-serif;--font-monospace-slab-serif: "Nimbus Mono PS", "Courier New", monospace;--font-monospace-code: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;--font-industrial: Bahnschrift, "DIN Alternate", "Franklin Gothic Medium", "Nimbus Sans Narrow", sans-serif-condensed, sans-serif;--font-rounded-sans: ui-rounded, "Hiragino Maru Gothic ProN", Quicksand, Comfortaa, Manjari, "Arial Rounded MT", "Arial Rounded MT Bold", Calibri, source-sans-pro, sans-serif;--font-slab-serif: Rockwell, "Rockwell Nova", "Roboto Slab", "DejaVu Serif", "Sitka Small", serif;--font-antique: Superclarendon, "Bookman Old Style", "URW Bookman", "URW Bookman L", "Georgia Pro", Georgia, serif;--font-didone: Didot, "Bodoni MT", "Noto Serif Display", "URW Palladio L", P052, Sylfaen, serif;--font-handwritten: "Segoe Print", "Bradley Hand", Chilanka, TSCu_Comic, casual, cursive;--font-emoji: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--color-opacity: 0.1;--dim-opacity: 0.8;--disabled-opacity: 0.6;--edge-highlight: inset 0 0.0625rem 0 rgb(255 255 255 / 0.1);--shadow: 0 0 0 0.0625rem rgb(0 0 0 / 0.03), 0 0.0625rem 0.1875rem 0.0625rem rgb(0 0 0 / 0.07), 0 0.125rem 0.375rem 0.125rem rgb(0 0 0 / 0.03);--shadow-raised: 0 0 0 0.0625rem rgb(0 0 0 / 0.06), 0 0.125rem 0.375rem 0.125rem rgb(0 0 0 / 0.14), 0 0.25rem 0.75rem 0.25rem rgb(0 0 0 / 0.06);--shadow-glass: 0 0.75rem 1.5rem -1rem rgb(0 0 0 / 0.5);--shadow-glow: 0 0 0 0.0625rem var(--accent-color-alpha), 0 0.125rem 0.375rem 0.125rem var(--accent-color-alpha), 0 0.25rem 1.5rem 0.25rem var(--accent-color-alpha);--text-shadow-glow: var(--accent-color-alpha) 0 0 0.25rem, var(--accent-color) 0 0 0.75rem;--hover: scale(1.1);--active: scale(0.9);--transition: 0.2s;--transition-longer: 0.4s;--transition-long: 0.8s}[data-theme=dark]{--bg-color: color-mix(in srgb, var(--accent-color) 10%, black);--bg-overlay: linear-gradient(rgb(0 0 0 / 0.9), rgb(0 0 0 / 0.9));--fg-color: rgb(255 255 255);--fg-contrast: rgb(0 0 0 / 0.8);--fg-muted-1: rgb(255 255 255 / 0.05);--fg-muted-2: rgb(255 255 255 / 0.1);--fg-muted-3: rgb(255 255 255 / 0.2);--fg-muted-4: rgb(255 255 255 / 0.5);--fg-muted-5: rgb(255 255 255 / 0.6);--glass-bg: rgb(25 25 25 / 0.7);--blue-fg: rgb(153 193 241);--brown-fg: rgb(205 171 143);--green-fg: rgb(143 240 164);--purple-fg: rgb(220 138 221);--red-fg: rgb(246 97 81);--yellow-fg: rgb(248 228 92);color-scheme:dark}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg-color: color-mix(in srgb, var(--accent-color) 10%, black);--bg-overlay: linear-gradient(rgb(0 0 0 / 0.9), rgb(0 0 0 / 0.9));--fg-color: rgb(255 255 255);--fg-contrast: rgb(0 0 0 / 0.8);--fg-muted-1: rgb(255 255 255 / 0.05);--fg-muted-2: rgb(255 255 255 / 0.1);--fg-muted-3: rgb(255 255 255 / 0.2);--fg-muted-4: rgb(255 255 255 / 0.5);--fg-muted-5: rgb(255 255 255 / 0.6);--glass-bg: rgb(25 25 25 / 0.7);--blue-fg: rgb(153 193 241);--brown-fg: rgb(205 171 143);--green-fg: rgb(143 240 164);--purple-fg: rgb(220 138 221);--red-fg: rgb(246 97 81);--yellow-fg: rgb(248 228 92);color-scheme:dark}}blockquote.note{border-inline-start:.25rem solid var(--blue-fg)}blockquote.note .alert-title,blockquote.note li::marker{color:var(--blue-fg)}blockquote.note .alert-title .icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M8 0C3.59 0 0 3.59 0 8s3.59 8 8 8 8-3.59 8-8-3.59-8-8-8m0 2c3.332 0 6 2.668 6 6s-2.668 6-6 6-6-2.668-6-6 2.668-6 6-6m0 1.875a1.125 1.125 0 1 0 0 2.25 1.125 1.125 0 0 0 0-2.25M6.477 7A.5.5 0 0 0 6.5 8H7v3h-.5a.499.499 0 1 0 0 1h3a.499.499 0 1 0 0-1H9V7zm0 0'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}blockquote.tip{border-inline-start:.25rem solid var(--green-fg)}blockquote.tip .alert-title,blockquote.tip li::marker{color:var(--green-fg)}blockquote.tip .alert-title .icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M7.996 0C5.16 0 2.703 2 2.125 4.777c-.527 2.535.688 5.036 2.871 6.325L5 12a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-.898c2.184-1.293 3.402-3.797 2.871-6.332A6.01 6.01 0 0 0 7.996 0m0 2a3.994 3.994 0 0 1 3.918 3.18 3.99 3.99 0 0 1-2.312 4.484 1.01 1.01 0 0 0-.602.914V11H6.996v-.418a1 1 0 0 0-.598-.914 3.994 3.994 0 0 1-2.316-4.484A3.99 3.99 0 0 1 7.996 2m-.998 4a.5.5 0 0 0-.354.852l1 1a.5.5 0 0 0 .708 0l1-1a.5.5 0 0 0 0-.707.507.507 0 0 0-.707 0l-.649.648-.644-.648A.5.5 0 0 0 6.998 6M6 14v1c0 .555.445 1 1 1h2c.555 0 1-.445 1-1v-1z'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}blockquote.important{border-inline-start:.25rem solid var(--purple-fg)}blockquote.important .alert-title,blockquote.important li::marker{color:var(--purple-fg)}blockquote.important .alert-title .icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M3 0C1.355 0 0 1.355 0 3v7c0 1.256.893 2.14 2 2.584V15a1 1 0 0 0 1.707.707L6.414 13H13c1.645 0 3-1.355 3-3V3c0-1.645-1.355-3-3-3zm0 2h10c.571 0 1 .429 1 1v7c0 .571-.429 1-1 1H6a1 1 0 0 0-.707.293L4 12.586V12a1 1 0 0 0-1-1c-.571 0-1-.429-1-1V3c0-.571.429-1 1-1m5 1c-.554 0-1 .446-1 1v2c0 .554.446 1 1 1s1-.446 1-1V4c0-.554-.446-1-1-1m0 5a1 1 0 0 0-1 1 1 1 0 0 0 1 1 1 1 0 0 0 1-1 1 1 0 0 0-1-1'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}blockquote.warning{border-inline-start:.25rem solid var(--yellow-fg)}blockquote.warning .alert-title,blockquote.warning li::marker{color:var(--yellow-fg)}blockquote.warning .alert-title .icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M8 .844c-.907 0-1.814.444-2.291 1.334l-.002.002-5.178 9.697C-.45 13.704.928 16.002 3 16h10c2.072.002 3.45-2.296 2.47-4.123L10.294 2.18l-.002-.002C9.814 1.288 8.907.844 8 .844M8 2.77c.201 0 .403.118.53.353l5.177 9.697.002.002c.307.573-.057 1.18-.707 1.178H2.998c-.65.001-1.014-.605-.707-1.178l.002-.002 5.18-9.699c.126-.233.327-.351.527-.351M8 5c-.554 0-1 .446-1 1v3c0 .554.446 1 1 1s1-.446 1-1V6c0-.554-.446-1-1-1m0 6a1 1 0 0 0-1 1 1 1 0 0 0 1 1 1 1 0 0 0 1-1 1 1 0 0 0-1-1'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}blockquote.caution{border-inline-start:.25rem solid var(--red-fg)}blockquote.caution .alert-title,blockquote.caution li::marker{color:var(--red-fg)}blockquote.caution .alert-title .icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M5 0a1 1 0 0 0-.707.293l-4 4A1 1 0 0 0 0 5v6a1 1 0 0 0 .293.707l4 4A1 1 0 0 0 5 16h6a1 1 0 0 0 .707-.293l4-4A1 1 0 0 0 16 11V5a1 1 0 0 0-.293-.707l-4-4A1 1 0 0 0 11 0zm.414 2h5.172L14 5.414v5.172L10.586 14H5.414L2 10.586V5.414zM8 4c-.554 0-1 .446-1 1v3c0 .554.446 1 1 1s1-.446 1-1V5c0-.554-.446-1-1-1m0 6a1 1 0 0 0-1 1 1 1 0 0 0 1 1 1 1 0 0 0 1-1 1 1 0 0 0-1-1'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}blockquote .alert-title{margin-block-end:-.75rem;font-weight:bold}blockquote .alert-title .icon{vertical-align:-.125em;margin-inline-end:.25rem}#article-list{display:flex;flex-direction:column;gap:1rem;margin-block-start:2rem}#article-list article{--bg-overlay: var(--accent-color-alpha);position:relative;transition:var(--transition);box-shadow:var(--edge-highlight),var(--shadow-glass);border-radius:var(--rounded-corner);border-start-end-radius:2.125rem;border-end-end-radius:1.8125rem;background-image:linear-gradient(var(--bg-overlay), var(--bg-overlay)),linear-gradient(var(--glass-bg), var(--glass-bg)),var(--blurnail);background-position:center;background-size:cover;background-color:var(--bg-overlay);padding:1rem;overflow:hidden}#article-list article:hover h3::after{transform:none;opacity:1}:root[dir*=rtl] #article-list article:hover h3::after{transform:scaleX(-1)}#article-list article:active:not(:has(.tag:active)){transform:var(--active)}#article-list article:has(>a:focus-visible){animation:focus-in var(--transition);outline:.125rem solid var(--accent-color);outline-offset:.125rem}@supports not selector(:focus-visible){#article-list article:has(>a:focus){animation:focus-in var(--transition);outline:.125rem solid var(--accent-color);outline-offset:.125rem}}#article-list article>a{position:absolute;inset:0;border-radius:var(--rounded-corner);border-start-end-radius:2.125rem;border-end-end-radius:1.8125rem}#article-list article h3{margin:0;color:var(--accent-color);font-weight:bold;line-height:1;font-family:var(--font-system-ui)}#article-list article h3::after{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='m5.707 1.293 6 6a1 1 0 0 1 0 1.414l-6 6a1 1 0 1 1-1.414-1.414L9.586 8 4.293 2.707a1 1 0 1 1 1.414-1.414m0 0'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);display:inline-block;position:relative;transform:translateX(-.25rem);opacity:0;mask-image:var(--icon);transition:var(--transition);margin-inline-start:.25rem;background-color:currentColor;width:1rem;height:1rem;pointer-events:none;content:""}:root[dir*=rtl] #article-list article h3::after{transform:scaleX(-1) translateX(-.25rem)}#article-list article .tags{position:relative;justify-content:flex-end;z-index:1;margin:0}#article-list article .tags a{background-color:var(--accent-color-alpha);color:var(--accent-color)}#article-list article .tags a:hover{background-color:var(--accent-color);color:var(--contrast-color)}#article-list article.draft::before,#article-list article.archive::before,#article-list article.featured::before,#article-list article.hot::before,#article-list article.poor::before{position:absolute;transform:translateY(-50%);opacity:var(--disabled-opacity);mask-size:cover;transition:var(--transition-longer);inset-block-start:50%;inset-inline-end:-3rem;width:12rem;height:12rem;content:""}#article-list article.draft:hover::before,#article-list article.archive:hover::before,#article-list article.featured:hover::before,#article-list article.hot:hover::before,#article-list article.poor:hover::before{transform:translateY(-50%) rotate(-10deg) scale(1.5)}:root[dir*=rtl] #article-list article.draft:hover::before,:root[dir*=rtl] #article-list article.archive:hover::before,:root[dir*=rtl] #article-list article.featured:hover::before,:root[dir*=rtl] #article-list article.hot:hover::before,:root[dir*=rtl] #article-list article.poor:hover::before{transform:translateY(-50%) rotate(10deg) scale(1.5)}#article-list article.draft{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M12.277.832c-.578.008-1.168.23-1.691.754l-9 9A2 2 0 0 0 1 12v3h3c.531 0 1.04-.21 1.414-.586l9-9c1.79-1.789.082-4.39-1.89-4.57-.083-.012-.165-.012-.247-.012M10.5 4.437 11.563 5.5 4.5 12.563 3.438 11.5zm0 0'/%3E%3C/svg%3E");--bg-overlay: var(--fg-muted-1)}#article-list article.draft::before{-webkit-mask-image:var(--icon);mask-image:var(--icon);background-color:var(--fg-muted-1)}#article-list article.draft h3{color:var(--fg-muted-4)}#article-list article.draft .badge{background-color:var(--fg-muted-1);color:var(--fg-muted-5)}#article-list article.draft .badge .icon{-webkit-mask-image:var(--icon);mask-image:var(--icon)}#article-list article.draft .tags a{background-color:var(--fg-muted-1);color:var(--fg-muted-5)}#article-list article.draft .tags a:hover{background-color:var(--fg-muted-5);color:var(--fg-contrast)}#article-list article.archive{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M2 1C.89 1 0 1.89 0 3v2c0 .751.41 1.402 1.018 1.744A2 2 0 0 0 1 7v7c0 1.11.89 2 2 2h10c1.11 0 2-.89 2-2V7a2 2 0 0 0-.018-.256A2 2 0 0 0 16 5V3c0-1.11-.89-2-2-2zm0 2h12v2H2zm1 4h10v7H3zm3 1v1h4V8z'/%3E%3C/svg%3E");--bg-overlay: var(--purple-bg)}#article-list article.archive::before{-webkit-mask-image:var(--icon);mask-image:var(--icon);background-color:var(--purple-bg)}#article-list article.archive h3{color:var(--purple-fg)}#article-list article.archive .badge{background-color:var(--purple-bg);color:var(--purple-fg)}#article-list article.archive .badge .icon{-webkit-mask-image:var(--icon);mask-image:var(--icon)}#article-list article.archive .tags a{background-color:var(--purple-bg);color:var(--purple-fg)}#article-list article.archive .tags a:hover{background-color:var(--purple-fg);color:var(--fg-contrast)}#article-list article.featured{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M8 0a1 1 0 0 0-.95.684l-1.448 4.34-4.59-.016C.032 5.004-.371 6.266.43 6.828l3.625 2.555-1.5 4.285c-.317.902.687 1.691 1.492 1.172l4.004-2.594 3.894 2.586c.801.531 1.817-.258 1.5-1.16l-1.504-4.29 3.645-2.577c.789-.563.394-1.809-.574-1.813l-4.66-.015L8.949.69A1 1 0 0 0 8 0m0 0'/%3E%3C/svg%3E");--bg-overlay: var(--yellow-bg)}#article-list article.featured::before{-webkit-mask-image:var(--icon);mask-image:var(--icon);background-color:var(--yellow-bg)}#article-list article.featured:hover::before{transform:translateY(-50%) rotate(62deg) scale(1.5)}:root[dir*=rtl] #article-list article.featured:hover::before{transform:translateY(-50%) rotate(-62deg) scale(1.5)}#article-list article.featured h3{color:var(--yellow-fg)}#article-list article.featured .badge{background-color:var(--yellow-bg);color:var(--yellow-fg)}#article-list article.featured .badge .icon{-webkit-mask-image:var(--icon);mask-image:var(--icon)}#article-list article.featured .tags a{background-color:var(--yellow-bg);color:var(--yellow-fg)}#article-list article.featured .tags a:hover{background-color:var(--yellow-fg);color:var(--fg-contrast)}#article-list article.hot{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M9.184.973C4.957 3.113 5.586 6.273 7 9 5.762 7.36 5.016 5.48 5 4 3.375 5 2 7 2 9a6.005 6.005 0 0 0 3.969 5.648c-.492-.84-.367-1.96.703-3.015 2.14-2.11 1.558-2.735 1.558-2.735 2.266 1.149-.32 3.137.418 3.88.563.558 1.758-1.391 1.77-2.184.848.96 1.246 1.676 1.246 2.75q0 .273-.035.52c2.512-1.805 3.273-5.41.46-8.184C8.095 1.742 9.185.973 9.185.973m0 0'/%3E%3C/svg%3E");--bg-overlay: var(--red-bg)}#article-list article.hot::before{-webkit-mask-image:var(--icon);mask-image:var(--icon);background-color:var(--red-bg)}#article-list article.hot h3{color:var(--red-fg)}#article-list article.hot .badge{background-color:var(--red-bg);color:var(--red-fg)}#article-list article.hot .badge .icon{-webkit-mask-image:var(--icon);mask-image:var(--icon)}#article-list article.hot .tags a{background-color:var(--red-bg);color:var(--red-fg)}#article-list article.hot .tags a:hover{background-color:var(--red-fg);color:var(--fg-contrast)}#article-list article.poor{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M8.963 1.514A4 4 0 0 1 5 5H4c-1.108 0-2 .892-2 2s.892 2 2 2H3c-1.662 0-3 1.338-3 3s1.338 3 3 3h10c1.662 0 3-1.338 3-3s-1.338-3-3-3h-1c1.108 0 2-.892 2-2s-.892-2-2-2h-1a4 4 0 0 0-2.037-3.486'/%3E%3C/svg%3E");--bg-overlay: var(--brown-bg)}#article-list article.poor::before{-webkit-mask-image:var(--icon);mask-image:var(--icon);background-color:var(--brown-bg)}#article-list article.poor h3{color:var(--brown-fg)}#article-list article.poor .badge{background-color:var(--brown-bg);color:var(--brown-fg)}#article-list article.poor .badge .icon{-webkit-mask-image:var(--icon);mask-image:var(--icon)}#article-list article.poor .tags a{background-color:var(--brown-bg);color:var(--brown-fg)}#article-list article.poor .tags a:hover{background-color:var(--brown-fg);color:var(--fg-contrast)}#article-list article .badge{float:inline-end;box-shadow:var(--edge-highlight);border-radius:999px;padding:.375rem .75rem;height:fit-content;font-weight:bold;white-space:nowrap}#article-list article .badge .icon{vertical-align:-.125em;margin-inline-end:.25rem}#article-list article .details{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:.25rem;margin-block-start:1rem;border-block-start:max(1px,.0625rem) solid var(--fg-muted-2);padding-block-start:.5rem}#paginator{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:.25rem;margin-block-start:4rem}#paginator #paginator-first,#paginator #paginator-previous,#paginator #paginator-next,#paginator #paginator-last{display:inline-block;transition:var(--transition);box-shadow:var(--edge-highlight);border-radius:1rem;background-color:var(--fg-muted-1);padding:.5rem;color:var(--fg-muted-4);line-height:0}#paginator #paginator-first .icon,#paginator #paginator-previous .icon,#paginator #paginator-next .icon,#paginator #paginator-last .icon{transition:var(--transition)}:root[dir*=rtl] #paginator #paginator-first .icon,:root[dir*=rtl] #paginator #paginator-previous .icon,:root[dir*=rtl] #paginator #paginator-next .icon,:root[dir*=rtl] #paginator #paginator-last .icon{transform:scaleX(-1)}#paginator a#paginator-first:hover,#paginator a#paginator-previous:hover,#paginator a#paginator-next:hover,#paginator a#paginator-last:hover{background-color:var(--fg-muted-2);color:var(--fg-muted-5)}#paginator a#paginator-first:active,#paginator a#paginator-previous:active,#paginator a#paginator-next:active,#paginator a#paginator-last:active{transform:var(--active);border-radius:1rem}#paginator span#paginator-first,#paginator span#paginator-previous,#paginator span#paginator-next,#paginator span#paginator-last{opacity:var(--disabled-opacity);cursor:not-allowed}#paginator #paginator-previous{border-start-end-radius:var(--rounded-corner-small);border-end-end-radius:var(--rounded-corner-small)}#paginator #paginator-next{border-start-start-radius:var(--rounded-corner-small);border-end-start-radius:var(--rounded-corner-small)}#paginator #paginator-first .icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M3 2v12h2V8.414l5.293 5.293a1 1 0 1 0 1.414-1.414L7.414 8l4.293-4.293a1 1 0 1 0-1.414-1.414L5 7.586V2zm0 0'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}#paginator #paginator-previous .icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='m9.293 13.707-5-5a1 1 0 0 1 0-1.414l5-5a1 1 0 1 1 1.414 1.414L6.414 8l4.293 4.293a1 1 0 1 1-1.414 1.414m0 0'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}#paginator #paginator-next .icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='m6.707 13.707 5-5a1 1 0 0 0 0-1.414l-5-5a1 1 0 1 0-1.414 1.414L9.586 8l-4.293 4.293a1 1 0 1 0 1.414 1.414m0 0'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}#paginator #paginator-last .icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M11 2v5.586L5.707 2.293a1 1 0 1 0-1.414 1.414L8.586 8l-4.293 4.293a1 1 0 1 0 1.414 1.414L11 8.414V14h2V2zm0 0'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}#paginator #paginator-counter{display:inline-block;transition:var(--transition);box-shadow:var(--edge-highlight);border-radius:var(--rounded-corner-small);background-color:var(--accent-color-alpha);padding:.5rem .625rem;color:var(--accent-color);font-weight:bold;line-height:1;font-variant-numeric:tabular-nums}#paginator:has(a#paginator-previous:active) #paginator-counter{border-start-start-radius:1rem;border-end-start-radius:1rem}#paginator:has(a#paginator-next:active) #paginator-counter{border-start-end-radius:1rem;border-end-end-radius:1rem}#banner-container{--mask: linear-gradient(black, transparent);-webkit-user-select:none;-webkit-mask-image:var(--mask);position:absolute;z-index:-1;mask-image:var(--mask);inset-block-start:0;inset-inline-start:0;aspect-ratio:2/1;width:100%;user-select:none}#banner-container #banner{position:fixed;transition:none;margin:0;inset-block-start:0;inset-inline-start:0}#banner-container+#heading{margin-block-start:calc(50vw - 7rem)}@media only screen and (max-width: 480px){body:has(#banner-container) #site-nav:not(#handle+#site-nav){margin-block-start:calc(50vw + 1rem)}}#heading{margin:2rem 0 1rem;text-align:center}#heading h1{-webkit-background-clip:text;margin:0;background-image:linear-gradient(to right, var(--fg-muted-4), var(--fg-color), var(--fg-muted-4));background-clip:text;color:rgba(0,0,0,0)}#heading h1+p{display:inline}#heading .tags{display:inline-flex;justify-content:center;margin-block-start:1rem}#buttons-container{display:flex;position:fixed;flex-direction:column;gap:.5rem;inset-block-end:1rem;inset-inline-end:1rem}@media only screen and (max-width: 720px){#buttons-container{position:static;flex-direction:row-reverse;margin-block-start:2rem}}#buttons-container summary,#buttons-container #go-to-top,#buttons-container #share,#buttons-container #issue{display:inline-block;transition:var(--transition);box-shadow:var(--edge-highlight);border-radius:999px;background-color:var(--fg-muted-1);padding:.5rem;color:var(--fg-muted-4);line-height:0}#buttons-container summary:hover,#buttons-container #go-to-top:hover,#buttons-container #share:hover,#buttons-container #issue:hover{background-color:var(--fg-muted-2);color:var(--fg-muted-5)}#buttons-container summary:active,#buttons-container #go-to-top:active,#buttons-container #share:active,#buttons-container #issue:active{transform:var(--active)}#buttons-container summary .icon,#buttons-container #go-to-top .icon,#buttons-container #share .icon,#buttons-container #issue .icon{transition:var(--transition)}#buttons-container details{position:relative;box-shadow:none;border-radius:0;background-color:rgba(0,0,0,0);padding:0}#buttons-container details[open] summary~*{transform-origin:bottom right;animation:button-dropdown-open var(--transition)}:root[dir*=rtl] #buttons-container details[open] summary~*{transform-origin:bottom left;animation:button-dropdown-open-rtl var(--transition)}@keyframes button-dropdown-open{from{transform:scale(.5) translate(1rem, 1rem);opacity:0}}@keyframes button-dropdown-open-rtl{from{transform:scale(.5) translate(-1rem, 1rem);opacity:0}}#buttons-container details summary::before{display:none}#buttons-container summary+div{-webkit-backdrop-filter:var(--blur);display:flex;position:absolute;flex-direction:column;z-index:1;backdrop-filter:var(--blur);inset-block-end:0;inset-inline-end:3rem;box-shadow:var(--edge-highlight),var(--shadow-glass);border-radius:var(--rounded-corner);background-color:var(--glass-bg);padding:1rem;width:min(var(--container-width)/3,90vw - 3rem);max-height:50vh}@media only screen and (max-width: 720px){#buttons-container summary+div{inset-inline-end:2.5rem;width:min(var(--container-width)/3,90vw - 2.5rem)}}#buttons-container summary+div strong.title{color:var(--fg-muted-4)}#buttons-container summary+div div{--mask: linear-gradient( to bottom, transparent, black 1rem, black calc(100% - 1rem), transparent );-webkit-mask-image:var(--mask);flex:1;mask-image:var(--mask);margin:0 -1rem -1rem;padding:1rem;padding-block-start:0;overflow:auto}#buttons-container summary+div ol,#buttons-container summary+div ul{margin:0;padding-inline-start:.75rem;font-size:var(--font-size-small)}#buttons-container summary+div ol:first-child,#buttons-container summary+div ul:first-child{margin-block-start:.75rem}#buttons-container summary+div ol li::marker,#buttons-container summary+div ul li::marker{color:var(--fg-muted-5)}#buttons-container summary+div ol a,#buttons-container summary+div ul a{color:var(--fg-muted-5)}#buttons-container #toc .icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M2 3a1 1 0 1 0 0 2 1 1 0 0 0 0-2m4 0c-.554 0-1 .446-1 1s.446 1 1 1h8c.554 0 1-.446 1-1s-.446-1-1-1ZM2 7a1 1 0 1 0 0 2 1 1 0 0 0 0-2m4 0c-.554 0-1 .446-1 1s.446 1 1 1h8c.554 0 1-.446 1-1s-.446-1-1-1Zm-4 4a1 1 0 1 0 0 2 1 1 0 0 0 0-2m4 0c-.554 0-1 .446-1 1s.446 1 1 1h8c.554 0 1-.446 1-1s-.446-1-1-1z'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}:root[dir*=rtl] #buttons-container #toc .icon{transform:scaleX(-1)}#buttons-container #backlinks .icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M5 14a1 1 0 0 1-.707-.293l-4-4a1 1 0 0 1 0-1.414l4-4a1 1 0 1 1 1.414 1.414L3.414 8H12c1.117 0 2-.883 2-2s-.883-2-2-2c-.55 0-1-.45-1-1s.45-1 1-1c2.2 0 4 1.8 4 4s-1.8 4-4 4H3.414l2.293 2.293A1 1 0 0 1 5 14m0 0'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}:root[dir*=rtl] #buttons-container #backlinks .icon{transform:scaleX(-1)}#buttons-container #backlinks summary+div{width:min(var(--container-width)/3,90vw - 5rem)}@media only screen and (max-width: 720px){#buttons-container #go-to-top{display:none}}#buttons-container #go-to-top .icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M1 11a1 1 0 0 1 .293-.707l6-6a1 1 0 0 1 1.414 0l6 6a1 1 0 1 1-1.414 1.414L8 6.414l-5.293 5.293A1 1 0 0 1 1 11m0 0'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}#buttons-container #share .icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M8 1a1 1 0 0 0-.5.135 1 1 0 0 0-.207.158l-3 3a1 1 0 0 0 0 1.414 1 1 0 0 0 1.414 0L7 4.414V10a1 1 0 0 0 1 1 1 1 0 0 0 1-1V4.414l1.293 1.293a1 1 0 0 0 1.414 0 1 1 0 0 0 0-1.414L8.738 1.326 8.7 1.287a1 1 0 0 0-.195-.15l-.008-.004a1 1 0 0 0-.236-.098h-.004A1 1 0 0 0 8 1M4 7c-1.645 0-3 1.355-3 3v2c0 1.645 1.355 3 3 3h8c1.645 0 3-1.355 3-3v-2c0-1.645-1.355-3-3-3a1 1 0 0 0 0 2c.564 0 1 .436 1 1v2c0 .564-.436 1-1 1H4c-.564 0-1-.436-1-1v-2c0-.564.436-1 1-1a1 1 0 0 0 0-2'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}#buttons-container #issue .icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M5 0c-.55 0-1 .45-1 1 0 .691.39 1.285.8 1.605C4.298 3.277 4 4.105 4 5H3V4H1v1c0 .832.563 1.523 1.05 1.77.493.246.95.23.95.23h1v1H1v2h3v1H3s-.457-.016-.95.23C1.563 11.477 1 12.168 1 13v3h2v-3h1.129c.45 1.719 2.016 3 3.871 3s3.422-1.281 3.871-3H13v3h2v-3c0-.832-.562-1.523-1.05-1.77-.493-.246-.95-.23-.95-.23h-1v-1h3V8h-3V7h1s.457.016.95-.23C14.437 6.523 15 5.832 15 5V4h-2v1h-1c0-.895-.297-1.723-.8-2.395.41-.32.8-.914.8-1.605 0-.55-.45-1-1-1s-1 .45-1 1a1 1 0 0 0-.645.238C8.93 1.086 8.473 1 8 1s-.93.086-1.355.238A1 1 0 0 0 6 1c0-.55-.45-1-1-1m2.969 5.031h.062A.97.97 0 0 1 9 6v3.063a.97.97 0 0 1-.969.968H7.97A.97.97 0 0 1 7 9.062V6a.97.97 0 0 1 .969-.969m0 6h.062A.97.97 0 0 1 9 12v.063a.97.97 0 0 1-.969.968H7.97a.97.97 0 0 1-.97-.969V12a.97.97 0 0 1 .969-.969m0 0'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.buttons{display:flex;flex-direction:row;justify-content:space-between;margin-block-start:4rem}.buttons.centered{justify-content:space-around}.buttons a{text-decoration:none}.buttons button{appearance:none;cursor:pointer;border:none;font-family:inherit}.buttons button:disabled{cursor:not-allowed}.buttons button:disabled:hover{background-color:var(--fg-muted-1);color:var(--fg-muted-5)}.buttons button:disabled:active{transform:none}.buttons a,.buttons button{transition:var(--transition);box-shadow:var(--edge-highlight);border-radius:var(--rounded-corner);background-color:var(--fg-muted-1);padding:.75rem 1rem;color:var(--fg-muted-5);font-weight:bold;font-size:var(--font-size-small);line-height:1}.buttons a:hover,.buttons button:hover{background-color:var(--fg-muted-2);color:var(--fg-color)}.buttons a:active,.buttons button:active{transform:var(--active)}.buttons a.colored,.buttons button.colored{box-shadow:none;background-color:rgba(0,0,0,0);color:var(--accent-color)}.buttons a.colored:hover,.buttons button.colored:hover{box-shadow:var(--edge-highlight);background-color:var(--accent-color-alpha)}.buttons a.big,.buttons button.big{border-radius:999px;padding:1rem 1.5rem}pre,code,kbd,samp{font-family:var(--font-monospace-code)}code:not(pre code){box-shadow:var(--edge-highlight);border-radius:var(--rounded-corner-small);background-color:var(--fg-muted-1);padding:.125rem .375rem;color:var(--red-fg);font-size:var(--font-size-small-em)}pre{margin:1rem 0 1rem;box-shadow:var(--edge-highlight),var(--shadow);border-radius:var(--rounded-corner);background-color:var(--fg-muted-1);padding:1rem;max-width:100vw;overflow:auto;line-height:normal}pre table{box-shadow:none;border-radius:0;background-color:rgba(0,0,0,0);table-layout:auto;overflow:hidden}pre table tr:nth-child(even){background-color:rgba(0,0,0,0)}pre table tr th,pre table tr td{padding:0}pre table tr th{background-color:rgba(0,0,0,0);font-weight:normal}pre table td:nth-of-type(1){-webkit-user-select:none;user-select:none;text-align:center}pre mark{display:block;box-shadow:none;border-radius:0;background-color:var(--fg-muted-1);padding:0;color:var(--fg-color)}pre[data-linenos]{padding:1rem 0}#comments #qrcode{float:inline-end;transform-origin:right;box-sizing:content-box;margin-inline-start:1rem;margin-block-start:3rem;margin-block-end:0;background-color:#fff;padding:.75rem;width:7.8125rem;height:7.8125rem}:root[dir*=rtl] #comments #qrcode{transform-origin:left}@media only screen and (max-width: 720px){#comments #qrcode{display:none}}#comments .buttons{justify-content:start;gap:.25rem;margin-block-start:2rem}#comments .buttons #load-comments:disabled{--shimmer: rgb( from var(--accent-color) r g b / calc(var(--color-opacity) * 2) );animation:loading-shimmer var(--transition-long) ease-in-out alternate infinite;transition:none;background-image:linear-gradient(to right, var(--fg-muted-1) 50%, var(--shimmer) 75%, var(--fg-muted-1) 100%);background-size:200%;background-color:rgba(0,0,0,0)}#comments .buttons #load-comments:disabled:hover{background-color:rgba(0,0,0,0)}@keyframes loading-shimmer{to{background-position-x:-200%}}#comments #comments-wrapper{display:flex;flex-direction:column;gap:2rem;margin-block-start:2rem}#comments #comments-wrapper #comments-status{color:var(--fg-muted-4);font-weight:bold;font-size:var(--font-size-x-large);text-align:center}#comments #comments-wrapper .comment{display:grid;grid-template-columns:min-content;grid-template-areas:"avatar name " "avatar time " "avatar post " "...... media " "...... card " "...... interactions";column-gap:1rem;justify-items:start}#comments #comments-wrapper .comment.comment-reply{position:relative;border-radius:.25rem;border-inline-start:.25rem solid var(--fg-muted-2);padding-inline-start:1rem}#comments #comments-wrapper .comment.comment-reply:has(+.comment-reply){border-end-start-radius:0}#comments #comments-wrapper .comment.comment-reply+.comment-reply{margin-block-start:-2rem;border-start-start-radius:0;padding-block-start:2rem}#comments #comments-wrapper .comment .avatar-link{position:relative;grid-area:avatar;width:4rem;height:4rem}#comments #comments-wrapper .comment .avatar-link .avatar{transition:var(--transition);margin:0;background-size:cover;width:100%;height:100%}#comments #comments-wrapper .comment .avatar-link .avatar:hover{transform:rotate(10deg) var(--hover);border-radius:var(--rounded-corner)}#comments #comments-wrapper .comment .avatar-link .avatar:active{transform:var(--active)}#comments #comments-wrapper .comment .author{display:flex;grid-area:name;align-items:center;gap:.25rem;font-weight:bold}#comments #comments-wrapper .comment .author .instance{transition:var(--transition);box-shadow:var(--edge-highlight);border-radius:999px;background-color:var(--fg-muted-1);padding:.375rem .75rem;color:var(--fg-muted-5);font-size:var(--font-size-small);line-height:1;text-decoration:none}#comments #comments-wrapper .comment .author .instance:hover{background-color:var(--fg-muted-5);color:var(--fg-contrast);text-decoration:none}#comments #comments-wrapper .comment .author .instance:active{transform:var(--active)}#comments #comments-wrapper .comment .author .instance.op{background-color:var(--accent-color-alpha);padding-inline-start:.4375rem;color:var(--accent-color)}#comments #comments-wrapper .comment .author .instance.op:hover{background-color:var(--accent-color);color:var(--contrast-color)}#comments #comments-wrapper .comment .author .instance.op:hover::before{background-color:var(--contrast-color)}#comments #comments-wrapper .comment .author .instance.op::before{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M5.21 1.27A3.7 3.7 0 0 1 8 0c1.113 0 2.11.492 2.79 1.27a3.68 3.68 0 0 1 2.866 1.074A3.68 3.68 0 0 1 14.73 5.21C15.54 5.914 16 6.93 16 8s-.46 2.086-1.27 2.79a3.68 3.68 0 0 1-1.074 2.866 3.68 3.68 0 0 1-2.867 1.074C10.086 15.54 9.07 16 8 16s-2.086-.46-2.79-1.27a3.68 3.68 0 0 1-2.866-1.074A3.68 3.68 0 0 1 1.27 10.79 3.7 3.7 0 0 1 0 8c0-1.113.492-2.11 1.27-2.79a3.68 3.68 0 0 1 1.074-2.866A3.68 3.68 0 0 1 5.21 1.27m5.75 5.242a.613.613 0 0 0-.437-.98.61.61 0 0 0-.562.265L7.305 9.512 5.973 8.18a.616.616 0 0 0-.868.87l1.844 1.845a.61.61 0 0 0 .485.18.63.63 0 0 0 .453-.255zm0 0'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);display:inline-block;vertical-align:-.1875rem;mask-image:var(--icon);mask-size:cover;transition:var(--transition);margin-inline-end:.25rem;background-color:var(--accent-color);width:1rem;height:1rem;content:""}:root[dir*=rtl] #comments #comments-wrapper .comment .author .instance.op{padding:.375rem .5rem .375rem .75rem}#comments #comments-wrapper .comment .mention{display:inline-block;transition:var(--transition);box-shadow:var(--edge-highlight);border-radius:var(--rounded-corner-small);background-color:var(--accent-color-alpha);padding:.25rem .375rem;line-height:1;text-decoration:none}#comments #comments-wrapper .comment .mention:hover{background-color:var(--accent-color);color:var(--contrast-color)}#comments #comments-wrapper .comment .mention:active{transform:var(--active)}#comments #comments-wrapper .comment .mention.hashtag{background-color:var(--fg-muted-1);color:var(--fg-muted-5)}#comments #comments-wrapper .comment .mention.hashtag:hover{background-color:var(--fg-muted-5);color:var(--fg-contrast)}#comments #comments-wrapper .comment time{grid-area:time;margin-block-start:.5rem;font-size:var(--font-size-small)}#comments #comments-wrapper .comment time a{color:var(--fg-muted-5)}#comments #comments-wrapper .comment time a:after{background-color:var(--fg-muted-5)}#comments #comments-wrapper .comment details[open]{border-radius:var(--rounded-corner-small);background-image:linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,0) .5rem, var(--fg-muted-1) .5rem, var(--fg-muted-1) calc(100% - .5rem), rgba(0,0,0,0) calc(100% - .5rem), rgba(0,0,0,0)),linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,0) .5rem, var(--bg-color) .5rem, var(--bg-color) calc(100% - .5rem), rgba(0,0,0,0) calc(100% - .5rem), rgba(0,0,0,0)),repeating-linear-gradient(45deg, var(--contrast-color), var(--contrast-color) .25rem, var(--accent-color) .25rem, var(--accent-color) .5rem)}#comments #comments-wrapper .comment details[open] summary{border-radius:0;background-image:none}#comments #comments-wrapper .comment details summary{border-radius:var(--rounded-corner-small);background-image:linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,0) .5rem, var(--fg-muted-1) .5rem, var(--fg-muted-1) calc(100% - .5rem), rgba(0,0,0,0) calc(100% - .5rem), rgba(0,0,0,0)),linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,0) .5rem, var(--bg-color) .5rem, var(--bg-color) calc(100% - .5rem), rgba(0,0,0,0) calc(100% - .5rem), rgba(0,0,0,0)),repeating-linear-gradient(45deg, var(--contrast-color), var(--contrast-color) .25rem, var(--accent-color) .25rem, var(--accent-color) .5rem)}#comments #comments-wrapper .comment main{grid-area:post;margin:1rem 0 0;width:100%}#comments #comments-wrapper .comment main :first-child{margin-block-start:0}#comments #comments-wrapper .comment main :last-child{margin-block-end:0}#comments #comments-wrapper .comment .attachments{display:grid;grid-template-columns:repeat(auto-fit, minmax(16rem, 1fr));grid-area:media;gap:.5rem;margin-block-start:1rem}#comments #comments-wrapper .comment .attachments img,#comments #comments-wrapper .comment .attachments video{margin:0}#comments #comments-wrapper .comment .card{grid-area:card;transition:var(--transition);margin-block-start:1rem;width:min(var(--container-width)/2,100%);font-weight:normal;text-decoration:none}#comments #comments-wrapper .comment .card:hover:not(:active) img{transform:var(--hover);box-shadow:var(--edge-highlight),var(--shadow-raised);border-radius:var(--rounded-corner-small)}#comments #comments-wrapper .comment .card:hover:not(:active) figcaption{border-radius:var(--rounded-corner);background-color:var(--fg-muted-2)}#comments #comments-wrapper .comment .card:active{transform:var(--active)}#comments #comments-wrapper .comment .card figure{display:flex;flex-direction:column;gap:.25rem;margin:0}#comments #comments-wrapper .comment .card figure img{margin:0;border-radius:var(--rounded-corner) var(--rounded-corner) var(--rounded-corner-small) var(--rounded-corner-small);aspect-ratio:16/9;object-fit:cover}#comments #comments-wrapper .comment .card figure img+figcaption{border-radius:var(--rounded-corner-small) var(--rounded-corner-small) var(--rounded-corner) var(--rounded-corner)}#comments #comments-wrapper .comment .card figure figcaption{display:flex;flex-direction:column;gap:.25rem;transition:var(--transition);box-shadow:var(--edge-highlight);border-radius:var(--rounded-corner);background-color:var(--fg-muted-1);padding:1rem;color:var(--fg-color);font-size:var(--font-size-medium);text-align:start}#comments #comments-wrapper .comment .card figure figcaption p{margin:0;color:var(--fg-muted-5);font-size:var(--font-size-small)}#comments #comments-wrapper .comment footer{display:flex;grid-area:interactions;gap:.25rem;margin-block-start:1rem}#comments #comments-wrapper .comment footer .boosts,#comments #comments-wrapper .comment footer .faves{transition:var(--transition);border-radius:999px;background-color:rgba(0,0,0,0);padding:.5rem .75rem;padding-inline-start:.625rem;line-height:1;font-variant-numeric:tabular-nums;text-decoration:none}#comments #comments-wrapper .comment footer .boosts .icon,#comments #comments-wrapper .comment footer .faves .icon{vertical-align:-.125em;transition:var(--transition-longer);margin-inline-end:.25rem}#comments #comments-wrapper .comment footer .boosts:hover,#comments #comments-wrapper .comment footer .faves:hover{box-shadow:var(--edge-highlight);text-decoration:none}#comments #comments-wrapper .comment footer .boosts:active,#comments #comments-wrapper .comment footer .faves:active{transform:var(--active)}#comments #comments-wrapper .comment footer .boosts{color:var(--purple-fg)}#comments #comments-wrapper .comment footer .boosts:hover{background-color:var(--purple-bg)}#comments #comments-wrapper .comment footer .boosts:hover .icon{transform:rotate(180deg)}:root[dir*=rtl] #comments #comments-wrapper .comment footer .boosts:hover .icon{transform:scaleX(-1) rotate(180deg)}#comments #comments-wrapper .comment footer .boosts .icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M8 1v2H4C1.8 3 0 4.8 0 7v2a4 4 0 0 0 1.02 2.672 1 1 0 1 0 1.488-1.336A1.97 1.97 0 0 1 2 9V7c0-1.125.875-2 2-2h4v2h1v-.008a1 1 0 0 0 .707-.285l2-2a1 1 0 0 0 0-1.414l-2-2A1 1 0 0 0 9 1.008V1zm6.29 3a1 1 0 0 0-.72.258.993.993 0 0 0-.078 1.41c.317.355.508.816.508 1.34v2c0 1.125-.875 2-2 2H8V9H7v.008a1 1 0 0 0-.707.285l-2 2a1 1 0 0 0 0 1.414l2 2c.187.184.441.29.707.285V15h1v-1.992h4c2.2 0 4-1.805 4-4v-2a4 4 0 0 0-1.02-2.676A1 1 0 0 0 14.29 4m0 0'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}:root[dir*=rtl] #comments #comments-wrapper .comment footer .boosts .icon{transform:scaleX(-1)}#comments #comments-wrapper .comment footer .faves{color:var(--yellow-fg)}#comments #comments-wrapper .comment footer .faves:hover{background-color:var(--yellow-bg)}#comments #comments-wrapper .comment footer .faves:hover .icon{transform:rotate(72deg)}:root[dir*=rtl] #comments #comments-wrapper .comment footer .faves:hover .icon{transform:rotate(-72deg)}#comments #comments-wrapper .comment footer .faves .icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M8 0a1 1 0 0 0-.95.684l-1.448 4.34-4.59-.016C.032 5.004-.371 6.266.43 6.828l3.625 2.555-1.5 4.285c-.317.902.687 1.691 1.492 1.172l4.004-2.594 3.894 2.586c.801.531 1.817-.258 1.5-1.16l-1.504-4.29 3.645-2.577c.789-.563.394-1.809-.574-1.813l-4.66-.015L8.949.69A1 1 0 0 0 8 0m0 0'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.crt{margin:1rem 0 1rem;box-shadow:var(--edge-highlight),var(--shadow-glow);border-radius:var(--rounded-corner);background-image:radial-gradient(color-mix(in srgb, var(--accent-color) 30%, #000), color-mix(in srgb, var(--accent-color) 10%, #000) 80%, color-mix(in srgb, var(--accent-color) 5%, #000))}.crt pre{--text-shadow-1: hsl(from var(--accent-color) h s l / 0.5);--text-shadow-2: hsl(from var(--accent-color) h calc(s * 2) l);animation:flicker .25s alternate infinite;margin:0;box-shadow:none;background-color:rgba(0,0,0,0) !important;padding:1rem 1rem;color:var(--accent-color) !important;text-shadow:var(--text-shadow-1) 0 0 .25rem,var(--text-shadow-2) 0 0 .75rem}@keyframes flicker{25%{opacity:.95}50%{opacity:.85}75%{opacity:1}to{opacity:.9}}.scanlines{position:relative;overflow:hidden}.scanlines::before{display:block;position:absolute;z-index:1;animation:scanlines .1s linear infinite;inset:0;background-image:repeating-linear-gradient(to bottom, rgba(0,0,0,.25), rgba(0,0,0,.25) .125rem, rgba(0,0,0,0) .125rem, rgba(0,0,0,0) .25rem);pointer-events:none;content:""}@keyframes scanlines{to{background-position-y:.25rem}}.scanlines::after{--scanline-color: rgb(from var(--accent-color) r g b / 0.05);display:block;position:absolute;animation:scanline 5s linear infinite;inset:0;background-image:linear-gradient(to bottom, rgba(0,0,0,0), var(--scanline-color) 16rem);background-size:auto 16rem;background-repeat:no-repeat;background-position-y:-16rem;pointer-events:none;content:""}@keyframes scanline{to{background-position-y:calc(100% + 16rem)}}.cursor{animation:cursor-blink 1s infinite}@keyframes cursor-blink{50%{opacity:0}}.emoji{display:inline-block;vertical-align:bottom;transition:var(--transition);cursor:zoom-in;margin:0;box-shadow:none;border-radius:0;background-color:rgba(0,0,0,0);width:1.5em;height:1.5em}.emoji:hover{transform:scale(2)}a.external::after{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' %3E%3Cpath d='m6 6 5-5M7 1h4v4M4 2H3a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h5a2 2 0 0 0 2-2V8' style='fill:none;stroke:black;stroke-linejoin:round;stroke-linecap:round;stroke-width:2'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);display:inline-block;opacity:var(--dim-opacity);mask-image:var(--icon);mask-size:cover;margin-inline-start:.25rem;background-color:currentColor;width:max(.75rem,.75em);height:max(.75rem,.75em);content:""}:root[dir*=rtl] a.external::after{transform:scaleX(-1)}#site-footer{grid-area:footer;margin-block-end:2rem;text-align:center}#site-footer nav{display:inline-block;margin:0 auto 1rem;box-shadow:var(--edge-highlight);border-radius:1.375rem;background-color:var(--fg-muted-1);padding:.25rem;max-width:90%}#site-footer nav ul{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.25rem;margin:0;padding:0}#site-footer nav li{display:flex;margin:0;padding:0;list-style:none}@media only screen and (max-width: 480px){#site-footer nav li{flex:0 0 100%}}#site-footer nav a{flex:1;transition:var(--transition);border-radius:999px;padding:.375rem .75rem;color:var(--fg-muted-4);text-align:center;text-decoration:none}#site-footer nav a.active{box-shadow:var(--edge-highlight);background-color:var(--accent-color-alpha);color:var(--accent-color)}#site-footer nav a.active:hover{background-color:var(--accent-color);color:var(--contrast-color)}#site-footer nav a:hover{box-shadow:var(--edge-highlight);background-color:var(--fg-muted-1);color:var(--fg-muted-5)}#site-footer nav a:active{transform:var(--active)}#site-footer #socials{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:1rem auto 0;padding:0}#site-footer #socials li{margin:0;padding:0;list-style:none}#site-footer #socials a{display:block;transition:var(--transition);border-radius:999px;padding:.5rem;color:var(--fg-muted-4);line-height:0}#site-footer #socials a:hover{box-shadow:var(--edge-highlight);background-color:var(--fg-muted-1);color:var(--fg-muted-5)}#site-footer #socials a:active{transform:var(--active)}#site-footer #socials a .icon{-webkit-mask-image:var(--icon);mask-image:var(--icon);transition:var(--transition);width:1.5rem;height:1.5rem}#site-footer #socials a span{display:none}#site-footer p{margin:1rem auto}#site-footer .link{display:inline-block;transition:var(--transition);box-shadow:var(--edge-highlight);border-radius:var(--rounded-corner-small);background-color:var(--accent-color-alpha);padding:.25rem .375rem;line-height:1;text-decoration:none}#site-footer .link:hover{background-color:var(--accent-color);color:var(--contrast-color)}#site-footer .link:active{transform:var(--active)}.footnotes-list p{margin-block-start:0;margin-block-end:0}.footnotes-list a[href*="#fr-"]{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M5 14a1 1 0 0 1-.707-.293l-4-4a1 1 0 0 1 0-1.414l4-4a1 1 0 1 1 1.414 1.414L3.414 8H12c1.117 0 2-.883 2-2s-.883-2-2-2c-.55 0-1-.45-1-1s.45-1 1-1c2.2 0 4 1.8 4 4s-1.8 4-4 4H3.414l2.293 2.293A1 1 0 0 1 5 14m0 0'/%3E%3C/svg%3E");-webkit-user-select:none;-webkit-mask-image:var(--icon);display:inline-block;vertical-align:-.3125em;mask-image:var(--icon);mask-size:cover;transition:var(--transition);background-color:var(--fg-muted-4);width:1rem;height:1rem;color:rgba(0,0,0,0);user-select:none}:root[dir*=rtl] .footnotes-list a[href*="#fr-"]{transform:scaleX(-1)}:root[dir*=rtl] .footnotes-list a[href*="#fr-"]:active{transform:scaleX(-1) var(--active)}.footnotes-list a[href*="#fr-"]:hover{background-color:var(--accent-color)}.footnotes-list a[href*="#fr-"]:active{transform:var(--active)}.footnotes-list a+a[href*="#fr-"],.footnotes-list li:target a[href*="#fr-"]{opacity:var(--dim-opacity);background-color:var(--accent-color)}.footnotes-list a+a[href*="#fr-"]:hover,.footnotes-list li:target a[href*="#fr-"]:hover{opacity:1}.footnotes-list li:target a[href*="#fr-"]{text-shadow:none}*{box-sizing:border-box}:root{scroll-behavior:smooth;scrollbar-color:var(--accent-color) rgba(0,0,0,0);accent-color:var(--accent-color);font-size:16px}body{text-wrap:pretty;display:grid;grid-template-rows:auto minmax(auto, 1fr) auto;grid-template-areas:"nav" "main" "footer";margin:0;background-color:var(--bg-color);min-height:100vh;color:var(--fg-color);line-height:1.5;font-family:var(--font-system-ui),var(--font-emoji);overflow-wrap:break-word}body:has(#sidebar){grid-template-columns:1fr min(var(--container-width),90%) 1fr;grid-template-areas:"nav nav nav" "sidebar main ." "footer footer footer"}@media only screen and (max-width: 1200px){body:has(#sidebar){grid-template-areas:"nav nav nav" ". sidebar ." ". main ." "footer footer footer"}}::selection{background-color:var(--accent-color);color:var(--contrast-color)}:target:not(#main-content){transition:all var(--transition),scroll-margin-block-start 0s;scroll-margin-block-start:15vh;color:var(--accent-color);text-shadow:var(--text-shadow-glow)}:focus-visible{animation:focus-in var(--transition);outline:.125rem solid var(--accent-color);outline-offset:.125rem}@supports not selector(:focus-visible){:focus{animation:focus-in var(--transition);outline:.125rem solid var(--accent-color);outline-offset:.125rem}}@keyframes focus-in{from{outline:.5rem solid rgba(0,0,0,0);outline-offset:.25rem}}main{margin:4.25rem auto 4rem;width:min(var(--container-width),90%)}#sidebar{display:flex;position:sticky;top:0;grid-area:sidebar;opacity:.2;transition:var(--transition);padding:1rem;height:100vh}#sidebar:hover{opacity:1}@media only screen and (max-width: 1200px){#sidebar{position:static;opacity:1;margin-block-start:4.25rem;margin-block-end:-4.25rem;padding:0;height:auto}}#sidebar>div{--mask: linear-gradient(to bottom, transparent, black 1rem, black calc(100% - 1rem), transparent);-webkit-mask-image:var(--mask);flex:1;mask-image:var(--mask);overflow:auto}#sidebar+main{grid-area:main;margin:0;margin-block-start:4.25rem;margin-block-end:4rem;width:auto}@media (prefers-reduced-motion){*,*::before,*::after{animation-duration:0s !important;transition-duration:0s !important}}.hidden{display:none;visibility:hidden}i.icon{display:inline-block;mask-size:cover;background-color:currentColor;width:1rem;height:1rem;font-style:normal;font-variant:normal;line-height:0;text-rendering:auto}iframe{display:block;margin:1rem auto;box-shadow:var(--edge-highlight),var(--shadow);border:none;border-radius:var(--rounded-corner);background-color:var(--fg-muted-1);width:100%;max-width:100%}iframe.mastodon-embed{aspect-ratio:3/4;width:min(var(--container-width)/2,100%)}iframe.vimeo-embed,iframe.youtube-embed{aspect-ratio:16/9}iframe:fullscreen{box-shadow:none;border-radius:0}iframe:-webkit-full-screen{box-shadow:none;border-radius:0}input[type=radio],input[type=checkbox],input[type=color]{position:relative;appearance:none;transition:var(--transition);cursor:pointer;border:.15rem solid var(--fg-muted-2);background-color:var(--fg-muted-1);width:1rem;height:1rem}input[type=radio]:hover,input[type=checkbox]:hover,input[type=color]:hover{background-color:var(--fg-muted-2)}input[type=radio]:disabled,input[type=checkbox]:disabled,input[type=color]:disabled{opacity:var(--disabled-opacity);cursor:not-allowed}input[type=radio]:disabled:hover,input[type=checkbox]:disabled:hover,input[type=color]:disabled:hover{background-color:var(--fg-muted-1)}input[type=radio]:disabled:hover:checked,input[type=checkbox]:disabled:hover:checked,input[type=color]:disabled:hover:checked{background-color:var(--accent-color)}input[type=radio]::before,input[type=checkbox]::before{display:block;position:absolute;transform:scale(.5);opacity:0;transition:var(--transition);background-color:var(--contrast-color);content:""}input[type=radio]:checked,input[type=checkbox]:checked{border:.15rem solid rgba(0,0,0,0);background-color:var(--accent-color)}input[type=radio]:checked::before,input[type=checkbox]:checked::before{transform:scale(1);opacity:1}input[type=radio]{vertical-align:-.1875em;border-radius:50%}input[type=radio]::before{inset-block-start:.125rem;inset-inline-start:.125rem;border-radius:50%;width:.5rem;height:.5rem}input[type=checkbox]{vertical-align:-.1875em;border-radius:calc(var(--rounded-corner-small)/2)}input[type=checkbox]::before{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M13.754 4.668c.176-.2.262-.461.246-.723a1 1 0 0 0-.34-.687 1 1 0 0 0-.726-.246 1 1 0 0 0-.688.34L5.95 10.547 3.707 8.3A1 1 0 0 0 2 9.01a1 1 0 0 0 .293.708l3 3c.195.195.465.3.742.293.278-.012.535-.133.719-.344zm0 0'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);transform-origin:bottom left;mask-image:var(--icon);mask-size:cover;inset-block-start:-.125rem;inset-inline-start:-.125rem;width:1rem;height:1rem}input[type=checkbox].switch{vertical-align:-.375rem;box-shadow:var(--edge-highlight);border:none;border-radius:999px;width:2.5rem;height:1.5rem}input[type=checkbox].switch.big{vertical-align:-.625rem;width:3rem;height:2rem}input[type=checkbox].switch.big::before{width:1.5rem;height:1.5rem}input[type=checkbox].switch::before{transform:none;transform-origin:center;opacity:1;mask-image:none;transition:var(--transition);inset-block-start:.25rem;inset-inline-start:.25rem;box-shadow:var(--shadow);border-radius:50%;background-color:#fff;width:1rem;height:1rem}input[type=checkbox].switch:checked{background-color:var(--accent-color)}input[type=checkbox].switch:checked::before{transform:translateX(1rem);background-color:var(--contrast-color)}:root[dir*=rtl] input[type=checkbox].switch:checked::before{transform:translateX(-1rem)}input[type=checkbox].switch:disabled::before{box-shadow:none}input[type=color]{vertical-align:-.375em;box-shadow:var(--edge-highlight);border:none;border-radius:var(--rounded-corner-small);padding:.25rem;width:3rem;height:2rem}input[type=color]::-moz-color-swatch{border:none;border-radius:calc(var(--rounded-corner-small) - .25rem)}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border-radius:calc(var(--rounded-corner-small) - .25rem)}input[type=range]{appearance:none;transition:var(--transition);cursor:pointer;box-shadow:var(--edge-highlight);border-radius:999px;background:var(--accent-color);width:100%;height:.5rem}input[type=range]::-webkit-slider-thumb{appearance:none;filter:brightness(.9);transition:var(--transition);cursor:grab;box-shadow:var(--shadow);border-radius:999px;background-color:#fff;width:1.5rem;height:1.5rem}input[type=range]::-webkit-slider-thumb:active{transform:var(--active);cursor:grabbing}input[type=range]::-moz-range-thumb{appearance:none;transition:var(--transition);cursor:grab;box-shadow:var(--shadow);border:none;border-radius:999px;background-color:#fff;width:1.5rem;height:1.5rem}input[type=range]::-moz-range-thumb:active{transform:var(--active);cursor:grabbing}img,video{display:block;margin:1rem auto;box-shadow:var(--edge-highlight),var(--shadow);border-radius:var(--rounded-corner);background-color:var(--fg-muted-1);max-width:100%}img.full,img[src*="#full"],video.full,video[src*="#full"]{width:100%}img.full-bleed,img[src*="#full-bleed"],video.full-bleed,video[src*="#full-bleed"]{margin-inline-start:calc((-100vw + 100%)/2);margin-inline-end:calc((-100vw + 100%)/2);width:100vw;max-width:100vw}img.start,img.end,img[src*="#start"],img[src*="#end"],video.start,video.end,video[src*="#start"],video[src*="#end"]{margin:0;width:30%}@media only screen and (max-width: 720px){img.start,img.end,img[src*="#start"],img[src*="#end"],video.start,video.end,video[src*="#start"],video[src*="#end"]{float:none;margin-inline-start:0;margin-inline-end:0;margin-block-start:1rem;margin-block-end:1rem;width:100%}}img.start,img[src*="#start"],video.start,video[src*="#start"]{float:inline-start;transform-origin:left;margin-inline-end:1rem}:root[dir*=rtl] img.start,:root[dir*=rtl] img[src*="#start"],:root[dir*=rtl] video.start,:root[dir*=rtl] video[src*="#start"]{transform-origin:right}img.end,img[src*="#end"],video.end,video[src*="#end"]{float:inline-end;transform-origin:right;margin-inline-start:1rem}:root[dir*=rtl] img.end,:root[dir*=rtl] img[src*="#end"],:root[dir*=rtl] video.end,:root[dir*=rtl] video[src*="#end"]{transform-origin:left}img.pixels,img[src*="#pixels"],video.pixels,video[src*="#pixels"]{image-rendering:pixelated}img.transparent,img.full-bleed,img[src*="#transparent"],img[src*="#full-bleed"],video.transparent,video.full-bleed,video[src*="#transparent"],video[src*="#full-bleed"]{box-shadow:none;border-radius:0;background-color:rgba(0,0,0,0)}img.spoiler,img[src*="#spoiler"],video.spoiler,video[src*="#spoiler"]{opacity:var(--dim-opacity);clip-path:inset(0 0 0 0 round var(--rounded-corner));filter:blur(1rem)}img.spoiler:hover,img.spoiler:active,img[src*="#spoiler"]:hover,img[src*="#spoiler"]:active,video.spoiler:hover,video.spoiler:active,video[src*="#spoiler"]:hover,video[src*="#spoiler"]:active{opacity:1;clip-path:inset(-.75rem -.75rem -.75rem -.75rem round var(--rounded-corner-small));filter:none}img.spoiler.solid,img.spoiler[src*="#solid"],img[src*="#spoiler"].solid,img[src*="#spoiler"][src*="#solid"],video.spoiler.solid,video.spoiler[src*="#solid"],video[src*="#spoiler"].solid,video[src*="#spoiler"][src*="#solid"]{clip-path:none;filter:brightness(0) contrast(.5);box-shadow:none}img.spoiler.solid:hover,img.spoiler.solid:active,img.spoiler[src*="#solid"]:hover,img.spoiler[src*="#solid"]:active,img[src*="#spoiler"].solid:hover,img[src*="#spoiler"].solid:active,img[src*="#spoiler"][src*="#solid"]:hover,img[src*="#spoiler"][src*="#solid"]:active,video.spoiler.solid:hover,video.spoiler.solid:active,video.spoiler[src*="#solid"]:hover,video.spoiler[src*="#solid"]:active,video[src*="#spoiler"].solid:hover,video[src*="#spoiler"].solid:active,video[src*="#spoiler"][src*="#solid"]:hover,video[src*="#spoiler"][src*="#solid"]:active{filter:none}img{transition:var(--transition-longer)}img:not(.no-hover,.full-bleed,[src*="#no-hover"],[src*="#full-bleed"],.emoji){cursor:zoom-in}img:not(.no-hover,.full-bleed,[src*="#no-hover"],[src*="#full-bleed"],.emoji):hover{position:relative;transform:var(--hover);z-index:1;box-shadow:var(--edge-highlight),var(--shadow-raised);border-radius:var(--rounded-corner-small)}img:not(.no-hover,.full-bleed,[src*="#no-hover"],[src*="#full-bleed"],.emoji).start:hover,img:not(.no-hover,.full-bleed,[src*="#no-hover"],[src*="#full-bleed"],.emoji).end:hover,img:not(.no-hover,.full-bleed,[src*="#no-hover"],[src*="#full-bleed"],.emoji)[src*="#start"]:hover,img:not(.no-hover,.full-bleed,[src*="#no-hover"],[src*="#full-bleed"],.emoji)[src*="#end"]:hover{transform:scale(2)}@media only screen and (max-width: 720px){img:not(.no-hover,.full-bleed,[src*="#no-hover"],[src*="#full-bleed"],.emoji).start,img:not(.no-hover,.full-bleed,[src*="#no-hover"],[src*="#full-bleed"],.emoji).end,img:not(.no-hover,.full-bleed,[src*="#no-hover"],[src*="#full-bleed"],.emoji)[src*="#start"],img:not(.no-hover,.full-bleed,[src*="#no-hover"],[src*="#full-bleed"],.emoji)[src*="#end"]{transform-origin:center}img:not(.no-hover,.full-bleed,[src*="#no-hover"],[src*="#full-bleed"],.emoji).start:hover,img:not(.no-hover,.full-bleed,[src*="#no-hover"],[src*="#full-bleed"],.emoji).end:hover,img:not(.no-hover,.full-bleed,[src*="#no-hover"],[src*="#full-bleed"],.emoji)[src*="#start"]:hover,img:not(.no-hover,.full-bleed,[src*="#no-hover"],[src*="#full-bleed"],.emoji)[src*="#end"]:hover{transform:var(--hover)}}img:not(.no-hover,.full-bleed,[src*="#no-hover"],[src*="#full-bleed"],.emoji).transparent:hover,img:not(.no-hover,.full-bleed,[src*="#no-hover"],[src*="#full-bleed"],.emoji)[src*="#transparent"]:hover{box-shadow:none}a img:not(.no-hover,.full-bleed,[src*="#no-hover"],[src*="#full-bleed"]){cursor:pointer}video:fullscreen{box-shadow:none;border-radius:0}video:-webkit-full-screen{box-shadow:none;border-radius:0}#handle{position:fixed;z-index:999;transition:var(--transition);margin:0 auto;inset-block-start:0;inset-inline-end:0;inset-inline-start:0;width:min(var(--container-width),90%);height:4.25rem}#handle::before{position:absolute;transition:var(--transition);margin:0 auto;inset-block-start:.5rem;inset-inline-end:0;inset-inline-start:0;box-shadow:var(--edge-highlight);border-radius:999px;background-color:var(--accent-color);width:min(var(--container-width)/4,100%);height:.5rem;content:""}#handle:hover::before,#handle:has(+#site-nav:hover)::before,#handle:has(+#site-nav *:focus-visible,+#site-nav *:focus)::before{transform:translateY(-1rem) scale(.5);opacity:0}#handle:hover+#site-nav,#handle+#site-nav:hover,#handle+#site-nav:has(*:focus-visible,*:focus){transform:none;opacity:1;pointer-events:auto}#handle:hover+#site-nav::before,#handle+#site-nav:hover::before,#handle+#site-nav:has(*:focus-visible,*:focus)::before{-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}#handle+#site-nav{position:fixed;transform:translateY(-1rem) scale(.5);transform-origin:top;opacity:0;transition:var(--transition);margin:0 auto;width:max-content;pointer-events:none}#handle+#site-nav::before{-webkit-backdrop-filter:saturate(1) blur(0);backdrop-filter:saturate(1) blur(0);transition:var(--transition)}#site-nav{position:sticky;grid-area:nav;z-index:999;margin:1rem auto 0;inset-block-start:1rem;inset-inline-end:0;inset-inline-start:0;border-radius:1.625rem;max-width:min(var(--container-width),90%)}@media only screen and (max-width: 480px){#site-nav{position:relative;margin:0 auto}}#site-nav::before{-webkit-backdrop-filter:var(--blur);position:absolute;z-index:-1;backdrop-filter:var(--blur);inset:0;box-shadow:var(--edge-highlight),var(--shadow-glass);border-radius:1.625rem;background-color:var(--glass-bg);content:""}#site-nav nav{padding:.5rem}#site-nav nav>a{-webkit-backdrop-filter:var(--blur);position:absolute;left:50%;transform:translateX(-50%);opacity:0;z-index:999;backdrop-filter:var(--blur);transition:var(--transition);inset-block-start:0;box-shadow:var(--edge-highlight),var(--shadow-glass);border-radius:999px;background-color:var(--glass-bg);padding:.625rem .75rem;pointer-events:none;line-height:1;text-decoration:none}#site-nav nav>a:focus{opacity:1;inset-block-start:calc(100% + .5rem)}#site-nav nav ul{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.25rem;margin:0;padding:0}#site-nav nav li{display:flex;margin:0;padding:0;list-style:none}@media only screen and (max-width: 480px){#site-nav nav li:not(:has(.circle)){flex:0 0 100%}}#site-nav nav a,#site-nav nav summary{flex:1;transition:var(--transition);box-shadow:none;border-radius:999px;background-color:rgba(0,0,0,0);padding:.625rem .75rem;font-weight:bold;line-height:1;list-style:none;text-align:center;text-decoration:none}#site-nav nav a.active{box-shadow:var(--edge-highlight);background-color:var(--accent-color-alpha);color:var(--accent-color)}#site-nav nav a.active:hover{background-color:var(--accent-color);color:var(--contrast-color)}#site-nav nav #home a{color:var(--fg-muted-5);font-weight:800}#site-nav nav #home a:hover{color:var(--fg-color)}#site-nav nav #home a.active{color:var(--accent-color)}#site-nav nav #home a.active:hover{color:var(--contrast-color)}#site-nav nav #home a .icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M8 .361a2.2 2.2 0 0 0-1.41.51L2.129 4.59A3.14 3.14 0 0 0 1 7v6c0 1.66 1.34 3 3 3h8c1.66 0 3-1.34 3-3V7c0-.93-.414-1.813-1.129-2.41L9.411.87A2.2 2.2 0 0 0 8 .361m0 2.002a.2.2 0 0 1 .129.047l4.46 3.719c.263.215.411.535.411.871v6c0 .547-.453 1-1 1h-2V9c0-.55-.45-1-1-1H7c-.55 0-1 .45-1 1v5H4c-.547 0-1-.453-1-1V7c0-.336.148-.656.41-.871L7.871 2.41A.2.2 0 0 1 8 2.363'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);vertical-align:-.125em;mask-image:var(--icon);transition:var(--transition);margin-inline-end:.25rem}#site-nav nav .divider{align-self:stretch;margin:0 .25rem;background-color:var(--fg-muted-2);width:max(1px,.0625em)}@media only screen and (max-width: 480px){#site-nav nav .divider{display:none}}#site-nav nav a,#site-nav nav #search button,#site-nav nav #language-switcher summary,#site-nav nav #theme-switcher summary,#site-nav nav #theme-switcher button,#site-nav nav summary{color:var(--fg-muted-4)}#site-nav nav a:hover,#site-nav nav #search button:hover,#site-nav nav #language-switcher summary:hover,#site-nav nav #theme-switcher summary:hover,#site-nav nav #theme-switcher button:hover,#site-nav nav summary:hover{box-shadow:var(--edge-highlight);background-color:var(--fg-muted-1);color:var(--fg-muted-5)}#site-nav nav a:active,#site-nav nav #search button:active,#site-nav nav #language-switcher summary:active,#site-nav nav #theme-switcher summary:active,#site-nav nav #theme-switcher button:active,#site-nav nav summary:active{transform:var(--active)}#site-nav nav .circle{padding:.625rem .625rem;line-height:0}#site-nav nav .circle::before{display:none}#site-nav nav .circle .icon{vertical-align:-.125em;transition:var(--transition)}#site-nav nav button{appearance:none;transition:var(--transition);cursor:pointer;border:none;border-radius:999px;background-color:rgba(0,0,0,0);font-size:var(--font-size-medium)}#site-nav nav details{display:flex;position:relative;flex:1;box-shadow:none;border-radius:0;background-color:rgba(0,0,0,0);padding:0}#site-nav nav details[open] ul{animation:dropdown-open var(--transition)}@keyframes dropdown-open{from{transform:scale(.5) translate(-50%, -1rem);opacity:0}}#site-nav nav details ul{-webkit-backdrop-filter:var(--blur);position:absolute;left:50%;flex-direction:column;transform:translateX(-50%);transform-origin:top left;z-index:1;backdrop-filter:var(--blur);inset-block-start:3.25rem;box-shadow:var(--edge-highlight),var(--shadow-glass);border-radius:calc(var(--rounded-corner) + .25rem);background-color:var(--glass-bg);padding:.25rem}#site-nav nav details ul li{width:100%;white-space:nowrap}#site-nav nav details ul li a{border-radius:var(--rounded-corner);text-align:start}@media only screen and (max-width: 480px){#site-nav nav details:has(summary:not(.circle)) ul{inset-block-start:2.75rem}}#site-nav nav #search .icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M6.57.063c-3.578 0-6.5 2.921-6.5 6.5 0 3.578 2.922 6.5 6.5 6.5a6.46 6.46 0 0 0 3.83-1.256l2.975 2.974c.957.938 2.363-.5 1.406-1.437l-2.96-2.961a6.46 6.46 0 0 0 1.25-3.82c0-3.579-2.923-6.5-6.5-6.5m0 2c2.5 0 4.5 2.003 4.5 4.5 0 2.5-2 4.5-4.5 4.5-2.496 0-4.5-2-4.5-4.5 0-2.497 2.004-4.5 4.5-4.5'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}:root[dir*=rtl] #site-nav nav #search .icon{transform:scaleX(-1)}#site-nav nav #feed .icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M1.988 1.988V3c.008.547.453.984 1 .988.004-.004.008-.004.012-.004v.028A8.977 8.977 0 0 1 11.988 13a.991.991 0 0 0 1 .984h1V13h-.004c0-.004 0-.004.004-.008C13.984 7.02 9.184 2.148 3.242 2.02A1.004 1.004 0 0 0 3 1.988v-.004zm0 4V7c.008.547.453.984 1 .988.004-.004.008-.004.012-.004V8a4.985 4.985 0 0 1 4.996 4.844 1.002 1.002 0 0 0 .988 1.145c.008-.005.012-.005.016-.005v.004h.984V13H10c0-3.793-3.047-6.898-6.82-6.992 0-.004-.004-.004-.004-.004A.892.892 0 0 0 3 5.988v-.004zm2 4a1.999 1.999 0 1 0-.002 3.998 1.999 1.999 0 0 0 .002-3.998m0 0'%3E%3C/path%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}:root[dir*=rtl] #site-nav nav #feed .icon{transform:scaleX(-1)}#site-nav nav #repo .icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M8 0a1 1 0 0 0-.707.293L5.707 1.875l5.238 5.234c.176-.07.364-.109.555-.109A1.5 1.5 0 1 1 10 8.5q0-.276.102-.535L8.05 5.915v4.19a1.5 1.5 0 1 1-1-.035V4.914L4.859 2.727.293 7.293a1 1 0 0 0 0 1.414l7 7a1 1 0 0 0 1.414 0l7-7a1.007 1.007 0 0 0 0-1.414l-7-7A1 1 0 0 0 8 0m0 0'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}#site-nav nav #language-switcher .icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M3.98 1v3H1v2h2.947a4.8 4.8 0 0 1-.592 1.871c-.425.758-1.101 1.488-2.062 2.45l1.414 1.413c.92-.92 1.703-1.728 2.283-2.697.38.632.844 1.196 1.377 1.768l.668-2.309a6 6 0 0 1-.41-.625A4.75 4.75 0 0 1 6.033 6h1.53l.511-2H6V1zm5.24 1L6 15h2l.781-3h4.438L14 15h2L12.781 2zm1.562 2h.438l1.5 6H9.28z'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}#site-nav nav #theme-switcher ul{flex-direction:row;flex-wrap:nowrap;border-radius:999px}#site-nav nav #theme-switcher .active{box-shadow:var(--edge-highlight);background-color:var(--accent-color-alpha);color:var(--accent-color)}#site-nav nav #theme-switcher .active:hover{background-color:var(--accent-color);color:var(--contrast-color)}#site-nav nav #theme-switcher #theme-system .icon,#site-nav nav #theme-switcher .icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M8 0C3.594 0 0 3.594 0 8s3.594 8 8 8 8-3.594 8-8-3.594-8-8-8m0 1.941c3.36 0 6.059 2.7 6.059 6.059s-2.7 6.059-6.059 6.059zm0 0'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}:root[dir*=rtl] #site-nav nav #theme-switcher #theme-system .icon,:root[dir*=rtl] #site-nav nav #theme-switcher .icon{transform:scaleX(-1)}#site-nav nav #theme-switcher #theme-light .icon,#site-nav nav #theme-switcher .icon.light{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M8.004-.008a1 1 0 0 0-1 1v1a1 1 0 1 0 2 0v-1c0-.554-.445-1-1-1M3.053 2.035a1 1 0 0 0-.26.035.994.994 0 0 0-.45 1.672l.708.707a1 1 0 1 0 1.414-1.414l-.707-.707a1 1 0 0 0-.705-.293m9.9.012a1 1 0 0 0-.707.293l-.707.707a1 1 0 1 0 1.414 1.414l.707-.707a1 1 0 0 0-.707-1.707M8 4C5.785 4 4 5.785 4 8s1.785 4 4 4 4-1.785 4-4-1.785-4-4-4m0 2c1.098 0 2 .902 2 2s-.902 2-2 2-2-.902-2-2 .902-2 2-2m-7.004.984a1 1 0 1 0 0 2h1a1 1 0 1 0 0-2zM14 7c-.55 0-1 .45-1 1s.45 1 1 1h1c.55 0 1-.45 1-1s-.45-1-1-1zM3.748 11.234a1 1 0 0 0-.705.293l-.711.707a1.007 1.007 0 0 0 0 1.414c.39.391 1.027.391 1.418 0l.707-.707a1 1 0 0 0-.709-1.707m8.49.006q-.131 0-.261.033a1.01 1.01 0 0 0-.707.711 1 1 0 0 0 .261.965l.707.707a.995.995 0 0 0 1.672-.445 1 1 0 0 0-.258-.969l-.707-.707a1 1 0 0 0-.707-.295m-4.246 1.756c-.554 0-1 .445-1 1v1a1 1 0 1 0 2 0v-1a1 1 0 0 0-1-1'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}#site-nav nav #theme-switcher #theme-dark .icon,#site-nav nav #theme-switcher .icon.dark{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M.918 8.004a7.072 7.072 0 0 0 14.102.793 1.01 1.01 0 0 0-.457-.957 1 1 0 0 0-1.063-.004 3.9 3.9 0 0 1-2.031.578 3.89 3.89 0 0 1-3.883-3.883c0-.715.203-1.422.578-2.031a1 1 0 0 0-.004-1.062c-.207-.32-.578-.5-.957-.458A7.07 7.07 0 0 0 .918 8.004M5.586 4.53a5.877 5.877 0 0 0 8.965 5.004l-1.52-.96a5.09 5.09 0 0 1-5.035 4.507 5.09 5.09 0 0 1-5.078-5.078 5.09 5.09 0 0 1 4.508-5.035l-.961-1.52a5.9 5.9 0 0 0-.88 3.082m0 0'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}:root[dir*=rtl] #site-nav nav #theme-switcher #theme-dark .icon,:root[dir*=rtl] #site-nav nav #theme-switcher .icon.dark{transform:scaleX(-1)}#site-nav #search-container{transform:scale(.5) translateY(-2.75rem);opacity:0;transition:var(--transition);padding:0 .5rem 0;height:0;pointer-events:none}#site-nav #search-container.active{transform:none;opacity:1;padding:0 .5rem .5rem;height:2.75rem;pointer-events:all}#site-nav #search-bar{box-shadow:var(--edge-highlight);border:none;border-radius:999px;background:var(--fg-muted-1);padding:0 .75rem;width:100%;height:2.25rem;color:inherit;font-size:var(--font-size-medium)}#site-nav #search-bar::placeholder{opacity:1;color:var(--fg-muted-4)}#site-nav #search-results-container{-webkit-backdrop-filter:var(--blur);display:flex;position:absolute;backdrop-filter:var(--blur);inset-block-start:calc(100% + .5rem);inset-inline-start:0;box-shadow:var(--edge-highlight),var(--shadow-glass);border-radius:calc(var(--rounded-corner) + .5rem);background-color:var(--glass-bg);width:100%;max-height:50vh}#site-nav #search-results{--mask: linear-gradient(to bottom, transparent, black 1rem, black calc(100% - 1rem), transparent);-webkit-mask-image:var(--mask);display:none;flex:1;flex-direction:column;gap:.5rem;mask-image:var(--mask);padding:.5rem;overflow:auto}#site-nav #search-results .item{display:inline-flex;flex-direction:column;box-shadow:var(--edge-highlight);border-radius:var(--rounded-corner);background-color:var(--fg-muted-1);padding:.5rem}#site-nav #search-results .item a{width:fit-content}#site-nav #search-results .item a::after{content:" →"}:root[dir*=rtl] #site-nav #search-results .item a::after{content:" ←"}#site-nav #search-results .item span{color:var(--fg-muted-5)}#site-nav #search-results .item span:first-of-type,#site-nav #search-results .item span.more-matches{margin-block-start:.5rem;border-block-start:max(1px,.0625rem) solid var(--fg-muted-2);padding-block-start:.25rem}#site-nav #search-results .item span.more-matches{font-size:var(--font-size-small)}#site-nav #search-results .item span strong{color:var(--fg-color)}#not-found{width:min(var(--container-width)/5,100%)}#post-nav{display:flex;flex-direction:row;gap:.25rem}@media only screen and (max-width: 720px){#post-nav{flex-direction:column}}#post-nav .post-nav-item{flex:1;transition:var(--transition);border-radius:var(--rounded-corner);padding:1rem;padding-block-end:.75rem;min-width:0;text-decoration:none}#post-nav .post-nav-item:hover{box-shadow:var(--edge-highlight);background-color:var(--accent-color-alpha)}#post-nav .post-nav-item:hover .post-title{color:var(--accent-color)}#post-nav .post-nav-item:active{transform:var(--active)}#post-nav .post-nav-item.post-nav-prev .nav-arrow::before{content:"← "}:root[dir*=rtl] #post-nav .post-nav-item.post-nav-prev .nav-arrow::before{content:"→ "}#post-nav .post-nav-item.post-nav-next{text-align:end}#post-nav .post-nav-item.post-nav-next .nav-arrow::after{content:" →"}:root[dir*=rtl] #post-nav .post-nav-item.post-nav-next .nav-arrow::after{content:" ←"}#post-nav .post-nav-item .nav-arrow{margin-block-end:.75rem;color:var(--fg-muted-5);font-weight:normal;line-height:1}#post-nav .post-nav-item .post-title{display:block;transition:var(--transition);max-width:90vw;overflow:hidden;color:var(--fg-color);text-overflow:ellipsis;white-space:nowrap}.pre-container{margin:1rem 0 1rem;box-shadow:var(--edge-highlight),var(--shadow);border-radius:var(--rounded-corner)}.pre-container .header{--shimmer: rgb( from var(--accent-color) r g b / calc(var(--color-opacity) * 2) );display:flex;justify-content:space-between;align-items:center;border-radius:var(--rounded-corner) var(--rounded-corner) 0 0;background-image:linear-gradient(to right, var(--fg-muted-1) 50%, var(--shimmer) 75%, var(--fg-muted-1) 100%);background-size:200%;padding:.25rem;height:2.5rem}.pre-container .header span{margin-inline-start:.75rem;color:var(--fg-muted-5);font-weight:bold;line-height:1}.pre-container .header button{appearance:none;transition:var(--transition);cursor:pointer;border:none;border-radius:var(--rounded-corner-small);background-color:rgba(0,0,0,0);padding:.5rem;color:var(--fg-muted-4);line-height:0}.pre-container .header button:hover{box-shadow:var(--edge-highlight);background-color:var(--fg-muted-1);color:var(--fg-muted-5)}.pre-container .header button:active{transform:var(--active)}.pre-container .header button:disabled{cursor:not-allowed}.pre-container .header button:disabled:active{transform:none}.pre-container .header button .icon{--icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' height='16' width='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 3c0-1.645 1.355-3 3-3h5c1.645 0 3 1.355 3 3 0 .55-.45 1-1 1s-1-.45-1-1c0-.57-.43-1-1-1H3c-.57 0-1 .43-1 1v5c0 .57.43 1 1 1 .55 0 1 .45 1 1s-.45 1-1 1c-1.645 0-3-1.355-3-3zm5 5c0-1.645 1.355-3 3-3h5c1.645 0 3 1.355 3 3v5c0 1.645-1.355 3-3 3H8c-1.645 0-3-1.355-3-3zm2 0v5c0 .57.43 1 1 1h5c.57 0 1-.43 1-1V8c0-.57-.43-1-1-1H8c-.57 0-1 .43-1 1m0 0'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon);transition:var(--transition)}:root[dir*=rtl] .pre-container .header button .icon{transform:scaleX(-1)}.pre-container .header.active{animation:active-shimmer var(--transition-long)}.pre-container .header.active button{box-shadow:var(--edge-highlight);background-color:var(--accent-color-alpha);color:var(--accent-color)}.pre-container .header.active button .icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M7.883 0q-.486.008-.965.074a7.98 7.98 0 0 0-4.602 2.293 8.01 8.01 0 0 0-1.23 9.664 8.015 8.015 0 0 0 9.02 3.684 8 8 0 0 0 5.89-7.75 1 1 0 1 0-2 .008 5.986 5.986 0 0 1-4.418 5.816 5.996 5.996 0 0 1-6.762-2.766 5.99 5.99 0 0 1 .922-7.25 5.99 5.99 0 0 1 7.239-.984 1 1 0 0 0 1.363-.371c.273-.48.11-1.09-.371-1.367A8 8 0 0 0 9.492.14 8 8 0 0 0 7.882 0m7.15 1.998-.1.002a1 1 0 0 0-.687.34L7.95 9.535 5.707 7.29A1 1 0 0 0 4 8a1 1 0 0 0 .293.707l3 3c.195.195.465.3.742.293.277-.012.535-.133.719-.344l7-8A1 1 0 0 0 16 2.934a1 1 0 0 0-.34-.688 1 1 0 0 0-.627-.248'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}@keyframes active-shimmer{to{background-position-x:-200%}}.pre-container pre{margin:0;box-shadow:none;border-radius:0 0 var(--rounded-corner) var(--rounded-corner)}.sparkline{display:flex;flex-direction:row;align-items:flex-end;float:inline-end;gap:.25rem;margin:1rem 0;width:6rem;height:2rem}.sparkline div{flex:1;transform-origin:bottom;transition:var(--transition);background-image:linear-gradient(to top, var(--accent-color) var(--bar-height), rgba(0,0,0,0) var(--bar-height));height:100%}.sparkline div:hover{height:200%}span.spoiler{filter:blur(.25rem);transition:var(--transition)}span.spoiler:hover,span.spoiler:active{filter:none}span.spoiler.solid{filter:none;border-radius:var(--rounded-corner-small);background-color:var(--fg-muted-4);color:rgba(0,0,0,0)}span.spoiler.solid:hover,span.spoiler.solid:active{background-color:rgba(0,0,0,0);color:inherit}.statement-container{margin:1rem 0;box-shadow:var(--edge-highlight);border-radius:var(--rounded-corner);padding:1rem}.statement-container :last-child{margin-block-end:0}.statement-container>:nth-child(2){margin-block-start:.5rem}.statement-container li::marker{color:inherit}.statement-container a{color:inherit}.statement-container .title{color:inherit}.statement-container .title .icon{margin-inline-end:.375rem}.statement-container.archive{background-color:var(--purple-bg);color:var(--purple-fg)}.statement-container.archive .icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M2 1C.89 1 0 1.89 0 3v2c0 .751.41 1.402 1.018 1.744A2 2 0 0 0 1 7v7c0 1.11.89 2 2 2h10c1.11 0 2-.89 2-2V7a2 2 0 0 0-.018-.256A2 2 0 0 0 16 5V3c0-1.11-.89-2-2-2zm0 2h12v2H2zm1 4h10v7H3zm3 1v1h4V8z'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.statement-container.disclaimer{background-color:var(--red-bg);color:var(--red-fg)}.statement-container.disclaimer .icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M8 .844c-.907 0-1.814.444-2.291 1.334l-.002.002-5.178 9.697C-.45 13.704.928 16.002 3 16h10c2.072.002 3.45-2.296 2.47-4.123L10.294 2.18l-.002-.002C9.814 1.288 8.907.844 8 .844M8 2.77c.201 0 .403.118.53.353l5.177 9.697.002.002c.307.573-.057 1.18-.707 1.178H2.998c-.65.001-1.014-.605-.707-1.178l.002-.002 5.18-9.699c.126-.233.327-.351.527-.351M8 5c-.554 0-1 .446-1 1v3c0 .554.446 1 1 1s1-.446 1-1V6c0-.554-.446-1-1-1m0 6a1 1 0 0 0-1 1 1 1 0 0 0 1 1 1 1 0 0 0 1-1 1 1 0 0 0-1-1'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.statement-container.trigger{background-color:var(--yellow-bg);color:var(--yellow-fg)}.statement-container.trigger .icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M8 .844c-.907 0-1.814.444-2.291 1.334l-.002.002-5.178 9.697C-.45 13.704.928 16.002 3 16h10c2.072.002 3.45-2.296 2.47-4.123L10.294 2.18l-.002-.002C9.814 1.288 8.907.844 8 .844M8 2.77c.201 0 .403.118.53.353l5.177 9.697.002.002c.307.573-.057 1.18-.707 1.178H2.998c-.65.001-1.014-.605-.707-1.178l.002-.002 5.18-9.699c.126-.233.327-.351.527-.351M8 5c-.554 0-1 .446-1 1v3c0 .554.446 1 1 1s1-.446 1-1V6c0-.554-.446-1-1-1m0 6a1 1 0 0 0-1 1 1 1 0 0 0 1 1 1 1 0 0 0 1-1 1 1 0 0 0-1-1'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}table{box-shadow:var(--edge-highlight);border-radius:var(--rounded-corner);border-collapse:collapse;background-color:var(--fg-muted-1);width:100%;overflow:hidden}table tr:nth-child(even){background-color:var(--fg-muted-1)}table tr th,table tr td{padding:.5rem 1rem}table tr th{background-color:var(--fg-muted-2);font-weight:bold}.tags{display:flex;flex-wrap:wrap;gap:.25rem;margin:0;margin-block-start:2rem;padding:0;list-style:none}.tags li{display:flex;transition:var(--transition);margin:0;padding:0}.tags li:active{transform:var(--active)}.tags a{transition:var(--transition);box-shadow:var(--edge-highlight);border-radius:999px;background-color:var(--fg-muted-1);padding:.375rem .75rem;color:var(--fg-muted-5);font-size:var(--font-size-small);line-height:1;text-decoration:none;white-space:nowrap}.tags a:hover{background-color:var(--accent-color-alpha);color:var(--accent-color);text-decoration:none}.tags a:hover .count{background-color:var(--accent-color-alpha);color:var(--accent-color)}.tags a:has(.tag){padding:0}.tags a .tag{display:inline-block;padding-inline-start:.75rem;padding-inline-end:.5rem;padding-block-start:.375rem;padding-block-end:.375rem}.tags a .count{display:inline-block;transition:var(--transition);border-start-end-radius:999px;border-end-end-radius:999px;background-color:var(--fg-muted-1);padding-inline-start:.5rem;padding-inline-end:.625rem;padding-block-start:.375rem;padding-block-end:.375rem;font-variant-numeric:tabular-nums}strong.title{color:var(--accent-color);font-size:var(--font-size-x-large);line-height:1}h1,h2,h3,h4,h5,h6{text-wrap:balance;margin:2rem 0 1rem;font-weight:lighter;line-height:normal;font-family:var(--font-antique);letter-spacing:-.05em}h1{font-size:var(--font-size-xxx-large)}h2{font-size:var(--font-size-xx-large)}h3{font-size:var(--font-size-x-large)}h4{font-size:var(--font-size-large)}h5{font-size:var(--font-size-medium)}h6{font-size:var(--font-size-small)}small{color:var(--fg-muted-5);font-size:var(--font-size-small-em)}abbr[title]{cursor:help;text-decoration:underline;text-decoration-style:dotted;text-decoration-thickness:max(1px,.0625em)}figcaption{color:var(--fg-muted-4);font-size:var(--font-size-small-em);text-align:center}blockquote{margin:0;border-radius:.25rem;border-inline-start:.25rem solid var(--accent-color);padding-inline-start:.75rem;color:var(--fg-muted-5)}mark,del,ins,samp,q{box-shadow:var(--edge-highlight);border-radius:var(--rounded-corner-small);padding:.125rem .375rem}mark{background-color:var(--accent-color-alpha);color:var(--accent-color)}del{background-color:var(--red-bg);color:var(--red-fg);text-decoration:line-through;text-decoration-thickness:max(1px,.0625em)}ins{background-color:var(--green-bg);color:var(--green-fg);text-decoration:underline;text-decoration-thickness:max(1px,.0625em)}samp{background-color:var(--fg-muted-1);color:var(--fg-muted-5);font-size:var(--font-size-small-em)}q{background-color:var(--fg-muted-1);color:var(--fg-muted-5);font-style:italic}u{text-decoration:underline;text-decoration-style:wavy;text-decoration-color:var(--red-fg);text-decoration-thickness:max(1px,.0625em)}progress{appearance:none;box-shadow:var(--edge-highlight);border:none;border-radius:999px;background-color:var(--fg-muted-1);width:100%;height:.5rem;color:var(--accent-color)}progress:indeterminate{background-color:var(--fg-muted-1)}progress:indeterminate::-moz-progress-bar{background-color:rgba(0,0,0,0)}progress::-webkit-progress-bar{background-color:rgba(0,0,0,0)}progress::-moz-progress-bar{border-radius:999px;background-color:var(--accent-color)}progress::-webkit-progress-value{border-radius:999px;background-color:var(--accent-color)}kbd{display:inline-block;transition:var(--transition);cursor:pointer;box-shadow:var(--edge-highlight),inset 0 -.125rem 0 var(--fg-muted-2);border-radius:var(--rounded-corner-small);background-color:var(--fg-muted-1);padding:.125rem .375rem;font-size:var(--font-size-small-em)}kbd:active{transform:translateY(.125rem);box-shadow:inset 0 .0625rem 0 var(--fg-muted-2);background-color:var(--fg-muted-2)}a{color:var(--accent-color);font-weight:bold;text-decoration-thickness:max(1px,.0625em)}a:hover{text-decoration-style:wavy}hr{margin:2rem auto;border:none;border-block-start:.1875rem double var(--fg-muted-2);overflow:visible;text-align:center}hr::after{position:relative;inset-block-start:-1.25rem;content:"❦";color:var(--fg-muted-4);font-size:var(--font-size-x-large)}dt{font-weight:bold}dd{margin-inline-start:1.5rem;margin-block-end:1rem}aside{float:right;margin-inline-start:1rem;box-shadow:var(--edge-highlight);border-radius:var(--rounded-corner);background-color:var(--accent-color-alpha);padding:1rem;width:30%}:root[dir*=rtl] aside{float:left}@media only screen and (max-width: 720px){aside{float:none;margin-inline-start:0;width:100%}}aside :first-child{margin-block-start:0}aside :last-child{margin-block-end:0}details summary{cursor:pointer;box-shadow:var(--edge-highlight);border-radius:var(--rounded-corner);background-color:var(--fg-muted-1);padding:1rem;color:var(--fg-muted-5);font-weight:bold;line-height:1;list-style:none}details summary::marker,details summary::-webkit-details-marker{display:none}details summary::before{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='m2.293 6.707 5 5a1 1 0 0 0 1.414 0l5-5a1 1 0 1 0-1.414-1.414L8 9.586 3.707 5.293a1 1 0 1 0-1.414 1.414m0 0'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);display:inline-block;vertical-align:-.125em;mask-image:var(--icon);transition:var(--transition);margin-inline-end:.25rem;background-color:currentColor;width:1rem;height:1rem;content:""}details :last-child{margin-block-end:0}details[open]{box-shadow:var(--edge-highlight);border-radius:var(--rounded-corner);background-color:var(--fg-muted-1);padding:1rem}details[open] summary{box-shadow:none;border-radius:0;background-color:rgba(0,0,0,0);padding:0}details[open] summary::before{transform:scaleY(-1)}details[open] summary~*{animation:details-open var(--transition)}@keyframes details-open{from{transform:translateY(-1rem);opacity:0}}figure{margin-inline:0}ol,ul{padding-inline-start:1.5rem}li{margin:.125rem 0;padding-inline-start:.25rem}li::marker{color:var(--accent-color);font-weight:bold}.visually-hidden{clip:rect(0 0 0 0);position:absolute !important;clip-path:inset(100%);width:1px !important;height:1px !important;overflow:hidden;white-space:nowrap}h1:hover .zola-anchor,h2:hover .zola-anchor,h3:hover .zola-anchor,h4:hover .zola-anchor,h5:hover .zola-anchor,h6:hover .zola-anchor{transform:translateY(-.125em);opacity:1}:root[dir*=rtl] h1:hover .zola-anchor,:root[dir*=rtl] h2:hover .zola-anchor,:root[dir*=rtl] h3:hover .zola-anchor,:root[dir*=rtl] h4:hover .zola-anchor,:root[dir*=rtl] h5:hover .zola-anchor,:root[dir*=rtl] h6:hover .zola-anchor{transform:translateY(-.125em)}.zola-anchor{position:absolute;transform:translateX(.5rem) translateY(-.125em);opacity:0;transition:var(--transition);margin-inline-start:calc(-1em - .5rem);color:var(--fg-muted-4);line-height:1}@media only screen and (max-width: 832px){.zola-anchor{display:none}}:root[dir*=rtl] .zola-anchor{transform:translateX(-.5rem) translateY(-.125em)}.zola-anchor:hover{color:var(--accent-color)}.zola-anchor:active{transform:var(--active)}.zola-anchor:focus-visible{opacity:1}.zola-anchor .icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M4 4C1.8 4 0 5.8 0 8s1.8 4 4 4v-2c-1.125 0-2-.875-2-2s.875-2 2-2h3c1.125 0 2 .875 2 2 0 .84-.496 1.535-1.207 1.84l.785 1.84A4 4 0 0 0 11 8c0-2.2-1.8-4-4-4zm8 2v2c1.125 0 2 .875 2 2s-.875 2-2 2H9c-1.125 0-2-.875-2-2 0-.828.484-1.516 1.184-1.828l-.817-1.828A4.01 4.01 0 0 0 5 10c0 2.2 1.8 4 4 4h3c2.2 0 4-1.8 4-4s-1.8-4-4-4'/%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon);mask-size:cover;transition:var(--transition);width:1em;height:1em}:root[dir*=rtl] .zola-anchor .icon{transform:scaleX(-1)}:target .zola-anchor{color:var(--accent-color-alpha)} \ No newline at end of file + * Ametrine v0.1.0-alpha (https://ametrine.daudix.one) + * Copyright 2025 David "Daudix" Lapshin + * Licensed under MIT (https://codeberg.org/daudix/ametrine/raw/branch/main/LICENSE.txt) + */:root{--bg-color: hsl(var(--accent-h) calc(var(--accent-s) - var(--accent-s) * 0.6) calc(var(--accent-l) + (100% - var(--accent-l)) * 0.8));--bg-overlay: linear-gradient(rgb(255 255 255 / var(--dim-opacity)), rgb(255 255 255 / var(--dim-opacity)));--bg-muted-1: hsl(var(--accent-h) var(--accent-s) var(--accent-l) / var(--color-opacity-1));--bg-muted-2: hsl(var(--accent-h) var(--accent-s) var(--accent-l) / var(--color-opacity-2));--fg-color: #29242a;--fg-muted-1: hsl(var(--accent-h) var(--accent-s) calc(var(--accent-l) - var(--accent-l) * 0.85) / 0.5);--fg-muted-2: hsl(var(--accent-h) var(--accent-s) calc(var(--accent-l) - var(--accent-l) * 0.85) / 0.6);--glass-bg-1: hsl(var(--accent-h) calc(var(--accent-s) - var(--accent-s) * 0.7) calc(var(--accent-l) + (100% - var(--accent-l)) * 0.9) / var(--dim-opacity));--glass-bg-2: hsl(var(--accent-h) calc(var(--accent-s) - var(--accent-s) * 0.6) calc(var(--accent-l) + (100% - var(--accent-l)) * 0.8) / var(--dim-opacity));--red-fg: hsl(342.0779 72% 58%);--red-h: 342.0779;--red-s: 72%;--red-l: 58%;--orange-fg: hsl(15.771428 74% 54%);--orange-h: 15.771428;--orange-s: 74%;--orange-l: 54%;--yellow-fg: hsl(34.639175 91% 42%);--yellow-h: 34.639175;--yellow-s: 91%;--yellow-l: 42%;--green-fg: hsl(153.7815 61% 38%);--green-h: 153.7815;--green-s: 61%;--green-l: 38%;--blue-fg: hsl(192 71% 38%);--blue-h: 192;--blue-s: 71%;--blue-l: 38%;--purple-fg: hsl(254.11766 44% 55%);--purple-h: 254.11766;--purple-s: 44%;--purple-l: 55%;--red-bg-1: hsl(var(--red-h) var(--red-s) var(--red-l) / var(--color-opacity-1));--red-bg-2: hsl(var(--red-h) var(--red-s) var(--red-l) / var(--color-opacity-2));--orange-bg-1: hsl(var(--orange-h) var(--orange-s) var(--orange-l) / var(--color-opacity-1));--orange-bg-2: hsl(var(--orange-h) var(--orange-s) var(--orange-l) / var(--color-opacity-2));--yellow-bg-1: hsl(var(--yellow-h) var(--yellow-s) var(--yellow-l) / var(--color-opacity-1));--yellow-bg-2: hsl(var(--yellow-h) var(--yellow-s) var(--yellow-l) / var(--color-opacity-2));--green-bg-1: hsl(var(--green-h) var(--green-s) var(--green-l) / var(--color-opacity-1));--green-bg-2: hsl(var(--green-h) var(--green-s) var(--green-l) / var(--color-opacity-2));--blue-bg-1: hsl(var(--blue-h) var(--blue-s) var(--blue-l) / var(--color-opacity-1));--blue-bg-2: hsl(var(--blue-h) var(--blue-s) var(--blue-l) / var(--color-opacity-2));--purple-bg-1: hsl(var(--purple-h) var(--purple-s) var(--purple-l) / var(--color-opacity-1));--purple-bg-2: hsl(var(--purple-h) var(--purple-s) var(--purple-l) / var(--color-opacity-2));--red-fg-muted-1: hsl(var(--red-h) var(--red-s) calc(var(--red-l) - var(--red-l) * 0.85) / 0.5);--red-fg-muted-2: hsl(var(--red-h) var(--red-s) calc(var(--red-l) - var(--red-l) * 0.85) / 0.6);--orange-fg-muted-1: hsl(var(--orange-h) var(--orange-s) calc(var(--orange-l) - var(--orange-l) * 0.85) / 0.5);--orange-fg-muted-2: hsl(var(--orange-h) var(--orange-s) calc(var(--orange-l) - var(--orange-l) * 0.85) / 0.6);--yellow-fg-muted-1: hsl(var(--yellow-h) var(--yellow-s) calc(var(--yellow-l) - var(--yellow-l) * 0.85) / 0.5);--yellow-fg-muted-2: hsl(var(--yellow-h) var(--yellow-s) calc(var(--yellow-l) - var(--yellow-l) * 0.85) / 0.6);--green-fg-muted-1: hsl(var(--green-h) var(--green-s) calc(var(--green-l) - var(--green-l) * 0.85) / 0.5);--green-fg-muted-2: hsl(var(--green-h) var(--green-s) calc(var(--green-l) - var(--green-l) * 0.85) / 0.6);--blue-fg-muted-1: hsl(var(--blue-h) var(--blue-s) calc(var(--blue-l) - var(--blue-l) * 0.85) / 0.5);--blue-fg-muted-2: hsl(var(--blue-h) var(--blue-s) calc(var(--blue-l) - var(--blue-l) * 0.85) / 0.6);--purple-fg-muted-1: hsl(var(--purple-h) var(--purple-s) calc(var(--purple-l) - var(--purple-l) * 0.85) / 0.5);--purple-fg-muted-2: hsl(var(--purple-h) var(--purple-s) calc(var(--purple-l) - var(--purple-l) * 0.85) / 0.6);--shade-color: rgb(0 0 0 / 0.07);--bg-muted-neutral-1: rgb(0 0 0 / var(--color-opacity-1));--bg-muted-neutral-2: rgb(0 0 0 / var(--color-opacity-2));--fg-muted-neutral-1: rgb(0 0 0 / 0.5);--fg-muted-neutral-2: rgb(0 0 0 / 0.6);--l: clamp(0, (l / 0.623 - 1) * -infinity, 1);--a: calc(var(--l) + (var(--dim-opacity) * (1 - var(--l))));--contrast-color: oklch(from var(--accent-color) var(--l) 0 h / var(--a));--container-width: 45rem;--rounded-corner: 0.75rem;--rounded-corner-small: 0.5rem;--blur: blur(0.75rem) saturate(180%);--printed: contrast(2) brightness(0.75) grayscale(1);--drop-shadow: drop-shadow(0 0.08rem 0.1rem rgb(0 0 0 / 0.35)) drop-shadow(0 0.4rem 0.7rem rgb(0 0 0 / 0.18));--font-sans-serif: "Geist";--font-monospace: "Geist Mono";--font-system-ui: system-ui, sans-serif;--font-ui-monospace: ui-monospace, monospace;--font-emoji: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-size-xx-small: 0.625rem;--font-size-x-small: 0.75rem;--font-size-small: 0.875rem;--font-size-medium: 1rem;--font-size-large: 1.25rem;--font-size-x-large: 1.5rem;--font-size-xx-large: 2rem;--font-size-xxx-large: 3rem;--font-weight-thin: 100;--font-weight-extra-light: 200;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semi-bold: 600;--font-weight-bold: 700;--font-weight-extra-bold: 800;--font-weight-black: 900;--color-opacity-1: 0.1;--color-opacity-2: 0.2;--dim-opacity: 0.8;--disabled-opacity: 0.6;--edge-highlight: inset 0 -.0625rem 0 rgb(0 0 0 / var(--color-opacity-1));--shadow: 0 0 0 .0625rem rgb(0 0 0 / 0.03), 0 .0625rem .1875rem .0625rem rgb(0 0 0 / 0.07), 0 .125rem .375rem .125rem rgb(0 0 0 / 0.03);--shadow-raised: 0 0 0 .0625rem rgb(0 0 0 / 0.06), 0 .125rem .375rem .125rem rgb(0 0 0 / 0.14), 0 .25rem .75rem .25rem rgb(0 0 0 / 0.06);--shadow-glass: 0 .75rem 1.5rem -1rem rgb(0 0 0 / 0.4);--shadow-glow: 0 0 0 .0625rem var(--bg-muted-2), 0 .125rem .375rem .125rem var(--bg-muted-1), 0 .25rem 1.5rem .25rem var(--bg-muted-2);--shadow-glass-inset: inset 0 -.125rem .75rem .125rem rgb(0 0 0 / var(--color-opacity-1)), inset 0 -.25rem 1.5rem .25rem rgb(0 0 0 / var(--color-opacity-1));--text-shadow-glow: var(--bg-muted-2) 0 0 .25rem, var(--accent-color) 0 0 .75rem;--hover: scale(1.1);--active: scale(0.9);--transition: 0.2s;--transition-longer: 0.4s;--transition-long: 0.8s;--transition-bezier: 0.35s cubic-bezier(0.17, 0.89, 0.32, 1.28);--transition-bezier-longer: 0.525s cubic-bezier(0.17, 0.89, 0.32, 1.28)}[data-theme=dark]{--bg-color: hsl(var(--accent-h) calc(var(--accent-s) - var(--accent-s) * 0.7) calc(var(--accent-l) - var(--accent-l) * 0.9));--bg-overlay: linear-gradient(rgb(0 0 0 / var(--dim-opacity)), rgb(0 0 0 / var(--dim-opacity)));--fg-color: #fcfcfa;--fg-muted-1: hsl(var(--accent-h) var(--accent-s) calc(var(--accent-l) + (100% - var(--accent-l)) * 0.85) / 0.5);--fg-muted-2: hsl(var(--accent-h) var(--accent-s) calc(var(--accent-l) + (100% - var(--accent-l)) * 0.85) / 0.6);--glass-bg-1: hsl(var(--accent-h) calc(var(--accent-s) - var(--accent-s) * 0.6) calc(var(--accent-l) - var(--accent-l) * 0.8) / var(--dim-opacity));--glass-bg-2: hsl(var(--accent-h) calc(var(--accent-s) - var(--accent-s) * 0.5) calc(var(--accent-l) - var(--accent-l) * 0.7) / var(--dim-opacity));--red-fg: hsl(345.18988 100% 69%);--red-h: 345.18988;--red-s: 100%;--red-l: 69%;--orange-fg: hsl(19.731544 96% 70%);--orange-h: 19.731544;--orange-s: 96%;--orange-l: 70%;--yellow-fg: hsl(44.70588 100% 70%);--yellow-h: 44.70588;--yellow-s: 100%;--yellow-l: 70%;--green-fg: hsl(90 59% 66%);--green-h: 90;--green-s: 59%;--green-l: 66%;--blue-fg: hsl(186.42857 71% 69%);--blue-h: 186.42857;--blue-s: 71%;--blue-l: 69%;--purple-fg: hsl(249.88234 77% 78%);--purple-h: 249.88234;--purple-s: 77%;--purple-l: 78%;--red-fg-muted-1: hsl(var(--red-h) var(--red-s) calc(var(--red-l) + (100% - var(--red-l)) * 0.85) / 0.5);--red-fg-muted-2: hsl(var(--red-h) var(--red-s) calc(var(--red-l) + (100% - var(--red-l)) * 0.85) / 0.6);--orange-fg-muted-1: hsl(var(--orange-h) var(--orange-s) calc(var(--orange-l) + (100% - var(--orange-l)) * 0.85) / 0.5);--orange-fg-muted-2: hsl(var(--orange-h) var(--orange-s) calc(var(--orange-l) + (100% - var(--orange-l)) * 0.85) / 0.6);--yellow-fg-muted-1: hsl(var(--yellow-h) var(--yellow-s) calc(var(--yellow-l) + (100% - var(--yellow-l)) * 0.85) / 0.5);--yellow-fg-muted-2: hsl(var(--yellow-h) var(--yellow-s) calc(var(--yellow-l) + (100% - var(--yellow-l)) * 0.85) / 0.6);--green-fg-muted-1: hsl(var(--green-h) var(--green-s) calc(var(--green-l) + (100% - var(--green-l)) * 0.85) / 0.5);--green-fg-muted-2: hsl(var(--green-h) var(--green-s) calc(var(--green-l) + (100% - var(--green-l)) * 0.85) / 0.6);--blue-fg-muted-1: hsl(var(--blue-h) var(--blue-s) calc(var(--blue-l) + (100% - var(--blue-l)) * 0.85) / 0.5);--blue-fg-muted-2: hsl(var(--blue-h) var(--blue-s) calc(var(--blue-l) + (100% - var(--blue-l)) * 0.85) / 0.6);--purple-fg-muted-1: hsl(var(--purple-h) var(--purple-s) calc(var(--purple-l) + (100% - var(--purple-l)) * 0.85) / 0.5);--purple-fg-muted-2: hsl(var(--purple-h) var(--purple-s) calc(var(--purple-l) + (100% - var(--purple-l)) * 0.85) / 0.6);--shade-color: rgb(0 0 0 / 0.25);--bg-muted-neutral-1: rgb(255 255 255 / var(--color-opacity-1));--bg-muted-neutral-2: rgb(255 255 255 / var(--color-opacity-2));--fg-muted-neutral-1: rgb(255 255 255 / 0.5);--fg-muted-neutral-2: rgb(255 255 255 / 0.6);--edge-highlight: inset 0 .0625rem 0 rgb(255 255 255 / var(--color-opacity-1));--shadow-glass-inset: inset 0 -.125rem .75rem .125rem rgb(255 255 255 / var(--color-opacity-1)), inset 0 -.25rem 1.5rem .25rem rgb(255 255 255 / var(--color-opacity-1));color-scheme:dark}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg-color: hsl(var(--accent-h) calc(var(--accent-s) - var(--accent-s) * 0.7) calc(var(--accent-l) - var(--accent-l) * 0.9));--bg-overlay: linear-gradient(rgb(0 0 0 / var(--dim-opacity)), rgb(0 0 0 / var(--dim-opacity)));--fg-color: #fcfcfa;--fg-muted-1: hsl(var(--accent-h) var(--accent-s) calc(var(--accent-l) + (100% - var(--accent-l)) * 0.85) / 0.5);--fg-muted-2: hsl(var(--accent-h) var(--accent-s) calc(var(--accent-l) + (100% - var(--accent-l)) * 0.85) / 0.6);--glass-bg-1: hsl(var(--accent-h) calc(var(--accent-s) - var(--accent-s) * 0.6) calc(var(--accent-l) - var(--accent-l) * 0.8) / var(--dim-opacity));--glass-bg-2: hsl(var(--accent-h) calc(var(--accent-s) - var(--accent-s) * 0.5) calc(var(--accent-l) - var(--accent-l) * 0.7) / var(--dim-opacity));--red-fg: hsl(345.18988 100% 69%);--red-h: 345.18988;--red-s: 100%;--red-l: 69%;--orange-fg: hsl(19.731544 96% 70%);--orange-h: 19.731544;--orange-s: 96%;--orange-l: 70%;--yellow-fg: hsl(44.70588 100% 70%);--yellow-h: 44.70588;--yellow-s: 100%;--yellow-l: 70%;--green-fg: hsl(90 59% 66%);--green-h: 90;--green-s: 59%;--green-l: 66%;--blue-fg: hsl(186.42857 71% 69%);--blue-h: 186.42857;--blue-s: 71%;--blue-l: 69%;--purple-fg: hsl(249.88234 77% 78%);--purple-h: 249.88234;--purple-s: 77%;--purple-l: 78%;--red-fg-muted-1: hsl(var(--red-h) var(--red-s) calc(var(--red-l) + (100% - var(--red-l)) * 0.85) / 0.5);--red-fg-muted-2: hsl(var(--red-h) var(--red-s) calc(var(--red-l) + (100% - var(--red-l)) * 0.85) / 0.6);--orange-fg-muted-1: hsl(var(--orange-h) var(--orange-s) calc(var(--orange-l) + (100% - var(--orange-l)) * 0.85) / 0.5);--orange-fg-muted-2: hsl(var(--orange-h) var(--orange-s) calc(var(--orange-l) + (100% - var(--orange-l)) * 0.85) / 0.6);--yellow-fg-muted-1: hsl(var(--yellow-h) var(--yellow-s) calc(var(--yellow-l) + (100% - var(--yellow-l)) * 0.85) / 0.5);--yellow-fg-muted-2: hsl(var(--yellow-h) var(--yellow-s) calc(var(--yellow-l) + (100% - var(--yellow-l)) * 0.85) / 0.6);--green-fg-muted-1: hsl(var(--green-h) var(--green-s) calc(var(--green-l) + (100% - var(--green-l)) * 0.85) / 0.5);--green-fg-muted-2: hsl(var(--green-h) var(--green-s) calc(var(--green-l) + (100% - var(--green-l)) * 0.85) / 0.6);--blue-fg-muted-1: hsl(var(--blue-h) var(--blue-s) calc(var(--blue-l) + (100% - var(--blue-l)) * 0.85) / 0.5);--blue-fg-muted-2: hsl(var(--blue-h) var(--blue-s) calc(var(--blue-l) + (100% - var(--blue-l)) * 0.85) / 0.6);--purple-fg-muted-1: hsl(var(--purple-h) var(--purple-s) calc(var(--purple-l) + (100% - var(--purple-l)) * 0.85) / 0.5);--purple-fg-muted-2: hsl(var(--purple-h) var(--purple-s) calc(var(--purple-l) + (100% - var(--purple-l)) * 0.85) / 0.6);--shade-color: rgb(0 0 0 / 0.25);--bg-muted-neutral-1: rgb(255 255 255 / var(--color-opacity-1));--bg-muted-neutral-2: rgb(255 255 255 / var(--color-opacity-2));--fg-muted-neutral-1: rgb(255 255 255 / 0.5);--fg-muted-neutral-2: rgb(255 255 255 / 0.6);--edge-highlight: inset 0 .0625rem 0 rgb(255 255 255 / var(--color-opacity-1));--shadow-glass-inset: inset 0 -.125rem .75rem .125rem rgb(255 255 255 / var(--color-opacity-1)), inset 0 -.25rem 1.5rem .25rem rgb(255 255 255 / var(--color-opacity-1));color-scheme:dark}}@font-face{font-style:normal;font-weight:100 900;src:url("fonts/geist.woff2") format("woff2");font-family:"Geist";font-display:swap}@font-face{font-style:normal;font-weight:100 900;src:url("fonts/geist-mono.woff2") format("woff2");font-family:"Geist Mono";font-display:swap}:where(html){-webkit-text-size-adjust:100%;text-size-adjust:100%;line-height:1.15}:where(h1){margin-block-start:.67em;margin-block-end:.67em;font-size:2em}:where(dl,ol,ul) :where(dl,ol,ul){margin-block-start:0;margin-block-end:0}:where(hr){box-sizing:content-box;height:0;color:inherit}:where(abbr[title]){text-decoration:underline;text-decoration:underline dotted}:where(b,strong){font-weight:bolder}:where(code,kbd,pre,samp){font-size:1em;font-family:monospace,monospace}:where(small){font-size:80%}:where(table){border-color:currentColor;text-indent:0}:where(button,input,select){margin:0}:where(button){text-transform:none}:where(button,input:is([type=button i],[type=reset i],[type=submit i])){-webkit-appearance:button}:where(progress){vertical-align:baseline}:where(select){text-transform:none}:where(textarea){margin:0}:where(input[type=search i]){-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-input-placeholder{opacity:.54;color:inherit}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}:where(button,input:is([type=button i],[type=color i],[type=reset i],[type=submit i]))::-moz-focus-inner{border-style:none;padding:0}:where(button,input:is([type=button i],[type=color i],[type=reset i],[type=submit i]))::-moz-focusring{outline:1px dotted ButtonText}:where(:-moz-ui-invalid){box-shadow:none}:where(dialog){position:absolute;right:0;left:0;margin:auto;border:solid;background-color:#fff;padding:1em;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;color:#000}:where(dialog:not([open])){display:none}:where(summary){display:list-item}blockquote.note{--accent-color: var(--blue-fg);--fg-muted-2: var(--blue-fg-muted-2)}blockquote.tip{--accent-color: var(--green-fg);--fg-muted-2: var(--green-fg-muted-2)}blockquote.important{--accent-color: var(--purple-fg);--fg-muted-2: var(--purple-fg-muted-2)}blockquote.warning{--accent-color: var(--yellow-fg);--fg-muted-2: var(--yellow-fg-muted-2)}blockquote.caution{--accent-color: var(--red-fg);--fg-muted-2: var(--red-fg-muted-2)}blockquote.edit,blockquote.fact{--accent-color: var(--fg-muted-2)}blockquote .alert-title{margin-block-end:-.75rem;color:var(--accent-color);font-weight:var(--font-weight-semi-bold)}blockquote .alert-title .ph-bold{vertical-align:text-top;margin-inline-end:.25rem;font-size:1.25rem}@keyframes slide-in-right{from{transform:translateX(-1rem);opacity:0}}@keyframes slide-in-left{from{transform:translateX(1rem);opacity:0}}@keyframes slide-in-top{from{transform:translateY(-1rem);opacity:0}}@keyframes slide-in-bottom-longer{from{transform:translateY(2rem);opacity:0}}@keyframes expand-bottom-left{from{transform:scale(.5) translate(-1rem, 1rem);opacity:0}}@keyframes expand-bottom-right{from{transform:scale(.5) translate(1rem, 1rem);opacity:0}}@keyframes expand-top-right{from{transform:scale(.5) translate(1rem, -1rem);opacity:0}}@keyframes expand-top-left{from{transform:scale(.5) translate(-1rem, -1rem);opacity:0}}.article-details{display:flex;flex-wrap:wrap;gap:.25rem .5rem;margin-block:1rem}@media only screen and (max-width: 480px){.article-details{flex-direction:column}}.article-details .item{display:inline-flex;align-items:center;gap:.5rem;color:var(--fg-muted-2);font-size:var(--font-size-small)}.article-details .item a{color:inherit;font-weight:var(--font-weight-normal);font-size:var(--font-size-small);text-decoration-color:rgba(0,0,0,0)}.article-details .item a:hover{text-decoration-style:solid;text-decoration-color:inherit}.article-details .ph-bold{display:inline-flex;box-shadow:var(--edge-highlight);border-radius:var(--rounded-corner-small);background-color:var(--bg-muted-1);padding:.5rem;color:var(--accent-color);font-size:1rem}.article-details .tags{display:flex;align-items:center;gap:.5rem;margin-block-start:.5rem;border-block-start:.0625rem solid var(--bg-muted-2);padding-block-start:.5rem;width:100%}.article-details .tags ul{display:flex;flex-wrap:wrap;gap:0 .5rem;margin:0;padding-inline-start:0;list-style:none}.article-details .tags ul li{display:flex;padding:0}.article-details .tags ul a::before{content:"#"}.article-list{display:flex;flex-direction:column;gap:1rem;margin-block-start:2rem}.article-list.categories article{position:relative}.article-list.categories article:hover .category-icon{transform:translateY(-50%) rotate(-10deg) scale(1.5)}.article-list.categories article.red{background-color:var(--red-bg-1)}.article-list.categories article.red h3{color:var(--red-fg)}.article-list.categories article.red .article-details .item{color:var(--red-fg-muted-2)}.article-list.categories article.red .article-details .ph-bold{background-color:var(--red-bg-1);color:var(--red-fg)}.article-list.categories article.red .open-post{background-color:var(--red-bg-1);color:var(--red-fg)}.article-list.categories article.red .open-post:hover{background-color:var(--red-bg-2)}.article-list.categories article.red .category-icon{color:var(--red-bg-1)}.article-list.categories article.orange{background-color:var(--orange-bg-1)}.article-list.categories article.orange h3{color:var(--orange-fg)}.article-list.categories article.orange .article-details .item{color:var(--orange-fg-muted-2)}.article-list.categories article.orange .article-details .ph-bold{background-color:var(--orange-bg-1);color:var(--orange-fg)}.article-list.categories article.orange .open-post{background-color:var(--orange-bg-1);color:var(--orange-fg)}.article-list.categories article.orange .open-post:hover{background-color:var(--orange-bg-2)}.article-list.categories article.orange .category-icon{color:var(--orange-bg-1)}.article-list.categories article.yellow{background-color:var(--yellow-bg-1)}.article-list.categories article.yellow h3{color:var(--yellow-fg)}.article-list.categories article.yellow .article-details .item{color:var(--yellow-fg-muted-2)}.article-list.categories article.yellow .article-details .ph-bold{background-color:var(--yellow-bg-1);color:var(--yellow-fg)}.article-list.categories article.yellow .open-post{background-color:var(--yellow-bg-1);color:var(--yellow-fg)}.article-list.categories article.yellow .open-post:hover{background-color:var(--yellow-bg-2)}.article-list.categories article.yellow .category-icon{color:var(--yellow-bg-1)}.article-list.categories article.green{background-color:var(--green-bg-1)}.article-list.categories article.green h3{color:var(--green-fg)}.article-list.categories article.green .article-details .item{color:var(--green-fg-muted-2)}.article-list.categories article.green .article-details .ph-bold{background-color:var(--green-bg-1);color:var(--green-fg)}.article-list.categories article.green .open-post{background-color:var(--green-bg-1);color:var(--green-fg)}.article-list.categories article.green .open-post:hover{background-color:var(--green-bg-2)}.article-list.categories article.green .category-icon{color:var(--green-bg-1)}.article-list.categories article.blue{background-color:var(--blue-bg-1)}.article-list.categories article.blue h3{color:var(--blue-fg)}.article-list.categories article.blue .article-details .item{color:var(--blue-fg-muted-2)}.article-list.categories article.blue .article-details .ph-bold{background-color:var(--blue-bg-1);color:var(--blue-fg)}.article-list.categories article.blue .open-post{background-color:var(--blue-bg-1);color:var(--blue-fg)}.article-list.categories article.blue .open-post:hover{background-color:var(--blue-bg-2)}.article-list.categories article.blue .category-icon{color:var(--blue-bg-1)}.article-list.categories article.purple{background-color:var(--purple-bg-1)}.article-list.categories article.purple h3{color:var(--purple-fg)}.article-list.categories article.purple .article-details .item{color:var(--purple-fg-muted-2)}.article-list.categories article.purple .article-details .ph-bold{background-color:var(--purple-bg-1);color:var(--purple-fg)}.article-list.categories article.purple .open-post{background-color:var(--purple-bg-1);color:var(--purple-fg)}.article-list.categories article.purple .open-post:hover{background-color:var(--purple-bg-2)}.article-list.categories article.purple .category-icon{color:var(--purple-bg-1)}.article-list.categories article .open-post{-webkit-backdrop-filter:blur(.25rem);backdrop-filter:blur(.25rem)}.article-list.categories article .category-icon{position:absolute;transform:translateY(-50%);z-index:-1;transition:var(--transition-bezier);inset-block-start:50%;inset-inline-end:-3rem;font-size:12rem}.article-list article{display:flex;position:relative;justify-content:space-between;gap:1rem;box-shadow:var(--edge-highlight),var(--shadow);border-radius:1.5rem;background-color:var(--bg-muted-1);padding:1rem;overflow:hidden}.article-list article.draft{opacity:var(--dim-opacity);filter:grayscale(1);transition:var(--transition)}.article-list article.draft:hover{opacity:1;filter:none}.article-list article>div{flex:1}.article-list article>div>a{text-decoration:none}.article-list article h3{margin:0;border-inline-start:.25rem solid;border-start-start-radius:.25rem;border-end-start-radius:.25rem;padding-inline-start:.5rem;color:var(--accent-color);font-weight:var(--font-weight-semi-bold)}.article-list article h3:hover::after{opacity:1}.article-list article h3::after{opacity:0;transition:var(--transition);content:" →"}.article-list article .description p{margin-block-end:.75rem}.article-list article .open-post{display:flex;justify-content:center;align-items:center;transition:all var(--transition),transform var(--transition-bezier);box-shadow:var(--edge-highlight);border-radius:var(--rounded-corner-small);background-color:var(--bg-muted-1);width:3rem;text-decoration:none}.article-list article .open-post:hover{background-color:var(--bg-muted-2)}.article-list article .open-post:active{transform:var(--active)}.article-list article .open-post .ph-bold{font-size:1.25rem}.article-list article.has-banner .open-post{position:relative;background-color:rgba(0,0,0,0);width:6rem;overflow:hidden}.article-list article.has-banner .open-post:hover::before{backdrop-filter:blur(.25rem);background-color:var(--shade-color);-webkit-backdrop-filter:blur(.25rem)}.article-list article.has-banner .open-post:hover img{transform:var(--hover)}.article-list article.has-banner .open-post:hover .ph-bold{transform:none;opacity:1}.article-list article.has-banner .open-post::before{position:absolute;z-index:1;transition:var(--transition);inset:0;border-radius:inherit;content:""}.article-list article.has-banner .open-post img{position:absolute;transition:var(--transition);margin:0;inset:0;width:100%;height:100%;object-fit:cover}.article-list article.has-banner .open-post .ph-bold{transform:scale(.5) translateX(-1rem);opacity:0;z-index:1;transition:all var(--transition),transform var(--transition-bezier);color:#fff}.article-list article .article-details{margin-block-end:0}.article-list article .article-details .tags{margin-block-end:-.25rem}@media only screen and (max-width: 720px){.article-list{gap:0;box-shadow:var(--edge-highlight),var(--shadow);border-radius:1.5rem}.article-list article{flex-direction:column-reverse;box-shadow:none;border-radius:0;border-block-end:.0625rem dashed var(--bg-muted-2)}.article-list article:first-child{border-radius:1.5rem 1.5rem 0 0}.article-list article:last-child{border-radius:0 0 1.5rem 1.5rem;border-block-end:none}.article-list article:only-child{border-radius:1.5rem}.article-list article.has-banner .open-post{display:flex;width:100%;height:9rem}.article-list article h3::after{opacity:1}.article-list article .open-post{display:none}}#paginator{display:flex;justify-content:center;align-items:center;gap:.25rem;margin-block-start:4rem}#paginator:has(a#paginator-previous:active) #paginator-counter{border-start-start-radius:1rem;border-end-start-radius:1rem}#paginator:has(a#paginator-next:active) #paginator-counter{border-start-end-radius:1rem;border-end-end-radius:1rem}#paginator-first,#paginator-previous,#paginator-next,#paginator-last{display:inline-block;transition:all var(--transition),transform var(--transition-bezier);box-shadow:var(--edge-highlight);border-radius:1rem;background-color:var(--bg-muted-1);padding:.5rem;color:var(--accent-color);line-height:0;text-decoration:none}a#paginator-first:hover,a#paginator-previous:hover,a#paginator-next:hover,a#paginator-last:hover{background-color:var(--bg-muted-2)}a#paginator-first:active,a#paginator-previous:active,a#paginator-next:active,a#paginator-last:active{transform:var(--active);border-radius:1rem}span#paginator-first,span#paginator-previous,span#paginator-next,span#paginator-last{opacity:var(--disabled-opacity);cursor:not-allowed}#paginator-previous{border-start-end-radius:var(--rounded-corner-small);border-end-end-radius:var(--rounded-corner-small)}#paginator-next{border-start-start-radius:var(--rounded-corner-small);border-end-start-radius:var(--rounded-corner-small)}#paginator-counter{display:inline-block;transition:var(--transition-bezier);box-shadow:var(--edge-highlight);border-radius:var(--rounded-corner-small);background-color:var(--accent-color);padding:.25rem .5rem;color:var(--contrast-color);font-weight:var(--font-weight-semi-bold);font-variant-numeric:tabular-nums}.audio::after{font-family:"Phosphor-Bold" !important;speak:never;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;letter-spacing:0;-webkit-font-feature-settings:"liga";-moz-font-feature-settings:"liga=1";-moz-font-feature-settings:"liga";-ms-font-feature-settings:"liga" 1;font-feature-settings:"liga";-webkit-font-variant-ligatures:discretionary-ligatures;font-variant-ligatures:discretionary-ligatures;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.audio{appearance:none;transition:all var(--transition),transform var(--transition-bezier);cursor:pointer;box-shadow:var(--edge-highlight);border:none;border-radius:var(--rounded-corner-small);background-color:var(--bg-muted-1);padding:.125rem .375rem;color:var(--accent-color);font-weight:var(--font-weight-semi-bold);font-size:var(--font-size-medium)}.audio:hover{background-color:var(--bg-muted-2)}.audio:hover::after{animation:speaker var(--transition-long) ease-out infinite}@keyframes speaker{from{content:""}50%{content:""}to{content:""}}.audio:active{transform:var(--active)}.audio::after{vertical-align:-.0625rem;opacity:var(--dim-opacity);transition:var(--transition);margin-inline-start:.25rem;content:"";font-size:1rem}main:has(#banner){position:relative}#banner{--mask: linear-gradient(black calc(100% - 2rem), transparent);-webkit-mask-image:var(--mask);display:flex;justify-content:center;mask-image:var(--mask);margin:-2rem 0 -4rem;padding:4rem 0 2rem}#banner div{position:relative;margin:0 auto;aspect-ratio:2/1;width:calc(100% - 2rem);max-width:var(--container-width)}#banner img{position:absolute;margin:0;inset:0;border-radius:var(--rounded-corner) var(--rounded-corner) 0 0;aspect-ratio:2/1;width:100%;object-fit:cover}#banner img:nth-of-type(1){z-index:-1;filter:blur(1.5rem);animation:banner-glow-load calc(.525s + var(--transition-long));inset-block-start:1rem}@keyframes banner-glow-load{from, 52.5%{opacity:0}}#banner img:nth-of-type(2){animation:banner-load calc(.525s + var(--transition-longer))}@keyframes banner-load{from, 52.5%{transform:translateY(2rem);opacity:0;filter:blur(.75rem)}}#banner+.container article>#heading{position:relative;z-index:1;margin-inline-start:-1rem;margin-inline-end:-1rem;border-radius:var(--rounded-corner) var(--rounded-corner) 0 0;padding:1rem}#banner+.container article>#heading::before,#banner+.container article>#heading::after{position:absolute;inset:0;content:""}#banner+.container article>#heading::before{z-index:-2;inset-block-start:-2rem;-webkit-backdrop-filter:blur(1.5rem);backdrop-filter:blur(1.5rem);clip-path:inset(2rem 0 0 0 round var(--rounded-corner))}#banner+.container article>#heading::after{opacity:var(--disabled-opacity);z-index:-1;border-radius:inherit;background-color:var(--bg-color)}.buttons{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem;margin-block-start:2rem}.buttons.centered{justify-content:center}.buttons.start{justify-content:flex-start}.buttons.end{justify-content:flex-end}.buttons.big{gap:.5rem}.buttons.big a,.buttons.big button{border-radius:9999px;padding:.625rem 1.25rem}.buttons a{text-decoration:none}.buttons button{appearance:none;cursor:pointer;border:none;line-height:inherit;font-family:inherit}.buttons button:disabled{cursor:not-allowed}.buttons button:disabled:hover{background-color:var(--bg-muted-1)}.buttons button:disabled:active{transform:none}.buttons a,.buttons button{display:inline-block;transition:all var(--transition),transform var(--transition-bezier);box-shadow:var(--edge-highlight);border-radius:var(--rounded-corner);background-color:var(--bg-muted-1);padding:.5rem 1rem;color:var(--fg-muted-1);font-weight:var(--font-weight-semi-bold);font-size:var(--font-size-small)}.buttons a:hover,.buttons button:hover{background-color:var(--bg-muted-2);color:var(--fg-muted-2)}.buttons a:active,.buttons button:active{transform:var(--active)}.buttons a.suggested,.buttons button.suggested{box-shadow:var(--edge-highlight),var(--shadow-glow);background-image:linear-gradient(to bottom right, var(--accent-color), var(--bg-muted-1));color:var(--contrast-color);text-shadow:var(--text-shadow-glow)}.buttons a.suggested:hover,.buttons button.suggested:hover{box-shadow:var(--edge-highlight);background-color:var(--accent-color)}.category{display:flex;align-items:baseline;gap:.5rem;transition:var(--transition)}.category .title{flex-shrink:0;transition:var(--transition);color:var(--fg-muted-1);font-weight:var(--font-weight-normal);font-size:var(--font-size-small);white-space:nowrap}.category .line{flex:1;transition:var(--transition);background-color:var(--bg-muted-2);height:.0625rem}pre,code,kbd,samp{font-family:var(--font-monospace),var(--font-ui-monospace)}code:not(pre code){border-radius:var(--rounded-corner-small);background-color:var(--bg-muted-1);padding:.125rem .375rem;color:var(--red-fg);font-size:var(--font-size-small)}pre{margin:1rem 0;box-shadow:var(--edge-highlight),var(--shadow);border-radius:var(--rounded-corner);background-color:var(--bg-muted-1);padding:.75rem 1rem;overflow-x:auto;scrollbar-width:thin;line-height:normal}pre.z-code mark{background-color:var(--bg-muted-neutral-1);color:inherit}pre table{box-shadow:none;border-radius:0;background-color:rgba(0,0,0,0);table-layout:auto;overflow:hidden}pre table tr:nth-child(even){background-color:rgba(0,0,0,0)}pre table tr th,pre table tr td{padding:0}pre table tr th{background-color:rgba(0,0,0,0);font-weight:var(--font-weight-normal)}pre table td:nth-of-type(1){-webkit-user-select:none;user-select:none;text-align:center}pre mark{display:block;box-shadow:none;border-radius:0;background-color:var(--bg-muted-1);padding:0;color:var(--fg-color)}pre[data-linenos]{padding:1rem 0}#comments #comments-wrapper .comment header .instance.op::before{font-family:"Phosphor-Bold" !important;speak:never;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;letter-spacing:0;-webkit-font-feature-settings:"liga";-moz-font-feature-settings:"liga=1";-moz-font-feature-settings:"liga";-ms-font-feature-settings:"liga" 1;font-feature-settings:"liga";-webkit-font-variant-ligatures:discretionary-ligatures;font-variant-ligatures:discretionary-ligatures;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#comments #qrcode{float:inline-end;transform-origin:right;box-sizing:content-box;margin-inline-start:1rem;margin-block-start:3rem;margin-block-end:0;background-color:#fff;padding:.75rem;width:7.8125rem;height:7.8125rem}@media only screen and (max-width: 720px){#comments #qrcode{display:none}}#comments #load-comments:disabled{animation:loading-shimmer var(--transition-long) ease-in-out alternate infinite;transition:none;background-image:linear-gradient(to right, var(--bg-muted-1) 50%, var(--bg-muted-2) 75%, var(--bg-muted-1) 100%);background-size:200%;background-color:rgba(0,0,0,0)}#comments #load-comments:disabled:hover{background-color:rgba(0,0,0,0)}@keyframes loading-shimmer{to{background-position-x:-200%}}#comments #comments-wrapper{display:flex;flex-direction:column;gap:2rem;margin-block-start:2rem}#comments #comments-wrapper #comments-status{color:var(--fg-muted-1);font-weight:var(--font-weight-semi-bold);font-size:var(--font-size-x-large);text-align:center}#comments #comments-wrapper .comment{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"avatar header " "...... post " "...... media " "...... card " "...... interactions";column-gap:1rem;justify-items:start;animation:slide-in-right var(--transition-bezier)}@media only screen and (max-width: 720px){#comments #comments-wrapper .comment{grid-template-areas:"avatar header " "post post " "media media " "card card " "interactions interactions";align-items:start}}#comments #comments-wrapper .comment.comment-reply{position:relative;border-inline-start:.25rem solid var(--bg-muted-2);border-start-start-radius:.25rem;border-end-start-radius:.25rem;padding-inline-start:1rem}#comments #comments-wrapper .comment.comment-reply:has(+.comment-reply){border-end-start-radius:0}#comments #comments-wrapper .comment.comment-reply+.comment-reply{margin-block-start:-2rem;border-start-start-radius:0;padding-block-start:2rem}#comments #comments-wrapper .comment .avatar-link{grid-area:avatar;width:4rem;height:4rem}@media only screen and (max-width: 480px){#comments #comments-wrapper .comment .avatar-link{width:3rem;height:3rem}}#comments #comments-wrapper .comment .avatar-link .avatar{transition:var(--transition-bezier);margin:0;background-size:cover;width:100%;height:100%}#comments #comments-wrapper .comment .avatar-link .avatar:hover{transform:rotate(10deg) var(--hover);border-radius:var(--rounded-corner)}#comments #comments-wrapper .comment .avatar-link .avatar:active{transform:var(--active)}#comments #comments-wrapper .comment .mention{display:inline-block;transition:all var(--transition),transform var(--transition-bezier);box-shadow:var(--edge-highlight);border-radius:var(--rounded-corner-small);background-color:var(--bg-muted-1);padding:.0625rem .375rem;text-decoration:none}#comments #comments-wrapper .comment .mention:hover{background-color:var(--bg-muted-2)}#comments #comments-wrapper .comment .mention:active{transform:var(--active)}#comments #comments-wrapper .comment .mention.hashtag{background-color:var(--bg-muted-1);color:var(--accent-color)}#comments #comments-wrapper .comment .mention.hashtag:hover{background-color:var(--bg-muted-2)}#comments #comments-wrapper .comment header{display:flex;grid-area:header;flex-direction:column;width:100%;min-width:0;color:var(--fg-muted-1);line-height:1}#comments #comments-wrapper .comment header .display,#comments #comments-wrapper .comment header .instance{display:block;overflow:hidden;font-weight:var(--font-weight-semi-bold);text-overflow:ellipsis;white-space:nowrap}#comments #comments-wrapper .comment header .display{color:var(--fg-color);line-height:1.5rem;text-decoration:none}#comments #comments-wrapper .comment header .display .emoji{cursor:unset}#comments #comments-wrapper .comment header .display .emoji:hover{transform:none}#comments #comments-wrapper .comment header .instance{margin-block-start:.25rem;font-weight:var(--font-weight-semi-bold);font-size:var(--font-size-x-small)}#comments #comments-wrapper .comment header .instance.op{cursor:help}#comments #comments-wrapper .comment header .instance.op::before{vertical-align:text-top;transition:var(--transition);margin-inline-end:.25rem;content:"";font-size:1rem}#comments #comments-wrapper .comment header .timestamp{margin-block-start:.25rem}#comments #comments-wrapper .comment header .timestamp a{color:inherit;font-size:var(--font-size-x-small)}#comments #comments-wrapper .comment header .timestamp a::after{vertical-align:top}#comments #comments-wrapper .comment details[open]{border-radius:var(--rounded-corner-small);background-image:linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,0) .5rem, var(--bg-muted-1) .5rem, var(--bg-muted-1) calc(100% - .5rem), rgba(0,0,0,0) calc(100% - .5rem), rgba(0,0,0,0)),linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,0) .5rem, var(--bg-color) .5rem, var(--bg-color) calc(100% - .5rem), rgba(0,0,0,0) calc(100% - .5rem), rgba(0,0,0,0)),repeating-linear-gradient(45deg, var(--contrast-color), var(--contrast-color) .25rem, var(--accent-color) .25rem, var(--accent-color) .5rem)}#comments #comments-wrapper .comment details[open] summary{border-radius:0;background-image:none}#comments #comments-wrapper .comment details summary{border-radius:var(--rounded-corner-small);background-image:linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,0) .5rem, var(--bg-muted-1) .5rem, var(--bg-muted-1) calc(100% - .5rem), rgba(0,0,0,0) calc(100% - .5rem), rgba(0,0,0,0)),linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,0) .5rem, var(--bg-color) .5rem, var(--bg-color) calc(100% - .5rem), rgba(0,0,0,0) calc(100% - .5rem), rgba(0,0,0,0)),repeating-linear-gradient(45deg, var(--contrast-color), var(--contrast-color) .25rem, var(--accent-color) .25rem, var(--accent-color) .5rem)}#comments #comments-wrapper .comment main{grid-area:post;margin-block-start:1rem;padding:0}#comments #comments-wrapper .comment main :first-child{margin-block-start:0}#comments #comments-wrapper .comment main :last-child{margin-block-end:0}#comments #comments-wrapper .comment .attachments{display:grid;grid-template-columns:repeat(auto-fit, minmax(16rem, 1fr));grid-area:media;gap:.5rem;margin-block-start:1rem}#comments #comments-wrapper .comment .attachments img,#comments #comments-wrapper .comment .attachments video{margin:0}#comments #comments-wrapper .comment .card{grid-area:card;transition:all var(--transition),transform var(--transition-bezier);margin-block-start:1rem;width:min(var(--container-width)/2,100%);font-weight:var(--font-weight-normal);text-decoration:none}#comments #comments-wrapper .comment .card:hover:not(:active) img{transform:var(--hover);box-shadow:var(--edge-highlight),var(--shadow-raised);border-radius:var(--rounded-corner-small)}#comments #comments-wrapper .comment .card:hover:not(:active) figcaption{border-radius:var(--rounded-corner);background-color:var(--bg-muted-2)}#comments #comments-wrapper .comment .card:active{transform:var(--active)}#comments #comments-wrapper .comment .card figure{display:flex;flex-direction:column;gap:.25rem;margin:0}#comments #comments-wrapper .comment .card figure img{margin:0;border-radius:var(--rounded-corner) var(--rounded-corner) var(--rounded-corner-small) var(--rounded-corner-small);aspect-ratio:16/9;object-fit:cover}#comments #comments-wrapper .comment .card figure img+figcaption{border-radius:var(--rounded-corner-small) var(--rounded-corner-small) var(--rounded-corner) var(--rounded-corner)}#comments #comments-wrapper .comment .card figure figcaption{display:flex;flex-direction:column;gap:.25rem;transition:var(--transition);box-shadow:var(--edge-highlight),var(--shadow);border-radius:var(--rounded-corner);background-color:var(--bg-muted-1);padding:1rem;color:var(--fg-color);font-size:var(--font-size-medium);text-align:start}#comments #comments-wrapper .comment .card figure figcaption p{margin:0;color:var(--fg-muted-2);font-size:var(--font-size-small)}#comments #comments-wrapper .comment footer{display:flex;grid-area:interactions;align-items:center;gap:.25rem;margin-block-start:1rem;width:100%;min-width:0}@media only screen and (max-width: 480px){#comments #comments-wrapper .comment footer{flex-wrap:wrap}}#comments #comments-wrapper .comment footer .boosts,#comments #comments-wrapper .comment footer .faves,#comments #comments-wrapper .comment footer .reaction{padding:.375rem .75rem;font-variant-numeric:tabular-nums;white-space:nowrap}#comments #comments-wrapper .comment footer .boosts,#comments #comments-wrapper .comment footer .faves{transition:all var(--transition),transform var(--transition-bezier);border-radius:1.125rem;text-decoration:none}#comments #comments-wrapper .comment footer .boosts .ph-bold,#comments #comments-wrapper .comment footer .faves .ph-bold{display:inline-block;vertical-align:-.0625rem;transition:var(--transition-bezier);margin-inline-end:.25rem}#comments #comments-wrapper .comment footer .boosts:hover,#comments #comments-wrapper .comment footer .faves:hover{box-shadow:var(--edge-highlight);text-decoration:none}#comments #comments-wrapper .comment footer .boosts:active,#comments #comments-wrapper .comment footer .faves:active{transform:var(--active);border-radius:1.125rem}#comments #comments-wrapper .comment footer .boosts{border-start-end-radius:var(--rounded-corner-small);border-end-end-radius:var(--rounded-corner-small);padding-inline-end:.625rem;color:var(--purple-fg)}#comments #comments-wrapper .comment footer .boosts:hover{background-color:var(--purple-bg-1)}#comments #comments-wrapper .comment footer .boosts:hover .ph-bold{transform:rotate(180deg)}#comments #comments-wrapper .comment footer .faves{border-start-start-radius:var(--rounded-corner-small);border-end-start-radius:var(--rounded-corner-small);padding-inline-start:.625rem;color:var(--yellow-fg)}#comments #comments-wrapper .comment footer .faves:hover{background-color:var(--yellow-bg-1)}#comments #comments-wrapper .comment footer .faves:hover .ph-bold{transform:rotate(72deg)}#comments #comments-wrapper .comment footer .reactions{display:flex;gap:.25rem;margin:-.5rem -1rem;padding:.5rem 1rem;min-width:0;overflow-x:auto;scrollbar-width:none;color:var(--accent-color);font-weight:var(--font-weight-semi-bold)}#comments #comments-wrapper .comment footer .reactions .reaction{display:flex;flex-shrink:0;align-items:center;gap:.25rem;cursor:zoom-in;border:.0625rem solid var(--bg-muted-2);border-radius:1.1875rem}#comments #comments-wrapper .comment footer .reactions .reaction:hover .emoji{transform:scale(2)}#comments #comments-wrapper .comment footer .reactions .reaction .emoji{cursor:unset}#comments #comments-wrapper .comment footer .reactions .reaction span{font-variant-numeric:tabular-nums}.container{margin:0 auto;width:calc(100% - 2rem);max-width:var(--container-width)}.container-fill{display:flex;flex-direction:column;justify-content:center;margin-block-start:-2rem;height:calc(100vh - 2rem)}.crt{margin:1rem 0;box-shadow:var(--shadow-glow);border-radius:var(--rounded-corner);background-image:radial-gradient(hsl(var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.5), calc(var(--accent-l) - var(--accent-l) * 0.7)), hsl(var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.5), calc(var(--accent-l) - var(--accent-l) * 0.9)) 80%, hsl(var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.5), calc(var(--accent-l) - var(--accent-l) * 0.95)))}.crt pre{animation:flicker .25s alternate infinite;margin:0;box-shadow:none;background-color:rgba(0,0,0,0) !important;padding:1rem 1rem;color:var(--accent-color) !important;text-shadow:var(--text-shadow-glow)}@keyframes flicker{25%{opacity:.95}50%{opacity:.85}75%{opacity:1}to{opacity:.9}}.scanlines{position:relative;overflow:hidden}.scanlines::before{display:block;position:absolute;z-index:1;animation:scanlines .1s linear infinite;inset:0;background-image:repeating-linear-gradient(to bottom, rgba(0,0,0,.25), rgba(0,0,0,.25) .125rem, rgba(0,0,0,0) .125rem, rgba(0,0,0,0) .25rem);pointer-events:none;content:""}@keyframes scanlines{to{background-position-y:.25rem}}.scanlines::after{display:block;position:absolute;opacity:.05;animation:scanline 5s linear infinite;inset:0;background-image:linear-gradient(to bottom, rgba(0,0,0,0), var(--accent-color) 16rem);background-size:auto 16rem;background-repeat:no-repeat;background-position-y:-16rem;pointer-events:none;content:""}@keyframes scanline{to{background-position-y:calc(100% + 16rem)}}.emoji{display:inline-block;vertical-align:bottom;transition:var(--transition-bezier);cursor:zoom-in;margin:0;box-shadow:none;border-radius:0;background-color:rgba(0,0,0,0);width:1.5rem;height:1.5rem}.emoji:hover{transform:scale(2)}.emoji.big{width:3rem;height:3rem}a.external::after{font-family:"Phosphor-Bold" !important;speak:never;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;letter-spacing:0;-webkit-font-feature-settings:"liga";-moz-font-feature-settings:"liga=1";-moz-font-feature-settings:"liga";-ms-font-feature-settings:"liga" 1;font-feature-settings:"liga";-webkit-font-variant-ligatures:discretionary-ligatures;font-variant-ligatures:discretionary-ligatures;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a.external::after{display:inline-block;margin-inline-start:.25rem;content:"";font-size:max(1rem,1em)}.fancy-list ul{display:flex;flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none}.fancy-list ul li{border-radius:var(--rounded-corner-small);background-color:var(--bg-muted-1);padding:.5rem .75rem}.fancy-list ul li:first-of-type{box-shadow:var(--edge-highlight);border-radius:var(--rounded-corner) var(--rounded-corner) var(--rounded-corner-small) var(--rounded-corner-small)}.fancy-list ul li:last-of-type{border-radius:var(--rounded-corner-small) var(--rounded-corner-small) var(--rounded-corner) var(--rounded-corner)}#floaties{position:fixed;inset-block-end:1rem;inset-inline-end:1rem;background-color:var(--glass-bg-1);-webkit-backdrop-filter:var(--blur);display:flex;flex-direction:column;z-index:9999;backdrop-filter:var(--blur);transition:all var(--transition),transform var(--transition-bezier);box-shadow:var(--edge-highlight),var(--shadow);border-radius:var(--rounded-corner);overflow:hidden;color:var(--accent-color)}#floaties.hidden{display:flex;transform:translateX(1rem);opacity:0}#floaties a{display:flex;transition:var(--transition);margin-block-start:-.0625rem;margin-block-end:-.0625rem;border-block-start:.0625rem solid rgba(0,0,0,0);border-block-end:.0625rem solid rgba(0,0,0,0);padding:.625rem;text-decoration:none}#floaties a:first-child,#floaties a:last-child,#floaties a:only-child{margin-block-start:0;margin-block-end:0}#floaties a:first-child{border-block-start:none;border-block-end:.0625rem solid rgba(0,0,0,0)}#floaties a:last-child{border-block-start:.0625rem solid rgba(0,0,0,0);border-block-end:none}#floaties a:only-child{border-block-start:none;border-block-end:none}#floaties a:hover{border-color:var(--bg-muted-1);background-color:var(--bg-muted-1)}#site-footer{grid-area:footer;justify-content:space-between;margin-block-end:1rem}#site-footer .link{display:inline-block;transition:all var(--transition),transform var(--transition-bezier);box-shadow:var(--edge-highlight);border-radius:var(--rounded-corner-small);background-color:var(--bg-muted-1);padding:0 .375rem;text-decoration:none}#site-footer .link:hover{background-color:var(--bg-muted-2)}#site-footer .link:active{transform:var(--active)}#site-footer .link.external::after{vertical-align:text-top}#site-footer .container{display:flex;gap:1rem;border-block-start:.0625rem solid var(--bg-muted-2);padding-block-start:1rem}@media only screen and (max-width: 720px){#site-footer .container{flex-direction:column}}#site-footer .container>div{flex:1}#site-footer .container>div:nth-of-type(1){display:flex;flex-direction:column;gap:1rem;color:var(--fg-muted-2);font-size:var(--font-size-small)}#site-footer .container>div:nth-of-type(1) p{margin:0}#site-footer-fediring{display:flex;gap:.25rem}#site-footer-fediring .ph-bold{transition:var(--transition)}#site-footer-fediring .random,#site-footer-fediring .previous,#site-footer-fediring .next{display:inline-flex;justify-content:center;align-items:center;border-radius:9999px;padding:.25rem;font-size:1rem}#site-footer-last-updated{color:var(--fg-muted-1);font-size:var(--font-size-xx-small);font-family:var(--font-monospace)}#site-footer-backlinks .category .title{color:var(--fg-muted-2)}#site-footer-backlinks ul{margin:0;padding-inline-start:1rem;color:var(--fg-muted-1);font-size:var(--font-size-small);line-height:1.25rem}#site-footer-backlinks li{padding-inline-start:0}#site-footer-backlinks li::marker{color:inherit}#site-footer-backlinks a{color:inherit;text-decoration:none}#site-footer-socials{display:flex;justify-content:flex-end;gap:.5rem;height:fit-content}#site-footer-socials a{display:flex;transition:all var(--transition),transform var(--transition-bezier);height:fit-content;color:var(--fg-muted-1)}#site-footer-socials a:hover{color:var(--fg-muted-2)}#site-footer-socials a:active{transform:var(--active)}#site-footer-socials svg{fill:currentColor;width:1.5rem;height:1.5rem}.footnotes-list p{margin-block-start:0;margin-block-end:0}*{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}:root{scroll-behavior:smooth;scrollbar-color:var(--accent-color) rgba(0,0,0,0);accent-color:var(--accent-color)}body{display:grid;grid-template-rows:auto 1fr auto;grid-template-columns:auto 1fr auto;grid-template-areas:"navbar header" "navbar main " "navbar footer";margin:0;background-color:var(--bg-color);min-height:100vh;color:var(--fg-color);line-height:1.5rem;font-family:var(--font-sans-serif),var(--font-system-ui),var(--font-emoji);text-wrap:pretty;overflow-wrap:break-word}@supports (min-height: 100dvh){body{min-height:100dvh}}body>main{grid-area:main;margin:2rem 0 4rem;min-width:0}body>main>*:not(.skip-animation){animation:slide-in-bottom-longer var(--transition-bezier-longer)}@media only screen and (max-width: 720px){body>main.has-navbar,body>main.has-navbar~#site-footer{margin-inline-start:3.5rem}}::selection{background-color:var(--accent-color);color:var(--contrast-color)}:target:not(#main-content){scroll-margin-block-start:15vh;font-weight:var(--font-weight-light);text-shadow:var(--text-shadow-glow)}:focus-visible{animation:focus-in var(--transition);outline:.125rem solid var(--accent-color);outline-offset:.125rem}@keyframes focus-in{from{outline:.5rem solid rgba(0,0,0,0);outline-offset:.25rem}}@media (prefers-reduced-motion){*,*::before,*::after{animation-duration:0s !important;transition-duration:0s !important}}.hidden{display:none;visibility:hidden}.icon-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(12rem, 1fr));gap:.5rem}.icon-grid:hover a:not(:hover){transform:translateY(.25rem);opacity:var(--disabled-opacity)}.icon-grid a{display:flex;justify-content:start;align-items:center;gap:1rem;transition:all var(--transition),transform var(--transition-bezier);box-shadow:var(--edge-highlight),var(--shadow);border-radius:var(--rounded-corner);background-color:var(--bg-muted-1);padding:1rem;color:var(--fg-muted-2);text-decoration:none}.icon-grid a:hover:not(:active){transform:translateY(-.25rem);opacity:1;filter:none;box-shadow:var(--edge-highlight),var(--shadow-glass);background-color:var(--bg-muted-2)}.icon-grid a:active{transform:var(--active)}.icon-grid a .icon{margin:0;width:4rem;height:4rem}.icon-grid a .details{display:flex;flex-direction:column;gap:.125rem}.icon-grid a .details strong{font-weight:var(--font-weight-semi-bold);font-size:var(--font-size-large)}.icon-grid a .details p{margin:0;font-weight:var(--font-weight-normal);font-size:var(--font-size-x-small);line-height:1rem}iframe{display:block;margin:1rem auto;box-shadow:var(--edge-highlight),var(--shadow);border:none;border-radius:var(--rounded-corner);background-color:var(--bg-muted-1);width:100%;max-width:100%}iframe.mastodon-embed{aspect-ratio:3/4;width:min(var(--container-width)/2,100%)}iframe.vimeo-embed,iframe.youtube-embed{aspect-ratio:16/9}iframe:fullscreen{box-shadow:none;border-radius:0}iframe:-webkit-full-screen{box-shadow:none;border-radius:0}input[type=checkbox]::before{font-family:"Phosphor-Bold" !important;speak:never;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;letter-spacing:0;-webkit-font-feature-settings:"liga";-moz-font-feature-settings:"liga=1";-moz-font-feature-settings:"liga";-ms-font-feature-settings:"liga" 1;font-feature-settings:"liga";-webkit-font-variant-ligatures:discretionary-ligatures;font-variant-ligatures:discretionary-ligatures;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=radio],input[type=checkbox],input[type=color]{position:relative;appearance:none;transition:var(--transition);cursor:pointer;border:.125rem solid var(--bg-muted-2);background-color:var(--bg-muted-1);width:1rem;height:1rem}input[type=radio]:hover,input[type=checkbox]:hover,input[type=color]:hover{background-color:var(--bg-muted-2)}input[type=radio]:disabled,input[type=checkbox]:disabled,input[type=color]:disabled{opacity:var(--disabled-opacity);cursor:not-allowed}input[type=radio]:disabled:hover,input[type=checkbox]:disabled:hover,input[type=color]:disabled:hover{background-color:var(--bg-muted-1)}input[type=radio]:disabled:hover:checked,input[type=checkbox]:disabled:hover:checked,input[type=color]:disabled:hover:checked{background-color:var(--accent-color)}input[type=radio]::before,input[type=checkbox]::before{display:block;position:absolute;transform:scale(.5);opacity:0;transition:all var(--transition),transform var(--transition-bezier);content:""}input[type=radio]:checked,input[type=checkbox]:checked{border:.15rem solid rgba(0,0,0,0);background-color:var(--accent-color)}input[type=radio]:checked::before,input[type=checkbox]:checked::before{transform:scale(1);opacity:1}input[type=radio]{vertical-align:-.1875em;border-radius:50%}input[type=radio]::before{inset-block-start:.125rem;inset-inline-start:.125rem;border-radius:50%;background-color:var(--contrast-color);width:.5rem;height:.5rem}input[type=checkbox]{vertical-align:-.1875em;border-radius:calc(var(--rounded-corner-small)/2)}input[type=checkbox]::before{transform-origin:bottom left;mask-size:cover;inset-block-start:-.125rem;inset-inline-start:-.125rem;content:"";color:var(--contrast-color);font-size:1rem}input[type=checkbox].switch{vertical-align:-.375rem;box-shadow:var(--edge-highlight);border:none;border-radius:9999px;width:2.5rem;height:1.5rem}input[type=checkbox].switch.big{vertical-align:-.625rem;width:3rem;height:2rem}input[type=checkbox].switch.big::before{width:1.5rem;height:1.5rem}input[type=checkbox].switch::before{transform:none;transform-origin:center;opacity:1;mask-image:none;inset-block-start:.25rem;inset-inline-start:.25rem;box-shadow:var(--shadow);border-radius:50%;background-color:#fff;width:1rem;height:1rem;content:""}input[type=checkbox].switch:checked{background-color:var(--accent-color)}input[type=checkbox].switch:checked::before{transform:translateX(1rem);background-color:var(--contrast-color)}input[type=checkbox].switch:disabled::before{box-shadow:none}input[type=color]{vertical-align:-.375em;box-shadow:var(--edge-highlight);border:none;border-radius:var(--rounded-corner-small);padding:.25rem;width:3rem;height:2rem}input[type=color]::-moz-color-swatch{border:none;border-radius:calc(var(--rounded-corner-small) - .25rem)}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border-radius:calc(var(--rounded-corner-small) - .25rem)}input[type=range]{appearance:none;transition:var(--transition);cursor:pointer;box-shadow:var(--edge-highlight);border-radius:9999px;background:var(--accent-color);width:100%;height:.5rem}input[type=range]::-webkit-slider-thumb{appearance:none;filter:brightness(.9);transition:var(--transition-bezier);cursor:grab;box-shadow:var(--shadow);border-radius:9999px;background-color:#fff;width:1.5rem;height:1.5rem}input[type=range]::-webkit-slider-thumb:active{transform:var(--active);cursor:grabbing}input[type=range]::-moz-range-thumb{appearance:none;transition:var(--transition-bezier);cursor:grab;box-shadow:var(--shadow);border:none;border-radius:9999px;background-color:#fff;width:1.5rem;height:1.5rem}input[type=range]::-moz-range-thumb:active{transform:var(--active);cursor:grabbing}input[type=submit]{appearance:none;transition:all var(--transition),transform var(--transition-bezier);cursor:pointer;box-shadow:var(--edge-highlight);border:none;border-radius:var(--rounded-corner);background-color:var(--bg-muted-1);padding:.375rem .75rem;color:var(--fg-muted-1);font-weight:var(--font-weight-semi-bold);font-size:var(--font-size-small);font-family:inherit}input[type=submit]:hover{background-color:var(--bg-muted-2)}input[type=submit]:active{transform:var(--active)}.media-grid,.media-grid-markdown p{display:grid;grid-template-columns:repeat(auto-fill, minmax(12rem, 1fr));gap:.5rem}.media-grid img,.media-grid video,.media-grid-markdown p img,.media-grid-markdown p video{margin:0}img,video{display:block;margin:1rem auto;box-shadow:var(--edge-highlight),var(--shadow);border-radius:var(--rounded-corner);background-color:var(--bg-muted-1);max-width:100%;max-height:calc(100vh - 2rem)}img.full,img[src*="#full"],video.full,video[src*="#full"]{width:100%}img.start,img.end,img[src*="#start"],img[src*="#end"],video.start,video.end,video[src*="#start"],video[src*="#end"]{width:calc(var(--container-width)/3)}img.start,img[src*="#start"],video.start,video[src*="#start"]{float:inline-start;transform-origin:left;margin-inline-end:1rem}img.end,img[src*="#end"],video.end,video[src*="#end"]{float:inline-end;transform-origin:right;margin-inline-start:1rem}img.pixels,img[src*="#pixels"],video.pixels,video[src*="#pixels"]{image-rendering:pixelated}img.transparent,img[src*="#transparent"],video.transparent,video[src*="#transparent"]{box-shadow:none;border-radius:0;background-color:rgba(0,0,0,0)}img.drop-shadow,img[src*="#drop-shadow"],video.drop-shadow,video[src*="#drop-shadow"]{filter:var(--drop-shadow)}img.spoiler,img[src*="#spoiler"],video.spoiler,video[src*="#spoiler"]{opacity:var(--dim-opacity);clip-path:inset(0 0 0 0 round var(--rounded-corner));filter:blur(1.5rem)}img.spoiler:hover,img.spoiler:active,img[src*="#spoiler"]:hover,img[src*="#spoiler"]:active,video.spoiler:hover,video.spoiler:active,video[src*="#spoiler"]:hover,video[src*="#spoiler"]:active{opacity:1;clip-path:inset(-.75rem -.75rem -.75rem -.75rem round var(--rounded-corner-small));filter:none}img.spoiler.solid,img.spoiler[src*="#solid"],img[src*="#spoiler"].solid,img[src*="#spoiler"][src*="#solid"],video.spoiler.solid,video.spoiler[src*="#solid"],video[src*="#spoiler"].solid,video[src*="#spoiler"][src*="#solid"]{clip-path:none;filter:brightness(0) contrast(.5);box-shadow:none}img.spoiler.solid:hover,img.spoiler.solid:active,img.spoiler[src*="#solid"]:hover,img.spoiler[src*="#solid"]:active,img[src*="#spoiler"].solid:hover,img[src*="#spoiler"].solid:active,img[src*="#spoiler"][src*="#solid"]:hover,img[src*="#spoiler"][src*="#solid"]:active,video.spoiler.solid:hover,video.spoiler.solid:active,video.spoiler[src*="#solid"]:hover,video.spoiler[src*="#solid"]:active,video[src*="#spoiler"].solid:hover,video[src*="#spoiler"].solid:active,video[src*="#spoiler"][src*="#solid"]:hover,video[src*="#spoiler"][src*="#solid"]:active{filter:none}@media only screen and (max-width: 720px){img.start,img.end,img[src*="#start"],img[src*="#end"],video.start,video.end,video[src*="#start"],video[src*="#end"]{float:none;margin-inline-start:auto;margin-inline-end:auto;width:auto}}img{transition:all var(--transition),transform var(--transition-bezier)}img:not(.no-hover,[src*="#no-hover"],.emoji){cursor:zoom-in}img:not(.no-hover,[src*="#no-hover"],.emoji):hover{position:relative;transform:var(--hover);z-index:1;box-shadow:var(--edge-highlight),var(--shadow-raised);border-radius:var(--rounded-corner-small)}img:not(.no-hover,[src*="#no-hover"],.emoji).start,img:not(.no-hover,[src*="#no-hover"],.emoji).end,img:not(.no-hover,[src*="#no-hover"],.emoji)[src*="#start"],img:not(.no-hover,[src*="#no-hover"],.emoji)[src*="#end"]{transition:var(--transition-bezier-longer)}img:not(.no-hover,[src*="#no-hover"],.emoji).start:hover,img:not(.no-hover,[src*="#no-hover"],.emoji).end:hover,img:not(.no-hover,[src*="#no-hover"],.emoji)[src*="#start"]:hover,img:not(.no-hover,[src*="#no-hover"],.emoji)[src*="#end"]:hover{transform:scale(2)}@media only screen and (max-width: 720px){img:not(.no-hover,[src*="#no-hover"],.emoji).start,img:not(.no-hover,[src*="#no-hover"],.emoji).end,img:not(.no-hover,[src*="#no-hover"],.emoji)[src*="#start"],img:not(.no-hover,[src*="#no-hover"],.emoji)[src*="#end"]{transform-origin:center;transition:var(--transition-bezier)}img:not(.no-hover,[src*="#no-hover"],.emoji).start:hover,img:not(.no-hover,[src*="#no-hover"],.emoji).end:hover,img:not(.no-hover,[src*="#no-hover"],.emoji)[src*="#start"]:hover,img:not(.no-hover,[src*="#no-hover"],.emoji)[src*="#end"]:hover{transform:var(--hover)}}img:not(.no-hover,[src*="#no-hover"],.emoji).transparent:hover,img:not(.no-hover,[src*="#no-hover"],.emoji)[src*="#transparent"]:hover{box-shadow:none}a img:not(.no-hover,[src*="#no-hover"]){cursor:pointer}video:fullscreen{box-shadow:none;border-radius:0}video:-webkit-full-screen{box-shadow:none;border-radius:0}picture{display:inline-block}#site-navbar::before{position:absolute;z-index:-1;transition:var(--transition);inset:0;border-radius:inherit;background-color:var(--glass-bg-1);content:""}#site-navbar ul{display:flex;gap:.25rem;margin:0;padding:0;list-style:none}#site-navbar li{display:flex;flex:1;padding-inline-start:0}#site-navbar a,#site-navbar label,#site-navbar button,#site-navbar summary{transition:all var(--transition),transform var(--transition-bezier);background-color:rgba(0,0,0,0);overflow:hidden;color:var(--fg-muted-2);font-weight:var(--font-weight-semi-bold);white-space:nowrap}#site-navbar a:hover,#site-navbar label:hover,#site-navbar button:hover,#site-navbar summary:hover{box-shadow:var(--edge-highlight);background-color:var(--bg-muted-1)}#site-navbar a:active,#site-navbar label:active,#site-navbar button:active,#site-navbar summary:active{transform:var(--active)}#site-navbar a{flex:1;text-decoration:none}#site-navbar .ph-bold{vertical-align:text-top;transition:var(--transition);margin-inline-end:.5rem;font-size:1.25rem}#site-navbar .dropdown{-webkit-backdrop-filter:var(--blur);position:absolute;left:50%;flex-direction:column;transform:translateX(-50%);transform-origin:top left;z-index:1;backdrop-filter:var(--blur);inset-block-start:calc(100% + 1rem);box-shadow:var(--edge-highlight),var(--shadow-glass);border-radius:calc(var(--rounded-corner) + .25rem);background-color:var(--glass-bg-1);padding:.25rem;width:max-content;min-width:8rem}#site-navbar .dropdown a{border-radius:var(--rounded-corner) !important;text-align:start}#site-navbar .dropdown a:has(.ph-bold){padding-inline-start:.5rem !important}#site-navbar details{position:relative;box-shadow:none;border-radius:0;background-color:rgba(0,0,0,0);padding:0}#site-navbar details[open] summary{transform:var(--active);opacity:var(--disabled-opacity);transition:all var(--transition),transform var(--transition-bezier);box-shadow:var(--edge-highlight);background-color:var(--bg-muted-1)}#site-navbar details[open] .dropdown{animation:dropdown-open var(--transition-bezier)}@keyframes dropdown-open{from{transform:scale(.5) translate(-50%, -1rem);opacity:0}}#site-navbar summary{box-shadow:none}#site-navbar.header{display:grid;position:sticky;grid-template-areas:"home nav buttons";grid-area:header;justify-content:space-between;z-index:9999;margin:1rem auto;inset-block-start:1rem;border-radius:1.625rem;padding:.5rem;width:max-content;max-width:var(--container-width)}#site-navbar.header::before{-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--edge-highlight),var(--shadow-glass)}#site-navbar.header #navbar-home{display:flex;grid-area:home;align-items:center;transition:var(--transition);margin:0;margin-inline-end:.25rem;overflow:visible}#site-navbar.header #navbar-home img{margin:-.875rem 0;margin-inline-start:-1rem;margin-inline-end:.375rem;border-radius:50%;width:2.75rem;height:2.75rem}#site-navbar.header #navbar-buttons{grid-area:buttons;flex-wrap:nowrap;margin-inline-start:.25rem}#site-navbar.header #navbar-buttons button,#site-navbar.header #navbar-buttons summary{display:inline-flex;transition:all var(--transition),transform var(--transition-bezier);border-radius:1.125rem;padding:.5rem !important;color:var(--fg-muted-2)}#site-navbar.header #navbar-buttons button:hover,#site-navbar.header #navbar-buttons summary:hover{box-shadow:var(--edge-highlight);background-color:var(--bg-muted-1)}#site-navbar.header #navbar-buttons button:active,#site-navbar.header #navbar-buttons summary:active{transform:var(--active)}#site-navbar.header #navbar-buttons button .ph-bold,#site-navbar.header #navbar-buttons summary .ph-bold{transition:var(--transition);margin-inline-end:0;font-size:1.25rem}#site-navbar.header #navbar-buttons button{appearance:none;cursor:pointer;border:none;background-color:rgba(0,0,0,0)}#site-navbar.header #navbar-buttons summary{border-radius:1.5rem;padding:.375rem .75rem}#site-navbar.header #navbar-buttons summary::before{display:none}#site-navbar.header a,#site-navbar.header label,#site-navbar.header button,#site-navbar.header summary{border-radius:1.125rem;padding:.375rem .75rem}#site-navbar.header a.active{box-shadow:var(--edge-highlight),var(--shadow-glow);background-image:linear-gradient(to bottom right, var(--accent-color), var(--bg-muted-1));color:var(--contrast-color);text-shadow:var(--text-shadow-glow)}#site-navbar.header a.active:hover{box-shadow:var(--edge-highlight);background-color:var(--accent-color)}#site-navbar.header nav{display:flex;grid-area:nav}@media only screen and (max-width: 720px){#site-navbar.header{position:relative;grid-template-areas:"home ... buttons" "nav nav nav ";inset-block-start:0;width:calc(100% - 2rem)}#site-navbar.header #navbar-home,#site-navbar.header #navbar-buttons{margin-inline-start:0;margin-inline-end:0;margin-block-end:.5rem}#site-navbar.header #navbar-buttons{flex-direction:row}#site-navbar.header #navbar-buttons .dropdown{right:0;left:unset;transform:none;transform-origin:top right;inset-block-start:calc(100% + .5rem)}#site-navbar.header #navbar-buttons details[open] .dropdown{animation:expand-top-right var(--transition-bezier)}#site-navbar.header ul{flex-wrap:wrap;width:100%;text-align:center}#site-navbar.header details{width:100%}#site-navbar.header .dropdown{inset-block-start:calc(100% + .5rem);width:max-content}}#site-navbar.sidebar{display:flex;position:sticky;grid-area:navbar;flex-direction:column;z-index:9999;transition:all var(--transition),height 0s;margin-inline-end:0;inset-block-start:0;padding:1rem;width:clamp(14rem,20vw,var(--container-width)/2);height:100vh}@supports (height: 100dvh){#site-navbar.sidebar{height:100dvh}}@media only screen and (max-width: 720px){#site-navbar.sidebar:has(#toggle-navbar:checked)::before{-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}}#site-navbar.sidebar::before{border-inline-end:.0625rem solid var(--bg-muted-1)}#site-navbar.sidebar #navbar-header{position:relative;flex:unset;margin-block-end:1rem;border-radius:0;padding:.25rem;height:2rem}#site-navbar.sidebar #navbar-header.has-icon{border-radius:1.5rem;padding:.5rem;padding-inline-start:3rem;height:3rem}#site-navbar.sidebar #navbar-header.has-icon:hover{box-shadow:var(--edge-highlight);background-color:var(--bg-muted-1)}#site-navbar.sidebar #navbar-header.has-icon:active{transform:var(--active)}#site-navbar.sidebar #navbar-header:hover{box-shadow:none;background:rgba(0,0,0,0)}#site-navbar.sidebar #navbar-header:hover img{inset-block-start:.5rem;inset-inline-start:.5rem;width:2rem;height:2rem}#site-navbar.sidebar #navbar-header:hover div{gap:.25rem}#site-navbar.sidebar #navbar-header:hover div span:nth-of-type(1){font-size:var(--font-size-small)}#site-navbar.sidebar #navbar-header:hover div span:nth-of-type(2){height:.75rem;color:inherit;font-size:var(--font-size-x-small)}#site-navbar.sidebar #navbar-header:active{transform:none}#site-navbar.sidebar #navbar-header .ph-bold{margin-inline-start:-2.75rem}#site-navbar.sidebar #navbar-header .ph-bold:active{transform:var(--active)}#site-navbar.sidebar #navbar-header img{position:absolute;margin:0;inset-block-start:.25rem;inset-inline-start:0;border-radius:50%;width:2.5rem;height:2.5rem}#site-navbar.sidebar #navbar-header div{display:flex;flex:1;flex-direction:column;justify-items:center;gap:0;transition:var(--transition);min-width:0;color:var(--fg-muted-2);line-height:1}#site-navbar.sidebar #navbar-header div span{transition:var(--transition)}#site-navbar.sidebar #navbar-header div span:nth-of-type(1){overflow:hidden;font-size:var(--font-size-medium);text-overflow:ellipsis;white-space:nowrap}#site-navbar.sidebar #navbar-header div span:nth-of-type(2){height:0;color:rgba(0,0,0,0);font-weight:var(--font-weight-normal);font-size:var(--font-size-xx-small)}#site-navbar.sidebar .category{padding:.25rem 0}#site-navbar.sidebar a,#site-navbar.sidebar label,#site-navbar.sidebar button,#site-navbar.sidebar summary{display:flex;align-items:center;border-radius:var(--rounded-corner);padding:.25rem;padding-inline-end:.875rem}#site-navbar.sidebar a:hover .ph-bold,#site-navbar.sidebar label:hover .ph-bold,#site-navbar.sidebar button:hover .ph-bold,#site-navbar.sidebar summary:hover .ph-bold{background-color:var(--bg-muted-2)}#site-navbar.sidebar a.active{box-shadow:var(--edge-highlight);background-color:var(--bg-muted-1);color:var(--accent-color)}#site-navbar.sidebar a.active .ph-bold{background-color:var(--accent-color);color:var(--contrast-color)}#site-navbar.sidebar a.active:hover{background-color:var(--bg-muted-2)}#site-navbar.sidebar .ph-bold{vertical-align:text-top;transition:var(--transition);margin-inline-end:.5rem;border-radius:var(--rounded-corner-small);background-color:var(--bg-muted-1);padding:.375rem;font-size:1.25rem}#site-navbar.sidebar nav{display:flex;flex:1;flex-direction:column;transition:var(--transition);margin:-1rem;padding:1rem;overflow:hidden auto;scrollbar-width:thin}#site-navbar.sidebar nav>ul{margin:auto 0}#site-navbar.sidebar ul{flex-direction:column}#site-navbar.sidebar #navbar-buttons{display:flex;flex-direction:column;gap:.25rem;margin-block-start:1rem}#site-navbar.sidebar #search{appearance:none;cursor:pointer;border:none;font-size:inherit;line-height:inherit;font-family:inherit;text-align:start;text-decoration:none}#site-navbar.sidebar .dropdown{position:absolute;left:unset;transform:none;transform-origin:bottom left;inset-block-end:0;inset-block-start:unset;inset-inline-start:calc(100% + .25rem)}#site-navbar.sidebar .dropdown a{padding:.375rem .75rem}#site-navbar.sidebar summary::before{position:absolute;transition:all var(--transition),transform var(--transition-bezier);inset-inline-end:.5rem}#site-navbar.sidebar details[open] .dropdown{animation:expand-bottom-left var(--transition-bezier)}@media only screen and (max-width: 720px){#site-navbar.sidebar{position:fixed;inset-block-start:0;inset-inline-start:0}#site-navbar.sidebar #toggle-navbar{display:block}#site-navbar.sidebar #toggle-navbar+label{display:flex !important}#site-navbar.sidebar:not(:has(#toggle-navbar:checked)){padding:1rem .5rem;width:3.5rem}#site-navbar.sidebar:not(:has(#toggle-navbar:checked)) #navbar-header.has-icon{padding:0}#site-navbar.sidebar:not(:has(#toggle-navbar:checked)) #navbar-header.has-icon div{margin-inline-start:3.5rem}#site-navbar.sidebar:not(:has(#toggle-navbar:checked)) #navbar-header.has-icon:hover{transform:var(--hover);box-shadow:none;background-color:rgba(0,0,0,0)}#site-navbar.sidebar:not(:has(#toggle-navbar:checked)) #navbar-header.has-icon:active{transform:var(--active)}#site-navbar.sidebar:not(:has(#toggle-navbar:checked)) #navbar-header:hover{box-shadow:none;background:rgba(0,0,0,0)}#site-navbar.sidebar:not(:has(#toggle-navbar:checked)) #navbar-header:hover img{inset-block-start:.25rem;inset-inline-start:0;width:2.5rem;height:2.5rem}#site-navbar.sidebar:not(:has(#toggle-navbar:checked)) #navbar-header:active{transform:none}#site-navbar.sidebar:not(:has(#toggle-navbar:checked)) #navbar-header .ph-bold{margin-inline-start:0}#site-navbar.sidebar:not(:has(#toggle-navbar:checked)) .category{gap:0}#site-navbar.sidebar:not(:has(#toggle-navbar:checked)) .category .title{width:0;color:rgba(0,0,0,0);-webkit-user-select:none;user-select:none}#site-navbar.sidebar:not(:has(#toggle-navbar:checked)) .category .line{transform:translateY(-.3125rem)}#site-navbar.sidebar:not(:has(#toggle-navbar:checked)) nav{margin:-1rem -.5rem;padding:1rem .5rem}#site-navbar.sidebar:not(:has(#toggle-navbar:checked)) a .ph-bold,#site-navbar.sidebar:not(:has(#toggle-navbar:checked)) label .ph-bold,#site-navbar.sidebar:not(:has(#toggle-navbar:checked)) button .ph-bold,#site-navbar.sidebar:not(:has(#toggle-navbar:checked)) summary .ph-bold{margin-inline-end:1rem}#site-navbar.sidebar:not(:has(#toggle-navbar:checked)) summary::before{opacity:0}}#toggle-navbar{display:none}#toggle-navbar:focus-visible+label{animation:focus-in var(--transition);outline:.125rem solid var(--accent-color);outline-offset:.125rem}#toggle-navbar+label{display:none !important;align-items:center;transition:all var(--transition),transform var(--transition-bezier);cursor:pointer;border-radius:var(--rounded-corner);padding:.25rem;overflow:hidden;color:var(--fg-muted-2);font-weight:var(--font-weight-semi-bold);white-space:nowrap}#toggle-navbar+label:hover{box-shadow:var(--edge-highlight);background-color:var(--bg-muted-1)}#toggle-navbar+label:active{transform:var(--active)}#toggle-navbar+label .ph-bold{vertical-align:text-top;transition:var(--transition);margin-inline-end:.5rem;font-size:1.25rem}#not-found{display:block}#not-found img{margin:1rem auto 0;width:8rem}.overshoot{--mask: linear-gradient(to bottom, transparent, black 1rem, black calc(100% - 1rem), transparent);-webkit-mask-image:var(--mask);mask-image:var(--mask)}.overshoot-row{--mask: linear-gradient(to right, transparent, black 1rem, black calc(100% - 1rem), transparent);-webkit-mask-image:var(--mask);mask-image:var(--mask)}#post-nav{display:flex;gap:.25rem}@media only screen and (max-width: 720px){#post-nav{flex-direction:column}}#post-nav .post-nav-item{flex:1;transition:all var(--transition),transform var(--transition-bezier);border-radius:var(--rounded-corner);padding:.75rem 1rem;min-width:0;text-decoration:none}#post-nav .post-nav-item:hover{box-shadow:var(--edge-highlight),var(--shadow);background-color:var(--bg-muted-1)}#post-nav .post-nav-item:hover .post-title{color:var(--accent-color)}#post-nav .post-nav-item:active{transform:var(--active)}#post-nav .post-nav-item.post-nav-prev .nav-arrow::before{content:"← "}#post-nav .post-nav-item.post-nav-next{text-align:end}#post-nav .post-nav-item.post-nav-next .nav-arrow::after{content:" →"}#post-nav .post-nav-item .nav-arrow{margin-block-end:.5rem;color:var(--fg-muted-2);font-weight:var(--font-weight-normal)}#post-nav .post-nav-item .post-title{display:block;transition:var(--transition);max-width:100%;overflow:hidden;color:var(--fg-muted-1);text-overflow:ellipsis;white-space:nowrap}.pre-container{position:relative;margin:1rem 0 1rem;box-shadow:var(--shadow);border-radius:var(--rounded-corner)}.pre-container::after{position:absolute;inset:0;box-shadow:var(--edge-highlight);border-radius:inherit;pointer-events:none;content:""}.pre-container .header{display:flex;justify-content:space-between;align-items:center;transition:var(--transition);border-radius:var(--rounded-corner) var(--rounded-corner) 0 0;border-block-end:.0625rem solid rgba(0,0,0,0);background-image:linear-gradient(to right, rgba(0,0,0,0) 50%, var(--bg-muted-neutral-1) 75%, rgba(0,0,0,0) 100%);background-size:200%;padding:.25rem}.pre-container .header:not(.z-code){background-color:var(--bg-muted-1);color:var(--accent-color)}.pre-container .header:not(.z-code) button:hover{background-color:var(--bg-muted-1)}.pre-container .header:not(.z-code).active{border-block-end-color:var(--bg-muted-1)}.pre-container .header:not(.z-code).active button{background-color:var(--bg-muted-1)}.pre-container .header span{margin-inline-start:.75rem;font-weight:var(--font-weight-semi-bold)}.pre-container .header button{position:relative;appearance:none;transition:all var(--transition),transform var(--transition-bezier);cursor:pointer;border:none;border-radius:var(--rounded-corner-small);background-color:rgba(0,0,0,0);padding:.5rem;color:inherit;line-height:0}.pre-container .header button:hover{box-shadow:var(--edge-highlight);background-color:var(--bg-muted-neutral-1)}.pre-container .header button:active{transform:var(--active)}.pre-container .header button:disabled{cursor:not-allowed}.pre-container .header button:disabled:active{transform:none}.pre-container .header button .ph-bold{display:inline-block;transition:all var(--transition-longer),transform var(--transition-bezier-longer);font-size:1rem}.pre-container .header button .ph-copy{transform-origin:bottom left}.pre-container .header button .ph-check-square-offset{position:absolute;transform:scale(.5);transform-origin:top right;opacity:0;inset:.5rem}.pre-container .header.active{animation:active-shimmer var(--transition-long);border-block-end-color:var(--bg-muted-neutral-1)}.pre-container .header.active button{box-shadow:var(--edge-highlight);background-color:var(--bg-muted-neutral-1)}.pre-container .header.active button .ph-copy{transform:scale(.5);opacity:0}.pre-container .header.active button .ph-check-square-offset{transform:none;opacity:1}@keyframes active-shimmer{to{background-position-x:-200%}}.pre-container pre{margin:0;box-shadow:none;border-radius:0 0 var(--rounded-corner) var(--rounded-corner)}.rainbow{-webkit-background-clip:text;filter:drop-shadow(.0625rem .0625rem rgba(0,0,0,.6));background-image:linear-gradient(to right, var(--red-fg), var(--orange-fg), var(--yellow-fg), var(--green-fg), var(--blue-fg), var(--purple-fg));background-clip:text;color:rgba(0,0,0,0)}#search-modal{--blur: blur(0.75rem) saturate(180%) contrast(75%) brightness(50%);display:flex;position:fixed;flex-direction:column;align-items:center;visibility:hidden;opacity:0;z-index:9999;backdrop-filter:var(--blur);transition:var(--transition);background-color:var(--shade-color);padding-block-start:15vh;width:100%;height:100vh;-webkit-backdrop-filter:var(--blur)}#search-modal.active{visibility:visible;opacity:1}#search-modal-content{display:flex;flex-direction:column;gap:1rem;transition:var(--transition);margin:-.5rem;box-shadow:var(--edge-highlight),var(--shadow);border-radius:2.25rem 2.25rem 1.75rem 1.75rem;background-color:var(--glass-bg-1);padding:1rem;width:calc(100% - 2rem);max-width:calc(var(--container-width)/1.5);overflow:hidden}#search-modal-content:has(#search-results:empty){border-radius:1.75rem;padding:.5rem;max-width:calc(var(--container-width)/2)}#search-modal-content>div{position:relative}#search-modal #search-input{flex-shrink:0;box-shadow:var(--edge-highlight);border:none;border-radius:9999px;background:var(--bg-muted-1);padding:0 1rem;width:100%;height:2.5rem;color:inherit;font-size:inherit}#search-modal #search-input::placeholder{opacity:1;color:var(--fg-muted-1)}#search-modal #search-input:placeholder-shown+.ph-bold{transform:none;opacity:var(--disabled-opacity);pointer-events:all}#search-modal #search-input+.ph-bold{position:absolute;transform:translateX(.5rem);opacity:0;transition:all var(--transition),transform var(--transition-bezier);cursor:help;inset-block-start:.625rem;inset-inline-end:1rem;pointer-events:none;color:var(--fg-muted-2);font-size:1.25rem}#search-modal #search-results{display:none;flex:1;flex-direction:column;gap:.5rem;margin:-1rem;padding:1rem;max-height:50vh;overflow:auto;scrollbar-width:thin}#search-modal #search-results .item{display:inline-flex;flex-direction:column;box-shadow:var(--edge-highlight);border-radius:var(--rounded-corner);background-color:var(--bg-muted-1);padding:.75rem 1rem}#search-modal #search-results .item a{text-decoration:none}#search-modal #search-results .item a::after{content:" →"}#search-modal #search-results .item span{margin-block-start:.25rem;border-block-start:rpx(1) solid var(--bg-muted-2);padding-block-start:.25rem;color:var(--fg-muted-2)}#search-modal #search-results .item span strong{color:var(--fg-color)}#skip-to-content{position:absolute;transform:translateX(-50%) translateY(calc(-100% - 1rem));z-index:9999;transition:all var(--transition),transform var(--transition-bezier);inset-inline-start:50vw;border-radius:9999px;background-color:var(--glass-bg-1);padding:.375rem .75rem;width:max-content;text-decoration:none}#skip-to-content:focus-visible,#skip-to-content:focus{-webkit-backdrop-filter:var(--blur);transform:translateX(-50%) translateY(4.25rem);backdrop-filter:var(--blur);box-shadow:var(--edge-highlight),var(--shadow)}span.spoiler{filter:blur(.25rem);transition:var(--transition)}span.spoiler:hover,span.spoiler:active{filter:none}span.spoiler.solid{filter:none;border-radius:var(--rounded-corner-small);background-color:var(--fg-muted-1);color:rgba(0,0,0,0)}span.spoiler.solid:hover,span.spoiler.solid:active{background-color:rgba(0,0,0,0);color:inherit}.statement-container{margin:1rem 0;box-shadow:var(--edge-highlight),var(--shadow);border-radius:var(--rounded-corner);padding:1rem}.statement-container :last-child{margin-block-end:0}.statement-container>:nth-child(2){margin-block-start:.5rem}.statement-container li::marker{color:inherit}.statement-container a{color:inherit}.statement-container .title{color:inherit;font-weight:var(--font-weight-semi-bold)}.statement-container .title .ph-bold{vertical-align:-.0625rem;margin-inline-end:.25rem}.statement-container.archive{background-color:var(--purple-bg-1);color:var(--purple-fg)}.statement-container.disclaimer{background-color:var(--red-bg-1);color:var(--red-fg)}.statement-container.trigger{background-color:var(--yellow-bg-1);color:var(--yellow-fg)}table{box-shadow:var(--edge-highlight),var(--shadow);border-radius:var(--rounded-corner);border-collapse:collapse;background-color:var(--bg-muted-1);width:100%;overflow:hidden}@media only screen and (max-width: 720px){table{table-layout:fixed}}table tr:nth-child(even){background-color:var(--bg-muted-1)}table tr th,table tr td{padding:.5rem 1rem}table tr th{background-color:var(--bg-muted-2);color:var(--fg-muted-2);font-weight:var(--font-weight-semi-bold)}#tags-chips{display:flex;flex-wrap:wrap;gap:.25rem;transition:var(--transition);margin:0;padding-inline-start:0;list-style:none}#tags-chips li{display:flex;padding-inline-start:0}#tags-chips a{display:flex;transition:all var(--transition),transform var(--transition-bezier);box-shadow:var(--edge-highlight);border-radius:1rem;background-color:var(--bg-muted-1);padding:.25rem;padding-inline-start:.75rem;color:var(--fg-muted-1);font-size:var(--font-size-small);text-decoration:none}#tags-chips a:hover{background-color:var(--bg-muted-2);color:var(--fg-muted-2)}#tags-chips a:active{transform:var(--active)}#tags-chips a::before{content:"#"}#tags-chips a .counter{transition:inherit;margin-inline-start:.375rem;border-radius:inherit;background-color:inherit;aspect-ratio:1/1;height:1.5rem;font-variant-numeric:tabular-nums;text-align:center}strong.title{color:var(--accent-color);font-size:var(--font-size-large)}#toc{display:flex;flex-direction:column;max-height:calc(var(--container-width)/3)}@media only screen and (max-width: 720px){#toc{max-height:calc(var(--container-width)/2)}}#toc .title{margin-block-end:1rem}#toc .overshoot{flex:1;margin:-1rem;padding:1rem;overflow:auto;scrollbar-width:thin}#toc .overshoot ul{padding-inline-start:1rem;color:var(--fg-muted-1);font-size:var(--font-size-small)}#toc .overshoot li{padding-inline-start:0}#toc .overshoot li::marker{color:inherit}#toc .overshoot a{color:inherit;text-decoration:none}details summary::before{font-family:"Phosphor-Bold" !important;speak:never;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;letter-spacing:0;-webkit-font-feature-settings:"liga";-moz-font-feature-settings:"liga=1";-moz-font-feature-settings:"liga";-ms-font-feature-settings:"liga" 1;font-feature-settings:"liga";-webkit-font-variant-ligatures:discretionary-ligatures;font-variant-ligatures:discretionary-ligatures;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{transition-duration:var(--transition);transition-property:text-shadow,font-weight;margin:2rem 0 1rem;color:var(--accent-color);font-weight:var(--font-weight-bold);line-height:1;letter-spacing:-.05em;text-wrap:balance}h1{font-size:var(--font-size-xxx-large)}h2{font-size:var(--font-size-xx-large)}h3{font-size:var(--font-size-x-large)}h4{font-size:var(--font-size-large)}h5{font-size:var(--font-size-medium)}h6{font-size:var(--font-size-small)}@media only screen and (max-width: 480px){h1{font-size:var(--font-size-xx-large)}h2{font-size:var(--font-size-x-large)}h3{font-size:var(--font-size-large)}h4{font-size:var(--font-size-medium)}h5{font-size:var(--font-size-small)}h6{font-size:var(--font-size-x-small)}}small{color:var(--fg-muted-2);font-size:var(--font-size-small)}abbr[title]{cursor:help;text-decoration:underline;text-decoration-style:dotted;text-decoration-thickness:.0625rem}figcaption{color:var(--fg-muted-1);font-size:var(--font-size-small);text-align:center}blockquote{margin:0;border-inline-start:.25rem solid var(--accent-color);border-start-start-radius:.25rem;border-end-start-radius:.25rem;padding-inline-start:.75rem;color:var(--fg-muted-2)}mark,samp,q{border-radius:var(--rounded-corner-small);padding:.125rem .375rem}mark{background-color:var(--bg-muted-1);color:var(--accent-color)}del{color:var(--red-fg);text-decoration:line-through;text-decoration-thickness:.0625rem}ins{color:var(--green-fg);text-decoration:underline;text-decoration-thickness:.0625rem}samp{background-color:var(--bg-muted-1);color:var(--fg-muted-2);font-size:var(--font-size-small)}q{background-color:var(--bg-muted-1);color:var(--fg-muted-2);font-style:italic}u{text-decoration:underline;text-decoration-style:wavy;text-decoration-color:var(--red-fg);text-decoration-thickness:.0625rem}progress{appearance:none;box-shadow:var(--edge-highlight);border:none;border-radius:9999px;background-color:var(--bg-muted-1);padding:.25rem;width:100%;height:1rem;color:var(--accent-color)}progress:indeterminate{background-color:var(--bg-muted-1)}progress:indeterminate::-moz-progress-bar{background-color:rgba(0,0,0,0)}progress::-webkit-progress-bar{background-color:rgba(0,0,0,0)}progress::-moz-progress-bar{border-radius:9999px;background-color:var(--accent-color)}progress::-webkit-progress-value{border-radius:9999px;background-color:var(--accent-color)}kbd{display:inline-block;transition:var(--transition);cursor:pointer;box-shadow:var(--edge-highlight),inset 0 -.125rem 0 var(--bg-muted-2);border-radius:var(--rounded-corner-small);background-color:var(--bg-muted-1);padding:0 .375rem;font-size:var(--font-size-small)}kbd:active{transform:translateY(.125rem);box-shadow:inset 0 .0625rem 0 var(--bg-muted-2);background-color:var(--bg-muted-2)}a{color:var(--accent-color);font-weight:var(--font-weight-semi-bold);text-decoration-thickness:.0625rem}a:hover{text-decoration-style:wavy}hr{margin:2rem auto;border:.125rem solid var(--bg-muted-2);border-radius:9999px}dt{font-weight:var(--font-weight-semi-bold)}dd{margin-inline-start:1.5rem;margin-block-end:1rem}aside{float:right;margin-inline-start:1rem;box-shadow:var(--edge-highlight),var(--shadow);border-radius:var(--rounded-corner);background-color:var(--bg-muted-1);padding:1rem;width:calc(var(--container-width)/3)}@media only screen and (max-width: 720px){aside{float:none;margin-inline-start:0;width:100%}}aside :first-child{margin-block-start:0}aside :last-child{margin-block-end:0}details[open]{box-shadow:var(--edge-highlight),var(--shadow);border-radius:var(--rounded-corner);background-color:var(--bg-muted-1);padding:1rem;padding-block-start:.75rem}details[open] summary{box-shadow:none;border-radius:0;background-color:rgba(0,0,0,0);padding:0}details[open] summary::before{transform:scaleY(-1)}details[open] summary~*{animation:slide-in-top var(--transition-bezier)}details summary{cursor:pointer;box-shadow:var(--edge-highlight),var(--shadow);border-radius:var(--rounded-corner);background-color:var(--bg-muted-1);padding:.75rem 1rem;color:var(--fg-muted-2);font-weight:var(--font-weight-semi-bold);list-style:none}details summary::marker,details summary::-webkit-details-marker{display:none}details summary::before{display:inline-block;transition:var(--transition-bezier);margin-inline-end:.25rem;content:""}details :last-child{margin-block-end:0}figure{margin-inline:0}ol,ul{padding-inline-start:1.5rem}li{padding-inline-start:.25rem}li::marker{color:var(--accent-color);font-weight:var(--font-weight-semi-bold)}b,strong{font-weight:var(--font-weight-semi-bold)}.visually-hidden{clip:rect(0 0 0 0);position:absolute !important;clip-path:inset(100%);width:1px !important;height:1px !important;overflow:hidden;white-space:nowrap}h1:hover .zola-anchor,h2:hover .zola-anchor,h3:hover .zola-anchor,h4:hover .zola-anchor,h5:hover .zola-anchor,h6:hover .zola-anchor{transform:none;opacity:1}.zola-anchor{position:absolute;transform:translateX(.5rem);opacity:0;transition:var(--transition);margin-inline-start:calc(-1em - .5rem);color:var(--fg-muted-1);line-height:1}@media only screen and (max-width: 720px){.zola-anchor{display:none}}.zola-anchor:hover{color:var(--fg-muted-2)}.zola-anchor:active{transform:var(--active)}.zola-anchor:focus-visible{opacity:1}:target .zola-anchor{color:var(--bg-muted-1)} \ No newline at end of file diff --git a/public/syntax-theme-dark.css b/public/syntax-theme-dark.css index a18f9ba..5139929 100644 --- a/public/syntax-theme-dark.css +++ b/public/syntax-theme-dark.css @@ -1,283 +1,78 @@ /* - * theme "Solarized (dark)" generated by syntect + * theme "Monokai Pro" generated by syntect */ .z-code { - color: #839496; - background-color: #002b36; + color: #fcfcfa; + background-color: #2d2a2e; } -.z-comment, .z-meta.z-documentation { - color: #586e75; +.z-comment { + color: #727072; } .z-string { - color: #2aa198; -} -.z-string.z-regexp { - color: #2aa198; -} -.z-constant.z-character.z-escape { - color: #dc322f; + color: #ffd866; } .z-constant.z-numeric { - color: #6c71c4; + color: #ab9df2; } -.z-variable { - color: #268bd2; -} -.z-variable.z-function { - color: #b58900; -} -.z-variable.z-language { - color: #d33682; -} -.z-keyword { - color: #859900; -} -.z-meta.z-import .z-keyword, .z-keyword.z-control.z-import, .z-keyword.z-control.z-import.z-from, .z-keyword.z-other.z-import, .z-keyword.z-control.z-at-rule.z-include, .z-keyword.z-control.z-at-rule.z-import { - color: #cb4b16; -} -.z-keyword.z-operator.z-comparison, .z-keyword.z-operator.z-assignment, .z-keyword.z-operator.z-arithmetic { - color: #657b83; -} -.z-storage { - color: #859900; -} -.z-storage.z-modifier { - color: #93a1a1; -} -.z-keyword.z-control.z-class, .z-entity.z-name, .z-entity.z-name.z-class, .z-entity.z-name.z-type.z-class { - color: #b58900; -} -.z-entity.z-other.z-inherited-class { - color: #268bd2; -} -.z-entity.z-other.z-attribute-name { - color: #b58900; -} -.z-support, .z-support.z-type, .z-support.z-class { - color: #859900; -} -.z-entity.z-name.z-function { - color: #b58900; -} -.z-punctuation.z-definition.z-variable { - color: #859900; -} -.z-constant, .z-constant.z-language, .z-meta.z-preprocessor { - color: #b58900; -} -.z-entity.z-name.z-section { - color: #cb4b16; -} -.z-support.z-function.z-construct, .z-keyword.z-other.z-new { - color: #dc322f; +.z-constant.z-language { + color: #ab9df2; } .z-constant.z-character, .z-constant.z-other { - color: #cb4b16; + color: #ab9df2; } -.z-entity.z-name.z-tag { - color: #268bd2; +.z-variable { } -.z-punctuation.z-definition.z-tag.z-html, .z-punctuation.z-definition.z-tag.z-begin, .z-punctuation.z-definition.z-tag.z-end { - color: #586e75; +.z-keyword { + color: #ff6188; } -.z-support.z-function { - color: #859900; -} -.z-punctuation.z-separator.z-continuation { - color: #dc322f; +.z-storage { + color: #ff6188; } .z-storage.z-type { - color: #268bd2; -} -.z-support.z-type.z-exception { - color: #cb4b16; -} -.z-keyword.z-other.z-special-method { - color: #cb4b16; -} -.z-invalid { - background-color: #6e2e32; -} -.z-string.z-quoted.z-double, .z-string.z-quoted.z-single { - color: #2aa198; -} -.z-punctuation.z-definition.z-string { - color: #839496; -} -.z-meta.z-brace.z-square, .z-punctuation.z-section.z-brackets { - color: #268bd2; -} -.z-meta.z-brace.z-round, .z-meta.z-brace.z-curly, .z-punctuation.z-section, .z-punctuation.z-section.z-block, .z-punctuation.z-definition.z-parameters, .z-punctuation.z-section.z-group { - color: #657b83; -} -.z-support.z-constant.z-color, .z-invalid.z-deprecated.z-color.z-w3c-non-standard-color-name.z-scss { - color: #b58900; -} -.z-meta.z-selector.z-css { - color: #657b83; -} -.z-entity.z-name.z-tag.z-css, .z-entity.z-name.z-tag.z-scss, .z-source.z-less .z-keyword.z-control.z-html.z-elements, .z-source.z-sass .z-keyword.z-control.z-untitled { - color: #b58900; -} -.z-entity.z-other.z-attribute-name.z-class { - color: #b58900; -} -.z-entity.z-other.z-attribute-name.z-id { - color: #b58900; -} -.z-entity.z-other.z-attribute-name.z-pseudo-element, .z-entity.z-other.z-attribute-name.z-tag.z-pseudo-element, .z-entity.z-other.z-attribute-name.z-pseudo-class, .z-entity.z-other.z-attribute-name.z-tag.z-pseudo-class { - color: #268bd2; -} -.z-text.z-html.z-basic .z-meta.z-tag.z-other.z-html, .z-text.z-html.z-basic .z-meta.z-tag.z-any.z-html, .z-text.z-html.z-basic .z-meta.z-tag.z-block.z-any, .z-text.z-html.z-basic .z-meta.z-tag.z-inline.z-any, .z-text.z-html.z-basic .z-meta.z-tag.z-structure.z-any.z-html, .z-text.z-html.z-basic .z-source.z-js.z-embedded.z-html, .z-punctuation.z-separator.z-key-value.z-html { - color: #657b83; -} -.z-text.z-html.z-basic .z-entity.z-other.z-attribute-name.z-html, .z-meta.z-tag.z-xml .z-entity.z-other.z-attribute-name { - color: #b58900; -} -.z-keyword.z-other.z-special-method.z-ruby { - color: #859900; -} -.z-variable.z-other.z-constant.z-ruby { - color: #b58900; -} -.z-constant.z-other.z-symbol.z-ruby { - color: #2aa198; -} -.z-keyword.z-other.z-special-method.z-ruby { - color: #cb4b16; -} -.z-meta.z-array .z-support.z-function.z-construct.z-php { - color: #b58900; -} -.z-entity.z-name.z-function.z-preprocessor.z-c, .z-meta.z-preprocessor.z-c.z-include, .z-meta.z-preprocessor.z-macro.z-c { - color: #cb4b16; -} -.z-meta.z-preprocessor.z-c.z-include .z-string.z-quoted.z-other.z-lt-gt.z-include.z-c, .z-meta.z-preprocessor.z-c.z-include .z-punctuation.z-definition.z-string.z-begin.z-c, .z-meta.z-preprocessor.z-c.z-include .z-punctuation.z-definition.z-string.z-end.z-c { - color: #2aa198; -} -.z-other.z-package.z-exclude, .z-other.z-remove { - color: #dc322f; -} -.z-other.z-add { - color: #2aa198; -} -.z-punctuation.z-section.z-group.z-tex, .z-punctuation.z-definition.z-arguments.z-begin.z-latex, .z-punctuation.z-definition.z-arguments.z-end.z-latex, .z-punctuation.z-definition.z-arguments.z-latex { - color: #dc322f; -} -.z-meta.z-group.z-braces.z-tex { - color: #b58900; -} -.z-string.z-other.z-math.z-tex { - color: #b58900; -} -.z-variable.z-parameter.z-function.z-latex { - color: #cb4b16; -} -.z-punctuation.z-definition.z-constant.z-math.z-tex { - color: #dc322f; -} -.z-text.z-tex.z-latex .z-constant.z-other.z-math.z-tex, .z-constant.z-other.z-general.z-math.z-tex, .z-constant.z-other.z-general.z-math.z-tex, .z-constant.z-character.z-math.z-tex { - color: #2aa198; -} -.z-string.z-other.z-math.z-tex { - color: #b58900; -} -.z-punctuation.z-definition.z-string.z-begin.z-tex, .z-punctuation.z-definition.z-string.z-end.z-tex { - color: #dc322f; -} -.z-keyword.z-control.z-label.z-latex, .z-text.z-tex.z-latex .z-constant.z-other.z-general.z-math.z-tex { - color: #2aa198; -} -.z-variable.z-parameter.z-definition.z-label.z-latex { - color: #dc322f; -} -.z-support.z-function.z-be.z-latex { - color: #859900; -} -.z-support.z-function.z-section.z-latex { - color: #cb4b16; -} -.z-support.z-function.z-general.z-tex { - color: #2aa198; -} -.z-keyword.z-control.z-ref.z-latex { - color: #2aa198; -} -.z-storage.z-type.z-class.z-python, .z-storage.z-type.z-function.z-python, .z-storage.z-modifier.z-global.z-python { - color: #859900; -} -.z-support.z-type.z-exception.z-python { - color: #b58900; -} -.z-meta.z-scope.z-for-in-loop.z-shell, .z-variable.z-other.z-loop.z-shell { - color: #93a1a1; -} -.z-meta.z-scope.z-case-block.z-shell, .z-meta.z-scope.z-case-body.z-shell { - color: #93a1a1; -} -.z-punctuation.z-definition.z-logical-expression.z-shell { - color: #dc322f; -} -.z-storage.z-modifier.z-c++ { - color: #859900; -} -.z-support.z-function.z-perl { - color: #268bd2; -} -.z-meta.z-diff, .z-meta.z-diff.z-header { - color: #586e75; -} -.z-meta.z-diff.z-range { - color: #268bd2; -} -.z-markup.z-deleted { - color: #dc322f; -} -.z-markup.z-changed { - color: #b58900; -} -.z-markup.z-inserted { - color: #859900; -} -.z-markup.z-warning { - color: #b58900; -} -.z-markup.z-error { - color: #dc322f; -} -.z-markup.z-heading, .z-punctuation.z-definition.z-heading.z-markdown { - color: #b58900; -font-weight: bold; -} -.z-markup.z-quote { - color: #859900; -} -.z-markup.z-italic { + color: #78dce8; font-style: italic; } -.z-markup.z-bold { -font-weight: bold; +.z-entity.z-name.z-class { + color: #a9dc76; +text-decoration: underline; } -.z-markup.z-underline.z-link.z-markdown, .z-meta.z-link.z-reference .z-constant.z-other.z-reference.z-link.z-markdown { - color: #2aa198; +.z-entity.z-other.z-inherited-class { + color: #a9dc76; +text-decoration: underline; +font-style: italic; } -.z-constant.z-other.z-reference.z-link.z-markdown { - color: #6c71c4; +.z-entity.z-name.z-function { + color: #a9dc76; } -.z-meta.z-paragraph.z-markdown .z-meta.z-dummy.z-line-break { - background-color: #586e75; +.z-variable.z-parameter { + color: #fc9867; +font-style: italic; } -.z-brackethighlighter.z-all { - color: #586e75; +.z-entity.z-name.z-tag { + color: #ff6188; } -.z-entity.z-name.z-filename.z-find-in-files { - color: #2aa198; +.z-entity.z-other.z-attribute-name { + color: #a9dc76; +font-style: italic; } -.z-constant.z-numeric.z-line-number.z-find-in-files { - color: #586e75; +.z-support.z-function { + color: #78dce8; } -.z-variable.z-other.z-readwrite.z-js, .z-variable.z-other.z-object.z-js, .z-variable.z-other.z-constant.z-js { - color: #839496; +.z-support.z-constant { + color: #78dce8; +} +.z-support.z-type, .z-support.z-class { + color: #fcfcfa; +} +.z-support.z-other.z-variable { +} +.z-invalid { + color: #fcfcfa; + background-color: #ff6188; +} +.z-invalid.z-deprecated { + color: #fcfcfa; + background-color: #ae81ff; } diff --git a/public/syntax-theme-light.css b/public/syntax-theme-light.css index 40ea69e..481a60c 100644 --- a/public/syntax-theme-light.css +++ b/public/syntax-theme-light.css @@ -1,283 +1,78 @@ /* - * theme "Solarized (light)" generated by syntect + * theme "Monokai Pro Light" generated by syntect */ .z-code { - color: #657b83; - background-color: #fdf6e3; + color: #29242a; + background-color: #faf4f2; } -.z-comment, .z-meta.z-documentation { - color: #93a1a1; +.z-comment { + color: #918c8e; } .z-string { - color: #2aa198; -} -.z-string.z-regexp { - color: #2aa198; -} -.z-constant.z-character.z-escape { - color: #dc322f; + color: #cc7a0a; } .z-constant.z-numeric { - color: #6c71c4; + color: #7058be; } -.z-variable { - color: #268bd2; -} -.z-variable.z-function { - color: #b58900; -} -.z-variable.z-language { - color: #d33682; -} -.z-keyword { - color: #859900; -} -.z-meta.z-import .z-keyword, .z-keyword.z-control.z-import, .z-keyword.z-control.z-import.z-from, .z-keyword.z-other.z-import, .z-keyword.z-control.z-at-rule.z-include, .z-keyword.z-control.z-at-rule.z-import { - color: #cb4b16; -} -.z-keyword.z-operator.z-comparison, .z-keyword.z-operator.z-assignment, .z-keyword.z-operator.z-arithmetic { - color: #657b83; -} -.z-storage { - color: #859900; -} -.z-storage.z-modifier { - color: #586e75; -} -.z-keyword.z-control.z-class, .z-entity.z-name, .z-entity.z-name.z-class, .z-entity.z-name.z-type.z-class { - color: #b58900; -} -.z-entity.z-other.z-inherited-class { - color: #268bd2; -} -.z-entity.z-other.z-attribute-name { - color: #b58900; -} -.z-support, .z-support.z-type, .z-support.z-class { - color: #859900; -} -.z-entity.z-name.z-function { - color: #b58900; -} -.z-punctuation.z-definition.z-variable { - color: #859900; -} -.z-constant, .z-constant.z-language, .z-meta.z-preprocessor { - color: #b58900; -} -.z-entity.z-name.z-section { - color: #cb4b16; -} -.z-support.z-function.z-construct, .z-keyword.z-other.z-new { - color: #dc322f; +.z-constant.z-language { + color: #7058be; } .z-constant.z-character, .z-constant.z-other { - color: #cb4b16; + color: #7058be; } -.z-entity.z-name.z-tag { - color: #268bd2; +.z-variable { } -.z-punctuation.z-definition.z-tag.z-html, .z-punctuation.z-definition.z-tag.z-begin, .z-punctuation.z-definition.z-tag.z-end { - color: #93a1a1; +.z-keyword { + color: #e14775; } -.z-support.z-function { - color: #859900; -} -.z-punctuation.z-separator.z-continuation { - color: #dc322f; +.z-storage { + color: #e14775; } .z-storage.z-type { - color: #268bd2; -} -.z-support.z-type.z-exception { - color: #cb4b16; -} -.z-keyword.z-other.z-special-method { - color: #cb4b16; -} -.z-invalid { - background-color: #ec9489; -} -.z-string.z-quoted.z-double, .z-string.z-quoted.z-single { - color: #2aa198; -} -.z-punctuation.z-definition.z-string { - color: #839496; -} -.z-meta.z-brace.z-square, .z-punctuation.z-section.z-brackets { - color: #268bd2; -} -.z-meta.z-brace.z-round, .z-meta.z-brace.z-curly, .z-punctuation.z-section, .z-punctuation.z-section.z-block, .z-punctuation.z-definition.z-parameters, .z-punctuation.z-section.z-group { - color: #657b83; -} -.z-support.z-constant.z-color, .z-invalid.z-deprecated.z-color.z-w3c-non-standard-color-name.z-scss { - color: #b58900; -} -.z-meta.z-selector.z-css { - color: #657b83; -} -.z-entity.z-name.z-tag.z-css, .z-entity.z-name.z-tag.z-scss, .z-source.z-less .z-keyword.z-control.z-html.z-elements, .z-source.z-sass .z-keyword.z-control.z-untitled { - color: #b58900; -} -.z-entity.z-other.z-attribute-name.z-class { - color: #b58900; -} -.z-entity.z-other.z-attribute-name.z-id { - color: #b58900; -} -.z-entity.z-other.z-attribute-name.z-pseudo-element, .z-entity.z-other.z-attribute-name.z-tag.z-pseudo-element, .z-entity.z-other.z-attribute-name.z-pseudo-class, .z-entity.z-other.z-attribute-name.z-tag.z-pseudo-class { - color: #268bd2; -} -.z-text.z-html.z-basic .z-meta.z-tag.z-other.z-html, .z-text.z-html.z-basic .z-meta.z-tag.z-any.z-html, .z-text.z-html.z-basic .z-meta.z-tag.z-block.z-any, .z-text.z-html.z-basic .z-meta.z-tag.z-inline.z-any, .z-text.z-html.z-basic .z-meta.z-tag.z-structure.z-any.z-html, .z-text.z-html.z-basic .z-source.z-js.z-embedded.z-html, .z-punctuation.z-separator.z-key-value.z-html { - color: #657b83; -} -.z-text.z-html.z-basic .z-entity.z-other.z-attribute-name.z-html, .z-meta.z-tag.z-xml .z-entity.z-other.z-attribute-name { - color: #b58900; -} -.z-keyword.z-other.z-special-method.z-ruby { - color: #859900; -} -.z-variable.z-other.z-constant.z-ruby { - color: #b58900; -} -.z-constant.z-other.z-symbol.z-ruby { - color: #2aa198; -} -.z-keyword.z-other.z-special-method.z-ruby { - color: #cb4b16; -} -.z-meta.z-array .z-support.z-function.z-construct.z-php { - color: #b58900; -} -.z-entity.z-name.z-function.z-preprocessor.z-c, .z-meta.z-preprocessor.z-c.z-include, .z-meta.z-preprocessor.z-macro.z-c { - color: #cb4b16; -} -.z-meta.z-preprocessor.z-c.z-include .z-string.z-quoted.z-other.z-lt-gt.z-include.z-c, .z-meta.z-preprocessor.z-c.z-include .z-punctuation.z-definition.z-string.z-begin.z-c, .z-meta.z-preprocessor.z-c.z-include .z-punctuation.z-definition.z-string.z-end.z-c { - color: #2aa198; -} -.z-other.z-package.z-exclude, .z-other.z-remove { - color: #dc322f; -} -.z-other.z-add { - color: #2aa198; -} -.z-punctuation.z-section.z-group.z-tex, .z-punctuation.z-definition.z-arguments.z-begin.z-latex, .z-punctuation.z-definition.z-arguments.z-end.z-latex, .z-punctuation.z-definition.z-arguments.z-latex { - color: #dc322f; -} -.z-meta.z-group.z-braces.z-tex { - color: #b58900; -} -.z-string.z-other.z-math.z-tex { - color: #b58900; -} -.z-variable.z-parameter.z-function.z-latex { - color: #cb4b16; -} -.z-punctuation.z-definition.z-constant.z-math.z-tex { - color: #dc322f; -} -.z-text.z-tex.z-latex .z-constant.z-other.z-math.z-tex, .z-constant.z-other.z-general.z-math.z-tex, .z-constant.z-other.z-general.z-math.z-tex, .z-constant.z-character.z-math.z-tex { - color: #2aa198; -} -.z-string.z-other.z-math.z-tex { - color: #b58900; -} -.z-punctuation.z-definition.z-string.z-begin.z-tex, .z-punctuation.z-definition.z-string.z-end.z-tex { - color: #dc322f; -} -.z-keyword.z-control.z-label.z-latex, .z-text.z-tex.z-latex .z-constant.z-other.z-general.z-math.z-tex { - color: #2aa198; -} -.z-variable.z-parameter.z-definition.z-label.z-latex { - color: #dc322f; -} -.z-support.z-function.z-be.z-latex { - color: #859900; -} -.z-support.z-function.z-section.z-latex { - color: #cb4b16; -} -.z-support.z-function.z-general.z-tex { - color: #2aa198; -} -.z-keyword.z-control.z-ref.z-latex { - color: #2aa198; -} -.z-storage.z-type.z-class.z-python, .z-storage.z-type.z-function.z-python, .z-storage.z-modifier.z-global.z-python { - color: #859900; -} -.z-support.z-type.z-exception.z-python { - color: #b58900; -} -.z-meta.z-scope.z-for-in-loop.z-shell, .z-variable.z-other.z-loop.z-shell { - color: #586e75; -} -.z-meta.z-scope.z-case-block.z-shell, .z-meta.z-scope.z-case-body.z-shell { - color: #586e75; -} -.z-punctuation.z-definition.z-logical-expression.z-shell { - color: #dc322f; -} -.z-storage.z-modifier.z-c++ { - color: #859900; -} -.z-support.z-function.z-perl { - color: #268bd2; -} -.z-meta.z-diff, .z-meta.z-diff.z-header { - color: #93a1a1; -} -.z-meta.z-diff.z-range { - color: #268bd2; -} -.z-markup.z-deleted { - color: #dc322f; -} -.z-markup.z-changed { - color: #b58900; -} -.z-markup.z-inserted { - color: #859900; -} -.z-markup.z-warning { - color: #b58900; -} -.z-markup.z-error { - color: #dc322f; -} -.z-markup.z-heading, .z-punctuation.z-definition.z-heading.z-markdown { - color: #b58900; -font-weight: bold; -} -.z-markup.z-quote { - color: #859900; -} -.z-markup.z-italic { + color: #1c8ca8; font-style: italic; } -.z-markup.z-bold { -font-weight: bold; +.z-entity.z-name.z-class { + color: #269d69; +text-decoration: underline; } -.z-markup.z-underline.z-link.z-markdown, .z-meta.z-link.z-reference .z-constant.z-other.z-reference.z-link.z-markdown { - color: #2aa198; +.z-entity.z-other.z-inherited-class { + color: #269d69; +text-decoration: underline; +font-style: italic; } -.z-constant.z-other.z-reference.z-link.z-markdown { - color: #6c71c4; +.z-entity.z-name.z-function { + color: #269d69; } -.z-meta.z-paragraph.z-markdown .z-meta.z-dummy.z-line-break { - background-color: #eee8d5; +.z-variable.z-parameter { + color: #e16032; +font-style: italic; } -.z-brackethighlighter.z-all { - color: #93a1a1; +.z-entity.z-name.z-tag { + color: #e14775; } -.z-entity.z-name.z-filename.z-find-in-files { - color: #2aa198; +.z-entity.z-other.z-attribute-name { + color: #269d69; +font-style: italic; } -.z-constant.z-numeric.z-line-number.z-find-in-files { - color: #93a1a1; +.z-support.z-function { + color: #1c8ca8; } -.z-variable.z-other.z-readwrite.z-js, .z-variable.z-other.z-object.z-js, .z-variable.z-other.z-constant.z-js { - color: #657b83; +.z-support.z-constant { + color: #1c8ca8; +} +.z-support.z-type, .z-support.z-class { + color: #29242a; +} +.z-support.z-other.z-variable { +} +.z-invalid { + color: #fcfcfa; + background-color: #ff6188; +} +.z-invalid.z-deprecated { + color: #fcfcfa; + background-color: #7058be; } diff --git a/public/theme-switcher.js b/public/theme-switcher.js deleted file mode 100644 index 5632d6f..0000000 --- a/public/theme-switcher.js +++ /dev/null @@ -1,104 +0,0 @@ -// Theme Initialization -(function () { - // Get the default theme from the HTML data-theme attribute. - const defaultTheme = document.documentElement.getAttribute("data-theme"); - - // Set the data-default-theme attribute only if defaultTheme is not null. - if (defaultTheme) { - document.documentElement.setAttribute("data-default-theme", defaultTheme); - } - - // Attempt to retrieve the current theme from the browser's local storage. - const storedTheme = localStorage.getItem("theme"); - - if (storedTheme && storedTheme !== "system") { - document.documentElement.setAttribute("data-theme", storedTheme); - } else if (defaultTheme && storedTheme !== "system") { - document.documentElement.setAttribute("data-theme", defaultTheme); - } else { - // If no theme is found in local storage and no default theme is set, hand over control to the CSS. - document.documentElement.removeAttribute("data-theme"); - } - - // Expose defaultTheme to the outer scope. - window.defaultTheme = defaultTheme; -})(); - -// Icon Update and Theme Switching -function setTheme(theme, saveToLocalStorage = false) { - if (theme === "system") { - document.documentElement.removeAttribute("data-theme"); - } else { - document.documentElement.setAttribute("data-theme", theme); - } - - if (saveToLocalStorage) { - localStorage.setItem("theme", theme); - } else { - localStorage.removeItem("theme"); - } - - // Update icon class based on the selected theme. - updateIconClass(theme); - - // Update the active button based on the selected theme. - updateActiveButton(theme); -} - -function resetTheme() { - // Reset the theme to the default or system preference if no default is set. - setTheme(window.defaultTheme || "system"); -} - -function switchTheme(theme) { - if (theme === "system") { - resetTheme(); - } else { - setTheme(theme, true); - } -} - -function updateIconClass(theme) { - const iconElement = document.querySelector("#theme-switcher summary .icon"); - - // Remove any existing theme classes - iconElement.classList.remove("light", "dark"); - - // Add the appropriate class based on the selected theme - if (theme === "light") { - iconElement.classList.add("light"); - } else if (theme === "dark") { - iconElement.classList.add("dark"); - } -} - -function updateActiveButton(theme) { - // Remove .active class from all buttons - document.querySelectorAll('#theme-switcher button').forEach(button => { - button.classList.remove('active'); - }); - - // Add .active class to the button corresponding to the current theme - const activeButton = document.querySelector(`#theme-${theme}`); - if (activeButton) { - activeButton.classList.add('active'); - } -} - -document.getElementById("theme-light").addEventListener("click", function () { - switchTheme("light"); -}); -document.getElementById("theme-dark").addEventListener("click", function () { - switchTheme("dark"); -}); -document.getElementById("theme-system").addEventListener("click", function () { - switchTheme("system"); -}); - -// Update icon class on page load based on current theme -const currentTheme = localStorage.getItem("theme") || window.defaultTheme || "system"; -updateIconClass(currentTheme); -updateActiveButton(currentTheme); - -// Make the switchTheme function accessible globally -window.switchTheme = switchTheme; diff --git a/themes/ametrine b/themes/ametrine new file mode 160000 index 0000000..670c695 --- /dev/null +++ b/themes/ametrine @@ -0,0 +1 @@ +Subproject commit 670c69556d40a5d5ca1ba372696154786d35b8c7