From dce95a209de964642786963250536bb8d2349161 Mon Sep 17 00:00:00 2001 From: Michael Heuer <michael.heuer@rwth-aachen.de> Date: Thu, 8 Feb 2024 22:46:54 +0100 Subject: [PATCH 1/2] docs: added equations and documentation --- .gitignore | 4 + README.md | 2 +- doc-images/equations/_preamble.tex | 17 + doc-images/equations/basis-function-zero.svg | 262 ++++++++++ doc-images/equations/basis-function-zero.tex | 11 + doc-images/equations/basis-function.svg | 309 ++++++++++++ doc-images/equations/basis-function.tex | 10 + doc-images/equations/basis-prefactor.svg | 282 +++++++++++ doc-images/equations/basis-prefactor.tex | 11 + doc-images/equations/control-points.svg | 388 ++++++++++++++ doc-images/equations/control-points.tex | 13 + doc-images/equations/curve-deriv.tex | 13 - doc-images/equations/curve-deriv.tex.svg | 268 ---------- doc-images/equations/curve.svg | 314 ++++++++++++ doc-images/equations/curve.tex | 19 +- doc-images/equations/curve.tex.svg | 152 ------ .../equations/generate-equations-images.sh | 10 + doc-images/equations/knots.svg | 474 ++++++++++++++++++ doc-images/equations/knots.tex | 16 + src/curve/basis/mod.rs | 191 +++++++ src/curve/knots/mod.rs | 182 +------ src/curve/mod.rs | 21 + src/curve/parameters/mod.rs | 2 +- src/curve/points/mod.rs | 17 +- src/lib.rs | 21 +- src/manipulation/merge.rs | 28 +- src/manipulation/mod.rs | 2 + 27 files changed, 2395 insertions(+), 644 deletions(-) create mode 100644 doc-images/equations/_preamble.tex create mode 100644 doc-images/equations/basis-function-zero.svg create mode 100644 doc-images/equations/basis-function-zero.tex create mode 100644 doc-images/equations/basis-function.svg create mode 100644 doc-images/equations/basis-function.tex create mode 100644 doc-images/equations/basis-prefactor.svg create mode 100644 doc-images/equations/basis-prefactor.tex create mode 100644 doc-images/equations/control-points.svg create mode 100644 doc-images/equations/control-points.tex delete mode 100644 doc-images/equations/curve-deriv.tex delete mode 100644 doc-images/equations/curve-deriv.tex.svg create mode 100644 doc-images/equations/curve.svg delete mode 100644 doc-images/equations/curve.tex.svg create mode 100755 doc-images/equations/generate-equations-images.sh create mode 100644 doc-images/equations/knots.svg create mode 100644 doc-images/equations/knots.tex create mode 100644 src/curve/basis/mod.rs diff --git a/.gitignore b/.gitignore index b80da91..041d818 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,10 @@ target/ # files .DS_Store **/*.rs.bk +*.aux +*.log +*.gz +*.pdf #/target /Cargo.lock diff --git a/README.md b/README.md index 2bc3579..beece4e 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Bsplines +# `bsplines` Rust Library [![Crates.io](https://img.shields.io/crates/v/bsplines)](https://crates.io/crates/bsplines) [![Docs.rs](https://docs.rs/bsplines/badge.svg)](https://docs.rs/bsplines) diff --git a/doc-images/equations/_preamble.tex b/doc-images/equations/_preamble.tex new file mode 100644 index 0000000..dbfb0b6 --- /dev/null +++ b/doc-images/equations/_preamble.tex @@ -0,0 +1,17 @@ +\documentclass[tikz]{standalone} +\usepackage{amssymb} +\usepackage{amsmath} +\usepackage{oubraces} +\usepackage[customcolors]{hf-tikz} +\definecolor{docsrscolor}{HTML}{f5f5f5} + +\newcommand{\myeqs}[1]{ + \Huge + \begin{tikzpicture} + \node[ + fill=docsrscolor, + rounded corners=8mm, + inner sep=8mm + ]{$#1$}; + \end{tikzpicture} +} diff --git a/doc-images/equations/basis-function-zero.svg b/doc-images/equations/basis-function-zero.svg new file mode 100644 index 0000000..7a28935 --- /dev/null +++ b/doc-images/equations/basis-function-zero.svg @@ -0,0 +1,262 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="640.872" height="134.589" viewBox="0 0 640.872 134.589"> +<defs> +<g> +<g id="glyph-0-0"> +<path d="M 7.578125 -14.21875 C 8.03125 -12.9375 8.578125 -11.078125 9.6875 -8.03125 C 11.25 -3.8125 11.9375 -2.28125 13.453125 0.078125 C 13.796875 0.59375 13.828125 0.625 14.046875 0.625 C 14.390625 0.625 14.921875 0.328125 15.1875 0.125 C 15.53125 -0.203125 15.5625 -0.21875 15.828125 -1.4375 C 17.328125 -7.953125 19.203125 -14.75 19.703125 -15.890625 C 19.71875 -15.9375 20.21875 -16.875 23.265625 -16.921875 C 23.765625 -16.953125 24.234375 -18.265625 24.234375 -18.8125 C 24.234375 -19.203125 24.09375 -19.203125 23.734375 -19.203125 C 21.265625 -19.203125 20.140625 -18.171875 19.84375 -17.84375 C 19.15625 -16.953125 18.5625 -15.140625 17.421875 -11 C 16.546875 -7.828125 15.765625 -4.609375 15 -1.40625 C 13.625 -3.46875 12.859375 -5.421875 11.671875 -8.625 C 10.359375 -12.140625 9.5625 -14.71875 8.890625 -16.953125 C 8.75 -17.453125 8.71875 -17.46875 8.5 -17.46875 C 8.453125 -17.46875 7.953125 -17.46875 7.234375 -16.875 C 6.984375 -16.65625 6.96875 -16.4375 6.9375 -16.15625 C 6.25 -9.5625 3.921875 -3.046875 3.25 -1.859375 C 3.046875 -1.484375 2.75 -1.046875 2.25 -1.046875 C 2 -1.046875 1.046875 -1.171875 0.390625 -1.765625 C 0.265625 -1.859375 0.21875 -1.859375 0.203125 -1.859375 C -0.203125 -1.859375 -0.71875 -0.625 -0.71875 -0.03125 C -0.71875 0.75 0.796875 1.234375 1.484375 1.234375 C 3.078125 1.234375 4.34375 -2.25 4.734375 -3.390625 C 6.34375 -7.875 7.109375 -11.578125 7.578125 -14.21875 Z M 7.578125 -14.21875 "/> +</g> +<g id="glyph-0-1"> +<path d="M 13.578125 -5.703125 C 14 -5.703125 14.453125 -5.703125 14.453125 -6.1875 C 14.453125 -6.6875 14 -6.6875 13.578125 -6.6875 L 3.078125 -6.6875 C 3.375 -10.015625 6.21875 -12.390625 9.71875 -12.390625 L 13.578125 -12.390625 C 14 -12.390625 14.453125 -12.390625 14.453125 -12.890625 C 14.453125 -13.375 14 -13.375 13.578125 -13.375 L 9.671875 -13.375 C 5.421875 -13.375 2.0625 -10.15625 2.0625 -6.1875 C 2.0625 -2.234375 5.421875 0.984375 9.671875 0.984375 L 13.578125 0.984375 C 14 0.984375 14.453125 0.984375 14.453125 0.5 C 14.453125 0 14 0 13.578125 0 L 9.71875 0 C 6.21875 0 3.375 -2.375 3.078125 -5.703125 Z M 13.578125 -5.703125 "/> +</g> +<g id="glyph-0-2"> +<path d="M 14.96875 -13.828125 C 15.109375 -14.15625 15.140625 -14.203125 15.140625 -14.328125 C 15.140625 -14.59375 14.921875 -14.8125 14.640625 -14.8125 C 14.390625 -14.8125 14.25 -14.640625 14.078125 -14.28125 L 8.25 -1.171875 L 2.421875 -14.296875 C 2.234375 -14.765625 2.03125 -14.8125 1.859375 -14.8125 C 1.59375 -14.8125 1.359375 -14.59375 1.359375 -14.328125 C 1.359375 -14.28125 1.359375 -14.21875 1.515625 -13.921875 L 7.6875 0.03125 C 7.875 0.453125 8.03125 0.546875 8.25 0.546875 C 8.578125 0.546875 8.65625 0.375 8.796875 0.03125 Z M 14.96875 -13.828125 "/> +</g> +<g id="glyph-0-3"> +<path d="M 16.328125 -5.703125 C 16.75 -5.703125 17.203125 -5.703125 17.203125 -6.1875 C 17.203125 -6.6875 16.75 -6.6875 16.328125 -6.6875 L 2.921875 -6.6875 C 2.5 -6.6875 2.0625 -6.6875 2.0625 -6.1875 C 2.0625 -5.703125 2.5 -5.703125 2.921875 -5.703125 Z M 16.328125 -5.703125 "/> +</g> +<g id="glyph-0-4"> +<path d="M 8.828125 -14.296875 C 8.625 -14.71875 8.46875 -14.8125 8.25 -14.8125 C 7.9375 -14.8125 7.859375 -14.640625 7.703125 -14.296875 L 1.53125 -0.453125 C 1.390625 -0.125 1.359375 -0.078125 1.359375 0.046875 C 1.359375 0.328125 1.59375 0.546875 1.859375 0.546875 C 2.03125 0.546875 2.234375 0.5 2.421875 0.03125 L 8.25 -13.109375 L 14.078125 0.03125 C 14.296875 0.546875 14.546875 0.546875 14.640625 0.546875 C 14.921875 0.546875 15.140625 0.328125 15.140625 0.046875 C 15.140625 0 15.140625 -0.046875 15 -0.34375 Z M 8.828125 -14.296875 "/> +</g> +<g id="glyph-1-0"> +<path d="M 15.59375 -12.5625 C 15.703125 -12.953125 15.703125 -12.96875 16.1875 -13.09375 C 16.546875 -13.15625 17.0625 -13.203125 17.390625 -13.203125 C 17.78125 -13.203125 18.109375 -13.203125 18.109375 -13.796875 C 18.109375 -14.03125 17.953125 -14.171875 17.703125 -14.171875 C 16.953125 -14.171875 16.171875 -14.109375 15.40625 -14.109375 C 14.890625 -14.109375 13.578125 -14.171875 13.0625 -14.171875 C 12.90625 -14.171875 12.5 -14.171875 12.5 -13.578125 C 12.5 -13.203125 12.84375 -13.203125 13.140625 -13.203125 C 13.328125 -13.203125 14.09375 -13.203125 14.578125 -13 L 12.53125 -4.859375 C 11.796875 -1.859375 9.359375 -0.625 6.875 -0.625 C 4.9375 -0.625 4.03125 -1.421875 4.03125 -2.90625 C 4.03125 -3.421875 4.109375 -3.953125 4.234375 -4.46875 L 6.40625 -13.109375 C 6.859375 -13.203125 7.578125 -13.203125 7.8125 -13.203125 C 8.53125 -13.203125 8.796875 -13.203125 8.796875 -13.796875 C 8.796875 -14.0625 8.578125 -14.171875 8.34375 -14.171875 C 7.828125 -14.171875 7.296875 -14.125 6.78125 -14.125 C 6.265625 -14.125 5.75 -14.109375 5.21875 -14.109375 C 4.6875 -14.109375 4.15625 -14.125 3.640625 -14.125 C 3.09375 -14.125 2.546875 -14.171875 2 -14.171875 C 1.796875 -14.171875 1.40625 -14.171875 1.40625 -13.578125 C 1.40625 -13.203125 1.671875 -13.203125 2.359375 -13.203125 C 2.84375 -13.203125 3.515625 -13.203125 3.515625 -13.09375 C 3.515625 -13.0625 3.3125 -12.296875 3.203125 -11.890625 L 2.75 -10.078125 L 1.484375 -4.984375 C 1.296875 -4.234375 1.296875 -4.0625 1.296875 -3.671875 C 1.296875 -0.96875 3.609375 0.34375 6.734375 0.34375 C 10.4375 0.34375 12.90625 -1.84375 13.609375 -4.671875 Z M 15.59375 -12.5625 "/> +</g> +<g id="glyph-2-0"> +<path d="M 5.265625 4.203125 C 5.265625 4.1875 5.265625 4.15625 5.21875 4.09375 C 4.421875 3.28125 2.3125 1.078125 2.3125 -4.28125 C 2.3125 -9.65625 4.390625 -11.84375 5.234375 -12.703125 C 5.234375 -12.71875 5.265625 -12.765625 5.265625 -12.8125 C 5.265625 -12.859375 5.21875 -12.890625 5.140625 -12.890625 C 4.953125 -12.890625 3.5 -11.625 2.65625 -9.734375 C 1.796875 -7.8125 1.546875 -5.953125 1.546875 -4.3125 C 1.546875 -3.0625 1.671875 -0.96875 2.703125 1.25 C 3.53125 3.046875 4.9375 4.3125 5.140625 4.3125 C 5.234375 4.3125 5.265625 4.265625 5.265625 4.203125 Z M 5.265625 4.203125 "/> +</g> +<g id="glyph-2-1"> +<path d="M 4.53125 -4.28125 C 4.53125 -5.53125 4.40625 -7.625 3.375 -9.84375 C 2.546875 -11.640625 1.140625 -12.890625 0.9375 -12.890625 C 0.875 -12.890625 0.8125 -12.875 0.8125 -12.796875 C 0.8125 -12.765625 0.828125 -12.734375 0.84375 -12.703125 C 1.671875 -11.84375 3.765625 -9.65625 3.765625 -4.3125 C 3.765625 1.0625 1.6875 3.25 0.84375 4.109375 C 0.828125 4.15625 0.8125 4.171875 0.8125 4.203125 C 0.8125 4.28125 0.875 4.3125 0.9375 4.3125 C 1.125 4.3125 2.578125 3.03125 3.421875 1.140625 C 4.28125 -0.78125 4.53125 -2.640625 4.53125 -4.28125 Z M 4.53125 -4.28125 "/> +</g> +<g id="glyph-3-0"> +<path d="M 4.84375 -11.515625 C 4.859375 -11.59375 4.890625 -11.6875 4.890625 -11.78125 C 4.890625 -11.953125 4.71875 -11.953125 4.6875 -11.953125 C 4.671875 -11.953125 4.046875 -11.890625 3.734375 -11.859375 C 3.4375 -11.84375 3.1875 -11.8125 2.875 -11.796875 C 2.46875 -11.765625 2.34375 -11.75 2.34375 -11.4375 C 2.34375 -11.265625 2.515625 -11.265625 2.6875 -11.265625 C 3.5625 -11.265625 3.5625 -11.109375 3.5625 -10.9375 C 3.5625 -10.859375 3.5625 -10.828125 3.484375 -10.515625 L 1.015625 -0.671875 C 0.953125 -0.40625 0.953125 -0.375 0.953125 -0.28125 C 0.953125 0.109375 1.234375 0.171875 1.40625 0.171875 C 1.890625 0.171875 2 -0.203125 2.140625 -0.734375 L 2.9375 -3.953125 C 4.1875 -3.828125 4.921875 -3.3125 4.921875 -2.484375 C 4.921875 -2.375 4.921875 -2.3125 4.875 -2.046875 C 4.796875 -1.796875 4.796875 -1.578125 4.796875 -1.5 C 4.796875 -0.5 5.453125 0.171875 6.34375 0.171875 C 7.125 0.171875 7.546875 -0.546875 7.671875 -0.796875 C 8.046875 -1.421875 8.265625 -2.390625 8.265625 -2.46875 C 8.265625 -2.546875 8.203125 -2.625 8.09375 -2.625 C 7.9375 -2.625 7.921875 -2.546875 7.859375 -2.265625 C 7.609375 -1.375 7.25 -0.171875 6.375 -0.171875 C 6.03125 -0.171875 5.796875 -0.34375 5.796875 -1 C 5.796875 -1.328125 5.875 -1.703125 5.9375 -1.96875 C 6.015625 -2.265625 6.015625 -2.296875 6.015625 -2.5 C 6.015625 -3.515625 5.09375 -4.078125 3.515625 -4.28125 C 4.125 -4.671875 4.75 -5.34375 5 -5.59375 C 5.96875 -6.703125 6.640625 -7.25 7.4375 -7.25 C 7.828125 -7.25 7.9375 -7.140625 8.0625 -7.046875 C 7.421875 -6.96875 7.1875 -6.53125 7.1875 -6.1875 C 7.1875 -5.765625 7.5 -5.625 7.75 -5.625 C 8.21875 -5.625 8.625 -6.03125 8.625 -6.578125 C 8.625 -7.078125 8.234375 -7.59375 7.453125 -7.59375 C 6.515625 -7.59375 5.734375 -6.921875 4.515625 -5.546875 C 4.34375 -5.34375 3.703125 -4.6875 3.0625 -4.4375 Z M 4.84375 -11.515625 "/> +</g> +<g id="glyph-4-0"> +<path d="M 5.84375 -2.953125 C 5.84375 -3.0625 5.765625 -3.140625 5.640625 -3.140625 C 5.453125 -3.140625 5.4375 -3.078125 5.328125 -2.734375 C 4.796875 -0.84375 3.953125 -0.203125 3.265625 -0.203125 C 3.015625 -0.203125 2.734375 -0.265625 2.734375 -0.890625 C 2.734375 -1.453125 2.96875 -2.0625 3.203125 -2.6875 L 4.640625 -6.53125 C 4.703125 -6.6875 4.859375 -7.0625 4.859375 -7.453125 C 4.859375 -8.328125 4.234375 -9.109375 3.21875 -9.109375 C 1.328125 -9.109375 0.5625 -6.109375 0.5625 -5.953125 C 0.5625 -5.859375 0.640625 -5.765625 0.78125 -5.765625 C 0.96875 -5.765625 0.984375 -5.84375 1.078125 -6.140625 C 1.5625 -7.875 2.359375 -8.703125 3.15625 -8.703125 C 3.34375 -8.703125 3.703125 -8.671875 3.703125 -8.015625 C 3.703125 -7.484375 3.421875 -6.796875 3.265625 -6.34375 L 1.8125 -2.5 C 1.6875 -2.171875 1.5625 -1.84375 1.5625 -1.46875 C 1.5625 -0.53125 2.203125 0.203125 3.203125 0.203125 C 5.109375 0.203125 5.84375 -2.8125 5.84375 -2.953125 Z M 5.6875 -12.890625 C 5.6875 -13.203125 5.4375 -13.578125 4.984375 -13.578125 C 4.5 -13.578125 3.96875 -13.109375 3.96875 -12.578125 C 3.96875 -12.0625 4.40625 -11.890625 4.640625 -11.890625 C 5.203125 -11.890625 5.6875 -12.4375 5.6875 -12.890625 Z M 5.6875 -12.890625 "/> +</g> +<g id="glyph-4-1"> +<path d="M 4.03125 0.078125 C 4.03125 -1.109375 3.640625 -2 2.78125 -2 C 2.125 -2 1.796875 -1.46875 1.796875 -1.015625 C 1.796875 -0.5625 2.109375 0 2.8125 0 C 3.078125 0 3.3125 -0.078125 3.484375 -0.265625 C 3.53125 -0.3125 3.546875 -0.3125 3.578125 -0.3125 C 3.609375 -0.3125 3.609375 -0.015625 3.609375 0.078125 C 3.609375 0.765625 3.484375 2.109375 2.296875 3.453125 C 2.0625 3.703125 2.0625 3.734375 2.0625 3.78125 C 2.0625 3.890625 2.171875 3.984375 2.265625 3.984375 C 2.4375 3.984375 4.03125 2.453125 4.03125 0.078125 Z M 4.03125 0.078125 "/> +</g> +<g id="glyph-4-2"> +<path d="M 5.796875 -13.8125 C 5.828125 -13.90625 5.859375 -14.03125 5.859375 -14.125 C 5.859375 -14.328125 5.65625 -14.328125 5.625 -14.328125 C 5.59375 -14.328125 4.859375 -14.28125 4.484375 -14.234375 C 4.125 -14.21875 3.828125 -14.171875 3.453125 -14.15625 C 2.953125 -14.109375 2.8125 -14.09375 2.8125 -13.71875 C 2.8125 -13.515625 3.015625 -13.515625 3.21875 -13.515625 C 4.28125 -13.515625 4.28125 -13.328125 4.28125 -13.109375 C 4.28125 -13.03125 4.28125 -13 4.171875 -12.625 L 1.21875 -0.8125 C 1.140625 -0.5 1.140625 -0.453125 1.140625 -0.328125 C 1.140625 0.125 1.484375 0.203125 1.6875 0.203125 C 2.265625 0.203125 2.390625 -0.25 2.5625 -0.890625 L 3.53125 -4.75 C 5.015625 -4.578125 5.90625 -3.96875 5.90625 -2.96875 C 5.90625 -2.84375 5.90625 -2.765625 5.84375 -2.453125 C 5.765625 -2.140625 5.765625 -1.90625 5.765625 -1.796875 C 5.765625 -0.59375 6.546875 0.203125 7.59375 0.203125 C 8.546875 0.203125 9.046875 -0.65625 9.21875 -0.953125 C 9.640625 -1.71875 9.921875 -2.875 9.921875 -2.953125 C 9.921875 -3.0625 9.828125 -3.140625 9.703125 -3.140625 C 9.515625 -3.140625 9.5 -3.0625 9.421875 -2.734375 C 9.125 -1.65625 8.703125 -0.203125 7.640625 -0.203125 C 7.234375 -0.203125 6.96875 -0.40625 6.96875 -1.203125 C 6.96875 -1.59375 7.046875 -2.046875 7.125 -2.359375 C 7.203125 -2.734375 7.203125 -2.75 7.203125 -3 C 7.203125 -4.21875 6.109375 -4.890625 4.21875 -5.140625 C 4.953125 -5.59375 5.703125 -6.40625 5.984375 -6.71875 C 7.171875 -8.03125 7.96875 -8.703125 8.921875 -8.703125 C 9.40625 -8.703125 9.515625 -8.578125 9.671875 -8.453125 C 8.90625 -8.359375 8.609375 -7.828125 8.609375 -7.421875 C 8.609375 -6.921875 9 -6.75 9.296875 -6.75 C 9.859375 -6.75 10.34375 -7.234375 10.34375 -7.890625 C 10.34375 -8.484375 9.875 -9.109375 8.9375 -9.109375 C 7.8125 -9.109375 6.875 -8.296875 5.40625 -6.65625 C 5.203125 -6.40625 4.4375 -5.625 3.671875 -5.328125 Z M 5.796875 -13.8125 "/> +</g> +<g id="glyph-5-0"> +<path d="M 8.671875 -6.625 C 8.671875 -7.890625 8.65625 -10.03125 7.78125 -11.6875 C 7.015625 -13.140625 5.796875 -13.65625 4.734375 -13.65625 C 3.734375 -13.65625 2.484375 -13.203125 1.6875 -11.71875 C 0.875 -10.15625 0.78125 -8.234375 0.78125 -6.625 C 0.78125 -5.453125 0.8125 -3.65625 1.453125 -2.09375 C 2.328125 0.046875 3.921875 0.328125 4.734375 0.328125 C 5.6875 0.328125 7.125 -0.0625 7.96875 -2.03125 C 8.59375 -3.453125 8.671875 -5.125 8.671875 -6.625 Z M 4.734375 0 C 3.40625 0 2.625 -1.140625 2.328125 -2.703125 C 2.109375 -3.921875 2.109375 -5.703125 2.109375 -6.859375 C 2.109375 -8.453125 2.109375 -9.765625 2.375 -11.03125 C 2.765625 -12.78125 3.921875 -13.328125 4.734375 -13.328125 C 5.578125 -13.328125 6.671875 -12.765625 7.0625 -11.078125 C 7.328125 -9.890625 7.359375 -8.515625 7.359375 -6.859375 C 7.359375 -5.515625 7.359375 -3.859375 7.109375 -2.640625 C 6.671875 -0.390625 5.453125 0 4.734375 0 Z M 4.734375 0 "/> +</g> +<g id="glyph-5-1"> +<path d="M 6.328125 5.046875 C 6.328125 5.015625 6.328125 4.984375 6.265625 4.921875 C 5.3125 3.953125 2.765625 1.296875 2.765625 -5.140625 C 2.765625 -11.59375 5.265625 -14.21875 6.28125 -15.25 C 6.28125 -15.265625 6.328125 -15.3125 6.328125 -15.375 C 6.328125 -15.4375 6.265625 -15.46875 6.171875 -15.46875 C 5.953125 -15.46875 4.1875 -13.9375 3.1875 -11.671875 C 2.140625 -9.375 1.859375 -7.140625 1.859375 -5.171875 C 1.859375 -3.671875 2 -1.15625 3.25 1.515625 C 4.234375 3.65625 5.921875 5.171875 6.171875 5.171875 C 6.28125 5.171875 6.328125 5.125 6.328125 5.046875 Z M 6.328125 5.046875 "/> +</g> +<g id="glyph-5-2"> +<path d="M 5.4375 -5.140625 C 5.4375 -6.625 5.28125 -9.15625 4.046875 -11.8125 C 3.0625 -13.96875 1.359375 -15.46875 1.109375 -15.46875 C 1.046875 -15.46875 0.96875 -15.453125 0.96875 -15.34375 C 0.96875 -15.3125 0.984375 -15.28125 1.015625 -15.25 C 2 -14.21875 4.53125 -11.59375 4.53125 -5.171875 C 4.53125 1.28125 2.03125 3.90625 1.015625 4.9375 C 0.984375 4.984375 0.96875 5 0.96875 5.046875 C 0.96875 5.140625 1.046875 5.171875 1.109375 5.171875 C 1.34375 5.171875 3.09375 3.640625 4.109375 1.359375 C 5.140625 -0.921875 5.4375 -3.15625 5.4375 -5.140625 Z M 5.4375 -5.140625 "/> +</g> +<g id="glyph-5-3"> +<path d="M 7.78125 -4.796875 L 13.265625 -4.796875 C 13.546875 -4.796875 13.90625 -4.796875 13.90625 -5.140625 C 13.90625 -5.515625 13.578125 -5.515625 13.265625 -5.515625 L 7.78125 -5.515625 L 7.78125 -10.984375 C 7.78125 -11.28125 7.78125 -11.625 7.4375 -11.625 C 7.0625 -11.625 7.0625 -11.296875 7.0625 -10.984375 L 7.0625 -5.515625 L 1.59375 -5.515625 C 1.296875 -5.515625 0.953125 -5.515625 0.953125 -5.171875 C 0.953125 -4.796875 1.28125 -4.796875 1.59375 -4.796875 L 7.0625 -4.796875 L 7.0625 0.6875 C 7.0625 0.96875 7.0625 1.328125 7.421875 1.328125 C 7.78125 1.328125 7.78125 0.984375 7.78125 0.6875 Z M 7.78125 -4.796875 "/> +</g> +<g id="glyph-5-4"> +<path d="M 5.5 -13.203125 C 5.5 -13.640625 5.46875 -13.65625 5.1875 -13.65625 C 4.375 -12.6875 3.15625 -12.375 2 -12.328125 C 1.9375 -12.328125 1.84375 -12.328125 1.8125 -12.296875 C 1.796875 -12.25 1.796875 -12.203125 1.796875 -11.78125 C 2.4375 -11.78125 3.515625 -11.890625 4.34375 -12.390625 L 4.34375 -1.515625 C 4.34375 -0.78125 4.296875 -0.53125 2.515625 -0.53125 L 1.90625 -0.53125 L 1.90625 0 C 2.890625 -0.015625 3.921875 -0.046875 4.921875 -0.046875 C 5.90625 -0.046875 6.9375 -0.015625 7.9375 0 L 7.9375 -0.53125 L 7.3125 -0.53125 C 5.53125 -0.53125 5.5 -0.765625 5.5 -1.515625 Z M 5.5 -13.203125 "/> +</g> +<g id="glyph-6-0"> +<path d="M 7.578125 6.046875 C 7.578125 6.015625 7.578125 5.96875 7.515625 5.890625 C 6.375 4.734375 3.328125 1.5625 3.328125 -6.171875 C 3.328125 -13.90625 6.3125 -17.046875 7.53125 -18.28125 C 7.53125 -18.3125 7.578125 -18.359375 7.578125 -18.4375 C 7.578125 -18.515625 7.515625 -18.5625 7.40625 -18.5625 C 7.140625 -18.5625 5.03125 -16.734375 3.8125 -14 C 2.578125 -11.25 2.234375 -8.578125 2.234375 -6.1875 C 2.234375 -4.40625 2.40625 -1.390625 3.890625 1.8125 C 5.078125 4.390625 7.109375 6.1875 7.40625 6.1875 C 7.53125 6.1875 7.578125 6.140625 7.578125 6.046875 Z M 7.578125 6.046875 "/> +</g> +<g id="glyph-6-1"> +<path d="M 6.515625 -6.171875 C 6.515625 -7.953125 6.34375 -10.984375 4.859375 -14.171875 C 3.671875 -16.75 1.640625 -18.5625 1.34375 -18.5625 C 1.265625 -18.5625 1.171875 -18.53125 1.171875 -18.40625 C 1.171875 -18.359375 1.1875 -18.34375 1.21875 -18.28125 C 2.40625 -17.046875 5.421875 -13.90625 5.421875 -6.1875 C 5.421875 1.53125 2.421875 4.6875 1.21875 5.921875 C 1.1875 5.96875 1.171875 6 1.171875 6.046875 C 1.171875 6.171875 1.265625 6.1875 1.34375 6.1875 C 1.609375 6.1875 3.71875 4.359375 4.9375 1.640625 C 6.171875 -1.109375 6.515625 -3.796875 6.515625 -6.171875 Z M 6.515625 -6.171875 "/> +</g> +<g id="glyph-6-2"> +<path d="M 15.9375 -7.953125 C 16.3125 -7.953125 16.671875 -7.953125 16.671875 -8.375 C 16.671875 -8.828125 16.25 -8.828125 15.828125 -8.828125 L 1.984375 -8.828125 C 1.5625 -8.828125 1.140625 -8.828125 1.140625 -8.375 C 1.140625 -7.953125 1.515625 -7.953125 1.890625 -7.953125 Z M 15.828125 -3.546875 C 16.25 -3.546875 16.671875 -3.546875 16.671875 -3.984375 C 16.671875 -4.40625 16.3125 -4.40625 15.9375 -4.40625 L 1.890625 -4.40625 C 1.515625 -4.40625 1.140625 -4.40625 1.140625 -3.984375 C 1.140625 -3.546875 1.5625 -3.546875 1.984375 -3.546875 Z M 15.828125 -3.546875 "/> +</g> +<g id="glyph-6-3"> +<path d="M 6.59375 -15.828125 C 6.59375 -16.359375 6.5625 -16.375 6.21875 -16.375 C 5.25 -15.21875 3.796875 -14.84375 2.40625 -14.796875 C 2.328125 -14.796875 2.203125 -14.796875 2.1875 -14.75 C 2.15625 -14.6875 2.15625 -14.640625 2.15625 -14.125 C 2.921875 -14.125 4.21875 -14.28125 5.203125 -14.875 L 5.203125 -1.8125 C 5.203125 -0.9375 5.15625 -0.640625 3.015625 -0.640625 L 2.28125 -0.640625 L 2.28125 0 C 3.46875 -0.03125 4.703125 -0.046875 5.890625 -0.046875 C 7.09375 -0.046875 8.328125 -0.03125 9.515625 0 L 9.515625 -0.640625 L 8.765625 -0.640625 C 6.640625 -0.640625 6.59375 -0.921875 6.59375 -1.8125 Z M 6.59375 -15.828125 "/> +</g> +<g id="glyph-6-4"> +<path d="M 10.40625 -7.953125 C 10.40625 -9.46875 10.390625 -12.046875 9.34375 -14.03125 C 8.421875 -15.765625 6.96875 -16.375 5.671875 -16.375 C 4.484375 -16.375 2.96875 -15.828125 2.03125 -14.046875 C 1.046875 -12.1875 0.9375 -9.890625 0.9375 -7.953125 C 0.9375 -6.546875 0.96875 -4.390625 1.734375 -2.5 C 2.796875 0.046875 4.703125 0.390625 5.671875 0.390625 C 6.8125 0.390625 8.546875 -0.078125 9.5625 -2.421875 C 10.3125 -4.140625 10.40625 -6.140625 10.40625 -7.953125 Z M 5.671875 0 C 4.09375 0 3.140625 -1.359375 2.796875 -3.25 C 2.53125 -4.703125 2.53125 -6.84375 2.53125 -8.234375 C 2.53125 -10.140625 2.53125 -11.71875 2.84375 -13.234375 C 3.328125 -15.34375 4.703125 -15.984375 5.671875 -15.984375 C 6.6875 -15.984375 8 -15.3125 8.46875 -13.28125 C 8.796875 -11.875 8.828125 -10.203125 8.828125 -8.234375 C 8.828125 -6.609375 8.828125 -4.640625 8.53125 -3.171875 C 8 -0.46875 6.546875 0 5.671875 0 Z M 5.671875 0 "/> +</g> +<g id="glyph-6-5"> +<path d="M 9.4375 -5.828125 C 9.546875 -5.921875 9.546875 -5.96875 9.546875 -6.21875 C 9.546875 -8.75 8.203125 -10.953125 5.375 -10.953125 C 2.75 -10.953125 0.671875 -8.453125 0.671875 -5.40625 C 0.671875 -2.1875 3.015625 0.203125 5.65625 0.203125 C 8.421875 0.203125 9.515625 -2.421875 9.515625 -2.953125 C 9.515625 -3.125 9.375 -3.125 9.3125 -3.125 C 9.140625 -3.125 9.125 -3.078125 9.015625 -2.78125 C 8.46875 -1.09375 7.109375 -0.25 5.828125 -0.25 C 4.765625 -0.25 3.6875 -0.84375 3.015625 -1.9375 C 2.25 -3.203125 2.25 -4.65625 2.25 -5.828125 Z M 2.28125 -6.1875 C 2.453125 -9.765625 4.359375 -10.5625 5.359375 -10.5625 C 7.03125 -10.5625 8.171875 -8.96875 8.203125 -6.1875 Z M 2.28125 -6.1875 "/> +</g> +<g id="glyph-6-6"> +<path d="M 3.796875 -17.203125 L 0.84375 -16.921875 L 0.84375 -16.28125 C 2.296875 -16.28125 2.53125 -16.125 2.53125 -14.9375 L 2.53125 -1.703125 C 2.53125 -0.765625 2.421875 -0.640625 0.84375 -0.640625 L 0.84375 0 C 1.4375 -0.046875 2.53125 -0.046875 3.140625 -0.046875 C 3.796875 -0.046875 4.875 -0.046875 5.484375 0 L 5.484375 -0.640625 C 3.890625 -0.640625 3.796875 -0.75 3.796875 -1.703125 Z M 3.796875 -17.203125 "/> +</g> +<g id="glyph-6-7"> +<path d="M 7.65625 -10.453125 C 7.65625 -10.90625 7.625 -10.921875 7.484375 -10.921875 C 7.390625 -10.921875 7.359375 -10.90625 7.0625 -10.53125 C 6.984375 -10.4375 6.765625 -10.1875 6.6875 -10.09375 C 5.890625 -10.921875 4.78125 -10.953125 4.359375 -10.953125 C 1.609375 -10.953125 0.625 -9.515625 0.625 -8.078125 C 0.625 -5.84375 3.140625 -5.328125 3.859375 -5.171875 C 5.421875 -4.859375 5.96875 -4.765625 6.5 -4.3125 C 6.8125 -4.015625 7.359375 -3.46875 7.359375 -2.578125 C 7.359375 -1.53125 6.765625 -0.203125 4.484375 -0.203125 C 2.328125 -0.203125 1.5625 -1.828125 1.109375 -4.015625 C 1.046875 -4.359375 1.046875 -4.390625 0.84375 -4.390625 C 0.640625 -4.390625 0.625 -4.359375 0.625 -3.859375 L 0.625 -0.296875 C 0.625 0.15625 0.640625 0.171875 0.796875 0.171875 C 0.921875 0.171875 0.9375 0.15625 1.0625 -0.046875 C 1.21875 -0.265625 1.59375 -0.875 1.734375 -1.109375 C 2.234375 -0.453125 3.09375 0.203125 4.484375 0.203125 C 6.9375 0.203125 8.25 -1.140625 8.25 -3.078125 C 8.25 -4.34375 7.578125 -5 7.265625 -5.296875 C 6.515625 -6.078125 5.65625 -6.25 4.609375 -6.4375 C 3.25 -6.734375 1.515625 -7.09375 1.515625 -8.59375 C 1.515625 -9.25 1.859375 -10.609375 4.359375 -10.609375 C 7.015625 -10.609375 7.15625 -8.125 7.21875 -7.328125 C 7.234375 -7.21875 7.359375 -7.1875 7.4375 -7.1875 C 7.65625 -7.1875 7.65625 -7.265625 7.65625 -7.6875 Z M 7.65625 -10.453125 "/> +</g> +<g id="glyph-7-0"> +<path d="M 8.453125 -1.4375 C 8.765625 -0.046875 9.96875 0.25 10.5625 0.25 C 11.34375 0.25 11.9375 -0.265625 12.34375 -1.109375 C 12.765625 -2 13.078125 -3.46875 13.078125 -3.546875 C 13.078125 -3.671875 12.984375 -3.765625 12.84375 -3.765625 C 12.609375 -3.765625 12.59375 -3.640625 12.484375 -3.265625 C 12.046875 -1.5625 11.59375 -0.25 10.609375 -0.25 C 9.859375 -0.25 9.859375 -1.0625 9.859375 -1.390625 C 9.859375 -1.953125 9.9375 -2.203125 10.1875 -3.25 C 10.359375 -3.921875 10.53125 -4.578125 10.6875 -5.28125 L 11.703125 -9.3125 C 11.875 -9.9375 11.875 -9.984375 11.875 -10.0625 C 11.875 -10.4375 11.578125 -10.6875 11.203125 -10.6875 C 10.484375 -10.6875 10.3125 -10.0625 10.15625 -9.4375 C 9.90625 -8.46875 8.578125 -3.140625 8.40625 -2.28125 C 8.375 -2.28125 7.40625 -0.25 5.59375 -0.25 C 4.3125 -0.25 4.0625 -1.359375 4.0625 -2.28125 C 4.0625 -3.6875 4.765625 -5.671875 5.40625 -7.328125 C 5.703125 -8.125 5.828125 -8.453125 5.828125 -8.953125 C 5.828125 -10.015625 5.0625 -10.921875 3.859375 -10.921875 C 1.59375 -10.921875 0.671875 -7.328125 0.671875 -7.140625 C 0.671875 -7.03125 0.765625 -6.90625 0.9375 -6.90625 C 1.171875 -6.90625 1.1875 -7.015625 1.28125 -7.359375 C 1.890625 -9.484375 2.84375 -10.4375 3.796875 -10.4375 C 4.046875 -10.4375 4.4375 -10.40625 4.4375 -9.609375 C 4.4375 -8.96875 4.15625 -8.25 3.796875 -7.3125 C 2.703125 -4.359375 2.578125 -3.421875 2.578125 -2.671875 C 2.578125 -0.15625 4.484375 0.25 5.5 0.25 C 7.09375 0.25 7.953125 -0.84375 8.453125 -1.4375 Z M 8.453125 -1.4375 "/> +</g> +<g id="glyph-7-1"> +<path d="M 4.828125 0.09375 C 4.828125 -1.34375 4.359375 -2.40625 3.34375 -2.40625 C 2.546875 -2.40625 2.15625 -1.765625 2.15625 -1.21875 C 2.15625 -0.671875 2.53125 0 3.375 0 C 3.6875 0 3.96875 -0.09375 4.1875 -0.328125 C 4.234375 -0.375 4.265625 -0.375 4.28125 -0.375 C 4.34375 -0.375 4.34375 -0.03125 4.34375 0.09375 C 4.34375 0.921875 4.1875 2.53125 2.75 4.140625 C 2.484375 4.4375 2.484375 4.484375 2.484375 4.53125 C 2.484375 4.65625 2.609375 4.78125 2.71875 4.78125 C 2.921875 4.78125 4.828125 2.953125 4.828125 0.09375 Z M 4.828125 0.09375 "/> +</g> +<g id="glyph-7-2"> +<path d="M 7.015625 -3.546875 C 7.015625 -3.671875 6.90625 -3.765625 6.765625 -3.765625 C 6.546875 -3.765625 6.515625 -3.6875 6.390625 -3.265625 C 5.75 -1.015625 4.734375 -0.25 3.921875 -0.25 C 3.625 -0.25 3.265625 -0.328125 3.265625 -1.0625 C 3.265625 -1.734375 3.5625 -2.484375 3.84375 -3.21875 L 5.578125 -7.828125 C 5.65625 -8.03125 5.828125 -8.46875 5.828125 -8.953125 C 5.828125 -9.984375 5.078125 -10.921875 3.859375 -10.921875 C 1.59375 -10.921875 0.671875 -7.328125 0.671875 -7.140625 C 0.671875 -7.03125 0.765625 -6.90625 0.9375 -6.90625 C 1.171875 -6.90625 1.1875 -7.015625 1.28125 -7.359375 C 1.890625 -9.4375 2.828125 -10.4375 3.796875 -10.4375 C 4.015625 -10.4375 4.4375 -10.40625 4.4375 -9.609375 C 4.4375 -8.96875 4.109375 -8.15625 3.921875 -7.609375 L 2.1875 -3 C 2.03125 -2.609375 1.890625 -2.203125 1.890625 -1.765625 C 1.890625 -0.640625 2.65625 0.25 3.84375 0.25 C 6.125 0.25 7.015625 -3.375 7.015625 -3.546875 Z M 6.8125 -15.46875 C 6.8125 -15.828125 6.515625 -16.28125 5.96875 -16.28125 C 5.40625 -16.28125 4.765625 -15.734375 4.765625 -15.09375 C 4.765625 -14.46875 5.28125 -14.28125 5.578125 -14.28125 C 6.25 -14.28125 6.8125 -14.921875 6.8125 -15.46875 Z M 6.8125 -15.46875 "/> +</g> +<g id="glyph-7-3"> +<path d="M 5.109375 -7.265625 C 5.15625 -7.40625 5.78125 -8.65625 6.6875 -9.4375 C 7.328125 -10.03125 8.171875 -10.4375 9.140625 -10.4375 C 10.140625 -10.4375 10.484375 -9.6875 10.484375 -8.703125 C 10.484375 -7.28125 9.46875 -4.453125 8.96875 -3.125 C 8.75 -2.53125 8.625 -2.203125 8.625 -1.765625 C 8.625 -0.640625 9.390625 0.25 10.578125 0.25 C 12.890625 0.25 13.75 -3.390625 13.75 -3.546875 C 13.75 -3.671875 13.65625 -3.765625 13.5 -3.765625 C 13.28125 -3.765625 13.265625 -3.6875 13.140625 -3.265625 C 12.5625 -1.234375 11.625 -0.25 10.65625 -0.25 C 10.40625 -0.25 10.015625 -0.265625 10.015625 -1.0625 C 10.015625 -1.6875 10.28125 -2.421875 10.4375 -2.78125 C 10.921875 -4.140625 11.96875 -6.90625 11.96875 -8.328125 C 11.96875 -9.8125 11.109375 -10.921875 9.21875 -10.921875 C 7.015625 -10.921875 5.84375 -9.375 5.40625 -8.75 C 5.328125 -10.15625 4.3125 -10.921875 3.21875 -10.921875 C 2.421875 -10.921875 1.890625 -10.453125 1.46875 -9.609375 C 1.015625 -8.71875 0.671875 -7.234375 0.671875 -7.140625 C 0.671875 -7.03125 0.765625 -6.90625 0.9375 -6.90625 C 1.140625 -6.90625 1.171875 -6.9375 1.3125 -7.515625 C 1.703125 -9.015625 2.15625 -10.4375 3.140625 -10.4375 C 3.71875 -10.4375 3.921875 -10.03125 3.921875 -9.296875 C 3.921875 -8.75 3.671875 -7.78125 3.5 -7.015625 L 2.796875 -4.34375 C 2.703125 -3.859375 2.421875 -2.75 2.296875 -2.296875 C 2.125 -1.65625 1.859375 -0.5 1.859375 -0.375 C 1.859375 -0.03125 2.125 0.25 2.5 0.25 C 2.796875 0.25 3.140625 0.09375 3.34375 -0.265625 C 3.390625 -0.390625 3.625 -1.265625 3.734375 -1.765625 L 4.28125 -3.984375 Z M 5.109375 -7.265625 "/> +</g> +<g id="glyph-7-4"> +<path d="M 6.96875 -16.578125 C 6.984375 -16.671875 7.03125 -16.828125 7.03125 -16.953125 C 7.03125 -17.203125 6.796875 -17.203125 6.734375 -17.203125 C 6.71875 -17.203125 5.828125 -17.125 5.375 -17.078125 C 4.953125 -17.046875 4.578125 -17 4.140625 -16.96875 C 3.546875 -16.921875 3.375 -16.90625 3.375 -16.453125 C 3.375 -16.203125 3.625 -16.203125 3.859375 -16.203125 C 5.125 -16.203125 5.125 -15.984375 5.125 -15.734375 C 5.125 -15.640625 5.125 -15.59375 5 -15.140625 L 1.46875 -0.96875 C 1.359375 -0.59375 1.359375 -0.546875 1.359375 -0.390625 C 1.359375 0.15625 1.78125 0.25 2.03125 0.25 C 2.71875 0.25 2.875 -0.296875 3.078125 -1.0625 L 4.234375 -5.703125 C 6.015625 -5.5 7.09375 -4.765625 7.09375 -3.5625 C 7.09375 -3.421875 7.09375 -3.328125 7.015625 -2.953125 C 6.90625 -2.578125 6.90625 -2.28125 6.90625 -2.15625 C 6.90625 -0.71875 7.859375 0.25 9.125 0.25 C 10.265625 0.25 10.859375 -0.796875 11.046875 -1.140625 C 11.578125 -2.0625 11.890625 -3.4375 11.890625 -3.546875 C 11.890625 -3.671875 11.796875 -3.765625 11.640625 -3.765625 C 11.421875 -3.765625 11.40625 -3.671875 11.296875 -3.265625 C 10.953125 -1.984375 10.4375 -0.25 9.171875 -0.25 C 8.671875 -0.25 8.34375 -0.5 8.34375 -1.4375 C 8.34375 -1.90625 8.453125 -2.453125 8.546875 -2.828125 C 8.65625 -3.265625 8.65625 -3.296875 8.65625 -3.59375 C 8.65625 -5.0625 7.328125 -5.875 5.0625 -6.171875 C 5.953125 -6.71875 6.84375 -7.6875 7.1875 -8.046875 C 8.59375 -9.640625 9.5625 -10.4375 10.703125 -10.4375 C 11.28125 -10.4375 11.421875 -10.28125 11.59375 -10.140625 C 10.6875 -10.03125 10.328125 -9.390625 10.328125 -8.890625 C 10.328125 -8.296875 10.796875 -8.109375 11.15625 -8.109375 C 11.828125 -8.109375 12.421875 -8.671875 12.421875 -9.46875 C 12.421875 -10.1875 11.84375 -10.921875 10.734375 -10.921875 C 9.375 -10.921875 8.25 -9.96875 6.5 -7.984375 C 6.25 -7.6875 5.328125 -6.734375 4.40625 -6.390625 Z M 6.96875 -16.578125 "/> +</g> +<g id="glyph-8-0"> +<path d="M 12.484375 11.21875 C 12.484375 9.1875 13.03125 4.453125 17.453125 1.34375 C 17.765625 1.09375 17.796875 1.0625 17.796875 0.625 C 17.796875 0.046875 17.765625 0.03125 17.15625 0.03125 L 16.75 0.03125 C 11.421875 2.90625 9.515625 7.578125 9.515625 11.21875 L 9.515625 21.875 C 9.515625 22.53125 9.546875 22.546875 10.203125 22.546875 L 11.796875 22.546875 C 12.46875 22.546875 12.484375 22.53125 12.484375 21.875 Z M 12.484375 11.21875 "/> +</g> +<g id="glyph-8-1"> +<path d="M 9.515625 44.1875 C 9.515625 44.828125 9.546875 44.859375 10.203125 44.859375 L 11.796875 44.859375 C 12.46875 44.859375 12.484375 44.828125 12.484375 44.1875 L 12.484375 33.734375 C 12.484375 30.734375 11.21875 25.671875 5.671875 22.296875 C 11.28125 18.90625 12.484375 13.796875 12.484375 10.875 L 12.484375 0.421875 C 12.484375 -0.21875 12.46875 -0.25 11.796875 -0.25 L 10.203125 -0.25 C 9.546875 -0.25 9.515625 -0.21875 9.515625 0.421875 L 9.515625 10.90625 C 9.515625 12.984375 9.0625 18.140625 4.515625 21.609375 C 4.234375 21.828125 4.21875 21.859375 4.21875 22.296875 C 4.21875 22.75 4.234375 22.78125 4.515625 23 C 5.15625 23.5 6.859375 24.8125 8.046875 27.3125 C 9.015625 29.296875 9.515625 31.5 9.515625 33.703125 Z M 9.515625 44.1875 "/> +</g> +<g id="glyph-8-2"> +<path d="M 17.15625 22.28125 C 17.765625 22.28125 17.796875 22.25 17.796875 21.6875 C 17.796875 21.234375 17.765625 21.21875 17.671875 21.140625 C 16.90625 20.5625 15.109375 19.296875 13.953125 17.03125 C 12.984375 15.140625 12.484375 13.234375 12.484375 11.078125 L 12.484375 0.421875 C 12.484375 -0.21875 12.46875 -0.25 11.796875 -0.25 L 10.203125 -0.25 C 9.546875 -0.25 9.515625 -0.21875 9.515625 0.421875 L 9.515625 11.078125 C 9.515625 14.75 11.421875 19.421875 16.75 22.28125 Z M 17.15625 22.28125 "/> +</g> +<g id="glyph-8-3"> +<path d="M 5.59375 43.59375 L 11.21875 43.59375 L 11.21875 42.421875 L 6.765625 42.421875 L 6.765625 0.171875 L 11.21875 0.171875 L 11.21875 -0.984375 L 5.59375 -0.984375 Z M 5.59375 43.59375 "/> +</g> +<g id="glyph-8-4"> +<path d="M 10.3125 21.28125 C 10.3125 14.171875 8.65625 6.609375 3.765625 1.046875 C 3.421875 0.640625 2.5 -0.328125 1.90625 -0.84375 C 1.734375 -0.984375 1.6875 -0.984375 1.359375 -0.984375 C 1.109375 -0.984375 0.890625 -0.984375 0.890625 -0.75 C 0.890625 -0.640625 0.984375 -0.546875 1.046875 -0.5 C 1.890625 0.375 3.21875 1.734375 4.765625 4.453125 C 7.4375 9.21875 8.421875 15.34375 8.421875 21.28125 C 8.421875 32.046875 5.453125 38.609375 0.984375 43.140625 C 0.9375 43.1875 0.890625 43.265625 0.890625 43.34375 C 0.890625 43.59375 1.109375 43.59375 1.359375 43.59375 C 1.6875 43.59375 1.734375 43.59375 1.953125 43.390625 C 4.3125 41.359375 6.96875 37.921875 8.671875 32.6875 C 9.765625 29.296875 10.3125 25.28125 10.3125 21.28125 Z M 10.3125 21.28125 "/> +</g> +</g> +<clipPath id="clip-0"> +<path clip-rule="nonzero" d="M 0 0 L 640.871094 0 L 640.871094 134.589844 L 0 134.589844 Z M 0 0 "/> +</clipPath> +</defs> +<g clip-path="url(#clip-0)"> +<path fill-rule="nonzero" fill="rgb(96.076965%, 96.076965%, 96.076965%)" fill-opacity="1" d="M 618.199219 0 L 22.671875 0 C 10.148438 0 -0.00390625 10.152344 -0.00390625 22.675781 L -0.00390625 111.914062 C -0.00390625 124.4375 10.148438 134.589844 22.671875 134.589844 L 618.199219 134.589844 C 630.722656 134.589844 640.875 124.4375 640.875 111.914062 L 640.875 22.675781 C 640.875 10.152344 630.722656 0 618.199219 0 Z M 618.199219 0 "/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-0-0" x="22.677" y="73.491"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-0" x="46.667" y="64.496"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="65.563" y="56.967"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-3-0" x="71.66" y="56.967"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-1" x="81.005" y="56.967"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-0" x="43.015" y="82.008"/> +<use xlink:href="#glyph-4-1" x="49.916275" y="82.008"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-0" x="55.537" y="82.008"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-0" x="88.098" y="73.491"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-0" x="96.875" y="73.491"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-1" x="110.689" y="73.491"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-2" x="126.356926" y="73.491"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-8-0" x="151.08" y="22.678"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-8-1" x="151.08" y="44.986"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-8-2" x="151.08" y="89.603"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-3" x="173.113" y="55.888"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-1" x="184.481" y="55.888"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-0" x="213.952862" y="55.888"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-0-1" x="234.657" y="55.888"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-8-3" x="258.067" y="28.374"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-0" x="269.772" y="55.888"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-1" x="283.585" y="42.202"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-2" x="290.902" y="42.202"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-2" x="302.118" y="42.202"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-0" x="283.585" y="64.862"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-1" x="309.934" y="55.888"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-0" x="320.815537" y="55.888"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-1" x="334.62" y="42.202"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-2" x="341.937" y="42.202"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-2" x="353.153" y="42.202"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-0" x="334.62" y="64.862"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-3" x="341.522" y="64.862"/> +<use xlink:href="#glyph-5-4" x="356.394867" y="64.862"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-8-4" x="366.37" y="28.374"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-0-2" x="390.813" y="55.888"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-0" x="416.977" y="55.888"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-2" x="425.755" y="55.888"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-2" x="440.92" y="55.888"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-3" x="465.648" y="55.888"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-0-3" x="485.644" y="55.888"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-4" x="510.431" y="55.888"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-0-4" x="529.394" y="55.888"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-0" x="551.427" y="55.888"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-2" x="572.126" y="55.888"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-3" x="596.858568" y="55.888"/> +<use xlink:href="#glyph-6-1" x="608.225932" y="55.888"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-4" x="173.113" y="97.106"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-1" x="184.481" y="97.106"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-5" x="213.958" y="97.106"/> +<use xlink:href="#glyph-6-6" x="224.031477" y="97.106"/> +<use xlink:href="#glyph-6-7" x="230.218338" y="97.106"/> +<use xlink:href="#glyph-6-5" x="239.126821" y="97.106"/> +</g> +</svg> diff --git a/doc-images/equations/basis-function-zero.tex b/doc-images/equations/basis-function-zero.tex new file mode 100644 index 0000000..bde9539 --- /dev/null +++ b/doc-images/equations/basis-function-zero.tex @@ -0,0 +1,11 @@ +\input{_preamble} +\begin{document} + \myeqs{ + \mathcal{N}_{i,0}^{\boldsymbol{U}^{(k)}}(u) + = + \begin{cases} + 1, & u\in\left[u_i^{(k)},u_{i+1}^{(k)}\right)\,\lor\, (i=n-k \land u=1)\\ + 0, & \text{else} + \end{cases} + } +\end{document} diff --git a/doc-images/equations/basis-function.svg b/doc-images/equations/basis-function.svg new file mode 100644 index 0000000..04fdac5 --- /dev/null +++ b/doc-images/equations/basis-function.svg @@ -0,0 +1,309 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="878.904" height="136.241" viewBox="0 0 878.904 136.241"> +<defs> +<g> +<g id="glyph-0-0"> +<path d="M 7.578125 -14.21875 C 8.03125 -12.9375 8.578125 -11.078125 9.6875 -8.03125 C 11.25 -3.8125 11.9375 -2.28125 13.453125 0.078125 C 13.796875 0.59375 13.828125 0.625 14.046875 0.625 C 14.390625 0.625 14.921875 0.328125 15.1875 0.125 C 15.53125 -0.203125 15.5625 -0.21875 15.828125 -1.4375 C 17.328125 -7.953125 19.203125 -14.75 19.703125 -15.890625 C 19.71875 -15.9375 20.21875 -16.875 23.265625 -16.921875 C 23.765625 -16.953125 24.234375 -18.265625 24.234375 -18.8125 C 24.234375 -19.203125 24.09375 -19.203125 23.734375 -19.203125 C 21.265625 -19.203125 20.140625 -18.171875 19.84375 -17.84375 C 19.15625 -16.953125 18.5625 -15.140625 17.421875 -11 C 16.546875 -7.828125 15.765625 -4.609375 15 -1.40625 C 13.625 -3.46875 12.859375 -5.421875 11.671875 -8.625 C 10.359375 -12.140625 9.5625 -14.71875 8.890625 -16.953125 C 8.75 -17.453125 8.71875 -17.46875 8.5 -17.46875 C 8.453125 -17.46875 7.953125 -17.46875 7.234375 -16.875 C 6.984375 -16.65625 6.96875 -16.4375 6.9375 -16.15625 C 6.25 -9.5625 3.921875 -3.046875 3.25 -1.859375 C 3.046875 -1.484375 2.75 -1.046875 2.25 -1.046875 C 2 -1.046875 1.046875 -1.171875 0.390625 -1.765625 C 0.265625 -1.859375 0.21875 -1.859375 0.203125 -1.859375 C -0.203125 -1.859375 -0.71875 -0.625 -0.71875 -0.03125 C -0.71875 0.75 0.796875 1.234375 1.484375 1.234375 C 3.078125 1.234375 4.34375 -2.25 4.734375 -3.390625 C 6.34375 -7.875 7.109375 -11.578125 7.578125 -14.21875 Z M 7.578125 -14.21875 "/> +</g> +<g id="glyph-0-1"> +<path d="M 16.328125 -5.703125 C 16.75 -5.703125 17.203125 -5.703125 17.203125 -6.1875 C 17.203125 -6.6875 16.75 -6.6875 16.328125 -6.6875 L 2.921875 -6.6875 C 2.5 -6.6875 2.0625 -6.6875 2.0625 -6.1875 C 2.0625 -5.703125 2.5 -5.703125 2.921875 -5.703125 Z M 16.328125 -5.703125 "/> +</g> +<g id="glyph-1-0"> +<path d="M 15.59375 -12.5625 C 15.703125 -12.953125 15.703125 -12.96875 16.1875 -13.09375 C 16.546875 -13.15625 17.0625 -13.203125 17.390625 -13.203125 C 17.78125 -13.203125 18.109375 -13.203125 18.109375 -13.796875 C 18.109375 -14.03125 17.953125 -14.171875 17.703125 -14.171875 C 16.953125 -14.171875 16.171875 -14.109375 15.40625 -14.109375 C 14.890625 -14.109375 13.578125 -14.171875 13.0625 -14.171875 C 12.90625 -14.171875 12.5 -14.171875 12.5 -13.578125 C 12.5 -13.203125 12.84375 -13.203125 13.140625 -13.203125 C 13.328125 -13.203125 14.09375 -13.203125 14.578125 -13 L 12.53125 -4.859375 C 11.796875 -1.859375 9.359375 -0.625 6.875 -0.625 C 4.9375 -0.625 4.03125 -1.421875 4.03125 -2.90625 C 4.03125 -3.421875 4.109375 -3.953125 4.234375 -4.46875 L 6.40625 -13.109375 C 6.859375 -13.203125 7.578125 -13.203125 7.8125 -13.203125 C 8.53125 -13.203125 8.796875 -13.203125 8.796875 -13.796875 C 8.796875 -14.0625 8.578125 -14.171875 8.34375 -14.171875 C 7.828125 -14.171875 7.296875 -14.125 6.78125 -14.125 C 6.265625 -14.125 5.75 -14.109375 5.21875 -14.109375 C 4.6875 -14.109375 4.15625 -14.125 3.640625 -14.125 C 3.09375 -14.125 2.546875 -14.171875 2 -14.171875 C 1.796875 -14.171875 1.40625 -14.171875 1.40625 -13.578125 C 1.40625 -13.203125 1.671875 -13.203125 2.359375 -13.203125 C 2.84375 -13.203125 3.515625 -13.203125 3.515625 -13.09375 C 3.515625 -13.0625 3.3125 -12.296875 3.203125 -11.890625 L 2.75 -10.078125 L 1.484375 -4.984375 C 1.296875 -4.234375 1.296875 -4.0625 1.296875 -3.671875 C 1.296875 -0.96875 3.609375 0.34375 6.734375 0.34375 C 10.4375 0.34375 12.90625 -1.84375 13.609375 -4.671875 Z M 15.59375 -12.5625 "/> +</g> +<g id="glyph-2-0"> +<path d="M 5.265625 4.203125 C 5.265625 4.1875 5.265625 4.15625 5.21875 4.09375 C 4.421875 3.28125 2.3125 1.078125 2.3125 -4.28125 C 2.3125 -9.65625 4.390625 -11.84375 5.234375 -12.703125 C 5.234375 -12.71875 5.265625 -12.765625 5.265625 -12.8125 C 5.265625 -12.859375 5.21875 -12.890625 5.140625 -12.890625 C 4.953125 -12.890625 3.5 -11.625 2.65625 -9.734375 C 1.796875 -7.8125 1.546875 -5.953125 1.546875 -4.3125 C 1.546875 -3.0625 1.671875 -0.96875 2.703125 1.25 C 3.53125 3.046875 4.9375 4.3125 5.140625 4.3125 C 5.234375 4.3125 5.265625 4.265625 5.265625 4.203125 Z M 5.265625 4.203125 "/> +</g> +<g id="glyph-2-1"> +<path d="M 4.53125 -4.28125 C 4.53125 -5.53125 4.40625 -7.625 3.375 -9.84375 C 2.546875 -11.640625 1.140625 -12.890625 0.9375 -12.890625 C 0.875 -12.890625 0.8125 -12.875 0.8125 -12.796875 C 0.8125 -12.765625 0.828125 -12.734375 0.84375 -12.703125 C 1.671875 -11.84375 3.765625 -9.65625 3.765625 -4.3125 C 3.765625 1.0625 1.6875 3.25 0.84375 4.109375 C 0.828125 4.15625 0.8125 4.171875 0.8125 4.203125 C 0.8125 4.28125 0.875 4.3125 0.9375 4.3125 C 1.125 4.3125 2.578125 3.03125 3.421875 1.140625 C 4.28125 -0.78125 4.53125 -2.640625 4.53125 -4.28125 Z M 4.53125 -4.28125 "/> +</g> +<g id="glyph-3-0"> +<path d="M 4.84375 -11.515625 C 4.859375 -11.59375 4.890625 -11.6875 4.890625 -11.78125 C 4.890625 -11.953125 4.71875 -11.953125 4.6875 -11.953125 C 4.671875 -11.953125 4.046875 -11.890625 3.734375 -11.859375 C 3.4375 -11.84375 3.1875 -11.8125 2.875 -11.796875 C 2.46875 -11.765625 2.34375 -11.75 2.34375 -11.4375 C 2.34375 -11.265625 2.515625 -11.265625 2.6875 -11.265625 C 3.5625 -11.265625 3.5625 -11.109375 3.5625 -10.9375 C 3.5625 -10.859375 3.5625 -10.828125 3.484375 -10.515625 L 1.015625 -0.671875 C 0.953125 -0.40625 0.953125 -0.375 0.953125 -0.28125 C 0.953125 0.109375 1.234375 0.171875 1.40625 0.171875 C 1.890625 0.171875 2 -0.203125 2.140625 -0.734375 L 2.9375 -3.953125 C 4.1875 -3.828125 4.921875 -3.3125 4.921875 -2.484375 C 4.921875 -2.375 4.921875 -2.3125 4.875 -2.046875 C 4.796875 -1.796875 4.796875 -1.578125 4.796875 -1.5 C 4.796875 -0.5 5.453125 0.171875 6.34375 0.171875 C 7.125 0.171875 7.546875 -0.546875 7.671875 -0.796875 C 8.046875 -1.421875 8.265625 -2.390625 8.265625 -2.46875 C 8.265625 -2.546875 8.203125 -2.625 8.09375 -2.625 C 7.9375 -2.625 7.921875 -2.546875 7.859375 -2.265625 C 7.609375 -1.375 7.25 -0.171875 6.375 -0.171875 C 6.03125 -0.171875 5.796875 -0.34375 5.796875 -1 C 5.796875 -1.328125 5.875 -1.703125 5.9375 -1.96875 C 6.015625 -2.265625 6.015625 -2.296875 6.015625 -2.5 C 6.015625 -3.515625 5.09375 -4.078125 3.515625 -4.28125 C 4.125 -4.671875 4.75 -5.34375 5 -5.59375 C 5.96875 -6.703125 6.640625 -7.25 7.4375 -7.25 C 7.828125 -7.25 7.9375 -7.140625 8.0625 -7.046875 C 7.421875 -6.96875 7.1875 -6.53125 7.1875 -6.1875 C 7.1875 -5.765625 7.5 -5.625 7.75 -5.625 C 8.21875 -5.625 8.625 -6.03125 8.625 -6.578125 C 8.625 -7.078125 8.234375 -7.59375 7.453125 -7.59375 C 6.515625 -7.59375 5.734375 -6.921875 4.515625 -5.546875 C 4.34375 -5.34375 3.703125 -4.6875 3.0625 -4.4375 Z M 4.84375 -11.515625 "/> +</g> +<g id="glyph-4-0"> +<path d="M 5.84375 -2.953125 C 5.84375 -3.0625 5.765625 -3.140625 5.640625 -3.140625 C 5.453125 -3.140625 5.4375 -3.078125 5.328125 -2.734375 C 4.796875 -0.84375 3.953125 -0.203125 3.265625 -0.203125 C 3.015625 -0.203125 2.734375 -0.265625 2.734375 -0.890625 C 2.734375 -1.453125 2.96875 -2.0625 3.203125 -2.6875 L 4.640625 -6.53125 C 4.703125 -6.6875 4.859375 -7.0625 4.859375 -7.453125 C 4.859375 -8.328125 4.234375 -9.109375 3.21875 -9.109375 C 1.328125 -9.109375 0.5625 -6.109375 0.5625 -5.953125 C 0.5625 -5.859375 0.640625 -5.765625 0.78125 -5.765625 C 0.96875 -5.765625 0.984375 -5.84375 1.078125 -6.140625 C 1.5625 -7.875 2.359375 -8.703125 3.15625 -8.703125 C 3.34375 -8.703125 3.703125 -8.671875 3.703125 -8.015625 C 3.703125 -7.484375 3.421875 -6.796875 3.265625 -6.34375 L 1.8125 -2.5 C 1.6875 -2.171875 1.5625 -1.84375 1.5625 -1.46875 C 1.5625 -0.53125 2.203125 0.203125 3.203125 0.203125 C 5.109375 0.203125 5.84375 -2.8125 5.84375 -2.953125 Z M 5.6875 -12.890625 C 5.6875 -13.203125 5.4375 -13.578125 4.984375 -13.578125 C 4.5 -13.578125 3.96875 -13.109375 3.96875 -12.578125 C 3.96875 -12.0625 4.40625 -11.890625 4.640625 -11.890625 C 5.203125 -11.890625 5.6875 -12.4375 5.6875 -12.890625 Z M 5.6875 -12.890625 "/> +</g> +<g id="glyph-4-1"> +<path d="M 4.03125 0.078125 C 4.03125 -1.109375 3.640625 -2 2.78125 -2 C 2.125 -2 1.796875 -1.46875 1.796875 -1.015625 C 1.796875 -0.5625 2.109375 0 2.8125 0 C 3.078125 0 3.3125 -0.078125 3.484375 -0.265625 C 3.53125 -0.3125 3.546875 -0.3125 3.578125 -0.3125 C 3.609375 -0.3125 3.609375 -0.015625 3.609375 0.078125 C 3.609375 0.765625 3.484375 2.109375 2.296875 3.453125 C 2.0625 3.703125 2.0625 3.734375 2.0625 3.78125 C 2.0625 3.890625 2.171875 3.984375 2.265625 3.984375 C 2.4375 3.984375 4.03125 2.453125 4.03125 0.078125 Z M 4.03125 0.078125 "/> +</g> +<g id="glyph-4-2"> +<path d="M 0.890625 2.625 C 0.75 3.25 0.65625 3.40625 -0.1875 3.40625 C -0.4375 3.40625 -0.640625 3.40625 -0.640625 3.796875 C -0.640625 3.84375 -0.625 4 -0.390625 4 C -0.125 4 0.171875 3.96875 0.4375 3.96875 L 1.328125 3.96875 C 1.75 3.96875 2.8125 4 3.25 4 C 3.359375 4 3.609375 4 3.609375 3.640625 C 3.609375 3.40625 3.46875 3.40625 3.125 3.40625 C 2.171875 3.40625 2.109375 3.265625 2.109375 3.09375 C 2.109375 2.84375 3.03125 -0.703125 3.15625 -1.171875 C 3.390625 -0.59375 3.953125 0.203125 5.015625 0.203125 C 7.359375 0.203125 9.875 -2.828125 9.875 -5.859375 C 9.875 -7.765625 8.796875 -9.109375 7.25 -9.109375 C 5.921875 -9.109375 4.8125 -7.828125 4.578125 -7.546875 C 4.421875 -8.578125 3.609375 -9.109375 2.78125 -9.109375 C 2.1875 -9.109375 1.71875 -8.8125 1.328125 -8.03125 C 0.953125 -7.296875 0.65625 -6.03125 0.65625 -5.953125 C 0.65625 -5.859375 0.75 -5.765625 0.890625 -5.765625 C 1.046875 -5.765625 1.078125 -5.78125 1.203125 -6.265625 C 1.515625 -7.484375 1.90625 -8.703125 2.734375 -8.703125 C 3.203125 -8.703125 3.359375 -8.359375 3.359375 -7.75 C 3.359375 -7.25 3.3125 -7.046875 3.21875 -6.671875 Z M 4.46875 -6.4375 C 4.609375 -7.015625 5.1875 -7.625 5.515625 -7.90625 C 5.75 -8.125 6.421875 -8.703125 7.203125 -8.703125 C 8.125 -8.703125 8.53125 -7.78125 8.53125 -6.71875 C 8.53125 -5.71875 7.953125 -3.390625 7.4375 -2.3125 C 6.921875 -1.203125 5.96875 -0.203125 5.015625 -0.203125 C 3.609375 -0.203125 3.390625 -1.984375 3.390625 -2.0625 C 3.390625 -2.125 3.421875 -2.296875 3.453125 -2.390625 Z M 4.46875 -6.4375 "/> +</g> +<g id="glyph-4-3"> +<path d="M 5.796875 -13.8125 C 5.828125 -13.90625 5.859375 -14.03125 5.859375 -14.125 C 5.859375 -14.328125 5.65625 -14.328125 5.625 -14.328125 C 5.59375 -14.328125 4.859375 -14.28125 4.484375 -14.234375 C 4.125 -14.21875 3.828125 -14.171875 3.453125 -14.15625 C 2.953125 -14.109375 2.8125 -14.09375 2.8125 -13.71875 C 2.8125 -13.515625 3.015625 -13.515625 3.21875 -13.515625 C 4.28125 -13.515625 4.28125 -13.328125 4.28125 -13.109375 C 4.28125 -13.03125 4.28125 -13 4.171875 -12.625 L 1.21875 -0.8125 C 1.140625 -0.5 1.140625 -0.453125 1.140625 -0.328125 C 1.140625 0.125 1.484375 0.203125 1.6875 0.203125 C 2.265625 0.203125 2.390625 -0.25 2.5625 -0.890625 L 3.53125 -4.75 C 5.015625 -4.578125 5.90625 -3.96875 5.90625 -2.96875 C 5.90625 -2.84375 5.90625 -2.765625 5.84375 -2.453125 C 5.765625 -2.140625 5.765625 -1.90625 5.765625 -1.796875 C 5.765625 -0.59375 6.546875 0.203125 7.59375 0.203125 C 8.546875 0.203125 9.046875 -0.65625 9.21875 -0.953125 C 9.640625 -1.71875 9.921875 -2.875 9.921875 -2.953125 C 9.921875 -3.0625 9.828125 -3.140625 9.703125 -3.140625 C 9.515625 -3.140625 9.5 -3.0625 9.421875 -2.734375 C 9.125 -1.65625 8.703125 -0.203125 7.640625 -0.203125 C 7.234375 -0.203125 6.96875 -0.40625 6.96875 -1.203125 C 6.96875 -1.59375 7.046875 -2.046875 7.125 -2.359375 C 7.203125 -2.734375 7.203125 -2.75 7.203125 -3 C 7.203125 -4.21875 6.109375 -4.890625 4.21875 -5.140625 C 4.953125 -5.59375 5.703125 -6.40625 5.984375 -6.71875 C 7.171875 -8.03125 7.96875 -8.703125 8.921875 -8.703125 C 9.40625 -8.703125 9.515625 -8.578125 9.671875 -8.453125 C 8.90625 -8.359375 8.609375 -7.828125 8.609375 -7.421875 C 8.609375 -6.921875 9 -6.75 9.296875 -6.75 C 9.859375 -6.75 10.34375 -7.234375 10.34375 -7.890625 C 10.34375 -8.484375 9.875 -9.109375 8.9375 -9.109375 C 7.8125 -9.109375 6.875 -8.296875 5.40625 -6.65625 C 5.203125 -6.40625 4.4375 -5.625 3.671875 -5.328125 Z M 5.796875 -13.8125 "/> +</g> +<g id="glyph-5-0"> +<path d="M 13.609375 -4.75 C 13.96875 -4.75 14.328125 -4.75 14.328125 -5.171875 C 14.328125 -5.578125 13.96875 -5.578125 13.609375 -5.578125 L 2.4375 -5.578125 C 2.09375 -5.578125 1.71875 -5.578125 1.71875 -5.171875 C 1.71875 -4.75 2.09375 -4.75 2.4375 -4.75 Z M 13.609375 -4.75 "/> +</g> +<g id="glyph-6-0"> +<path d="M 7.578125 6.046875 C 7.578125 6.015625 7.578125 5.96875 7.515625 5.890625 C 6.375 4.734375 3.328125 1.5625 3.328125 -6.171875 C 3.328125 -13.90625 6.3125 -17.046875 7.53125 -18.28125 C 7.53125 -18.3125 7.578125 -18.359375 7.578125 -18.4375 C 7.578125 -18.515625 7.515625 -18.5625 7.40625 -18.5625 C 7.140625 -18.5625 5.03125 -16.734375 3.8125 -14 C 2.578125 -11.25 2.234375 -8.578125 2.234375 -6.1875 C 2.234375 -4.40625 2.40625 -1.390625 3.890625 1.8125 C 5.078125 4.390625 7.109375 6.1875 7.40625 6.1875 C 7.53125 6.1875 7.578125 6.140625 7.578125 6.046875 Z M 7.578125 6.046875 "/> +</g> +<g id="glyph-6-1"> +<path d="M 6.515625 -6.171875 C 6.515625 -7.953125 6.34375 -10.984375 4.859375 -14.171875 C 3.671875 -16.75 1.640625 -18.5625 1.34375 -18.5625 C 1.265625 -18.5625 1.171875 -18.53125 1.171875 -18.40625 C 1.171875 -18.359375 1.1875 -18.34375 1.21875 -18.28125 C 2.40625 -17.046875 5.421875 -13.90625 5.421875 -6.1875 C 5.421875 1.53125 2.421875 4.6875 1.21875 5.921875 C 1.1875 5.96875 1.171875 6 1.171875 6.046875 C 1.171875 6.171875 1.265625 6.1875 1.34375 6.1875 C 1.609375 6.1875 3.71875 4.359375 4.9375 1.640625 C 6.171875 -1.109375 6.515625 -3.796875 6.515625 -6.171875 Z M 6.515625 -6.171875 "/> +</g> +<g id="glyph-6-2"> +<path d="M 15.9375 -7.953125 C 16.3125 -7.953125 16.671875 -7.953125 16.671875 -8.375 C 16.671875 -8.828125 16.25 -8.828125 15.828125 -8.828125 L 1.984375 -8.828125 C 1.5625 -8.828125 1.140625 -8.828125 1.140625 -8.375 C 1.140625 -7.953125 1.515625 -7.953125 1.890625 -7.953125 Z M 15.828125 -3.546875 C 16.25 -3.546875 16.671875 -3.546875 16.671875 -3.984375 C 16.671875 -4.40625 16.3125 -4.40625 15.9375 -4.40625 L 1.890625 -4.40625 C 1.515625 -4.40625 1.140625 -4.40625 1.140625 -3.984375 C 1.140625 -3.546875 1.5625 -3.546875 1.984375 -3.546875 Z M 15.828125 -3.546875 "/> +</g> +<g id="glyph-6-3"> +<path d="M 9.34375 -5.75 L 15.90625 -5.75 C 16.25 -5.75 16.671875 -5.75 16.671875 -6.171875 C 16.671875 -6.609375 16.28125 -6.609375 15.90625 -6.609375 L 9.34375 -6.609375 L 9.34375 -13.1875 C 9.34375 -13.53125 9.34375 -13.953125 8.921875 -13.953125 C 8.46875 -13.953125 8.46875 -13.5625 8.46875 -13.1875 L 8.46875 -6.609375 L 1.90625 -6.609375 C 1.5625 -6.609375 1.140625 -6.609375 1.140625 -6.1875 C 1.140625 -5.75 1.53125 -5.75 1.90625 -5.75 L 8.46875 -5.75 L 8.46875 0.8125 C 8.46875 1.171875 8.46875 1.59375 8.890625 1.59375 C 9.34375 1.59375 9.34375 1.1875 9.34375 0.8125 Z M 9.34375 -5.75 "/> +</g> +<g id="glyph-6-4"> +<path d="M 6.59375 -15.828125 C 6.59375 -16.359375 6.5625 -16.375 6.21875 -16.375 C 5.25 -15.21875 3.796875 -14.84375 2.40625 -14.796875 C 2.328125 -14.796875 2.203125 -14.796875 2.1875 -14.75 C 2.15625 -14.6875 2.15625 -14.640625 2.15625 -14.125 C 2.921875 -14.125 4.21875 -14.28125 5.203125 -14.875 L 5.203125 -1.8125 C 5.203125 -0.9375 5.15625 -0.640625 3.015625 -0.640625 L 2.28125 -0.640625 L 2.28125 0 C 3.46875 -0.03125 4.703125 -0.046875 5.890625 -0.046875 C 7.09375 -0.046875 8.328125 -0.03125 9.515625 0 L 9.515625 -0.640625 L 8.765625 -0.640625 C 6.640625 -0.640625 6.59375 -0.921875 6.59375 -1.8125 Z M 6.59375 -15.828125 "/> +</g> +<g id="glyph-7-0"> +<path d="M 8.453125 -1.4375 C 8.765625 -0.046875 9.96875 0.25 10.5625 0.25 C 11.34375 0.25 11.9375 -0.265625 12.34375 -1.109375 C 12.765625 -2 13.078125 -3.46875 13.078125 -3.546875 C 13.078125 -3.671875 12.984375 -3.765625 12.84375 -3.765625 C 12.609375 -3.765625 12.59375 -3.640625 12.484375 -3.265625 C 12.046875 -1.5625 11.59375 -0.25 10.609375 -0.25 C 9.859375 -0.25 9.859375 -1.0625 9.859375 -1.390625 C 9.859375 -1.953125 9.9375 -2.203125 10.1875 -3.25 C 10.359375 -3.921875 10.53125 -4.578125 10.6875 -5.28125 L 11.703125 -9.3125 C 11.875 -9.9375 11.875 -9.984375 11.875 -10.0625 C 11.875 -10.4375 11.578125 -10.6875 11.203125 -10.6875 C 10.484375 -10.6875 10.3125 -10.0625 10.15625 -9.4375 C 9.90625 -8.46875 8.578125 -3.140625 8.40625 -2.28125 C 8.375 -2.28125 7.40625 -0.25 5.59375 -0.25 C 4.3125 -0.25 4.0625 -1.359375 4.0625 -2.28125 C 4.0625 -3.6875 4.765625 -5.671875 5.40625 -7.328125 C 5.703125 -8.125 5.828125 -8.453125 5.828125 -8.953125 C 5.828125 -10.015625 5.0625 -10.921875 3.859375 -10.921875 C 1.59375 -10.921875 0.671875 -7.328125 0.671875 -7.140625 C 0.671875 -7.03125 0.765625 -6.90625 0.9375 -6.90625 C 1.171875 -6.90625 1.1875 -7.015625 1.28125 -7.359375 C 1.890625 -9.484375 2.84375 -10.4375 3.796875 -10.4375 C 4.046875 -10.4375 4.4375 -10.40625 4.4375 -9.609375 C 4.4375 -8.96875 4.15625 -8.25 3.796875 -7.3125 C 2.703125 -4.359375 2.578125 -3.421875 2.578125 -2.671875 C 2.578125 -0.15625 4.484375 0.25 5.5 0.25 C 7.09375 0.25 7.953125 -0.84375 8.453125 -1.4375 Z M 8.453125 -1.4375 "/> +</g> +<g id="glyph-7-1"> +<path d="M 3.5625 -0.546875 C 4.1875 0.03125 5.109375 0.25 5.953125 0.25 C 7.53125 0.25 8.625 -0.8125 9.1875 -1.59375 C 9.4375 -0.265625 10.484375 0.25 11.34375 0.25 C 12.09375 0.25 12.6875 -0.203125 13.140625 -1.09375 C 13.53125 -1.9375 13.875 -3.4375 13.875 -3.546875 C 13.875 -3.671875 13.78125 -3.765625 13.625 -3.765625 C 13.40625 -3.765625 13.375 -3.640625 13.28125 -3.265625 C 12.90625 -1.8125 12.4375 -0.25 11.421875 -0.25 C 10.703125 -0.25 10.65625 -0.890625 10.65625 -1.390625 C 10.65625 -1.953125 10.875 -2.84375 11.046875 -3.59375 L 11.75 -6.265625 C 11.84375 -6.734375 12.125 -7.859375 12.234375 -8.296875 C 12.390625 -8.890625 12.65625 -9.96875 12.65625 -10.0625 C 12.65625 -10.4375 12.359375 -10.6875 12 -10.6875 C 11.765625 -10.6875 11.25 -10.578125 11.046875 -9.84375 L 9.3125 -2.953125 C 9.1875 -2.453125 9.1875 -2.40625 8.875 -2 C 8.578125 -1.59375 7.609375 -0.25 6.046875 -0.25 C 4.65625 -0.25 4.21875 -1.265625 4.21875 -2.421875 C 4.21875 -3.140625 4.4375 -4.015625 4.53125 -4.4375 L 5.65625 -8.890625 C 5.78125 -9.375 5.96875 -10.15625 5.96875 -10.3125 C 5.96875 -10.703125 5.65625 -10.921875 5.328125 -10.921875 C 5.109375 -10.921875 4.5625 -10.859375 4.359375 -10.0625 L 0.765625 4.28125 C 0.75 4.40625 0.6875 4.5625 0.6875 4.703125 C 0.6875 5.078125 0.984375 5.328125 1.359375 5.328125 C 2.078125 5.328125 2.234375 4.765625 2.40625 4.0625 Z M 3.5625 -0.546875 "/> +</g> +<g id="glyph-8-0"> +<path d="M 6.328125 5.046875 C 6.328125 5.015625 6.328125 4.984375 6.265625 4.921875 C 5.3125 3.953125 2.765625 1.296875 2.765625 -5.140625 C 2.765625 -11.59375 5.265625 -14.21875 6.28125 -15.25 C 6.28125 -15.265625 6.328125 -15.3125 6.328125 -15.375 C 6.328125 -15.4375 6.265625 -15.46875 6.171875 -15.46875 C 5.953125 -15.46875 4.1875 -13.9375 3.1875 -11.671875 C 2.140625 -9.375 1.859375 -7.140625 1.859375 -5.171875 C 1.859375 -3.671875 2 -1.15625 3.25 1.515625 C 4.234375 3.65625 5.921875 5.171875 6.171875 5.171875 C 6.28125 5.171875 6.328125 5.125 6.328125 5.046875 Z M 6.328125 5.046875 "/> +</g> +<g id="glyph-8-1"> +<path d="M 5.4375 -5.140625 C 5.4375 -6.625 5.28125 -9.15625 4.046875 -11.8125 C 3.0625 -13.96875 1.359375 -15.46875 1.109375 -15.46875 C 1.046875 -15.46875 0.96875 -15.453125 0.96875 -15.34375 C 0.96875 -15.3125 0.984375 -15.28125 1.015625 -15.25 C 2 -14.21875 4.53125 -11.59375 4.53125 -5.171875 C 4.53125 1.28125 2.03125 3.90625 1.015625 4.9375 C 0.984375 4.984375 0.96875 5 0.96875 5.046875 C 0.96875 5.140625 1.046875 5.171875 1.109375 5.171875 C 1.34375 5.171875 3.09375 3.640625 4.109375 1.359375 C 5.140625 -0.921875 5.4375 -3.15625 5.4375 -5.140625 Z M 5.4375 -5.140625 "/> +</g> +<g id="glyph-8-2"> +<path d="M 5.5 -13.203125 C 5.5 -13.640625 5.46875 -13.65625 5.1875 -13.65625 C 4.375 -12.6875 3.15625 -12.375 2 -12.328125 C 1.9375 -12.328125 1.84375 -12.328125 1.8125 -12.296875 C 1.796875 -12.25 1.796875 -12.203125 1.796875 -11.78125 C 2.4375 -11.78125 3.515625 -11.890625 4.34375 -12.390625 L 4.34375 -1.515625 C 4.34375 -0.78125 4.296875 -0.53125 2.515625 -0.53125 L 1.90625 -0.53125 L 1.90625 0 C 2.890625 -0.015625 3.921875 -0.046875 4.921875 -0.046875 C 5.90625 -0.046875 6.9375 -0.015625 7.9375 0 L 7.9375 -0.53125 L 7.3125 -0.53125 C 5.53125 -0.53125 5.5 -0.765625 5.5 -1.515625 Z M 5.5 -13.203125 "/> +</g> +<g id="glyph-8-3"> +<path d="M 7.78125 -4.796875 L 13.265625 -4.796875 C 13.546875 -4.796875 13.90625 -4.796875 13.90625 -5.140625 C 13.90625 -5.515625 13.578125 -5.515625 13.265625 -5.515625 L 7.78125 -5.515625 L 7.78125 -10.984375 C 7.78125 -11.28125 7.78125 -11.625 7.4375 -11.625 C 7.0625 -11.625 7.0625 -11.296875 7.0625 -10.984375 L 7.0625 -5.515625 L 1.59375 -5.515625 C 1.296875 -5.515625 0.953125 -5.515625 0.953125 -5.171875 C 0.953125 -4.796875 1.28125 -4.796875 1.59375 -4.796875 L 7.0625 -4.796875 L 7.0625 0.6875 C 7.0625 0.96875 7.0625 1.328125 7.421875 1.328125 C 7.78125 1.328125 7.78125 0.984375 7.78125 0.6875 Z M 7.78125 -4.796875 "/> +</g> +<g id="glyph-9-0"> +<path d="M 5.59375 43.59375 L 11.21875 43.59375 L 11.21875 42.421875 L 6.765625 42.421875 L 6.765625 0.171875 L 11.21875 0.171875 L 11.21875 -0.984375 L 5.59375 -0.984375 Z M 5.59375 43.59375 "/> +</g> +<g id="glyph-9-1"> +<path d="M 4.90625 42.421875 L 0.453125 42.421875 L 0.453125 43.59375 L 6.078125 43.59375 L 6.078125 -0.984375 L 0.453125 -0.984375 L 0.453125 0.171875 L 4.90625 0.171875 Z M 4.90625 42.421875 "/> +</g> +</g> +<clipPath id="clip-0"> +<path clip-rule="nonzero" d="M 0 0 L 878.902344 0 L 878.902344 136.242188 L 0 136.242188 Z M 0 0 "/> +</clipPath> +</defs> +<g clip-path="url(#clip-0)"> +<path fill-rule="nonzero" fill="rgb(96.076965%, 96.076965%, 96.076965%)" fill-opacity="1" d="M 856.234375 0 L 22.671875 0 C 10.148438 0 -0.0078125 10.152344 -0.0078125 22.675781 L -0.0078125 113.5625 C -0.0078125 126.089844 10.148438 136.242188 22.671875 136.242188 L 856.234375 136.242188 C 868.757812 136.242188 878.910156 126.089844 878.910156 113.5625 L 878.910156 22.675781 C 878.910156 10.152344 868.757812 0 856.234375 0 Z M 856.234375 0 "/> +</g> +<path fill-rule="nonzero" fill="rgb(96.076965%, 96.076965%, 96.076965%)" fill-opacity="1" d="M 833.554688 22.675781 L 45.347656 22.675781 C 32.824219 22.675781 22.671875 32.828125 22.671875 45.351562 L 22.671875 90.886719 C 22.671875 103.410156 32.824219 113.5625 45.347656 113.5625 L 833.554688 113.5625 C 846.078125 113.5625 856.234375 103.410156 856.234375 90.886719 L 856.234375 45.351562 C 856.234375 32.828125 846.078125 22.675781 833.554688 22.675781 Z M 833.554688 22.675781 "/> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-0-0" x="45.354" y="74.775"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-0" x="69.344" y="65.78"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="88.241" y="58.25"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-3-0" x="94.337" y="58.25"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-1" x="103.682" y="58.25"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-0" x="65.692" y="84.095"/> +<use xlink:href="#glyph-4-1" x="72.593275" y="84.095"/> +<use xlink:href="#glyph-4-2" x="78.213475" y="84.095"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-0" x="88.368" y="84.095"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-3" x="104.439" y="84.095"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-0" x="116.153" y="74.775"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-0" x="124.931" y="74.775"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-1" x="138.744" y="74.775"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-2" x="154.411926" y="74.775"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-1" x="179.135" y="74.775"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-8-0" x="193.738" y="61.089"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-3" x="201.055" y="61.089"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-8-1" x="212.271" y="61.089"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-0" x="193.738" y="84.552"/> +<use xlink:href="#glyph-4-1" x="200.639275" y="84.552"/> +<use xlink:href="#glyph-4-2" x="206.259475" y="84.552"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-0" x="216.414" y="84.552"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-3" x="232.485" y="84.552"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-0" x="243.701" y="84.552"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-8-2" x="259.772" y="84.552"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-0" x="269.746" y="74.775"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-0" x="278.524" y="74.775"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-1" x="292.337" y="74.775"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-0-0" x="305.246" y="74.775"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-0" x="329.236" y="65.78"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="348.133" y="58.25"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-3-0" x="354.229" y="58.25"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-1" x="363.574" y="58.25"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-0" x="325.584" y="84.095"/> +<use xlink:href="#glyph-4-1" x="332.485275" y="84.095"/> +<use xlink:href="#glyph-4-2" x="338.105475" y="84.095"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-0" x="348.26" y="84.095"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-3" x="364.331" y="84.095"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-0" x="375.547" y="84.095"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-8-2" x="391.618" y="84.095"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-0" x="401.592" y="74.775"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-0" x="410.37" y="74.775"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-1" x="424.183" y="74.775"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-3" x="438.462848" y="74.775"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-9-0" x="461.82" y="47.261"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-4" x="473.525" y="74.775"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-0-1" x="490.401" y="74.775"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-1" x="515.188" y="74.775"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-8-0" x="529.791" y="61.089"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-3" x="537.108" y="61.089"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-8-1" x="548.324" y="61.089"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-0" x="529.791" y="84.552"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-8-3" x="536.693" y="84.552"/> +<use xlink:href="#glyph-8-2" x="551.565867" y="84.552"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-1" x="561.043" y="84.552"/> +<use xlink:href="#glyph-4-2" x="566.6632" y="84.552"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-0" x="576.817" y="84.552"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-3" x="592.888" y="84.552"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-0" x="604.104" y="84.552"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-8-2" x="620.175" y="84.552"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-0" x="630.149" y="74.775"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-0" x="638.927" y="74.775"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-1" x="652.74" y="74.775"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-9-1" x="661.518" y="47.261"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-0-0" x="681.485" y="74.775"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-0" x="705.476" y="65.78"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="724.372" y="58.25"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-3-0" x="730.468" y="58.25"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-1" x="739.813" y="58.25"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-0" x="701.823" y="84.095"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-8-3" x="708.725" y="84.095"/> +<use xlink:href="#glyph-8-2" x="723.597868" y="84.095"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-1" x="733.075" y="84.095"/> +<use xlink:href="#glyph-4-2" x="738.6952" y="84.095"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-0" x="748.849" y="84.095"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-3" x="764.92" y="84.095"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-0" x="776.136" y="84.095"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-8-2" x="792.207" y="84.095"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-0" x="802.181" y="74.775"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-0" x="810.959" y="74.775"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-1" x="824.772" y="74.775"/> +</g> +</svg> diff --git a/doc-images/equations/basis-function.tex b/doc-images/equations/basis-function.tex new file mode 100644 index 0000000..d27943a --- /dev/null +++ b/doc-images/equations/basis-function.tex @@ -0,0 +1,10 @@ +\input{_preamble} +\begin{document} + \myeqs{ + \myeqs{ + \mathcal{N}_{i,p-k}^{\boldsymbol{U}^{(k)}}(u) + = \mu_{i,p-k-1}^{(k)}(u)\, \mathcal{N}_{i,p-k-1}^{\boldsymbol{U}^{(k)}}(u) + + \left[1-\mu_{i+1,p-k-1}^{(k)}(u)\right]\, \mathcal{N}_{i+1,p-k-1}^{\boldsymbol{U}^{(k)}}(u) + } + } +\end{document} diff --git a/doc-images/equations/basis-prefactor.svg b/doc-images/equations/basis-prefactor.svg new file mode 100644 index 0000000..cd2caf1 --- /dev/null +++ b/doc-images/equations/basis-prefactor.svg @@ -0,0 +1,282 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="495.34" height="164.333" viewBox="0 0 495.34 164.333"> +<defs> +<g> +<g id="glyph-0-0"> +<path d="M 3.5625 -0.546875 C 4.1875 0.03125 5.109375 0.25 5.953125 0.25 C 7.53125 0.25 8.625 -0.8125 9.1875 -1.59375 C 9.4375 -0.265625 10.484375 0.25 11.34375 0.25 C 12.09375 0.25 12.6875 -0.203125 13.140625 -1.09375 C 13.53125 -1.9375 13.875 -3.4375 13.875 -3.546875 C 13.875 -3.671875 13.78125 -3.765625 13.625 -3.765625 C 13.40625 -3.765625 13.375 -3.640625 13.28125 -3.265625 C 12.90625 -1.8125 12.4375 -0.25 11.421875 -0.25 C 10.703125 -0.25 10.65625 -0.890625 10.65625 -1.390625 C 10.65625 -1.953125 10.875 -2.84375 11.046875 -3.59375 L 11.75 -6.265625 C 11.84375 -6.734375 12.125 -7.859375 12.234375 -8.296875 C 12.390625 -8.890625 12.65625 -9.96875 12.65625 -10.0625 C 12.65625 -10.4375 12.359375 -10.6875 12 -10.6875 C 11.765625 -10.6875 11.25 -10.578125 11.046875 -9.84375 L 9.3125 -2.953125 C 9.1875 -2.453125 9.1875 -2.40625 8.875 -2 C 8.578125 -1.59375 7.609375 -0.25 6.046875 -0.25 C 4.65625 -0.25 4.21875 -1.265625 4.21875 -2.421875 C 4.21875 -3.140625 4.4375 -4.015625 4.53125 -4.4375 L 5.65625 -8.890625 C 5.78125 -9.375 5.96875 -10.15625 5.96875 -10.3125 C 5.96875 -10.703125 5.65625 -10.921875 5.328125 -10.921875 C 5.109375 -10.921875 4.5625 -10.859375 4.359375 -10.0625 L 0.765625 4.28125 C 0.75 4.40625 0.6875 4.5625 0.6875 4.703125 C 0.6875 5.078125 0.984375 5.328125 1.359375 5.328125 C 2.078125 5.328125 2.234375 4.765625 2.40625 4.0625 Z M 3.5625 -0.546875 "/> +</g> +<g id="glyph-0-1"> +<path d="M 8.453125 -1.4375 C 8.765625 -0.046875 9.96875 0.25 10.5625 0.25 C 11.34375 0.25 11.9375 -0.265625 12.34375 -1.109375 C 12.765625 -2 13.078125 -3.46875 13.078125 -3.546875 C 13.078125 -3.671875 12.984375 -3.765625 12.84375 -3.765625 C 12.609375 -3.765625 12.59375 -3.640625 12.484375 -3.265625 C 12.046875 -1.5625 11.59375 -0.25 10.609375 -0.25 C 9.859375 -0.25 9.859375 -1.0625 9.859375 -1.390625 C 9.859375 -1.953125 9.9375 -2.203125 10.1875 -3.25 C 10.359375 -3.921875 10.53125 -4.578125 10.6875 -5.28125 L 11.703125 -9.3125 C 11.875 -9.9375 11.875 -9.984375 11.875 -10.0625 C 11.875 -10.4375 11.578125 -10.6875 11.203125 -10.6875 C 10.484375 -10.6875 10.3125 -10.0625 10.15625 -9.4375 C 9.90625 -8.46875 8.578125 -3.140625 8.40625 -2.28125 C 8.375 -2.28125 7.40625 -0.25 5.59375 -0.25 C 4.3125 -0.25 4.0625 -1.359375 4.0625 -2.28125 C 4.0625 -3.6875 4.765625 -5.671875 5.40625 -7.328125 C 5.703125 -8.125 5.828125 -8.453125 5.828125 -8.953125 C 5.828125 -10.015625 5.0625 -10.921875 3.859375 -10.921875 C 1.59375 -10.921875 0.671875 -7.328125 0.671875 -7.140625 C 0.671875 -7.03125 0.765625 -6.90625 0.9375 -6.90625 C 1.171875 -6.90625 1.1875 -7.015625 1.28125 -7.359375 C 1.890625 -9.484375 2.84375 -10.4375 3.796875 -10.4375 C 4.046875 -10.4375 4.4375 -10.40625 4.4375 -9.609375 C 4.4375 -8.96875 4.15625 -8.25 3.796875 -7.3125 C 2.703125 -4.359375 2.578125 -3.421875 2.578125 -2.671875 C 2.578125 -0.15625 4.484375 0.25 5.5 0.25 C 7.09375 0.25 7.953125 -0.84375 8.453125 -1.4375 Z M 8.453125 -1.4375 "/> +</g> +<g id="glyph-1-0"> +<path d="M 6.328125 5.046875 C 6.328125 5.015625 6.328125 4.984375 6.265625 4.921875 C 5.3125 3.953125 2.765625 1.296875 2.765625 -5.140625 C 2.765625 -11.59375 5.265625 -14.21875 6.28125 -15.25 C 6.28125 -15.265625 6.328125 -15.3125 6.328125 -15.375 C 6.328125 -15.4375 6.265625 -15.46875 6.171875 -15.46875 C 5.953125 -15.46875 4.1875 -13.9375 3.1875 -11.671875 C 2.140625 -9.375 1.859375 -7.140625 1.859375 -5.171875 C 1.859375 -3.671875 2 -1.15625 3.25 1.515625 C 4.234375 3.65625 5.921875 5.171875 6.171875 5.171875 C 6.28125 5.171875 6.328125 5.125 6.328125 5.046875 Z M 6.328125 5.046875 "/> +</g> +<g id="glyph-1-1"> +<path d="M 5.4375 -5.140625 C 5.4375 -6.625 5.28125 -9.15625 4.046875 -11.8125 C 3.0625 -13.96875 1.359375 -15.46875 1.109375 -15.46875 C 1.046875 -15.46875 0.96875 -15.453125 0.96875 -15.34375 C 0.96875 -15.3125 0.984375 -15.28125 1.015625 -15.25 C 2 -14.21875 4.53125 -11.59375 4.53125 -5.171875 C 4.53125 1.28125 2.03125 3.90625 1.015625 4.9375 C 0.984375 4.984375 0.96875 5 0.96875 5.046875 C 0.96875 5.140625 1.046875 5.171875 1.109375 5.171875 C 1.34375 5.171875 3.09375 3.640625 4.109375 1.359375 C 5.140625 -0.921875 5.4375 -3.15625 5.4375 -5.140625 Z M 5.4375 -5.140625 "/> +</g> +<g id="glyph-1-2"> +<path d="M 7.78125 -4.796875 L 13.265625 -4.796875 C 13.546875 -4.796875 13.90625 -4.796875 13.90625 -5.140625 C 13.90625 -5.515625 13.578125 -5.515625 13.265625 -5.515625 L 7.78125 -5.515625 L 7.78125 -10.984375 C 7.78125 -11.28125 7.78125 -11.625 7.4375 -11.625 C 7.0625 -11.625 7.0625 -11.296875 7.0625 -10.984375 L 7.0625 -5.515625 L 1.59375 -5.515625 C 1.296875 -5.515625 0.953125 -5.515625 0.953125 -5.171875 C 0.953125 -4.796875 1.28125 -4.796875 1.59375 -4.796875 L 7.0625 -4.796875 L 7.0625 0.6875 C 7.0625 0.96875 7.0625 1.328125 7.421875 1.328125 C 7.78125 1.328125 7.78125 0.984375 7.78125 0.6875 Z M 7.78125 -4.796875 "/> +</g> +<g id="glyph-1-3"> +<path d="M 5.5 -13.203125 C 5.5 -13.640625 5.46875 -13.65625 5.1875 -13.65625 C 4.375 -12.6875 3.15625 -12.375 2 -12.328125 C 1.9375 -12.328125 1.84375 -12.328125 1.8125 -12.296875 C 1.796875 -12.25 1.796875 -12.203125 1.796875 -11.78125 C 2.4375 -11.78125 3.515625 -11.890625 4.34375 -12.390625 L 4.34375 -1.515625 C 4.34375 -0.78125 4.296875 -0.53125 2.515625 -0.53125 L 1.90625 -0.53125 L 1.90625 0 C 2.890625 -0.015625 3.921875 -0.046875 4.921875 -0.046875 C 5.90625 -0.046875 6.9375 -0.015625 7.9375 0 L 7.9375 -0.53125 L 7.3125 -0.53125 C 5.53125 -0.53125 5.5 -0.765625 5.5 -1.515625 Z M 5.5 -13.203125 "/> +</g> +<g id="glyph-2-0"> +<path d="M 5.796875 -13.8125 C 5.828125 -13.90625 5.859375 -14.03125 5.859375 -14.125 C 5.859375 -14.328125 5.65625 -14.328125 5.625 -14.328125 C 5.59375 -14.328125 4.859375 -14.28125 4.484375 -14.234375 C 4.125 -14.21875 3.828125 -14.171875 3.453125 -14.15625 C 2.953125 -14.109375 2.8125 -14.09375 2.8125 -13.71875 C 2.8125 -13.515625 3.015625 -13.515625 3.21875 -13.515625 C 4.28125 -13.515625 4.28125 -13.328125 4.28125 -13.109375 C 4.28125 -13.03125 4.28125 -13 4.171875 -12.625 L 1.21875 -0.8125 C 1.140625 -0.5 1.140625 -0.453125 1.140625 -0.328125 C 1.140625 0.125 1.484375 0.203125 1.6875 0.203125 C 2.265625 0.203125 2.390625 -0.25 2.5625 -0.890625 L 3.53125 -4.75 C 5.015625 -4.578125 5.90625 -3.96875 5.90625 -2.96875 C 5.90625 -2.84375 5.90625 -2.765625 5.84375 -2.453125 C 5.765625 -2.140625 5.765625 -1.90625 5.765625 -1.796875 C 5.765625 -0.59375 6.546875 0.203125 7.59375 0.203125 C 8.546875 0.203125 9.046875 -0.65625 9.21875 -0.953125 C 9.640625 -1.71875 9.921875 -2.875 9.921875 -2.953125 C 9.921875 -3.0625 9.828125 -3.140625 9.703125 -3.140625 C 9.515625 -3.140625 9.5 -3.0625 9.421875 -2.734375 C 9.125 -1.65625 8.703125 -0.203125 7.640625 -0.203125 C 7.234375 -0.203125 6.96875 -0.40625 6.96875 -1.203125 C 6.96875 -1.59375 7.046875 -2.046875 7.125 -2.359375 C 7.203125 -2.734375 7.203125 -2.75 7.203125 -3 C 7.203125 -4.21875 6.109375 -4.890625 4.21875 -5.140625 C 4.953125 -5.59375 5.703125 -6.40625 5.984375 -6.71875 C 7.171875 -8.03125 7.96875 -8.703125 8.921875 -8.703125 C 9.40625 -8.703125 9.515625 -8.578125 9.671875 -8.453125 C 8.90625 -8.359375 8.609375 -7.828125 8.609375 -7.421875 C 8.609375 -6.921875 9 -6.75 9.296875 -6.75 C 9.859375 -6.75 10.34375 -7.234375 10.34375 -7.890625 C 10.34375 -8.484375 9.875 -9.109375 8.9375 -9.109375 C 7.8125 -9.109375 6.875 -8.296875 5.40625 -6.65625 C 5.203125 -6.40625 4.4375 -5.625 3.671875 -5.328125 Z M 5.796875 -13.8125 "/> +</g> +<g id="glyph-2-1"> +<path d="M 6.984375 -2.625 C 6.90625 -2.296875 6.859375 -2.203125 6.59375 -1.90625 C 5.75 -0.8125 4.875 -0.40625 4.234375 -0.40625 C 3.546875 -0.40625 2.90625 -0.953125 2.90625 -2.375 C 2.90625 -3.46875 3.53125 -5.78125 3.984375 -6.71875 C 4.578125 -7.875 5.515625 -8.703125 6.375 -8.703125 C 7.75 -8.703125 8.015625 -7 8.015625 -6.875 L 7.953125 -6.59375 Z M 8.265625 -7.75 C 8 -8.34375 7.421875 -9.109375 6.375 -9.109375 C 4.125 -9.109375 1.5625 -6.28125 1.5625 -3.203125 C 1.5625 -1.046875 2.875 0 4.1875 0 C 5.28125 0 6.265625 -0.875 6.625 -1.28125 L 6.171875 0.578125 C 5.890625 1.71875 5.765625 2.234375 5.015625 2.953125 C 4.171875 3.796875 3.390625 3.796875 2.9375 3.796875 C 2.3125 3.796875 1.796875 3.765625 1.28125 3.59375 C 1.9375 3.40625 2.109375 2.828125 2.109375 2.609375 C 2.109375 2.265625 1.859375 1.9375 1.40625 1.9375 C 0.90625 1.9375 0.375 2.359375 0.375 3.03125 C 0.375 3.890625 1.21875 4.21875 2.96875 4.21875 C 5.640625 4.21875 7.015625 2.5 7.296875 1.390625 L 9.578125 -7.875 C 9.640625 -8.125 9.640625 -8.15625 9.640625 -8.203125 C 9.640625 -8.484375 9.421875 -8.71875 9.109375 -8.71875 C 8.609375 -8.71875 8.328125 -8.296875 8.265625 -7.75 Z M 8.265625 -7.75 "/> +</g> +<g id="glyph-2-2"> +<path d="M 4.03125 0.078125 C 4.03125 -1.109375 3.640625 -2 2.78125 -2 C 2.125 -2 1.796875 -1.46875 1.796875 -1.015625 C 1.796875 -0.5625 2.109375 0 2.8125 0 C 3.078125 0 3.3125 -0.078125 3.484375 -0.265625 C 3.53125 -0.3125 3.546875 -0.3125 3.578125 -0.3125 C 3.609375 -0.3125 3.609375 -0.015625 3.609375 0.078125 C 3.609375 0.765625 3.484375 2.109375 2.296875 3.453125 C 2.0625 3.703125 2.0625 3.734375 2.0625 3.78125 C 2.0625 3.890625 2.171875 3.984375 2.265625 3.984375 C 2.4375 3.984375 4.03125 2.453125 4.03125 0.078125 Z M 4.03125 0.078125 "/> +</g> +<g id="glyph-2-3"> +<path d="M 5.796875 -13.8125 C 5.828125 -13.90625 5.859375 -14.03125 5.859375 -14.125 C 5.859375 -14.328125 5.65625 -14.328125 5.625 -14.328125 C 5.59375 -14.328125 4.578125 -14.25 4.484375 -14.234375 C 4.125 -14.21875 3.828125 -14.171875 3.453125 -14.15625 C 2.9375 -14.109375 2.78125 -14.09375 2.78125 -13.71875 C 2.78125 -13.515625 2.953125 -13.515625 3.25 -13.515625 C 4.25 -13.515625 4.28125 -13.328125 4.28125 -13.109375 C 4.28125 -13 4.234375 -12.828125 4.21875 -12.765625 L 1.21875 -0.8125 C 1.140625 -0.5 1.140625 -0.453125 1.140625 -0.328125 C 1.140625 0.125 1.484375 0.203125 1.6875 0.203125 C 2.046875 0.203125 2.3125 -0.0625 2.421875 -0.296875 L 3.34375 -4.03125 C 3.453125 -4.484375 3.578125 -4.921875 3.671875 -5.375 C 3.90625 -6.234375 3.90625 -6.265625 4.296875 -6.859375 C 4.6875 -7.453125 5.625 -8.703125 7.203125 -8.703125 C 8.03125 -8.703125 8.328125 -8.078125 8.328125 -7.25 C 8.328125 -6.09375 7.515625 -3.84375 7.0625 -2.609375 C 6.875 -2.109375 6.78125 -1.84375 6.78125 -1.46875 C 6.78125 -0.53125 7.421875 0.203125 8.40625 0.203125 C 10.328125 0.203125 11.046875 -2.828125 11.046875 -2.953125 C 11.046875 -3.0625 10.96875 -3.140625 10.84375 -3.140625 C 10.65625 -3.140625 10.640625 -3.078125 10.53125 -2.734375 C 10.0625 -1.078125 9.296875 -0.203125 8.46875 -0.203125 C 8.265625 -0.203125 7.9375 -0.234375 7.9375 -0.890625 C 7.9375 -1.421875 8.1875 -2.09375 8.265625 -2.3125 C 8.640625 -3.3125 9.5625 -5.75 9.5625 -6.9375 C 9.5625 -8.1875 8.84375 -9.109375 7.265625 -9.109375 C 6.09375 -9.109375 5.0625 -8.546875 4.21875 -7.484375 Z M 5.796875 -13.8125 "/> +</g> +<g id="glyph-2-4"> +<path d="M 7.046875 -1.203125 C 7.3125 -0.046875 8.296875 0.203125 8.796875 0.203125 C 9.453125 0.203125 9.953125 -0.234375 10.28125 -0.921875 C 10.640625 -1.671875 10.90625 -2.890625 10.90625 -2.953125 C 10.90625 -3.0625 10.828125 -3.140625 10.703125 -3.140625 C 10.515625 -3.140625 10.5 -3.03125 10.40625 -2.734375 C 10.03125 -1.296875 9.671875 -0.203125 8.84375 -0.203125 C 8.21875 -0.203125 8.21875 -0.890625 8.21875 -1.15625 C 8.21875 -1.625 8.28125 -1.84375 8.484375 -2.703125 C 8.640625 -3.265625 8.78125 -3.828125 8.90625 -4.40625 L 9.75 -7.765625 C 9.890625 -8.28125 9.890625 -8.328125 9.890625 -8.390625 C 9.890625 -8.703125 9.640625 -8.90625 9.34375 -8.90625 C 8.734375 -8.90625 8.59375 -8.390625 8.46875 -7.875 C 8.265625 -7.0625 7.140625 -2.625 7 -1.90625 C 6.984375 -1.90625 6.171875 -0.203125 4.671875 -0.203125 C 3.59375 -0.203125 3.390625 -1.140625 3.390625 -1.90625 C 3.390625 -3.078125 3.96875 -4.734375 4.5 -6.109375 C 4.75 -6.78125 4.859375 -7.046875 4.859375 -7.453125 C 4.859375 -8.34375 4.21875 -9.109375 3.21875 -9.109375 C 1.328125 -9.109375 0.5625 -6.109375 0.5625 -5.953125 C 0.5625 -5.859375 0.640625 -5.765625 0.78125 -5.765625 C 0.96875 -5.765625 0.984375 -5.84375 1.078125 -6.140625 C 1.5625 -7.90625 2.375 -8.703125 3.15625 -8.703125 C 3.359375 -8.703125 3.703125 -8.671875 3.703125 -8.015625 C 3.703125 -7.484375 3.46875 -6.875 3.15625 -6.09375 C 2.25 -3.640625 2.140625 -2.84375 2.140625 -2.234375 C 2.140625 -0.125 3.734375 0.203125 4.578125 0.203125 C 5.90625 0.203125 6.625 -0.703125 7.046875 -1.203125 Z M 7.046875 -1.203125 "/> +</g> +<g id="glyph-3-0"> +<path d="M 7.578125 6.046875 C 7.578125 6.015625 7.578125 5.96875 7.515625 5.890625 C 6.375 4.734375 3.328125 1.5625 3.328125 -6.171875 C 3.328125 -13.90625 6.3125 -17.046875 7.53125 -18.28125 C 7.53125 -18.3125 7.578125 -18.359375 7.578125 -18.4375 C 7.578125 -18.515625 7.515625 -18.5625 7.40625 -18.5625 C 7.140625 -18.5625 5.03125 -16.734375 3.8125 -14 C 2.578125 -11.25 2.234375 -8.578125 2.234375 -6.1875 C 2.234375 -4.40625 2.40625 -1.390625 3.890625 1.8125 C 5.078125 4.390625 7.109375 6.1875 7.40625 6.1875 C 7.53125 6.1875 7.578125 6.140625 7.578125 6.046875 Z M 7.578125 6.046875 "/> +</g> +<g id="glyph-3-1"> +<path d="M 6.515625 -6.171875 C 6.515625 -7.953125 6.34375 -10.984375 4.859375 -14.171875 C 3.671875 -16.75 1.640625 -18.5625 1.34375 -18.5625 C 1.265625 -18.5625 1.171875 -18.53125 1.171875 -18.40625 C 1.171875 -18.359375 1.1875 -18.34375 1.21875 -18.28125 C 2.40625 -17.046875 5.421875 -13.90625 5.421875 -6.1875 C 5.421875 1.53125 2.421875 4.6875 1.21875 5.921875 C 1.1875 5.96875 1.171875 6 1.171875 6.046875 C 1.171875 6.171875 1.265625 6.1875 1.34375 6.1875 C 1.609375 6.1875 3.71875 4.359375 4.9375 1.640625 C 6.171875 -1.109375 6.515625 -3.796875 6.515625 -6.171875 Z M 6.515625 -6.171875 "/> +</g> +<g id="glyph-3-2"> +<path d="M 15.9375 -7.953125 C 16.3125 -7.953125 16.671875 -7.953125 16.671875 -8.375 C 16.671875 -8.828125 16.25 -8.828125 15.828125 -8.828125 L 1.984375 -8.828125 C 1.5625 -8.828125 1.140625 -8.828125 1.140625 -8.375 C 1.140625 -7.953125 1.515625 -7.953125 1.890625 -7.953125 Z M 15.828125 -3.546875 C 16.25 -3.546875 16.671875 -3.546875 16.671875 -3.984375 C 16.671875 -4.40625 16.3125 -4.40625 15.9375 -4.40625 L 1.890625 -4.40625 C 1.515625 -4.40625 1.140625 -4.40625 1.140625 -3.984375 C 1.140625 -3.546875 1.5625 -3.546875 1.984375 -3.546875 Z M 15.828125 -3.546875 "/> +</g> +<g id="glyph-3-3"> +<path d="M 10.40625 -7.953125 C 10.40625 -9.46875 10.390625 -12.046875 9.34375 -14.03125 C 8.421875 -15.765625 6.96875 -16.375 5.671875 -16.375 C 4.484375 -16.375 2.96875 -15.828125 2.03125 -14.046875 C 1.046875 -12.1875 0.9375 -9.890625 0.9375 -7.953125 C 0.9375 -6.546875 0.96875 -4.390625 1.734375 -2.5 C 2.796875 0.046875 4.703125 0.390625 5.671875 0.390625 C 6.8125 0.390625 8.546875 -0.078125 9.5625 -2.421875 C 10.3125 -4.140625 10.40625 -6.140625 10.40625 -7.953125 Z M 5.671875 0 C 4.09375 0 3.140625 -1.359375 2.796875 -3.25 C 2.53125 -4.703125 2.53125 -6.84375 2.53125 -8.234375 C 2.53125 -10.140625 2.53125 -11.71875 2.84375 -13.234375 C 3.328125 -15.34375 4.703125 -15.984375 5.671875 -15.984375 C 6.6875 -15.984375 8 -15.3125 8.46875 -13.28125 C 8.796875 -11.875 8.828125 -10.203125 8.828125 -8.234375 C 8.828125 -6.609375 8.828125 -4.640625 8.53125 -3.171875 C 8 -0.46875 6.546875 0 5.671875 0 Z M 5.671875 0 "/> +</g> +<g id="glyph-3-4"> +<path d="M 3.84375 -15.265625 C 3.84375 -15.8125 3.390625 -16.28125 2.828125 -16.28125 C 2.28125 -16.28125 1.8125 -15.828125 1.8125 -15.265625 C 1.8125 -14.71875 2.25 -14.25 2.828125 -14.25 C 3.375 -14.25 3.84375 -14.6875 3.84375 -15.265625 Z M 0.9375 -10.578125 L 0.9375 -9.9375 C 2.328125 -9.9375 2.53125 -9.78125 2.53125 -8.59375 L 2.53125 -1.703125 C 2.53125 -0.765625 2.421875 -0.640625 0.84375 -0.640625 L 0.84375 0 C 1.4375 -0.046875 2.5 -0.046875 3.125 -0.046875 C 3.71875 -0.046875 4.734375 -0.046875 5.296875 0 L 5.296875 -0.640625 C 3.84375 -0.640625 3.796875 -0.796875 3.796875 -1.6875 L 3.796875 -10.859375 Z M 0.9375 -10.578125 "/> +</g> +<g id="glyph-3-5"> +<path d="M 3.796875 -10.015625 L 6.609375 -10.015625 L 6.609375 -10.65625 L 3.734375 -10.65625 L 3.734375 -13.65625 C 3.734375 -15.71875 4.78125 -17 5.84375 -17 C 6.171875 -17 6.546875 -16.90625 6.796875 -16.734375 C 6.59375 -16.671875 6.078125 -16.5 6.078125 -15.890625 C 6.078125 -15.234375 6.5625 -15.046875 6.90625 -15.046875 C 7.265625 -15.046875 7.75 -15.234375 7.75 -15.890625 C 7.75 -16.828125 6.859375 -17.390625 5.875 -17.390625 C 4.453125 -17.390625 2.53125 -16.234375 2.53125 -13.609375 L 2.53125 -10.65625 L 0.546875 -10.65625 L 0.546875 -10.015625 L 2.53125 -10.015625 L 2.53125 -1.703125 C 2.53125 -0.765625 2.421875 -0.640625 0.84375 -0.640625 L 0.84375 0 C 1.4375 -0.046875 2.578125 -0.046875 3.21875 -0.046875 C 3.9375 -0.046875 5.203125 -0.046875 5.875 0 L 5.875 -0.640625 C 4.09375 -0.640625 3.796875 -0.640625 3.796875 -1.765625 Z M 3.796875 -10.015625 "/> +</g> +<g id="glyph-3-6"> +<path d="M 9.4375 -5.828125 C 9.546875 -5.921875 9.546875 -5.96875 9.546875 -6.21875 C 9.546875 -8.75 8.203125 -10.953125 5.375 -10.953125 C 2.75 -10.953125 0.671875 -8.453125 0.671875 -5.40625 C 0.671875 -2.1875 3.015625 0.203125 5.65625 0.203125 C 8.421875 0.203125 9.515625 -2.421875 9.515625 -2.953125 C 9.515625 -3.125 9.375 -3.125 9.3125 -3.125 C 9.140625 -3.125 9.125 -3.078125 9.015625 -2.78125 C 8.46875 -1.09375 7.109375 -0.25 5.828125 -0.25 C 4.765625 -0.25 3.6875 -0.84375 3.015625 -1.9375 C 2.25 -3.203125 2.25 -4.65625 2.25 -5.828125 Z M 2.28125 -6.1875 C 2.453125 -9.765625 4.359375 -10.5625 5.359375 -10.5625 C 7.03125 -10.5625 8.171875 -8.96875 8.203125 -6.1875 Z M 2.28125 -6.1875 "/> +</g> +<g id="glyph-3-7"> +<path d="M 3.796875 -17.203125 L 0.84375 -16.921875 L 0.84375 -16.28125 C 2.296875 -16.28125 2.53125 -16.125 2.53125 -14.9375 L 2.53125 -1.703125 C 2.53125 -0.765625 2.421875 -0.640625 0.84375 -0.640625 L 0.84375 0 C 1.4375 -0.046875 2.53125 -0.046875 3.140625 -0.046875 C 3.796875 -0.046875 4.875 -0.046875 5.484375 0 L 5.484375 -0.640625 C 3.890625 -0.640625 3.796875 -0.75 3.796875 -1.703125 Z M 3.796875 -17.203125 "/> +</g> +<g id="glyph-3-8"> +<path d="M 7.65625 -10.453125 C 7.65625 -10.90625 7.625 -10.921875 7.484375 -10.921875 C 7.390625 -10.921875 7.359375 -10.90625 7.0625 -10.53125 C 6.984375 -10.4375 6.765625 -10.1875 6.6875 -10.09375 C 5.890625 -10.921875 4.78125 -10.953125 4.359375 -10.953125 C 1.609375 -10.953125 0.625 -9.515625 0.625 -8.078125 C 0.625 -5.84375 3.140625 -5.328125 3.859375 -5.171875 C 5.421875 -4.859375 5.96875 -4.765625 6.5 -4.3125 C 6.8125 -4.015625 7.359375 -3.46875 7.359375 -2.578125 C 7.359375 -1.53125 6.765625 -0.203125 4.484375 -0.203125 C 2.328125 -0.203125 1.5625 -1.828125 1.109375 -4.015625 C 1.046875 -4.359375 1.046875 -4.390625 0.84375 -4.390625 C 0.640625 -4.390625 0.625 -4.359375 0.625 -3.859375 L 0.625 -0.296875 C 0.625 0.15625 0.640625 0.171875 0.796875 0.171875 C 0.921875 0.171875 0.9375 0.15625 1.0625 -0.046875 C 1.21875 -0.265625 1.59375 -0.875 1.734375 -1.109375 C 2.234375 -0.453125 3.09375 0.203125 4.484375 0.203125 C 6.9375 0.203125 8.25 -1.140625 8.25 -3.078125 C 8.25 -4.34375 7.578125 -5 7.265625 -5.296875 C 6.515625 -6.078125 5.65625 -6.25 4.609375 -6.4375 C 3.25 -6.734375 1.515625 -7.09375 1.515625 -8.59375 C 1.515625 -9.25 1.859375 -10.609375 4.359375 -10.609375 C 7.015625 -10.609375 7.15625 -8.125 7.21875 -7.328125 C 7.234375 -7.21875 7.359375 -7.1875 7.4375 -7.1875 C 7.65625 -7.1875 7.65625 -7.265625 7.65625 -7.6875 Z M 7.65625 -10.453125 "/> +</g> +<g id="glyph-4-0"> +<path d="M 12.484375 11.21875 C 12.484375 9.1875 13.03125 4.453125 17.453125 1.34375 C 17.765625 1.09375 17.796875 1.0625 17.796875 0.625 C 17.796875 0.046875 17.765625 0.03125 17.15625 0.03125 L 16.75 0.03125 C 11.421875 2.90625 9.515625 7.578125 9.515625 11.21875 L 9.515625 21.875 C 9.515625 22.53125 9.546875 22.546875 10.203125 22.546875 L 11.796875 22.546875 C 12.46875 22.546875 12.484375 22.53125 12.484375 21.875 Z M 12.484375 11.21875 "/> +</g> +<g id="glyph-4-1"> +<path d="M 12.484375 0.421875 C 12.484375 -0.21875 12.46875 -0.25 11.796875 -0.25 L 10.203125 -0.25 C 9.546875 -0.25 9.515625 -0.21875 9.515625 0.421875 L 9.515625 7.015625 C 9.515625 7.65625 9.546875 7.6875 10.203125 7.6875 L 11.796875 7.6875 C 12.46875 7.6875 12.484375 7.65625 12.484375 7.015625 Z M 12.484375 0.421875 "/> +</g> +<g id="glyph-4-2"> +<path d="M 9.515625 44.1875 C 9.515625 44.828125 9.546875 44.859375 10.203125 44.859375 L 11.796875 44.859375 C 12.46875 44.859375 12.484375 44.828125 12.484375 44.1875 L 12.484375 33.734375 C 12.484375 30.734375 11.21875 25.671875 5.671875 22.296875 C 11.28125 18.90625 12.484375 13.796875 12.484375 10.875 L 12.484375 0.421875 C 12.484375 -0.21875 12.46875 -0.25 11.796875 -0.25 L 10.203125 -0.25 C 9.546875 -0.25 9.515625 -0.21875 9.515625 0.421875 L 9.515625 10.90625 C 9.515625 12.984375 9.0625 18.140625 4.515625 21.609375 C 4.234375 21.828125 4.21875 21.859375 4.21875 22.296875 C 4.21875 22.75 4.234375 22.78125 4.515625 23 C 5.15625 23.5 6.859375 24.8125 8.046875 27.3125 C 9.015625 29.296875 9.515625 31.5 9.515625 33.703125 Z M 9.515625 44.1875 "/> +</g> +<g id="glyph-4-3"> +<path d="M 17.15625 22.28125 C 17.765625 22.28125 17.796875 22.25 17.796875 21.6875 C 17.796875 21.234375 17.765625 21.21875 17.671875 21.140625 C 16.90625 20.5625 15.109375 19.296875 13.953125 17.03125 C 12.984375 15.140625 12.484375 13.234375 12.484375 11.078125 L 12.484375 0.421875 C 12.484375 -0.21875 12.46875 -0.25 11.796875 -0.25 L 10.203125 -0.25 C 9.546875 -0.25 9.515625 -0.21875 9.515625 0.421875 L 9.515625 11.078125 C 9.515625 14.75 11.421875 19.421875 16.75 22.28125 Z M 17.15625 22.28125 "/> +</g> +<g id="glyph-5-0"> +<path d="M 13.609375 -4.75 C 13.96875 -4.75 14.328125 -4.75 14.328125 -5.171875 C 14.328125 -5.578125 13.96875 -5.578125 13.609375 -5.578125 L 2.4375 -5.578125 C 2.09375 -5.578125 1.71875 -5.578125 1.71875 -5.171875 C 1.71875 -4.75 2.09375 -4.75 2.4375 -4.75 Z M 13.609375 -4.75 "/> +</g> +<g id="glyph-6-0"> +<path d="M 5.265625 4.203125 C 5.265625 4.1875 5.265625 4.15625 5.21875 4.09375 C 4.421875 3.28125 2.3125 1.078125 2.3125 -4.28125 C 2.3125 -9.65625 4.390625 -11.84375 5.234375 -12.703125 C 5.234375 -12.71875 5.265625 -12.765625 5.265625 -12.8125 C 5.265625 -12.859375 5.21875 -12.890625 5.140625 -12.890625 C 4.953125 -12.890625 3.5 -11.625 2.65625 -9.734375 C 1.796875 -7.8125 1.546875 -5.953125 1.546875 -4.3125 C 1.546875 -3.0625 1.671875 -0.96875 2.703125 1.25 C 3.53125 3.046875 4.9375 4.3125 5.140625 4.3125 C 5.234375 4.3125 5.265625 4.265625 5.265625 4.203125 Z M 5.265625 4.203125 "/> +</g> +<g id="glyph-6-1"> +<path d="M 4.53125 -4.28125 C 4.53125 -5.53125 4.40625 -7.625 3.375 -9.84375 C 2.546875 -11.640625 1.140625 -12.890625 0.9375 -12.890625 C 0.875 -12.890625 0.8125 -12.875 0.8125 -12.796875 C 0.8125 -12.765625 0.828125 -12.734375 0.84375 -12.703125 C 1.671875 -11.84375 3.765625 -9.65625 3.765625 -4.3125 C 3.765625 1.0625 1.6875 3.25 0.84375 4.109375 C 0.828125 4.15625 0.8125 4.171875 0.8125 4.203125 C 0.8125 4.28125 0.875 4.3125 0.9375 4.3125 C 1.125 4.3125 2.578125 3.03125 3.421875 1.140625 C 4.28125 -0.78125 4.53125 -2.640625 4.53125 -4.28125 Z M 4.53125 -4.28125 "/> +</g> +<g id="glyph-6-2"> +<path d="M 6.484375 -4 L 11.046875 -4 C 11.296875 -4 11.59375 -4 11.59375 -4.28125 C 11.59375 -4.59375 11.3125 -4.59375 11.046875 -4.59375 L 6.484375 -4.59375 L 6.484375 -9.15625 C 6.484375 -9.40625 6.484375 -9.6875 6.203125 -9.6875 C 5.890625 -9.6875 5.890625 -9.421875 5.890625 -9.15625 L 5.890625 -4.59375 L 1.328125 -4.59375 C 1.078125 -4.59375 0.796875 -4.59375 0.796875 -4.3125 C 0.796875 -4 1.0625 -4 1.328125 -4 L 5.890625 -4 L 5.890625 0.5625 C 5.890625 0.8125 5.890625 1.109375 6.1875 1.109375 C 6.484375 1.109375 6.484375 0.828125 6.484375 0.5625 Z M 6.484375 -4 "/> +</g> +<g id="glyph-6-3"> +<path d="M 4.578125 -11 C 4.578125 -11.359375 4.5625 -11.375 4.328125 -11.375 C 3.65625 -10.578125 2.640625 -10.3125 1.671875 -10.28125 C 1.625 -10.28125 1.53125 -10.28125 1.515625 -10.25 C 1.5 -10.203125 1.5 -10.171875 1.5 -9.8125 C 2.03125 -9.8125 2.921875 -9.921875 3.609375 -10.328125 L 3.609375 -1.25 C 3.609375 -0.65625 3.578125 -0.453125 2.09375 -0.453125 L 1.578125 -0.453125 L 1.578125 0 C 2.40625 -0.015625 3.265625 -0.03125 4.09375 -0.03125 C 4.921875 -0.03125 5.78125 -0.015625 6.609375 0 L 6.609375 -0.453125 L 6.09375 -0.453125 C 4.609375 -0.453125 4.578125 -0.640625 4.578125 -1.25 Z M 4.578125 -11 "/> +</g> +<g id="glyph-7-0"> +<path d="M 4.84375 -11.515625 C 4.859375 -11.59375 4.890625 -11.6875 4.890625 -11.78125 C 4.890625 -11.953125 4.71875 -11.953125 4.6875 -11.953125 C 4.671875 -11.953125 4.046875 -11.890625 3.734375 -11.859375 C 3.4375 -11.84375 3.1875 -11.8125 2.875 -11.796875 C 2.46875 -11.765625 2.34375 -11.75 2.34375 -11.4375 C 2.34375 -11.265625 2.515625 -11.265625 2.6875 -11.265625 C 3.5625 -11.265625 3.5625 -11.109375 3.5625 -10.9375 C 3.5625 -10.859375 3.5625 -10.828125 3.484375 -10.515625 L 1.015625 -0.671875 C 0.953125 -0.40625 0.953125 -0.375 0.953125 -0.28125 C 0.953125 0.109375 1.234375 0.171875 1.40625 0.171875 C 1.890625 0.171875 2 -0.203125 2.140625 -0.734375 L 2.9375 -3.953125 C 4.1875 -3.828125 4.921875 -3.3125 4.921875 -2.484375 C 4.921875 -2.375 4.921875 -2.3125 4.875 -2.046875 C 4.796875 -1.796875 4.796875 -1.578125 4.796875 -1.5 C 4.796875 -0.5 5.453125 0.171875 6.34375 0.171875 C 7.125 0.171875 7.546875 -0.546875 7.671875 -0.796875 C 8.046875 -1.421875 8.265625 -2.390625 8.265625 -2.46875 C 8.265625 -2.546875 8.203125 -2.625 8.09375 -2.625 C 7.9375 -2.625 7.921875 -2.546875 7.859375 -2.265625 C 7.609375 -1.375 7.25 -0.171875 6.375 -0.171875 C 6.03125 -0.171875 5.796875 -0.34375 5.796875 -1 C 5.796875 -1.328125 5.875 -1.703125 5.9375 -1.96875 C 6.015625 -2.265625 6.015625 -2.296875 6.015625 -2.5 C 6.015625 -3.515625 5.09375 -4.078125 3.515625 -4.28125 C 4.125 -4.671875 4.75 -5.34375 5 -5.59375 C 5.96875 -6.703125 6.640625 -7.25 7.4375 -7.25 C 7.828125 -7.25 7.9375 -7.140625 8.0625 -7.046875 C 7.421875 -6.96875 7.1875 -6.53125 7.1875 -6.1875 C 7.1875 -5.765625 7.5 -5.625 7.75 -5.625 C 8.21875 -5.625 8.625 -6.03125 8.625 -6.578125 C 8.625 -7.078125 8.234375 -7.59375 7.453125 -7.59375 C 6.515625 -7.59375 5.734375 -6.921875 4.515625 -5.546875 C 4.34375 -5.34375 3.703125 -4.6875 3.0625 -4.4375 Z M 4.84375 -11.515625 "/> +</g> +<g id="glyph-7-1"> +<path d="M 5.8125 -2.1875 C 5.75 -1.90625 5.71875 -1.84375 5.5 -1.578125 C 4.78125 -0.671875 4.0625 -0.34375 3.53125 -0.34375 C 2.96875 -0.34375 2.421875 -0.796875 2.421875 -1.984375 C 2.421875 -2.890625 2.9375 -4.828125 3.328125 -5.59375 C 3.828125 -6.5625 4.59375 -7.25 5.328125 -7.25 C 6.453125 -7.25 6.6875 -5.84375 6.6875 -5.734375 L 6.625 -5.5 Z M 6.890625 -6.453125 C 6.65625 -6.953125 6.1875 -7.59375 5.328125 -7.59375 C 3.4375 -7.59375 1.3125 -5.234375 1.3125 -2.671875 C 1.3125 -0.875 2.390625 0 3.5 0 C 4.40625 0 5.21875 -0.71875 5.53125 -1.0625 L 5.140625 0.484375 C 4.90625 1.421875 4.796875 1.859375 4.1875 2.46875 C 3.484375 3.171875 2.828125 3.171875 2.4375 3.171875 C 1.921875 3.171875 1.5 3.140625 1.0625 3 C 1.625 2.84375 1.75 2.359375 1.75 2.171875 C 1.75 1.890625 1.546875 1.625 1.171875 1.625 C 0.75 1.625 0.3125 1.96875 0.3125 2.53125 C 0.3125 3.234375 1.015625 3.515625 2.484375 3.515625 C 4.703125 3.515625 5.859375 2.078125 6.078125 1.15625 L 7.984375 -6.5625 C 8.046875 -6.765625 8.046875 -6.796875 8.046875 -6.828125 C 8.046875 -7.078125 7.859375 -7.265625 7.59375 -7.265625 C 7.1875 -7.265625 6.9375 -6.921875 6.890625 -6.453125 Z M 6.890625 -6.453125 "/> +</g> +<g id="glyph-7-2"> +<path d="M 4.84375 -11.515625 C 4.859375 -11.59375 4.890625 -11.6875 4.890625 -11.78125 C 4.890625 -11.953125 4.71875 -11.953125 4.6875 -11.953125 C 4.671875 -11.953125 3.828125 -11.875 3.734375 -11.859375 C 3.4375 -11.84375 3.1875 -11.8125 2.875 -11.796875 C 2.4375 -11.765625 2.328125 -11.75 2.328125 -11.4375 C 2.328125 -11.265625 2.46875 -11.265625 2.703125 -11.265625 C 3.546875 -11.265625 3.5625 -11.109375 3.5625 -10.9375 C 3.5625 -10.828125 3.53125 -10.6875 3.515625 -10.640625 L 1.015625 -0.671875 C 0.953125 -0.40625 0.953125 -0.375 0.953125 -0.28125 C 0.953125 0.109375 1.234375 0.171875 1.40625 0.171875 C 1.703125 0.171875 1.921875 -0.046875 2.015625 -0.234375 L 2.796875 -3.359375 C 2.875 -3.734375 2.984375 -4.09375 3.0625 -4.484375 C 3.25 -5.203125 3.25 -5.21875 3.578125 -5.71875 C 3.90625 -6.21875 4.6875 -7.25 6.015625 -7.25 C 6.703125 -7.25 6.9375 -6.734375 6.9375 -6.046875 C 6.9375 -5.078125 6.265625 -3.203125 5.890625 -2.171875 C 5.734375 -1.75 5.640625 -1.53125 5.640625 -1.21875 C 5.640625 -0.453125 6.1875 0.171875 7.015625 0.171875 C 8.609375 0.171875 9.21875 -2.359375 9.21875 -2.46875 C 9.21875 -2.546875 9.140625 -2.625 9.046875 -2.625 C 8.890625 -2.625 8.875 -2.5625 8.78125 -2.265625 C 8.390625 -0.890625 7.75 -0.171875 7.0625 -0.171875 C 6.890625 -0.171875 6.609375 -0.1875 6.609375 -0.734375 C 6.609375 -1.1875 6.8125 -1.734375 6.890625 -1.921875 C 7.203125 -2.75 7.96875 -4.78125 7.96875 -5.78125 C 7.96875 -6.8125 7.375 -7.59375 6.0625 -7.59375 C 5.078125 -7.59375 4.21875 -7.125 3.515625 -6.234375 Z M 4.84375 -11.515625 "/> +</g> +</g> +<clipPath id="clip-0"> +<path clip-rule="nonzero" d="M 0 0 L 495.339844 0 L 495.339844 164.332031 L 0 164.332031 Z M 0 0 "/> +</clipPath> +</defs> +<g clip-path="url(#clip-0)"> +<path fill-rule="nonzero" fill="rgb(96.076965%, 96.076965%, 96.076965%)" fill-opacity="1" d="M 472.664062 0 L 22.675781 0 C 10.148438 0 -0.00390625 10.152344 -0.00390625 22.675781 L -0.00390625 141.65625 C -0.00390625 154.179688 10.148438 164.332031 22.675781 164.332031 L 472.664062 164.332031 C 485.191406 164.332031 495.34375 154.179688 495.34375 141.65625 L 495.34375 22.675781 C 495.34375 10.152344 485.191406 0 472.664062 0 Z M 472.664062 0 "/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-0-0" x="22.677" y="88.363"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-0" x="37.28" y="74.677"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="44.597" y="74.677"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-1" x="55.813" y="74.677"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-1" x="37.28" y="98.14"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-2" x="47.712496" y="98.14"/> +<use xlink:href="#glyph-2-3" x="53.332696" y="98.14"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-3-0" x="65.473" y="88.363"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-0-1" x="74.251" y="88.363"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-3-1" x="88.065" y="88.363"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-3-2" x="103.732926" y="88.363"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-0" x="128.456" y="22.677"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-1" x="128.456" y="44.985"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-1" x="128.456" y="52.422"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-2" x="128.456" y="59.858"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-1" x="128.456" y="104.475"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-1" x="128.456" y="111.911"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-3" x="128.456" y="119.347"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-3-3" x="150.489" y="53.524"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-3-4" x="288.320148" y="53.524"/> +<use xlink:href="#glyph-3-5" x="294.507008" y="53.524"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-0-1" x="324.082" y="53.524"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-0" x="337.895" y="39.838"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="345.212" y="39.838"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-1" x="356.428" y="39.838"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-1" x="337.895" y="63.301"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-2" x="348.324" y="63.301"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-3" x="363.198" y="63.301"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-2" x="374.844" y="63.301"/> +<use xlink:href="#glyph-1-3" x="389.716867" y="63.301"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-3-2" x="406.578" y="53.524"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-0-1" x="431.306" y="53.524"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-0" x="445.119" y="39.838"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="452.436" y="39.838"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-1" x="463.652" y="39.838"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-1" x="445.119" y="57.849"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-4" x="177.469" y="94.256"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-0" x="188.984" y="94.256"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-4" x="205.055" y="94.256"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-0" x="216.57" y="82.849"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-0" x="222.667" y="82.849"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-1" x="232.012" y="82.849"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-1" x="216.57" y="97.857"/> +</g> +<path fill="none" stroke-width="0.991" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M -0.00040625 0.00059375 L 112.706625 0.00059375 " transform="matrix(1, 0, 0, -1, 151.684, 102.692)"/> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-4" x="151.684" y="128.481"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-0" x="163.199" y="117.075"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-0" x="169.296" y="117.075"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-1" x="178.64" y="117.075"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-1" x="163.199" y="136.625"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-2" x="171.888" y="136.625"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-2" x="184.281" y="136.625"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-2" x="193.984" y="136.625"/> +<use xlink:href="#glyph-6-3" x="206.375645" y="136.625"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-0" x="214.77" y="128.481"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-4" x="230.841" y="128.481"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-0" x="242.356" y="117.075"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-0" x="248.452" y="117.075"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-1" x="257.797" y="117.075"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-1" x="242.356" y="132.082"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-3-6" x="288.323" y="108.888"/> +<use xlink:href="#glyph-3-7" x="298.396477" y="108.888"/> +<use xlink:href="#glyph-3-8" x="304.583338" y="108.888"/> +<use xlink:href="#glyph-3-6" x="313.491821" y="108.888"/> +</g> +</svg> diff --git a/doc-images/equations/basis-prefactor.tex b/doc-images/equations/basis-prefactor.tex new file mode 100644 index 0000000..0b93230 --- /dev/null +++ b/doc-images/equations/basis-prefactor.tex @@ -0,0 +1,11 @@ +\input{_preamble} +\begin{document} + \myeqs{ + \mu_{g,h}^{(k)}(u) + = + \begin{cases} + 0 & \text{if}\quad u_{g+h+1}^{(k)} = u_{g}^{(k)}\\[2mm] + \frac{u-u_g^{(k)}}{u_{g+h+1}^{(k)}-u_g^{(k)}} & \text{else} + \end{cases} + } +\end{document} diff --git a/doc-images/equations/control-points.svg b/doc-images/equations/control-points.svg new file mode 100644 index 0000000..5843c4c --- /dev/null +++ b/doc-images/equations/control-points.svg @@ -0,0 +1,388 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="762.018" height="196.121" viewBox="0 0 762.018 196.121"> +<defs> +<g> +<g id="glyph-0-0"> +<path d="M 8.96875 -7.484375 L 13.359375 -7.484375 C 17.921875 -7.484375 21.046875 -10.265625 21.046875 -13.1875 C 21.046875 -15.71875 18.765625 -17 15.484375 -17 L 5.953125 -17 C 5.484375 -17 5.03125 -17 5.03125 -16.28125 C 5.03125 -15.828125 5.375 -15.828125 6.078125 -15.828125 C 6.59375 -15.828125 7.0625 -15.8125 7.578125 -15.78125 L 4.046875 -1.65625 C 3.9375 -1.265625 3.921875 -1.234375 3.46875 -1.1875 C 3.046875 -1.171875 2.546875 -1.171875 2.15625 -1.171875 C 1.515625 -1.171875 1.46875 -1.171875 1.390625 -1.09375 C 1.0625 -0.9375 1.0625 -0.5625 1.0625 -0.453125 C 1.0625 -0.421875 1.0625 0 1.609375 0 C 2.234375 0 2.875 -0.046875 3.5 -0.046875 C 4.109375 -0.046875 4.765625 -0.078125 5.375 -0.078125 C 6.015625 -0.078125 6.671875 -0.046875 7.28125 -0.046875 C 7.9375 -0.046875 8.59375 0 9.21875 0 C 9.46875 0 9.9375 0 9.9375 -0.6875 C 9.9375 -1.171875 9.640625 -1.171875 8.921875 -1.171875 C 8.40625 -1.171875 7.9375 -1.1875 7.40625 -1.21875 Z M 10.796875 -15.390625 C 10.90625 -15.765625 10.921875 -15.78125 11.078125 -15.8125 C 11.296875 -15.828125 11.46875 -15.828125 11.75 -15.828125 L 14.328125 -15.828125 C 15.71875 -15.828125 17.5625 -15.59375 17.5625 -13.875 C 17.5625 -13.578125 17.25 -11.046875 16.328125 -9.859375 C 15.8125 -9.1875 14.6875 -8.5 12.46875 -8.5 L 9.0625 -8.5 Z M 10.796875 -15.390625 "/> +</g> +<g id="glyph-1-0"> +<path d="M 6.328125 5.046875 C 6.328125 5.015625 6.328125 4.984375 6.265625 4.921875 C 5.3125 3.953125 2.765625 1.296875 2.765625 -5.140625 C 2.765625 -11.59375 5.265625 -14.21875 6.28125 -15.25 C 6.28125 -15.265625 6.328125 -15.3125 6.328125 -15.375 C 6.328125 -15.4375 6.265625 -15.46875 6.171875 -15.46875 C 5.953125 -15.46875 4.1875 -13.9375 3.1875 -11.671875 C 2.140625 -9.375 1.859375 -7.140625 1.859375 -5.171875 C 1.859375 -3.671875 2 -1.15625 3.25 1.515625 C 4.234375 3.65625 5.921875 5.171875 6.171875 5.171875 C 6.28125 5.171875 6.328125 5.125 6.328125 5.046875 Z M 6.328125 5.046875 "/> +</g> +<g id="glyph-1-1"> +<path d="M 5.4375 -5.140625 C 5.4375 -6.625 5.28125 -9.15625 4.046875 -11.8125 C 3.0625 -13.96875 1.359375 -15.46875 1.109375 -15.46875 C 1.046875 -15.46875 0.96875 -15.453125 0.96875 -15.34375 C 0.96875 -15.3125 0.984375 -15.28125 1.015625 -15.25 C 2 -14.21875 4.53125 -11.59375 4.53125 -5.171875 C 4.53125 1.28125 2.03125 3.90625 1.015625 4.9375 C 0.984375 4.984375 0.96875 5 0.96875 5.046875 C 0.96875 5.140625 1.046875 5.171875 1.109375 5.171875 C 1.34375 5.171875 3.09375 3.640625 4.109375 1.359375 C 5.140625 -0.921875 5.4375 -3.15625 5.4375 -5.140625 Z M 5.4375 -5.140625 "/> +</g> +<g id="glyph-1-2"> +<path d="M 8.671875 -6.625 C 8.671875 -7.890625 8.65625 -10.03125 7.78125 -11.6875 C 7.015625 -13.140625 5.796875 -13.65625 4.734375 -13.65625 C 3.734375 -13.65625 2.484375 -13.203125 1.6875 -11.71875 C 0.875 -10.15625 0.78125 -8.234375 0.78125 -6.625 C 0.78125 -5.453125 0.8125 -3.65625 1.453125 -2.09375 C 2.328125 0.046875 3.921875 0.328125 4.734375 0.328125 C 5.6875 0.328125 7.125 -0.0625 7.96875 -2.03125 C 8.59375 -3.453125 8.671875 -5.125 8.671875 -6.625 Z M 4.734375 0 C 3.40625 0 2.625 -1.140625 2.328125 -2.703125 C 2.109375 -3.921875 2.109375 -5.703125 2.109375 -6.859375 C 2.109375 -8.453125 2.109375 -9.765625 2.375 -11.03125 C 2.765625 -12.78125 3.921875 -13.328125 4.734375 -13.328125 C 5.578125 -13.328125 6.671875 -12.765625 7.0625 -11.078125 C 7.328125 -9.890625 7.359375 -8.515625 7.359375 -6.859375 C 7.359375 -5.515625 7.359375 -3.859375 7.109375 -2.640625 C 6.671875 -0.390625 5.453125 0 4.734375 0 Z M 4.734375 0 "/> +</g> +<g id="glyph-1-3"> +<path d="M 7.78125 -4.796875 L 13.265625 -4.796875 C 13.546875 -4.796875 13.90625 -4.796875 13.90625 -5.140625 C 13.90625 -5.515625 13.578125 -5.515625 13.265625 -5.515625 L 7.78125 -5.515625 L 7.78125 -10.984375 C 7.78125 -11.28125 7.78125 -11.625 7.4375 -11.625 C 7.0625 -11.625 7.0625 -11.296875 7.0625 -10.984375 L 7.0625 -5.515625 L 1.59375 -5.515625 C 1.296875 -5.515625 0.953125 -5.515625 0.953125 -5.171875 C 0.953125 -4.796875 1.28125 -4.796875 1.59375 -4.796875 L 7.0625 -4.796875 L 7.0625 0.6875 C 7.0625 0.96875 7.0625 1.328125 7.421875 1.328125 C 7.78125 1.328125 7.78125 0.984375 7.78125 0.6875 Z M 7.78125 -4.796875 "/> +</g> +<g id="glyph-1-4"> +<path d="M 5.5 -13.203125 C 5.5 -13.640625 5.46875 -13.65625 5.1875 -13.65625 C 4.375 -12.6875 3.15625 -12.375 2 -12.328125 C 1.9375 -12.328125 1.84375 -12.328125 1.8125 -12.296875 C 1.796875 -12.25 1.796875 -12.203125 1.796875 -11.78125 C 2.4375 -11.78125 3.515625 -11.890625 4.34375 -12.390625 L 4.34375 -1.515625 C 4.34375 -0.78125 4.296875 -0.53125 2.515625 -0.53125 L 1.90625 -0.53125 L 1.90625 0 C 2.890625 -0.015625 3.921875 -0.046875 4.921875 -0.046875 C 5.90625 -0.046875 6.9375 -0.015625 7.9375 0 L 7.9375 -0.53125 L 7.3125 -0.53125 C 5.53125 -0.53125 5.5 -0.765625 5.5 -1.515625 Z M 5.5 -13.203125 "/> +</g> +<g id="glyph-2-0"> +<path d="M 5.796875 -13.8125 C 5.828125 -13.90625 5.859375 -14.03125 5.859375 -14.125 C 5.859375 -14.328125 5.65625 -14.328125 5.625 -14.328125 C 5.59375 -14.328125 4.859375 -14.28125 4.484375 -14.234375 C 4.125 -14.21875 3.828125 -14.171875 3.453125 -14.15625 C 2.953125 -14.109375 2.8125 -14.09375 2.8125 -13.71875 C 2.8125 -13.515625 3.015625 -13.515625 3.21875 -13.515625 C 4.28125 -13.515625 4.28125 -13.328125 4.28125 -13.109375 C 4.28125 -13.03125 4.28125 -13 4.171875 -12.625 L 1.21875 -0.8125 C 1.140625 -0.5 1.140625 -0.453125 1.140625 -0.328125 C 1.140625 0.125 1.484375 0.203125 1.6875 0.203125 C 2.265625 0.203125 2.390625 -0.25 2.5625 -0.890625 L 3.53125 -4.75 C 5.015625 -4.578125 5.90625 -3.96875 5.90625 -2.96875 C 5.90625 -2.84375 5.90625 -2.765625 5.84375 -2.453125 C 5.765625 -2.140625 5.765625 -1.90625 5.765625 -1.796875 C 5.765625 -0.59375 6.546875 0.203125 7.59375 0.203125 C 8.546875 0.203125 9.046875 -0.65625 9.21875 -0.953125 C 9.640625 -1.71875 9.921875 -2.875 9.921875 -2.953125 C 9.921875 -3.0625 9.828125 -3.140625 9.703125 -3.140625 C 9.515625 -3.140625 9.5 -3.0625 9.421875 -2.734375 C 9.125 -1.65625 8.703125 -0.203125 7.640625 -0.203125 C 7.234375 -0.203125 6.96875 -0.40625 6.96875 -1.203125 C 6.96875 -1.59375 7.046875 -2.046875 7.125 -2.359375 C 7.203125 -2.734375 7.203125 -2.75 7.203125 -3 C 7.203125 -4.21875 6.109375 -4.890625 4.21875 -5.140625 C 4.953125 -5.59375 5.703125 -6.40625 5.984375 -6.71875 C 7.171875 -8.03125 7.96875 -8.703125 8.921875 -8.703125 C 9.40625 -8.703125 9.515625 -8.578125 9.671875 -8.453125 C 8.90625 -8.359375 8.609375 -7.828125 8.609375 -7.421875 C 8.609375 -6.921875 9 -6.75 9.296875 -6.75 C 9.859375 -6.75 10.34375 -7.234375 10.34375 -7.890625 C 10.34375 -8.484375 9.875 -9.109375 8.9375 -9.109375 C 7.8125 -9.109375 6.875 -8.296875 5.40625 -6.65625 C 5.203125 -6.40625 4.4375 -5.625 3.671875 -5.328125 Z M 5.796875 -13.8125 "/> +</g> +<g id="glyph-2-1"> +<path d="M 5.84375 -2.953125 C 5.84375 -3.0625 5.765625 -3.140625 5.640625 -3.140625 C 5.453125 -3.140625 5.4375 -3.078125 5.328125 -2.734375 C 4.796875 -0.84375 3.953125 -0.203125 3.265625 -0.203125 C 3.015625 -0.203125 2.734375 -0.265625 2.734375 -0.890625 C 2.734375 -1.453125 2.96875 -2.0625 3.203125 -2.6875 L 4.640625 -6.53125 C 4.703125 -6.6875 4.859375 -7.0625 4.859375 -7.453125 C 4.859375 -8.328125 4.234375 -9.109375 3.21875 -9.109375 C 1.328125 -9.109375 0.5625 -6.109375 0.5625 -5.953125 C 0.5625 -5.859375 0.640625 -5.765625 0.78125 -5.765625 C 0.96875 -5.765625 0.984375 -5.84375 1.078125 -6.140625 C 1.5625 -7.875 2.359375 -8.703125 3.15625 -8.703125 C 3.34375 -8.703125 3.703125 -8.671875 3.703125 -8.015625 C 3.703125 -7.484375 3.421875 -6.796875 3.265625 -6.34375 L 1.8125 -2.5 C 1.6875 -2.171875 1.5625 -1.84375 1.5625 -1.46875 C 1.5625 -0.53125 2.203125 0.203125 3.203125 0.203125 C 5.109375 0.203125 5.84375 -2.8125 5.84375 -2.953125 Z M 5.6875 -12.890625 C 5.6875 -13.203125 5.4375 -13.578125 4.984375 -13.578125 C 4.5 -13.578125 3.96875 -13.109375 3.96875 -12.578125 C 3.96875 -12.0625 4.40625 -11.890625 4.640625 -11.890625 C 5.203125 -11.890625 5.6875 -12.4375 5.6875 -12.890625 Z M 5.6875 -12.890625 "/> +</g> +<g id="glyph-2-2"> +<path d="M 0.890625 2.625 C 0.75 3.25 0.65625 3.40625 -0.1875 3.40625 C -0.4375 3.40625 -0.640625 3.40625 -0.640625 3.796875 C -0.640625 3.84375 -0.625 4 -0.390625 4 C -0.125 4 0.171875 3.96875 0.4375 3.96875 L 1.328125 3.96875 C 1.75 3.96875 2.8125 4 3.25 4 C 3.359375 4 3.609375 4 3.609375 3.640625 C 3.609375 3.40625 3.46875 3.40625 3.125 3.40625 C 2.171875 3.40625 2.109375 3.265625 2.109375 3.09375 C 2.109375 2.84375 3.03125 -0.703125 3.15625 -1.171875 C 3.390625 -0.59375 3.953125 0.203125 5.015625 0.203125 C 7.359375 0.203125 9.875 -2.828125 9.875 -5.859375 C 9.875 -7.765625 8.796875 -9.109375 7.25 -9.109375 C 5.921875 -9.109375 4.8125 -7.828125 4.578125 -7.546875 C 4.421875 -8.578125 3.609375 -9.109375 2.78125 -9.109375 C 2.1875 -9.109375 1.71875 -8.8125 1.328125 -8.03125 C 0.953125 -7.296875 0.65625 -6.03125 0.65625 -5.953125 C 0.65625 -5.859375 0.75 -5.765625 0.890625 -5.765625 C 1.046875 -5.765625 1.078125 -5.78125 1.203125 -6.265625 C 1.515625 -7.484375 1.90625 -8.703125 2.734375 -8.703125 C 3.203125 -8.703125 3.359375 -8.359375 3.359375 -7.75 C 3.359375 -7.25 3.3125 -7.046875 3.21875 -6.671875 Z M 4.46875 -6.4375 C 4.609375 -7.015625 5.1875 -7.625 5.515625 -7.90625 C 5.75 -8.125 6.421875 -8.703125 7.203125 -8.703125 C 8.125 -8.703125 8.53125 -7.78125 8.53125 -6.71875 C 8.53125 -5.71875 7.953125 -3.390625 7.4375 -2.3125 C 6.921875 -1.203125 5.96875 -0.203125 5.015625 -0.203125 C 3.609375 -0.203125 3.390625 -1.984375 3.390625 -2.0625 C 3.390625 -2.125 3.421875 -2.296875 3.453125 -2.390625 Z M 4.46875 -6.4375 "/> +</g> +<g id="glyph-2-3"> +<path d="M 7.046875 -1.203125 C 7.3125 -0.046875 8.296875 0.203125 8.796875 0.203125 C 9.453125 0.203125 9.953125 -0.234375 10.28125 -0.921875 C 10.640625 -1.671875 10.90625 -2.890625 10.90625 -2.953125 C 10.90625 -3.0625 10.828125 -3.140625 10.703125 -3.140625 C 10.515625 -3.140625 10.5 -3.03125 10.40625 -2.734375 C 10.03125 -1.296875 9.671875 -0.203125 8.84375 -0.203125 C 8.21875 -0.203125 8.21875 -0.890625 8.21875 -1.15625 C 8.21875 -1.625 8.28125 -1.84375 8.484375 -2.703125 C 8.640625 -3.265625 8.78125 -3.828125 8.90625 -4.40625 L 9.75 -7.765625 C 9.890625 -8.28125 9.890625 -8.328125 9.890625 -8.390625 C 9.890625 -8.703125 9.640625 -8.90625 9.34375 -8.90625 C 8.734375 -8.90625 8.59375 -8.390625 8.46875 -7.875 C 8.265625 -7.0625 7.140625 -2.625 7 -1.90625 C 6.984375 -1.90625 6.171875 -0.203125 4.671875 -0.203125 C 3.59375 -0.203125 3.390625 -1.140625 3.390625 -1.90625 C 3.390625 -3.078125 3.96875 -4.734375 4.5 -6.109375 C 4.75 -6.78125 4.859375 -7.046875 4.859375 -7.453125 C 4.859375 -8.34375 4.21875 -9.109375 3.21875 -9.109375 C 1.328125 -9.109375 0.5625 -6.109375 0.5625 -5.953125 C 0.5625 -5.859375 0.640625 -5.765625 0.78125 -5.765625 C 0.96875 -5.765625 0.984375 -5.84375 1.078125 -6.140625 C 1.5625 -7.90625 2.375 -8.703125 3.15625 -8.703125 C 3.359375 -8.703125 3.703125 -8.671875 3.703125 -8.015625 C 3.703125 -7.484375 3.46875 -6.875 3.15625 -6.09375 C 2.25 -3.640625 2.140625 -2.84375 2.140625 -2.234375 C 2.140625 -0.125 3.734375 0.203125 4.578125 0.203125 C 5.90625 0.203125 6.625 -0.703125 7.046875 -1.203125 Z M 7.046875 -1.203125 "/> +</g> +<g id="glyph-3-0"> +<path d="M 15.9375 -7.953125 C 16.3125 -7.953125 16.671875 -7.953125 16.671875 -8.375 C 16.671875 -8.828125 16.25 -8.828125 15.828125 -8.828125 L 1.984375 -8.828125 C 1.5625 -8.828125 1.140625 -8.828125 1.140625 -8.375 C 1.140625 -7.953125 1.515625 -7.953125 1.890625 -7.953125 Z M 15.828125 -3.546875 C 16.25 -3.546875 16.671875 -3.546875 16.671875 -3.984375 C 16.671875 -4.40625 16.3125 -4.40625 15.9375 -4.40625 L 1.890625 -4.40625 C 1.515625 -4.40625 1.140625 -4.40625 1.140625 -3.984375 C 1.140625 -3.546875 1.5625 -3.546875 1.984375 -3.546875 Z M 15.828125 -3.546875 "/> +</g> +<g id="glyph-3-1"> +<path d="M 10.40625 -7.953125 C 10.40625 -9.46875 10.390625 -12.046875 9.34375 -14.03125 C 8.421875 -15.765625 6.96875 -16.375 5.671875 -16.375 C 4.484375 -16.375 2.96875 -15.828125 2.03125 -14.046875 C 1.046875 -12.1875 0.9375 -9.890625 0.9375 -7.953125 C 0.9375 -6.546875 0.96875 -4.390625 1.734375 -2.5 C 2.796875 0.046875 4.703125 0.390625 5.671875 0.390625 C 6.8125 0.390625 8.546875 -0.078125 9.5625 -2.421875 C 10.3125 -4.140625 10.40625 -6.140625 10.40625 -7.953125 Z M 5.671875 0 C 4.09375 0 3.140625 -1.359375 2.796875 -3.25 C 2.53125 -4.703125 2.53125 -6.84375 2.53125 -8.234375 C 2.53125 -10.140625 2.53125 -11.71875 2.84375 -13.234375 C 3.328125 -15.34375 4.703125 -15.984375 5.671875 -15.984375 C 6.6875 -15.984375 8 -15.3125 8.46875 -13.28125 C 8.796875 -11.875 8.828125 -10.203125 8.828125 -8.234375 C 8.828125 -6.609375 8.828125 -4.640625 8.53125 -3.171875 C 8 -0.46875 6.546875 0 5.671875 0 Z M 5.671875 0 "/> +</g> +<g id="glyph-3-2"> +<path d="M 9.4375 -5.828125 C 9.546875 -5.921875 9.546875 -5.96875 9.546875 -6.21875 C 9.546875 -8.75 8.203125 -10.953125 5.375 -10.953125 C 2.75 -10.953125 0.671875 -8.453125 0.671875 -5.40625 C 0.671875 -2.1875 3.015625 0.203125 5.65625 0.203125 C 8.421875 0.203125 9.515625 -2.421875 9.515625 -2.953125 C 9.515625 -3.125 9.375 -3.125 9.3125 -3.125 C 9.140625 -3.125 9.125 -3.078125 9.015625 -2.78125 C 8.46875 -1.09375 7.109375 -0.25 5.828125 -0.25 C 4.765625 -0.25 3.6875 -0.84375 3.015625 -1.9375 C 2.25 -3.203125 2.25 -4.65625 2.25 -5.828125 Z M 2.28125 -6.1875 C 2.453125 -9.765625 4.359375 -10.5625 5.359375 -10.5625 C 7.03125 -10.5625 8.171875 -8.96875 8.203125 -6.1875 Z M 2.28125 -6.1875 "/> +</g> +<g id="glyph-3-3"> +<path d="M 3.796875 -17.203125 L 0.84375 -16.921875 L 0.84375 -16.28125 C 2.296875 -16.28125 2.53125 -16.125 2.53125 -14.9375 L 2.53125 -1.703125 C 2.53125 -0.765625 2.421875 -0.640625 0.84375 -0.640625 L 0.84375 0 C 1.4375 -0.046875 2.53125 -0.046875 3.140625 -0.046875 C 3.796875 -0.046875 4.875 -0.046875 5.484375 0 L 5.484375 -0.640625 C 3.890625 -0.640625 3.796875 -0.75 3.796875 -1.703125 Z M 3.796875 -17.203125 "/> +</g> +<g id="glyph-3-4"> +<path d="M 7.65625 -10.453125 C 7.65625 -10.90625 7.625 -10.921875 7.484375 -10.921875 C 7.390625 -10.921875 7.359375 -10.90625 7.0625 -10.53125 C 6.984375 -10.4375 6.765625 -10.1875 6.6875 -10.09375 C 5.890625 -10.921875 4.78125 -10.953125 4.359375 -10.953125 C 1.609375 -10.953125 0.625 -9.515625 0.625 -8.078125 C 0.625 -5.84375 3.140625 -5.328125 3.859375 -5.171875 C 5.421875 -4.859375 5.96875 -4.765625 6.5 -4.3125 C 6.8125 -4.015625 7.359375 -3.46875 7.359375 -2.578125 C 7.359375 -1.53125 6.765625 -0.203125 4.484375 -0.203125 C 2.328125 -0.203125 1.5625 -1.828125 1.109375 -4.015625 C 1.046875 -4.359375 1.046875 -4.390625 0.84375 -4.390625 C 0.640625 -4.390625 0.625 -4.359375 0.625 -3.859375 L 0.625 -0.296875 C 0.625 0.15625 0.640625 0.171875 0.796875 0.171875 C 0.921875 0.171875 0.9375 0.15625 1.0625 -0.046875 C 1.21875 -0.265625 1.59375 -0.875 1.734375 -1.109375 C 2.234375 -0.453125 3.09375 0.203125 4.484375 0.203125 C 6.9375 0.203125 8.25 -1.140625 8.25 -3.078125 C 8.25 -4.34375 7.578125 -5 7.265625 -5.296875 C 6.515625 -6.078125 5.65625 -6.25 4.609375 -6.4375 C 3.25 -6.734375 1.515625 -7.09375 1.515625 -8.59375 C 1.515625 -9.25 1.859375 -10.609375 4.359375 -10.609375 C 7.015625 -10.609375 7.15625 -8.125 7.21875 -7.328125 C 7.234375 -7.21875 7.359375 -7.1875 7.4375 -7.1875 C 7.65625 -7.1875 7.65625 -7.265625 7.65625 -7.6875 Z M 7.65625 -10.453125 "/> +</g> +<g id="glyph-4-0"> +<path d="M 12.484375 11.21875 C 12.484375 9.1875 13.03125 4.453125 17.453125 1.34375 C 17.765625 1.09375 17.796875 1.0625 17.796875 0.625 C 17.796875 0.046875 17.765625 0.03125 17.15625 0.03125 L 16.75 0.03125 C 11.421875 2.90625 9.515625 7.578125 9.515625 11.21875 L 9.515625 21.875 C 9.515625 22.53125 9.546875 22.546875 10.203125 22.546875 L 11.796875 22.546875 C 12.46875 22.546875 12.484375 22.53125 12.484375 21.875 Z M 12.484375 11.21875 "/> +</g> +<g id="glyph-4-1"> +<path d="M 12.484375 0.421875 C 12.484375 -0.21875 12.46875 -0.25 11.796875 -0.25 L 10.203125 -0.25 C 9.546875 -0.25 9.515625 -0.21875 9.515625 0.421875 L 9.515625 7.015625 C 9.515625 7.65625 9.546875 7.6875 10.203125 7.6875 L 11.796875 7.6875 C 12.46875 7.6875 12.484375 7.65625 12.484375 7.015625 Z M 12.484375 0.421875 "/> +</g> +<g id="glyph-4-2"> +<path d="M 9.515625 44.1875 C 9.515625 44.828125 9.546875 44.859375 10.203125 44.859375 L 11.796875 44.859375 C 12.46875 44.859375 12.484375 44.828125 12.484375 44.1875 L 12.484375 33.734375 C 12.484375 30.734375 11.21875 25.671875 5.671875 22.296875 C 11.28125 18.90625 12.484375 13.796875 12.484375 10.875 L 12.484375 0.421875 C 12.484375 -0.21875 12.46875 -0.25 11.796875 -0.25 L 10.203125 -0.25 C 9.546875 -0.25 9.515625 -0.21875 9.515625 0.421875 L 9.515625 10.90625 C 9.515625 12.984375 9.0625 18.140625 4.515625 21.609375 C 4.234375 21.828125 4.21875 21.859375 4.21875 22.296875 C 4.21875 22.75 4.234375 22.78125 4.515625 23 C 5.15625 23.5 6.859375 24.8125 8.046875 27.3125 C 9.015625 29.296875 9.515625 31.5 9.515625 33.703125 Z M 9.515625 44.1875 "/> +</g> +<g id="glyph-4-3"> +<path d="M 17.15625 22.28125 C 17.765625 22.28125 17.796875 22.25 17.796875 21.6875 C 17.796875 21.234375 17.765625 21.21875 17.671875 21.140625 C 16.90625 20.5625 15.109375 19.296875 13.953125 17.03125 C 12.984375 15.140625 12.484375 13.234375 12.484375 11.078125 L 12.484375 0.421875 C 12.484375 -0.21875 12.46875 -0.25 11.796875 -0.25 L 10.203125 -0.25 C 9.546875 -0.25 9.515625 -0.21875 9.515625 0.421875 L 9.515625 11.078125 C 9.515625 14.75 11.421875 19.421875 16.75 22.28125 Z M 17.15625 22.28125 "/> +</g> +<g id="glyph-4-4"> +<path d="M 12.765625 43.3125 C 12.8125 43.34375 13.03125 43.59375 13.0625 43.59375 L 13.609375 43.59375 C 13.671875 43.59375 13.875 43.5625 13.875 43.34375 C 13.875 43.25 13.828125 43.1875 13.78125 43.125 C 12.890625 42.234375 11.546875 40.859375 10.015625 38.140625 C 7.328125 33.375 6.34375 27.265625 6.34375 21.3125 C 6.34375 10.3125 9.46875 3.84375 13.796875 -0.546875 C 13.875 -0.625 13.875 -0.6875 13.875 -0.75 C 13.875 -0.984375 13.703125 -0.984375 13.40625 -0.984375 C 13.078125 -0.984375 13.03125 -0.984375 12.8125 -0.796875 C 10.453125 1.234375 7.8125 4.6875 6.09375 9.90625 C 5.03125 13.1875 4.453125 17.171875 4.453125 21.28125 C 4.453125 27.15625 5.53125 33.796875 9.421875 39.546875 C 10.09375 40.515625 11 41.53125 11 41.5625 C 11.25 41.859375 11.59375 42.25 11.796875 42.421875 Z M 12.765625 43.3125 "/> +</g> +<g id="glyph-4-5"> +<path d="M 10.3125 21.28125 C 10.3125 14.171875 8.65625 6.609375 3.765625 1.046875 C 3.421875 0.640625 2.5 -0.328125 1.90625 -0.84375 C 1.734375 -0.984375 1.6875 -0.984375 1.359375 -0.984375 C 1.109375 -0.984375 0.890625 -0.984375 0.890625 -0.75 C 0.890625 -0.640625 0.984375 -0.546875 1.046875 -0.5 C 1.890625 0.375 3.21875 1.734375 4.765625 4.453125 C 7.4375 9.21875 8.421875 15.34375 8.421875 21.28125 C 8.421875 32.046875 5.453125 38.609375 0.984375 43.140625 C 0.9375 43.1875 0.890625 43.265625 0.890625 43.34375 C 0.890625 43.59375 1.109375 43.59375 1.359375 43.59375 C 1.6875 43.59375 1.734375 43.59375 1.953125 43.390625 C 4.3125 41.359375 6.96875 37.921875 8.671875 32.6875 C 9.765625 29.296875 10.3125 25.28125 10.3125 21.28125 Z M 10.3125 21.28125 "/> +</g> +<g id="glyph-4-6"> +<path d="M 3.59375 14.46875 C 3.59375 14.875 3.59375 15.390625 4.109375 15.390625 C 4.65625 15.390625 4.65625 14.890625 4.65625 14.46875 L 4.65625 0.390625 C 4.65625 0 4.65625 -0.515625 4.140625 -0.515625 C 3.59375 -0.515625 3.59375 -0.03125 3.59375 0.390625 Z M 3.59375 14.46875 "/> +</g> +<g id="glyph-5-0"> +<path d="M 6.96875 -16.578125 C 6.984375 -16.671875 7.03125 -16.828125 7.03125 -16.953125 C 7.03125 -17.203125 6.796875 -17.203125 6.734375 -17.203125 C 6.71875 -17.203125 5.828125 -17.125 5.375 -17.078125 C 4.953125 -17.046875 4.578125 -17 4.140625 -16.96875 C 3.546875 -16.921875 3.375 -16.90625 3.375 -16.453125 C 3.375 -16.203125 3.625 -16.203125 3.859375 -16.203125 C 5.125 -16.203125 5.125 -15.984375 5.125 -15.734375 C 5.125 -15.640625 5.125 -15.59375 5 -15.140625 L 1.46875 -0.96875 C 1.359375 -0.59375 1.359375 -0.546875 1.359375 -0.390625 C 1.359375 0.15625 1.78125 0.25 2.03125 0.25 C 2.71875 0.25 2.875 -0.296875 3.078125 -1.0625 L 4.234375 -5.703125 C 6.015625 -5.5 7.09375 -4.765625 7.09375 -3.5625 C 7.09375 -3.421875 7.09375 -3.328125 7.015625 -2.953125 C 6.90625 -2.578125 6.90625 -2.28125 6.90625 -2.15625 C 6.90625 -0.71875 7.859375 0.25 9.125 0.25 C 10.265625 0.25 10.859375 -0.796875 11.046875 -1.140625 C 11.578125 -2.0625 11.890625 -3.4375 11.890625 -3.546875 C 11.890625 -3.671875 11.796875 -3.765625 11.640625 -3.765625 C 11.421875 -3.765625 11.40625 -3.671875 11.296875 -3.265625 C 10.953125 -1.984375 10.4375 -0.25 9.171875 -0.25 C 8.671875 -0.25 8.34375 -0.5 8.34375 -1.4375 C 8.34375 -1.90625 8.453125 -2.453125 8.546875 -2.828125 C 8.65625 -3.265625 8.65625 -3.296875 8.65625 -3.59375 C 8.65625 -5.0625 7.328125 -5.875 5.0625 -6.171875 C 5.953125 -6.71875 6.84375 -7.6875 7.1875 -8.046875 C 8.59375 -9.640625 9.5625 -10.4375 10.703125 -10.4375 C 11.28125 -10.4375 11.421875 -10.28125 11.59375 -10.140625 C 10.6875 -10.03125 10.328125 -9.390625 10.328125 -8.890625 C 10.328125 -8.296875 10.796875 -8.109375 11.15625 -8.109375 C 11.828125 -8.109375 12.421875 -8.671875 12.421875 -9.46875 C 12.421875 -10.1875 11.84375 -10.921875 10.734375 -10.921875 C 9.375 -10.921875 8.25 -9.96875 6.5 -7.984375 C 6.25 -7.6875 5.328125 -6.734375 4.40625 -6.390625 Z M 6.96875 -16.578125 "/> +</g> +<g id="glyph-5-1"> +<path d="M 8.453125 -1.4375 C 8.765625 -0.046875 9.96875 0.25 10.5625 0.25 C 11.34375 0.25 11.9375 -0.265625 12.34375 -1.109375 C 12.765625 -2 13.078125 -3.46875 13.078125 -3.546875 C 13.078125 -3.671875 12.984375 -3.765625 12.84375 -3.765625 C 12.609375 -3.765625 12.59375 -3.640625 12.484375 -3.265625 C 12.046875 -1.5625 11.59375 -0.25 10.609375 -0.25 C 9.859375 -0.25 9.859375 -1.0625 9.859375 -1.390625 C 9.859375 -1.953125 9.9375 -2.203125 10.1875 -3.25 C 10.359375 -3.921875 10.53125 -4.578125 10.6875 -5.28125 L 11.703125 -9.3125 C 11.875 -9.9375 11.875 -9.984375 11.875 -10.0625 C 11.875 -10.4375 11.578125 -10.6875 11.203125 -10.6875 C 10.484375 -10.6875 10.3125 -10.0625 10.15625 -9.4375 C 9.90625 -8.46875 8.578125 -3.140625 8.40625 -2.28125 C 8.375 -2.28125 7.40625 -0.25 5.59375 -0.25 C 4.3125 -0.25 4.0625 -1.359375 4.0625 -2.28125 C 4.0625 -3.6875 4.765625 -5.671875 5.40625 -7.328125 C 5.703125 -8.125 5.828125 -8.453125 5.828125 -8.953125 C 5.828125 -10.015625 5.0625 -10.921875 3.859375 -10.921875 C 1.59375 -10.921875 0.671875 -7.328125 0.671875 -7.140625 C 0.671875 -7.03125 0.765625 -6.90625 0.9375 -6.90625 C 1.171875 -6.90625 1.1875 -7.015625 1.28125 -7.359375 C 1.890625 -9.484375 2.84375 -10.4375 3.796875 -10.4375 C 4.046875 -10.4375 4.4375 -10.40625 4.4375 -9.609375 C 4.4375 -8.96875 4.15625 -8.25 3.796875 -7.3125 C 2.703125 -4.359375 2.578125 -3.421875 2.578125 -2.671875 C 2.578125 -0.15625 4.484375 0.25 5.5 0.25 C 7.09375 0.25 7.953125 -0.84375 8.453125 -1.4375 Z M 8.453125 -1.4375 "/> +</g> +<g id="glyph-5-2"> +<path d="M 16.328125 -5.65625 C 16.796875 -5.875 16.828125 -6.015625 16.828125 -6.1875 C 16.828125 -6.34375 16.78125 -6.515625 16.328125 -6.71875 L 2.921875 -12.890625 C 2.609375 -13.03125 2.546875 -13.0625 2.5 -13.0625 C 2.203125 -13.0625 2.03125 -12.8125 2.03125 -12.609375 C 2.03125 -12.3125 2.234375 -12.21875 2.546875 -12.0625 L 15.296875 -6.1875 L 2.53125 -0.296875 C 2.03125 -0.078125 2.03125 0.09375 2.03125 0.25 C 2.03125 0.453125 2.203125 0.6875 2.5 0.6875 C 2.546875 0.6875 2.578125 0.671875 2.921875 0.515625 Z M 16.328125 -5.65625 "/> +</g> +<g id="glyph-6-0"> +<path d="M 12.8125 -7.90625 C 12.8125 -10.28125 12.8125 -16.25 6.96875 -16.25 C 1.09375 -16.25 1.09375 -10.3125 1.09375 -7.90625 C 1.09375 -5.53125 1.09375 0.296875 6.9375 0.296875 C 12.78125 0.296875 12.8125 -5.453125 12.8125 -7.90625 Z M 6.96875 -0.515625 C 6.171875 -0.515625 5.578125 -0.84375 5.078125 -1.359375 C 4.453125 -1.984375 4.0625 -2.375 4.0625 -8.203125 C 4.0625 -9.9375 4.0625 -11.515625 4.265625 -12.8125 C 4.609375 -15.265625 6.390625 -15.4375 6.9375 -15.4375 C 7.734375 -15.4375 9.265625 -15.0625 9.609375 -12.984375 C 9.84375 -11.71875 9.84375 -9.71875 9.84375 -8.203125 C 9.84375 -2.359375 9.46875 -2 8.71875 -1.265625 C 8.234375 -0.765625 7.5625 -0.515625 6.96875 -0.515625 Z M 6.96875 -0.515625 "/> +</g> +<g id="glyph-7-0"> +<path d="M 13.609375 -4.75 C 13.96875 -4.75 14.328125 -4.75 14.328125 -5.171875 C 14.328125 -5.578125 13.96875 -5.578125 13.609375 -5.578125 L 2.4375 -5.578125 C 2.09375 -5.578125 1.71875 -5.578125 1.71875 -5.171875 C 1.71875 -4.75 2.09375 -4.75 2.4375 -4.75 Z M 13.609375 -4.75 "/> +</g> +<g id="glyph-8-0"> +<path d="M 5.265625 4.203125 C 5.265625 4.1875 5.265625 4.15625 5.21875 4.09375 C 4.421875 3.28125 2.3125 1.078125 2.3125 -4.28125 C 2.3125 -9.65625 4.390625 -11.84375 5.234375 -12.703125 C 5.234375 -12.71875 5.265625 -12.765625 5.265625 -12.8125 C 5.265625 -12.859375 5.21875 -12.890625 5.140625 -12.890625 C 4.953125 -12.890625 3.5 -11.625 2.65625 -9.734375 C 1.796875 -7.8125 1.546875 -5.953125 1.546875 -4.3125 C 1.546875 -3.0625 1.671875 -0.96875 2.703125 1.25 C 3.53125 3.046875 4.9375 4.3125 5.140625 4.3125 C 5.234375 4.3125 5.265625 4.265625 5.265625 4.203125 Z M 5.265625 4.203125 "/> +</g> +<g id="glyph-8-1"> +<path d="M 7.234375 -5.53125 C 7.234375 -6.578125 7.21875 -8.375 6.484375 -9.75 C 5.859375 -10.953125 4.84375 -11.375 3.9375 -11.375 C 3.109375 -11.375 2.0625 -11 1.40625 -9.765625 C 0.71875 -8.46875 0.65625 -6.875 0.65625 -5.53125 C 0.65625 -4.546875 0.671875 -3.046875 1.203125 -1.734375 C 1.953125 0.03125 3.265625 0.28125 3.9375 0.28125 C 4.734375 0.28125 5.9375 -0.046875 6.640625 -1.6875 C 7.15625 -2.875 7.234375 -4.265625 7.234375 -5.53125 Z M 3.9375 0 C 2.84375 0 2.1875 -0.953125 1.953125 -2.25 C 1.75 -3.265625 1.75 -4.75 1.75 -5.71875 C 1.75 -7.046875 1.75 -8.140625 1.984375 -9.1875 C 2.3125 -10.65625 3.265625 -11.109375 3.9375 -11.109375 C 4.65625 -11.109375 5.5625 -10.640625 5.890625 -9.234375 C 6.109375 -8.25 6.125 -7.09375 6.125 -5.71875 C 6.125 -4.59375 6.125 -3.21875 5.921875 -2.203125 C 5.5625 -0.328125 4.546875 0 3.9375 0 Z M 3.9375 0 "/> +</g> +<g id="glyph-8-2"> +<path d="M 4.53125 -4.28125 C 4.53125 -5.53125 4.40625 -7.625 3.375 -9.84375 C 2.546875 -11.640625 1.140625 -12.890625 0.9375 -12.890625 C 0.875 -12.890625 0.8125 -12.875 0.8125 -12.796875 C 0.8125 -12.765625 0.828125 -12.734375 0.84375 -12.703125 C 1.671875 -11.84375 3.765625 -9.65625 3.765625 -4.3125 C 3.765625 1.0625 1.6875 3.25 0.84375 4.109375 C 0.828125 4.15625 0.8125 4.171875 0.8125 4.203125 C 0.8125 4.28125 0.875 4.3125 0.9375 4.3125 C 1.125 4.3125 2.578125 3.03125 3.421875 1.140625 C 4.28125 -0.78125 4.53125 -2.640625 4.53125 -4.28125 Z M 4.53125 -4.28125 "/> +</g> +<g id="glyph-8-3"> +<path d="M 6.484375 -4 L 11.046875 -4 C 11.296875 -4 11.59375 -4 11.59375 -4.28125 C 11.59375 -4.59375 11.3125 -4.59375 11.046875 -4.59375 L 6.484375 -4.59375 L 6.484375 -9.15625 C 6.484375 -9.40625 6.484375 -9.6875 6.203125 -9.6875 C 5.890625 -9.6875 5.890625 -9.421875 5.890625 -9.15625 L 5.890625 -4.59375 L 1.328125 -4.59375 C 1.078125 -4.59375 0.796875 -4.59375 0.796875 -4.3125 C 0.796875 -4 1.0625 -4 1.328125 -4 L 5.890625 -4 L 5.890625 0.5625 C 5.890625 0.8125 5.890625 1.109375 6.1875 1.109375 C 6.484375 1.109375 6.484375 0.828125 6.484375 0.5625 Z M 6.484375 -4 "/> +</g> +<g id="glyph-8-4"> +<path d="M 4.578125 -11 C 4.578125 -11.359375 4.5625 -11.375 4.328125 -11.375 C 3.65625 -10.578125 2.640625 -10.3125 1.671875 -10.28125 C 1.625 -10.28125 1.53125 -10.28125 1.515625 -10.25 C 1.5 -10.203125 1.5 -10.171875 1.5 -9.8125 C 2.03125 -9.8125 2.921875 -9.921875 3.609375 -10.328125 L 3.609375 -1.25 C 3.609375 -0.65625 3.578125 -0.453125 2.09375 -0.453125 L 1.578125 -0.453125 L 1.578125 0 C 2.40625 -0.015625 3.265625 -0.03125 4.09375 -0.03125 C 4.921875 -0.03125 5.78125 -0.015625 6.609375 0 L 6.609375 -0.453125 L 6.09375 -0.453125 C 4.609375 -0.453125 4.578125 -0.640625 4.578125 -1.25 Z M 4.578125 -11 "/> +</g> +<g id="glyph-9-0"> +<path d="M 4.875 -2.46875 C 4.875 -2.546875 4.796875 -2.625 4.703125 -2.625 C 4.546875 -2.625 4.53125 -2.5625 4.4375 -2.265625 C 4 -0.703125 3.28125 -0.171875 2.71875 -0.171875 C 2.515625 -0.171875 2.265625 -0.21875 2.265625 -0.734375 C 2.265625 -1.203125 2.484375 -1.71875 2.671875 -2.234375 L 3.875 -5.4375 C 3.921875 -5.578125 4.046875 -5.890625 4.046875 -6.21875 C 4.046875 -6.9375 3.53125 -7.59375 2.6875 -7.59375 C 1.109375 -7.59375 0.46875 -5.09375 0.46875 -4.953125 C 0.46875 -4.890625 0.53125 -4.796875 0.65625 -4.796875 C 0.8125 -4.796875 0.828125 -4.875 0.890625 -5.109375 C 1.3125 -6.5625 1.96875 -7.25 2.640625 -7.25 C 2.796875 -7.25 3.078125 -7.234375 3.078125 -6.6875 C 3.078125 -6.234375 2.859375 -5.671875 2.71875 -5.28125 L 1.515625 -2.078125 C 1.40625 -1.8125 1.3125 -1.53125 1.3125 -1.21875 C 1.3125 -0.453125 1.84375 0.171875 2.671875 0.171875 C 4.25 0.171875 4.875 -2.34375 4.875 -2.46875 Z M 4.734375 -10.75 C 4.734375 -11 4.53125 -11.3125 4.15625 -11.3125 C 3.75 -11.3125 3.3125 -10.9375 3.3125 -10.484375 C 3.3125 -10.0625 3.671875 -9.921875 3.875 -9.921875 C 4.34375 -9.921875 4.734375 -10.359375 4.734375 -10.75 Z M 4.734375 -10.75 "/> +</g> +<g id="glyph-9-1"> +<path d="M 0.734375 2.1875 C 0.625 2.703125 0.546875 2.84375 -0.15625 2.84375 C -0.359375 2.84375 -0.53125 2.84375 -0.53125 3.171875 C -0.53125 3.203125 -0.515625 3.34375 -0.328125 3.34375 C -0.109375 3.34375 0.140625 3.3125 0.359375 3.3125 L 1.109375 3.3125 C 1.46875 3.3125 2.34375 3.34375 2.703125 3.34375 C 2.8125 3.34375 3.015625 3.34375 3.015625 3.03125 C 3.015625 2.84375 2.890625 2.84375 2.59375 2.84375 C 1.8125 2.84375 1.75 2.71875 1.75 2.578125 C 1.75 2.375 2.53125 -0.578125 2.640625 -0.984375 C 2.828125 -0.5 3.28125 0.171875 4.1875 0.171875 C 6.125 0.171875 8.234375 -2.359375 8.234375 -4.890625 C 8.234375 -6.46875 7.328125 -7.59375 6.046875 -7.59375 C 4.9375 -7.59375 4.015625 -6.53125 3.828125 -6.28125 C 3.6875 -7.140625 3.015625 -7.59375 2.328125 -7.59375 C 1.828125 -7.59375 1.421875 -7.359375 1.109375 -6.703125 C 0.796875 -6.078125 0.546875 -5.03125 0.546875 -4.953125 C 0.546875 -4.890625 0.625 -4.796875 0.734375 -4.796875 C 0.875 -4.796875 0.890625 -4.828125 1 -5.21875 C 1.25 -6.234375 1.578125 -7.25 2.265625 -7.25 C 2.671875 -7.25 2.8125 -6.96875 2.8125 -6.453125 C 2.8125 -6.046875 2.75 -5.875 2.6875 -5.5625 Z M 3.71875 -5.375 C 3.84375 -5.859375 4.328125 -6.359375 4.59375 -6.59375 C 4.78125 -6.765625 5.359375 -7.25 6.015625 -7.25 C 6.765625 -7.25 7.109375 -6.484375 7.109375 -5.59375 C 7.109375 -4.765625 6.625 -2.828125 6.203125 -1.921875 C 5.765625 -1 4.96875 -0.171875 4.1875 -0.171875 C 3.015625 -0.171875 2.828125 -1.65625 2.828125 -1.71875 C 2.828125 -1.78125 2.859375 -1.90625 2.875 -2 Z M 3.71875 -5.375 "/> +</g> +<g id="glyph-9-2"> +<path d="M 4.84375 -11.515625 C 4.859375 -11.59375 4.890625 -11.6875 4.890625 -11.78125 C 4.890625 -11.953125 4.71875 -11.953125 4.6875 -11.953125 C 4.671875 -11.953125 4.046875 -11.890625 3.734375 -11.859375 C 3.4375 -11.84375 3.1875 -11.8125 2.875 -11.796875 C 2.46875 -11.765625 2.34375 -11.75 2.34375 -11.4375 C 2.34375 -11.265625 2.515625 -11.265625 2.6875 -11.265625 C 3.5625 -11.265625 3.5625 -11.109375 3.5625 -10.9375 C 3.5625 -10.859375 3.5625 -10.828125 3.484375 -10.515625 L 1.015625 -0.671875 C 0.953125 -0.40625 0.953125 -0.375 0.953125 -0.28125 C 0.953125 0.109375 1.234375 0.171875 1.40625 0.171875 C 1.890625 0.171875 2 -0.203125 2.140625 -0.734375 L 2.9375 -3.953125 C 4.1875 -3.828125 4.921875 -3.3125 4.921875 -2.484375 C 4.921875 -2.375 4.921875 -2.3125 4.875 -2.046875 C 4.796875 -1.796875 4.796875 -1.578125 4.796875 -1.5 C 4.796875 -0.5 5.453125 0.171875 6.34375 0.171875 C 7.125 0.171875 7.546875 -0.546875 7.671875 -0.796875 C 8.046875 -1.421875 8.265625 -2.390625 8.265625 -2.46875 C 8.265625 -2.546875 8.203125 -2.625 8.09375 -2.625 C 7.9375 -2.625 7.921875 -2.546875 7.859375 -2.265625 C 7.609375 -1.375 7.25 -0.171875 6.375 -0.171875 C 6.03125 -0.171875 5.796875 -0.34375 5.796875 -1 C 5.796875 -1.328125 5.875 -1.703125 5.9375 -1.96875 C 6.015625 -2.265625 6.015625 -2.296875 6.015625 -2.5 C 6.015625 -3.515625 5.09375 -4.078125 3.515625 -4.28125 C 4.125 -4.671875 4.75 -5.34375 5 -5.59375 C 5.96875 -6.703125 6.640625 -7.25 7.4375 -7.25 C 7.828125 -7.25 7.9375 -7.140625 8.0625 -7.046875 C 7.421875 -6.96875 7.1875 -6.53125 7.1875 -6.1875 C 7.1875 -5.765625 7.5 -5.625 7.75 -5.625 C 8.21875 -5.625 8.625 -6.03125 8.625 -6.578125 C 8.625 -7.078125 8.234375 -7.59375 7.453125 -7.59375 C 6.515625 -7.59375 5.734375 -6.921875 4.515625 -5.546875 C 4.34375 -5.34375 3.703125 -4.6875 3.0625 -4.4375 Z M 4.84375 -11.515625 "/> +</g> +<g id="glyph-10-0"> +<path d="M 16.328125 -5.703125 C 16.75 -5.703125 17.203125 -5.703125 17.203125 -6.1875 C 17.203125 -6.6875 16.75 -6.6875 16.328125 -6.6875 L 2.921875 -6.6875 C 2.5 -6.6875 2.0625 -6.6875 2.0625 -6.1875 C 2.0625 -5.703125 2.5 -5.703125 2.921875 -5.703125 Z M 16.328125 -5.703125 "/> +</g> +</g> +</defs> +<path fill-rule="nonzero" fill="rgb(96.076965%, 96.076965%, 96.076965%)" fill-opacity="1" d="M 739.34375 0 L 22.671875 0 C 10.148438 0 -0.00390625 10.152344 -0.00390625 22.675781 L -0.00390625 173.445312 C -0.00390625 185.96875 10.148438 196.121094 22.671875 196.121094 L 739.34375 196.121094 C 751.871094 196.121094 762.023438 185.96875 762.023438 173.445312 L 762.023438 22.675781 C 762.023438 10.152344 751.871094 0 739.34375 0 Z M 739.34375 0 "/> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-0-0" x="22.677" y="104.257"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-0" x="44.559" y="90.571"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="51.877" y="90.571"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-1" x="63.093" y="90.571"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-1" x="44.559" y="113.231"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-3-0" x="77.793" y="104.257"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-0" x="102.521" y="23.699"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-1" x="102.521" y="46.007"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-1" x="102.521" y="53.443"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-1" x="102.521" y="60.88"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-1" x="102.521" y="68.316"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-2" x="102.521" y="75.752"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-1" x="102.521" y="120.369"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-1" x="102.521" y="127.805"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-1" x="102.521" y="135.241"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-1" x="102.521" y="142.678"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-3" x="102.521" y="150.114"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-0-0" x="124.554" y="51.842"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-0" x="146.436" y="38.155"/> +<use xlink:href="#glyph-1-2" x="153.752591" y="38.155"/> +<use xlink:href="#glyph-1-1" x="163.228414" y="38.155"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-1" x="146.436" y="60.816"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-0" x="680.675" y="51.842"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-3-0" x="701.015" y="51.842"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-3-1" x="725.747568" y="51.842"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-0" x="125.75" y="68.804"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-1" x="125.75" y="91.112"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-2" x="125.75" y="98.549"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-1" x="125.75" y="143.166"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-3" x="125.75" y="150.602"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-0" x="147.783" y="97.435"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-1" x="498.974" y="97.435"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-0" x="512.787" y="83.749"/> +<use xlink:href="#glyph-1-2" x="520.103591" y="83.749"/> +<use xlink:href="#glyph-1-1" x="529.579414" y="83.749"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-1" x="512.787" y="106.409"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-3" x="519.689" y="106.409"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-2" x="534.563" y="106.409"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-3" x="544.717" y="106.409"/> +<use xlink:href="#glyph-1-4" x="559.589868" y="106.409"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-3-0" x="576.45" y="97.435"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-1" x="601.178" y="97.435"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-0" x="614.992" y="83.749"/> +<use xlink:href="#glyph-1-2" x="622.308591" y="83.749"/> +<use xlink:href="#glyph-1-1" x="631.784414" y="83.749"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-1" x="614.992" y="107.212"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-3" x="621.894" y="107.212"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="636.767" y="107.212"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-2" x="175.32" y="131.327"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-0" x="185.475" y="131.327"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="201.545" y="131.327"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-3" x="212.761" y="131.327"/> +<use xlink:href="#glyph-1-4" x="227.633868" y="131.327"/> +</g> +<path fill="none" stroke-width="0.991" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M -0.0014375 -0.00003125 L 114.475125 -0.00003125 " transform="matrix(1, 0, 0, -1, 148.978, 136.832)"/> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-3" x="148.978" y="162.621"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-8-0" x="160.493" y="151.215"/> +<use xlink:href="#glyph-8-1" x="166.588973" y="151.215"/> +<use xlink:href="#glyph-8-2" x="174.483956" y="151.215"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-9-0" x="160.493" y="170.096"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-8-3" x="166.244" y="170.096"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-9-1" x="178.636" y="170.096"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-8-3" x="187.096" y="170.096"/> +<use xlink:href="#glyph-8-4" x="199.487645" y="170.096"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-0" x="207.882" y="162.621"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-3" x="223.953" y="162.621"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-8-0" x="235.468" y="151.215"/> +<use xlink:href="#glyph-8-1" x="241.563973" y="151.215"/> +<use xlink:href="#glyph-8-2" x="249.458956" y="151.215"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-9-0" x="235.468" y="170.765"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-8-3" x="241.218" y="170.765"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-9-2" x="253.611" y="170.765"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-4" x="268.78" y="115.514"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-0-0" x="283.584" y="143.028"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-0" x="305.466" y="129.342"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="312.783" y="129.342"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-0" x="323.999" y="129.342"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-4" x="340.07" y="129.342"/> +<use xlink:href="#glyph-1-1" x="349.545823" y="129.342"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-1" x="305.466" y="152.002"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-3" x="312.368" y="152.002"/> +<use xlink:href="#glyph-1-4" x="327.240868" y="152.002"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-10-0" x="362.87" y="143.028"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-0-0" x="387.657" y="143.028"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-0" x="409.539" y="129.342"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="416.856" y="129.342"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-0" x="428.072" y="129.342"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-4" x="444.143" y="129.342"/> +<use xlink:href="#glyph-1-1" x="453.618823" y="129.342"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-1" x="409.539" y="152.002"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-5" x="461.435" y="115.514"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-3-2" x="498.974" y="143.028"/> +<use xlink:href="#glyph-3-3" x="509.047477" y="143.028"/> +<use xlink:href="#glyph-3-4" x="515.234338" y="143.028"/> +<use xlink:href="#glyph-3-2" x="524.142821" y="143.028"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-6" x="649.677" y="68.804"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-6" x="649.677" y="83.676"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-6" x="649.677" y="98.549"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-6" x="649.677" y="113.421"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-6" x="649.677" y="128.293"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-6" x="649.677" y="143.166"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-6" x="649.677" y="158.038"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-0" x="680.675" y="127.054"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-2" x="701.007858" y="127.054"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-3-1" x="726.777" y="127.054"/> +</g> +</svg> diff --git a/doc-images/equations/control-points.tex b/doc-images/equations/control-points.tex new file mode 100644 index 0000000..c95df8d --- /dev/null +++ b/doc-images/equations/control-points.tex @@ -0,0 +1,13 @@ +\input{_preamble} +\begin{document} + \myeqs{ + \boldsymbol{P}_i^{(k)}= + \begin{cases} + \boldsymbol{P}_{i}^{(0)} & k=0 \\[2mm] + \left.\begin{cases} + \boldsymbol{0} & u_{i+p+1}^{{(0)}} = u_{i+k}^{{(0)}}\\[2mm] + \frac{p-k+1}{u_{i+p+1}^{{(0)}} - u_{i+k}^{{(0)}}} \left( \boldsymbol{P}_{i+1}^{(k-1)} - \boldsymbol{P}_{i}^{(k-1)} \right) & \text{else}%u_{i+p+1} \neq u_{i+k}\\[2mm] + \end{cases}\right|& k>0 \\ + \end{cases} + } +\end{document} diff --git a/doc-images/equations/curve-deriv.tex b/doc-images/equations/curve-deriv.tex deleted file mode 100644 index fc5e42f..0000000 --- a/doc-images/equations/curve-deriv.tex +++ /dev/null @@ -1,13 +0,0 @@ -\documentclass[10pt]{article} -\usepackage[usenames]{color} -\usepackage{amssymb} -\usepackage{amsmath} -\usepackage{nicefrac} -\definecolor{mygreen}{rgb}{0.454,0.824,0.208} -\definecolor{myred}{rgb}{0.8,0.173,0.137} - -\usepackage[utf8]{inputenc} -\begin{equation}\nonumber -\mathcal{C}^{(k)}(u) = \frac{\partial^k\mathcal{C}^{(0)}(u)}{\partial u^k} = \sum_{i=0}^{n-k} \mathcal{N}_{i,p-k}^{\boldsymbol{U^{(k)}}} (u)\, \boldsymbol{P}^{(k)}_i,\quad u \in [u_{p-k},u_{n+1-k}] -\end{equation} -\end{document} diff --git a/doc-images/equations/curve-deriv.tex.svg b/doc-images/equations/curve-deriv.tex.svg deleted file mode 100644 index 332b428..0000000 --- a/doc-images/equations/curve-deriv.tex.svg +++ /dev/null @@ -1,268 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="634" height="71" viewBox="0 0 634 71"> -<defs> -<g> -<g id="glyph-0-0"> -<path d="M 11.859375 -3.75 C 11.859375 -3.890625 11.734375 -3.921875 11.625 -3.921875 C 11.21875 -3.921875 10.640625 -3.5625 10.609375 -3.5625 C 10.140625 -3.25 10.046875 -3.078125 9.75 -2.671875 C 9.015625 -1.546875 7.953125 -0.734375 6.40625 -0.734375 C 4.25 -0.734375 2.3125 -2.296875 2.3125 -5.875 C 2.3125 -8.03125 3.171875 -10.875 4.453125 -12.765625 C 5.5 -14.296875 6.796875 -15.53125 9.25 -15.53125 C 10.15625 -15.53125 10.734375 -15.203125 10.734375 -14.3125 C 10.734375 -13.484375 9.84375 -11.78125 9.5625 -11.3125 C 9.421875 -11.046875 9.421875 -11 9.421875 -10.953125 C 9.421875 -10.78125 9.53125 -10.78125 9.6875 -10.78125 C 10.15625 -10.78125 11.046875 -11.3125 11.328125 -11.6875 C 11.375 -11.78125 12.765625 -14.125 12.765625 -15.34375 C 12.765625 -16.65625 11.6875 -16.859375 10.828125 -16.859375 C 7.359375 -16.859375 4.515625 -14.578125 3.421875 -13.25 C 0.578125 -9.796875 0.28125 -6.09375 0.28125 -4.859375 C 0.28125 -1.359375 2.0625 0.578125 4.828125 0.578125 C 8.671875 0.578125 11.859375 -3.15625 11.859375 -3.75 Z M 11.859375 -3.75 "/> -</g> -<g id="glyph-0-1"> -<path d="M 7.3125 -13.71875 C 7.75 -12.484375 8.265625 -10.6875 9.34375 -7.75 C 10.859375 -3.6875 11.515625 -2.203125 12.984375 0.078125 C 13.3125 0.578125 13.34375 0.59375 13.5625 0.59375 C 13.890625 0.59375 14.390625 0.3125 14.65625 0.125 C 14.984375 -0.1875 15.015625 -0.21875 15.28125 -1.390625 C 16.703125 -7.671875 18.53125 -14.21875 19 -15.328125 C 19.03125 -15.375 19.5 -16.28125 22.453125 -16.328125 C 22.921875 -16.359375 23.375 -17.625 23.375 -18.140625 C 23.375 -18.53125 23.234375 -18.53125 22.90625 -18.53125 C 20.515625 -18.53125 19.4375 -17.515625 19.15625 -17.21875 C 18.484375 -16.359375 17.90625 -14.609375 16.8125 -10.609375 C 15.96875 -7.546875 15.203125 -4.453125 14.46875 -1.359375 C 13.140625 -3.34375 12.40625 -5.234375 11.265625 -8.3125 C 10 -11.71875 9.234375 -14.203125 8.578125 -16.359375 C 8.4375 -16.828125 8.421875 -16.859375 8.203125 -16.859375 C 8.15625 -16.859375 7.671875 -16.859375 6.984375 -16.28125 C 6.734375 -16.0625 6.71875 -15.84375 6.6875 -15.59375 C 6.03125 -9.234375 3.78125 -2.9375 3.125 -1.796875 C 2.9375 -1.4375 2.65625 -1 2.171875 -1 C 1.9375 -1 1 -1.125 0.375 -1.703125 C 0.265625 -1.796875 0.21875 -1.796875 0.1875 -1.796875 C -0.1875 -1.796875 -0.6875 -0.59375 -0.6875 -0.03125 C -0.6875 0.71875 0.765625 1.1875 1.4375 1.1875 C 2.96875 1.1875 4.1875 -2.171875 4.5625 -3.28125 C 6.125 -7.609375 6.859375 -11.171875 7.3125 -13.71875 Z M 7.3125 -13.71875 "/> -</g> -<g id="glyph-1-0"> -<path d="M 5.9375 -12.546875 C 2.765625 -10.3125 1.921875 -6.765625 1.921875 -4.203125 C 1.921875 -1.84375 2.625 1.828125 5.9375 4.171875 C 6.078125 4.171875 6.28125 4.171875 6.28125 3.96875 C 6.28125 3.859375 6.21875 3.828125 6.109375 3.71875 C 3.875 1.703125 3.0625 -1.140625 3.0625 -4.1875 C 3.0625 -8.703125 4.78125 -10.90625 6.15625 -12.15625 C 6.21875 -12.21875 6.28125 -12.265625 6.28125 -12.34375 C 6.28125 -12.546875 6.078125 -12.546875 5.9375 -12.546875 Z M 5.9375 -12.546875 "/> -</g> -<g id="glyph-1-1"> -<path d="M 1.5 -12.546875 C 1.390625 -12.546875 1.1875 -12.546875 1.1875 -12.34375 C 1.1875 -12.265625 1.234375 -12.21875 1.34375 -12.09375 C 2.78125 -10.78125 4.390625 -8.515625 4.390625 -4.203125 C 4.390625 -0.703125 3.296875 1.9375 1.484375 3.578125 C 1.203125 3.859375 1.1875 3.875 1.1875 3.96875 C 1.1875 4.046875 1.234375 4.171875 1.40625 4.171875 C 1.609375 4.171875 3.203125 3.0625 4.296875 0.96875 C 5.03125 -0.421875 5.515625 -2.21875 5.515625 -4.1875 C 5.515625 -6.546875 4.8125 -10.203125 1.5 -12.546875 Z M 1.5 -12.546875 "/> -</g> -<g id="glyph-1-2"> -<path d="M 12.859375 -5.625 C 13.109375 -5.625 13.484375 -5.625 13.484375 -6.046875 C 13.484375 -6.4375 13.09375 -6.4375 12.875 -6.4375 L 1.796875 -6.4375 C 1.578125 -6.4375 1.171875 -6.4375 1.171875 -6.046875 C 1.171875 -5.625 1.5625 -5.625 1.8125 -5.625 Z M 12.875 -1.9375 C 13.09375 -1.9375 13.484375 -1.9375 13.484375 -2.34375 C 13.484375 -2.765625 13.109375 -2.765625 12.859375 -2.765625 L 1.8125 -2.765625 C 1.5625 -2.765625 1.171875 -2.765625 1.171875 -2.34375 C 1.171875 -1.9375 1.578125 -1.9375 1.796875 -1.9375 Z M 12.875 -1.9375 "/> -</g> -<g id="glyph-1-3"> -<path d="M 8.640625 -5.34375 C 8.640625 -7.171875 8.421875 -8.5 7.640625 -9.671875 C 7.125 -10.4375 6.09375 -11.109375 4.75 -11.109375 C 0.875 -11.109375 0.875 -6.546875 0.875 -5.34375 C 0.875 -4.140625 0.875 0.328125 4.75 0.328125 C 8.640625 0.328125 8.640625 -4.140625 8.640625 -5.34375 Z M 4.75 -0.140625 C 3.984375 -0.140625 2.96875 -0.578125 2.625 -1.953125 C 2.390625 -2.9375 2.390625 -4.3125 2.390625 -5.5625 C 2.390625 -6.78125 2.390625 -8.046875 2.640625 -8.96875 C 3 -10.296875 4.0625 -10.640625 4.75 -10.640625 C 5.65625 -10.640625 6.53125 -10.09375 6.828125 -9.125 C 7.09375 -8.21875 7.109375 -7.015625 7.109375 -5.5625 C 7.109375 -4.3125 7.109375 -3.078125 6.890625 -2.03125 C 6.5625 -0.5 5.421875 -0.140625 4.75 -0.140625 Z M 4.75 -0.140625 "/> -</g> -<g id="glyph-1-4"> -<path d="M 7.75 -3.78125 L 12.875 -3.78125 C 13.09375 -3.78125 13.484375 -3.78125 13.484375 -4.1875 C 13.484375 -4.609375 13.109375 -4.609375 12.875 -4.609375 L 7.75 -4.609375 L 7.75 -9.734375 C 7.75 -9.953125 7.75 -10.359375 7.34375 -10.359375 C 6.921875 -10.359375 6.921875 -9.96875 6.921875 -9.734375 L 6.921875 -4.609375 L 1.796875 -4.609375 C 1.578125 -4.609375 1.171875 -4.609375 1.171875 -4.203125 C 1.171875 -3.78125 1.5625 -3.78125 1.796875 -3.78125 L 6.921875 -3.78125 L 6.921875 1.359375 C 6.921875 1.578125 6.921875 1.96875 7.328125 1.96875 C 7.75 1.96875 7.75 1.59375 7.75 1.359375 Z M 7.75 -3.78125 "/> -</g> -<g id="glyph-1-5"> -<path d="M 5.609375 -10.640625 C 5.609375 -11.09375 5.578125 -11.109375 5.109375 -11.109375 C 4.03125 -10.0625 2.515625 -10.046875 1.828125 -10.046875 L 1.828125 -9.4375 C 2.21875 -9.4375 3.328125 -9.4375 4.25 -9.90625 L 4.25 -1.375 C 4.25 -0.8125 4.25 -0.609375 2.578125 -0.609375 L 1.9375 -0.609375 L 1.9375 0 C 2.25 -0.015625 4.296875 -0.0625 4.921875 -0.0625 C 5.4375 -0.0625 7.546875 -0.015625 7.921875 0 L 7.921875 -0.609375 L 7.28125 -0.609375 C 5.609375 -0.609375 5.609375 -0.8125 5.609375 -1.375 Z M 5.609375 -10.640625 "/> -</g> -<g id="glyph-2-0"> -<path d="M 5.234375 -11.109375 C 5.25 -11.140625 5.3125 -11.359375 5.3125 -11.375 C 5.3125 -11.46875 5.234375 -11.609375 5.03125 -11.609375 C 4.703125 -11.609375 3.3125 -11.484375 2.890625 -11.453125 C 2.765625 -11.421875 2.53125 -11.40625 2.53125 -11.0625 C 2.53125 -10.828125 2.765625 -10.828125 2.96875 -10.828125 C 3.765625 -10.828125 3.765625 -10.703125 3.765625 -10.578125 C 3.765625 -10.453125 3.734375 -10.359375 3.703125 -10.203125 L 1.34375 -0.734375 C 1.25 -0.4375 1.25 -0.40625 1.25 -0.375 C 1.25 -0.109375 1.453125 0.171875 1.828125 0.171875 C 2.28125 0.171875 2.5 -0.171875 2.59375 -0.53125 C 2.625 -0.609375 3.34375 -3.546875 3.40625 -3.78125 C 4.609375 -3.671875 5.5625 -3.28125 5.5625 -2.40625 C 5.5625 -2.328125 5.5625 -2.25 5.515625 -2.078125 C 5.453125 -1.828125 5.453125 -1.734375 5.453125 -1.5625 C 5.453125 -0.375 6.421875 0.171875 7.234375 0.171875 C 8.859375 0.171875 9.359375 -2.375 9.359375 -2.390625 C 9.359375 -2.609375 9.140625 -2.609375 9.09375 -2.609375 C 8.859375 -2.609375 8.828125 -2.53125 8.75 -2.203125 C 8.546875 -1.484375 8.09375 -0.296875 7.28125 -0.296875 C 6.828125 -0.296875 6.6875 -0.71875 6.6875 -1.171875 C 6.6875 -1.453125 6.6875 -1.484375 6.796875 -1.921875 C 6.8125 -1.96875 6.875 -2.265625 6.875 -2.4375 C 6.875 -3.9375 4.875 -4.171875 4.171875 -4.21875 C 4.65625 -4.515625 5.265625 -5.078125 5.5625 -5.328125 C 6.40625 -6.125 7.25 -6.90625 8.1875 -6.90625 C 8.390625 -6.90625 8.59375 -6.859375 8.734375 -6.6875 C 8.015625 -6.578125 7.859375 -6 7.859375 -5.75 C 7.859375 -5.390625 8.15625 -5.140625 8.53125 -5.140625 C 8.984375 -5.140625 9.484375 -5.5 9.484375 -6.203125 C 9.484375 -6.765625 9.09375 -7.375 8.203125 -7.375 C 7.25 -7.375 6.375 -6.6875 5.515625 -5.90625 C 4.8125 -5.234375 4.265625 -4.71875 3.578125 -4.4375 Z M 5.234375 -11.109375 "/> -</g> -<g id="glyph-2-1"> -<path d="M 2.046875 -1.046875 C 1.96875 -0.84375 1.875 -0.421875 1.875 -0.375 C 1.875 0 2.171875 0.171875 2.4375 0.171875 C 2.75 0.171875 3.015625 -0.046875 3.09375 -0.203125 C 3.171875 -0.34375 3.3125 -0.890625 3.390625 -1.234375 C 3.484375 -1.5625 3.671875 -2.328125 3.765625 -2.75 C 3.859375 -3.109375 3.96875 -3.484375 4.046875 -3.859375 C 4.234375 -4.546875 4.265625 -4.6875 4.75 -5.375 C 5.21875 -6.046875 6 -6.90625 7.265625 -6.90625 C 8.234375 -6.90625 8.25 -6.0625 8.25 -5.734375 C 8.25 -4.734375 7.53125 -2.875 7.265625 -2.171875 C 7.078125 -1.703125 7.015625 -1.5625 7.015625 -1.265625 C 7.015625 -0.390625 7.75 0.171875 8.59375 0.171875 C 10.28125 0.171875 11.015625 -2.140625 11.015625 -2.390625 C 11.015625 -2.609375 10.796875 -2.609375 10.75 -2.609375 C 10.515625 -2.609375 10.5 -2.515625 10.421875 -2.328125 C 10.046875 -0.984375 9.328125 -0.296875 8.65625 -0.296875 C 8.296875 -0.296875 8.234375 -0.53125 8.234375 -0.890625 C 8.234375 -1.265625 8.3125 -1.484375 8.625 -2.25 C 8.8125 -2.765625 9.5 -4.53125 9.5 -5.46875 C 9.5 -7.09375 8.21875 -7.375 7.328125 -7.375 C 5.9375 -7.375 5 -6.53125 4.5 -5.859375 C 4.390625 -7.015625 3.390625 -7.375 2.71875 -7.375 C 1.984375 -7.375 1.609375 -6.859375 1.390625 -6.46875 C 1.015625 -5.859375 0.78125 -4.90625 0.78125 -4.8125 C 0.78125 -4.609375 1.015625 -4.609375 1.078125 -4.609375 C 1.3125 -4.609375 1.328125 -4.65625 1.4375 -5.109375 C 1.6875 -6.09375 2.015625 -6.90625 2.65625 -6.90625 C 3.09375 -6.90625 3.21875 -6.546875 3.21875 -6.09375 C 3.21875 -5.765625 3.0625 -5.15625 2.9375 -4.703125 C 2.828125 -4.25 2.65625 -3.5625 2.578125 -3.203125 Z M 2.046875 -1.046875 "/> -</g> -<g id="glyph-2-2"> -<path d="M 5.421875 -10.453125 C 5.421875 -10.734375 5.21875 -11.09375 4.75 -11.09375 C 4.296875 -11.09375 3.8125 -10.65625 3.8125 -10.171875 C 3.8125 -9.890625 4.03125 -9.53125 4.484375 -9.53125 C 4.96875 -9.53125 5.421875 -10 5.421875 -10.453125 Z M 2.015625 -1.953125 C 1.9375 -1.734375 1.859375 -1.546875 1.859375 -1.25 C 1.859375 -0.46875 2.53125 0.171875 3.453125 0.171875 C 5.125 0.171875 5.859375 -2.140625 5.859375 -2.390625 C 5.859375 -2.609375 5.640625 -2.609375 5.59375 -2.609375 C 5.359375 -2.609375 5.34375 -2.515625 5.265625 -2.328125 C 4.890625 -0.984375 4.15625 -0.296875 3.5 -0.296875 C 3.15625 -0.296875 3.078125 -0.515625 3.078125 -0.890625 C 3.078125 -1.265625 3.203125 -1.59375 3.34375 -1.953125 C 3.515625 -2.40625 3.703125 -2.859375 3.875 -3.296875 C 4.03125 -3.703125 4.640625 -5.21875 4.703125 -5.421875 C 4.75 -5.59375 4.796875 -5.796875 4.796875 -5.953125 C 4.796875 -6.75 4.140625 -7.375 3.21875 -7.375 C 1.5625 -7.375 0.78125 -5.109375 0.78125 -4.8125 C 0.78125 -4.609375 1.015625 -4.609375 1.078125 -4.609375 C 1.3125 -4.609375 1.328125 -4.6875 1.375 -4.875 C 1.8125 -6.3125 2.546875 -6.90625 3.15625 -6.90625 C 3.4375 -6.90625 3.578125 -6.78125 3.578125 -6.328125 C 3.578125 -5.9375 3.484375 -5.6875 3.0625 -4.65625 Z M 2.015625 -1.953125 "/> -</g> -<g id="glyph-2-3"> -<path d="M 3.53125 -0.265625 C 3.53125 0.65625 3.359375 1.71875 2.21875 2.796875 C 2.15625 2.859375 2.109375 2.90625 2.109375 3 C 2.109375 3.109375 2.25 3.234375 2.34375 3.234375 C 2.578125 3.234375 4 1.890625 4 -0.09375 C 4 -1.140625 3.59375 -1.921875 2.828125 -1.921875 C 2.28125 -1.921875 1.875 -1.484375 1.875 -0.96875 C 1.875 -0.4375 2.265625 0 2.84375 0 C 3.25 0 3.515625 -0.265625 3.53125 -0.265625 Z M 3.53125 -0.265625 "/> -</g> -<g id="glyph-2-4"> -<path d="M 1.25 2.046875 C 1.140625 2.515625 1.109375 2.640625 0.4375 2.640625 C 0.21875 2.640625 -0.015625 2.640625 -0.015625 3 C -0.015625 3.171875 0.140625 3.25 0.21875 3.25 C 0.65625 3.25 1.203125 3.171875 1.65625 3.171875 C 2.21875 3.171875 2.859375 3.25 3.40625 3.25 C 3.5625 3.25 3.75 3.203125 3.75 2.875 C 3.75 2.640625 3.515625 2.640625 3.3125 2.640625 C 2.9375 2.640625 2.5 2.640625 2.5 2.4375 C 2.5 2.359375 2.609375 1.921875 2.671875 1.671875 C 2.875 0.78125 3.109375 -0.109375 3.296875 -0.8125 C 3.5 -0.484375 4.015625 0.171875 5.015625 0.171875 C 7.0625 0.171875 9.328125 -2.09375 9.328125 -4.578125 C 9.328125 -6.546875 7.96875 -7.375 6.8125 -7.375 C 5.765625 -7.375 4.890625 -6.671875 4.4375 -6.203125 C 4.15625 -7.15625 3.21875 -7.375 2.71875 -7.375 C 2.0625 -7.375 1.65625 -6.9375 1.390625 -6.5 C 1.046875 -5.921875 0.78125 -4.921875 0.78125 -4.8125 C 0.78125 -4.609375 1.015625 -4.609375 1.078125 -4.609375 C 1.3125 -4.609375 1.328125 -4.65625 1.4375 -5.109375 C 1.6875 -6.078125 2.015625 -6.90625 2.65625 -6.90625 C 3.09375 -6.90625 3.21875 -6.546875 3.21875 -6.09375 C 3.21875 -5.90625 3.171875 -5.6875 3.15625 -5.59375 Z M 4.421875 -5.375 C 5.390625 -6.65625 6.21875 -6.90625 6.765625 -6.90625 C 7.40625 -6.90625 7.984375 -6.421875 7.984375 -5.28125 C 7.984375 -4.609375 7.609375 -2.890625 7.109375 -1.921875 C 6.6875 -1.109375 5.875 -0.296875 5.015625 -0.296875 C 3.828125 -0.296875 3.53125 -1.59375 3.53125 -1.75 C 3.53125 -1.828125 3.5625 -1.9375 3.578125 -2.015625 Z M 4.421875 -5.375 "/> -</g> -<g id="glyph-3-0"> -<path d="M 7.90625 5.734375 C 7.90625 5.671875 7.90625 5.625 7.5 5.21875 C 4.515625 2.203125 3.75 -2.3125 3.75 -5.96875 C 3.75 -10.140625 4.65625 -14.296875 7.609375 -17.28125 C 7.90625 -17.578125 7.90625 -17.625 7.90625 -17.6875 C 7.90625 -17.859375 7.8125 -17.921875 7.671875 -17.921875 C 7.4375 -17.921875 5.28125 -16.296875 3.875 -13.265625 C 2.65625 -10.640625 2.359375 -7.984375 2.359375 -5.96875 C 2.359375 -4.109375 2.625 -1.21875 3.9375 1.484375 C 5.375 4.421875 7.4375 5.96875 7.671875 5.96875 C 7.8125 5.96875 7.90625 5.90625 7.90625 5.734375 Z M 7.90625 5.734375 "/> -</g> -<g id="glyph-3-1"> -<path d="M 6.90625 -5.96875 C 6.90625 -7.84375 6.640625 -10.734375 5.328125 -13.4375 C 3.890625 -16.375 1.84375 -17.921875 1.609375 -17.921875 C 1.453125 -17.921875 1.359375 -17.828125 1.359375 -17.6875 C 1.359375 -17.625 1.359375 -17.578125 1.8125 -17.140625 C 4.15625 -14.78125 5.515625 -10.96875 5.515625 -5.96875 C 5.515625 -1.890625 4.640625 2.3125 1.671875 5.328125 C 1.359375 5.625 1.359375 5.671875 1.359375 5.734375 C 1.359375 5.875 1.453125 5.96875 1.609375 5.96875 C 1.84375 5.96875 4 4.34375 5.40625 1.3125 C 6.625 -1.3125 6.90625 -3.96875 6.90625 -5.96875 Z M 6.90625 -5.96875 "/> -</g> -<g id="glyph-3-2"> -<path d="M 16.421875 -7.8125 C 16.78125 -7.8125 17.234375 -7.8125 17.234375 -8.296875 C 17.234375 -8.78125 16.78125 -8.78125 16.453125 -8.78125 L 2.125 -8.78125 C 1.796875 -8.78125 1.34375 -8.78125 1.34375 -8.296875 C 1.34375 -7.8125 1.796875 -7.8125 2.15625 -7.8125 Z M 16.453125 -3.171875 C 16.78125 -3.171875 17.234375 -3.171875 17.234375 -3.65625 C 17.234375 -4.140625 16.78125 -4.140625 16.421875 -4.140625 L 2.15625 -4.140625 C 1.796875 -4.140625 1.34375 -4.140625 1.34375 -3.65625 C 1.34375 -3.171875 1.796875 -3.171875 2.125 -3.171875 Z M 16.453125 -3.171875 "/> -</g> -<g id="glyph-3-3"> -<path d="M 6.09375 5.96875 L 6.09375 5.015625 L 3.78125 5.015625 L 3.78125 -16.96875 L 6.09375 -16.96875 L 6.09375 -17.921875 L 2.828125 -17.921875 L 2.828125 5.96875 Z M 6.09375 5.96875 "/> -</g> -<g id="glyph-3-4"> -<path d="M 3.796875 -17.921875 L 0.53125 -17.921875 L 0.53125 -16.96875 L 2.84375 -16.96875 L 2.84375 5.015625 L 0.53125 5.015625 L 0.53125 5.96875 L 3.796875 5.96875 Z M 3.796875 -17.921875 "/> -</g> -<g id="glyph-4-0"> -<path d="M 8.359375 -1.34375 C 8.625 -0.359375 9.46875 0.265625 10.5 0.265625 C 11.328125 0.265625 11.875 -0.28125 12.265625 -1.046875 C 12.671875 -1.90625 12.984375 -3.375 12.984375 -3.421875 C 12.984375 -3.65625 12.765625 -3.65625 12.6875 -3.65625 C 12.453125 -3.65625 12.4375 -3.5625 12.359375 -3.234375 C 12.03125 -1.890625 11.578125 -0.265625 10.5625 -0.265625 C 10.0625 -0.265625 9.828125 -0.578125 9.828125 -1.359375 C 9.828125 -1.890625 10.109375 -3.015625 10.296875 -3.84375 L 10.96875 -6.4375 C 11.046875 -6.796875 11.28125 -7.703125 11.375 -8.0625 C 11.5 -8.609375 11.734375 -9.515625 11.734375 -9.65625 C 11.734375 -10.09375 11.40625 -10.296875 11.046875 -10.296875 C 10.921875 -10.296875 10.296875 -10.28125 10.109375 -9.46875 C 9.65625 -7.71875 8.609375 -3.53125 8.3125 -2.265625 C 8.296875 -2.171875 7.34375 -0.265625 5.59375 -0.265625 C 4.34375 -0.265625 4.109375 -1.34375 4.109375 -2.21875 C 4.109375 -3.5625 4.78125 -5.453125 5.40625 -7.09375 C 5.6875 -7.8125 5.8125 -8.15625 5.8125 -8.609375 C 5.8125 -9.6875 5.046875 -10.5625 3.84375 -10.5625 C 1.578125 -10.5625 0.6875 -7.09375 0.6875 -6.890625 C 0.6875 -6.640625 0.9375 -6.640625 0.984375 -6.640625 C 1.21875 -6.640625 1.25 -6.6875 1.359375 -7.078125 C 1.953125 -9.15625 2.875 -10.046875 3.78125 -10.046875 C 4 -10.046875 4.375 -10.015625 4.375 -9.25 C 4.375 -8.671875 4.109375 -7.984375 3.96875 -7.625 C 3.078125 -5.265625 2.578125 -3.78125 2.578125 -2.609375 C 2.578125 -0.328125 4.234375 0.265625 5.515625 0.265625 C 7.09375 0.265625 7.953125 -0.8125 8.359375 -1.34375 Z M 8.359375 -1.34375 "/> -</g> -<g id="glyph-4-1"> -<path d="M 4.859375 -0.03125 C 4.859375 -1.609375 4.25 -2.53125 3.328125 -2.53125 C 2.53125 -2.53125 2.0625 -1.9375 2.0625 -1.265625 C 2.0625 -0.625 2.53125 0 3.328125 0 C 3.609375 0 3.921875 -0.09375 4.15625 -0.3125 C 4.234375 -0.359375 4.25 -0.375 4.28125 -0.375 C 4.296875 -0.375 4.328125 -0.359375 4.328125 -0.03125 C 4.328125 1.75 3.484375 3.171875 2.703125 3.96875 C 2.4375 4.234375 2.4375 4.28125 2.4375 4.34375 C 2.4375 4.515625 2.5625 4.609375 2.671875 4.609375 C 2.9375 4.609375 4.859375 2.765625 4.859375 -0.03125 Z M 4.859375 -0.03125 "/> -</g> -<g id="glyph-5-0"> -<path d="M 11.0625 -8.109375 C 10.828125 -9.59375 9.84375 -10.921875 7.984375 -10.921875 C 6.53125 -10.921875 4.96875 -10.546875 3.109375 -8.671875 C 1.125 -6.6875 0.953125 -4.46875 0.953125 -3.734375 C 0.953125 -2.25 2.015625 0.53125 5.359375 0.53125 C 11.046875 0.53125 13.53125 -7.5 13.53125 -10.921875 C 13.53125 -14.71875 11.3125 -17.109375 8.359375 -17.109375 C 4.90625 -17.109375 3.796875 -14.015625 3.796875 -13.34375 C 3.796875 -13 4 -12.5 4.703125 -12.5 C 5.5 -12.5 6 -13.21875 6 -13.765625 C 6 -14.609375 5.265625 -14.609375 4.875 -14.609375 C 5.921875 -16.375 7.625 -16.515625 8.3125 -16.515625 C 10.0625 -16.515625 11.734375 -15.28125 11.734375 -12.1875 C 11.734375 -11.265625 11.59375 -10.046875 11.09375 -8.109375 Z M 5.421875 -0.140625 C 2.796875 -0.140625 2.796875 -2.609375 2.796875 -2.84375 C 2.796875 -3.484375 3.390625 -6.84375 4.375 -8.265625 C 5.328125 -9.640625 6.5 -10.40625 7.984375 -10.40625 C 10.59375 -10.40625 10.640625 -7.71875 10.640625 -7.25 C 10.640625 -5.515625 9.109375 -0.140625 5.421875 -0.140625 Z M 5.421875 -0.140625 "/> -</g> -<g id="glyph-6-0"> -<path d="M 12.453125 -3.78125 C 12.71875 -3.78125 13.125 -3.78125 13.125 -4.1875 C 13.125 -4.609375 12.734375 -4.609375 12.453125 -4.609375 L 2.484375 -4.609375 C 2.203125 -4.609375 1.8125 -4.609375 1.8125 -4.203125 C 1.8125 -3.78125 2.1875 -3.78125 2.484375 -3.78125 Z M 12.453125 -3.78125 "/> -</g> -<g id="glyph-7-0"> -<path d="M 30.265625 33.46875 L 33.15625 25.8125 L 32.5625 25.8125 C 31.625 28.3125 29.09375 29.9375 26.34375 30.640625 C 25.84375 30.765625 23.5 31.390625 18.90625 31.390625 L 4.5 31.390625 L 16.65625 17.109375 C 16.828125 16.921875 16.875 16.859375 16.875 16.734375 C 16.875 16.6875 16.875 16.609375 16.703125 16.375 L 5.5625 1.140625 L 18.671875 1.140625 C 21.875 1.140625 24.046875 1.484375 24.265625 1.53125 C 25.5625 1.71875 27.640625 2.125 29.53125 3.328125 C 30.125 3.703125 31.75 4.78125 32.5625 6.71875 L 33.15625 6.71875 L 30.265625 0 L 2.015625 0 C 1.453125 0 1.4375 0.03125 1.359375 0.171875 C 1.34375 0.234375 1.34375 0.6875 1.34375 0.953125 L 13.984375 18.265625 L 1.609375 32.78125 C 1.359375 33.0625 1.359375 33.1875 1.359375 33.203125 C 1.359375 33.46875 1.578125 33.46875 2.015625 33.46875 Z M 30.265625 33.46875 "/> -</g> -<g id="glyph-8-0"> -<path d="M 14.015625 -10.328125 C 14.46875 -10.546875 15.125 -10.546875 15.3125 -10.546875 C 15.640625 -10.546875 16 -10.546875 16 -11.109375 C 16 -11.3125 15.828125 -11.484375 15.625 -11.484375 C 15.1875 -11.484375 14.125 -11.40625 13.6875 -11.40625 C 13.234375 -11.40625 12.109375 -11.484375 11.65625 -11.484375 C 11.25 -11.484375 11.15625 -11.140625 11.15625 -10.90625 C 11.15625 -10.546875 11.53125 -10.546875 11.71875 -10.546875 C 12.390625 -10.546875 12.65625 -10.453125 12.8125 -10.40625 L 11.1875 -3.953125 C 10.59375 -1.578125 8.5 -0.671875 6.359375 -0.671875 C 4.796875 -0.671875 3.6875 -1.15625 3.6875 -2.546875 C 3.6875 -2.65625 3.6875 -3 3.84375 -3.671875 L 5.546875 -10.5 C 5.640625 -10.5 6.140625 -10.546875 6.46875 -10.546875 L 6.8125 -10.546875 C 7.109375 -10.546875 7.484375 -10.546875 7.484375 -11.109375 C 7.484375 -11.296875 7.328125 -11.484375 7.09375 -11.484375 C 6.6875 -11.484375 6.265625 -11.421875 5.859375 -11.421875 C 5.46875 -11.421875 4.921875 -11.40625 4.53125 -11.40625 C 4.53125 -11.40625 3.25 -11.421875 3.25 -11.421875 C 2.8125 -11.421875 2.34375 -11.484375 1.921875 -11.484375 C 1.796875 -11.484375 1.390625 -11.484375 1.390625 -10.90625 C 1.390625 -10.546875 1.734375 -10.546875 2.015625 -10.546875 L 2.34375 -10.546875 C 3.046875 -10.546875 3.046875 -10.515625 3.046875 -10.453125 C 3.046875 -10.359375 2.5 -8.1875 2.40625 -7.90625 C 2.109375 -6.734375 1.59375 -4.703125 1.390625 -3.78125 C 1.3125 -3.40625 1.3125 -3.390625 1.3125 -3.078125 C 1.3125 -1.328125 2.734375 0.265625 6.234375 0.265625 C 9.9375 0.265625 11.875 -1.796875 12.390625 -3.765625 Z M 14.015625 -10.328125 "/> -</g> -<g id="glyph-9-0"> -<path d="M 5.96875 2.71875 C 5.96875 2.59375 5.875 2.515625 5.828125 2.484375 C 3.890625 1.078125 3.234375 -1.046875 3.234375 -2.984375 C 3.234375 -3.4375 3.234375 -4.796875 3.984375 -6.296875 C 4.453125 -7.25 5.078125 -7.90625 5.859375 -8.484375 C 5.921875 -8.53125 5.96875 -8.625 5.96875 -8.703125 C 5.96875 -8.96875 5.6875 -8.96875 5.625 -8.96875 C 5.25 -8.96875 4.21875 -8.109375 4 -7.921875 C 2.3125 -6.328125 1.78125 -4.53125 1.78125 -2.984375 C 1.78125 -1.453125 2.34375 0.375 3.9375 1.859375 C 4.171875 2.09375 5.21875 2.984375 5.625 2.984375 C 5.6875 2.984375 5.96875 2.984375 5.96875 2.71875 Z M 5.96875 2.71875 "/> -</g> -<g id="glyph-9-1"> -<path d="M 5.359375 -2.984375 C 5.359375 -4.515625 4.796875 -6.34375 3.203125 -7.84375 C 2.96875 -8.0625 1.921875 -8.96875 1.5 -8.96875 C 1.265625 -8.96875 1.171875 -8.84375 1.171875 -8.703125 C 1.171875 -8.578125 1.28125 -8.484375 1.296875 -8.46875 C 3.28125 -7 3.90625 -4.890625 3.90625 -2.984375 C 3.90625 -2.546875 3.90625 -1.1875 3.15625 0.328125 C 2.5625 1.546875 1.75 2.15625 1.296875 2.5 C 1.171875 2.59375 1.171875 2.703125 1.171875 2.71875 C 1.171875 2.859375 1.25 2.984375 1.5 2.984375 C 1.890625 2.984375 2.921875 2.140625 3.125 1.953125 C 4.8125 0.34375 5.359375 -1.453125 5.359375 -2.984375 Z M 5.359375 -2.984375 "/> -</g> -<g id="glyph-10-0"> -<path d="M 4.25 -2.96875 C 4.71875 -3.265625 5.203125 -3.6875 5.734375 -4.0625 C 6.03125 -4.265625 6.71875 -4.75 7.375 -4.75 C 7.421875 -4.75 7.59375 -4.75 7.609375 -4.578125 C 6.796875 -4.359375 6.78125 -3.625 6.78125 -3.578125 C 6.78125 -3.15625 7.09375 -2.875 7.515625 -2.875 C 7.96875 -2.875 8.59375 -3.203125 8.59375 -4.140625 C 8.59375 -4.734375 8.265625 -5.421875 7.421875 -5.421875 C 6.484375 -5.421875 5.609375 -4.75 4.75 -4.09375 C 3.9375 -3.46875 3.703125 -3.359375 3.421875 -3.21875 L 4.546875 -7.734375 C 4.609375 -7.90625 4.609375 -7.921875 4.609375 -8 C 4.609375 -8.109375 4.546875 -8.296875 4.265625 -8.296875 C 4.203125 -8.296875 4.203125 -8.296875 4.171875 -8.28125 L 2.46875 -8.21875 C 2.234375 -8.203125 2.15625 -8.140625 2.109375 -8.0625 C 2.0625 -7.984375 2.015625 -7.75 2.015625 -7.703125 C 2.015625 -7.4375 2.265625 -7.40625 2.328125 -7.40625 C 2.46875 -7.390625 2.765625 -7.40625 2.90625 -7.390625 L 1.28125 -0.828125 C 1.21875 -0.59375 1.21875 -0.578125 1.21875 -0.515625 C 1.21875 -0.15625 1.5 0.125 1.890625 0.125 C 2.578125 0.125 2.75 -0.53125 2.8125 -0.75 L 3.1875 -2.3125 C 4.4375 -2.265625 5.046875 -2.109375 5.046875 -1.609375 C 5.046875 -1.515625 5.015625 -1.40625 5.015625 -1.40625 C 5.015625 -1.390625 4.96875 -1.21875 4.96875 -1.09375 C 4.96875 -0.171875 6.0625 0.125 6.90625 0.125 C 8.359375 0.125 9.03125 -1.453125 9.03125 -1.765625 C 9.03125 -2.03125 8.78125 -2.03125 8.515625 -2.03125 C 8.15625 -2.03125 8.09375 -2.03125 8.015625 -1.75 C 7.765625 -0.9375 7.375 -0.546875 7 -0.546875 C 6.734375 -0.546875 6.5 -0.703125 6.5 -1.0625 C 6.5 -1.09375 6.5 -1.15625 6.53125 -1.296875 C 6.578125 -1.46875 6.578125 -1.578125 6.578125 -1.609375 C 6.578125 -2.71875 5.140625 -2.875 4.25 -2.96875 Z M 4.25 -2.96875 "/> -</g> -<g id="glyph-11-0"> -<path d="M 8.65625 -7.21875 L 12.890625 -7.21875 C 17.28125 -7.21875 20.296875 -9.890625 20.296875 -12.71875 C 20.296875 -15.15625 18.09375 -16.40625 14.9375 -16.40625 L 5.734375 -16.40625 C 5.28125 -16.40625 4.859375 -16.40625 4.859375 -15.703125 C 4.859375 -15.28125 5.1875 -15.28125 5.859375 -15.28125 C 6.359375 -15.28125 6.8125 -15.25 7.3125 -15.234375 L 3.890625 -1.609375 C 3.796875 -1.21875 3.78125 -1.1875 3.34375 -1.140625 C 2.9375 -1.125 2.46875 -1.125 2.078125 -1.125 C 1.453125 -1.125 1.40625 -1.125 1.34375 -1.046875 C 1.03125 -0.90625 1.03125 -0.546875 1.03125 -0.4375 C 1.03125 -0.40625 1.03125 0 1.546875 0 C 2.15625 0 2.765625 -0.046875 3.375 -0.046875 C 3.96875 -0.046875 4.59375 -0.078125 5.1875 -0.078125 C 5.8125 -0.078125 6.4375 -0.046875 7.03125 -0.046875 C 7.65625 -0.046875 8.296875 0 8.890625 0 C 9.125 0 9.59375 0 9.59375 -0.671875 C 9.59375 -1.125 9.296875 -1.125 8.609375 -1.125 C 8.109375 -1.125 7.65625 -1.140625 7.140625 -1.171875 Z M 10.421875 -14.84375 C 10.515625 -15.203125 10.546875 -15.234375 10.6875 -15.25 C 10.90625 -15.28125 11.0625 -15.28125 11.328125 -15.28125 L 13.8125 -15.28125 C 15.15625 -15.28125 16.953125 -15.03125 16.953125 -13.390625 C 16.953125 -13.09375 16.640625 -10.65625 15.75 -9.515625 C 15.25 -8.875 14.171875 -8.203125 12.03125 -8.203125 L 8.75 -8.203125 Z M 10.421875 -14.84375 "/> -</g> -<g id="glyph-12-0"> -<path d="M 13.09375 -5.5 C 13.5 -5.5 13.9375 -5.5 13.9375 -5.96875 C 13.9375 -6.453125 13.5 -6.453125 13.09375 -6.453125 L 2.96875 -6.453125 C 3.25 -9.65625 6 -11.953125 9.375 -11.953125 L 13.09375 -11.953125 C 13.5 -11.953125 13.9375 -11.953125 13.9375 -12.4375 C 13.9375 -12.90625 13.5 -12.90625 13.09375 -12.90625 L 9.328125 -12.90625 C 5.234375 -12.90625 1.984375 -9.796875 1.984375 -5.96875 C 1.984375 -2.15625 5.234375 0.953125 9.328125 0.953125 L 13.09375 0.953125 C 13.5 0.953125 13.9375 0.953125 13.9375 0.484375 C 13.9375 0 13.5 0 13.09375 0 L 9.375 0 C 6 0 3.25 -2.296875 2.96875 -5.5 Z M 13.09375 -5.5 "/> -</g> -</g> -<clipPath id="clip-0"> -<path clip-rule="nonzero" d="M 218 58 L 224 58 L 224 70.398438 L 218 70.398438 Z M 218 58 "/> -</clipPath> -<clipPath id="clip-1"> -<path clip-rule="nonzero" d="M 225 58 L 248 58 L 248 70.398438 L 225 70.398438 Z M 225 58 "/> -</clipPath> -</defs> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-0-0" x="-0.0584" y="41.7222"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-1-0" x="13.9264" y="31.851"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-2-0" x="21.3976" y="31.851"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-1-1" x="31.9672" y="31.851"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-3-0" x="40.636" y="41.7222"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-4-0" x="49.9336" y="41.7222"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-3-1" x="63.6208" y="41.7222"/> -<use xlink:href="#glyph-3-2" x="79.566539" y="41.7222"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-5-0" x="107.668" y="25.5486"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-2-0" x="121.6912" y="16.8702"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-0-0" x="133.456" y="25.5486"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-3-0" x="147.4408" y="25.5486"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-4-0" x="156.7384" y="25.5486"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-3-1" x="170.4256" y="25.5486"/> -</g> -<path fill="none" stroke-width="0.398" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(83.529663%, 83.529663%, 83.529663%)" stroke-opacity="1" stroke-miterlimit="10" d="M -0.0000130208 0.000127604 L 30.022773 0.000127604 " transform="matrix(2.4, 0, 0, -2.4, 107.668, 35.7464)"/> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-5-0" x="123.9592" y="58.1238"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-4-0" x="137.992" y="58.1238"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-2-0" x="151.6696" y="51.2166"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-3-2" x="189.2344" y="41.7222"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-2-1" x="214.4728" y="11.835"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-6-0" x="226.2928" y="11.835"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-2-0" x="241.2376" y="11.835"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-7-0" x="215.872" y="19.0086"/> -</g> -<g clip-path="url(#clip-0)"> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-2-2" x="217.6528" y="69.9342"/> -</g> -</g> -<g clip-path="url(#clip-1)"> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-1-2" x="224.4184" y="69.9342"/> -<use xlink:href="#glyph-1-3" x="239.096854" y="69.9342"/> -</g> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-0-1" x="255.7912" y="41.7222"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-8-0" x="278.932" y="31.851"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-9-0" x="295.7704" y="24.6342"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-10-0" x="302.9104" y="24.6342"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-9-1" x="312.8344" y="24.6342"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-2-2" x="275.4088" y="47.6334"/> -<use xlink:href="#glyph-2-3" x="282.173944" y="47.6334"/> -<use xlink:href="#glyph-2-4" x="287.851175" y="47.6334"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-6-0" x="297.7096" y="47.6334"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-2-0" x="312.6544" y="47.6334"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-3-0" x="324.4192" y="41.7222"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-4-0" x="333.7168" y="41.7222"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-3-1" x="347.404" y="41.7222"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-11-0" x="360.688" y="41.7222"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-1-0" x="381.796" y="29.3022"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-2-0" x="389.2672" y="29.3022"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-1-1" x="399.8368" y="29.3022"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-2-2" x="381.796" y="48.387"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-4-1" x="408.5032" y="41.7222"/> -<use xlink:href="#glyph-4-0" x="443.048715" y="41.7222"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-12-0" x="463.3696" y="41.7222"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-3-3" x="485.9536" y="41.7222"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-4-0" x="492.5944" y="41.7222"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-2-4" x="506.2816" y="45.3102"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-6-0" x="516.1384" y="45.3102"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-2-0" x="531.0832" y="45.3102"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-4-1" x="542.848" y="41.7222"/> -<use xlink:href="#glyph-4-0" x="553.483275" y="41.7222"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-2-1" x="567.1624" y="45.3102"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-1-4" x="578.98" y="45.3102"/> -<use xlink:href="#glyph-1-5" x="593.658454" y="45.3102"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-6-0" x="603.1912" y="45.3102"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-2-0" x="618.1336" y="45.3102"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-3-4" x="629.8984" y="41.7222"/> -</g> -</svg> diff --git a/doc-images/equations/curve.svg b/doc-images/equations/curve.svg new file mode 100644 index 0000000..5c13fa4 --- /dev/null +++ b/doc-images/equations/curve.svg @@ -0,0 +1,314 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="812.01" height="91.918" viewBox="0 0 812.01 91.918"> +<defs> +<g> +<g id="glyph-0-0"> +<path d="M 12.296875 -3.890625 C 12.296875 -4.046875 12.171875 -4.0625 12.046875 -4.0625 C 11.625 -4.0625 11.03125 -3.6875 11 -3.6875 C 10.5 -3.375 10.40625 -3.203125 10.109375 -2.78125 C 9.34375 -1.609375 8.25 -0.765625 6.640625 -0.765625 C 4.40625 -0.765625 2.40625 -2.375 2.40625 -6.09375 C 2.40625 -8.328125 3.296875 -11.28125 4.609375 -13.234375 C 5.703125 -14.8125 7.03125 -16.109375 9.59375 -16.109375 C 10.53125 -16.109375 11.125 -15.765625 11.125 -14.84375 C 11.125 -13.984375 10.203125 -12.21875 9.90625 -11.71875 C 9.765625 -11.453125 9.765625 -11.40625 9.765625 -11.34375 C 9.765625 -11.171875 9.890625 -11.171875 10.03125 -11.171875 C 10.53125 -11.171875 11.453125 -11.71875 11.75 -12.125 C 11.796875 -12.21875 13.234375 -14.640625 13.234375 -15.90625 C 13.234375 -17.265625 12.125 -17.46875 11.21875 -17.46875 C 7.625 -17.46875 4.6875 -15.109375 3.546875 -13.734375 C 0.59375 -10.15625 0.296875 -6.3125 0.296875 -5.03125 C 0.296875 -1.40625 2.125 0.59375 5 0.59375 C 9 0.59375 12.296875 -3.265625 12.296875 -3.890625 Z M 12.296875 -3.890625 "/> +</g> +<g id="glyph-0-1"> +<path d="M 7.578125 -14.21875 C 8.03125 -12.9375 8.578125 -11.078125 9.6875 -8.03125 C 11.25 -3.8125 11.9375 -2.28125 13.453125 0.078125 C 13.796875 0.59375 13.828125 0.625 14.046875 0.625 C 14.390625 0.625 14.921875 0.328125 15.1875 0.125 C 15.53125 -0.203125 15.5625 -0.21875 15.828125 -1.4375 C 17.328125 -7.953125 19.203125 -14.75 19.703125 -15.890625 C 19.71875 -15.9375 20.21875 -16.875 23.265625 -16.921875 C 23.765625 -16.953125 24.234375 -18.265625 24.234375 -18.8125 C 24.234375 -19.203125 24.09375 -19.203125 23.734375 -19.203125 C 21.265625 -19.203125 20.140625 -18.171875 19.84375 -17.84375 C 19.15625 -16.953125 18.5625 -15.140625 17.421875 -11 C 16.546875 -7.828125 15.765625 -4.609375 15 -1.40625 C 13.625 -3.46875 12.859375 -5.421875 11.671875 -8.625 C 10.359375 -12.140625 9.5625 -14.71875 8.890625 -16.953125 C 8.75 -17.453125 8.71875 -17.46875 8.5 -17.46875 C 8.453125 -17.46875 7.953125 -17.46875 7.234375 -16.875 C 6.984375 -16.65625 6.96875 -16.4375 6.9375 -16.15625 C 6.25 -9.5625 3.921875 -3.046875 3.25 -1.859375 C 3.046875 -1.484375 2.75 -1.046875 2.25 -1.046875 C 2 -1.046875 1.046875 -1.171875 0.390625 -1.765625 C 0.265625 -1.859375 0.21875 -1.859375 0.203125 -1.859375 C -0.203125 -1.859375 -0.71875 -0.625 -0.71875 -0.03125 C -0.71875 0.75 0.796875 1.234375 1.484375 1.234375 C 3.078125 1.234375 4.34375 -2.25 4.734375 -3.390625 C 6.34375 -7.875 7.109375 -11.578125 7.578125 -14.21875 Z M 7.578125 -14.21875 "/> +</g> +<g id="glyph-0-2"> +<path d="M 13.578125 -5.703125 C 14 -5.703125 14.453125 -5.703125 14.453125 -6.1875 C 14.453125 -6.6875 14 -6.6875 13.578125 -6.6875 L 3.078125 -6.6875 C 3.375 -10.015625 6.21875 -12.390625 9.71875 -12.390625 L 13.578125 -12.390625 C 14 -12.390625 14.453125 -12.390625 14.453125 -12.890625 C 14.453125 -13.375 14 -13.375 13.578125 -13.375 L 9.671875 -13.375 C 5.421875 -13.375 2.0625 -10.15625 2.0625 -6.1875 C 2.0625 -2.234375 5.421875 0.984375 9.671875 0.984375 L 13.578125 0.984375 C 14 0.984375 14.453125 0.984375 14.453125 0.5 C 14.453125 0 14 0 13.578125 0 L 9.71875 0 C 6.21875 0 3.375 -2.375 3.078125 -5.703125 Z M 13.578125 -5.703125 "/> +</g> +<g id="glyph-1-0"> +<path d="M 6.328125 5.046875 C 6.328125 5.015625 6.328125 4.984375 6.265625 4.921875 C 5.3125 3.953125 2.765625 1.296875 2.765625 -5.140625 C 2.765625 -11.59375 5.265625 -14.21875 6.28125 -15.25 C 6.28125 -15.265625 6.328125 -15.3125 6.328125 -15.375 C 6.328125 -15.4375 6.265625 -15.46875 6.171875 -15.46875 C 5.953125 -15.46875 4.1875 -13.9375 3.1875 -11.671875 C 2.140625 -9.375 1.859375 -7.140625 1.859375 -5.171875 C 1.859375 -3.671875 2 -1.15625 3.25 1.515625 C 4.234375 3.65625 5.921875 5.171875 6.171875 5.171875 C 6.28125 5.171875 6.328125 5.125 6.328125 5.046875 Z M 6.328125 5.046875 "/> +</g> +<g id="glyph-1-1"> +<path d="M 5.4375 -5.140625 C 5.4375 -6.625 5.28125 -9.15625 4.046875 -11.8125 C 3.0625 -13.96875 1.359375 -15.46875 1.109375 -15.46875 C 1.046875 -15.46875 0.96875 -15.453125 0.96875 -15.34375 C 0.96875 -15.3125 0.984375 -15.28125 1.015625 -15.25 C 2 -14.21875 4.53125 -11.59375 4.53125 -5.171875 C 4.53125 1.28125 2.03125 3.90625 1.015625 4.9375 C 0.984375 4.984375 0.96875 5 0.96875 5.046875 C 0.96875 5.140625 1.046875 5.171875 1.109375 5.171875 C 1.34375 5.171875 3.09375 3.640625 4.109375 1.359375 C 5.140625 -0.921875 5.4375 -3.15625 5.4375 -5.140625 Z M 5.4375 -5.140625 "/> +</g> +<g id="glyph-1-2"> +<path d="M 13.28125 -6.625 C 13.59375 -6.625 13.90625 -6.625 13.90625 -6.984375 C 13.90625 -7.359375 13.546875 -7.359375 13.203125 -7.359375 L 1.65625 -7.359375 C 1.296875 -7.359375 0.953125 -7.359375 0.953125 -6.984375 C 0.953125 -6.625 1.265625 -6.625 1.5625 -6.625 Z M 13.203125 -2.953125 C 13.546875 -2.953125 13.90625 -2.953125 13.90625 -3.328125 C 13.90625 -3.671875 13.59375 -3.671875 13.28125 -3.671875 L 1.5625 -3.671875 C 1.265625 -3.671875 0.953125 -3.671875 0.953125 -3.328125 C 0.953125 -2.953125 1.296875 -2.953125 1.65625 -2.953125 Z M 13.203125 -2.953125 "/> +</g> +<g id="glyph-1-3"> +<path d="M 8.671875 -6.625 C 8.671875 -7.890625 8.65625 -10.03125 7.78125 -11.6875 C 7.015625 -13.140625 5.796875 -13.65625 4.734375 -13.65625 C 3.734375 -13.65625 2.484375 -13.203125 1.6875 -11.71875 C 0.875 -10.15625 0.78125 -8.234375 0.78125 -6.625 C 0.78125 -5.453125 0.8125 -3.65625 1.453125 -2.09375 C 2.328125 0.046875 3.921875 0.328125 4.734375 0.328125 C 5.6875 0.328125 7.125 -0.0625 7.96875 -2.03125 C 8.59375 -3.453125 8.671875 -5.125 8.671875 -6.625 Z M 4.734375 0 C 3.40625 0 2.625 -1.140625 2.328125 -2.703125 C 2.109375 -3.921875 2.109375 -5.703125 2.109375 -6.859375 C 2.109375 -8.453125 2.109375 -9.765625 2.375 -11.03125 C 2.765625 -12.78125 3.921875 -13.328125 4.734375 -13.328125 C 5.578125 -13.328125 6.671875 -12.765625 7.0625 -11.078125 C 7.328125 -9.890625 7.359375 -8.515625 7.359375 -6.859375 C 7.359375 -5.515625 7.359375 -3.859375 7.109375 -2.640625 C 6.671875 -0.390625 5.453125 0 4.734375 0 Z M 4.734375 0 "/> +</g> +<g id="glyph-1-4"> +<path d="M 7.78125 -4.796875 L 13.265625 -4.796875 C 13.546875 -4.796875 13.90625 -4.796875 13.90625 -5.140625 C 13.90625 -5.515625 13.578125 -5.515625 13.265625 -5.515625 L 7.78125 -5.515625 L 7.78125 -10.984375 C 7.78125 -11.28125 7.78125 -11.625 7.4375 -11.625 C 7.0625 -11.625 7.0625 -11.296875 7.0625 -10.984375 L 7.0625 -5.515625 L 1.59375 -5.515625 C 1.296875 -5.515625 0.953125 -5.515625 0.953125 -5.171875 C 0.953125 -4.796875 1.28125 -4.796875 1.59375 -4.796875 L 7.0625 -4.796875 L 7.0625 0.6875 C 7.0625 0.96875 7.0625 1.328125 7.421875 1.328125 C 7.78125 1.328125 7.78125 0.984375 7.78125 0.6875 Z M 7.78125 -4.796875 "/> +</g> +<g id="glyph-1-5"> +<path d="M 5.5 -13.203125 C 5.5 -13.640625 5.46875 -13.65625 5.1875 -13.65625 C 4.375 -12.6875 3.15625 -12.375 2 -12.328125 C 1.9375 -12.328125 1.84375 -12.328125 1.8125 -12.296875 C 1.796875 -12.25 1.796875 -12.203125 1.796875 -11.78125 C 2.4375 -11.78125 3.515625 -11.890625 4.34375 -12.390625 L 4.34375 -1.515625 C 4.34375 -0.78125 4.296875 -0.53125 2.515625 -0.53125 L 1.90625 -0.53125 L 1.90625 0 C 2.890625 -0.015625 3.921875 -0.046875 4.921875 -0.046875 C 5.90625 -0.046875 6.9375 -0.015625 7.9375 0 L 7.9375 -0.53125 L 7.3125 -0.53125 C 5.53125 -0.53125 5.5 -0.765625 5.5 -1.515625 Z M 5.5 -13.203125 "/> +</g> +<g id="glyph-2-0"> +<path d="M 5.796875 -13.8125 C 5.828125 -13.90625 5.859375 -14.03125 5.859375 -14.125 C 5.859375 -14.328125 5.65625 -14.328125 5.625 -14.328125 C 5.59375 -14.328125 4.859375 -14.28125 4.484375 -14.234375 C 4.125 -14.21875 3.828125 -14.171875 3.453125 -14.15625 C 2.953125 -14.109375 2.8125 -14.09375 2.8125 -13.71875 C 2.8125 -13.515625 3.015625 -13.515625 3.21875 -13.515625 C 4.28125 -13.515625 4.28125 -13.328125 4.28125 -13.109375 C 4.28125 -13.03125 4.28125 -13 4.171875 -12.625 L 1.21875 -0.8125 C 1.140625 -0.5 1.140625 -0.453125 1.140625 -0.328125 C 1.140625 0.125 1.484375 0.203125 1.6875 0.203125 C 2.265625 0.203125 2.390625 -0.25 2.5625 -0.890625 L 3.53125 -4.75 C 5.015625 -4.578125 5.90625 -3.96875 5.90625 -2.96875 C 5.90625 -2.84375 5.90625 -2.765625 5.84375 -2.453125 C 5.765625 -2.140625 5.765625 -1.90625 5.765625 -1.796875 C 5.765625 -0.59375 6.546875 0.203125 7.59375 0.203125 C 8.546875 0.203125 9.046875 -0.65625 9.21875 -0.953125 C 9.640625 -1.71875 9.921875 -2.875 9.921875 -2.953125 C 9.921875 -3.0625 9.828125 -3.140625 9.703125 -3.140625 C 9.515625 -3.140625 9.5 -3.0625 9.421875 -2.734375 C 9.125 -1.65625 8.703125 -0.203125 7.640625 -0.203125 C 7.234375 -0.203125 6.96875 -0.40625 6.96875 -1.203125 C 6.96875 -1.59375 7.046875 -2.046875 7.125 -2.359375 C 7.203125 -2.734375 7.203125 -2.75 7.203125 -3 C 7.203125 -4.21875 6.109375 -4.890625 4.21875 -5.140625 C 4.953125 -5.59375 5.703125 -6.40625 5.984375 -6.71875 C 7.171875 -8.03125 7.96875 -8.703125 8.921875 -8.703125 C 9.40625 -8.703125 9.515625 -8.578125 9.671875 -8.453125 C 8.90625 -8.359375 8.609375 -7.828125 8.609375 -7.421875 C 8.609375 -6.921875 9 -6.75 9.296875 -6.75 C 9.859375 -6.75 10.34375 -7.234375 10.34375 -7.890625 C 10.34375 -8.484375 9.875 -9.109375 8.9375 -9.109375 C 7.8125 -9.109375 6.875 -8.296875 5.40625 -6.65625 C 5.203125 -6.40625 4.4375 -5.625 3.671875 -5.328125 Z M 5.796875 -13.8125 "/> +</g> +<g id="glyph-2-1"> +<path d="M 9.375 -6.90625 C 9.25 -8.0625 8.53125 -9.4375 6.671875 -9.4375 C 3.765625 -9.4375 0.78125 -6.484375 0.78125 -3.203125 C 0.78125 -1.9375 1.65625 0.4375 4.46875 0.4375 C 9.34375 0.4375 11.421875 -6.671875 11.421875 -9.5 C 11.421875 -12.46875 9.75 -14.765625 7.109375 -14.765625 C 4.109375 -14.765625 3.21875 -12.140625 3.21875 -11.59375 C 3.21875 -11.40625 3.34375 -10.953125 3.921875 -10.953125 C 4.640625 -10.953125 4.953125 -11.609375 4.953125 -11.953125 C 4.953125 -12.59375 4.3125 -12.59375 4.046875 -12.59375 C 4.890625 -14.125 6.46875 -14.28125 7.015625 -14.28125 C 8.84375 -14.28125 10 -12.828125 10 -10.515625 C 10 -9.1875 9.609375 -7.65625 9.40625 -6.90625 Z M 4.53125 -0.125 C 2.578125 -0.125 2.25 -1.65625 2.25 -2.515625 C 2.25 -3.421875 2.828125 -5.5625 3.140625 -6.328125 C 3.40625 -6.9375 4.578125 -9.03125 6.734375 -9.03125 C 8.609375 -9.03125 9.046875 -7.390625 9.046875 -6.28125 C 9.046875 -4.75 7.703125 -0.125 4.53125 -0.125 Z M 4.53125 -0.125 "/> +</g> +<g id="glyph-2-2"> +<path d="M 7.046875 -1.203125 C 7.3125 -0.046875 8.296875 0.203125 8.796875 0.203125 C 9.453125 0.203125 9.953125 -0.234375 10.28125 -0.921875 C 10.640625 -1.671875 10.90625 -2.890625 10.90625 -2.953125 C 10.90625 -3.0625 10.828125 -3.140625 10.703125 -3.140625 C 10.515625 -3.140625 10.5 -3.03125 10.40625 -2.734375 C 10.03125 -1.296875 9.671875 -0.203125 8.84375 -0.203125 C 8.21875 -0.203125 8.21875 -0.890625 8.21875 -1.15625 C 8.21875 -1.625 8.28125 -1.84375 8.484375 -2.703125 C 8.640625 -3.265625 8.78125 -3.828125 8.90625 -4.40625 L 9.75 -7.765625 C 9.890625 -8.28125 9.890625 -8.328125 9.890625 -8.390625 C 9.890625 -8.703125 9.640625 -8.90625 9.34375 -8.90625 C 8.734375 -8.90625 8.59375 -8.390625 8.46875 -7.875 C 8.265625 -7.0625 7.140625 -2.625 7 -1.90625 C 6.984375 -1.90625 6.171875 -0.203125 4.671875 -0.203125 C 3.59375 -0.203125 3.390625 -1.140625 3.390625 -1.90625 C 3.390625 -3.078125 3.96875 -4.734375 4.5 -6.109375 C 4.75 -6.78125 4.859375 -7.046875 4.859375 -7.453125 C 4.859375 -8.34375 4.21875 -9.109375 3.21875 -9.109375 C 1.328125 -9.109375 0.5625 -6.109375 0.5625 -5.953125 C 0.5625 -5.859375 0.640625 -5.765625 0.78125 -5.765625 C 0.96875 -5.765625 0.984375 -5.84375 1.078125 -6.140625 C 1.5625 -7.90625 2.375 -8.703125 3.15625 -8.703125 C 3.359375 -8.703125 3.703125 -8.671875 3.703125 -8.015625 C 3.703125 -7.484375 3.46875 -6.875 3.15625 -6.09375 C 2.25 -3.640625 2.140625 -2.84375 2.140625 -2.234375 C 2.140625 -0.125 3.734375 0.203125 4.578125 0.203125 C 5.90625 0.203125 6.625 -0.703125 7.046875 -1.203125 Z M 7.046875 -1.203125 "/> +</g> +<g id="glyph-2-3"> +<path d="M 4.25 -6.046875 C 4.296875 -6.171875 4.8125 -7.203125 5.578125 -7.875 C 6.109375 -8.359375 6.8125 -8.703125 7.625 -8.703125 C 8.453125 -8.703125 8.734375 -8.078125 8.734375 -7.25 C 8.734375 -6.078125 7.890625 -3.71875 7.484375 -2.609375 C 7.296875 -2.109375 7.1875 -1.84375 7.1875 -1.46875 C 7.1875 -0.53125 7.828125 0.203125 8.8125 0.203125 C 10.734375 0.203125 11.46875 -2.828125 11.46875 -2.953125 C 11.46875 -3.0625 11.375 -3.140625 11.25 -3.140625 C 11.078125 -3.140625 11.046875 -3.078125 10.953125 -2.734375 C 10.46875 -1.03125 9.6875 -0.203125 8.875 -0.203125 C 8.671875 -0.203125 8.34375 -0.234375 8.34375 -0.890625 C 8.34375 -1.40625 8.578125 -2.03125 8.703125 -2.3125 C 9.109375 -3.453125 9.984375 -5.765625 9.984375 -6.9375 C 9.984375 -8.1875 9.25 -9.109375 7.6875 -9.109375 C 5.84375 -9.109375 4.875 -7.8125 4.5 -7.296875 C 4.4375 -8.46875 3.59375 -9.109375 2.6875 -9.109375 C 2.03125 -9.109375 1.5625 -8.71875 1.21875 -8.015625 C 0.84375 -7.265625 0.5625 -6.03125 0.5625 -5.953125 C 0.5625 -5.859375 0.640625 -5.765625 0.78125 -5.765625 C 0.953125 -5.765625 0.96875 -5.78125 1.09375 -6.265625 C 1.421875 -7.515625 1.796875 -8.703125 2.625 -8.703125 C 3.09375 -8.703125 3.265625 -8.359375 3.265625 -7.75 C 3.265625 -7.296875 3.0625 -6.484375 2.90625 -5.84375 L 2.328125 -3.609375 C 2.25 -3.21875 2.03125 -2.296875 1.921875 -1.921875 C 1.78125 -1.390625 1.546875 -0.40625 1.546875 -0.3125 C 1.546875 -0.015625 1.78125 0.203125 2.09375 0.203125 C 2.328125 0.203125 2.625 0.078125 2.78125 -0.234375 C 2.828125 -0.328125 3.015625 -1.046875 3.125 -1.46875 L 3.578125 -3.328125 Z M 4.25 -6.046875 "/> +</g> +<g id="glyph-2-4"> +<path d="M 5.84375 -2.953125 C 5.84375 -3.0625 5.765625 -3.140625 5.640625 -3.140625 C 5.453125 -3.140625 5.4375 -3.078125 5.328125 -2.734375 C 4.796875 -0.84375 3.953125 -0.203125 3.265625 -0.203125 C 3.015625 -0.203125 2.734375 -0.265625 2.734375 -0.890625 C 2.734375 -1.453125 2.96875 -2.0625 3.203125 -2.6875 L 4.640625 -6.53125 C 4.703125 -6.6875 4.859375 -7.0625 4.859375 -7.453125 C 4.859375 -8.328125 4.234375 -9.109375 3.21875 -9.109375 C 1.328125 -9.109375 0.5625 -6.109375 0.5625 -5.953125 C 0.5625 -5.859375 0.640625 -5.765625 0.78125 -5.765625 C 0.96875 -5.765625 0.984375 -5.84375 1.078125 -6.140625 C 1.5625 -7.875 2.359375 -8.703125 3.15625 -8.703125 C 3.34375 -8.703125 3.703125 -8.671875 3.703125 -8.015625 C 3.703125 -7.484375 3.421875 -6.796875 3.265625 -6.34375 L 1.8125 -2.5 C 1.6875 -2.171875 1.5625 -1.84375 1.5625 -1.46875 C 1.5625 -0.53125 2.203125 0.203125 3.203125 0.203125 C 5.109375 0.203125 5.84375 -2.8125 5.84375 -2.953125 Z M 5.6875 -12.890625 C 5.6875 -13.203125 5.4375 -13.578125 4.984375 -13.578125 C 4.5 -13.578125 3.96875 -13.109375 3.96875 -12.578125 C 3.96875 -12.0625 4.40625 -11.890625 4.640625 -11.890625 C 5.203125 -11.890625 5.6875 -12.4375 5.6875 -12.890625 Z M 5.6875 -12.890625 "/> +</g> +<g id="glyph-2-5"> +<path d="M 4.03125 0.078125 C 4.03125 -1.109375 3.640625 -2 2.78125 -2 C 2.125 -2 1.796875 -1.46875 1.796875 -1.015625 C 1.796875 -0.5625 2.109375 0 2.8125 0 C 3.078125 0 3.3125 -0.078125 3.484375 -0.265625 C 3.53125 -0.3125 3.546875 -0.3125 3.578125 -0.3125 C 3.609375 -0.3125 3.609375 -0.015625 3.609375 0.078125 C 3.609375 0.765625 3.484375 2.109375 2.296875 3.453125 C 2.0625 3.703125 2.0625 3.734375 2.0625 3.78125 C 2.0625 3.890625 2.171875 3.984375 2.265625 3.984375 C 2.4375 3.984375 4.03125 2.453125 4.03125 0.078125 Z M 4.03125 0.078125 "/> +</g> +<g id="glyph-2-6"> +<path d="M 0.890625 2.625 C 0.75 3.25 0.65625 3.40625 -0.1875 3.40625 C -0.4375 3.40625 -0.640625 3.40625 -0.640625 3.796875 C -0.640625 3.84375 -0.625 4 -0.390625 4 C -0.125 4 0.171875 3.96875 0.4375 3.96875 L 1.328125 3.96875 C 1.75 3.96875 2.8125 4 3.25 4 C 3.359375 4 3.609375 4 3.609375 3.640625 C 3.609375 3.40625 3.46875 3.40625 3.125 3.40625 C 2.171875 3.40625 2.109375 3.265625 2.109375 3.09375 C 2.109375 2.84375 3.03125 -0.703125 3.15625 -1.171875 C 3.390625 -0.59375 3.953125 0.203125 5.015625 0.203125 C 7.359375 0.203125 9.875 -2.828125 9.875 -5.859375 C 9.875 -7.765625 8.796875 -9.109375 7.25 -9.109375 C 5.921875 -9.109375 4.8125 -7.828125 4.578125 -7.546875 C 4.421875 -8.578125 3.609375 -9.109375 2.78125 -9.109375 C 2.1875 -9.109375 1.71875 -8.8125 1.328125 -8.03125 C 0.953125 -7.296875 0.65625 -6.03125 0.65625 -5.953125 C 0.65625 -5.859375 0.75 -5.765625 0.890625 -5.765625 C 1.046875 -5.765625 1.078125 -5.78125 1.203125 -6.265625 C 1.515625 -7.484375 1.90625 -8.703125 2.734375 -8.703125 C 3.203125 -8.703125 3.359375 -8.359375 3.359375 -7.75 C 3.359375 -7.25 3.3125 -7.046875 3.21875 -6.671875 Z M 4.46875 -6.4375 C 4.609375 -7.015625 5.1875 -7.625 5.515625 -7.90625 C 5.75 -8.125 6.421875 -8.703125 7.203125 -8.703125 C 8.125 -8.703125 8.53125 -7.78125 8.53125 -6.71875 C 8.53125 -5.71875 7.953125 -3.390625 7.4375 -2.3125 C 6.921875 -1.203125 5.96875 -0.203125 5.015625 -0.203125 C 3.609375 -0.203125 3.390625 -1.984375 3.390625 -2.0625 C 3.390625 -2.125 3.421875 -2.296875 3.453125 -2.390625 Z M 4.46875 -6.4375 "/> +</g> +<g id="glyph-3-0"> +<path d="M 7.578125 6.046875 C 7.578125 6.015625 7.578125 5.96875 7.515625 5.890625 C 6.375 4.734375 3.328125 1.5625 3.328125 -6.171875 C 3.328125 -13.90625 6.3125 -17.046875 7.53125 -18.28125 C 7.53125 -18.3125 7.578125 -18.359375 7.578125 -18.4375 C 7.578125 -18.515625 7.515625 -18.5625 7.40625 -18.5625 C 7.140625 -18.5625 5.03125 -16.734375 3.8125 -14 C 2.578125 -11.25 2.234375 -8.578125 2.234375 -6.1875 C 2.234375 -4.40625 2.40625 -1.390625 3.890625 1.8125 C 5.078125 4.390625 7.109375 6.1875 7.40625 6.1875 C 7.53125 6.1875 7.578125 6.140625 7.578125 6.046875 Z M 7.578125 6.046875 "/> +</g> +<g id="glyph-3-1"> +<path d="M 6.515625 -6.171875 C 6.515625 -7.953125 6.34375 -10.984375 4.859375 -14.171875 C 3.671875 -16.75 1.640625 -18.5625 1.34375 -18.5625 C 1.265625 -18.5625 1.171875 -18.53125 1.171875 -18.40625 C 1.171875 -18.359375 1.1875 -18.34375 1.21875 -18.28125 C 2.40625 -17.046875 5.421875 -13.90625 5.421875 -6.1875 C 5.421875 1.53125 2.421875 4.6875 1.21875 5.921875 C 1.1875 5.96875 1.171875 6 1.171875 6.046875 C 1.171875 6.171875 1.265625 6.1875 1.34375 6.1875 C 1.609375 6.1875 3.71875 4.359375 4.9375 1.640625 C 6.171875 -1.109375 6.515625 -3.796875 6.515625 -6.171875 Z M 6.515625 -6.171875 "/> +</g> +<g id="glyph-3-2"> +<path d="M 15.9375 -7.953125 C 16.3125 -7.953125 16.671875 -7.953125 16.671875 -8.375 C 16.671875 -8.828125 16.25 -8.828125 15.828125 -8.828125 L 1.984375 -8.828125 C 1.5625 -8.828125 1.140625 -8.828125 1.140625 -8.375 C 1.140625 -7.953125 1.515625 -7.953125 1.890625 -7.953125 Z M 15.828125 -3.546875 C 16.25 -3.546875 16.671875 -3.546875 16.671875 -3.984375 C 16.671875 -4.40625 16.3125 -4.40625 15.9375 -4.40625 L 1.890625 -4.40625 C 1.515625 -4.40625 1.140625 -4.40625 1.140625 -3.984375 C 1.140625 -3.546875 1.5625 -3.546875 1.984375 -3.546875 Z M 15.828125 -3.546875 "/> +</g> +<g id="glyph-3-3"> +<path d="M 5.828125 6.171875 L 5.828125 5.296875 L 3.5 5.296875 L 3.5 -17.6875 L 5.828125 -17.6875 L 5.828125 -18.5625 L 2.625 -18.5625 L 2.625 6.171875 Z M 5.828125 6.171875 "/> +</g> +<g id="glyph-3-4"> +<path d="M 3.546875 -18.5625 L 0.34375 -18.5625 L 0.34375 -17.6875 L 2.671875 -17.6875 L 2.671875 5.296875 L 0.34375 5.296875 L 0.34375 6.171875 L 3.546875 6.171875 Z M 3.546875 -18.5625 "/> +</g> +<g id="glyph-4-0"> +<path d="M 8.453125 -1.4375 C 8.765625 -0.046875 9.96875 0.25 10.5625 0.25 C 11.34375 0.25 11.9375 -0.265625 12.34375 -1.109375 C 12.765625 -2 13.078125 -3.46875 13.078125 -3.546875 C 13.078125 -3.671875 12.984375 -3.765625 12.84375 -3.765625 C 12.609375 -3.765625 12.59375 -3.640625 12.484375 -3.265625 C 12.046875 -1.5625 11.59375 -0.25 10.609375 -0.25 C 9.859375 -0.25 9.859375 -1.0625 9.859375 -1.390625 C 9.859375 -1.953125 9.9375 -2.203125 10.1875 -3.25 C 10.359375 -3.921875 10.53125 -4.578125 10.6875 -5.28125 L 11.703125 -9.3125 C 11.875 -9.9375 11.875 -9.984375 11.875 -10.0625 C 11.875 -10.4375 11.578125 -10.6875 11.203125 -10.6875 C 10.484375 -10.6875 10.3125 -10.0625 10.15625 -9.4375 C 9.90625 -8.46875 8.578125 -3.140625 8.40625 -2.28125 C 8.375 -2.28125 7.40625 -0.25 5.59375 -0.25 C 4.3125 -0.25 4.0625 -1.359375 4.0625 -2.28125 C 4.0625 -3.6875 4.765625 -5.671875 5.40625 -7.328125 C 5.703125 -8.125 5.828125 -8.453125 5.828125 -8.953125 C 5.828125 -10.015625 5.0625 -10.921875 3.859375 -10.921875 C 1.59375 -10.921875 0.671875 -7.328125 0.671875 -7.140625 C 0.671875 -7.03125 0.765625 -6.90625 0.9375 -6.90625 C 1.171875 -6.90625 1.1875 -7.015625 1.28125 -7.359375 C 1.890625 -9.484375 2.84375 -10.4375 3.796875 -10.4375 C 4.046875 -10.4375 4.4375 -10.40625 4.4375 -9.609375 C 4.4375 -8.96875 4.15625 -8.25 3.796875 -7.3125 C 2.703125 -4.359375 2.578125 -3.421875 2.578125 -2.671875 C 2.578125 -0.15625 4.484375 0.25 5.5 0.25 C 7.09375 0.25 7.953125 -0.84375 8.453125 -1.4375 Z M 8.453125 -1.4375 "/> +</g> +<g id="glyph-4-1"> +<path d="M 4.828125 0.09375 C 4.828125 -1.34375 4.359375 -2.40625 3.34375 -2.40625 C 2.546875 -2.40625 2.15625 -1.765625 2.15625 -1.21875 C 2.15625 -0.671875 2.53125 0 3.375 0 C 3.6875 0 3.96875 -0.09375 4.1875 -0.328125 C 4.234375 -0.375 4.265625 -0.375 4.28125 -0.375 C 4.34375 -0.375 4.34375 -0.03125 4.34375 0.09375 C 4.34375 0.921875 4.1875 2.53125 2.75 4.140625 C 2.484375 4.4375 2.484375 4.484375 2.484375 4.53125 C 2.484375 4.65625 2.609375 4.78125 2.71875 4.78125 C 2.921875 4.78125 4.828125 2.953125 4.828125 0.09375 Z M 4.828125 0.09375 "/> +</g> +<g id="glyph-4-2"> +<path d="M 5.109375 -7.265625 C 5.15625 -7.40625 5.78125 -8.65625 6.6875 -9.4375 C 7.328125 -10.03125 8.171875 -10.4375 9.140625 -10.4375 C 10.140625 -10.4375 10.484375 -9.6875 10.484375 -8.703125 C 10.484375 -7.28125 9.46875 -4.453125 8.96875 -3.125 C 8.75 -2.53125 8.625 -2.203125 8.625 -1.765625 C 8.625 -0.640625 9.390625 0.25 10.578125 0.25 C 12.890625 0.25 13.75 -3.390625 13.75 -3.546875 C 13.75 -3.671875 13.65625 -3.765625 13.5 -3.765625 C 13.28125 -3.765625 13.265625 -3.6875 13.140625 -3.265625 C 12.5625 -1.234375 11.625 -0.25 10.65625 -0.25 C 10.40625 -0.25 10.015625 -0.265625 10.015625 -1.0625 C 10.015625 -1.6875 10.28125 -2.421875 10.4375 -2.78125 C 10.921875 -4.140625 11.96875 -6.90625 11.96875 -8.328125 C 11.96875 -9.8125 11.109375 -10.921875 9.21875 -10.921875 C 7.015625 -10.921875 5.84375 -9.375 5.40625 -8.75 C 5.328125 -10.15625 4.3125 -10.921875 3.21875 -10.921875 C 2.421875 -10.921875 1.890625 -10.453125 1.46875 -9.609375 C 1.015625 -8.71875 0.671875 -7.234375 0.671875 -7.140625 C 0.671875 -7.03125 0.765625 -6.90625 0.9375 -6.90625 C 1.140625 -6.90625 1.171875 -6.9375 1.3125 -7.515625 C 1.703125 -9.015625 2.15625 -10.4375 3.140625 -10.4375 C 3.71875 -10.4375 3.921875 -10.03125 3.921875 -9.296875 C 3.921875 -8.75 3.671875 -7.78125 3.5 -7.015625 L 2.796875 -4.34375 C 2.703125 -3.859375 2.421875 -2.75 2.296875 -2.296875 C 2.125 -1.65625 1.859375 -0.5 1.859375 -0.375 C 1.859375 -0.03125 2.125 0.25 2.5 0.25 C 2.796875 0.25 3.140625 0.09375 3.34375 -0.265625 C 3.390625 -0.390625 3.625 -1.265625 3.734375 -1.765625 L 4.28125 -3.984375 Z M 5.109375 -7.265625 "/> +</g> +<g id="glyph-4-3"> +<path d="M 16.328125 -5.65625 C 16.796875 -5.875 16.828125 -6.015625 16.828125 -6.1875 C 16.828125 -6.34375 16.78125 -6.515625 16.328125 -6.71875 L 2.921875 -12.890625 C 2.609375 -13.03125 2.546875 -13.0625 2.5 -13.0625 C 2.203125 -13.0625 2.03125 -12.8125 2.03125 -12.609375 C 2.03125 -12.3125 2.234375 -12.21875 2.546875 -12.0625 L 15.296875 -6.1875 L 2.53125 -0.296875 C 2.03125 -0.078125 2.03125 0.09375 2.03125 0.25 C 2.03125 0.453125 2.203125 0.6875 2.5 0.6875 C 2.546875 0.6875 2.578125 0.671875 2.921875 0.515625 Z M 16.328125 -5.65625 "/> +</g> +<g id="glyph-4-4"> +<path d="M 1.0625 3.140625 C 0.890625 3.890625 0.796875 4.09375 -0.21875 4.09375 C -0.515625 4.09375 -0.765625 4.09375 -0.765625 4.5625 C -0.765625 4.609375 -0.75 4.8125 -0.46875 4.8125 C -0.15625 4.8125 0.203125 4.765625 0.515625 4.765625 L 1.59375 4.765625 C 2.109375 4.765625 3.375 4.8125 3.890625 4.8125 C 4.046875 4.8125 4.34375 4.8125 4.34375 4.359375 C 4.34375 4.09375 4.15625 4.09375 3.734375 4.09375 C 2.609375 4.09375 2.53125 3.921875 2.53125 3.71875 C 2.53125 3.421875 3.640625 -0.84375 3.796875 -1.40625 C 4.0625 -0.71875 4.734375 0.25 6.015625 0.25 C 8.828125 0.25 11.84375 -3.390625 11.84375 -7.03125 C 11.84375 -9.3125 10.5625 -10.921875 8.703125 -10.921875 C 7.109375 -10.921875 5.78125 -9.390625 5.5 -9.046875 C 5.296875 -10.28125 4.34375 -10.921875 3.34375 -10.921875 C 2.625 -10.921875 2.0625 -10.578125 1.59375 -9.640625 C 1.140625 -8.75 0.796875 -7.234375 0.796875 -7.140625 C 0.796875 -7.03125 0.890625 -6.90625 1.0625 -6.90625 C 1.265625 -6.90625 1.28125 -6.9375 1.4375 -7.515625 C 1.8125 -8.96875 2.28125 -10.4375 3.265625 -10.4375 C 3.84375 -10.4375 4.046875 -10.03125 4.046875 -9.296875 C 4.046875 -8.703125 3.96875 -8.453125 3.859375 -8 Z M 5.359375 -7.734375 C 5.53125 -8.421875 6.21875 -9.140625 6.609375 -9.484375 C 6.890625 -9.734375 7.703125 -10.4375 8.65625 -10.4375 C 9.734375 -10.4375 10.234375 -9.34375 10.234375 -8.046875 C 10.234375 -6.859375 9.546875 -4.0625 8.921875 -2.78125 C 8.296875 -1.4375 7.15625 -0.25 6.015625 -0.25 C 4.34375 -0.25 4.0625 -2.375 4.0625 -2.484375 C 4.0625 -2.546875 4.109375 -2.75 4.140625 -2.875 Z M 5.359375 -7.734375 "/> +</g> +<g id="glyph-5-0"> +<path d="M 4.84375 -11.515625 C 4.859375 -11.59375 4.890625 -11.6875 4.890625 -11.78125 C 4.890625 -11.953125 4.71875 -11.953125 4.6875 -11.953125 C 4.671875 -11.953125 4.046875 -11.890625 3.734375 -11.859375 C 3.4375 -11.84375 3.1875 -11.8125 2.875 -11.796875 C 2.46875 -11.765625 2.34375 -11.75 2.34375 -11.4375 C 2.34375 -11.265625 2.515625 -11.265625 2.6875 -11.265625 C 3.5625 -11.265625 3.5625 -11.109375 3.5625 -10.9375 C 3.5625 -10.859375 3.5625 -10.828125 3.484375 -10.515625 L 1.015625 -0.671875 C 0.953125 -0.40625 0.953125 -0.375 0.953125 -0.28125 C 0.953125 0.109375 1.234375 0.171875 1.40625 0.171875 C 1.890625 0.171875 2 -0.203125 2.140625 -0.734375 L 2.9375 -3.953125 C 4.1875 -3.828125 4.921875 -3.3125 4.921875 -2.484375 C 4.921875 -2.375 4.921875 -2.3125 4.875 -2.046875 C 4.796875 -1.796875 4.796875 -1.578125 4.796875 -1.5 C 4.796875 -0.5 5.453125 0.171875 6.34375 0.171875 C 7.125 0.171875 7.546875 -0.546875 7.671875 -0.796875 C 8.046875 -1.421875 8.265625 -2.390625 8.265625 -2.46875 C 8.265625 -2.546875 8.203125 -2.625 8.09375 -2.625 C 7.9375 -2.625 7.921875 -2.546875 7.859375 -2.265625 C 7.609375 -1.375 7.25 -0.171875 6.375 -0.171875 C 6.03125 -0.171875 5.796875 -0.34375 5.796875 -1 C 5.796875 -1.328125 5.875 -1.703125 5.9375 -1.96875 C 6.015625 -2.265625 6.015625 -2.296875 6.015625 -2.5 C 6.015625 -3.515625 5.09375 -4.078125 3.515625 -4.28125 C 4.125 -4.671875 4.75 -5.34375 5 -5.59375 C 5.96875 -6.703125 6.640625 -7.25 7.4375 -7.25 C 7.828125 -7.25 7.9375 -7.140625 8.0625 -7.046875 C 7.421875 -6.96875 7.1875 -6.53125 7.1875 -6.1875 C 7.1875 -5.765625 7.5 -5.625 7.75 -5.625 C 8.21875 -5.625 8.625 -6.03125 8.625 -6.578125 C 8.625 -7.078125 8.234375 -7.59375 7.453125 -7.59375 C 6.515625 -7.59375 5.734375 -6.921875 4.515625 -5.546875 C 4.34375 -5.34375 3.703125 -4.6875 3.0625 -4.4375 Z M 4.84375 -11.515625 "/> +</g> +<g id="glyph-6-0"> +<path d="M 10.25 -3.25 C 10.25 -3.359375 10.140625 -3.390625 10.03125 -3.390625 C 9.6875 -3.390625 9.1875 -3.078125 9.171875 -3.078125 C 8.765625 -2.8125 8.671875 -2.671875 8.421875 -2.3125 C 7.78125 -1.34375 6.875 -0.640625 5.53125 -0.640625 C 3.671875 -0.640625 2 -1.984375 2 -5.078125 C 2 -6.9375 2.75 -9.40625 3.84375 -11.03125 C 4.75 -12.359375 5.859375 -13.421875 8 -13.421875 C 8.78125 -13.421875 9.28125 -13.140625 9.28125 -12.375 C 9.28125 -11.65625 8.515625 -10.1875 8.265625 -9.765625 C 8.140625 -9.546875 8.140625 -9.5 8.140625 -9.453125 C 8.140625 -9.3125 8.234375 -9.3125 8.359375 -9.3125 C 8.78125 -9.3125 9.546875 -9.765625 9.796875 -10.09375 C 9.828125 -10.1875 11.03125 -12.203125 11.03125 -13.265625 C 11.03125 -14.390625 10.09375 -14.5625 9.359375 -14.5625 C 6.359375 -14.5625 3.90625 -12.59375 2.953125 -11.4375 C 0.5 -8.46875 0.25 -5.265625 0.25 -4.1875 C 0.25 -1.171875 1.78125 0.5 4.171875 0.5 C 7.5 0.5 10.25 -2.734375 10.25 -3.25 Z M 10.25 -3.25 "/> +</g> +<g id="glyph-6-1"> +<path d="M 13.609375 -4.75 C 13.96875 -4.75 14.328125 -4.75 14.328125 -5.171875 C 14.328125 -5.578125 13.96875 -5.578125 13.609375 -5.578125 L 2.4375 -5.578125 C 2.09375 -5.578125 1.71875 -5.578125 1.71875 -5.171875 C 1.71875 -4.75 2.09375 -4.75 2.4375 -4.75 Z M 13.609375 -4.75 "/> +</g> +<g id="glyph-7-0"> +<path d="M 5.265625 4.203125 C 5.265625 4.1875 5.265625 4.15625 5.21875 4.09375 C 4.421875 3.28125 2.3125 1.078125 2.3125 -4.28125 C 2.3125 -9.65625 4.390625 -11.84375 5.234375 -12.703125 C 5.234375 -12.71875 5.265625 -12.765625 5.265625 -12.8125 C 5.265625 -12.859375 5.21875 -12.890625 5.140625 -12.890625 C 4.953125 -12.890625 3.5 -11.625 2.65625 -9.734375 C 1.796875 -7.8125 1.546875 -5.953125 1.546875 -4.3125 C 1.546875 -3.0625 1.671875 -0.96875 2.703125 1.25 C 3.53125 3.046875 4.9375 4.3125 5.140625 4.3125 C 5.234375 4.3125 5.265625 4.265625 5.265625 4.203125 Z M 5.265625 4.203125 "/> +</g> +<g id="glyph-7-1"> +<path d="M 7.234375 -5.53125 C 7.234375 -6.578125 7.21875 -8.375 6.484375 -9.75 C 5.859375 -10.953125 4.84375 -11.375 3.9375 -11.375 C 3.109375 -11.375 2.0625 -11 1.40625 -9.765625 C 0.71875 -8.46875 0.65625 -6.875 0.65625 -5.53125 C 0.65625 -4.546875 0.671875 -3.046875 1.203125 -1.734375 C 1.953125 0.03125 3.265625 0.28125 3.9375 0.28125 C 4.734375 0.28125 5.9375 -0.046875 6.640625 -1.6875 C 7.15625 -2.875 7.234375 -4.265625 7.234375 -5.53125 Z M 3.9375 0 C 2.84375 0 2.1875 -0.953125 1.953125 -2.25 C 1.75 -3.265625 1.75 -4.75 1.75 -5.71875 C 1.75 -7.046875 1.75 -8.140625 1.984375 -9.1875 C 2.3125 -10.65625 3.265625 -11.109375 3.9375 -11.109375 C 4.65625 -11.109375 5.5625 -10.640625 5.890625 -9.234375 C 6.109375 -8.25 6.125 -7.09375 6.125 -5.71875 C 6.125 -4.59375 6.125 -3.21875 5.921875 -2.203125 C 5.5625 -0.328125 4.546875 0 3.9375 0 Z M 3.9375 0 "/> +</g> +<g id="glyph-7-2"> +<path d="M 4.53125 -4.28125 C 4.53125 -5.53125 4.40625 -7.625 3.375 -9.84375 C 2.546875 -11.640625 1.140625 -12.890625 0.9375 -12.890625 C 0.875 -12.890625 0.8125 -12.875 0.8125 -12.796875 C 0.8125 -12.765625 0.828125 -12.734375 0.84375 -12.703125 C 1.671875 -11.84375 3.765625 -9.65625 3.765625 -4.3125 C 3.765625 1.0625 1.6875 3.25 0.84375 4.109375 C 0.828125 4.15625 0.8125 4.171875 0.8125 4.203125 C 0.8125 4.28125 0.875 4.3125 0.9375 4.3125 C 1.125 4.3125 2.578125 3.03125 3.421875 1.140625 C 4.28125 -0.78125 4.53125 -2.640625 4.53125 -4.28125 Z M 4.53125 -4.28125 "/> +</g> +<g id="glyph-8-0"> +<path d="M 10.4375 13.234375 L 1.640625 24.109375 C 1.4375 24.359375 1.40625 24.40625 1.40625 24.515625 C 1.40625 24.78125 1.640625 24.78125 2.078125 24.78125 L 22.625 24.78125 L 24.75 18.609375 L 24.140625 18.609375 C 23.515625 20.46875 21.859375 21.984375 19.75 22.703125 C 19.359375 22.828125 17.640625 23.421875 14 23.421875 L 3.46875 23.421875 L 12.0625 12.78125 C 12.234375 12.5625 12.296875 12.484375 12.296875 12.390625 C 12.296875 12.296875 12.265625 12.265625 12.125 12.046875 L 4.0625 0.984375 L 13.875 0.984375 C 16.703125 0.984375 22.40625 1.171875 24.140625 5.796875 L 24.75 5.796875 L 22.625 0 L 2.078125 0 C 1.40625 0 1.390625 0.03125 1.390625 0.796875 Z M 10.4375 13.234375 "/> +</g> +<g id="glyph-9-0"> +<path d="M 15.59375 -12.5625 C 15.703125 -12.953125 15.703125 -12.96875 16.1875 -13.09375 C 16.546875 -13.15625 17.0625 -13.203125 17.390625 -13.203125 C 17.78125 -13.203125 18.109375 -13.203125 18.109375 -13.796875 C 18.109375 -14.03125 17.953125 -14.171875 17.703125 -14.171875 C 16.953125 -14.171875 16.171875 -14.109375 15.40625 -14.109375 C 14.890625 -14.109375 13.578125 -14.171875 13.0625 -14.171875 C 12.90625 -14.171875 12.5 -14.171875 12.5 -13.578125 C 12.5 -13.203125 12.84375 -13.203125 13.140625 -13.203125 C 13.328125 -13.203125 14.09375 -13.203125 14.578125 -13 L 12.53125 -4.859375 C 11.796875 -1.859375 9.359375 -0.625 6.875 -0.625 C 4.9375 -0.625 4.03125 -1.421875 4.03125 -2.90625 C 4.03125 -3.421875 4.109375 -3.953125 4.234375 -4.46875 L 6.40625 -13.109375 C 6.859375 -13.203125 7.578125 -13.203125 7.8125 -13.203125 C 8.53125 -13.203125 8.796875 -13.203125 8.796875 -13.796875 C 8.796875 -14.0625 8.578125 -14.171875 8.34375 -14.171875 C 7.828125 -14.171875 7.296875 -14.125 6.78125 -14.125 C 6.265625 -14.125 5.75 -14.109375 5.21875 -14.109375 C 4.6875 -14.109375 4.15625 -14.125 3.640625 -14.125 C 3.09375 -14.125 2.546875 -14.171875 2 -14.171875 C 1.796875 -14.171875 1.40625 -14.171875 1.40625 -13.578125 C 1.40625 -13.203125 1.671875 -13.203125 2.359375 -13.203125 C 2.84375 -13.203125 3.515625 -13.203125 3.515625 -13.09375 C 3.515625 -13.0625 3.3125 -12.296875 3.203125 -11.890625 L 2.75 -10.078125 L 1.484375 -4.984375 C 1.296875 -4.234375 1.296875 -4.0625 1.296875 -3.671875 C 1.296875 -0.96875 3.609375 0.34375 6.734375 0.34375 C 10.4375 0.34375 12.90625 -1.84375 13.609375 -4.671875 Z M 15.59375 -12.5625 "/> +</g> +<g id="glyph-10-0"> +<path d="M 6.4375 4.109375 C 6.4375 4.046875 6.4375 4.015625 6.109375 3.703125 C 4.1875 1.78125 3.4375 -1.25 3.4375 -4.28125 C 3.4375 -7.671875 4.28125 -10.46875 6.21875 -12.421875 C 6.421875 -12.625 6.4375 -12.640625 6.4375 -12.703125 C 6.4375 -12.921875 6.234375 -12.921875 6.140625 -12.921875 C 5.984375 -12.921875 5.953125 -12.921875 5.515625 -12.546875 C 3.03125 -10.578125 1.859375 -7.40625 1.859375 -4.3125 C 1.859375 -1.140625 3.046875 1.953125 5.5 3.9375 C 5.9375 4.328125 5.96875 4.328125 6.140625 4.328125 C 6.234375 4.328125 6.4375 4.328125 6.4375 4.109375 Z M 6.4375 4.109375 "/> +</g> +<g id="glyph-10-1"> +<path d="M 5.640625 -4.28125 C 5.640625 -7.453125 4.453125 -10.53125 2.015625 -12.53125 C 1.5625 -12.921875 1.53125 -12.921875 1.359375 -12.921875 C 1.28125 -12.921875 1.0625 -12.921875 1.0625 -12.703125 C 1.0625 -12.640625 1.0625 -12.609375 1.390625 -12.296875 C 3.328125 -10.359375 4.0625 -7.328125 4.0625 -4.3125 C 4.0625 -0.90625 3.21875 1.875 1.296875 3.828125 C 1.078125 4.03125 1.0625 4.046875 1.0625 4.109375 C 1.0625 4.328125 1.28125 4.328125 1.359375 4.328125 C 1.515625 4.328125 1.546875 4.328125 2 3.953125 C 4.484375 1.984375 5.640625 -1.1875 5.640625 -4.28125 Z M 5.640625 -4.28125 "/> +</g> +<g id="glyph-11-0"> +<path d="M 5.4375 -11.34375 C 5.515625 -11.59375 5.515625 -11.625 5.515625 -11.640625 C 5.515625 -11.859375 5.328125 -11.953125 5.125 -11.953125 C 5.0625 -11.953125 5.046875 -11.953125 5.015625 -11.9375 L 2.796875 -11.828125 C 2.546875 -11.8125 2.234375 -11.796875 2.234375 -11.3125 C 2.234375 -11 2.5625 -11 2.6875 -11 C 2.875 -11 3.1875 -11 3.40625 -10.96875 L 0.9375 -1.03125 C 0.90625 -0.96875 0.859375 -0.703125 0.859375 -0.640625 C 0.859375 -0.21875 1.1875 0.140625 1.6875 0.140625 C 2 0.140625 2.5 -0.015625 2.734375 -0.546875 C 2.796875 -0.703125 3.03125 -1.703125 3.53125 -3.703125 C 3.859375 -3.671875 5.359375 -3.46875 5.359375 -2.40625 C 5.359375 -2.296875 5.359375 -2.234375 5.296875 -2.046875 C 5.25 -1.828125 5.25 -1.8125 5.25 -1.640625 C 5.25 -0.515625 6.3125 0.140625 7.453125 0.140625 C 9.171875 0.140625 9.8125 -2.40625 9.8125 -2.546875 C 9.8125 -2.796875 9.5625 -2.796875 9.40625 -2.796875 C 9.09375 -2.796875 9.0625 -2.75 8.96875 -2.4375 C 8.828125 -1.953125 8.421875 -0.484375 7.546875 -0.484375 C 7.265625 -0.484375 7.09375 -0.640625 7.09375 -1.15625 C 7.09375 -1.328125 7.125 -1.65625 7.234375 -2.046875 C 7.28125 -2.234375 7.28125 -2.359375 7.28125 -2.484375 C 7.28125 -3.9375 5.546875 -4.21875 4.3125 -4.34375 C 4.484375 -4.453125 4.890625 -4.734375 5.84375 -5.640625 C 7.15625 -6.953125 7.890625 -7.15625 8.40625 -7.15625 C 8.734375 -7.15625 8.84375 -6.96875 8.84375 -6.953125 C 7.984375 -6.828125 7.65625 -6.140625 7.65625 -5.71875 C 7.65625 -5.34375 7.953125 -4.921875 8.515625 -4.921875 C 8.84375 -4.921875 9.765625 -5.140625 9.765625 -6.375 C 9.765625 -7.265625 9.1875 -7.78125 8.453125 -7.78125 C 7.40625 -7.78125 6.453125 -7.03125 5.4375 -6.046875 C 5.265625 -5.859375 4.4375 -5.0625 3.78125 -4.703125 Z M 5.4375 -11.34375 "/> +</g> +<g id="glyph-12-0"> +<path d="M 8.96875 -7.484375 L 13.359375 -7.484375 C 17.921875 -7.484375 21.046875 -10.265625 21.046875 -13.1875 C 21.046875 -15.71875 18.765625 -17 15.484375 -17 L 5.953125 -17 C 5.484375 -17 5.03125 -17 5.03125 -16.28125 C 5.03125 -15.828125 5.375 -15.828125 6.078125 -15.828125 C 6.59375 -15.828125 7.0625 -15.8125 7.578125 -15.78125 L 4.046875 -1.65625 C 3.9375 -1.265625 3.921875 -1.234375 3.46875 -1.1875 C 3.046875 -1.171875 2.546875 -1.171875 2.15625 -1.171875 C 1.515625 -1.171875 1.46875 -1.171875 1.390625 -1.09375 C 1.0625 -0.9375 1.0625 -0.5625 1.0625 -0.453125 C 1.0625 -0.421875 1.0625 0 1.609375 0 C 2.234375 0 2.875 -0.046875 3.5 -0.046875 C 4.109375 -0.046875 4.765625 -0.078125 5.375 -0.078125 C 6.015625 -0.078125 6.671875 -0.046875 7.28125 -0.046875 C 7.9375 -0.046875 8.59375 0 9.21875 0 C 9.46875 0 9.9375 0 9.9375 -0.6875 C 9.9375 -1.171875 9.640625 -1.171875 8.921875 -1.171875 C 8.40625 -1.171875 7.9375 -1.1875 7.40625 -1.21875 Z M 10.796875 -15.390625 C 10.90625 -15.765625 10.921875 -15.78125 11.078125 -15.8125 C 11.296875 -15.828125 11.46875 -15.828125 11.75 -15.828125 L 14.328125 -15.828125 C 15.71875 -15.828125 17.5625 -15.59375 17.5625 -13.875 C 17.5625 -13.578125 17.25 -11.046875 16.328125 -9.859375 C 15.8125 -9.1875 14.6875 -8.5 12.46875 -8.5 L 9.0625 -8.5 Z M 10.796875 -15.390625 "/> +</g> +</g> +<clipPath id="clip-0"> +<path clip-rule="nonzero" d="M 0 0 L 812.011719 0 L 812.011719 91.917969 L 0 91.917969 Z M 0 0 "/> +</clipPath> +</defs> +<g clip-path="url(#clip-0)"> +<path fill-rule="nonzero" fill="rgb(96.076965%, 96.076965%, 96.076965%)" fill-opacity="1" d="M 789.339844 0 L 22.671875 0 C 10.148438 0 -0.00390625 10.152344 -0.00390625 22.675781 L -0.00390625 69.242188 C -0.00390625 81.765625 10.148438 91.917969 22.671875 91.917969 L 789.339844 91.917969 C 801.863281 91.917969 812.015625 81.765625 812.015625 69.242188 L 812.015625 22.675781 C 812.015625 10.152344 801.863281 0 789.339844 0 Z M 789.339844 0 "/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-0-0" x="22.677" y="55.903"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-0" x="37.174" y="46.908"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="44.491" y="46.908"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-1" x="55.707" y="46.908"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-3-0" x="63.523" y="55.903"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-0" x="72.301" y="55.903"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-3-1" x="86.114" y="55.903"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-3-2" x="101.781926" y="55.903"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-1" x="127.701" y="43.071"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-0" x="139.505" y="35.573"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-0" x="149.348" y="43.071"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-0" x="161.433" y="35.573"/> +<use xlink:href="#glyph-7-1" x="167.528973" y="35.573"/> +<use xlink:href="#glyph-7-2" x="175.423956" y="35.573"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-0" x="182.019" y="43.071"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-2" x="189.336" y="43.071"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-1" x="200.851" y="43.071"/> +</g> +<path fill="none" stroke-width="0.991" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M -0.00178125 -0.00003125 L 80.466969 -0.00003125 " transform="matrix(1, 0, 0, -1, 127.701, 49.707)"/> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-1" x="151.353" y="69.118"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-2" x="163.149221" y="69.118"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-0" x="174.673" y="63.149"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-3-2" x="216.249" y="55.903"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-8-0" x="240.977" y="37.313"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-3" x="267.141" y="45.291"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-1" x="279.218" y="45.291"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="295.289" y="45.291"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-4" x="267.141" y="64.525"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-2" x="274.043" y="64.525"/> +<use xlink:href="#glyph-1-3" x="288.915867" y="64.525"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-0-1" x="311.134" y="55.903"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-9-0" x="335.125" y="46.908"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-10-0" x="354.021" y="39.41"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-11-0" x="361.552" y="39.41"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-10-1" x="372.264" y="39.41"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-4" x="331.472" y="65.223"/> +<use xlink:href="#glyph-2-5" x="338.373275" y="65.223"/> +<use xlink:href="#glyph-2-6" x="343.993475" y="65.223"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-1" x="354.148" y="65.223"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="370.219" y="65.223"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-3-0" x="381.933" y="55.903"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-0" x="390.711" y="55.903"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-3-1" x="404.524" y="55.903"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-12-0" x="417.433" y="55.903"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-0" x="439.316" y="42.217"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="446.633" y="42.217"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-1" x="457.849" y="42.217"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-4" x="439.316" y="64.878"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-1" x="465.664" y="55.903"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-0" x="499.275308" y="55.903"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-0-2" x="519.971" y="55.903"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-3-3" x="543.381" y="55.903"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-0" x="549.569" y="55.903"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-6" x="563.383" y="61.715"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-1" x="573.537" y="61.715"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="589.608" y="61.715"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-1" x="601.322" y="55.903"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-0" x="612.203537" y="55.903"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-3" x="626.008" y="61.715"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-4" x="638.085" y="61.715"/> +<use xlink:href="#glyph-1-5" x="652.957867" y="61.715"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-1" x="662.435" y="61.715"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="678.506" y="61.715"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-3-4" x="690.22" y="55.903"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-1" x="696.408" y="55.903"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-2" x="730.019308" y="55.903"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-3" x="751.398181" y="55.903"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-4" x="777.142063" y="55.903"/> +</g> +</svg> diff --git a/doc-images/equations/curve.tex b/doc-images/equations/curve.tex index 8153ff8..393502a 100644 --- a/doc-images/equations/curve.tex +++ b/doc-images/equations/curve.tex @@ -1,13 +1,8 @@ -\documentclass[10pt]{article} -\usepackage[usenames]{color} -\usepackage{amssymb} -\usepackage{amsmath} -\usepackage{nicefrac} -\definecolor{mygreen}{rgb}{0.454,0.824,0.208} -\definecolor{myred}{rgb}{0.8,0.173,0.137} - -\usepackage[utf8]{inputenc} -\begin{equation}\nonumber -\mathcal{C}(u) = \sum_{i=0}^{n} \mathcal{N}_{i,p}^{\boldsymbol{U}} (u)\, \boldsymbol{P}_i,\quad u \in [u_p,u_{n+1}] -\end{equation} +\input{_preamble} +\begin{document} + \myeqs{ + \mathcal{C}^{(k)}(u) = \frac{\partial^k\mathcal{C}^{(0)}(u)}{\partial u^k} = \sum_{i=0}^{n-k} \mathcal{N}_{i,p-k}^{\boldsymbol{U^{(k)}}} (u)\, \boldsymbol{P}^{(k)}_i,\quad + u \in [u_{p-k},u_{n+1-k}],\quad + n > p + } \end{document} diff --git a/doc-images/equations/curve.tex.svg b/doc-images/equations/curve.tex.svg deleted file mode 100644 index 613d504..0000000 --- a/doc-images/equations/curve.tex.svg +++ /dev/null @@ -1,152 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="400" height="67" viewBox="0 0 400 67"> -<defs> -<g> -<g id="glyph-0-0"> -<path d="M 11.859375 -3.75 C 11.859375 -3.890625 11.734375 -3.921875 11.625 -3.921875 C 11.21875 -3.921875 10.640625 -3.5625 10.609375 -3.5625 C 10.140625 -3.25 10.046875 -3.078125 9.75 -2.671875 C 9.015625 -1.546875 7.953125 -0.734375 6.40625 -0.734375 C 4.25 -0.734375 2.3125 -2.296875 2.3125 -5.875 C 2.3125 -8.03125 3.171875 -10.875 4.453125 -12.765625 C 5.5 -14.296875 6.796875 -15.53125 9.25 -15.53125 C 10.15625 -15.53125 10.734375 -15.203125 10.734375 -14.3125 C 10.734375 -13.484375 9.84375 -11.78125 9.5625 -11.3125 C 9.421875 -11.046875 9.421875 -11 9.421875 -10.953125 C 9.421875 -10.78125 9.53125 -10.78125 9.6875 -10.78125 C 10.15625 -10.78125 11.046875 -11.3125 11.328125 -11.6875 C 11.375 -11.78125 12.765625 -14.125 12.765625 -15.34375 C 12.765625 -16.65625 11.6875 -16.859375 10.828125 -16.859375 C 7.359375 -16.859375 4.515625 -14.578125 3.421875 -13.25 C 0.578125 -9.796875 0.28125 -6.09375 0.28125 -4.859375 C 0.28125 -1.359375 2.0625 0.578125 4.828125 0.578125 C 8.671875 0.578125 11.859375 -3.15625 11.859375 -3.75 Z M 11.859375 -3.75 "/> -</g> -<g id="glyph-0-1"> -<path d="M 7.3125 -13.71875 C 7.75 -12.484375 8.265625 -10.6875 9.34375 -7.75 C 10.859375 -3.6875 11.515625 -2.203125 12.984375 0.078125 C 13.3125 0.578125 13.34375 0.59375 13.5625 0.59375 C 13.890625 0.59375 14.390625 0.3125 14.65625 0.125 C 14.984375 -0.1875 15.015625 -0.21875 15.28125 -1.390625 C 16.703125 -7.671875 18.53125 -14.21875 19 -15.328125 C 19.03125 -15.375 19.5 -16.28125 22.453125 -16.328125 C 22.921875 -16.359375 23.375 -17.625 23.375 -18.140625 C 23.375 -18.53125 23.234375 -18.53125 22.90625 -18.53125 C 20.515625 -18.53125 19.4375 -17.515625 19.15625 -17.21875 C 18.484375 -16.359375 17.90625 -14.609375 16.8125 -10.609375 C 15.96875 -7.546875 15.203125 -4.453125 14.46875 -1.359375 C 13.140625 -3.34375 12.40625 -5.234375 11.265625 -8.3125 C 10 -11.71875 9.234375 -14.203125 8.578125 -16.359375 C 8.4375 -16.828125 8.421875 -16.859375 8.203125 -16.859375 C 8.15625 -16.859375 7.671875 -16.859375 6.984375 -16.28125 C 6.734375 -16.0625 6.71875 -15.84375 6.6875 -15.59375 C 6.03125 -9.234375 3.78125 -2.9375 3.125 -1.796875 C 2.9375 -1.4375 2.65625 -1 2.171875 -1 C 1.9375 -1 1 -1.125 0.375 -1.703125 C 0.265625 -1.796875 0.21875 -1.796875 0.1875 -1.796875 C -0.1875 -1.796875 -0.6875 -0.59375 -0.6875 -0.03125 C -0.6875 0.71875 0.765625 1.1875 1.4375 1.1875 C 2.96875 1.1875 4.1875 -2.171875 4.5625 -3.28125 C 6.125 -7.609375 6.859375 -11.171875 7.3125 -13.71875 Z M 7.3125 -13.71875 "/> -</g> -<g id="glyph-1-0"> -<path d="M 7.90625 5.734375 C 7.90625 5.671875 7.90625 5.625 7.5 5.21875 C 4.515625 2.203125 3.75 -2.3125 3.75 -5.96875 C 3.75 -10.140625 4.65625 -14.296875 7.609375 -17.28125 C 7.90625 -17.578125 7.90625 -17.625 7.90625 -17.6875 C 7.90625 -17.859375 7.8125 -17.921875 7.671875 -17.921875 C 7.4375 -17.921875 5.28125 -16.296875 3.875 -13.265625 C 2.65625 -10.640625 2.359375 -7.984375 2.359375 -5.96875 C 2.359375 -4.109375 2.625 -1.21875 3.9375 1.484375 C 5.375 4.421875 7.4375 5.96875 7.671875 5.96875 C 7.8125 5.96875 7.90625 5.90625 7.90625 5.734375 Z M 7.90625 5.734375 "/> -</g> -<g id="glyph-1-1"> -<path d="M 6.90625 -5.96875 C 6.90625 -7.84375 6.640625 -10.734375 5.328125 -13.4375 C 3.890625 -16.375 1.84375 -17.921875 1.609375 -17.921875 C 1.453125 -17.921875 1.359375 -17.828125 1.359375 -17.6875 C 1.359375 -17.625 1.359375 -17.578125 1.8125 -17.140625 C 4.15625 -14.78125 5.515625 -10.96875 5.515625 -5.96875 C 5.515625 -1.890625 4.640625 2.3125 1.671875 5.328125 C 1.359375 5.625 1.359375 5.671875 1.359375 5.734375 C 1.359375 5.875 1.453125 5.96875 1.609375 5.96875 C 1.84375 5.96875 4 4.34375 5.40625 1.3125 C 6.625 -1.3125 6.90625 -3.96875 6.90625 -5.96875 Z M 6.90625 -5.96875 "/> -</g> -<g id="glyph-1-2"> -<path d="M 16.421875 -7.8125 C 16.78125 -7.8125 17.234375 -7.8125 17.234375 -8.296875 C 17.234375 -8.78125 16.78125 -8.78125 16.453125 -8.78125 L 2.125 -8.78125 C 1.796875 -8.78125 1.34375 -8.78125 1.34375 -8.296875 C 1.34375 -7.8125 1.796875 -7.8125 2.15625 -7.8125 Z M 16.453125 -3.171875 C 16.78125 -3.171875 17.234375 -3.171875 17.234375 -3.65625 C 17.234375 -4.140625 16.78125 -4.140625 16.421875 -4.140625 L 2.15625 -4.140625 C 1.796875 -4.140625 1.34375 -4.140625 1.34375 -3.65625 C 1.34375 -3.171875 1.796875 -3.171875 2.125 -3.171875 Z M 16.453125 -3.171875 "/> -</g> -<g id="glyph-1-3"> -<path d="M 6.09375 5.96875 L 6.09375 5.015625 L 3.78125 5.015625 L 3.78125 -16.96875 L 6.09375 -16.96875 L 6.09375 -17.921875 L 2.828125 -17.921875 L 2.828125 5.96875 Z M 6.09375 5.96875 "/> -</g> -<g id="glyph-1-4"> -<path d="M 3.796875 -17.921875 L 0.53125 -17.921875 L 0.53125 -16.96875 L 2.84375 -16.96875 L 2.84375 5.015625 L 0.53125 5.015625 L 0.53125 5.96875 L 3.796875 5.96875 Z M 3.796875 -17.921875 "/> -</g> -<g id="glyph-2-0"> -<path d="M 8.359375 -1.34375 C 8.625 -0.359375 9.46875 0.265625 10.5 0.265625 C 11.328125 0.265625 11.875 -0.28125 12.265625 -1.046875 C 12.671875 -1.90625 12.984375 -3.375 12.984375 -3.421875 C 12.984375 -3.65625 12.765625 -3.65625 12.6875 -3.65625 C 12.453125 -3.65625 12.4375 -3.5625 12.359375 -3.234375 C 12.03125 -1.890625 11.578125 -0.265625 10.5625 -0.265625 C 10.0625 -0.265625 9.828125 -0.578125 9.828125 -1.359375 C 9.828125 -1.890625 10.109375 -3.015625 10.296875 -3.84375 L 10.96875 -6.4375 C 11.046875 -6.796875 11.28125 -7.703125 11.375 -8.0625 C 11.5 -8.609375 11.734375 -9.515625 11.734375 -9.65625 C 11.734375 -10.09375 11.40625 -10.296875 11.046875 -10.296875 C 10.921875 -10.296875 10.296875 -10.28125 10.109375 -9.46875 C 9.65625 -7.71875 8.609375 -3.53125 8.3125 -2.265625 C 8.296875 -2.171875 7.34375 -0.265625 5.59375 -0.265625 C 4.34375 -0.265625 4.109375 -1.34375 4.109375 -2.21875 C 4.109375 -3.5625 4.78125 -5.453125 5.40625 -7.09375 C 5.6875 -7.8125 5.8125 -8.15625 5.8125 -8.609375 C 5.8125 -9.6875 5.046875 -10.5625 3.84375 -10.5625 C 1.578125 -10.5625 0.6875 -7.09375 0.6875 -6.890625 C 0.6875 -6.640625 0.9375 -6.640625 0.984375 -6.640625 C 1.21875 -6.640625 1.25 -6.6875 1.359375 -7.078125 C 1.953125 -9.15625 2.875 -10.046875 3.78125 -10.046875 C 4 -10.046875 4.375 -10.015625 4.375 -9.25 C 4.375 -8.671875 4.109375 -7.984375 3.96875 -7.625 C 3.078125 -5.265625 2.578125 -3.78125 2.578125 -2.609375 C 2.578125 -0.328125 4.234375 0.265625 5.515625 0.265625 C 7.09375 0.265625 7.953125 -0.8125 8.359375 -1.34375 Z M 8.359375 -1.34375 "/> -</g> -<g id="glyph-2-1"> -<path d="M 4.859375 -0.03125 C 4.859375 -1.609375 4.25 -2.53125 3.328125 -2.53125 C 2.53125 -2.53125 2.0625 -1.9375 2.0625 -1.265625 C 2.0625 -0.625 2.53125 0 3.328125 0 C 3.609375 0 3.921875 -0.09375 4.15625 -0.3125 C 4.234375 -0.359375 4.25 -0.375 4.28125 -0.375 C 4.296875 -0.375 4.328125 -0.359375 4.328125 -0.03125 C 4.328125 1.75 3.484375 3.171875 2.703125 3.96875 C 2.4375 4.234375 2.4375 4.28125 2.4375 4.34375 C 2.4375 4.515625 2.5625 4.609375 2.671875 4.609375 C 2.9375 4.609375 4.859375 2.765625 4.859375 -0.03125 Z M 4.859375 -0.03125 "/> -</g> -<g id="glyph-3-0"> -<path d="M 2.046875 -1.046875 C 1.96875 -0.84375 1.875 -0.421875 1.875 -0.375 C 1.875 0 2.171875 0.171875 2.4375 0.171875 C 2.75 0.171875 3.015625 -0.046875 3.09375 -0.203125 C 3.171875 -0.34375 3.3125 -0.890625 3.390625 -1.234375 C 3.484375 -1.5625 3.671875 -2.328125 3.765625 -2.75 C 3.859375 -3.109375 3.96875 -3.484375 4.046875 -3.859375 C 4.234375 -4.546875 4.265625 -4.6875 4.75 -5.375 C 5.21875 -6.046875 6 -6.90625 7.265625 -6.90625 C 8.234375 -6.90625 8.25 -6.0625 8.25 -5.734375 C 8.25 -4.734375 7.53125 -2.875 7.265625 -2.171875 C 7.078125 -1.703125 7.015625 -1.5625 7.015625 -1.265625 C 7.015625 -0.390625 7.75 0.171875 8.59375 0.171875 C 10.28125 0.171875 11.015625 -2.140625 11.015625 -2.390625 C 11.015625 -2.609375 10.796875 -2.609375 10.75 -2.609375 C 10.515625 -2.609375 10.5 -2.515625 10.421875 -2.328125 C 10.046875 -0.984375 9.328125 -0.296875 8.65625 -0.296875 C 8.296875 -0.296875 8.234375 -0.53125 8.234375 -0.890625 C 8.234375 -1.265625 8.3125 -1.484375 8.625 -2.25 C 8.8125 -2.765625 9.5 -4.53125 9.5 -5.46875 C 9.5 -7.09375 8.21875 -7.375 7.328125 -7.375 C 5.9375 -7.375 5 -6.53125 4.5 -5.859375 C 4.390625 -7.015625 3.390625 -7.375 2.71875 -7.375 C 1.984375 -7.375 1.609375 -6.859375 1.390625 -6.46875 C 1.015625 -5.859375 0.78125 -4.90625 0.78125 -4.8125 C 0.78125 -4.609375 1.015625 -4.609375 1.078125 -4.609375 C 1.3125 -4.609375 1.328125 -4.65625 1.4375 -5.109375 C 1.6875 -6.09375 2.015625 -6.90625 2.65625 -6.90625 C 3.09375 -6.90625 3.21875 -6.546875 3.21875 -6.09375 C 3.21875 -5.765625 3.0625 -5.15625 2.9375 -4.703125 C 2.828125 -4.25 2.65625 -3.5625 2.578125 -3.203125 Z M 2.046875 -1.046875 "/> -</g> -<g id="glyph-3-1"> -<path d="M 5.421875 -10.453125 C 5.421875 -10.734375 5.21875 -11.09375 4.75 -11.09375 C 4.296875 -11.09375 3.8125 -10.65625 3.8125 -10.171875 C 3.8125 -9.890625 4.03125 -9.53125 4.484375 -9.53125 C 4.96875 -9.53125 5.421875 -10 5.421875 -10.453125 Z M 2.015625 -1.953125 C 1.9375 -1.734375 1.859375 -1.546875 1.859375 -1.25 C 1.859375 -0.46875 2.53125 0.171875 3.453125 0.171875 C 5.125 0.171875 5.859375 -2.140625 5.859375 -2.390625 C 5.859375 -2.609375 5.640625 -2.609375 5.59375 -2.609375 C 5.359375 -2.609375 5.34375 -2.515625 5.265625 -2.328125 C 4.890625 -0.984375 4.15625 -0.296875 3.5 -0.296875 C 3.15625 -0.296875 3.078125 -0.515625 3.078125 -0.890625 C 3.078125 -1.265625 3.203125 -1.59375 3.34375 -1.953125 C 3.515625 -2.40625 3.703125 -2.859375 3.875 -3.296875 C 4.03125 -3.703125 4.640625 -5.21875 4.703125 -5.421875 C 4.75 -5.59375 4.796875 -5.796875 4.796875 -5.953125 C 4.796875 -6.75 4.140625 -7.375 3.21875 -7.375 C 1.5625 -7.375 0.78125 -5.109375 0.78125 -4.8125 C 0.78125 -4.609375 1.015625 -4.609375 1.078125 -4.609375 C 1.3125 -4.609375 1.328125 -4.6875 1.375 -4.875 C 1.8125 -6.3125 2.546875 -6.90625 3.15625 -6.90625 C 3.4375 -6.90625 3.578125 -6.78125 3.578125 -6.328125 C 3.578125 -5.9375 3.484375 -5.6875 3.0625 -4.65625 Z M 2.015625 -1.953125 "/> -</g> -<g id="glyph-3-2"> -<path d="M 3.53125 -0.265625 C 3.53125 0.65625 3.359375 1.71875 2.21875 2.796875 C 2.15625 2.859375 2.109375 2.90625 2.109375 3 C 2.109375 3.109375 2.25 3.234375 2.34375 3.234375 C 2.578125 3.234375 4 1.890625 4 -0.09375 C 4 -1.140625 3.59375 -1.921875 2.828125 -1.921875 C 2.28125 -1.921875 1.875 -1.484375 1.875 -0.96875 C 1.875 -0.4375 2.265625 0 2.84375 0 C 3.25 0 3.515625 -0.265625 3.53125 -0.265625 Z M 3.53125 -0.265625 "/> -</g> -<g id="glyph-3-3"> -<path d="M 1.25 2.046875 C 1.140625 2.515625 1.109375 2.640625 0.4375 2.640625 C 0.21875 2.640625 -0.015625 2.640625 -0.015625 3 C -0.015625 3.171875 0.140625 3.25 0.21875 3.25 C 0.65625 3.25 1.203125 3.171875 1.65625 3.171875 C 2.21875 3.171875 2.859375 3.25 3.40625 3.25 C 3.5625 3.25 3.75 3.203125 3.75 2.875 C 3.75 2.640625 3.515625 2.640625 3.3125 2.640625 C 2.9375 2.640625 2.5 2.640625 2.5 2.4375 C 2.5 2.359375 2.609375 1.921875 2.671875 1.671875 C 2.875 0.78125 3.109375 -0.109375 3.296875 -0.8125 C 3.5 -0.484375 4.015625 0.171875 5.015625 0.171875 C 7.0625 0.171875 9.328125 -2.09375 9.328125 -4.578125 C 9.328125 -6.546875 7.96875 -7.375 6.8125 -7.375 C 5.765625 -7.375 4.890625 -6.671875 4.4375 -6.203125 C 4.15625 -7.15625 3.21875 -7.375 2.71875 -7.375 C 2.0625 -7.375 1.65625 -6.9375 1.390625 -6.5 C 1.046875 -5.921875 0.78125 -4.921875 0.78125 -4.8125 C 0.78125 -4.609375 1.015625 -4.609375 1.078125 -4.609375 C 1.3125 -4.609375 1.328125 -4.65625 1.4375 -5.109375 C 1.6875 -6.078125 2.015625 -6.90625 2.65625 -6.90625 C 3.09375 -6.90625 3.21875 -6.546875 3.21875 -6.09375 C 3.21875 -5.90625 3.171875 -5.6875 3.15625 -5.59375 Z M 4.421875 -5.375 C 5.390625 -6.65625 6.21875 -6.90625 6.765625 -6.90625 C 7.40625 -6.90625 7.984375 -6.421875 7.984375 -5.28125 C 7.984375 -4.609375 7.609375 -2.890625 7.109375 -1.921875 C 6.6875 -1.109375 5.875 -0.296875 5.015625 -0.296875 C 3.828125 -0.296875 3.53125 -1.59375 3.53125 -1.75 C 3.53125 -1.828125 3.5625 -1.9375 3.578125 -2.015625 Z M 4.421875 -5.375 "/> -</g> -<g id="glyph-4-0"> -<path d="M 30.265625 33.46875 L 33.15625 25.8125 L 32.5625 25.8125 C 31.625 28.3125 29.09375 29.9375 26.34375 30.640625 C 25.84375 30.765625 23.5 31.390625 18.90625 31.390625 L 4.5 31.390625 L 16.65625 17.109375 C 16.828125 16.921875 16.875 16.859375 16.875 16.734375 C 16.875 16.6875 16.875 16.609375 16.703125 16.375 L 5.5625 1.140625 L 18.671875 1.140625 C 21.875 1.140625 24.046875 1.484375 24.265625 1.53125 C 25.5625 1.71875 27.640625 2.125 29.53125 3.328125 C 30.125 3.703125 31.75 4.78125 32.5625 6.71875 L 33.15625 6.71875 L 30.265625 0 L 2.015625 0 C 1.453125 0 1.4375 0.03125 1.359375 0.171875 C 1.34375 0.234375 1.34375 0.6875 1.34375 0.953125 L 13.984375 18.265625 L 1.609375 32.78125 C 1.359375 33.0625 1.359375 33.1875 1.359375 33.203125 C 1.359375 33.46875 1.578125 33.46875 2.015625 33.46875 Z M 30.265625 33.46875 "/> -</g> -<g id="glyph-5-0"> -<path d="M 12.859375 -5.625 C 13.109375 -5.625 13.484375 -5.625 13.484375 -6.046875 C 13.484375 -6.4375 13.09375 -6.4375 12.875 -6.4375 L 1.796875 -6.4375 C 1.578125 -6.4375 1.171875 -6.4375 1.171875 -6.046875 C 1.171875 -5.625 1.5625 -5.625 1.8125 -5.625 Z M 12.875 -1.9375 C 13.09375 -1.9375 13.484375 -1.9375 13.484375 -2.34375 C 13.484375 -2.765625 13.109375 -2.765625 12.859375 -2.765625 L 1.8125 -2.765625 C 1.5625 -2.765625 1.171875 -2.765625 1.171875 -2.34375 C 1.171875 -1.9375 1.578125 -1.9375 1.796875 -1.9375 Z M 12.875 -1.9375 "/> -</g> -<g id="glyph-5-1"> -<path d="M 8.640625 -5.34375 C 8.640625 -7.171875 8.421875 -8.5 7.640625 -9.671875 C 7.125 -10.4375 6.09375 -11.109375 4.75 -11.109375 C 0.875 -11.109375 0.875 -6.546875 0.875 -5.34375 C 0.875 -4.140625 0.875 0.328125 4.75 0.328125 C 8.640625 0.328125 8.640625 -4.140625 8.640625 -5.34375 Z M 4.75 -0.140625 C 3.984375 -0.140625 2.96875 -0.578125 2.625 -1.953125 C 2.390625 -2.9375 2.390625 -4.3125 2.390625 -5.5625 C 2.390625 -6.78125 2.390625 -8.046875 2.640625 -8.96875 C 3 -10.296875 4.0625 -10.640625 4.75 -10.640625 C 5.65625 -10.640625 6.53125 -10.09375 6.828125 -9.125 C 7.09375 -8.21875 7.109375 -7.015625 7.109375 -5.5625 C 7.109375 -4.3125 7.109375 -3.078125 6.890625 -2.03125 C 6.5625 -0.5 5.421875 -0.140625 4.75 -0.140625 Z M 4.75 -0.140625 "/> -</g> -<g id="glyph-5-2"> -<path d="M 7.75 -3.78125 L 12.875 -3.78125 C 13.09375 -3.78125 13.484375 -3.78125 13.484375 -4.1875 C 13.484375 -4.609375 13.109375 -4.609375 12.875 -4.609375 L 7.75 -4.609375 L 7.75 -9.734375 C 7.75 -9.953125 7.75 -10.359375 7.34375 -10.359375 C 6.921875 -10.359375 6.921875 -9.96875 6.921875 -9.734375 L 6.921875 -4.609375 L 1.796875 -4.609375 C 1.578125 -4.609375 1.171875 -4.609375 1.171875 -4.203125 C 1.171875 -3.78125 1.5625 -3.78125 1.796875 -3.78125 L 6.921875 -3.78125 L 6.921875 1.359375 C 6.921875 1.578125 6.921875 1.96875 7.328125 1.96875 C 7.75 1.96875 7.75 1.59375 7.75 1.359375 Z M 7.75 -3.78125 "/> -</g> -<g id="glyph-5-3"> -<path d="M 5.609375 -10.640625 C 5.609375 -11.09375 5.578125 -11.109375 5.109375 -11.109375 C 4.03125 -10.0625 2.515625 -10.046875 1.828125 -10.046875 L 1.828125 -9.4375 C 2.21875 -9.4375 3.328125 -9.4375 4.25 -9.90625 L 4.25 -1.375 C 4.25 -0.8125 4.25 -0.609375 2.578125 -0.609375 L 1.9375 -0.609375 L 1.9375 0 C 2.25 -0.015625 4.296875 -0.0625 4.921875 -0.0625 C 5.4375 -0.0625 7.546875 -0.015625 7.921875 0 L 7.921875 -0.609375 L 7.28125 -0.609375 C 5.609375 -0.609375 5.609375 -0.8125 5.609375 -1.375 Z M 5.609375 -10.640625 "/> -</g> -<g id="glyph-6-0"> -<path d="M 14.015625 -10.328125 C 14.46875 -10.546875 15.125 -10.546875 15.3125 -10.546875 C 15.640625 -10.546875 16 -10.546875 16 -11.109375 C 16 -11.3125 15.828125 -11.484375 15.625 -11.484375 C 15.1875 -11.484375 14.125 -11.40625 13.6875 -11.40625 C 13.234375 -11.40625 12.109375 -11.484375 11.65625 -11.484375 C 11.25 -11.484375 11.15625 -11.140625 11.15625 -10.90625 C 11.15625 -10.546875 11.53125 -10.546875 11.71875 -10.546875 C 12.390625 -10.546875 12.65625 -10.453125 12.8125 -10.40625 L 11.1875 -3.953125 C 10.59375 -1.578125 8.5 -0.671875 6.359375 -0.671875 C 4.796875 -0.671875 3.6875 -1.15625 3.6875 -2.546875 C 3.6875 -2.65625 3.6875 -3 3.84375 -3.671875 L 5.546875 -10.5 C 5.640625 -10.5 6.140625 -10.546875 6.46875 -10.546875 L 6.8125 -10.546875 C 7.109375 -10.546875 7.484375 -10.546875 7.484375 -11.109375 C 7.484375 -11.296875 7.328125 -11.484375 7.09375 -11.484375 C 6.6875 -11.484375 6.265625 -11.421875 5.859375 -11.421875 C 5.46875 -11.421875 4.921875 -11.40625 4.53125 -11.40625 C 4.53125 -11.40625 3.25 -11.421875 3.25 -11.421875 C 2.8125 -11.421875 2.34375 -11.484375 1.921875 -11.484375 C 1.796875 -11.484375 1.390625 -11.484375 1.390625 -10.90625 C 1.390625 -10.546875 1.734375 -10.546875 2.015625 -10.546875 L 2.34375 -10.546875 C 3.046875 -10.546875 3.046875 -10.515625 3.046875 -10.453125 C 3.046875 -10.359375 2.5 -8.1875 2.40625 -7.90625 C 2.109375 -6.734375 1.59375 -4.703125 1.390625 -3.78125 C 1.3125 -3.40625 1.3125 -3.390625 1.3125 -3.078125 C 1.3125 -1.328125 2.734375 0.265625 6.234375 0.265625 C 9.9375 0.265625 11.875 -1.796875 12.390625 -3.765625 Z M 14.015625 -10.328125 "/> -</g> -<g id="glyph-7-0"> -<path d="M 8.65625 -7.21875 L 12.890625 -7.21875 C 17.28125 -7.21875 20.296875 -9.890625 20.296875 -12.71875 C 20.296875 -15.15625 18.09375 -16.40625 14.9375 -16.40625 L 5.734375 -16.40625 C 5.28125 -16.40625 4.859375 -16.40625 4.859375 -15.703125 C 4.859375 -15.28125 5.1875 -15.28125 5.859375 -15.28125 C 6.359375 -15.28125 6.8125 -15.25 7.3125 -15.234375 L 3.890625 -1.609375 C 3.796875 -1.21875 3.78125 -1.1875 3.34375 -1.140625 C 2.9375 -1.125 2.46875 -1.125 2.078125 -1.125 C 1.453125 -1.125 1.40625 -1.125 1.34375 -1.046875 C 1.03125 -0.90625 1.03125 -0.546875 1.03125 -0.4375 C 1.03125 -0.40625 1.03125 0 1.546875 0 C 2.15625 0 2.765625 -0.046875 3.375 -0.046875 C 3.96875 -0.046875 4.59375 -0.078125 5.1875 -0.078125 C 5.8125 -0.078125 6.4375 -0.046875 7.03125 -0.046875 C 7.65625 -0.046875 8.296875 0 8.890625 0 C 9.125 0 9.59375 0 9.59375 -0.671875 C 9.59375 -1.125 9.296875 -1.125 8.609375 -1.125 C 8.109375 -1.125 7.65625 -1.140625 7.140625 -1.171875 Z M 10.421875 -14.84375 C 10.515625 -15.203125 10.546875 -15.234375 10.6875 -15.25 C 10.90625 -15.28125 11.0625 -15.28125 11.328125 -15.28125 L 13.8125 -15.28125 C 15.15625 -15.28125 16.953125 -15.03125 16.953125 -13.390625 C 16.953125 -13.09375 16.640625 -10.65625 15.75 -9.515625 C 15.25 -8.875 14.171875 -8.203125 12.03125 -8.203125 L 8.75 -8.203125 Z M 10.421875 -14.84375 "/> -</g> -<g id="glyph-8-0"> -<path d="M 13.09375 -5.5 C 13.5 -5.5 13.9375 -5.5 13.9375 -5.96875 C 13.9375 -6.453125 13.5 -6.453125 13.09375 -6.453125 L 2.96875 -6.453125 C 3.25 -9.65625 6 -11.953125 9.375 -11.953125 L 13.09375 -11.953125 C 13.5 -11.953125 13.9375 -11.953125 13.9375 -12.4375 C 13.9375 -12.90625 13.5 -12.90625 13.09375 -12.90625 L 9.328125 -12.90625 C 5.234375 -12.90625 1.984375 -9.796875 1.984375 -5.96875 C 1.984375 -2.15625 5.234375 0.953125 9.328125 0.953125 L 13.09375 0.953125 C 13.5 0.953125 13.9375 0.953125 13.9375 0.484375 C 13.9375 0 13.5 0 13.09375 0 L 9.375 0 C 6 0 3.25 -2.296875 2.96875 -5.5 Z M 13.09375 -5.5 "/> -</g> -</g> -</defs> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-0-0" x="-0.0232" y="37.9062"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-1-0" x="13.9616" y="37.9062"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-2-0" x="23.2592" y="37.9062"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-1-1" x="36.9464" y="37.9062"/> -<use xlink:href="#glyph-1-2" x="52.892139" y="37.9062"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-3-0" x="89.4848" y="8.019"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-4-0" x="78.1256" y="15.1926"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-3-1" x="79.9064" y="66.1182"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-5-0" x="86.672" y="66.1182"/> -<use xlink:href="#glyph-5-1" x="101.350454" y="66.1182"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-0-1" x="116.648" y="37.9062"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-6-0" x="139.7888" y="28.035"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-3-1" x="136.2656" y="43.8174"/> -<use xlink:href="#glyph-3-2" x="143.030744" y="43.8174"/> -<use xlink:href="#glyph-3-3" x="148.707975" y="43.8174"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-1-0" x="159.7616" y="37.9062"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-2-0" x="169.0592" y="37.9062"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-1-1" x="182.7488" y="37.9062"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-7-0" x="196.0304" y="37.9062"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-3-1" x="217.1408" y="41.4942"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-2-1" x="225.0992" y="37.9062"/> -<use xlink:href="#glyph-2-0" x="259.644715" y="37.9062"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-8-0" x="279.9656" y="37.9062"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-1-3" x="302.5472" y="37.9062"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-2-0" x="309.1904" y="37.9062"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-3-3" x="322.8776" y="41.4942"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-2-1" x="333.9296" y="37.9062"/> -<use xlink:href="#glyph-2-0" x="344.564875" y="37.9062"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-3-0" x="358.244" y="41.4942"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-5-2" x="370.064" y="41.4942"/> -<use xlink:href="#glyph-5-3" x="384.742454" y="41.4942"/> -</g> -<g fill="rgb(83.529663%, 83.529663%, 83.529663%)" fill-opacity="1"> -<use xlink:href="#glyph-1-4" x="395.468" y="37.9062"/> -</g> -</svg> diff --git a/doc-images/equations/generate-equations-images.sh b/doc-images/equations/generate-equations-images.sh new file mode 100755 index 0000000..e31f89c --- /dev/null +++ b/doc-images/equations/generate-equations-images.sh @@ -0,0 +1,10 @@ +for file in *.tex; do + if [ "$file" != "_preamble.tex" ]; then + echo "Processing file: $file" + pdflatex -shell-escape -synctex=1 "$file" | grep '^!.*' -A200 + pdf2svg "${file%.tex}.pdf" "${file%.tex}.svg" + rm -f "${file%.tex}.aux" "${file%.tex}.log" "${file%.tex}.pdf" "${file%.tex}.pdf" "${file%.tex}.synctex.gz" + else + echo "Excluded file: $file" + fi +done diff --git a/doc-images/equations/knots.svg b/doc-images/equations/knots.svg new file mode 100644 index 0000000..57c7812 --- /dev/null +++ b/doc-images/equations/knots.svg @@ -0,0 +1,474 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1040.422" height="149.253" viewBox="0 0 1040.422 149.253"> +<defs> +<g> +<g id="glyph-0-0"> +<path d="M 18.703125 -15.0625 C 18.828125 -15.53125 18.828125 -15.5625 19.421875 -15.71875 C 19.84375 -15.78125 20.46875 -15.828125 20.859375 -15.828125 C 21.34375 -15.828125 21.734375 -15.828125 21.734375 -16.546875 C 21.734375 -16.828125 21.53125 -17 21.234375 -17 C 20.34375 -17 19.40625 -16.921875 18.484375 -16.921875 C 17.875 -16.921875 16.28125 -17 15.65625 -17 C 15.484375 -17 15 -17 15 -16.28125 C 15 -15.828125 15.40625 -15.828125 15.765625 -15.828125 C 15.984375 -15.828125 16.90625 -15.828125 17.5 -15.59375 L 15.046875 -5.828125 C 14.15625 -2.234375 11.21875 -0.75 8.25 -0.75 C 5.921875 -0.75 4.828125 -1.703125 4.828125 -3.5 C 4.828125 -4.109375 4.9375 -4.734375 5.078125 -5.359375 L 7.6875 -15.734375 C 8.234375 -15.828125 9.09375 -15.828125 9.375 -15.828125 C 10.234375 -15.828125 10.5625 -15.828125 10.5625 -16.546875 C 10.5625 -16.875 10.28125 -17 10.015625 -17 C 9.390625 -17 8.75 -16.953125 8.125 -16.953125 C 7.515625 -16.953125 6.890625 -16.921875 6.265625 -16.921875 C 5.625 -16.921875 4.984375 -16.953125 4.359375 -16.953125 C 3.71875 -16.953125 3.046875 -17 2.40625 -17 C 2.15625 -17 1.6875 -17 1.6875 -16.28125 C 1.6875 -15.828125 2 -15.828125 2.828125 -15.828125 C 3.421875 -15.828125 4.21875 -15.828125 4.21875 -15.71875 C 4.21875 -15.65625 3.96875 -14.75 3.84375 -14.28125 L 3.296875 -12.09375 L 1.78125 -5.96875 C 1.5625 -5.078125 1.5625 -4.875 1.5625 -4.40625 C 1.5625 -1.171875 4.34375 0.421875 8.078125 0.421875 C 12.515625 0.421875 15.484375 -2.203125 16.328125 -5.59375 Z M 18.703125 -15.0625 "/> +</g> +<g id="glyph-1-0"> +<path d="M 6.328125 5.046875 C 6.328125 5.015625 6.328125 4.984375 6.265625 4.921875 C 5.3125 3.953125 2.765625 1.296875 2.765625 -5.140625 C 2.765625 -11.59375 5.265625 -14.21875 6.28125 -15.25 C 6.28125 -15.265625 6.328125 -15.3125 6.328125 -15.375 C 6.328125 -15.4375 6.265625 -15.46875 6.171875 -15.46875 C 5.953125 -15.46875 4.1875 -13.9375 3.1875 -11.671875 C 2.140625 -9.375 1.859375 -7.140625 1.859375 -5.171875 C 1.859375 -3.671875 2 -1.15625 3.25 1.515625 C 4.234375 3.65625 5.921875 5.171875 6.171875 5.171875 C 6.28125 5.171875 6.328125 5.125 6.328125 5.046875 Z M 6.328125 5.046875 "/> +</g> +<g id="glyph-1-1"> +<path d="M 5.4375 -5.140625 C 5.4375 -6.625 5.28125 -9.15625 4.046875 -11.8125 C 3.0625 -13.96875 1.359375 -15.46875 1.109375 -15.46875 C 1.046875 -15.46875 0.96875 -15.453125 0.96875 -15.34375 C 0.96875 -15.3125 0.984375 -15.28125 1.015625 -15.25 C 2 -14.21875 4.53125 -11.59375 4.53125 -5.171875 C 4.53125 1.28125 2.03125 3.90625 1.015625 4.9375 C 0.984375 4.984375 0.96875 5 0.96875 5.046875 C 0.96875 5.140625 1.046875 5.171875 1.109375 5.171875 C 1.34375 5.171875 3.09375 3.640625 4.109375 1.359375 C 5.140625 -0.921875 5.4375 -3.15625 5.4375 -5.140625 Z M 5.4375 -5.140625 "/> +</g> +<g id="glyph-1-2"> +<path d="M 6.03125 -14.109375 L 6.03125 -13.578125 C 7.25 -13.578125 7.4375 -13.453125 7.4375 -12.453125 L 7.4375 -7.625 C 7.359375 -7.71875 6.5 -9.046875 4.828125 -9.046875 C 2.734375 -9.046875 0.6875 -7.171875 0.6875 -4.4375 C 0.6875 -1.734375 2.609375 0.171875 4.625 0.171875 C 6.375 0.171875 7.296875 -1.203125 7.390625 -1.34375 L 7.390625 0.171875 L 9.890625 0 L 9.890625 -0.53125 C 8.671875 -0.53125 8.484375 -0.65625 8.484375 -1.65625 L 8.484375 -14.328125 Z M 7.390625 -2.484375 C 7.390625 -1.859375 7.015625 -1.296875 6.546875 -0.890625 C 5.84375 -0.265625 5.140625 -0.171875 4.75 -0.171875 C 4.15625 -0.171875 2 -0.46875 2 -4.421875 C 2 -8.46875 4.40625 -8.71875 4.9375 -8.71875 C 5.890625 -8.71875 6.65625 -8.1875 7.125 -7.4375 C 7.390625 -7 7.390625 -6.9375 7.390625 -6.5625 Z M 7.390625 -2.484375 "/> +</g> +<g id="glyph-1-3"> +<path d="M 8.90625 -4.421875 C 8.90625 -7.0625 6.984375 -9.125 4.734375 -9.125 C 2.484375 -9.125 0.5625 -7.0625 0.5625 -4.421875 C 0.5625 -1.8125 2.484375 0.171875 4.734375 0.171875 C 6.984375 0.171875 8.90625 -1.8125 8.90625 -4.421875 Z M 4.734375 -0.203125 C 3.765625 -0.203125 2.9375 -0.78125 2.453125 -1.59375 C 1.9375 -2.515625 1.875 -3.671875 1.875 -4.578125 C 1.875 -5.453125 1.921875 -6.53125 2.453125 -7.453125 C 2.875 -8.140625 3.671875 -8.796875 4.734375 -8.796875 C 5.65625 -8.796875 6.4375 -8.28125 6.9375 -7.5625 C 7.578125 -6.59375 7.578125 -5.21875 7.578125 -4.578125 C 7.578125 -3.78125 7.546875 -2.546875 6.984375 -1.546875 C 6.40625 -0.59375 5.515625 -0.203125 4.734375 -0.203125 Z M 4.734375 -0.203125 "/> +</g> +<g id="glyph-1-4"> +<path d="M 13.96875 -6.28125 C 13.96875 -7.3125 13.78125 -9.046875 11.3125 -9.046875 C 9.921875 -9.046875 8.9375 -8.09375 8.578125 -6.984375 L 8.546875 -6.984375 C 8.296875 -8.671875 7.078125 -9.046875 5.921875 -9.046875 C 4.296875 -9.046875 3.453125 -7.78125 3.140625 -6.96875 L 3.125 -6.96875 L 3.125 -9.046875 L 0.6875 -8.8125 L 0.6875 -8.28125 C 1.90625 -8.28125 2.09375 -8.15625 2.09375 -7.171875 L 2.09375 -1.421875 C 2.09375 -0.640625 2 -0.53125 0.6875 -0.53125 L 0.6875 0 C 1.171875 -0.046875 2.09375 -0.046875 2.625 -0.046875 C 3.15625 -0.046875 4.09375 -0.046875 4.578125 0 L 4.578125 -0.53125 C 3.265625 -0.53125 3.1875 -0.625 3.1875 -1.421875 L 3.1875 -5.390625 C 3.1875 -7.296875 4.34375 -8.71875 5.78125 -8.71875 C 7.3125 -8.71875 7.484375 -7.359375 7.484375 -6.359375 L 7.484375 -1.421875 C 7.484375 -0.640625 7.390625 -0.53125 6.078125 -0.53125 L 6.078125 0 C 6.5625 -0.046875 7.484375 -0.046875 8.015625 -0.046875 C 8.546875 -0.046875 9.484375 -0.046875 9.984375 0 L 9.984375 -0.53125 C 8.65625 -0.53125 8.578125 -0.625 8.578125 -1.421875 L 8.578125 -5.390625 C 8.578125 -7.296875 9.734375 -8.71875 11.171875 -8.71875 C 12.703125 -8.71875 12.875 -7.359375 12.875 -6.359375 L 12.875 -1.421875 C 12.875 -0.640625 12.78125 -0.53125 11.46875 -0.53125 L 11.46875 0 C 11.953125 -0.046875 12.875 -0.046875 13.40625 -0.046875 C 13.9375 -0.046875 14.875 -0.046875 15.375 0 L 15.375 -0.53125 C 14.046875 -0.53125 13.96875 -0.625 13.96875 -1.421875 Z M 13.96875 -6.28125 "/> +</g> +<g id="glyph-1-5"> +<path d="M 7.4375 -5.34375 C 7.4375 -6.71875 7.4375 -7.4375 6.5625 -8.234375 C 5.796875 -8.921875 4.921875 -9.125 4.21875 -9.125 C 2.578125 -9.125 1.40625 -7.84375 1.40625 -6.484375 C 1.40625 -5.71875 2.03125 -5.6875 2.140625 -5.6875 C 2.421875 -5.6875 2.890625 -5.84375 2.890625 -6.421875 C 2.890625 -6.9375 2.5 -7.171875 2.140625 -7.171875 C 2.0625 -7.171875 1.96875 -7.140625 1.90625 -7.125 C 2.328125 -8.421875 3.453125 -8.796875 4.171875 -8.796875 C 5.203125 -8.796875 6.34375 -7.890625 6.34375 -6.15625 L 6.34375 -5.25 C 5.125 -5.203125 3.65625 -5.046875 2.5 -4.421875 C 1.203125 -3.703125 0.828125 -2.671875 0.828125 -1.875 C 0.828125 -0.296875 2.6875 0.171875 3.78125 0.171875 C 4.921875 0.171875 5.96875 -0.46875 6.421875 -1.65625 C 6.46875 -0.75 7.046875 0.078125 7.953125 0.078125 C 8.390625 0.078125 9.484375 -0.203125 9.484375 -1.84375 L 9.484375 -3 L 9.109375 -3 L 9.109375 -1.8125 C 9.109375 -0.5625 8.546875 -0.390625 8.28125 -0.390625 C 7.4375 -0.390625 7.4375 -1.46875 7.4375 -2.375 Z M 6.34375 -2.875 C 6.34375 -1.078125 5.0625 -0.171875 3.921875 -0.171875 C 2.890625 -0.171875 2.09375 -0.921875 2.09375 -1.875 C 2.09375 -2.5 2.359375 -3.59375 3.546875 -4.25 C 4.546875 -4.8125 5.6875 -4.890625 6.34375 -4.9375 Z M 6.34375 -2.875 "/> +</g> +<g id="glyph-1-6"> +<path d="M 3.203125 -12.71875 C 3.203125 -13.171875 2.828125 -13.578125 2.359375 -13.578125 C 1.90625 -13.578125 1.515625 -13.203125 1.515625 -12.71875 C 1.515625 -12.265625 1.875 -11.875 2.359375 -11.875 C 2.8125 -11.875 3.203125 -12.25 3.203125 -12.71875 Z M 0.78125 -8.8125 L 0.78125 -8.28125 C 1.9375 -8.28125 2.109375 -8.15625 2.109375 -7.171875 L 2.109375 -1.421875 C 2.109375 -0.640625 2.03125 -0.53125 0.703125 -0.53125 L 0.703125 0 C 1.203125 -0.046875 2.09375 -0.046875 2.609375 -0.046875 C 3.09375 -0.046875 3.953125 -0.046875 4.421875 0 L 4.421875 -0.53125 C 3.203125 -0.53125 3.15625 -0.65625 3.15625 -1.40625 L 3.15625 -9.046875 Z M 0.78125 -8.8125 "/> +</g> +<g id="glyph-1-7"> +<path d="M 8.578125 -6.28125 C 8.578125 -7.328125 8.359375 -9.046875 5.921875 -9.046875 C 4.296875 -9.046875 3.453125 -7.78125 3.140625 -6.96875 L 3.125 -6.96875 L 3.125 -9.046875 L 0.6875 -8.8125 L 0.6875 -8.28125 C 1.90625 -8.28125 2.09375 -8.15625 2.09375 -7.171875 L 2.09375 -1.421875 C 2.09375 -0.640625 2 -0.53125 0.6875 -0.53125 L 0.6875 0 C 1.171875 -0.046875 2.09375 -0.046875 2.625 -0.046875 C 3.15625 -0.046875 4.09375 -0.046875 4.578125 0 L 4.578125 -0.53125 C 3.265625 -0.53125 3.1875 -0.625 3.1875 -1.421875 L 3.1875 -5.390625 C 3.1875 -7.296875 4.34375 -8.71875 5.78125 -8.71875 C 7.3125 -8.71875 7.484375 -7.359375 7.484375 -6.359375 L 7.484375 -1.421875 C 7.484375 -0.640625 7.390625 -0.53125 6.078125 -0.53125 L 6.078125 0 C 6.5625 -0.046875 7.484375 -0.046875 8.015625 -0.046875 C 8.546875 -0.046875 9.484375 -0.046875 9.984375 0 L 9.984375 -0.53125 C 8.65625 -0.53125 8.578125 -0.625 8.578125 -1.421875 Z M 8.578125 -6.28125 "/> +</g> +<g id="glyph-1-8"> +<path d="M 8.671875 -6.625 C 8.671875 -7.890625 8.65625 -10.03125 7.78125 -11.6875 C 7.015625 -13.140625 5.796875 -13.65625 4.734375 -13.65625 C 3.734375 -13.65625 2.484375 -13.203125 1.6875 -11.71875 C 0.875 -10.15625 0.78125 -8.234375 0.78125 -6.625 C 0.78125 -5.453125 0.8125 -3.65625 1.453125 -2.09375 C 2.328125 0.046875 3.921875 0.328125 4.734375 0.328125 C 5.6875 0.328125 7.125 -0.0625 7.96875 -2.03125 C 8.59375 -3.453125 8.671875 -5.125 8.671875 -6.625 Z M 4.734375 0 C 3.40625 0 2.625 -1.140625 2.328125 -2.703125 C 2.109375 -3.921875 2.109375 -5.703125 2.109375 -6.859375 C 2.109375 -8.453125 2.109375 -9.765625 2.375 -11.03125 C 2.765625 -12.78125 3.921875 -13.328125 4.734375 -13.328125 C 5.578125 -13.328125 6.671875 -12.765625 7.0625 -11.078125 C 7.328125 -9.890625 7.359375 -8.515625 7.359375 -6.859375 C 7.359375 -5.515625 7.359375 -3.859375 7.109375 -2.640625 C 6.671875 -0.390625 5.453125 0 4.734375 0 Z M 4.734375 0 "/> +</g> +<g id="glyph-1-9"> +<path d="M 7.78125 -4.796875 L 13.265625 -4.796875 C 13.546875 -4.796875 13.90625 -4.796875 13.90625 -5.140625 C 13.90625 -5.515625 13.578125 -5.515625 13.265625 -5.515625 L 7.78125 -5.515625 L 7.78125 -10.984375 C 7.78125 -11.28125 7.78125 -11.625 7.4375 -11.625 C 7.0625 -11.625 7.0625 -11.296875 7.0625 -10.984375 L 7.0625 -5.515625 L 1.59375 -5.515625 C 1.296875 -5.515625 0.953125 -5.515625 0.953125 -5.171875 C 0.953125 -4.796875 1.28125 -4.796875 1.59375 -4.796875 L 7.0625 -4.796875 L 7.0625 0.6875 C 7.0625 0.96875 7.0625 1.328125 7.421875 1.328125 C 7.78125 1.328125 7.78125 0.984375 7.78125 0.6875 Z M 7.78125 -4.796875 "/> +</g> +<g id="glyph-1-10"> +<path d="M 5.5 -13.203125 C 5.5 -13.640625 5.46875 -13.65625 5.1875 -13.65625 C 4.375 -12.6875 3.15625 -12.375 2 -12.328125 C 1.9375 -12.328125 1.84375 -12.328125 1.8125 -12.296875 C 1.796875 -12.25 1.796875 -12.203125 1.796875 -11.78125 C 2.4375 -11.78125 3.515625 -11.890625 4.34375 -12.390625 L 4.34375 -1.515625 C 4.34375 -0.78125 4.296875 -0.53125 2.515625 -0.53125 L 1.90625 -0.53125 L 1.90625 0 C 2.890625 -0.015625 3.921875 -0.046875 4.921875 -0.046875 C 5.90625 -0.046875 6.9375 -0.015625 7.9375 0 L 7.9375 -0.53125 L 7.3125 -0.53125 C 5.53125 -0.53125 5.5 -0.765625 5.5 -1.515625 Z M 5.5 -13.203125 "/> +</g> +<g id="glyph-1-11"> +<path d="M 8.609375 -3.203125 L 8.234375 -3.203125 C 8.03125 -1.734375 7.875 -1.484375 7.78125 -1.359375 C 7.6875 -1.203125 6.203125 -1.203125 5.90625 -1.203125 L 1.9375 -1.203125 C 2.6875 -2 4.125 -3.46875 5.890625 -5.171875 C 7.140625 -6.359375 8.609375 -7.765625 8.609375 -9.8125 C 8.609375 -12.25 6.671875 -13.65625 4.5 -13.65625 C 2.234375 -13.65625 0.84375 -11.65625 0.84375 -9.796875 C 0.84375 -8.984375 1.453125 -8.875 1.6875 -8.875 C 1.90625 -8.875 2.515625 -9 2.515625 -9.734375 C 2.515625 -10.375 1.984375 -10.5625 1.6875 -10.5625 C 1.5625 -10.5625 1.453125 -10.53125 1.359375 -10.5 C 1.75 -12.25 2.953125 -13.109375 4.21875 -13.109375 C 6.015625 -13.109375 7.1875 -11.6875 7.1875 -9.8125 C 7.1875 -8.015625 6.140625 -6.46875 4.953125 -5.125 L 0.84375 -0.46875 L 0.84375 0 L 8.125 0 Z M 8.609375 -3.203125 "/> +</g> +<g id="glyph-2-0"> +<path d="M 5.796875 -13.8125 C 5.828125 -13.90625 5.859375 -14.03125 5.859375 -14.125 C 5.859375 -14.328125 5.65625 -14.328125 5.625 -14.328125 C 5.59375 -14.328125 4.859375 -14.28125 4.484375 -14.234375 C 4.125 -14.21875 3.828125 -14.171875 3.453125 -14.15625 C 2.953125 -14.109375 2.8125 -14.09375 2.8125 -13.71875 C 2.8125 -13.515625 3.015625 -13.515625 3.21875 -13.515625 C 4.28125 -13.515625 4.28125 -13.328125 4.28125 -13.109375 C 4.28125 -13.03125 4.28125 -13 4.171875 -12.625 L 1.21875 -0.8125 C 1.140625 -0.5 1.140625 -0.453125 1.140625 -0.328125 C 1.140625 0.125 1.484375 0.203125 1.6875 0.203125 C 2.265625 0.203125 2.390625 -0.25 2.5625 -0.890625 L 3.53125 -4.75 C 5.015625 -4.578125 5.90625 -3.96875 5.90625 -2.96875 C 5.90625 -2.84375 5.90625 -2.765625 5.84375 -2.453125 C 5.765625 -2.140625 5.765625 -1.90625 5.765625 -1.796875 C 5.765625 -0.59375 6.546875 0.203125 7.59375 0.203125 C 8.546875 0.203125 9.046875 -0.65625 9.21875 -0.953125 C 9.640625 -1.71875 9.921875 -2.875 9.921875 -2.953125 C 9.921875 -3.0625 9.828125 -3.140625 9.703125 -3.140625 C 9.515625 -3.140625 9.5 -3.0625 9.421875 -2.734375 C 9.125 -1.65625 8.703125 -0.203125 7.640625 -0.203125 C 7.234375 -0.203125 6.96875 -0.40625 6.96875 -1.203125 C 6.96875 -1.59375 7.046875 -2.046875 7.125 -2.359375 C 7.203125 -2.734375 7.203125 -2.75 7.203125 -3 C 7.203125 -4.21875 6.109375 -4.890625 4.21875 -5.140625 C 4.953125 -5.59375 5.703125 -6.40625 5.984375 -6.71875 C 7.171875 -8.03125 7.96875 -8.703125 8.921875 -8.703125 C 9.40625 -8.703125 9.515625 -8.578125 9.671875 -8.453125 C 8.90625 -8.359375 8.609375 -7.828125 8.609375 -7.421875 C 8.609375 -6.921875 9 -6.75 9.296875 -6.75 C 9.859375 -6.75 10.34375 -7.234375 10.34375 -7.890625 C 10.34375 -8.484375 9.875 -9.109375 8.9375 -9.109375 C 7.8125 -9.109375 6.875 -8.296875 5.40625 -6.65625 C 5.203125 -6.40625 4.4375 -5.625 3.671875 -5.328125 Z M 5.796875 -13.8125 "/> +</g> +<g id="glyph-2-1"> +<path d="M 5.84375 -2.953125 C 5.84375 -3.0625 5.765625 -3.140625 5.640625 -3.140625 C 5.453125 -3.140625 5.4375 -3.078125 5.328125 -2.734375 C 4.796875 -0.84375 3.953125 -0.203125 3.265625 -0.203125 C 3.015625 -0.203125 2.734375 -0.265625 2.734375 -0.890625 C 2.734375 -1.453125 2.96875 -2.0625 3.203125 -2.6875 L 4.640625 -6.53125 C 4.703125 -6.6875 4.859375 -7.0625 4.859375 -7.453125 C 4.859375 -8.328125 4.234375 -9.109375 3.21875 -9.109375 C 1.328125 -9.109375 0.5625 -6.109375 0.5625 -5.953125 C 0.5625 -5.859375 0.640625 -5.765625 0.78125 -5.765625 C 0.96875 -5.765625 0.984375 -5.84375 1.078125 -6.140625 C 1.5625 -7.875 2.359375 -8.703125 3.15625 -8.703125 C 3.34375 -8.703125 3.703125 -8.671875 3.703125 -8.015625 C 3.703125 -7.484375 3.421875 -6.796875 3.265625 -6.34375 L 1.8125 -2.5 C 1.6875 -2.171875 1.5625 -1.84375 1.5625 -1.46875 C 1.5625 -0.53125 2.203125 0.203125 3.203125 0.203125 C 5.109375 0.203125 5.84375 -2.8125 5.84375 -2.953125 Z M 5.6875 -12.890625 C 5.6875 -13.203125 5.4375 -13.578125 4.984375 -13.578125 C 4.5 -13.578125 3.96875 -13.109375 3.96875 -12.578125 C 3.96875 -12.0625 4.40625 -11.890625 4.640625 -11.890625 C 5.203125 -11.890625 5.6875 -12.4375 5.6875 -12.890625 Z M 5.6875 -12.890625 "/> +</g> +<g id="glyph-2-2"> +<path d="M 0.890625 2.625 C 0.75 3.25 0.65625 3.40625 -0.1875 3.40625 C -0.4375 3.40625 -0.640625 3.40625 -0.640625 3.796875 C -0.640625 3.84375 -0.625 4 -0.390625 4 C -0.125 4 0.171875 3.96875 0.4375 3.96875 L 1.328125 3.96875 C 1.75 3.96875 2.8125 4 3.25 4 C 3.359375 4 3.609375 4 3.609375 3.640625 C 3.609375 3.40625 3.46875 3.40625 3.125 3.40625 C 2.171875 3.40625 2.109375 3.265625 2.109375 3.09375 C 2.109375 2.84375 3.03125 -0.703125 3.15625 -1.171875 C 3.390625 -0.59375 3.953125 0.203125 5.015625 0.203125 C 7.359375 0.203125 9.875 -2.828125 9.875 -5.859375 C 9.875 -7.765625 8.796875 -9.109375 7.25 -9.109375 C 5.921875 -9.109375 4.8125 -7.828125 4.578125 -7.546875 C 4.421875 -8.578125 3.609375 -9.109375 2.78125 -9.109375 C 2.1875 -9.109375 1.71875 -8.8125 1.328125 -8.03125 C 0.953125 -7.296875 0.65625 -6.03125 0.65625 -5.953125 C 0.65625 -5.859375 0.75 -5.765625 0.890625 -5.765625 C 1.046875 -5.765625 1.078125 -5.78125 1.203125 -6.265625 C 1.515625 -7.484375 1.90625 -8.703125 2.734375 -8.703125 C 3.203125 -8.703125 3.359375 -8.359375 3.359375 -7.75 C 3.359375 -7.25 3.3125 -7.046875 3.21875 -6.671875 Z M 4.46875 -6.4375 C 4.609375 -7.015625 5.1875 -7.625 5.515625 -7.90625 C 5.75 -8.125 6.421875 -8.703125 7.203125 -8.703125 C 8.125 -8.703125 8.53125 -7.78125 8.53125 -6.71875 C 8.53125 -5.71875 7.953125 -3.390625 7.4375 -2.3125 C 6.921875 -1.203125 5.96875 -0.203125 5.015625 -0.203125 C 3.609375 -0.203125 3.390625 -1.984375 3.390625 -2.0625 C 3.390625 -2.125 3.421875 -2.296875 3.453125 -2.390625 Z M 4.46875 -6.4375 "/> +</g> +<g id="glyph-2-3"> +<path d="M 4.25 -6.046875 C 4.296875 -6.171875 4.8125 -7.203125 5.578125 -7.875 C 6.109375 -8.359375 6.8125 -8.703125 7.625 -8.703125 C 8.453125 -8.703125 8.734375 -8.078125 8.734375 -7.25 C 8.734375 -6.078125 7.890625 -3.71875 7.484375 -2.609375 C 7.296875 -2.109375 7.1875 -1.84375 7.1875 -1.46875 C 7.1875 -0.53125 7.828125 0.203125 8.8125 0.203125 C 10.734375 0.203125 11.46875 -2.828125 11.46875 -2.953125 C 11.46875 -3.0625 11.375 -3.140625 11.25 -3.140625 C 11.078125 -3.140625 11.046875 -3.078125 10.953125 -2.734375 C 10.46875 -1.03125 9.6875 -0.203125 8.875 -0.203125 C 8.671875 -0.203125 8.34375 -0.234375 8.34375 -0.890625 C 8.34375 -1.40625 8.578125 -2.03125 8.703125 -2.3125 C 9.109375 -3.453125 9.984375 -5.765625 9.984375 -6.9375 C 9.984375 -8.1875 9.25 -9.109375 7.6875 -9.109375 C 5.84375 -9.109375 4.875 -7.8125 4.5 -7.296875 C 4.4375 -8.46875 3.59375 -9.109375 2.6875 -9.109375 C 2.03125 -9.109375 1.5625 -8.71875 1.21875 -8.015625 C 0.84375 -7.265625 0.5625 -6.03125 0.5625 -5.953125 C 0.5625 -5.859375 0.640625 -5.765625 0.78125 -5.765625 C 0.953125 -5.765625 0.96875 -5.78125 1.09375 -6.265625 C 1.421875 -7.515625 1.796875 -8.703125 2.625 -8.703125 C 3.09375 -8.703125 3.265625 -8.359375 3.265625 -7.75 C 3.265625 -7.296875 3.0625 -6.484375 2.90625 -5.84375 L 2.328125 -3.609375 C 2.25 -3.21875 2.03125 -2.296875 1.921875 -1.921875 C 1.78125 -1.390625 1.546875 -0.40625 1.546875 -0.3125 C 1.546875 -0.015625 1.78125 0.203125 2.09375 0.203125 C 2.328125 0.203125 2.625 0.078125 2.78125 -0.234375 C 2.828125 -0.328125 3.015625 -1.046875 3.125 -1.46875 L 3.578125 -3.328125 Z M 4.25 -6.046875 "/> +</g> +<g id="glyph-3-0"> +<path d="M 15.9375 -7.953125 C 16.3125 -7.953125 16.671875 -7.953125 16.671875 -8.375 C 16.671875 -8.828125 16.25 -8.828125 15.828125 -8.828125 L 1.984375 -8.828125 C 1.5625 -8.828125 1.140625 -8.828125 1.140625 -8.375 C 1.140625 -7.953125 1.515625 -7.953125 1.890625 -7.953125 Z M 15.828125 -3.546875 C 16.25 -3.546875 16.671875 -3.546875 16.671875 -3.984375 C 16.671875 -4.40625 16.3125 -4.40625 15.9375 -4.40625 L 1.890625 -4.40625 C 1.515625 -4.40625 1.140625 -4.40625 1.140625 -3.984375 C 1.140625 -3.546875 1.5625 -3.546875 1.984375 -3.546875 Z M 15.828125 -3.546875 "/> +</g> +<g id="glyph-4-0"> +<path d="M 9.1875 28.15625 C 9.1875 26.5625 9.1875 26.21875 8.953125 25.53125 C 8.171875 23.265625 6 21.953125 4.359375 21.3125 C 7.21875 20.09375 8.625 18.4375 9.0625 16.703125 C 9.140625 16.40625 9.1875 15.953125 9.1875 15.828125 L 9.1875 4.6875 C 9.1875 2.625 10.828125 1.0625 13.15625 0.078125 C 13.53125 -0.09375 13.5625 -0.125 13.5625 -0.5 C 13.5625 -0.96875 13.53125 -0.984375 13.0625 -0.984375 C 12.34375 -0.984375 10.484375 -0.078125 9.484375 0.6875 C 8.65625 1.359375 7.328125 2.75 7.3125 4.4375 C 7.28125 6.421875 7.3125 8.421875 7.3125 10.40625 L 7.3125 14.28125 C 7.3125 16.453125 7.3125 17.265625 6.015625 18.8125 C 5.71875 19.15625 5 19.921875 3.296875 20.734375 C 2.96875 20.890625 2.953125 20.921875 2.953125 21.28125 C 2.953125 21.6875 2.96875 21.703125 3.46875 21.9375 C 6.09375 23.140625 7.3125 25.25 7.3125 26.8125 L 7.3125 37.125 C 7.3125 38.28125 7.3125 39.78125 8.578125 41.0625 C 9.125 41.609375 9.640625 42.125 10.828125 42.75 C 11.125 42.921875 12.390625 43.59375 13.0625 43.59375 C 13.53125 43.59375 13.5625 43.5625 13.5625 43.09375 C 13.5625 42.75 13.5625 42.671875 13.328125 42.59375 C 11.875 41.984375 9.671875 40.8125 9.25 38.515625 C 9.1875 38.234375 9.1875 37.390625 9.1875 36.828125 Z M 9.1875 28.15625 "/> +</g> +<g id="glyph-4-1"> +<path d="M 9.1875 28.328125 C 9.1875 26.140625 9.1875 25.328125 10.484375 23.796875 C 10.75 23.5 11.515625 22.65625 13.203125 21.859375 C 13.53125 21.703125 13.5625 21.6875 13.5625 21.3125 C 13.5625 21.046875 13.5625 20.984375 13.5 20.890625 C 13.484375 20.859375 13.453125 20.859375 13.03125 20.671875 C 10.4375 19.453125 9.1875 17.375 9.1875 15.78125 L 9.1875 5.484375 C 9.1875 4.3125 9.1875 2.828125 7.9375 1.53125 C 7.390625 0.984375 6.859375 0.46875 5.671875 -0.15625 C 5.421875 -0.265625 4.109375 -0.984375 3.46875 -0.984375 C 3 -0.984375 2.953125 -0.96875 2.953125 -0.5 C 2.953125 -0.171875 2.953125 -0.078125 3.171875 0.03125 C 4.140625 0.421875 6.8125 1.53125 7.265625 4.09375 C 7.3125 4.359375 7.3125 5.203125 7.3125 5.78125 L 7.3125 14.453125 C 7.3125 16.03125 7.3125 16.375 7.5625 17.078125 C 8.328125 19.328125 10.5 20.640625 12.140625 21.28125 C 9.296875 22.5 7.875 24.15625 7.4375 25.890625 C 7.359375 26.1875 7.3125 26.640625 7.3125 26.765625 L 7.3125 37.921875 C 7.3125 39.921875 5.75 41.484375 3.34375 42.53125 C 2.96875 42.703125 2.953125 42.71875 2.953125 43.09375 C 2.953125 43.5625 3 43.59375 3.46875 43.59375 C 4.140625 43.59375 5.96875 42.703125 7.015625 41.90625 C 7.859375 41.234375 9.171875 39.84375 9.1875 38.15625 C 9.21875 36.1875 9.1875 34.171875 9.1875 32.1875 Z M 9.1875 28.328125 "/> +</g> +<g id="glyph-4-2"> +<path d="M 11.40625 -2.28125 C 11.40625 -2.953125 11.40625 -2.96875 10.875 -2.96875 C 8.34375 -2.96875 2.78125 -1.78125 -0.59375 4.265625 L -0.59375 4.65625 C -0.59375 5.28125 -0.5625 5.296875 0 5.296875 C 0.46875 5.296875 0.5 5.28125 0.625 5.109375 C 2.65625 1.859375 6.078125 0.09375 11.109375 0 C 11.40625 0 11.40625 -0.171875 11.40625 -0.6875 Z M 11.40625 -2.28125 "/> +</g> +<g id="glyph-4-3"> +<path d="M 11.75 -7.625 C 11.75 -8.25 11.71875 -8.28125 11.15625 -8.28125 C 10.6875 -8.28125 10.65625 -8.25 10.53125 -8.078125 C 8.5 -4.828125 5.078125 -3.078125 0.046875 -2.96875 C -0.25 -2.96875 -0.25 -2.796875 -0.25 -2.28125 L -0.25 -0.6875 C -0.25 -0.03125 -0.25 0 0.265625 0 C 2.796875 0 8.375 -1.1875 11.75 -7.234375 Z M 11.75 -7.625 "/> +</g> +<g id="glyph-4-4"> +<path d="M 11.40625 -2.28125 C 11.40625 -2.84375 11.40625 -2.96875 11.046875 -2.96875 C 9.546875 -3 7.09375 -3.203125 4.859375 -4.28125 C 2.1875 -5.625 1.171875 -7.1875 0.546875 -8.15625 C 0.46875 -8.28125 0.328125 -8.28125 0 -8.28125 C -0.5625 -8.28125 -0.59375 -8.25 -0.59375 -7.625 L -0.59375 -7.234375 C 2.78125 -1.171875 8.34375 0 10.875 0 C 11.40625 0 11.40625 -0.03125 11.40625 -0.6875 Z M 11.40625 -2.28125 "/> +</g> +<g id="glyph-4-5"> +<path d="M 11.75 4.265625 C 8.375 -1.8125 2.796875 -2.96875 0.265625 -2.96875 C -0.25 -2.96875 -0.25 -2.953125 -0.25 -2.28125 L -0.25 -0.6875 C -0.25 -0.125 -0.25 0 0.09375 0 C 1.609375 0.03125 4.0625 0.21875 6.296875 1.3125 C 8.96875 2.65625 9.984375 4.21875 10.609375 5.171875 C 10.6875 5.296875 10.828125 5.296875 11.15625 5.296875 C 11.71875 5.296875 11.75 5.28125 11.75 4.65625 Z M 11.75 4.265625 "/> +</g> +<g id="glyph-5-0"> +<path d="M 8.453125 -1.4375 C 8.765625 -0.046875 9.96875 0.25 10.5625 0.25 C 11.34375 0.25 11.9375 -0.265625 12.34375 -1.109375 C 12.765625 -2 13.078125 -3.46875 13.078125 -3.546875 C 13.078125 -3.671875 12.984375 -3.765625 12.84375 -3.765625 C 12.609375 -3.765625 12.59375 -3.640625 12.484375 -3.265625 C 12.046875 -1.5625 11.59375 -0.25 10.609375 -0.25 C 9.859375 -0.25 9.859375 -1.0625 9.859375 -1.390625 C 9.859375 -1.953125 9.9375 -2.203125 10.1875 -3.25 C 10.359375 -3.921875 10.53125 -4.578125 10.6875 -5.28125 L 11.703125 -9.3125 C 11.875 -9.9375 11.875 -9.984375 11.875 -10.0625 C 11.875 -10.4375 11.578125 -10.6875 11.203125 -10.6875 C 10.484375 -10.6875 10.3125 -10.0625 10.15625 -9.4375 C 9.90625 -8.46875 8.578125 -3.140625 8.40625 -2.28125 C 8.375 -2.28125 7.40625 -0.25 5.59375 -0.25 C 4.3125 -0.25 4.0625 -1.359375 4.0625 -2.28125 C 4.0625 -3.6875 4.765625 -5.671875 5.40625 -7.328125 C 5.703125 -8.125 5.828125 -8.453125 5.828125 -8.953125 C 5.828125 -10.015625 5.0625 -10.921875 3.859375 -10.921875 C 1.59375 -10.921875 0.671875 -7.328125 0.671875 -7.140625 C 0.671875 -7.03125 0.765625 -6.90625 0.9375 -6.90625 C 1.171875 -6.90625 1.1875 -7.015625 1.28125 -7.359375 C 1.890625 -9.484375 2.84375 -10.4375 3.796875 -10.4375 C 4.046875 -10.4375 4.4375 -10.40625 4.4375 -9.609375 C 4.4375 -8.96875 4.15625 -8.25 3.796875 -7.3125 C 2.703125 -4.359375 2.578125 -3.421875 2.578125 -2.671875 C 2.578125 -0.15625 4.484375 0.25 5.5 0.25 C 7.09375 0.25 7.953125 -0.84375 8.453125 -1.4375 Z M 8.453125 -1.4375 "/> +</g> +<g id="glyph-5-1"> +<path d="M 4.828125 0.09375 C 4.828125 -1.34375 4.359375 -2.40625 3.34375 -2.40625 C 2.546875 -2.40625 2.15625 -1.765625 2.15625 -1.21875 C 2.15625 -0.671875 2.53125 0 3.375 0 C 3.6875 0 3.96875 -0.09375 4.1875 -0.328125 C 4.234375 -0.375 4.265625 -0.375 4.28125 -0.375 C 4.34375 -0.375 4.34375 -0.03125 4.34375 0.09375 C 4.34375 0.921875 4.1875 2.53125 2.75 4.140625 C 2.484375 4.4375 2.484375 4.484375 2.484375 4.53125 C 2.484375 4.65625 2.609375 4.78125 2.71875 4.78125 C 2.921875 4.78125 4.828125 2.953125 4.828125 0.09375 Z M 4.828125 0.09375 "/> +</g> +<g id="glyph-5-2"> +<path d="M 4.5625 -1.1875 C 4.5625 -1.90625 3.96875 -2.40625 3.375 -2.40625 C 2.65625 -2.40625 2.15625 -1.8125 2.15625 -1.21875 C 2.15625 -0.5 2.75 0 3.34375 0 C 4.0625 0 4.5625 -0.59375 4.5625 -1.1875 Z M 4.5625 -1.1875 "/> +</g> +<g id="glyph-6-0"> +<path d="M 17 -10.5 C 17.421875 -10.5 17.890625 -10.5 17.890625 -11 C 17.890625 -11.5 17.453125 -11.5 17.03125 -11.5 L 2.234375 -11.5 C 1.8125 -11.5 1.359375 -11.5 1.359375 -11 C 1.359375 -10.5 1.859375 -10.5 2.25 -10.5 Z M 17.03125 -0.890625 C 17.453125 -0.890625 17.890625 -0.890625 17.890625 -1.390625 C 17.890625 -1.890625 17.421875 -1.890625 17 -1.890625 L 2.25 -1.890625 C 1.859375 -1.890625 1.359375 -1.890625 1.359375 -1.390625 C 1.359375 -0.890625 1.8125 -0.890625 2.234375 -0.890625 Z M 17.03125 -5.703125 C 17.453125 -5.703125 17.890625 -5.703125 17.890625 -6.1875 C 17.890625 -6.6875 17.453125 -6.6875 17.03125 -6.6875 L 2.234375 -6.6875 C 1.8125 -6.6875 1.359375 -6.6875 1.359375 -6.1875 C 1.359375 -5.703125 1.8125 -5.703125 2.234375 -5.703125 Z M 17.03125 -5.703125 "/> +</g> +<g id="glyph-6-1"> +<path d="M 16.734375 -14.71875 C 17 -14.84375 17.203125 -14.96875 17.203125 -15.265625 C 17.203125 -15.53125 17 -15.765625 16.703125 -15.765625 C 16.578125 -15.765625 16.359375 -15.65625 16.25 -15.609375 L 2.546875 -9.140625 C 2.125 -8.953125 2.0625 -8.765625 2.0625 -8.578125 C 2.0625 -8.34375 2.203125 -8.171875 2.546875 -8.03125 L 16.25 -1.59375 C 16.578125 -1.40625 16.625 -1.40625 16.703125 -1.40625 C 16.96875 -1.40625 17.203125 -1.640625 17.203125 -1.90625 C 17.203125 -2.125 17.09375 -2.28125 16.671875 -2.484375 L 3.71875 -8.578125 Z M 16.328125 3.390625 C 16.75 3.390625 17.203125 3.390625 17.203125 2.90625 C 17.203125 2.40625 16.671875 2.40625 16.3125 2.40625 L 2.953125 2.40625 C 2.578125 2.40625 2.0625 2.40625 2.0625 2.90625 C 2.0625 3.390625 2.5 3.390625 2.921875 3.390625 Z M 16.328125 3.390625 "/> +</g> +<g id="glyph-7-0"> +<path d="M 13.609375 -4.75 C 13.96875 -4.75 14.328125 -4.75 14.328125 -5.171875 C 14.328125 -5.578125 13.96875 -5.578125 13.609375 -5.578125 L 2.4375 -5.578125 C 2.09375 -5.578125 1.71875 -5.578125 1.71875 -5.171875 C 1.71875 -4.75 2.09375 -4.75 2.4375 -4.75 Z M 13.609375 -4.75 "/> +</g> +</g> +<clipPath id="clip-0"> +<path clip-rule="nonzero" d="M 0 0 L 1040.421875 0 L 1040.421875 149.253906 L 0 149.253906 Z M 0 0 "/> +</clipPath> +</defs> +<g clip-path="url(#clip-0)"> +<path fill-rule="nonzero" fill="rgb(96.076965%, 96.076965%, 96.076965%)" fill-opacity="1" d="M 1017.75 0 L 22.671875 0 C 10.144531 0 -0.0078125 10.152344 -0.0078125 22.675781 L -0.0078125 126.578125 C -0.0078125 139.101562 10.144531 149.253906 22.671875 149.253906 L 1017.75 149.253906 C 1030.277344 149.253906 1040.429688 139.101562 1040.429688 126.578125 L 1040.429688 22.675781 C 1040.429688 10.152344 1030.277344 0 1017.75 0 Z M 1017.75 0 "/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-0-0" x="22.677" y="81.153"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-0" x="45.345" y="72.124"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="52.662" y="72.124"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-1" x="63.878" y="72.124"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-3-0" x="78.579" y="81.153"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-0" x="103.307" y="53.639"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-0" x="119.832" y="81.153"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-0" x="133.645" y="67.467"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="140.962" y="67.467"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-1" x="152.178" y="67.467"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-1" x="133.645" y="90.127"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-1" x="159.994" y="53.639"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-0" x="183.404" y="81.153"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-2" x="463.581" y="37.026"/> +<use xlink:href="#glyph-1-3" x="474.137471" y="37.026"/> +<use xlink:href="#glyph-1-4" x="483.613294" y="37.026"/> +<use xlink:href="#glyph-1-5" x="499.56681" y="37.026"/> +<use xlink:href="#glyph-1-6" x="509.042633" y="37.026"/> +<use xlink:href="#glyph-1-7" x="514.199993" y="37.026"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-2" x="330.077" y="48.003"/> +</g> +<path fill-rule="nonzero" fill="rgb(0%, 0%, 0%)" fill-opacity="1" d="M 341.230469 48.003906 L 483.015625 48.003906 L 483.015625 45.027344 L 341.230469 45.027344 Z M 341.230469 48.003906 "/> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-3" x="483.015" y="48.003"/> +<use xlink:href="#glyph-4-4" x="494.169195" y="48.003"/> +</g> +<path fill-rule="nonzero" fill="rgb(0%, 0%, 0%)" fill-opacity="1" d="M 505.324219 48.003906 L 647.105469 48.003906 L 647.105469 45.027344 L 505.324219 45.027344 Z M 505.324219 48.003906 "/> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-5" x="647.106" y="48.003"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-0" x="213.699" y="53.639"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-0" x="235.55" y="81.153"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-0" x="249.364" y="67.467"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="256.681" y="67.467"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-1" x="267.897" y="67.467"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-8" x="249.364" y="89.9"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-1" x="275.712" y="81.153"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-2" x="286.593537" y="81.153"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-2" x="297.450287" y="81.153"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-2" x="308.331824" y="81.153"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-1" x="319.213361" y="81.153"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-0" x="330.07011" y="81.153"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-0" x="343.891" y="67.467"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="351.208" y="67.467"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-1" x="362.424" y="67.467"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-2" x="343.891" y="90.93"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-0" x="354.045" y="90.93"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="370.116" y="90.93"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-1" x="381.83" y="81.153"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-0" x="392.711537" y="81.153"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-0" x="406.516" y="67.467"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="413.834" y="67.467"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-1" x="425.05" y="67.467"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-2" x="406.516" y="90.93"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-0" x="416.671" y="90.93"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="432.741" y="90.93"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-9" x="443.957" y="90.93"/> +<use xlink:href="#glyph-1-10" x="458.829867" y="90.93"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-1" x="468.805" y="81.153"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-2" x="479.686537" y="81.153"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-2" x="490.543287" y="81.153"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-2" x="501.424824" y="81.153"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-1" x="512.30636" y="81.153"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-0" x="523.16311" y="81.153"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-0" x="536.984" y="67.467"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="544.301" y="67.467"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-1" x="555.517" y="67.467"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-3" x="536.984" y="90.93"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-0" x="549.06" y="90.93"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="565.131" y="90.93"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-1" x="576.845" y="81.153"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-0" x="587.726537" y="81.153"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-0" x="601.532" y="67.467"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="608.849" y="67.467"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-1" x="620.065" y="67.467"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-3" x="601.532" y="90.93"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-9" x="613.609" y="90.93"/> +<use xlink:href="#glyph-1-10" x="628.481868" y="90.93"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-0" x="637.959" y="90.93"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="654.029" y="90.93"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-1" x="665.744" y="81.153"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-2" x="676.625537" y="81.153"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-2" x="687.482287" y="81.153"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-2" x="698.363824" y="81.153"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-1" x="709.245361" y="81.153"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-0" x="720.10211" y="81.153"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-0" x="733.922" y="67.467"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="741.239" y="67.467"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-1" x="752.455" y="67.467"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-3" x="733.922" y="90.93"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-9" x="745.999" y="90.93"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-2" x="760.872" y="90.93"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-9" x="771.027" y="90.93"/> +<use xlink:href="#glyph-1-10" x="785.899868" y="90.93"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-0" x="795.376" y="90.93"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-11" x="811.447" y="90.93"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="820.923" y="90.93"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-1" x="837.964" y="53.639"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-4" x="235.55" y="104.224"/> +</g> +<path fill-rule="nonzero" fill="rgb(0%, 0%, 0%)" fill-opacity="1" d="M 246.703125 104.222656 L 297.535156 104.222656 L 297.535156 101.25 L 246.703125 101.25 Z M 246.703125 104.222656 "/> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-5" x="297.536" y="104.224"/> +<use xlink:href="#glyph-4-2" x="308.690195" y="104.224"/> +</g> +<path fill-rule="nonzero" fill="rgb(0%, 0%, 0%)" fill-opacity="1" d="M 319.84375 104.222656 L 370.675781 104.222656 L 370.675781 101.25 L 319.84375 101.25 Z M 319.84375 104.222656 "/> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-3" x="370.676" y="104.224"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-4" x="392.711732" y="104.224"/> +</g> +<path fill-rule="nonzero" fill="rgb(0%, 0%, 0%)" fill-opacity="1" d="M 403.855469 104.222656 L 473.621094 104.222656 L 473.621094 101.25 L 403.855469 101.25 Z M 403.855469 104.222656 "/> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-5" x="473.62" y="104.224"/> +<use xlink:href="#glyph-4-2" x="484.774195" y="104.224"/> +</g> +<path fill-rule="nonzero" fill="rgb(0%, 0%, 0%)" fill-opacity="1" d="M 495.929688 104.222656 L 565.691406 104.222656 L 565.691406 101.25 L 495.929688 101.25 Z M 495.929688 104.222656 "/> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-3" x="565.691" y="104.224"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-4" x="587.726732" y="104.224"/> +</g> +<path fill-rule="nonzero" fill="rgb(0%, 0%, 0%)" fill-opacity="1" d="M 598.871094 104.222656 L 699.023438 104.222656 L 699.023438 101.25 L 598.871094 101.25 Z M 598.871094 104.222656 "/> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-5" x="699.024" y="104.224"/> +<use xlink:href="#glyph-4-2" x="710.178195" y="104.224"/> +</g> +<path fill-rule="nonzero" fill="rgb(0%, 0%, 0%)" fill-opacity="1" d="M 721.332031 104.222656 L 821.484375 104.222656 L 821.484375 101.25 L 721.332031 101.25 Z M 721.332031 104.222656 "/> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-4-3" x="821.483" y="104.224"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-2" x="277.795" y="122.558"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-0" x="287.949" y="122.558"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="304.02" y="122.558"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-9" x="315.236" y="122.558"/> +<use xlink:href="#glyph-1-10" x="330.108867" y="122.558"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-3" x="465.623" y="122.558"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-0" x="477.7" y="122.558"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-2" x="493.771" y="122.558"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-10" x="679.283" y="122.558"/> +<use xlink:href="#glyph-1-9" x="688.758823" y="122.558"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-2" x="703.632" y="122.558"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-7-0" x="713.787" y="122.558"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="729.857" y="122.558"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-1" x="858.62" y="81.153"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-0" x="892.231308" y="81.153"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-0" x="906.042" y="67.467"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="913.359" y="67.467"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-1" x="924.575" y="67.467"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-1" x="906.042" y="90.127"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-6-1" x="939.276" y="81.153"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-0" x="965.44" y="81.153"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-0" x="979.254" y="67.467"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-0" x="986.571" y="67.467"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-1" x="997.787" y="67.467"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-2-1" x="979.254" y="90.127"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-1-9" x="986.156" y="90.127"/> +<use xlink:href="#glyph-1-10" x="1001.028868" y="90.127"/> +</g> +<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> +<use xlink:href="#glyph-5-1" x="1011.004" y="81.153"/> +</g> +</svg> diff --git a/doc-images/equations/knots.tex b/doc-images/equations/knots.tex new file mode 100644 index 0000000..11fa279 --- /dev/null +++ b/doc-images/equations/knots.tex @@ -0,0 +1,16 @@ +\input{_preamble} +\begin{document} + \myeqs{ + \boldsymbol{U}^{(k)} + =\left\{u_i^{(k)}\right\} + \equiv\overunderbraces{ + &&\br{5}{\text{domain}\vphantom{p}} + }{ + \left\{\vphantom{u^{(k)}}\right. + &u_{0}^{(k)},\dots,&u_{p-k}^{(k)}&, + &u_{p-k+1}^{(k)}, \dots,u_{n-k}^{(k)} + &,&u_{n+1-k}^{(k)}&,\dots,u_{n+p+1-2k}^{(k)}& \left.\vphantom{u^{(k)}}\right\}} + {&\br{2}{p-k+1}&&\br{1}{n-p}&&\br{2}{1+p-k}},\quad + u_{i}^{(k)}\leq u_{i+1}^{(k)}, + } +\end{document} diff --git a/src/curve/basis/mod.rs b/src/curve/basis/mod.rs new file mode 100644 index 0000000..1b8be03 --- /dev/null +++ b/src/curve/basis/mod.rs @@ -0,0 +1,191 @@ +#![cfg_attr(feature = "doc-images", +cfg_attr(all(), +doc = ::embed_doc_image::embed_image!("eq-basis-function", "doc-images/equations/basis-function.svg"), +doc = ::embed_doc_image::embed_image!("eq-basis-prefactor", "doc-images/equations/basis-prefactor.svg"), +doc = ::embed_doc_image::embed_image!("eq-basis-function-zero", "doc-images/equations/basis-function-zero.svg")))] +//! Evaluates the basis spline functions using the Cox-de Boor-Mansfield recurrence relation +//! +//! ![The Cox-de Boor-Mansfield recurrence relation][eq-basis-function] +//! +//! with the basis functions of degree `p = 0` +//! +//! ![Basis function of degree zero][eq-basis-function-zero] +//! +//! where the conditional `⋁ (i = n - k ⋀ u = U_{n+1-k)` closes the last interval +//! and the pre-factors +//! +//! ![Pre-factors][eq-basis-prefactor] + +use crate::types::VecD; + +/// Evaluates the `i`-th basis spline function of degree `p` +/// +/// ## Arguments +/// +/// - `i` the index with `i ∈ {0, 1, ..., n}` +/// - `p` the spline degree +/// - `k` the derivative order +/// - `U` the knot vector +pub fn basis(Uk: &VecD, i: usize, p: usize, k: usize, n: usize, u: f64) -> f64 { + if p == 0 { + if (Uk[i] <= u && u < Uk[i + 1]) || (i == n - k && u == Uk[n + 1 - k]) { + return 1.0; + } + return 0.0; + } + + let summand1 = if Uk[i + p] == Uk[i] { + 0.0 + } else { + let g = i; + let h = p - 1; + (u - Uk[g]) / (Uk[g + h + 1] - Uk[g]) * basis(Uk, i, h, k, n, u) + }; + + let summand2 = if Uk[i + 1 + p] == Uk[i + 1] { + 0.0 + } else { + let g = i + 1; + let h = p - 1; + + // The following equation is numerically more stable than + // `(1.0 - ((u - Uk[g]) / (Uk[g + h + 1] - Uk[g]))) * self.evaluate(k, g, h, u)` + (Uk[g + p] - u) / (Uk[g + h + 1] - Uk[g]) * basis(Uk, g, h, k, n, u) + }; + + summand1 + summand2 +} + +#[cfg(test)] +mod tests { + use approx::assert_relative_eq; + use nalgebra::dvector; + + use crate::curve::knots::Knots; + + const SEGMENTS: usize = 4; + + #[test] + fn basis_func_degree3() { + let k = 0; + let p = 3; + let knots = Knots::new(p, dvector![0., 0., 0., 0., 1. / 3., 2. / 3., 1., 1., 1., 1.]); + + // Basis function i = 0 + let mut i = 0; + assert_eq!(knots.evaluate(k, i, p, 0.0), 1.0); + assert_eq!(knots.evaluate(k, i, p, 1. / 6.), 1. / 8.); + assert_eq!(knots.evaluate(k, i, p, 1. / 3.), 0.0); + assert_eq!(knots.evaluate(k, i, p, 1. / 2.), 0.0); + assert_eq!(knots.evaluate(k, i, p, 2. / 3.), 0.0); + assert_eq!(knots.evaluate(k, i, p, 5. / 6.), 0.0); + assert_eq!(knots.evaluate(k, i, p, 1.), 0.0); + + i = 1; + assert_eq!(knots.evaluate(k, i, p, 0.), 0.0); + assert_eq!(knots.evaluate(k, i, p, 1. / 6.), 19. / 32.); + assert_eq!(knots.evaluate(k, i, p, 1. / 3.), 1. / 4.); + assert_relative_eq!(knots.evaluate(k, i, p, 1. / 2.), 1. / 32., epsilon = f64::EPSILON.sqrt()); + assert_eq!(knots.evaluate(k, i, p, 2. / 3.), 0.0); + assert_eq!(knots.evaluate(k, i, p, 5. / 6.), 0.0); + assert_eq!(knots.evaluate(k, i, p, 1.), 0.0); + + i = 2; + assert_eq!(knots.evaluate(k, i, p, 0.), 0.0); + assert_eq!(knots.evaluate(k, i, p, 1. / 6.), 25. / 96.); + assert_eq!(knots.evaluate(k, i, p, 1. / 3.), 7. / 12.); + assert_relative_eq!(knots.evaluate(k, i, p, 1. / 2.), 15. / 32., epsilon = f64::EPSILON.sqrt()); + assert_relative_eq!(knots.evaluate(k, i, p, 2. / 3.), 1. / 6., epsilon = f64::EPSILON.sqrt()); + assert_relative_eq!(knots.evaluate(k, i, p, 5. / 6.), 1. / 48., epsilon = f64::EPSILON.sqrt()); + assert_eq!(knots.evaluate(k, i, p, 1.0), 0.0); + + i = 3; + assert_eq!(knots.evaluate(k, i, p, 0.), 0.0); + assert_eq!(knots.evaluate(k, i, p, 1. / 6.), 1. / 48.); + assert_eq!(knots.evaluate(k, i, p, 1. / 3.), 1. / 6.); + assert_relative_eq!(knots.evaluate(k, i, p, 1. / 2.), 15. / 32., epsilon = f64::EPSILON.sqrt()); + assert_relative_eq!(knots.evaluate(k, i, p, 2. / 3.), 7. / 12., epsilon = f64::EPSILON.sqrt()); + assert_relative_eq!(knots.evaluate(k, i, p, 5. / 6.), 25. / 96., epsilon = f64::EPSILON.sqrt()); + assert_eq!(knots.evaluate(k, i, p, 1.0), 0.0); + + i = 4; + assert_eq!(knots.evaluate(k, i, p, 0.), 0.0); + assert_eq!(knots.evaluate(k, i, p, 1. / 6.), 0.0); + assert_eq!(knots.evaluate(k, i, p, 1. / 3.), 0.0); + assert_relative_eq!(knots.evaluate(k, i, p, 1. / 2.), 1. / 32., epsilon = f64::EPSILON.sqrt()); + assert_relative_eq!(knots.evaluate(k, i, p, 2. / 3.), 1. / 4., epsilon = f64::EPSILON.sqrt()); + assert_relative_eq!(knots.evaluate(k, i, p, 5. / 6.), 19. / 32., epsilon = f64::EPSILON.sqrt()); + assert_eq!(knots.evaluate(k, i, p, 1.0), 0.0); + + i = 5; + assert_eq!(knots.evaluate(k, i, p, 0.0), 0.0); + assert_eq!(knots.evaluate(k, i, p, 1. / 6.), 0.); + assert_eq!(knots.evaluate(k, i, p, 1. / 3.), 0.0); + assert_eq!(knots.evaluate(k, i, p, 1. / 2.), 0.0); + assert_eq!(knots.evaluate(k, i, p, 2. / 3.), 0.0); + assert_relative_eq!(knots.evaluate(k, i, p, 5. / 6.), 1. / 8., epsilon = f64::EPSILON.sqrt()); + assert_eq!(knots.evaluate(k, i, p, 1.), 1.0); + } + + #[test] + fn basis_func_degree4() { + let k = 1; + let p = 4; + let knots = Knots::new(p, dvector![0., 0., 0., 0., 0., 1. / 3., 2. / 3., 1., 1., 1., 1., 1.]); + + // Basis function i = 0 + let mut i = 0; + assert_eq!(knots.evaluate(k, i, p, 0.0), 1.0); + assert_eq!(knots.evaluate(k, i, p, 1. / 6.), 1. / 8.); + assert_eq!(knots.evaluate(k, i, p, 1. / 3.), 0.0); + assert_eq!(knots.evaluate(k, i, p, 1. / 2.), 0.0); + assert_eq!(knots.evaluate(k, i, p, 2. / 3.), 0.0); + assert_eq!(knots.evaluate(k, i, p, 5. / 6.), 0.0); + assert_eq!(knots.evaluate(k, i, p, 1.), 0.0); + + i = 1; + assert_eq!(knots.evaluate(k, i, p, 0.), 0.0); + assert_eq!(knots.evaluate(k, i, p, 1. / 6.), 19. / 32.); + assert_eq!(knots.evaluate(k, i, p, 1. / 3.), 1. / 4.); + assert_relative_eq!(knots.evaluate(k, i, p, 1. / 2.), 1. / 32., epsilon = f64::EPSILON.sqrt()); + assert_eq!(knots.evaluate(k, i, p, 2. / 3.), 0.0); + assert_eq!(knots.evaluate(k, i, p, 5. / 6.), 0.0); + assert_eq!(knots.evaluate(k, i, p, 1.), 0.0); + + i = 2; + assert_eq!(knots.evaluate(k, i, p, 0.), 0.0); + assert_eq!(knots.evaluate(k, i, p, 1. / 6.), 25. / 96.); + assert_eq!(knots.evaluate(k, i, p, 1. / 3.), 7. / 12.); + assert_relative_eq!(knots.evaluate(k, i, p, 1. / 2.), 15. / 32., epsilon = f64::EPSILON.sqrt()); + assert_relative_eq!(knots.evaluate(k, i, p, 2. / 3.), 1. / 6., epsilon = f64::EPSILON.sqrt()); + assert_relative_eq!(knots.evaluate(k, i, p, 5. / 6.), 1. / 48., epsilon = f64::EPSILON.sqrt()); + assert_eq!(knots.evaluate(k, i, p, 1.0), 0.0); + + i = 3; + assert_eq!(knots.evaluate(k, i, p, 0.), 0.0); + assert_eq!(knots.evaluate(k, i, p, 1. / 6.), 1. / 48.); + assert_eq!(knots.evaluate(k, i, p, 1. / 3.), 1. / 6.); + assert_relative_eq!(knots.evaluate(k, i, p, 1. / 2.), 15. / 32., epsilon = f64::EPSILON.sqrt()); + assert_relative_eq!(knots.evaluate(k, i, p, 2. / 3.), 7. / 12., epsilon = f64::EPSILON.sqrt()); + assert_relative_eq!(knots.evaluate(k, i, p, 5. / 6.), 25. / 96., epsilon = f64::EPSILON.sqrt()); + assert_eq!(knots.evaluate(k, i, p, 1.0), 0.0); + + i = 4; + assert_eq!(knots.evaluate(k, i, p, 0.), 0.0); + assert_eq!(knots.evaluate(k, i, p, 1. / 6.), 0.0); + assert_eq!(knots.evaluate(k, i, p, 1. / 3.), 0.0); + assert_relative_eq!(knots.evaluate(k, i, p, 1. / 2.), 1. / 32., epsilon = f64::EPSILON.sqrt()); + assert_relative_eq!(knots.evaluate(k, i, p, 2. / 3.), 1. / 4., epsilon = f64::EPSILON.sqrt()); + assert_relative_eq!(knots.evaluate(k, i, p, 5. / 6.), 19. / 32., epsilon = f64::EPSILON.sqrt()); + assert_eq!(knots.evaluate(k, i, p, 1.0), 0.0); + + i = 5; + assert_eq!(knots.evaluate(k, i, p, 0.0), 0.0); + assert_eq!(knots.evaluate(k, i, p, 1. / 6.), 0.); + assert_eq!(knots.evaluate(k, i, p, 1. / 3.), 0.0); + assert_eq!(knots.evaluate(k, i, p, 1. / 2.), 0.0); + assert_eq!(knots.evaluate(k, i, p, 2. / 3.), 0.0); + assert_relative_eq!(knots.evaluate(k, i, p, 5. / 6.), 1. / 8., epsilon = f64::EPSILON.sqrt()); + assert_eq!(knots.evaluate(k, i, p, 1.), 1.0); + } +} diff --git a/src/curve/knots/mod.rs b/src/curve/knots/mod.rs index 3c153a8..03abdbd 100644 --- a/src/curve/knots/mod.rs +++ b/src/curve/knots/mod.rs @@ -1,13 +1,24 @@ -//! Knot vectors can be generated with different methods: +#![cfg_attr(feature = "doc-images", +cfg_attr(all(), +doc = ::embed_doc_image::embed_image!("eq-knots", "doc-images/equations/knots.svg")))] +//! Implements the knot vector defining the [spline basis functions][basis]. //! -//! - Uniform knots -//! - Knot-averaging -//! - De-Boor's method +//! The knot vector parametrizing the `k`-th degree curve is composed of `n+p+2 - 2k` scalar values +//! in ascending order, called 'knots'. +//! +//! ![The knot vector][eq-knots] +//! +//! The head and tail contains of `p-k+1` knots of value `0` and `1`, respectively. +//! This leaves `n-p` internal knots in the center. +//! The interval from index `i = p-k,..., n+1-k` is called 'domain'. +//! +//! Different [knot vector generation methods][methods] are available. use std::ops::MulAssign; use thiserror::Error; +use crate::curve::basis; use crate::{ curve::{parameters, parameters::Parameters, CurveError}, types::{KnotVectorDerivatives, VecD, VecDView, VecHelpers}, @@ -64,7 +75,7 @@ impl Knots { let mut Uk: Vec<VecD> = Vec::with_capacity(degree + 1); Uk.push(knots); - // TODO Add multipliity check + // TODO Add multiplicity check let mut knots = Knots { Uk, p: degree, k_max: 0 }; knots.derive(); @@ -168,7 +179,6 @@ impl Knots { for k in 1..=p { // obtain the `k`-th derivative knot vector from the previous `k-1`-th derivative knot vector segment // by dropping the first and last segment - let segment_of_previous_order_knot_vector = self.Uk[k - 1].segment(1, self.len(k - 1) - 2).clone_owned(); self.Uk.push(segment_of_previous_order_knot_vector); @@ -261,43 +271,10 @@ impl Knots { let n = self.segments(); let pk = p - k; - evaluate(i, pk, n, Uk, u, k) + basis::basis(Uk, i, pk, k, n, u) } } -pub(crate) fn evaluate(i: usize, pk: usize, n: usize, Uk: &VecD, u: f64, k: usize) -> f64 { - // Err(ParameterOutOfBounds) - - if pk == 0 { - // the conditional (i == n - k) && (u == Uk(n+1)) closes the last interval [u_n,u_n+1] - if (Uk[i] <= u && u < Uk[i + 1]) || (i == n - k && u == Uk[n + 1]) { - return 1.0; - } - return 0.0; - } - - let summand1 = if Uk[i + pk] == Uk[i] { - 0.0 - } else { - let g = i; - let h = pk - 1; - (u - Uk[g]) / (Uk[g + h + 1] - Uk[g]) * evaluate(i, h, n, Uk, u, k) /* self.evaluate(k, i, h, u) */ - }; - - let summand2 = if Uk[i + 1 + pk] == Uk[i + 1] { - 0.0 - } else { - let g = i + 1; - let h = pk - 1; - - // The following equation is numerically more stable than - //(1.0 - ((u - Uk[g]) / (Uk[g + h + 1] - Uk[g]))) * self.evaluate(k, g, h, u) - (Uk[g + pk] - u) / (Uk[g + h + 1] - Uk[g]) * evaluate(g, h, n, Uk, u, k) - }; - - summand1 + summand2 -} - fn is_valid(knots: Knots) -> bool { knots.segments() == knots.len(0) - (knots.degree() + 2) } @@ -399,7 +376,6 @@ fn rescale(knots: &mut VecD, old_lim: (f64, f64), new_lim: (f64, f64)) { #[cfg(test)] mod tests { - use approx::assert_relative_eq; use nalgebra::dvector; use rstest::rstest; @@ -461,130 +437,6 @@ mod tests { assert_eq!(knots_example(3).domain(), dvector![0.0, 0.5, 1.0]); } - #[test] - fn basis_func_degree3() { - let k = 0; - let p = 3; - let knots = Knots::new(p, dvector![0., 0., 0., 0., 1. / 3., 2. / 3., 1., 1., 1., 1.]); - - // Basis function i = 0 - let mut i = 0; - assert_eq!(knots.evaluate(k, i, p, 0.0), 1.0); - assert_eq!(knots.evaluate(k, i, p, 1. / 6.), 1. / 8.); - assert_eq!(knots.evaluate(k, i, p, 1. / 3.), 0.0); - assert_eq!(knots.evaluate(k, i, p, 1. / 2.), 0.0); - assert_eq!(knots.evaluate(k, i, p, 2. / 3.), 0.0); - assert_eq!(knots.evaluate(k, i, p, 5. / 6.), 0.0); - assert_eq!(knots.evaluate(k, i, p, 1.), 0.0); - - i = 1; - assert_eq!(knots.evaluate(k, i, p, 0.), 0.0); - assert_eq!(knots.evaluate(k, i, p, 1. / 6.), 19. / 32.); - assert_eq!(knots.evaluate(k, i, p, 1. / 3.), 1. / 4.); - assert_relative_eq!(knots.evaluate(k, i, p, 1. / 2.), 1. / 32., epsilon = f64::EPSILON.sqrt()); - assert_eq!(knots.evaluate(k, i, p, 2. / 3.), 0.0); - assert_eq!(knots.evaluate(k, i, p, 5. / 6.), 0.0); - assert_eq!(knots.evaluate(k, i, p, 1.), 0.0); - - i = 2; - assert_eq!(knots.evaluate(k, i, p, 0.), 0.0); - assert_eq!(knots.evaluate(k, i, p, 1. / 6.), 25. / 96.); - assert_eq!(knots.evaluate(k, i, p, 1. / 3.), 7. / 12.); - assert_relative_eq!(knots.evaluate(k, i, p, 1. / 2.), 15. / 32., epsilon = f64::EPSILON.sqrt()); - assert_relative_eq!(knots.evaluate(k, i, p, 2. / 3.), 1. / 6., epsilon = f64::EPSILON.sqrt()); - assert_relative_eq!(knots.evaluate(k, i, p, 5. / 6.), 1. / 48., epsilon = f64::EPSILON.sqrt()); - assert_eq!(knots.evaluate(k, i, p, 1.0), 0.0); - - i = 3; - assert_eq!(knots.evaluate(k, i, p, 0.), 0.0); - assert_eq!(knots.evaluate(k, i, p, 1. / 6.), 1. / 48.); - assert_eq!(knots.evaluate(k, i, p, 1. / 3.), 1. / 6.); - assert_relative_eq!(knots.evaluate(k, i, p, 1. / 2.), 15. / 32., epsilon = f64::EPSILON.sqrt()); - assert_relative_eq!(knots.evaluate(k, i, p, 2. / 3.), 7. / 12., epsilon = f64::EPSILON.sqrt()); - assert_relative_eq!(knots.evaluate(k, i, p, 5. / 6.), 25. / 96., epsilon = f64::EPSILON.sqrt()); - assert_eq!(knots.evaluate(k, i, p, 1.0), 0.0); - - i = 4; - assert_eq!(knots.evaluate(k, i, p, 0.), 0.0); - assert_eq!(knots.evaluate(k, i, p, 1. / 6.), 0.0); - assert_eq!(knots.evaluate(k, i, p, 1. / 3.), 0.0); - assert_relative_eq!(knots.evaluate(k, i, p, 1. / 2.), 1. / 32., epsilon = f64::EPSILON.sqrt()); - assert_relative_eq!(knots.evaluate(k, i, p, 2. / 3.), 1. / 4., epsilon = f64::EPSILON.sqrt()); - assert_relative_eq!(knots.evaluate(k, i, p, 5. / 6.), 19. / 32., epsilon = f64::EPSILON.sqrt()); - assert_eq!(knots.evaluate(k, i, p, 1.0), 0.0); - - i = 5; - assert_eq!(knots.evaluate(k, i, p, 0.0), 0.0); - assert_eq!(knots.evaluate(k, i, p, 1. / 6.), 0.); - assert_eq!(knots.evaluate(k, i, p, 1. / 3.), 0.0); - assert_eq!(knots.evaluate(k, i, p, 1. / 2.), 0.0); - assert_eq!(knots.evaluate(k, i, p, 2. / 3.), 0.0); - assert_relative_eq!(knots.evaluate(k, i, p, 5. / 6.), 1. / 8., epsilon = f64::EPSILON.sqrt()); - assert_eq!(knots.evaluate(k, i, p, 1.), 1.0); - } - - #[test] - fn basis_func_degree4() { - let k = 1; - let p = 4; - let knots = Knots::new(p, dvector![0., 0., 0., 0., 0., 1. / 3., 2. / 3., 1., 1., 1., 1., 1.]); - - // Basis function i = 0 - let mut i = 0; - assert_eq!(knots.evaluate(k, i, p, 0.0), 1.0); - assert_eq!(knots.evaluate(k, i, p, 1. / 6.), 1. / 8.); - assert_eq!(knots.evaluate(k, i, p, 1. / 3.), 0.0); - assert_eq!(knots.evaluate(k, i, p, 1. / 2.), 0.0); - assert_eq!(knots.evaluate(k, i, p, 2. / 3.), 0.0); - assert_eq!(knots.evaluate(k, i, p, 5. / 6.), 0.0); - assert_eq!(knots.evaluate(k, i, p, 1.), 0.0); - - i = 1; - assert_eq!(knots.evaluate(k, i, p, 0.), 0.0); - assert_eq!(knots.evaluate(k, i, p, 1. / 6.), 19. / 32.); - assert_eq!(knots.evaluate(k, i, p, 1. / 3.), 1. / 4.); - assert_relative_eq!(knots.evaluate(k, i, p, 1. / 2.), 1. / 32., epsilon = f64::EPSILON.sqrt()); - assert_eq!(knots.evaluate(k, i, p, 2. / 3.), 0.0); - assert_eq!(knots.evaluate(k, i, p, 5. / 6.), 0.0); - assert_eq!(knots.evaluate(k, i, p, 1.), 0.0); - - i = 2; - assert_eq!(knots.evaluate(k, i, p, 0.), 0.0); - assert_eq!(knots.evaluate(k, i, p, 1. / 6.), 25. / 96.); - assert_eq!(knots.evaluate(k, i, p, 1. / 3.), 7. / 12.); - assert_relative_eq!(knots.evaluate(k, i, p, 1. / 2.), 15. / 32., epsilon = f64::EPSILON.sqrt()); - assert_relative_eq!(knots.evaluate(k, i, p, 2. / 3.), 1. / 6., epsilon = f64::EPSILON.sqrt()); - assert_relative_eq!(knots.evaluate(k, i, p, 5. / 6.), 1. / 48., epsilon = f64::EPSILON.sqrt()); - assert_eq!(knots.evaluate(k, i, p, 1.0), 0.0); - - i = 3; - assert_eq!(knots.evaluate(k, i, p, 0.), 0.0); - assert_eq!(knots.evaluate(k, i, p, 1. / 6.), 1. / 48.); - assert_eq!(knots.evaluate(k, i, p, 1. / 3.), 1. / 6.); - assert_relative_eq!(knots.evaluate(k, i, p, 1. / 2.), 15. / 32., epsilon = f64::EPSILON.sqrt()); - assert_relative_eq!(knots.evaluate(k, i, p, 2. / 3.), 7. / 12., epsilon = f64::EPSILON.sqrt()); - assert_relative_eq!(knots.evaluate(k, i, p, 5. / 6.), 25. / 96., epsilon = f64::EPSILON.sqrt()); - assert_eq!(knots.evaluate(k, i, p, 1.0), 0.0); - - i = 4; - assert_eq!(knots.evaluate(k, i, p, 0.), 0.0); - assert_eq!(knots.evaluate(k, i, p, 1. / 6.), 0.0); - assert_eq!(knots.evaluate(k, i, p, 1. / 3.), 0.0); - assert_relative_eq!(knots.evaluate(k, i, p, 1. / 2.), 1. / 32., epsilon = f64::EPSILON.sqrt()); - assert_relative_eq!(knots.evaluate(k, i, p, 2. / 3.), 1. / 4., epsilon = f64::EPSILON.sqrt()); - assert_relative_eq!(knots.evaluate(k, i, p, 5. / 6.), 19. / 32., epsilon = f64::EPSILON.sqrt()); - assert_eq!(knots.evaluate(k, i, p, 1.0), 0.0); - - i = 5; - assert_eq!(knots.evaluate(k, i, p, 0.0), 0.0); - assert_eq!(knots.evaluate(k, i, p, 1. / 6.), 0.); - assert_eq!(knots.evaluate(k, i, p, 1. / 3.), 0.0); - assert_eq!(knots.evaluate(k, i, p, 1. / 2.), 0.0); - assert_eq!(knots.evaluate(k, i, p, 2. / 3.), 0.0); - assert_relative_eq!(knots.evaluate(k, i, p, 5. / 6.), 1. / 8., epsilon = f64::EPSILON.sqrt()); - assert_eq!(knots.evaluate(k, i, p, 1.), 1.0); - } - #[test] fn multiplicity() { let knots = Knots::new(2, dvector![0., 0., 0., 0.25, 0.5, 0.5, 0.75, 1., 1., 1.]); diff --git a/src/curve/mod.rs b/src/curve/mod.rs index badd1b4..8f4bd9b 100644 --- a/src/curve/mod.rs +++ b/src/curve/mod.rs @@ -1,3 +1,23 @@ +//#![warn(missing_docs)] +//#![warn(missing_doc_code_examples)] +#![cfg_attr(feature = "doc-images", +cfg_attr(all(), +doc = ::embed_doc_image::embed_image!("eq-curve", "doc-images/equations/curve.svg")))] +//! Implements the B-spline curve. +//! +//! A B-spline curve can be defined by +//! +//! ![B-spline curve][eq-curve] +//! +//! with the +//! - parameter `u ∈ [0,1]` defining a point on the curve, +//! - derivative order `k`, +//! - number of polynomial spline segments `n`, +//! - spline degree `p`, +//! - `k`-th derivative [knot vector][knots] `U`, +//! - `n+1-k` [spline basis function][basis] `N` of degree `p` defined by the [knot vector][knots] `U`, and +//! - `n+1-k`, `N`-dimensional [control points][points] `P`. + use embed_doc_image::embed_doc_image; use thiserror::Error; @@ -14,6 +34,7 @@ use crate::{ types::VecD, }; +pub mod basis; pub mod generation; pub mod knots; pub mod parameters; diff --git a/src/curve/parameters/mod.rs b/src/curve/parameters/mod.rs index 8bae19d..fb795c1 100644 --- a/src/curve/parameters/mod.rs +++ b/src/curve/parameters/mod.rs @@ -1,4 +1,4 @@ -//! Curve parameters can be generated with different methods: +//! Implements different parameter generation methods. //! //! - Equally spaced parameters //! - Centripetal method diff --git a/src/curve/points/mod.rs b/src/curve/points/mod.rs index 1995f67..dfcacb5 100644 --- a/src/curve/points/mod.rs +++ b/src/curve/points/mod.rs @@ -1,3 +1,16 @@ +#![cfg_attr(feature = "doc-images", +cfg_attr(all(), +doc = ::embed_doc_image::embed_image!("eq-control-points", "doc-images/equations/control-points.svg")))] +//! Implements the control points constituting the control polygon of the curve. +//! +//! The control points of the `k`-th derivative B-spline curve can be derived +//! from the zeroth order control points +//! +//! ![The control points][eq-control-points] +//! +//! Control points are generated and manipulated as part of different curve generation +//! and curve manipulation methods. + use std::ops::MulAssign; use crate::{ @@ -142,8 +155,8 @@ impl ControlPoints { return VecD::zeros(self.dimension()); } - (p - k_max + 1) as f64 / (U0[i + p + 1] - U0[i + k_max]) * - (self.derive_single_point(i + 1, k_max - 1, knots) - self.derive_single_point(i, k_max - 1, knots)) + (p - k_max + 1) as f64 / (U0[i + p + 1] - U0[i + k_max]) + * (self.derive_single_point(i + 1, k_max - 1, knots) - self.derive_single_point(i, k_max - 1, knots)) } pub fn reverse(&mut self) -> &mut Self { diff --git a/src/lib.rs b/src/lib.rs index be21eec..eca474d 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -2,9 +2,11 @@ //#![warn(missing_doc_code_examples)] #![cfg_attr(feature = "doc-images", cfg_attr(all(), -doc = ::embed_doc_image::embed_image!("eq-curve", "doc-images/equations/curve-deriv.tex.svg"), +doc = ::embed_doc_image::embed_image!("eq-curve", "doc-images/equations/curve.svg"), +doc = ::embed_doc_image::embed_image!("eq-knots", "doc-images/equations/knots.svg"), +doc = ::embed_doc_image::embed_image!("eq-control-points", "doc-images/equations/control-points.svg"), doc = ::embed_doc_image::embed_image!("img-curve", "doc-images/plots/manipulation/insert-before.svg")))] -//! `bsplines` is a Rust library for vectorized, N-dimensional B-spline curves and their derivatives based on +//! **bsplines** is a library for vectorized, N-dimensional B-spline curves and their derivatives based on //! [nalgebra]. //! //! ## Features @@ -21,7 +23,7 @@ doc = ::embed_doc_image::embed_image!("img-curve", "doc-images/plots/manipulatio //! - [splitting][manipulation::split] //! - [merging][manipulation::split] //! -//! ## Mathematical Definition +//! ## What are B-Splines? //! //! B-splines are parametric functions composed of piecewise polynomials with a polynomial degree `p > 0`. //! These piecewise polynomials are joined so that the parametric function is `p-1` times continuously @@ -33,19 +35,6 @@ doc = ::embed_doc_image::embed_image!("img-curve", "doc-images/plots/manipulatio //! complex-shaped and high-dimensional data, while maintaining a low polynomial degree. Because of the polynomial //! nature, all possible derivatives are accessible. //! -//! A B-spline curve `C` can be defined by -//! -//! ![The mathematical definition of a B-spline curve.][eq-curve] -//! -//! with -//! the derivative order `k`, -//! the parameter `u ∈ [0,1]` defining a point on the curve, -//! the number of polynomial spline segments `n`, -//! the spline degree `p`, -//! the `k`-th derivative knot vector `U^(k)`, -//! the `n+1` spline basis function `N_{i,p}` of degree `p` defined by the knot vector `U^(k)`, and -//! the `n+1` control points `P_i` that can be of arbitrary dimension. -//! //! ![A 2D B-Spline curve.][img-curve] //! //! Still, evaluations or spatial manipulations can be executed fast because only local polynomial segments must be diff --git a/src/manipulation/merge.rs b/src/manipulation/merge.rs index 3a6979d..575038b 100644 --- a/src/manipulation/merge.rs +++ b/src/manipulation/merge.rs @@ -21,10 +21,11 @@ use std::ops::{AddAssign, DivAssign, SubAssign}; use nalgebra::SVD; use thiserror::Error; +use crate::curve::basis::basis; use crate::{ curve, curve::{ - knots::{evaluate, is_clamped, is_normed, reversed, Knots}, + knots::{is_clamped, is_normed, reversed, Knots}, points::{ControlPoints, Points}, Curve, CurveError, }, @@ -185,7 +186,7 @@ fn calculateKV(a: &Curve) -> MatD { let mut sum = 0.; for a in m - p..=m - k { - sum += prefactor(p, a, i, k, S, &Vk[0]) * evaluate(a, p - k, m - k, &Vk[k], Vk[0][m + 1], 0); + sum += prefactor(p, a, i, k, S, &Vk[0]) * basis(&Vk[k], a, p - k, 0, m - k, Vk[0][m + 1]); } KV[(k, i - (m + 1 - p))] = sum; } @@ -206,7 +207,7 @@ fn calculateKW(b: &Curve) -> MatD { let mut sum = 0.; for b in 0..=p - k { - sum += prefactor(p, b, j, k, T, &Wk[0]) * evaluate(b, p - k, o - k, &Wk[k], Wk[0][p], 0); + sum += prefactor(p, b, j, k, T, &Wk[0]) * basis(&Wk[k], b, p - k, 0, o - k, Wk[0][p]); } KW[(k, j)] = sum; } @@ -229,7 +230,7 @@ fn calculateIV(a: &Curve) -> MatD { let mut sum = 0.; for a in m - p..=m - k { - sum += prefactor(p, a, i, k, S, &Vk[0]) * evaluate(a, p - k, m - k, &Vk[k], Vk[0][m + 1], 0); + sum += prefactor(p, a, i, k, S, &Vk[0]) * basis(&Vk[k], a, p - k, 0, m - k, Vk[0][m + 1]); } IV[(i - (m + 1 - p), k)] = sum; } @@ -252,7 +253,7 @@ fn calculateJW(b: &Curve) -> MatD { let mut sum = 0.; for b in 0..=p - k { - sum += prefactor(p, b, j, k, T, &Wk[0]) * evaluate(b, p - k, o - k, &Wk[k], Wk[0][p], 0); + sum += prefactor(p, b, j, k, T, &Wk[0]) * basis(&Wk[k], b, p - k, 0, o - k, Wk[0][p]); } JW[(j, k)] = sum; } @@ -273,7 +274,7 @@ fn calculateGV(a: &ConstrainedCurve) -> MatD { for g in 0..=mg { for i in m - p + 1..=m { - GV[(g, i - (m - p + 1))] = evaluate(i, p, m, Vk0, a.constraints.params[g], 0); + GV[(g, i - (m - p + 1))] = basis(Vk0, i, p, 0, m, a.constraints.params[g]); } } GV @@ -289,7 +290,7 @@ fn calculateHW(b: &ConstrainedCurve) -> MatD { for h in 0..=oh { for i in 0..=p - 1 { - HW[(h, i)] = evaluate(i, p, o, Wk0, b.constraints.params[h], 0); + HW[(h, i)] = basis(Wk0, i, p, 0, o, b.constraints.params[h]); } } @@ -315,7 +316,7 @@ fn calculateIpV(a: &ConstrainedCurve) -> MatD { for i in m - p + 1..=m { for g in 0..=mg { - IpV[(i - (m + 1 - p), g)] = evaluate(i, p, m, Vk0, a.constraints.params[g], 0); + IpV[(i - (m + 1 - p), g)] = basis(Vk0, i, p, 0, m, a.constraints.params[g]); } } IpV *= -0.5; @@ -333,7 +334,7 @@ fn calculateJppW(b: &ConstrainedCurve) -> MatD { for j in 0..=p_ - 1 { for h in 0..=oh_ { - JppW[(j, h)] = evaluate(j, p_, o_, Wk0, b.constraints.params[h], 0); + JppW[(j, h)] = basis(Wk0, j, p_, 0, o_, b.constraints.params[h]); } } JppW *= -0.5; @@ -362,8 +363,7 @@ fn calculateKconst(a: &Curve, b: &Curve) -> MatD { for i in m - p..=m { for a in m - p..=m - k { // TODO use point getter instead of .column(i) - sum += - prefactor(p, a, i, k, S, &Vk[0]) * evaluate(a, p - k, m - k, &Vk[k], Vk[0][m + 1], 0) * S.column(i); + sum += prefactor(p, a, i, k, S, &Vk[0]) * basis(&Vk[k], a, p - k, 0, m - k, Vk[0][m + 1]) * S.column(i); } } @@ -371,7 +371,7 @@ fn calculateKconst(a: &Curve, b: &Curve) -> MatD { for b in 0..=p - k { //sumB += -prefactor(p, b, j, k, &T, &Wk[0]) * evaluate(b, p - k, o - k, &Wk[k], Wk[0][p]) * T.row(j); // TODO use point getter instead of .column(j) - sum -= prefactor(p, b, j, k, T, &Wk[0]) * evaluate(b, p - k, o - k, &Wk[k], Wk[0][p], 0) * T.column(j); + sum -= prefactor(p, b, j, k, T, &Wk[0]) * basis(&Wk[k], b, p - k, 0, o - k, Wk[0][p]) * T.column(j); } } Kconst.column_mut(k).sub_assign(&sum); @@ -581,8 +581,8 @@ fn prefactor(p: usize, i: usize, i0: usize, k: usize, P0: &MatD, U0: &VecD) -> f } else if U0[i + p + 1] == U0[i + k] { 0. } else { - (p + 1 - k) as f64 / (U0[i + p + 1] - U0[i + k]) * - (prefactor(p, i + 1, i0, k - 1, P0, U0) - prefactor(p, i, i0, k - 1, P0, U0)) + (p + 1 - k) as f64 / (U0[i + p + 1] - U0[i + k]) + * (prefactor(p, i + 1, i0, k - 1, P0, U0) - prefactor(p, i, i0, k - 1, P0, U0)) } } else { 0. diff --git a/src/manipulation/mod.rs b/src/manipulation/mod.rs index 9bac688..91ba75a 100644 --- a/src/manipulation/mod.rs +++ b/src/manipulation/mod.rs @@ -1,3 +1,5 @@ +//! Implements different curve manipulation methods. + pub mod insert; pub mod merge; pub mod reverse; From 0f7302bb3df8a8b8d15e7ca2fb98b403a3a8675f Mon Sep 17 00:00:00 2001 From: Michael Heuer <michael.heuer@rwth-aachen.de> Date: Thu, 8 Feb 2024 22:47:57 +0100 Subject: [PATCH 2/2] chore: bump version --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 9097d0c..b173722 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "bsplines" license = "Apache-2.0" -version = "0.0.1-alpha.5" +version = "0.0.1-alpha.6" authors = [ "Michael A. Heuer <decentralised.systems@gmail.com>", ]