From 4ba2dd5f18399131bfcd3c81df1fd374f5a13869 Mon Sep 17 00:00:00 2001 From: heumsi Date: Tue, 31 Mar 2026 14:45:05 +0900 Subject: [PATCH 01/20] =?UTF-8?q?=F0=9F=93=9D=20docs:=20Add=20mkdocs-shadc?= =?UTF-8?q?n=20setup=20with=20home=20page?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- docs/index.md | 114 ++++++++++++++++++ mkdocs.yml | 48 ++++++++ pyproject.toml | 6 + uv.lock | 321 +++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 489 insertions(+) create mode 100644 docs/index.md create mode 100644 mkdocs.yml diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..ca3fe50 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,114 @@ +# python-naming-linter + +A naming convention linter for Python projects. Define custom naming rules and enforce them with a single CLI command. + +## What It Does + +- Define naming rules for variables, functions, classes, modules, and packages +- Apply rules to specific modules using pattern matching +- Integrate into CI or pre-commit to keep your naming conventions consistent + +For Python developers who want to enforce team-specific naming conventions beyond what PEP 8 and ruff cover. + +## Key Features + +| Feature | Description | +|---------|-------------| +| **Rule Types** | Variable, function, class, module, and package naming rules | +| **Filters** | Narrow rules by return type, base class, decorator, and more | +| **Naming Constraints** | Prefix, suffix, regex, case convention, or derived from another element | +| **Module Targeting** | Apply rules to specific parts of your codebase using glob-style patterns | +| **Inline Ignore** | Suppress violations on specific lines with `# pnl: ignore` | +| **Pre-commit** | Drop-in integration with pre-commit hooks | + +## Quick Start + +**Install:** + +```bash +pip install python-naming-linter +``` + +**Create `.python-naming-linter.yaml` in your project root:** + +```yaml +rules: + - name: bool-method-prefix + type: function + filter: { return_type: bool } + naming: { prefix: [is_, has_, should_] } + + - name: exception-naming + type: class + filter: { base_class: Exception } + naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" } + +apply: + - name: all + rules: [bool-method-prefix, exception-naming] + modules: "**" +``` + +**Run:** + +```bash +pnl check +``` + +**Output:** + +``` +src/domain/service.py:12 + [bool-method-prefix] validate (expected prefix: is_ | has_ | should_) + +src/domain/exceptions.py:8 + [exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$) + +Found 2 violation(s). +``` + +## More Examples + +### Variable Naming — Match Type Annotation + +Enforce that variable names match their type annotation in snake_case: + +```yaml +rules: + - name: attribute-matches-type + type: variable + filter: { target: attribute } + naming: { source: type_annotation, transform: snake_case } + +apply: + - name: domain-layer + rules: [attribute-matches-type] + modules: contexts.*.domain +``` + +This catches `repo: SubscriptionRepository` — the name should be `subscription_repository`. + +### Combining Rules Per Layer + +Apply different rules to different parts of your codebase: + +```yaml +apply: + - name: domain-layer + rules: + - attribute-matches-type + - bool-method-prefix + - domain-module-naming + modules: contexts.*.domain + + - name: global-exceptions + rules: [exception-naming] + modules: "**" +``` + +## Next Steps + +- [Installation](getting-started/installation.md) — detailed install instructions +- [Quick Start](getting-started/quick-start.md) — step-by-step setup guide +- [Configuration](getting-started/configuration.md) — full configuration reference +- [Cookbook](cookbook/index.md) — real-world usage patterns diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..2daa463 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,48 @@ +site_name: python-naming-linter +site_url: https://heumsi.github.io/python-naming-linter/ +repo_url: https://github.com/heumsi/python-naming-linter +repo_name: heumsi/python-naming-linter + +theme: + name: shadcn + show_title: true + show_stargazers: true + pygments_style: + light: shadcn-light + dark: github-dark + +markdown_extensions: + - admonition + - codehilite + - fenced_code + - footnotes + - attr_list + - toc: + permalink: true + +nav: + - Home: index.md + - Getting Started: + - Installation: getting-started/installation.md + - Quick Start: getting-started/quick-start.md + - Configuration: getting-started/configuration.md + - Guide: + - Rules: guide/rules.md + - Filters: guide/filters.md + - Naming Constraints: guide/naming-constraints.md + - Apply & Modules: guide/apply-and-modules.md + - Include / Exclude: guide/include-exclude.md + - Inline Ignore: guide/inline-ignore.md + - Cookbook: + - Overview: cookbook/index.md + - Bool Method Prefix: cookbook/bool-method-prefix.md + - Exception Naming: cookbook/exception-naming.md + - Attribute Matches Type: cookbook/attribute-matches-type.md + - Module Matches Class: cookbook/module-matches-class.md + - Layer-Based Rules: cookbook/layer-based-rules.md + - Constant Upper Case: cookbook/constant-upper-case.md + - Decorator Filtering: cookbook/decorator-filtering.md + - CLI Reference: cli.md + - Pre-commit: pre-commit.md + - Contributing: contributing.md + - Changelog: changelog.md diff --git a/pyproject.toml b/pyproject.toml index 56e3c48..d355fcd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -100,3 +100,9 @@ commit_parsers = [ { message = "^.*ci", group = "CI/CD" }, ] tag_pattern = "v[0-9].*" + +[dependency-groups] +dev = [ + "mkdocs>=1.6.1", + "mkdocs-shadcn>=0.10.2", +] diff --git a/uv.lock b/uv.lock index 7b70ab8..851999a 100644 --- a/uv.lock +++ b/uv.lock @@ -2,6 +2,15 @@ version = 1 revision = 3 requires-python = ">=3.10" +[[package]] +name = "bottle" +version = "0.13.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7a/71/cca6167c06d00c81375fd668719df245864076d284f7cb46a694cbeb5454/bottle-0.13.4.tar.gz", hash = "sha256:787e78327e12b227938de02248333d788cfe45987edca735f8f88e03472c3f47", size = 98717, upload-time = "2025-06-15T10:08:59.439Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/83/f6/b55ec74cfe68c6584163faa311503c20b0da4c09883a41e8e00d6726c954/bottle-0.13.4-py2.py3-none-any.whl", hash = "sha256:045684fbd2764eac9cdeb824861d1551d113e8b683d8d26e296898d3dd99a12e", size = 103807, upload-time = "2025-06-15T10:08:57.691Z" }, +] + [[package]] name = "cfgv" version = "3.5.0" @@ -62,6 +71,42 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/a4/a5/842ae8f0c08b61d6484b52f99a03510a3a72d23141942d216ebe81fefbce/filelock-3.25.2-py3-none-any.whl", hash = "sha256:ca8afb0da15f229774c9ad1b455ed96e85a81373065fb10446672f64444ddf70", size = 26759, upload-time = "2026-03-11T20:45:37.437Z" }, ] +[[package]] +name = "ghp-import" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "python-dateutil" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d9/29/d40217cbe2f6b1359e00c6c307bb3fc876ba74068cbab3dde77f03ca0dc4/ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343", size = 10943, upload-time = "2022-05-02T15:47:16.11Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619", size = 11034, upload-time = "2022-05-02T15:47:14.552Z" }, +] + +[[package]] +name = "gitdb" +version = "4.0.12" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "smmap" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/72/94/63b0fc47eb32792c7ba1fe1b694daec9a63620db1e313033d18140c2320a/gitdb-4.0.12.tar.gz", hash = "sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571", size = 394684, upload-time = "2025-01-02T07:20:46.413Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/61/5c78b91c3143ed5c14207f463aecfc8f9dbb5092fb2869baf37c273b2705/gitdb-4.0.12-py3-none-any.whl", hash = "sha256:67073e15955400952c6565cc3e707c554a4eea2e428946f7a4c162fab9bd9bcf", size = 62794, upload-time = "2025-01-02T07:20:43.624Z" }, +] + +[[package]] +name = "gitpython" +version = "3.1.46" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "gitdb" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/b5/59d16470a1f0dfe8c793f9ef56fd3826093fc52b3bd96d6b9d6c26c7e27b/gitpython-3.1.46.tar.gz", hash = "sha256:400124c7d0ef4ea03f7310ac2fbf7151e09ff97f2a3288d64a440c584a29c37f", size = 215371, upload-time = "2026-01-01T15:37:32.073Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6a/09/e21df6aef1e1ffc0c816f0522ddc3f6dcded766c3261813131c78a704470/gitpython-3.1.46-py3-none-any.whl", hash = "sha256:79812ed143d9d25b6d176a10bb511de0f9c67b1fa641d82097b0ab90398a2058", size = 208620, upload-time = "2026-01-01T15:37:30.574Z" }, +] + [[package]] name = "identify" version = "2.6.18" @@ -80,6 +125,174 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484, upload-time = "2025-10-18T21:55:41.639Z" }, ] +[[package]] +name = "jinja2" +version = "3.1.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, +] + +[[package]] +name = "markdown" +version = "3.10.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2b/f4/69fa6ed85ae003c2378ffa8f6d2e3234662abd02c10d216c0ba96081a238/markdown-3.10.2.tar.gz", hash = "sha256:994d51325d25ad8aa7ce4ebaec003febcce822c3f8c911e3b17c52f7f589f950", size = 368805, upload-time = "2026-02-09T14:57:26.942Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/de/1f/77fa3081e4f66ca3576c896ae5d31c3002ac6607f9747d2e3aa49227e464/markdown-3.10.2-py3-none-any.whl", hash = "sha256:e91464b71ae3ee7afd3017d9f358ef0baf158fd9a298db92f1d4761133824c36", size = 108180, upload-time = "2026-02-09T14:57:25.787Z" }, +] + +[[package]] +name = "markupsafe" +version = "3.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz", hash = "sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698", size = 80313, upload-time = "2025-09-27T18:37:40.426Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e8/4b/3541d44f3937ba468b75da9eebcae497dcf67adb65caa16760b0a6807ebb/markupsafe-3.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2f981d352f04553a7171b8e44369f2af4055f888dfb147d55e42d29e29e74559", size = 11631, upload-time = "2025-09-27T18:36:05.558Z" }, + { url = "https://files.pythonhosted.org/packages/98/1b/fbd8eed11021cabd9226c37342fa6ca4e8a98d8188a8d9b66740494960e4/markupsafe-3.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e1c1493fb6e50ab01d20a22826e57520f1284df32f2d8601fdd90b6304601419", size = 12057, upload-time = "2025-09-27T18:36:07.165Z" }, + { url = "https://files.pythonhosted.org/packages/40/01/e560d658dc0bb8ab762670ece35281dec7b6c1b33f5fbc09ebb57a185519/markupsafe-3.0.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1ba88449deb3de88bd40044603fafffb7bc2b055d626a330323a9ed736661695", size = 22050, upload-time = "2025-09-27T18:36:08.005Z" }, + { url = "https://files.pythonhosted.org/packages/af/cd/ce6e848bbf2c32314c9b237839119c5a564a59725b53157c856e90937b7a/markupsafe-3.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f42d0984e947b8adf7dd6dde396e720934d12c506ce84eea8476409563607591", size = 20681, upload-time = "2025-09-27T18:36:08.881Z" }, + { url = "https://files.pythonhosted.org/packages/c9/2a/b5c12c809f1c3045c4d580b035a743d12fcde53cf685dbc44660826308da/markupsafe-3.0.3-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c0c0b3ade1c0b13b936d7970b1d37a57acde9199dc2aecc4c336773e1d86049c", size = 20705, upload-time = "2025-09-27T18:36:10.131Z" }, + { url = "https://files.pythonhosted.org/packages/cf/e3/9427a68c82728d0a88c50f890d0fc072a1484de2f3ac1ad0bfc1a7214fd5/markupsafe-3.0.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0303439a41979d9e74d18ff5e2dd8c43ed6c6001fd40e5bf2e43f7bd9bbc523f", size = 21524, upload-time = "2025-09-27T18:36:11.324Z" }, + { url = "https://files.pythonhosted.org/packages/bc/36/23578f29e9e582a4d0278e009b38081dbe363c5e7165113fad546918a232/markupsafe-3.0.3-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:d2ee202e79d8ed691ceebae8e0486bd9a2cd4794cec4824e1c99b6f5009502f6", size = 20282, upload-time = "2025-09-27T18:36:12.573Z" }, + { url = "https://files.pythonhosted.org/packages/56/21/dca11354e756ebd03e036bd8ad58d6d7168c80ce1fe5e75218e4945cbab7/markupsafe-3.0.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:177b5253b2834fe3678cb4a5f0059808258584c559193998be2601324fdeafb1", size = 20745, upload-time = "2025-09-27T18:36:13.504Z" }, + { url = "https://files.pythonhosted.org/packages/87/99/faba9369a7ad6e4d10b6a5fbf71fa2a188fe4a593b15f0963b73859a1bbd/markupsafe-3.0.3-cp310-cp310-win32.whl", hash = "sha256:2a15a08b17dd94c53a1da0438822d70ebcd13f8c3a95abe3a9ef9f11a94830aa", size = 14571, upload-time = "2025-09-27T18:36:14.779Z" }, + { url = "https://files.pythonhosted.org/packages/d6/25/55dc3ab959917602c96985cb1253efaa4ff42f71194bddeb61eb7278b8be/markupsafe-3.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:c4ffb7ebf07cfe8931028e3e4c85f0357459a3f9f9490886198848f4fa002ec8", size = 15056, upload-time = "2025-09-27T18:36:16.125Z" }, + { url = "https://files.pythonhosted.org/packages/d0/9e/0a02226640c255d1da0b8d12e24ac2aa6734da68bff14c05dd53b94a0fc3/markupsafe-3.0.3-cp310-cp310-win_arm64.whl", hash = "sha256:e2103a929dfa2fcaf9bb4e7c091983a49c9ac3b19c9061b6d5427dd7d14d81a1", size = 13932, upload-time = "2025-09-27T18:36:17.311Z" }, + { url = "https://files.pythonhosted.org/packages/08/db/fefacb2136439fc8dd20e797950e749aa1f4997ed584c62cfb8ef7c2be0e/markupsafe-3.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1cc7ea17a6824959616c525620e387f6dd30fec8cb44f649e31712db02123dad", size = 11631, upload-time = "2025-09-27T18:36:18.185Z" }, + { url = "https://files.pythonhosted.org/packages/e1/2e/5898933336b61975ce9dc04decbc0a7f2fee78c30353c5efba7f2d6ff27a/markupsafe-3.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4bd4cd07944443f5a265608cc6aab442e4f74dff8088b0dfc8238647b8f6ae9a", size = 12058, upload-time = "2025-09-27T18:36:19.444Z" }, + { url = "https://files.pythonhosted.org/packages/1d/09/adf2df3699d87d1d8184038df46a9c80d78c0148492323f4693df54e17bb/markupsafe-3.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b5420a1d9450023228968e7e6a9ce57f65d148ab56d2313fcd589eee96a7a50", size = 24287, upload-time = "2025-09-27T18:36:20.768Z" }, + { url = "https://files.pythonhosted.org/packages/30/ac/0273f6fcb5f42e314c6d8cd99effae6a5354604d461b8d392b5ec9530a54/markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0bf2a864d67e76e5c9a34dc26ec616a66b9888e25e7b9460e1c76d3293bd9dbf", size = 22940, upload-time = "2025-09-27T18:36:22.249Z" }, + { url = "https://files.pythonhosted.org/packages/19/ae/31c1be199ef767124c042c6c3e904da327a2f7f0cd63a0337e1eca2967a8/markupsafe-3.0.3-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc51efed119bc9cfdf792cdeaa4d67e8f6fcccab66ed4bfdd6bde3e59bfcbb2f", size = 21887, upload-time = "2025-09-27T18:36:23.535Z" }, + { url = "https://files.pythonhosted.org/packages/b2/76/7edcab99d5349a4532a459e1fe64f0b0467a3365056ae550d3bcf3f79e1e/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:068f375c472b3e7acbe2d5318dea141359e6900156b5b2ba06a30b169086b91a", size = 23692, upload-time = "2025-09-27T18:36:24.823Z" }, + { url = "https://files.pythonhosted.org/packages/a4/28/6e74cdd26d7514849143d69f0bf2399f929c37dc2b31e6829fd2045b2765/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:7be7b61bb172e1ed687f1754f8e7484f1c8019780f6f6b0786e76bb01c2ae115", size = 21471, upload-time = "2025-09-27T18:36:25.95Z" }, + { url = "https://files.pythonhosted.org/packages/62/7e/a145f36a5c2945673e590850a6f8014318d5577ed7e5920a4b3448e0865d/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a", size = 22923, upload-time = "2025-09-27T18:36:27.109Z" }, + { url = "https://files.pythonhosted.org/packages/0f/62/d9c46a7f5c9adbeeeda52f5b8d802e1094e9717705a645efc71b0913a0a8/markupsafe-3.0.3-cp311-cp311-win32.whl", hash = "sha256:0db14f5dafddbb6d9208827849fad01f1a2609380add406671a26386cdf15a19", size = 14572, upload-time = "2025-09-27T18:36:28.045Z" }, + { url = "https://files.pythonhosted.org/packages/83/8a/4414c03d3f891739326e1783338e48fb49781cc915b2e0ee052aa490d586/markupsafe-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:de8a88e63464af587c950061a5e6a67d3632e36df62b986892331d4620a35c01", size = 15077, upload-time = "2025-09-27T18:36:29.025Z" }, + { url = "https://files.pythonhosted.org/packages/35/73/893072b42e6862f319b5207adc9ae06070f095b358655f077f69a35601f0/markupsafe-3.0.3-cp311-cp311-win_arm64.whl", hash = "sha256:3b562dd9e9ea93f13d53989d23a7e775fdfd1066c33494ff43f5418bc8c58a5c", size = 13876, upload-time = "2025-09-27T18:36:29.954Z" }, + { url = "https://files.pythonhosted.org/packages/5a/72/147da192e38635ada20e0a2e1a51cf8823d2119ce8883f7053879c2199b5/markupsafe-3.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e", size = 11615, upload-time = "2025-09-27T18:36:30.854Z" }, + { url = "https://files.pythonhosted.org/packages/9a/81/7e4e08678a1f98521201c3079f77db69fb552acd56067661f8c2f534a718/markupsafe-3.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce", size = 12020, upload-time = "2025-09-27T18:36:31.971Z" }, + { url = "https://files.pythonhosted.org/packages/1e/2c/799f4742efc39633a1b54a92eec4082e4f815314869865d876824c257c1e/markupsafe-3.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d", size = 24332, upload-time = "2025-09-27T18:36:32.813Z" }, + { url = "https://files.pythonhosted.org/packages/3c/2e/8d0c2ab90a8c1d9a24f0399058ab8519a3279d1bd4289511d74e909f060e/markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d", size = 22947, upload-time = "2025-09-27T18:36:33.86Z" }, + { url = "https://files.pythonhosted.org/packages/2c/54/887f3092a85238093a0b2154bd629c89444f395618842e8b0c41783898ea/markupsafe-3.0.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a", size = 21962, upload-time = "2025-09-27T18:36:35.099Z" }, + { url = "https://files.pythonhosted.org/packages/c9/2f/336b8c7b6f4a4d95e91119dc8521402461b74a485558d8f238a68312f11c/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b", size = 23760, upload-time = "2025-09-27T18:36:36.001Z" }, + { url = "https://files.pythonhosted.org/packages/32/43/67935f2b7e4982ffb50a4d169b724d74b62a3964bc1a9a527f5ac4f1ee2b/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f", size = 21529, upload-time = "2025-09-27T18:36:36.906Z" }, + { url = "https://files.pythonhosted.org/packages/89/e0/4486f11e51bbba8b0c041098859e869e304d1c261e59244baa3d295d47b7/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b", size = 23015, upload-time = "2025-09-27T18:36:37.868Z" }, + { url = "https://files.pythonhosted.org/packages/2f/e1/78ee7a023dac597a5825441ebd17170785a9dab23de95d2c7508ade94e0e/markupsafe-3.0.3-cp312-cp312-win32.whl", hash = "sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d", size = 14540, upload-time = "2025-09-27T18:36:38.761Z" }, + { url = "https://files.pythonhosted.org/packages/aa/5b/bec5aa9bbbb2c946ca2733ef9c4ca91c91b6a24580193e891b5f7dbe8e1e/markupsafe-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c", size = 15105, upload-time = "2025-09-27T18:36:39.701Z" }, + { url = "https://files.pythonhosted.org/packages/e5/f1/216fc1bbfd74011693a4fd837e7026152e89c4bcf3e77b6692fba9923123/markupsafe-3.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f", size = 13906, upload-time = "2025-09-27T18:36:40.689Z" }, + { url = "https://files.pythonhosted.org/packages/38/2f/907b9c7bbba283e68f20259574b13d005c121a0fa4c175f9bed27c4597ff/markupsafe-3.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795", size = 11622, upload-time = "2025-09-27T18:36:41.777Z" }, + { url = "https://files.pythonhosted.org/packages/9c/d9/5f7756922cdd676869eca1c4e3c0cd0df60ed30199ffd775e319089cb3ed/markupsafe-3.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219", size = 12029, upload-time = "2025-09-27T18:36:43.257Z" }, + { url = "https://files.pythonhosted.org/packages/00/07/575a68c754943058c78f30db02ee03a64b3c638586fba6a6dd56830b30a3/markupsafe-3.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6", size = 24374, upload-time = "2025-09-27T18:36:44.508Z" }, + { url = "https://files.pythonhosted.org/packages/a9/21/9b05698b46f218fc0e118e1f8168395c65c8a2c750ae2bab54fc4bd4e0e8/markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676", size = 22980, upload-time = "2025-09-27T18:36:45.385Z" }, + { url = "https://files.pythonhosted.org/packages/7f/71/544260864f893f18b6827315b988c146b559391e6e7e8f7252839b1b846a/markupsafe-3.0.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9", size = 21990, upload-time = "2025-09-27T18:36:46.916Z" }, + { url = "https://files.pythonhosted.org/packages/c2/28/b50fc2f74d1ad761af2f5dcce7492648b983d00a65b8c0e0cb457c82ebbe/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1", size = 23784, upload-time = "2025-09-27T18:36:47.884Z" }, + { url = "https://files.pythonhosted.org/packages/ed/76/104b2aa106a208da8b17a2fb72e033a5a9d7073c68f7e508b94916ed47a9/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc", size = 21588, upload-time = "2025-09-27T18:36:48.82Z" }, + { url = "https://files.pythonhosted.org/packages/b5/99/16a5eb2d140087ebd97180d95249b00a03aa87e29cc224056274f2e45fd6/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12", size = 23041, upload-time = "2025-09-27T18:36:49.797Z" }, + { url = "https://files.pythonhosted.org/packages/19/bc/e7140ed90c5d61d77cea142eed9f9c303f4c4806f60a1044c13e3f1471d0/markupsafe-3.0.3-cp313-cp313-win32.whl", hash = "sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed", size = 14543, upload-time = "2025-09-27T18:36:51.584Z" }, + { url = "https://files.pythonhosted.org/packages/05/73/c4abe620b841b6b791f2edc248f556900667a5a1cf023a6646967ae98335/markupsafe-3.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5", size = 15113, upload-time = "2025-09-27T18:36:52.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/3a/fa34a0f7cfef23cf9500d68cb7c32dd64ffd58a12b09225fb03dd37d5b80/markupsafe-3.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485", size = 13911, upload-time = "2025-09-27T18:36:53.513Z" }, + { url = "https://files.pythonhosted.org/packages/e4/d7/e05cd7efe43a88a17a37b3ae96e79a19e846f3f456fe79c57ca61356ef01/markupsafe-3.0.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73", size = 11658, upload-time = "2025-09-27T18:36:54.819Z" }, + { url = "https://files.pythonhosted.org/packages/99/9e/e412117548182ce2148bdeacdda3bb494260c0b0184360fe0d56389b523b/markupsafe-3.0.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37", size = 12066, upload-time = "2025-09-27T18:36:55.714Z" }, + { url = "https://files.pythonhosted.org/packages/bc/e6/fa0ffcda717ef64a5108eaa7b4f5ed28d56122c9a6d70ab8b72f9f715c80/markupsafe-3.0.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19", size = 25639, upload-time = "2025-09-27T18:36:56.908Z" }, + { url = "https://files.pythonhosted.org/packages/96/ec/2102e881fe9d25fc16cb4b25d5f5cde50970967ffa5dddafdb771237062d/markupsafe-3.0.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025", size = 23569, upload-time = "2025-09-27T18:36:57.913Z" }, + { url = "https://files.pythonhosted.org/packages/4b/30/6f2fce1f1f205fc9323255b216ca8a235b15860c34b6798f810f05828e32/markupsafe-3.0.3-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6", size = 23284, upload-time = "2025-09-27T18:36:58.833Z" }, + { url = "https://files.pythonhosted.org/packages/58/47/4a0ccea4ab9f5dcb6f79c0236d954acb382202721e704223a8aafa38b5c8/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f", size = 24801, upload-time = "2025-09-27T18:36:59.739Z" }, + { url = "https://files.pythonhosted.org/packages/6a/70/3780e9b72180b6fecb83a4814d84c3bf4b4ae4bf0b19c27196104149734c/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb", size = 22769, upload-time = "2025-09-27T18:37:00.719Z" }, + { url = "https://files.pythonhosted.org/packages/98/c5/c03c7f4125180fc215220c035beac6b9cb684bc7a067c84fc69414d315f5/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009", size = 23642, upload-time = "2025-09-27T18:37:01.673Z" }, + { url = "https://files.pythonhosted.org/packages/80/d6/2d1b89f6ca4bff1036499b1e29a1d02d282259f3681540e16563f27ebc23/markupsafe-3.0.3-cp313-cp313t-win32.whl", hash = "sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354", size = 14612, upload-time = "2025-09-27T18:37:02.639Z" }, + { url = "https://files.pythonhosted.org/packages/2b/98/e48a4bfba0a0ffcf9925fe2d69240bfaa19c6f7507b8cd09c70684a53c1e/markupsafe-3.0.3-cp313-cp313t-win_amd64.whl", hash = "sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218", size = 15200, upload-time = "2025-09-27T18:37:03.582Z" }, + { url = "https://files.pythonhosted.org/packages/0e/72/e3cc540f351f316e9ed0f092757459afbc595824ca724cbc5a5d4263713f/markupsafe-3.0.3-cp313-cp313t-win_arm64.whl", hash = "sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287", size = 13973, upload-time = "2025-09-27T18:37:04.929Z" }, + { url = "https://files.pythonhosted.org/packages/33/8a/8e42d4838cd89b7dde187011e97fe6c3af66d8c044997d2183fbd6d31352/markupsafe-3.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe", size = 11619, upload-time = "2025-09-27T18:37:06.342Z" }, + { url = "https://files.pythonhosted.org/packages/b5/64/7660f8a4a8e53c924d0fa05dc3a55c9cee10bbd82b11c5afb27d44b096ce/markupsafe-3.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026", size = 12029, upload-time = "2025-09-27T18:37:07.213Z" }, + { url = "https://files.pythonhosted.org/packages/da/ef/e648bfd021127bef5fa12e1720ffed0c6cbb8310c8d9bea7266337ff06de/markupsafe-3.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737", size = 24408, upload-time = "2025-09-27T18:37:09.572Z" }, + { url = "https://files.pythonhosted.org/packages/41/3c/a36c2450754618e62008bf7435ccb0f88053e07592e6028a34776213d877/markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97", size = 23005, upload-time = "2025-09-27T18:37:10.58Z" }, + { url = "https://files.pythonhosted.org/packages/bc/20/b7fdf89a8456b099837cd1dc21974632a02a999ec9bf7ca3e490aacd98e7/markupsafe-3.0.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d", size = 22048, upload-time = "2025-09-27T18:37:11.547Z" }, + { url = "https://files.pythonhosted.org/packages/9a/a7/591f592afdc734f47db08a75793a55d7fbcc6902a723ae4cfbab61010cc5/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda", size = 23821, upload-time = "2025-09-27T18:37:12.48Z" }, + { url = "https://files.pythonhosted.org/packages/7d/33/45b24e4f44195b26521bc6f1a82197118f74df348556594bd2262bda1038/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf", size = 21606, upload-time = "2025-09-27T18:37:13.485Z" }, + { url = "https://files.pythonhosted.org/packages/ff/0e/53dfaca23a69fbfbbf17a4b64072090e70717344c52eaaaa9c5ddff1e5f0/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe", size = 23043, upload-time = "2025-09-27T18:37:14.408Z" }, + { url = "https://files.pythonhosted.org/packages/46/11/f333a06fc16236d5238bfe74daccbca41459dcd8d1fa952e8fbd5dccfb70/markupsafe-3.0.3-cp314-cp314-win32.whl", hash = "sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9", size = 14747, upload-time = "2025-09-27T18:37:15.36Z" }, + { url = "https://files.pythonhosted.org/packages/28/52/182836104b33b444e400b14f797212f720cbc9ed6ba34c800639d154e821/markupsafe-3.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581", size = 15341, upload-time = "2025-09-27T18:37:16.496Z" }, + { url = "https://files.pythonhosted.org/packages/6f/18/acf23e91bd94fd7b3031558b1f013adfa21a8e407a3fdb32745538730382/markupsafe-3.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4", size = 14073, upload-time = "2025-09-27T18:37:17.476Z" }, + { url = "https://files.pythonhosted.org/packages/3c/f0/57689aa4076e1b43b15fdfa646b04653969d50cf30c32a102762be2485da/markupsafe-3.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab", size = 11661, upload-time = "2025-09-27T18:37:18.453Z" }, + { url = "https://files.pythonhosted.org/packages/89/c3/2e67a7ca217c6912985ec766c6393b636fb0c2344443ff9d91404dc4c79f/markupsafe-3.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175", size = 12069, upload-time = "2025-09-27T18:37:19.332Z" }, + { url = "https://files.pythonhosted.org/packages/f0/00/be561dce4e6ca66b15276e184ce4b8aec61fe83662cce2f7d72bd3249d28/markupsafe-3.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634", size = 25670, upload-time = "2025-09-27T18:37:20.245Z" }, + { url = "https://files.pythonhosted.org/packages/50/09/c419f6f5a92e5fadde27efd190eca90f05e1261b10dbd8cbcb39cd8ea1dc/markupsafe-3.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50", size = 23598, upload-time = "2025-09-27T18:37:21.177Z" }, + { url = "https://files.pythonhosted.org/packages/22/44/a0681611106e0b2921b3033fc19bc53323e0b50bc70cffdd19f7d679bb66/markupsafe-3.0.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e", size = 23261, upload-time = "2025-09-27T18:37:22.167Z" }, + { url = "https://files.pythonhosted.org/packages/5f/57/1b0b3f100259dc9fffe780cfb60d4be71375510e435efec3d116b6436d43/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5", size = 24835, upload-time = "2025-09-27T18:37:23.296Z" }, + { url = "https://files.pythonhosted.org/packages/26/6a/4bf6d0c97c4920f1597cc14dd720705eca0bf7c787aebc6bb4d1bead5388/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523", size = 22733, upload-time = "2025-09-27T18:37:24.237Z" }, + { url = "https://files.pythonhosted.org/packages/14/c7/ca723101509b518797fedc2fdf79ba57f886b4aca8a7d31857ba3ee8281f/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc", size = 23672, upload-time = "2025-09-27T18:37:25.271Z" }, + { url = "https://files.pythonhosted.org/packages/fb/df/5bd7a48c256faecd1d36edc13133e51397e41b73bb77e1a69deab746ebac/markupsafe-3.0.3-cp314-cp314t-win32.whl", hash = "sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d", size = 14819, upload-time = "2025-09-27T18:37:26.285Z" }, + { url = "https://files.pythonhosted.org/packages/1a/8a/0402ba61a2f16038b48b39bccca271134be00c5c9f0f623208399333c448/markupsafe-3.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9", size = 15426, upload-time = "2025-09-27T18:37:27.316Z" }, + { url = "https://files.pythonhosted.org/packages/70/bc/6f1c2f612465f5fa89b95bead1f44dcb607670fd42891d8fdcd5d039f4f4/markupsafe-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa", size = 14146, upload-time = "2025-09-27T18:37:28.327Z" }, +] + +[[package]] +name = "mergedeep" +version = "1.3.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/3a/41/580bb4006e3ed0361b8151a01d324fb03f420815446c7def45d02f74c270/mergedeep-1.3.4.tar.gz", hash = "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8", size = 4661, upload-time = "2021-02-05T18:55:30.623Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/19/04f9b178c2d8a15b076c8b5140708fa6ffc5601fb6f1e975537072df5b2a/mergedeep-1.3.4-py3-none-any.whl", hash = "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307", size = 6354, upload-time = "2021-02-05T18:55:29.583Z" }, +] + +[[package]] +name = "mkdocs" +version = "1.6.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "ghp-import" }, + { name = "jinja2" }, + { name = "markdown" }, + { name = "markupsafe" }, + { name = "mergedeep" }, + { name = "mkdocs-get-deps" }, + { name = "packaging" }, + { name = "pathspec" }, + { name = "pyyaml" }, + { name = "pyyaml-env-tag" }, + { name = "watchdog" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bc/c6/bbd4f061bd16b378247f12953ffcb04786a618ce5e904b8c5a01a0309061/mkdocs-1.6.1.tar.gz", hash = "sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2", size = 3889159, upload-time = "2024-08-30T12:24:06.899Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/22/5b/dbc6a8cddc9cfa9c4971d59fb12bb8d42e161b7e7f8cc89e49137c5b279c/mkdocs-1.6.1-py3-none-any.whl", hash = "sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e", size = 3864451, upload-time = "2024-08-30T12:24:05.054Z" }, +] + +[[package]] +name = "mkdocs-get-deps" +version = "0.2.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mergedeep" }, + { name = "platformdirs" }, + { name = "pyyaml" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ce/25/b3cccb187655b9393572bde9b09261d267c3bf2f2cdabe347673be5976a6/mkdocs_get_deps-0.2.2.tar.gz", hash = "sha256:8ee8d5f316cdbbb2834bc1df6e69c08fe769a83e040060de26d3c19fad3599a1", size = 11047, upload-time = "2026-03-10T02:46:33.632Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/88/29/744136411e785c4b0b744d5413e56555265939ab3a104c6a4b719dad33fd/mkdocs_get_deps-0.2.2-py3-none-any.whl", hash = "sha256:e7878cbeac04860b8b5e0ca31d3abad3df9411a75a32cde82f8e44b6c16ff650", size = 9555, upload-time = "2026-03-10T02:46:32.256Z" }, +] + +[[package]] +name = "mkdocs-shadcn" +version = "0.10.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "bottle" }, + { name = "gitpython" }, + { name = "mkdocs" }, + { name = "pymdown-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/68/c6/d86f2494c1e1bd80d07d4ccd83862e6b4306dd8a39a97e22c0d15e54156c/mkdocs_shadcn-0.10.2.tar.gz", hash = "sha256:cc37a5a2d998dfec2fbfa24c6b67d20c5bd8b53ad36a17e51ef6e1b865be08a3", size = 3161105, upload-time = "2026-03-19T10:12:32.422Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/15/73/ce6ebaaec752d90e774997e890b7a7cff6a0642c8dec9afd7ee8e047c9e0/mkdocs_shadcn-0.10.2-py3-none-any.whl", hash = "sha256:f3c4c5f7f4bf80506d6cf834c6a4201d0e447980020ad8fca145bdb46c20ede1", size = 1410494, upload-time = "2026-03-19T10:12:30.421Z" }, +] + [[package]] name = "nodeenv" version = "1.10.0" @@ -98,6 +311,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b7/b9/c538f279a4e237a006a2c98387d081e9eb060d203d8ed34467cc0f0b9b53/packaging-26.0-py3-none-any.whl", hash = "sha256:b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529", size = 74366, upload-time = "2026-01-21T20:50:37.788Z" }, ] +[[package]] +name = "pathspec" +version = "1.0.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fa/36/e27608899f9b8d4dff0617b2d9ab17ca5608956ca44461ac14ac48b44015/pathspec-1.0.4.tar.gz", hash = "sha256:0210e2ae8a21a9137c0d470578cb0e595af87edaa6ebf12ff176f14a02e0e645", size = 131200, upload-time = "2026-01-27T03:59:46.938Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ef/3c/2c197d226f9ea224a9ab8d197933f9da0ae0aac5b6e0f884e2b8d9c8e9f7/pathspec-1.0.4-py3-none-any.whl", hash = "sha256:fb6ae2fd4e7c921a165808a552060e722767cfa526f99ca5156ed2ce45a5c723", size = 55206, upload-time = "2026-01-27T03:59:45.137Z" }, +] + [[package]] name = "platformdirs" version = "4.9.4" @@ -141,6 +363,19 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl", hash = "sha256:81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176", size = 1231151, upload-time = "2026-03-29T13:29:30.038Z" }, ] +[[package]] +name = "pymdown-extensions" +version = "10.21.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown" }, + { name = "pyyaml" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/08/f1c908c581fd11913da4711ea7ba32c0eee40b0190000996bb863b0c9349/pymdown_extensions-10.21.2.tar.gz", hash = "sha256:c3f55a5b8a1d0edf6699e35dcbea71d978d34ff3fa79f3d807b8a5b3fa90fbdc", size = 853922, upload-time = "2026-03-29T15:01:55.233Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f7/27/a2fc51a4a122dfd1015e921ae9d22fee3d20b0b8080d9a704578bf9deece/pymdown_extensions-10.21.2-py3-none-any.whl", hash = "sha256:5c0fd2a2bea14eb39af8ff284f1066d898ab2187d81b889b75d46d4348c01638", size = 268901, upload-time = "2026-03-29T15:01:53.244Z" }, +] + [[package]] name = "pytest" version = "9.0.2" @@ -159,6 +394,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/3b/ab/b3226f0bd7cdcf710fbede2b3548584366da3b19b5021e74f5bde2a8fa3f/pytest-9.0.2-py3-none-any.whl", hash = "sha256:711ffd45bf766d5264d487b917733b453d917afd2b0ad65223959f59089f875b", size = 374801, upload-time = "2025-12-06T21:30:49.154Z" }, ] +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, +] + [[package]] name = "python-discovery" version = "1.2.1" @@ -189,6 +436,12 @@ dev = [ { name = "ty" }, ] +[package.dev-dependencies] +dev = [ + { name = "mkdocs" }, + { name = "mkdocs-shadcn" }, +] + [package.metadata] requires-dist = [ { name = "click", specifier = ">=8.0" }, @@ -201,6 +454,12 @@ requires-dist = [ ] provides-extras = ["dev"] +[package.metadata.requires-dev] +dev = [ + { name = "mkdocs", specifier = ">=1.6.1" }, + { name = "mkdocs-shadcn", specifier = ">=0.10.2" }, +] + [[package]] name = "pyyaml" version = "6.0.3" @@ -265,6 +524,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/f1/12/de94a39c2ef588c7e6455cfbe7343d3b2dc9d6b6b2f40c4c6565744c873d/pyyaml-6.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b", size = 149341, upload-time = "2025-09-25T21:32:56.828Z" }, ] +[[package]] +name = "pyyaml-env-tag" +version = "1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pyyaml" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/eb/2e/79c822141bfd05a853236b504869ebc6b70159afc570e1d5a20641782eaa/pyyaml_env_tag-1.1.tar.gz", hash = "sha256:2eb38b75a2d21ee0475d6d97ec19c63287a7e140231e4214969d0eac923cd7ff", size = 5737, upload-time = "2025-05-13T15:24:01.64Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/11/432f32f8097b03e3cd5fe57e88efb685d964e2e5178a48ed61e841f7fdce/pyyaml_env_tag-1.1-py3-none-any.whl", hash = "sha256:17109e1a528561e32f026364712fee1264bc2ea6715120891174ed1b980d2e04", size = 4722, upload-time = "2025-05-13T15:23:59.629Z" }, +] + [[package]] name = "ruff" version = "0.15.8" @@ -290,6 +561,24 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/15/e2/77be4fff062fa78d9b2a4dea85d14785dac5f1d0c1fb58ed52331f0ebe28/ruff-0.15.8-py3-none-win_arm64.whl", hash = "sha256:cf891fa8e3bb430c0e7fac93851a5978fc99c8fa2c053b57b118972866f8e5f2", size = 11048175, upload-time = "2026-03-26T18:40:01.06Z" }, ] +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, +] + +[[package]] +name = "smmap" +version = "5.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1f/ea/49c993d6dfdd7338c9b1000a0f36817ed7ec84577ae2e52f890d1a4ff909/smmap-5.0.3.tar.gz", hash = "sha256:4d9debb8b99007ae47165abc08670bd74cb74b5227dda7f643eccc4e9eb5642c", size = 22506, upload-time = "2026-03-09T03:43:26.1Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c1/d4/59e74daffcb57a07668852eeeb6035af9f32cbfd7a1d2511f17d2fe6a738/smmap-5.0.3-py3-none-any.whl", hash = "sha256:c106e05d5a61449cf6ba9a1e650227ecfb141590d2a98412103ff35d89fc7b2f", size = 24390, upload-time = "2026-03-09T03:43:24.361Z" }, +] + [[package]] name = "tomli" version = "2.4.1" @@ -392,3 +681,35 @@ sdist = { url = "https://files.pythonhosted.org/packages/aa/92/58199fe10049f9703 wheels = [ { url = "https://files.pythonhosted.org/packages/c6/59/7d02447a55b2e55755011a647479041bc92a82e143f96a8195cb33bd0a1c/virtualenv-21.2.0-py3-none-any.whl", hash = "sha256:1bd755b504931164a5a496d217c014d098426cddc79363ad66ac78125f9d908f", size = 5825084, upload-time = "2026-03-09T17:24:35.378Z" }, ] + +[[package]] +name = "watchdog" +version = "6.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz", hash = "sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282", size = 131220, upload-time = "2024-11-01T14:07:13.037Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0c/56/90994d789c61df619bfc5ce2ecdabd5eeff564e1eb47512bd01b5e019569/watchdog-6.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d1cdb490583ebd691c012b3d6dae011000fe42edb7a82ece80965b42abd61f26", size = 96390, upload-time = "2024-11-01T14:06:24.793Z" }, + { url = "https://files.pythonhosted.org/packages/55/46/9a67ee697342ddf3c6daa97e3a587a56d6c4052f881ed926a849fcf7371c/watchdog-6.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bc64ab3bdb6a04d69d4023b29422170b74681784ffb9463ed4870cf2f3e66112", size = 88389, upload-time = "2024-11-01T14:06:27.112Z" }, + { url = "https://files.pythonhosted.org/packages/44/65/91b0985747c52064d8701e1075eb96f8c40a79df889e59a399453adfb882/watchdog-6.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c897ac1b55c5a1461e16dae288d22bb2e412ba9807df8397a635d88f671d36c3", size = 89020, upload-time = "2024-11-01T14:06:29.876Z" }, + { url = "https://files.pythonhosted.org/packages/e0/24/d9be5cd6642a6aa68352ded4b4b10fb0d7889cb7f45814fb92cecd35f101/watchdog-6.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6eb11feb5a0d452ee41f824e271ca311a09e250441c262ca2fd7ebcf2461a06c", size = 96393, upload-time = "2024-11-01T14:06:31.756Z" }, + { url = "https://files.pythonhosted.org/packages/63/7a/6013b0d8dbc56adca7fdd4f0beed381c59f6752341b12fa0886fa7afc78b/watchdog-6.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ef810fbf7b781a5a593894e4f439773830bdecb885e6880d957d5b9382a960d2", size = 88392, upload-time = "2024-11-01T14:06:32.99Z" }, + { url = "https://files.pythonhosted.org/packages/d1/40/b75381494851556de56281e053700e46bff5b37bf4c7267e858640af5a7f/watchdog-6.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:afd0fe1b2270917c5e23c2a65ce50c2a4abb63daafb0d419fde368e272a76b7c", size = 89019, upload-time = "2024-11-01T14:06:34.963Z" }, + { url = "https://files.pythonhosted.org/packages/39/ea/3930d07dafc9e286ed356a679aa02d777c06e9bfd1164fa7c19c288a5483/watchdog-6.0.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bdd4e6f14b8b18c334febb9c4425a878a2ac20efd1e0b231978e7b150f92a948", size = 96471, upload-time = "2024-11-01T14:06:37.745Z" }, + { url = "https://files.pythonhosted.org/packages/12/87/48361531f70b1f87928b045df868a9fd4e253d9ae087fa4cf3f7113be363/watchdog-6.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c7c15dda13c4eb00d6fb6fc508b3c0ed88b9d5d374056b239c4ad1611125c860", size = 88449, upload-time = "2024-11-01T14:06:39.748Z" }, + { url = "https://files.pythonhosted.org/packages/5b/7e/8f322f5e600812e6f9a31b75d242631068ca8f4ef0582dd3ae6e72daecc8/watchdog-6.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6f10cb2d5902447c7d0da897e2c6768bca89174d0c6e1e30abec5421af97a5b0", size = 89054, upload-time = "2024-11-01T14:06:41.009Z" }, + { url = "https://files.pythonhosted.org/packages/68/98/b0345cabdce2041a01293ba483333582891a3bd5769b08eceb0d406056ef/watchdog-6.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:490ab2ef84f11129844c23fb14ecf30ef3d8a6abafd3754a6f75ca1e6654136c", size = 96480, upload-time = "2024-11-01T14:06:42.952Z" }, + { url = "https://files.pythonhosted.org/packages/85/83/cdf13902c626b28eedef7ec4f10745c52aad8a8fe7eb04ed7b1f111ca20e/watchdog-6.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:76aae96b00ae814b181bb25b1b98076d5fc84e8a53cd8885a318b42b6d3a5134", size = 88451, upload-time = "2024-11-01T14:06:45.084Z" }, + { url = "https://files.pythonhosted.org/packages/fe/c4/225c87bae08c8b9ec99030cd48ae9c4eca050a59bf5c2255853e18c87b50/watchdog-6.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a175f755fc2279e0b7312c0035d52e27211a5bc39719dd529625b1930917345b", size = 89057, upload-time = "2024-11-01T14:06:47.324Z" }, + { url = "https://files.pythonhosted.org/packages/30/ad/d17b5d42e28a8b91f8ed01cb949da092827afb9995d4559fd448d0472763/watchdog-6.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:c7ac31a19f4545dd92fc25d200694098f42c9a8e391bc00bdd362c5736dbf881", size = 87902, upload-time = "2024-11-01T14:06:53.119Z" }, + { url = "https://files.pythonhosted.org/packages/5c/ca/c3649991d140ff6ab67bfc85ab42b165ead119c9e12211e08089d763ece5/watchdog-6.0.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:9513f27a1a582d9808cf21a07dae516f0fab1cf2d7683a742c498b93eedabb11", size = 88380, upload-time = "2024-11-01T14:06:55.19Z" }, + { url = "https://files.pythonhosted.org/packages/a9/c7/ca4bf3e518cb57a686b2feb4f55a1892fd9a3dd13f470fca14e00f80ea36/watchdog-6.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13", size = 79079, upload-time = "2024-11-01T14:06:59.472Z" }, + { url = "https://files.pythonhosted.org/packages/5c/51/d46dc9332f9a647593c947b4b88e2381c8dfc0942d15b8edc0310fa4abb1/watchdog-6.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379", size = 79078, upload-time = "2024-11-01T14:07:01.431Z" }, + { url = "https://files.pythonhosted.org/packages/d4/57/04edbf5e169cd318d5f07b4766fee38e825d64b6913ca157ca32d1a42267/watchdog-6.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e", size = 79076, upload-time = "2024-11-01T14:07:02.568Z" }, + { url = "https://files.pythonhosted.org/packages/ab/cc/da8422b300e13cb187d2203f20b9253e91058aaf7db65b74142013478e66/watchdog-6.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:212ac9b8bf1161dc91bd09c048048a95ca3a4c4f5e5d4a7d1b1a7d5752a7f96f", size = 79077, upload-time = "2024-11-01T14:07:03.893Z" }, + { url = "https://files.pythonhosted.org/packages/2c/3b/b8964e04ae1a025c44ba8e4291f86e97fac443bca31de8bd98d3263d2fcf/watchdog-6.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:e3df4cbb9a450c6d49318f6d14f4bbc80d763fa587ba46ec86f99f9e6876bb26", size = 79078, upload-time = "2024-11-01T14:07:05.189Z" }, + { url = "https://files.pythonhosted.org/packages/62/ae/a696eb424bedff7407801c257d4b1afda455fe40821a2be430e173660e81/watchdog-6.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:2cce7cfc2008eb51feb6aab51251fd79b85d9894e98ba847408f662b3395ca3c", size = 79077, upload-time = "2024-11-01T14:07:06.376Z" }, + { url = "https://files.pythonhosted.org/packages/b5/e8/dbf020b4d98251a9860752a094d09a65e1b436ad181faf929983f697048f/watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2", size = 79078, upload-time = "2024-11-01T14:07:07.547Z" }, + { url = "https://files.pythonhosted.org/packages/07/f6/d0e5b343768e8bcb4cda79f0f2f55051bf26177ecd5651f84c07567461cf/watchdog-6.0.0-py3-none-win32.whl", hash = "sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a", size = 79065, upload-time = "2024-11-01T14:07:09.525Z" }, + { url = "https://files.pythonhosted.org/packages/db/d9/c495884c6e548fce18a8f40568ff120bc3a4b7b99813081c8ac0c936fa64/watchdog-6.0.0-py3-none-win_amd64.whl", hash = "sha256:cbafb470cf848d93b5d013e2ecb245d4aa1c8fd0504e863ccefa32445359d680", size = 79070, upload-time = "2024-11-01T14:07:10.686Z" }, + { url = "https://files.pythonhosted.org/packages/33/e8/e40370e6d74ddba47f002a32919d91310d6074130fe4e17dabcafc15cbf1/watchdog-6.0.0-py3-none-win_ia64.whl", hash = "sha256:a1914259fa9e1454315171103c6a30961236f508b9b623eae470268bbcc6a22f", size = 79067, upload-time = "2024-11-01T14:07:11.845Z" }, +] From e6a5db98f2cfb9f6e9bf357f0d405c742832394f Mon Sep 17 00:00:00 2001 From: heumsi Date: Tue, 31 Mar 2026 14:46:52 +0900 Subject: [PATCH 02/20] =?UTF-8?q?=F0=9F=93=9D=20docs:=20Add=20getting=20st?= =?UTF-8?q?arted=20section?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- docs/getting-started/configuration.md | 85 +++++++++++++++++++++++++++ docs/getting-started/installation.md | 25 ++++++++ docs/getting-started/quick-start.md | 63 ++++++++++++++++++++ 3 files changed, 173 insertions(+) create mode 100644 docs/getting-started/configuration.md create mode 100644 docs/getting-started/installation.md create mode 100644 docs/getting-started/quick-start.md diff --git a/docs/getting-started/configuration.md b/docs/getting-started/configuration.md new file mode 100644 index 0000000..7b84544 --- /dev/null +++ b/docs/getting-started/configuration.md @@ -0,0 +1,85 @@ +# Configuration + +`pnl` supports two config file formats: a standalone YAML file or an inline section inside `pyproject.toml`. + +## Config File Discovery + +When you run `pnl check` without `--config`, the tool searches **upward from the current working directory** for one of: + +- `.python-naming-linter.yaml` +- `pyproject.toml` (containing a `[tool.python-naming-linter]` section) + +The first matching file is used, and its parent directory becomes the project root. + +To use a specific config file, pass it explicitly: + +```bash +pnl check --config path/to/config.yaml +``` + +## YAML Format + +Create `.python-naming-linter.yaml` in your project root: + +```yaml +rules: + - name: bool-method-prefix + type: function + filter: { return_type: bool } + naming: { prefix: [is_, has_, should_] } + +apply: + - name: all + rules: [bool-method-prefix] + modules: "**" +``` + +## pyproject.toml Format + +You can embed the same configuration inside `pyproject.toml` using the `[tool.python-naming-linter]` namespace: + +```toml +[[tool.python-naming-linter.rules]] +name = "bool-method-prefix" +type = "function" + +[tool.python-naming-linter.rules.filter] +return_type = "bool" + +[tool.python-naming-linter.rules.naming] +prefix = ["is_", "has_", "should_"] + +[[tool.python-naming-linter.apply]] +name = "all" +rules = ["bool-method-prefix"] +modules = "**" +``` + +Both formats are equivalent — use whichever fits your project's conventions. + +## Top-Level Keys + +| Key | Description | +|-----|-------------| +| `rules` | List of naming rule definitions | +| `apply` | List of rule-to-module mappings | +| `include` | Paths to include when scanning (optional) | +| `exclude` | Paths to exclude when scanning (optional) | + +### include / exclude + +Control which files are scanned: + +```yaml +include: + - src +exclude: + - src/generated/** +``` + +Behavior: + +- **Neither** — all `.py` files under the project root are scanned. +- **`include` only** — only files matching the given paths are scanned. +- **`exclude` only** — all files except those matching the given paths are scanned. +- **Both** — `include` is applied first, then `exclude` filters within that result. diff --git a/docs/getting-started/installation.md b/docs/getting-started/installation.md new file mode 100644 index 0000000..65eb5b4 --- /dev/null +++ b/docs/getting-started/installation.md @@ -0,0 +1,25 @@ +# Installation + +`python-naming-linter` is available on PyPI and can be installed with any standard Python package manager. + +## pip + +```bash +pip install python-naming-linter +``` + +## uv + +```bash +uv add python-naming-linter +``` + +## Verify the Installation + +After installation, confirm the CLI is available: + +```bash +pnl --help +``` + +You should see the help output listing the available commands. diff --git a/docs/getting-started/quick-start.md b/docs/getting-started/quick-start.md new file mode 100644 index 0000000..8bf9501 --- /dev/null +++ b/docs/getting-started/quick-start.md @@ -0,0 +1,63 @@ +# Quick Start + +Get `pnl` running in your project in three steps. + +## Step 1: Create a Config File + +Create `.python-naming-linter.yaml` in your project root and define your naming rules: + +```yaml +rules: + - name: bool-method-prefix + type: function + filter: { return_type: bool } + naming: { prefix: [is_, has_, should_] } + + - name: exception-naming + type: class + filter: { base_class: Exception } + naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" } + +apply: + - name: all + rules: [bool-method-prefix, exception-naming] + modules: "**" +``` + +This config defines two rules: + +- `bool-method-prefix` — functions that return `bool` must start with `is_`, `has_`, or `should_`. +- `exception-naming` — classes that extend `Exception` must follow the given regex pattern. + +Both rules are applied to all modules (`**`). + +## Step 2: Run the Linter + +From your project root, run: + +```bash +pnl check +``` + +`pnl` automatically discovers the config file by searching upward from the current working directory. + +## Step 3: Review the Output + +Violations are reported with the file path, line number, rule name, and what was expected: + +``` +src/domain/service.py:12 + [bool-method-prefix] validate (expected prefix: is_ | has_ | should_) + +src/domain/exceptions.py:8 + [exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$) + +Found 2 violation(s). +``` + +Fix the reported names and re-run `pnl check` until no violations remain. + +## Next Steps + +- Learn all available config options in [Configuration](./configuration.md). +- See rule type details and naming constraint options in the full reference. From 703dd7b98738ca183d630d3e44f718f62119bf6f Mon Sep 17 00:00:00 2001 From: heumsi Date: Tue, 31 Mar 2026 14:49:49 +0900 Subject: [PATCH 03/20] =?UTF-8?q?=F0=9F=93=9D=20docs:=20Add=20guide=20sect?= =?UTF-8?q?ion?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- docs/guide/apply-and-modules.md | 169 ++++++++++++++++++++++++ docs/guide/filters.md | 178 +++++++++++++++++++++++++ docs/guide/include-exclude.md | 140 ++++++++++++++++++++ docs/guide/inline-ignore.md | 83 ++++++++++++ docs/guide/naming-constraints.md | 218 +++++++++++++++++++++++++++++++ docs/guide/rules.md | 210 +++++++++++++++++++++++++++++ 6 files changed, 998 insertions(+) create mode 100644 docs/guide/apply-and-modules.md create mode 100644 docs/guide/filters.md create mode 100644 docs/guide/include-exclude.md create mode 100644 docs/guide/inline-ignore.md create mode 100644 docs/guide/naming-constraints.md create mode 100644 docs/guide/rules.md diff --git a/docs/guide/apply-and-modules.md b/docs/guide/apply-and-modules.md new file mode 100644 index 0000000..3a8e139 --- /dev/null +++ b/docs/guide/apply-and-modules.md @@ -0,0 +1,169 @@ +# Apply & Modules + +The `apply` block connects rules to the parts of your codebase where they should be enforced. Without an `apply` entry, a rule is defined but never executed. + +--- + +## The `apply` Block + +Each entry in `apply` is a named group that maps one or more rules to one or more modules: + +```yaml +apply: + - name: domain-layer # A label for this group (used in output) + rules: # Rules to enforce in this group + - attribute-matches-type + - bool-method-prefix + modules: contexts.*.domain # Module path pattern to match +``` + +### Fields + +| Field | Required | Description | +|-------|----------|-------------| +| `name` | Yes | Human-readable label for this application group | +| `rules` | Yes | List of rule names to enforce (must be defined in the `rules` block) | +| `modules` | Yes | A module path pattern that selects which files to check | + +### Inline syntax + +For short rule lists, you can use inline YAML syntax: + +```yaml +apply: + - name: all + rules: [bool-method-prefix, exception-naming] + modules: "**" +``` + +--- + +## Module Path Patterns + +Module paths use Python's dotted notation — the same way you would import them. For example, `src/domain/service.py` becomes `src.domain.service`. + +### Exact match + +To target a single module, write its full dotted path: + +```yaml +modules: myapp.core.utils +``` + +This matches only the file `myapp/core/utils.py`. + +--- + +## Wildcards + +### `*` — Single level + +`*` matches exactly one segment in a dotted module path. It cannot match across dots. + +```yaml +modules: contexts.*.domain +``` + +This matches: + +- `contexts.boards.domain` +- `contexts.auth.domain` +- `contexts.payments.domain` + +But **not:** + +- `contexts.domain` (missing the middle segment) +- `contexts.boards.sub.domain` (too many levels between `contexts` and `domain`) + +**Example:** + +```yaml +apply: + - name: domain-layer + rules: [attribute-matches-type] + modules: contexts.*.domain +``` + +--- + +### `**` — One or more levels + +`**` matches one or more segments. Use it to select all modules under a path, regardless of depth. + +```yaml +modules: contexts.**.domain +``` + +This matches: + +- `contexts.boards.domain` +- `contexts.boards.sub.domain` +- `contexts.a.b.c.domain` + +**Example — apply a rule to the entire codebase:** + +```yaml +apply: + - name: all + rules: [bool-method-prefix] + modules: "**" +``` + +The `"**"` pattern matches every module in the project. Use quotes to avoid YAML parsing issues. + +**Example — apply rules to all modules under a sub-package:** + +```yaml +apply: + - name: services + rules: [function-snake-case] + modules: myapp.services.** +``` + +--- + +## Named Capture + +`{name}` captures a single path segment (equivalent to `*`) and makes the captured value available for back-referencing within the same pattern. + +```yaml +modules: contexts.{context}.domain +``` + +This behaves like `contexts.*.domain` but the captured value (e.g. `boards`) is bound to the name `context`. You can reference it later in the same pattern using `{context}`. + +### Back-referencing example + +Named captures are useful when you want to enforce that two parts of a path are related — for example, that a submodule name must match its parent package name: + +```yaml +apply: + - name: domain-isolation + rules: [attribute-matches-type] + modules: contexts.{context}.domain +``` + +In this example, every module matching `contexts..domain` is selected, and the middle segment is captured as `context`. This can be used in rule logic that references the captured value, enabling context-aware enforcement. + +--- + +## Multiple Apply Groups + +You can define multiple `apply` groups to apply different rules to different parts of your codebase: + +```yaml +apply: + - name: domain-layer + rules: + - attribute-matches-type + - bool-method-prefix + - domain-module-naming + - constant-upper-case + modules: contexts.*.domain + + - name: global-exceptions + rules: [exception-naming] + modules: "**" +``` + +Here, the domain-specific rules are enforced only in `contexts.*.domain`, while `exception-naming` is enforced everywhere. A single module can be matched by multiple groups — all matching rules will be applied. diff --git a/docs/guide/filters.md b/docs/guide/filters.md new file mode 100644 index 0000000..454699c --- /dev/null +++ b/docs/guide/filters.md @@ -0,0 +1,178 @@ +# Filters + +Filters let you narrow the scope of a rule so it only applies to a specific subset of names. Without a filter, a rule matches every name of its `type`. With a filter, only names that satisfy all filter conditions are checked. + +Filters are specified in the `filter` block of a rule: + +```yaml +rules: + - name: my-rule + type: function + filter: { return_type: bool } + naming: { prefix: [is_, has_] } +``` + +Multiple filter fields can be combined — a name must satisfy **all** of them to be checked. + +--- + +## `target` + +Narrows which names within the rule type are checked based on their role in the code. + +### For `variable` rules + +| Value | Matches | +|-------|---------| +| `attribute` | Class-level attribute assignments, including annotated attributes (`x: int = 1`) | +| `parameter` | Function or method parameters | +| `local_variable` | Variables assigned inside a function body | +| `constant` | Module-level assignments (typically treated as constants) | + +**Supported rule types:** `variable` + +**Example — lint only class attributes:** + +```yaml +rules: + - name: attribute-matches-type + type: variable + filter: { target: attribute } + naming: { source: type_annotation, transform: snake_case } +``` + +**Example — lint only module-level constants:** + +```yaml +rules: + - name: constant-upper-case + type: variable + filter: { target: constant } + naming: { case: UPPER_CASE } +``` + +### For `function` rules + +| Value | Matches | +|-------|---------| +| `method` | Functions defined inside a class body | +| `function` | Functions defined at module level or inside other functions | + +**Supported rule types:** `function` + +**Example — lint only module-level functions (not methods):** + +```yaml +rules: + - name: function-snake-case + type: function + filter: { target: function } + naming: { case: snake_case } +``` + +--- + +## `return_type` + +Matches functions whose return type annotation equals the specified type name. + +**Supported rule types:** `function` + +**Accepted values:** any Python type name as a string, e.g. `bool`, `str`, `int`, `None` + +**Example — require a boolean-indicating prefix on `bool`-returning functions:** + +```yaml +rules: + - name: bool-method-prefix + type: function + filter: { return_type: bool } + naming: { prefix: [is_, has_, should_] } + +apply: + - name: all + rules: [bool-method-prefix] + modules: "**" +``` + +The filter matches functions with `-> bool` in their signature. Functions without a return type annotation, or with a different annotation, are not checked. + +--- + +## `decorator` + +Matches functions or classes that are decorated with the specified decorator name. + +**Supported rule types:** `function`, `class` + +**Accepted values:** any decorator name as a string (without `@`), e.g. `staticmethod`, `classmethod`, `property`, `dataclass`, `abstractmethod` + +**Example — require a suffix on static methods:** + +```yaml +rules: + - name: static-method-suffix + type: function + filter: { decorator: staticmethod } + naming: { suffix: [_impl] } + +apply: + - name: all + rules: [static-method-suffix] + modules: "**" +``` + +**Example — require a `DTO` suffix on dataclasses:** + +```yaml +rules: + - name: dataclass-dto-suffix + type: class + filter: { decorator: dataclass } + naming: { suffix: [DTO] } + +apply: + - name: all + rules: [dataclass-dto-suffix] + modules: "**" +``` + +The filter matches the decorator by its bare name. Both `@dataclass` and `@dataclasses.dataclass` are matched by the value `dataclass`. + +--- + +## `base_class` + +Matches classes that inherit from the specified base class. + +**Supported rule types:** `class` + +**Accepted values:** any class name as a string, e.g. `Exception`, `BaseModel`, `ABC` + +**Example — enforce a naming pattern for all exception classes:** + +```yaml +rules: + - name: exception-naming + type: class + filter: { base_class: Exception } + naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" } + +apply: + - name: all + rules: [exception-naming] + modules: "**" +``` + +The filter matches the direct base class name. `class MyError(Exception)` matches the value `Exception`. + +--- + +## Filter Support by Rule Type + +| Filter | `variable` | `function` | `class` | `module` | `package` | +|--------|-----------|-----------|---------|---------|---------| +| `target` | `attribute`, `parameter`, `local_variable`, `constant` | `method`, `function` | — | — | — | +| `return_type` | — | any type string | — | — | — | +| `decorator` | — | any decorator name | any decorator name | — | — | +| `base_class` | — | — | any class name | — | — | diff --git a/docs/guide/include-exclude.md b/docs/guide/include-exclude.md new file mode 100644 index 0000000..1b615cb --- /dev/null +++ b/docs/guide/include-exclude.md @@ -0,0 +1,140 @@ +# Include / Exclude + +The `include` and `exclude` keys control which files `pnl` scans. They are top-level config keys and are applied before any rule matching. + +```yaml +include: + - src + +exclude: + - src/generated/** + +rules: + - name: ... + +apply: + - name: ... +``` + +Both keys accept a list of file path patterns. Patterns are matched against file paths relative to the project root. + +--- + +## Scenarios + +### No `include` or `exclude` + +When neither key is present, `pnl` scans all `.py` files under the project root recursively. + +```yaml +rules: + - name: bool-method-prefix + type: function + filter: { return_type: bool } + naming: { prefix: [is_, has_, should_] } + +apply: + - name: all + rules: [bool-method-prefix] + modules: "**" +``` + +Every `.py` file in the project is a candidate for scanning. The `apply` block's `modules` pattern then determines which of those files are actually checked by each rule. + +--- + +### `include` only + +When only `include` is specified, only files matching the listed paths are scanned. Everything else is ignored. + +```yaml +include: + - src + +rules: + - name: bool-method-prefix + type: function + filter: { return_type: bool } + naming: { prefix: [is_, has_, should_] } + +apply: + - name: all + rules: [bool-method-prefix] + modules: "**" +``` + +Only `.py` files under `src/` are scanned. Files in `tests/`, `scripts/`, or other top-level directories are not checked, even if they match the `modules` pattern in `apply`. + +Use `include` when your project has multiple top-level directories and you only want to lint a specific one. + +--- + +### `exclude` only + +When only `exclude` is specified, all `.py` files under the project root are scanned **except** those matching the excluded paths. + +```yaml +exclude: + - tests/** + - scripts/** + +rules: + - name: bool-method-prefix + type: function + filter: { return_type: bool } + naming: { prefix: [is_, has_, should_] } + +apply: + - name: all + rules: [bool-method-prefix] + modules: "**" +``` + +All files are scanned by default, but `tests/` and `scripts/` are skipped. This is useful when you want broad coverage but need to exclude generated code, fixtures, or tooling directories. + +--- + +### Both `include` and `exclude` + +When both keys are present, `include` is applied first and `exclude` is applied to that result. + +```yaml +include: + - src + +exclude: + - src/generated/** + +rules: + - name: bool-method-prefix + type: function + filter: { return_type: bool } + naming: { prefix: [is_, has_, should_] } + +apply: + - name: all + rules: [bool-method-prefix] + modules: "**" +``` + +Step-by-step: + +1. Start with all `.py` files under the project root. +2. Keep only files under `src/` (apply `include`). +3. Remove files under `src/generated/` (apply `exclude`). + +The result is all files under `src/` except those in `src/generated/`. + +--- + +## Summary + +| `include` | `exclude` | Files scanned | +|-----------|-----------|--------------| +| Not set | Not set | All `.py` files under project root | +| Set | Not set | Only files matching `include` paths | +| Not set | Set | All files **except** those matching `exclude` paths | +| Set | Set | Files matching `include`, then filtered by `exclude` | + +!!! note + `include` and `exclude` control the file scanning scope. The `modules` patterns in `apply` blocks are evaluated against the scanned files — so a file excluded here will never be checked, regardless of what `modules` patterns are defined. diff --git a/docs/guide/inline-ignore.md b/docs/guide/inline-ignore.md new file mode 100644 index 0000000..e3bf64d --- /dev/null +++ b/docs/guide/inline-ignore.md @@ -0,0 +1,83 @@ +# Inline Ignore + +Sometimes a specific line legitimately violates a naming rule — a third-party interface, a legacy name you cannot change, or a deliberate exception to your convention. Rather than disabling the rule globally or restructuring your config, you can suppress violations on a per-line basis using inline ignore comments. + +--- + +## Ignore all rules on a line + +Add `# pnl: ignore` at the end of a line to suppress all `pnl` violations reported for that line: + +```python +x: int = 1 # pnl: ignore +``` + +Any rule that would have flagged the name on this line is silenced. This is the broadest form of suppression — use it when multiple rules apply and you want to silence all of them at once. + +--- + +## Ignore a specific rule on a line + +To suppress only one rule, specify the rule name after `=`: + +```python +x: int = 1 # pnl: ignore=attribute-matches-type +``` + +Only the `attribute-matches-type` rule is suppressed on this line. Any other rules that match this line will still report violations. + +The rule name must exactly match the `name` field defined in your config: + +```yaml +rules: + - name: attribute-matches-type # This is the name to use in ignore comments + type: variable + filter: { target: attribute } + naming: { source: type_annotation, transform: snake_case } +``` + +--- + +## Ignore multiple specific rules on a line + +To suppress more than one rule on the same line, list rule names separated by commas: + +```python +x: int = 1 # pnl: ignore=attribute-matches-type,constant-upper-case +``` + +Both `attribute-matches-type` and `constant-upper-case` are suppressed on this line. There is no space around the commas. + +--- + +## Practical examples + +**Suppressing a legacy attribute name that doesn't match its type:** + +```python +class UserService: + repo: UserRepository # pnl: ignore=attribute-matches-type +``` + +**Suppressing a constant that follows a third-party naming convention:** + +```python +# Required by the framework to be this exact name +default_app_config = "myapp.apps.MyAppConfig" # pnl: ignore=constant-upper-case +``` + +**Suppressing all rules on a generated or protocol-required name:** + +```python +def __repr__(self) -> str: # pnl: ignore + ... +``` + +--- + +## Notes + +- Inline ignore comments apply only to the line they appear on. They do not affect other lines. +- Rule names are case-sensitive and must match exactly. +- If you specify a rule name that does not exist in your config, the comment is silently ignored — no error is raised. +- Prefer targeted suppression (`# pnl: ignore=rule-name`) over blanket suppression (`# pnl: ignore`) so that future rules are not accidentally silenced. diff --git a/docs/guide/naming-constraints.md b/docs/guide/naming-constraints.md new file mode 100644 index 0000000..e79ef48 --- /dev/null +++ b/docs/guide/naming-constraints.md @@ -0,0 +1,218 @@ +# Naming Constraints + +Naming constraints define how a name must be formed. They are specified in the `naming` block of a rule: + +```yaml +rules: + - name: my-rule + type: function + naming: { prefix: [is_, has_] } +``` + +Each rule must have exactly one naming constraint (or one `source` + `transform` pair). The constraint is evaluated against every name that passes the rule's type and filter checks. + +--- + +## `prefix` + +The name must start with one of the listed prefixes. + +**Accepted value:** a list of one or more prefix strings. + +**Example:** + +```yaml +rules: + - name: bool-method-prefix + type: function + filter: { return_type: bool } + naming: { prefix: [is_, has_, should_] } +``` + +| Name | Result | +|------|--------| +| `is_active` | Pass — starts with `is_` | +| `has_permission` | Pass — starts with `has_` | +| `should_retry` | Pass — starts with `should_` | +| `validate` | **Violation** — no matching prefix | +| `check_active` | **Violation** — `check_` is not in the list | + +**Violation message example:** + +``` +[bool-method-prefix] validate (expected prefix: is_ | has_ | should_) +``` + +--- + +## `suffix` + +The name must end with one of the listed suffixes. + +**Accepted value:** a list of one or more suffix strings. + +**Example:** + +```yaml +rules: + - name: repository-suffix + type: class + naming: { suffix: [Repository, Service] } +``` + +| Name | Result | +|------|--------| +| `UserRepository` | Pass — ends with `Repository` | +| `OrderService` | Pass — ends with `Service` | +| `UserManager` | **Violation** — no matching suffix | +| `User` | **Violation** — no matching suffix | + +**Violation message example:** + +``` +[repository-suffix] UserManager (expected suffix: Repository | Service) +``` + +--- + +## `regex` + +The name must match a regular expression. + +**Accepted value:** a string containing a valid Python regular expression. + +This is the most expressive constraint — use it when `prefix`, `suffix`, or `case` are not specific enough. + +**Example:** + +```yaml +rules: + - name: exception-naming + type: class + filter: { base_class: Exception } + naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" } +``` + +| Name | Result | +|------|--------| +| `UserNotFoundError` | Pass — matches the pattern | +| `OrderInvalidError` | Pass — matches the pattern | +| `FilterError` | **Violation** — does not end with the required suffix group | +| `userNotFoundError` | **Violation** — does not start with an uppercase letter | + +**Violation message example:** + +``` +[exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$) +``` + +--- + +## `source` + `transform` + +The name must be derived from another element in the code, after applying a transformation. This is used for relational naming — where the name of one thing must reflect another. + +Both fields must be specified together. + +### `source` values + +| Value | What it reads | +|-------|--------------| +| `type_annotation` | The type annotation of the variable (e.g. `SubscriptionRepository` from `x: SubscriptionRepository`) | +| `class_name` | The name of a class defined in the module (used with `type: module`) | + +### `transform` values + +| Value | What it does | +|-------|-------------| +| `snake_case` | Converts PascalCase or camelCase to snake_case (e.g. `SubscriptionRepository` → `subscription_repository`) | + +**Example — variable name must match its type annotation:** + +```yaml +rules: + - name: attribute-matches-type + type: variable + filter: { target: attribute } + naming: { source: type_annotation, transform: snake_case } +``` + +| Declaration | Result | +|-------------|--------| +| `subscription_repository: SubscriptionRepository` | Pass — name matches transformed type | +| `repo: SubscriptionRepository` | **Violation** — `repo` does not match `subscription_repository` | +| `source_object_context: ObjectContext` | Pass — name ends with `_object_context` (prefix + expected form is allowed) | + +The `{prefix}_{expected}` form is accepted. If the expected derived name is `object_context`, then `source_object_context` passes because it ends with `_object_context`. + +**Example — module filename must match the class it contains:** + +```yaml +rules: + - name: domain-module-naming + type: module + naming: { source: class_name, transform: snake_case } +``` + +| File | Class | Result | +|------|-------|--------| +| `custom_object.py` | `CustomObject` | Pass — filename matches transformed class name | +| `custom.py` | `CustomObject` | **Violation** — `custom` does not match `custom_object` | + +--- + +## `case` + +The name must follow a specific casing convention. + +**Accepted values:** + +| Value | Pattern | Example | +|-------|---------|---------| +| `snake_case` | all lowercase, words separated by underscores | `my_variable_name` | +| `PascalCase` | each word starts with uppercase, no separators | `MyClassName` | +| `UPPER_CASE` | all uppercase, words separated by underscores | `MAX_RETRIES` | + +**Example — enforce UPPER_CASE for constants:** + +```yaml +rules: + - name: constant-upper-case + type: variable + filter: { target: constant } + naming: { case: UPPER_CASE } +``` + +| Name | Result | +|------|--------| +| `MAX_RETRIES` | Pass | +| `DEFAULT_TIMEOUT` | Pass | +| `max_retries` | **Violation** — lowercase | +| `maxRetries` | **Violation** — camelCase | + +**Example — enforce PascalCase for classes:** + +```yaml +rules: + - name: class-pascal-case + type: class + naming: { case: PascalCase } +``` + +| Name | Result | +|------|--------| +| `MyService` | Pass | +| `my_service` | **Violation** | +| `myService` | **Violation** | + +--- + +## Summary Table + +| Constraint | Value type | Use when | +|-----------|-----------|---------| +| `prefix` | list of strings | Names must start with one of several prefixes | +| `suffix` | list of strings | Names must end with one of several suffixes | +| `regex` | string (regex) | Names must match a complex pattern | +| `source` + `transform` | string + string | Names must be derived from another code element | +| `case` | `snake_case`, `PascalCase`, or `UPPER_CASE` | Names must follow a casing convention | diff --git a/docs/guide/rules.md b/docs/guide/rules.md new file mode 100644 index 0000000..a084b59 --- /dev/null +++ b/docs/guide/rules.md @@ -0,0 +1,210 @@ +# Rules + +Rules are the core building blocks of `pnl`. Each rule targets a specific kind of Python name, optionally narrows its scope with filters, and then enforces a naming constraint. + +## Rule Structure + +Every rule has three required fields and two optional ones: + +```yaml +rules: + - name: my-rule # Unique identifier for this rule + type: variable # What kind of name to lint + filter: { ... } # (optional) Narrow which names are checked + naming: { ... } # How the name must be formed +``` + +The `name` is used to reference the rule in `apply` blocks and in `# pnl: ignore` comments. + +--- + +## Rule Types + +### `variable` + +Targets variable names — any assignment that introduces a name into a scope. + +**Sub-targets** (set via `filter.target`): + +| Value | What it covers | +|-------|---------------| +| `attribute` | Class-level attributes (`self.x`, `x: int = ...`) | +| `parameter` | Function/method parameters | +| `local_variable` | Variables declared inside a function body | +| `constant` | Module-level constants (typically `ALL_CAPS`) | + +**Supported filter fields:** `target` + +**Supported naming fields:** `prefix`, `suffix`, `regex`, `source` + `transform`, `case` + +**Example — enforce UPPER_CASE for module-level constants:** + +```yaml +rules: + - name: constant-upper-case + type: variable + filter: { target: constant } + naming: { case: UPPER_CASE } + +apply: + - name: all + rules: [constant-upper-case] + modules: "**" +``` + +**Example — enforce attribute names match their type annotation:** + +```yaml +rules: + - name: attribute-matches-type + type: variable + filter: { target: attribute } + naming: { source: type_annotation, transform: snake_case } + +apply: + - name: domain-layer + rules: [attribute-matches-type] + modules: contexts.*.domain +``` + +--- + +### `function` + +Targets function and method definitions — any `def` statement at any scope level. + +**Supported filter fields:** `target`, `return_type`, `decorator` + +**Supported naming fields:** `prefix`, `suffix`, `regex`, `case` + +**Example — require `is_` / `has_` / `should_` prefix on boolean-returning methods:** + +```yaml +rules: + - name: bool-method-prefix + type: function + filter: { return_type: bool } + naming: { prefix: [is_, has_, should_] } + +apply: + - name: all + rules: [bool-method-prefix] + modules: "**" +``` + +**Example — require `_impl` suffix on `@staticmethod` functions:** + +```yaml +rules: + - name: static-impl-suffix + type: function + filter: { decorator: staticmethod } + naming: { suffix: [_impl] } + +apply: + - name: all + rules: [static-impl-suffix] + modules: "**" +``` + +--- + +### `class` + +Targets class definitions — any `class` statement. + +**Supported filter fields:** `base_class`, `decorator` + +**Supported naming fields:** `prefix`, `suffix`, `regex`, `case` + +**Example — enforce a specific pattern for exception classes:** + +```yaml +rules: + - name: exception-naming + type: class + filter: { base_class: Exception } + naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" } + +apply: + - name: all + rules: [exception-naming] + modules: "**" +``` + +**Example — require `DTO` suffix on dataclasses:** + +```yaml +rules: + - name: dataclass-dto-suffix + type: class + filter: { decorator: dataclass } + naming: { suffix: [DTO] } + +apply: + - name: all + rules: [dataclass-dto-suffix] + modules: "**" +``` + +--- + +### `module` + +Targets the filename of each `.py` file (without the `.py` extension). Useful for enforcing that module names reflect their contents. + +**Supported filter fields:** none + +**Supported naming fields:** `prefix`, `suffix`, `regex`, `source` + `transform`, `case` + +**Example — enforce that a module's filename matches the primary class it contains:** + +```yaml +rules: + - name: domain-module-naming + type: module + naming: { source: class_name, transform: snake_case } + +apply: + - name: domain-layer + rules: [domain-module-naming] + modules: contexts.*.domain +``` + +A file `custom.py` that contains only `class CustomObject` is a violation — the file should be named `custom_object.py`. + +--- + +### `package` + +Targets the directory name of each Python package (a directory containing `__init__.py`). + +**Supported filter fields:** none + +**Supported naming fields:** `prefix`, `suffix`, `regex`, `case` + +**Example — require all package names to be lowercase:** + +```yaml +rules: + - name: package-snake-case + type: package + naming: { case: snake_case } + +apply: + - name: all + rules: [package-snake-case] + modules: "**" +``` + +--- + +## Summary Table + +| Type | What it targets | Supported filters | Notes | +|------|----------------|-------------------|-------| +| `variable` | Variables by scope/role | `target` | Use `target` to narrow to attributes, parameters, etc. | +| `function` | Function and method definitions | `target`, `return_type`, `decorator` | | +| `class` | Class definitions | `base_class`, `decorator` | | +| `module` | Module (file) names | none | Supports `source` + `transform` | +| `package` | Package (directory) names | none | | From d35a2ea632d3396b72243d5a79c9477984aba1d2 Mon Sep 17 00:00:00 2001 From: heumsi Date: Tue, 31 Mar 2026 14:51:47 +0900 Subject: [PATCH 04/20] =?UTF-8?q?=F0=9F=93=9D=20docs:=20Add=20cookbook=20s?= =?UTF-8?q?ection?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- docs/cookbook/attribute-matches-type.md | 52 ++++++++++++ docs/cookbook/bool-method-prefix.md | 50 ++++++++++++ docs/cookbook/constant-upper-case.md | 51 ++++++++++++ docs/cookbook/decorator-filtering.md | 84 +++++++++++++++++++ docs/cookbook/exception-naming.md | 48 +++++++++++ docs/cookbook/index.md | 15 ++++ docs/cookbook/layer-based-rules.md | 103 ++++++++++++++++++++++++ docs/cookbook/module-matches-class.md | 47 +++++++++++ 8 files changed, 450 insertions(+) create mode 100644 docs/cookbook/attribute-matches-type.md create mode 100644 docs/cookbook/bool-method-prefix.md create mode 100644 docs/cookbook/constant-upper-case.md create mode 100644 docs/cookbook/decorator-filtering.md create mode 100644 docs/cookbook/exception-naming.md create mode 100644 docs/cookbook/index.md create mode 100644 docs/cookbook/layer-based-rules.md create mode 100644 docs/cookbook/module-matches-class.md diff --git a/docs/cookbook/attribute-matches-type.md b/docs/cookbook/attribute-matches-type.md new file mode 100644 index 0000000..e588835 --- /dev/null +++ b/docs/cookbook/attribute-matches-type.md @@ -0,0 +1,52 @@ +# Attribute Matches Type + +## Purpose + +When an attribute holds a repository, service, or other typed object, keeping the attribute name in sync with the type annotation removes ambiguity and makes dependency injection transparent at a glance. This rule requires each class attribute name to be the snake_case form of its type annotation. + +## Configuration + +```yaml +rules: + - name: attribute-matches-type + type: variable + filter: { target: attribute } + naming: { source: type_annotation, transform: snake_case } + +apply: + - name: domain-layer + rules: [attribute-matches-type] + modules: contexts.*.domain +``` + +## Violation Example + +```python +# contexts/billing/domain/service.py + +class BillingService: + def __init__(self, repo: SubscriptionRepository) -> None: + self.repo = repo # should be subscription_repository +``` + +## Passing Example + +```python +# contexts/billing/domain/service.py + +class BillingService: + def __init__(self, repo: SubscriptionRepository) -> None: + self.subscription_repository = repo +``` + +The `{prefix}_{expected}` form is also allowed. For example, `source_object_context: ObjectContext` passes because the name ends with `_object_context`. + +## Output + +``` +$ pnl check +contexts/billing/domain/service.py:5 + [attribute-matches-type] repo (expected: subscription_repository) + +Found 1 violation(s). +``` diff --git a/docs/cookbook/bool-method-prefix.md b/docs/cookbook/bool-method-prefix.md new file mode 100644 index 0000000..db79aa2 --- /dev/null +++ b/docs/cookbook/bool-method-prefix.md @@ -0,0 +1,50 @@ +# Bool Method Prefix + +## Purpose + +Functions that return `bool` are easier to read at call sites when their names read as a question. This rule enforces that any function or method with a `bool` return type annotation starts with `is_`, `has_`, or `should_`. + +## Configuration + +```yaml +rules: + - name: bool-method-prefix + type: function + filter: { return_type: bool } + naming: { prefix: [is_, has_, should_] } + +apply: + - name: all + rules: [bool-method-prefix] + modules: "**" +``` + +## Violation Example + +```python +# src/domain/service.py + +class SubscriptionService: + def validate(self) -> bool: # missing required prefix + return self._status == "active" +``` + +## Passing Example + +```python +# src/domain/service.py + +class SubscriptionService: + def is_valid(self) -> bool: + return self._status == "active" +``` + +## Output + +``` +$ pnl check +src/domain/service.py:4 + [bool-method-prefix] validate (expected prefix: is_ | has_ | should_) + +Found 1 violation(s). +``` diff --git a/docs/cookbook/constant-upper-case.md b/docs/cookbook/constant-upper-case.md new file mode 100644 index 0000000..5feb932 --- /dev/null +++ b/docs/cookbook/constant-upper-case.md @@ -0,0 +1,51 @@ +# Constant Upper Case + +## Purpose + +Module-level constants are easier to distinguish from regular variables when they follow the UPPER_CASE convention. This rule catches constants that were accidentally written in snake_case and flags them for renaming. + +## Configuration + +```yaml +rules: + - name: constant-upper-case + type: variable + filter: { target: constant } + naming: { case: UPPER_CASE } + +apply: + - name: all + rules: [constant-upper-case] + modules: "**" +``` + +## Violation Example + +```python +# src/config.py + +max_retry_count = 3 # constant in snake_case +default_timeout_seconds = 30 # constant in snake_case +``` + +## Passing Example + +```python +# src/config.py + +MAX_RETRY_COUNT = 3 +DEFAULT_TIMEOUT_SECONDS = 30 +``` + +## Output + +``` +$ pnl check +src/config.py:3 + [constant-upper-case] max_retry_count (expected case: UPPER_CASE) + +src/config.py:4 + [constant-upper-case] default_timeout_seconds (expected case: UPPER_CASE) + +Found 2 violation(s). +``` diff --git a/docs/cookbook/decorator-filtering.md b/docs/cookbook/decorator-filtering.md new file mode 100644 index 0000000..a3f20a5 --- /dev/null +++ b/docs/cookbook/decorator-filtering.md @@ -0,0 +1,84 @@ +# Decorator Filtering + +## Purpose + +Some naming conventions only apply to a specific kind of function or class. Decorator-based filtering lets you target `@staticmethod` methods, `@dataclass` classes, or any other decorated construct without affecting the rest of the codebase. + +## Configuration + +### Example 1 — `@staticmethod` methods must start with `create_` or `build_` + +```yaml +rules: + - name: static-factory-prefix + type: function + filter: { decorator: staticmethod } + naming: { prefix: [create_, build_] } + +apply: + - name: all + rules: [static-factory-prefix] + modules: "**" +``` + +### Example 2 — `@dataclass` classes must use PascalCase and end with `Data` or `Config` + +```yaml +rules: + - name: dataclass-naming + type: class + filter: { decorator: dataclass } + naming: { suffix: [Data, Config] } + +apply: + - name: all + rules: [dataclass-naming] + modules: "**" +``` + +## Violation Example + +```python +# src/domain/order.py +from dataclasses import dataclass + +class OrderRepository: + @staticmethod + def from_dict(raw: dict) -> "OrderRepository": # missing create_/build_ prefix + return OrderRepository(**raw) + +@dataclass +class OrderPayload: # missing Data/Config suffix + order_id: str + amount: float +``` + +## Passing Example + +```python +# src/domain/order.py +from dataclasses import dataclass + +class OrderRepository: + @staticmethod + def create_from_dict(raw: dict) -> "OrderRepository": + return OrderRepository(**raw) + +@dataclass +class OrderData: + order_id: str + amount: float +``` + +## Output + +``` +$ pnl check +src/domain/order.py:5 + [static-factory-prefix] from_dict (expected prefix: create_ | build_) + +src/domain/order.py:9 + [dataclass-naming] OrderPayload (expected suffix: Data | Config) + +Found 2 violation(s). +``` diff --git a/docs/cookbook/exception-naming.md b/docs/cookbook/exception-naming.md new file mode 100644 index 0000000..0d4ad18 --- /dev/null +++ b/docs/cookbook/exception-naming.md @@ -0,0 +1,48 @@ +# Exception Naming + +## Purpose + +Consistent exception names make error handling code easier to scan and understand. This rule enforces a structured pattern: exceptions must start with an upper-case word, optionally followed by more words, and end with one of the recognised semantic suffixes (`NotFound`, `Invalid`, `Denied`, `Conflict`, or `Failed`) before the mandatory `Error` suffix. + +## Configuration + +```yaml +rules: + - name: exception-naming + type: class + filter: { base_class: Exception } + naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" } + +apply: + - name: all + rules: [exception-naming] + modules: "**" +``` + +## Violation Example + +```python +# src/domain/exceptions.py + +class FilterError(Exception): # missing semantic suffix before Error + pass +``` + +## Passing Example + +```python +# src/domain/exceptions.py + +class FilterNotFoundError(Exception): + pass +``` + +## Output + +``` +$ pnl check +src/domain/exceptions.py:3 + [exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$) + +Found 1 violation(s). +``` diff --git a/docs/cookbook/index.md b/docs/cookbook/index.md new file mode 100644 index 0000000..f3e093c --- /dev/null +++ b/docs/cookbook/index.md @@ -0,0 +1,15 @@ +# Cookbook + +The cookbook provides ready-to-use recipes for common naming convention scenarios. Each recipe shows a complete configuration, a violation example, and a passing example so you can adapt it to your project immediately. + +## Recipes + +| Recipe | Description | +|--------|-------------| +| [Bool Method Prefix](./bool-method-prefix.md) | Require `is_`, `has_`, or `should_` prefix on functions that return `bool` | +| [Exception Naming](./exception-naming.md) | Enforce a structured suffix pattern on exception class names | +| [Attribute Matches Type](./attribute-matches-type.md) | Require attribute names to match their type annotation in snake_case | +| [Module Matches Class](./module-matches-class.md) | Require module filenames to match the primary class they contain | +| [Layer-Based Rules](./layer-based-rules.md) | Apply different rule sets to different layers of your codebase | +| [Constant Upper Case](./constant-upper-case.md) | Require module-level constants to use UPPER_CASE | +| [Decorator Filtering](./decorator-filtering.md) | Apply naming rules only to functions or classes with a specific decorator | diff --git a/docs/cookbook/layer-based-rules.md b/docs/cookbook/layer-based-rules.md new file mode 100644 index 0000000..ccb7432 --- /dev/null +++ b/docs/cookbook/layer-based-rules.md @@ -0,0 +1,103 @@ +# Layer-Based Rules + +## Purpose + +Real projects have distinct layers — domain, infrastructure, API — each with its own naming conventions. Instead of applying every rule globally, you can scope each rule set to the layer where it belongs, reducing false positives and making the intent of each rule explicit. + +## Configuration + +```yaml +rules: + - name: attribute-matches-type + type: variable + filter: { target: attribute } + naming: { source: type_annotation, transform: snake_case } + + - name: bool-method-prefix + type: function + filter: { return_type: bool } + naming: { prefix: [is_, has_, should_] } + + - name: domain-module-naming + type: module + naming: { source: class_name, transform: snake_case } + + - name: constant-upper-case + type: variable + filter: { target: constant } + naming: { case: UPPER_CASE } + + - name: exception-naming + type: class + filter: { base_class: Exception } + naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" } + +apply: + - name: domain-layer + rules: + - attribute-matches-type + - bool-method-prefix + - domain-module-naming + - constant-upper-case + modules: contexts.*.domain + + - name: global-exceptions + rules: [exception-naming] + modules: "**" +``` + +The `domain-layer` apply block targets every `contexts//domain` package, while `global-exceptions` runs the exception naming rule across the entire codebase. + +## Violation Example + +```python +# contexts/billing/domain/service.py + +max_retry = 3 # constant not in UPPER_CASE + +class BillingService: + def validate(self) -> bool: # bool method missing prefix + return self._status == "active" +``` + +```python +# contexts/billing/domain/exceptions.py + +class BillingError(Exception): # exception missing semantic suffix + pass +``` + +## Passing Example + +```python +# contexts/billing/domain/service.py + +MAX_RETRY = 3 + +class BillingService: + def is_valid(self) -> bool: + return self._status == "active" +``` + +```python +# contexts/billing/domain/exceptions.py + +class BillingNotFoundError(Exception): + pass +``` + +## Output + +``` +$ pnl check +contexts/billing/domain/service.py:3 + [constant-upper-case] max_retry (expected case: UPPER_CASE) + +contexts/billing/domain/service.py:6 + [bool-method-prefix] validate (expected prefix: is_ | has_ | should_) + +contexts/billing/domain/exceptions.py:3 + [exception-naming] BillingError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$) + +Found 3 violation(s). +``` diff --git a/docs/cookbook/module-matches-class.md b/docs/cookbook/module-matches-class.md new file mode 100644 index 0000000..bda62b2 --- /dev/null +++ b/docs/cookbook/module-matches-class.md @@ -0,0 +1,47 @@ +# Module Matches Class + +## Purpose + +When each module contains one primary class, keeping the filename in sync with the class name makes it immediately obvious what a file exports. This rule requires the module filename (without the `.py` extension) to be the snake_case form of the primary class name in that file. + +## Configuration + +```yaml +rules: + - name: domain-module-naming + type: module + naming: { source: class_name, transform: snake_case } + +apply: + - name: domain-layer + rules: [domain-module-naming] + modules: contexts.*.domain +``` + +## Violation Example + +```python +# contexts/catalog/domain/custom.py ← filename does not match class name + +class CustomObject: + pass +``` + +## Passing Example + +```python +# contexts/catalog/domain/custom_object.py ← matches CustomObject in snake_case + +class CustomObject: + pass +``` + +## Output + +``` +$ pnl check +contexts/catalog/domain/custom.py:1 + [domain-module-naming] custom (expected: custom_object) + +Found 1 violation(s). +``` From 8df804ac69c210b77279296b7f874c6499f0dc17 Mon Sep 17 00:00:00 2001 From: heumsi Date: Tue, 31 Mar 2026 14:52:49 +0900 Subject: [PATCH 05/20] =?UTF-8?q?=F0=9F=93=9D=20docs:=20Add=20CLI,=20pre-c?= =?UTF-8?q?ommit,=20contributing,=20and=20changelog=20pages?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/changelog.md | 28 +++++++++++++++ docs/cli.md | 36 +++++++++++++++++++ docs/contributing.md | 84 ++++++++++++++++++++++++++++++++++++++++++++ docs/pre-commit.md | 26 ++++++++++++++ 4 files changed, 174 insertions(+) create mode 100644 docs/changelog.md create mode 100644 docs/cli.md create mode 100644 docs/contributing.md create mode 100644 docs/pre-commit.md diff --git a/docs/changelog.md b/docs/changelog.md new file mode 100644 index 0000000..135ed0b --- /dev/null +++ b/docs/changelog.md @@ -0,0 +1,28 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +## [0.1.0] - 2026-03-30 + +### Documentation + +- Write comprehensive README with examples and configuration guide + +### Features + +- Add config parsing for rules and apply sections +- Add module pattern matcher with wildcard and capture support +- Add Violation dataclass for checker results +- Add variable name checker with source/transform and case support +- Add function/method name checker with filter and prefix support +- Add class name checker with base_class filter and regex support +- Add module name checker with class_name derivation and regex +- Add package name checker with case and regex support +- line output format +- Add CLI with pnl check command and end-to-end integration + +### Miscellaneous + +- Set up project scaffolding and tooling +- Add runtime dependencies and CLI entry point +- Fix ruff lint and format issues diff --git a/docs/cli.md b/docs/cli.md new file mode 100644 index 0000000..9d16e9e --- /dev/null +++ b/docs/cli.md @@ -0,0 +1,36 @@ +# CLI + +## `pnl check` + +Run the linter against your project: + +```bash +# Check with auto-discovered config (searches upward from cwd) +pnl check + +# Specify config file (project root = config file's parent directory) +pnl check --config path/to/config.yaml +``` + +### Options + +| Option | Description | +|--------|-------------| +| `--config` | Path to a config file. The config file's parent directory is used as the project root. | + +### Config Auto-Discovery + +If `--config` is not provided, `pnl check` searches upward from the current working directory for either: + +- `.python-naming-linter.yaml` +- `pyproject.toml` (with a `[tool.python-naming-linter]` section) + +The first matching file found is used, and its parent directory becomes the project root. + +## Exit Codes + +| Code | Meaning | +|------|---------| +| `0` | No violations found | +| `1` | One or more violations found | +| `2` | Config file not found | diff --git a/docs/contributing.md b/docs/contributing.md new file mode 100644 index 0000000..cf2d59b --- /dev/null +++ b/docs/contributing.md @@ -0,0 +1,84 @@ +# Contributing + +## Commit Convention + +Commit messages must follow [Conventional Commits](https://www.conventionalcommits.org/) with [gitmoji](https://gitmoji.dev/) prefix. + +### Format + +``` + : +``` + +- The first letter after the colon must be **capitalized**. +- The description must be in **English**. + +### Types + +| Gitmoji | Type | Description | +|---------|------------|--------------------------| +| ✨ | `feat` | New feature | +| 🐛 | `fix` | Bug fix | +| ♻️ | `refactor` | Code refactoring | +| 📝 | `docs` | Documentation | +| ✅ | `test` | Adding or updating tests | +| 🔧 | `chore` | Maintenance tasks | +| 👷 | `ci` | CI/CD changes | +| ⚡ | `perf` | Performance improvement | + +### Examples + +``` +✨ feat: Add support for relative imports +🐛 fix: Use exit code 2 for config file not found +♻️ refactor: Simplify module resolver logic +``` + +## Pull Request Convention + +- PRs are always **squash merged**, so the PR title becomes the final commit message. +- PR titles must follow the same format as commit messages (` : `). +- PR descriptions must be written in **English**. + +## Pre-commit Hooks + +This project uses [pre-commit](https://pre-commit.com/) for linting, formatting, and type checking. + +```bash +# Install pre-commit hooks +pre-commit install + +# Run manually +pre-commit run --all-files +``` + +All commits must pass the pre-commit hooks before being accepted. + +## Release + +Releases are automated via GitHub Actions. You only need to create and push a version tag. + +### Steps + +1. Calculate the next version based on conventional commits: + ```bash + uvx git-cliff --bumped-version + ``` +2. Review the commits since the last tag: + ```bash + git log $(git describe --tags --abbrev=0)..HEAD --oneline + ``` +3. Push the latest commits to `main`: + ```bash + git push origin main + ``` +4. Create and push the tag: + ```bash + git tag + git push origin + ``` + +The GitHub Actions workflow will then automatically: +- Generate `CHANGELOG.md` and commit it to `main` +- Create a GitHub Release with release notes +- Publish the package to PyPI diff --git a/docs/pre-commit.md b/docs/pre-commit.md new file mode 100644 index 0000000..aee218d --- /dev/null +++ b/docs/pre-commit.md @@ -0,0 +1,26 @@ +# Pre-commit + +`pnl` can be used as a [pre-commit](https://pre-commit.com/) hook to enforce naming conventions before every commit. + +## Setup + +Add the following to your `.pre-commit-config.yaml`: + +```yaml +- repo: https://github.com/heumsi/python-naming-linter + rev: '' # Use the tag you want to point at (e.g., v0.1.0) + hooks: + - id: python-naming-linter +``` + +## Custom Options + +To pass custom options (e.g., a specific config file path), use `args`: + +```yaml +- repo: https://github.com/heumsi/python-naming-linter + rev: '' + hooks: + - id: python-naming-linter + args: [--config, custom-config.yaml] +``` From 16d15687ba6b879a563b42bb3e8d61b0420df90d Mon Sep 17 00:00:00 2001 From: heumsi Date: Tue, 31 Mar 2026 14:53:19 +0900 Subject: [PATCH 06/20] =?UTF-8?q?=F0=9F=91=B7=20ci:=20Add=20docs=20deploym?= =?UTF-8?q?ent=20workflow=20for=20GitHub=20Pages?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/docs.yaml | 44 +++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .github/workflows/docs.yaml diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml new file mode 100644 index 0000000..661c88c --- /dev/null +++ b/.github/workflows/docs.yaml @@ -0,0 +1,44 @@ +name: Deploy Docs + +on: + push: + branches: [main] + paths: + - "docs/**" + - "mkdocs.yml" + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + with: + fetch-depth: 0 + - uses: astral-sh/setup-uv@v4 + - uses: actions/setup-python@v6 + with: + python-version: "3.13" + - run: uv pip install --system mkdocs mkdocs-shadcn + - run: mkdocs build --strict + - uses: actions/upload-pages-artifact@v4 + with: + path: site/ + + deploy: + needs: build + runs-on: ubuntu-latest + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - id: deployment + uses: actions/deploy-pages@v4 From 1887b478a302538784ee941932120c6eeace25ed Mon Sep 17 00:00:00 2001 From: heumsi Date: Tue, 31 Mar 2026 14:53:40 +0900 Subject: [PATCH 07/20] =?UTF-8?q?=F0=9F=94=A7=20chore:=20Remove=20superpow?= =?UTF-8?q?ers=20specs=20and=20plans?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 (1M context) --- site/changelog.md | 28 + site/changelog/index.html | 1113 ++++ site/cli.md | 36 + site/cli/index.html | 1174 +++++ site/contributing.md | 84 + site/contributing/index.html | 1256 +++++ site/cookbook/attribute-matches-type.md | 52 + .../attribute-matches-type/index.html | 1169 +++++ site/cookbook/bool-method-prefix.md | 50 + site/cookbook/bool-method-prefix/index.html | 1168 +++++ site/cookbook/constant-upper-case.md | 51 + site/cookbook/constant-upper-case/index.html | 1169 +++++ site/cookbook/decorator-filtering.md | 84 + site/cookbook/decorator-filtering/index.html | 1213 +++++ site/cookbook/exception-naming.md | 48 + site/cookbook/exception-naming/index.html | 1166 +++++ site/cookbook/index.html | 1130 ++++ site/cookbook/index.md | 15 + site/cookbook/layer-based-rules.md | 103 + site/cookbook/layer-based-rules/index.html | 1218 +++++ site/cookbook/module-matches-class.md | 47 + site/cookbook/module-matches-class/index.html | 1165 +++++ site/css/base.css | 2 + site/css/geist.css | 29 + site/css/katex.min.css | 1 + site/css/pygments/a11y-dark.css | 76 + site/css/pygments/a11y-high-contrast-dark.css | 76 + .../css/pygments/a11y-high-contrast-light.css | 76 + site/css/pygments/a11y-light.css | 76 + site/css/pygments/abap.css | 65 + site/css/pygments/algol.css | 49 + site/css/pygments/algol_nu.css | 49 + site/css/pygments/all.css | 4536 +++++++++++++++++ site/css/pygments/arduino.css | 66 + site/css/pygments/autumn.css | 72 + site/css/pygments/blinds-dark.css | 76 + site/css/pygments/blinds-light.css | 76 + site/css/pygments/borland.css | 58 + site/css/pygments/bw.css | 45 + site/css/pygments/coffee.css | 85 + site/css/pygments/colorful.css | 75 + site/css/pygments/default.css | 75 + site/css/pygments/dracula.css | 84 + site/css/pygments/emacs.css | 75 + site/css/pygments/friendly.css | 75 + site/css/pygments/friendly_grayscale.css | 75 + site/css/pygments/fruity.css | 85 + site/css/pygments/github-dark-colorblind.css | 77 + .../pygments/github-dark-high-contrast.css | 77 + site/css/pygments/github-dark.css | 86 + site/css/pygments/github-light-colorblind.css | 77 + .../pygments/github-light-high-contrast.css | 77 + site/css/pygments/github-light.css | 77 + site/css/pygments/gotthard-dark.css | 75 + site/css/pygments/gotthard-light.css | 75 + site/css/pygments/greative.css | 76 + site/css/pygments/gruvbox-dark.css | 86 + site/css/pygments/gruvbox-light.css | 71 + site/css/pygments/igor.css | 39 + site/css/pygments/inkpot.css | 81 + site/css/pygments/lightbulb.css | 85 + site/css/pygments/lilypond.css | 61 + site/css/pygments/lovelace.css | 77 + site/css/pygments/manni.css | 75 + site/css/pygments/material.css | 84 + site/css/pygments/monokai.css | 85 + site/css/pygments/murphy.css | 75 + site/css/pygments/native.css | 85 + site/css/pygments/nord-darker.css | 85 + site/css/pygments/nord.css | 85 + site/css/pygments/one-dark.css | 85 + site/css/pygments/paraiso-dark.css | 79 + site/css/pygments/paraiso-light.css | 79 + site/css/pygments/pastie.css | 74 + site/css/pygments/perldoc.css | 72 + site/css/pygments/pitaya-smoothie.css | 76 + site/css/pygments/rainbow_dash.css | 68 + site/css/pygments/rrt.css | 85 + site/css/pygments/sas.css | 66 + site/css/pygments/shadcn-light.css | 244 + site/css/pygments/solarized-dark.css | 85 + site/css/pygments/solarized-light.css | 85 + site/css/pygments/staroffice.css | 85 + site/css/pygments/stata-dark.css | 85 + site/css/pygments/stata-light.css | 52 + site/css/pygments/tango.css | 84 + site/css/pygments/trac.css | 73 + site/css/pygments/vim.css | 85 + site/css/pygments/vs.css | 44 + site/css/pygments/xcode.css | 68 + site/css/pygments/zenburn.css | 85 + site/fonts/Geist.woff2 | Bin 0 -> 64184 bytes site/fonts/GeistMono.woff2 | Bin 0 -> 62140 bytes site/fonts/Inter-Italic.woff2 | Bin 0 -> 387976 bytes site/fonts/Inter.woff2 | Bin 0 -> 352240 bytes site/fonts/katex/KaTeX_AMS-Regular.woff2 | Bin 0 -> 28076 bytes site/fonts/katex/KaTeX_Caligraphic-Bold.woff2 | Bin 0 -> 6912 bytes .../katex/KaTeX_Caligraphic-Regular.woff2 | Bin 0 -> 6908 bytes site/fonts/katex/KaTeX_Fraktur-Bold.woff2 | Bin 0 -> 11348 bytes site/fonts/katex/KaTeX_Fraktur-Regular.woff2 | Bin 0 -> 11316 bytes site/fonts/katex/KaTeX_Main-Bold.woff2 | Bin 0 -> 25324 bytes site/fonts/katex/KaTeX_Main-BoldItalic.woff2 | Bin 0 -> 16780 bytes site/fonts/katex/KaTeX_Main-Italic.woff2 | Bin 0 -> 16988 bytes site/fonts/katex/KaTeX_Main-Regular.woff2 | Bin 0 -> 26272 bytes site/fonts/katex/KaTeX_Math-BoldItalic.woff2 | Bin 0 -> 16400 bytes site/fonts/katex/KaTeX_Math-Italic.woff2 | Bin 0 -> 16440 bytes site/fonts/katex/KaTeX_SansSerif-Bold.woff2 | Bin 0 -> 12216 bytes site/fonts/katex/KaTeX_SansSerif-Italic.woff2 | Bin 0 -> 12028 bytes .../fonts/katex/KaTeX_SansSerif-Regular.woff2 | Bin 0 -> 10344 bytes site/fonts/katex/KaTeX_Script-Regular.woff2 | Bin 0 -> 9644 bytes site/fonts/katex/KaTeX_Size1-Regular.woff2 | Bin 0 -> 5468 bytes site/fonts/katex/KaTeX_Size2-Regular.woff2 | Bin 0 -> 5208 bytes site/fonts/katex/KaTeX_Size3-Regular.woff2 | Bin 0 -> 3624 bytes site/fonts/katex/KaTeX_Size4-Regular.woff2 | Bin 0 -> 4928 bytes .../katex/KaTeX_Typewriter-Regular.woff2 | Bin 0 -> 13568 bytes site/getting-started/configuration.md | 85 + site/getting-started/configuration/index.html | 1217 +++++ site/getting-started/installation.md | 25 + site/getting-started/installation/index.html | 1129 ++++ site/getting-started/quick-start.md | 63 + site/getting-started/quick-start/index.html | 1171 +++++ site/guide/apply-and-modules.md | 169 + site/guide/apply-and-modules/index.html | 1316 +++++ site/guide/filters.md | 178 + site/guide/filters/index.html | 1347 +++++ site/guide/include-exclude.md | 140 + site/guide/include-exclude/index.html | 1269 +++++ site/guide/inline-ignore.md | 83 + site/guide/inline-ignore/index.html | 1185 +++++ site/guide/naming-constraints.md | 218 + site/guide/naming-constraints/index.html | 1518 ++++++ site/guide/rules.md | 210 + site/guide/rules/index.html | 1357 +++++ site/icons/github.svg | 5 + site/icons/gitlab.svg | 5 + site/icons/moon.svg | 5 + site/icons/shadcn.svg | 8 + site/icons/sun.svg | 13 + site/img/favicon.ico | Bin 0 -> 379 bytes site/index.html | 1236 +++++ site/index.md | 114 + site/js/auto-render.min.js | 1 + site/js/callbacks.js | 266 + site/js/copy-button.js | 21 + site/js/katex.min.js | 1 + site/js/socket.io.min.js | 1 + site/pre-commit.md | 26 + site/pre-commit/index.html | 1123 ++++ site/search/lunr.js | 3475 +++++++++++++ site/search/main.js | 109 + site/search/search_index.json | 1 + site/search/worker.js | 133 + site/sitemap.xml | 91 + site/sitemap.xml.gz | Bin 0 -> 426 bytes 154 files changed, 42440 insertions(+) create mode 100644 site/changelog.md create mode 100644 site/changelog/index.html create mode 100644 site/cli.md create mode 100644 site/cli/index.html create mode 100644 site/contributing.md create mode 100644 site/contributing/index.html create mode 100644 site/cookbook/attribute-matches-type.md create mode 100644 site/cookbook/attribute-matches-type/index.html create mode 100644 site/cookbook/bool-method-prefix.md create mode 100644 site/cookbook/bool-method-prefix/index.html create mode 100644 site/cookbook/constant-upper-case.md create mode 100644 site/cookbook/constant-upper-case/index.html create mode 100644 site/cookbook/decorator-filtering.md create mode 100644 site/cookbook/decorator-filtering/index.html create mode 100644 site/cookbook/exception-naming.md create mode 100644 site/cookbook/exception-naming/index.html create mode 100644 site/cookbook/index.html create mode 100644 site/cookbook/index.md create mode 100644 site/cookbook/layer-based-rules.md create mode 100644 site/cookbook/layer-based-rules/index.html create mode 100644 site/cookbook/module-matches-class.md create mode 100644 site/cookbook/module-matches-class/index.html create mode 100644 site/css/base.css create mode 100644 site/css/geist.css create mode 100644 site/css/katex.min.css create mode 100644 site/css/pygments/a11y-dark.css create mode 100644 site/css/pygments/a11y-high-contrast-dark.css create mode 100644 site/css/pygments/a11y-high-contrast-light.css create mode 100644 site/css/pygments/a11y-light.css create mode 100644 site/css/pygments/abap.css create mode 100644 site/css/pygments/algol.css create mode 100644 site/css/pygments/algol_nu.css create mode 100644 site/css/pygments/all.css create mode 100644 site/css/pygments/arduino.css create mode 100644 site/css/pygments/autumn.css create mode 100644 site/css/pygments/blinds-dark.css create mode 100644 site/css/pygments/blinds-light.css create mode 100644 site/css/pygments/borland.css create mode 100644 site/css/pygments/bw.css create mode 100644 site/css/pygments/coffee.css create mode 100644 site/css/pygments/colorful.css create mode 100644 site/css/pygments/default.css create mode 100644 site/css/pygments/dracula.css create mode 100644 site/css/pygments/emacs.css create mode 100644 site/css/pygments/friendly.css create mode 100644 site/css/pygments/friendly_grayscale.css create mode 100644 site/css/pygments/fruity.css create mode 100644 site/css/pygments/github-dark-colorblind.css create mode 100644 site/css/pygments/github-dark-high-contrast.css create mode 100644 site/css/pygments/github-dark.css create mode 100644 site/css/pygments/github-light-colorblind.css create mode 100644 site/css/pygments/github-light-high-contrast.css create mode 100644 site/css/pygments/github-light.css create mode 100644 site/css/pygments/gotthard-dark.css create mode 100644 site/css/pygments/gotthard-light.css create mode 100644 site/css/pygments/greative.css create mode 100644 site/css/pygments/gruvbox-dark.css create mode 100644 site/css/pygments/gruvbox-light.css create mode 100644 site/css/pygments/igor.css create mode 100644 site/css/pygments/inkpot.css create mode 100644 site/css/pygments/lightbulb.css create mode 100644 site/css/pygments/lilypond.css create mode 100644 site/css/pygments/lovelace.css create mode 100644 site/css/pygments/manni.css create mode 100644 site/css/pygments/material.css create mode 100644 site/css/pygments/monokai.css create mode 100644 site/css/pygments/murphy.css create mode 100644 site/css/pygments/native.css create mode 100644 site/css/pygments/nord-darker.css create mode 100644 site/css/pygments/nord.css create mode 100644 site/css/pygments/one-dark.css create mode 100644 site/css/pygments/paraiso-dark.css create mode 100644 site/css/pygments/paraiso-light.css create mode 100644 site/css/pygments/pastie.css create mode 100644 site/css/pygments/perldoc.css create mode 100644 site/css/pygments/pitaya-smoothie.css create mode 100644 site/css/pygments/rainbow_dash.css create mode 100644 site/css/pygments/rrt.css create mode 100644 site/css/pygments/sas.css create mode 100644 site/css/pygments/shadcn-light.css create mode 100644 site/css/pygments/solarized-dark.css create mode 100644 site/css/pygments/solarized-light.css create mode 100644 site/css/pygments/staroffice.css create mode 100644 site/css/pygments/stata-dark.css create mode 100644 site/css/pygments/stata-light.css create mode 100644 site/css/pygments/tango.css create mode 100644 site/css/pygments/trac.css create mode 100644 site/css/pygments/vim.css create mode 100644 site/css/pygments/vs.css create mode 100644 site/css/pygments/xcode.css create mode 100644 site/css/pygments/zenburn.css create mode 100644 site/fonts/Geist.woff2 create mode 100644 site/fonts/GeistMono.woff2 create mode 100644 site/fonts/Inter-Italic.woff2 create mode 100644 site/fonts/Inter.woff2 create mode 100644 site/fonts/katex/KaTeX_AMS-Regular.woff2 create mode 100644 site/fonts/katex/KaTeX_Caligraphic-Bold.woff2 create mode 100644 site/fonts/katex/KaTeX_Caligraphic-Regular.woff2 create mode 100644 site/fonts/katex/KaTeX_Fraktur-Bold.woff2 create mode 100644 site/fonts/katex/KaTeX_Fraktur-Regular.woff2 create mode 100644 site/fonts/katex/KaTeX_Main-Bold.woff2 create mode 100644 site/fonts/katex/KaTeX_Main-BoldItalic.woff2 create mode 100644 site/fonts/katex/KaTeX_Main-Italic.woff2 create mode 100644 site/fonts/katex/KaTeX_Main-Regular.woff2 create mode 100644 site/fonts/katex/KaTeX_Math-BoldItalic.woff2 create mode 100644 site/fonts/katex/KaTeX_Math-Italic.woff2 create mode 100644 site/fonts/katex/KaTeX_SansSerif-Bold.woff2 create mode 100644 site/fonts/katex/KaTeX_SansSerif-Italic.woff2 create mode 100644 site/fonts/katex/KaTeX_SansSerif-Regular.woff2 create mode 100644 site/fonts/katex/KaTeX_Script-Regular.woff2 create mode 100644 site/fonts/katex/KaTeX_Size1-Regular.woff2 create mode 100644 site/fonts/katex/KaTeX_Size2-Regular.woff2 create mode 100644 site/fonts/katex/KaTeX_Size3-Regular.woff2 create mode 100644 site/fonts/katex/KaTeX_Size4-Regular.woff2 create mode 100644 site/fonts/katex/KaTeX_Typewriter-Regular.woff2 create mode 100644 site/getting-started/configuration.md create mode 100644 site/getting-started/configuration/index.html create mode 100644 site/getting-started/installation.md create mode 100644 site/getting-started/installation/index.html create mode 100644 site/getting-started/quick-start.md create mode 100644 site/getting-started/quick-start/index.html create mode 100644 site/guide/apply-and-modules.md create mode 100644 site/guide/apply-and-modules/index.html create mode 100644 site/guide/filters.md create mode 100644 site/guide/filters/index.html create mode 100644 site/guide/include-exclude.md create mode 100644 site/guide/include-exclude/index.html create mode 100644 site/guide/inline-ignore.md create mode 100644 site/guide/inline-ignore/index.html create mode 100644 site/guide/naming-constraints.md create mode 100644 site/guide/naming-constraints/index.html create mode 100644 site/guide/rules.md create mode 100644 site/guide/rules/index.html create mode 100644 site/icons/github.svg create mode 100644 site/icons/gitlab.svg create mode 100644 site/icons/moon.svg create mode 100644 site/icons/shadcn.svg create mode 100644 site/icons/sun.svg create mode 100644 site/img/favicon.ico create mode 100644 site/index.html create mode 100644 site/index.md create mode 100644 site/js/auto-render.min.js create mode 100644 site/js/callbacks.js create mode 100644 site/js/copy-button.js create mode 100644 site/js/katex.min.js create mode 100644 site/js/socket.io.min.js create mode 100644 site/pre-commit.md create mode 100644 site/pre-commit/index.html create mode 100644 site/search/lunr.js create mode 100644 site/search/main.js create mode 100644 site/search/search_index.json create mode 100644 site/search/worker.js create mode 100644 site/sitemap.xml create mode 100644 site/sitemap.xml.gz diff --git a/site/changelog.md b/site/changelog.md new file mode 100644 index 0000000..135ed0b --- /dev/null +++ b/site/changelog.md @@ -0,0 +1,28 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +## [0.1.0] - 2026-03-30 + +### Documentation + +- Write comprehensive README with examples and configuration guide + +### Features + +- Add config parsing for rules and apply sections +- Add module pattern matcher with wildcard and capture support +- Add Violation dataclass for checker results +- Add variable name checker with source/transform and case support +- Add function/method name checker with filter and prefix support +- Add class name checker with base_class filter and regex support +- Add module name checker with class_name derivation and regex +- Add package name checker with case and regex support +- line output format +- Add CLI with pnl check command and end-to-end integration + +### Miscellaneous + +- Set up project scaffolding and tooling +- Add runtime dependencies and CLI entry point +- Fix ruff lint and format issues diff --git a/site/changelog/index.html b/site/changelog/index.html new file mode 100644 index 0000000..a57ec4d --- /dev/null +++ b/site/changelog/index.html @@ -0,0 +1,1113 @@ + + + + + + + + + + + + + + +Changelog + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + +
+ + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+ + +
+
+ +
+
+
+

All notable changes to this project will be documented in this file.

+

[0.1.0] - 2026-03-30

+

Documentation

+
    +
  • Write comprehensive README with examples and configuration guide
  • +
+

Features

+
    +
  • Add config parsing for rules and apply sections
  • +
  • Add module pattern matcher with wildcard and capture support
  • +
  • Add Violation dataclass for checker results
  • +
  • Add variable name checker with source/transform and case support
  • +
  • Add function/method name checker with filter and prefix support
  • +
  • Add class name checker with base_class filter and regex support
  • +
  • Add module name checker with class_name derivation and regex
  • +
  • Add package name checker with case and regex support
  • +
  • line output format
  • +
  • Add CLI with pnl check command and end-to-end integration
  • +
+

Miscellaneous

+
    +
  • Set up project scaffolding and tooling
  • +
  • Add runtime dependencies and CLI entry point
  • +
  • Fix ruff lint and format issues
  • +
+
+ + +
+ + + + +
+ +
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/site/cli.md b/site/cli.md new file mode 100644 index 0000000..9d16e9e --- /dev/null +++ b/site/cli.md @@ -0,0 +1,36 @@ +# CLI + +## `pnl check` + +Run the linter against your project: + +```bash +# Check with auto-discovered config (searches upward from cwd) +pnl check + +# Specify config file (project root = config file's parent directory) +pnl check --config path/to/config.yaml +``` + +### Options + +| Option | Description | +|--------|-------------| +| `--config` | Path to a config file. The config file's parent directory is used as the project root. | + +### Config Auto-Discovery + +If `--config` is not provided, `pnl check` searches upward from the current working directory for either: + +- `.python-naming-linter.yaml` +- `pyproject.toml` (with a `[tool.python-naming-linter]` section) + +The first matching file found is used, and its parent directory becomes the project root. + +## Exit Codes + +| Code | Meaning | +|------|---------| +| `0` | No violations found | +| `1` | One or more violations found | +| `2` | Config file not found | diff --git a/site/cli/index.html b/site/cli/index.html new file mode 100644 index 0000000..679980b --- /dev/null +++ b/site/cli/index.html @@ -0,0 +1,1174 @@ + + + + + + + + + + + + + + +CLI Reference + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + +
+ + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+ + +
+
+ +
+
+
+

pnl check

+

Run the linter against your project:

+
# Check with auto-discovered config (searches upward from cwd)
+pnl check
+
+# Specify config file (project root = config file's parent directory)
+pnl check --config path/to/config.yaml
+
+ +

Options

+
+ + + + + + + + + + + + +
OptionDescription
--configPath to a config file. The config file's parent directory is used as the project root.
+

Config Auto-Discovery

+

If --config is not provided, pnl check searches upward from the current working directory for either:

+
    +
  • .python-naming-linter.yaml
  • +
  • pyproject.toml (with a [tool.python-naming-linter] section)
  • +
+

The first matching file found is used, and its parent directory becomes the project root.

+

Exit Codes

+
+ + + + + + + + + + + + + + + + + + + + +
CodeMeaning
0No violations found
1One or more violations found
2Config file not found
+
+ + +
+ + + + +
+ +
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/site/contributing.md b/site/contributing.md new file mode 100644 index 0000000..cf2d59b --- /dev/null +++ b/site/contributing.md @@ -0,0 +1,84 @@ +# Contributing + +## Commit Convention + +Commit messages must follow [Conventional Commits](https://www.conventionalcommits.org/) with [gitmoji](https://gitmoji.dev/) prefix. + +### Format + +``` + : +``` + +- The first letter after the colon must be **capitalized**. +- The description must be in **English**. + +### Types + +| Gitmoji | Type | Description | +|---------|------------|--------------------------| +| ✨ | `feat` | New feature | +| 🐛 | `fix` | Bug fix | +| ♻️ | `refactor` | Code refactoring | +| 📝 | `docs` | Documentation | +| ✅ | `test` | Adding or updating tests | +| 🔧 | `chore` | Maintenance tasks | +| 👷 | `ci` | CI/CD changes | +| ⚡ | `perf` | Performance improvement | + +### Examples + +``` +✨ feat: Add support for relative imports +🐛 fix: Use exit code 2 for config file not found +♻️ refactor: Simplify module resolver logic +``` + +## Pull Request Convention + +- PRs are always **squash merged**, so the PR title becomes the final commit message. +- PR titles must follow the same format as commit messages (` : `). +- PR descriptions must be written in **English**. + +## Pre-commit Hooks + +This project uses [pre-commit](https://pre-commit.com/) for linting, formatting, and type checking. + +```bash +# Install pre-commit hooks +pre-commit install + +# Run manually +pre-commit run --all-files +``` + +All commits must pass the pre-commit hooks before being accepted. + +## Release + +Releases are automated via GitHub Actions. You only need to create and push a version tag. + +### Steps + +1. Calculate the next version based on conventional commits: + ```bash + uvx git-cliff --bumped-version + ``` +2. Review the commits since the last tag: + ```bash + git log $(git describe --tags --abbrev=0)..HEAD --oneline + ``` +3. Push the latest commits to `main`: + ```bash + git push origin main + ``` +4. Create and push the tag: + ```bash + git tag + git push origin + ``` + +The GitHub Actions workflow will then automatically: +- Generate `CHANGELOG.md` and commit it to `main` +- Create a GitHub Release with release notes +- Publish the package to PyPI diff --git a/site/contributing/index.html b/site/contributing/index.html new file mode 100644 index 0000000..e69a94d --- /dev/null +++ b/site/contributing/index.html @@ -0,0 +1,1256 @@ + + + + + + + + + + + + + + +Contributing + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + +
+ + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+ + +
+
+ +
+
+
+

Commit Convention

+

Commit messages must follow Conventional Commits with gitmoji prefix.

+

Format

+
<gitmoji> <type>: <description>
+
+ +
    +
  • The first letter after the colon must be capitalized.
  • +
  • The description must be in English.
  • +
+

Types

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GitmojiTypeDescription
featNew feature
🐛fixBug fix
♻️refactorCode refactoring
📝docsDocumentation
testAdding or updating tests
🔧choreMaintenance tasks
👷ciCI/CD changes
perfPerformance improvement
+

Examples

+
 feat: Add support for relative imports
+🐛 fix: Use exit code 2 for config file not found
+♻️ refactor: Simplify module resolver logic
+
+ +

Pull Request Convention

+
    +
  • PRs are always squash merged, so the PR title becomes the final commit message.
  • +
  • PR titles must follow the same format as commit messages (<gitmoji> <type>: <description>).
  • +
  • PR descriptions must be written in English.
  • +
+

Pre-commit Hooks

+

This project uses pre-commit for linting, formatting, and type checking.

+
# Install pre-commit hooks
+pre-commit install
+
+# Run manually
+pre-commit run --all-files
+
+ +

All commits must pass the pre-commit hooks before being accepted.

+

Release

+

Releases are automated via GitHub Actions. You only need to create and push a version tag.

+

Steps

+
    +
  1. Calculate the next version based on conventional commits: + bash + uvx git-cliff --bumped-version
  2. +
  3. Review the commits since the last tag: + bash + git log $(git describe --tags --abbrev=0)..HEAD --oneline
  4. +
  5. Push the latest commits to main: + bash + git push origin main
  6. +
  7. Create and push the tag: + bash + git tag <version> + git push origin <version>
  8. +
+

The GitHub Actions workflow will then automatically: +- Generate CHANGELOG.md and commit it to main +- Create a GitHub Release with release notes +- Publish the package to PyPI

+
+ + +
+ + + + +
+ +
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/site/cookbook/attribute-matches-type.md b/site/cookbook/attribute-matches-type.md new file mode 100644 index 0000000..e588835 --- /dev/null +++ b/site/cookbook/attribute-matches-type.md @@ -0,0 +1,52 @@ +# Attribute Matches Type + +## Purpose + +When an attribute holds a repository, service, or other typed object, keeping the attribute name in sync with the type annotation removes ambiguity and makes dependency injection transparent at a glance. This rule requires each class attribute name to be the snake_case form of its type annotation. + +## Configuration + +```yaml +rules: + - name: attribute-matches-type + type: variable + filter: { target: attribute } + naming: { source: type_annotation, transform: snake_case } + +apply: + - name: domain-layer + rules: [attribute-matches-type] + modules: contexts.*.domain +``` + +## Violation Example + +```python +# contexts/billing/domain/service.py + +class BillingService: + def __init__(self, repo: SubscriptionRepository) -> None: + self.repo = repo # should be subscription_repository +``` + +## Passing Example + +```python +# contexts/billing/domain/service.py + +class BillingService: + def __init__(self, repo: SubscriptionRepository) -> None: + self.subscription_repository = repo +``` + +The `{prefix}_{expected}` form is also allowed. For example, `source_object_context: ObjectContext` passes because the name ends with `_object_context`. + +## Output + +``` +$ pnl check +contexts/billing/domain/service.py:5 + [attribute-matches-type] repo (expected: subscription_repository) + +Found 1 violation(s). +``` diff --git a/site/cookbook/attribute-matches-type/index.html b/site/cookbook/attribute-matches-type/index.html new file mode 100644 index 0000000..013948f --- /dev/null +++ b/site/cookbook/attribute-matches-type/index.html @@ -0,0 +1,1169 @@ + + + + + + + + + + + + + + +Attribute Matches Type + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + +
+ + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+ + +
+
+ +
+
+
+

Purpose

+

When an attribute holds a repository, service, or other typed object, keeping the attribute name in sync with the type annotation removes ambiguity and makes dependency injection transparent at a glance. This rule requires each class attribute name to be the snake_case form of its type annotation.

+

Configuration

+
rules:
+  - name: attribute-matches-type
+    type: variable
+    filter: { target: attribute }
+    naming: { source: type_annotation, transform: snake_case }
+
+apply:
+  - name: domain-layer
+    rules: [attribute-matches-type]
+    modules: contexts.*.domain
+
+ +

Violation Example

+
# contexts/billing/domain/service.py
+
+class BillingService:
+    def __init__(self, repo: SubscriptionRepository) -> None:
+        self.repo = repo   # should be subscription_repository
+
+ +

Passing Example

+
# contexts/billing/domain/service.py
+
+class BillingService:
+    def __init__(self, repo: SubscriptionRepository) -> None:
+        self.subscription_repository = repo
+
+ +

The {prefix}_{expected} form is also allowed. For example, source_object_context: ObjectContext passes because the name ends with _object_context.

+

Output

+
$ pnl check
+contexts/billing/domain/service.py:5
+    [attribute-matches-type] repo (expected: subscription_repository)
+
+Found 1 violation(s).
+
+
+ + +
+ + + + +
+ +
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/site/cookbook/bool-method-prefix.md b/site/cookbook/bool-method-prefix.md new file mode 100644 index 0000000..db79aa2 --- /dev/null +++ b/site/cookbook/bool-method-prefix.md @@ -0,0 +1,50 @@ +# Bool Method Prefix + +## Purpose + +Functions that return `bool` are easier to read at call sites when their names read as a question. This rule enforces that any function or method with a `bool` return type annotation starts with `is_`, `has_`, or `should_`. + +## Configuration + +```yaml +rules: + - name: bool-method-prefix + type: function + filter: { return_type: bool } + naming: { prefix: [is_, has_, should_] } + +apply: + - name: all + rules: [bool-method-prefix] + modules: "**" +``` + +## Violation Example + +```python +# src/domain/service.py + +class SubscriptionService: + def validate(self) -> bool: # missing required prefix + return self._status == "active" +``` + +## Passing Example + +```python +# src/domain/service.py + +class SubscriptionService: + def is_valid(self) -> bool: + return self._status == "active" +``` + +## Output + +``` +$ pnl check +src/domain/service.py:4 + [bool-method-prefix] validate (expected prefix: is_ | has_ | should_) + +Found 1 violation(s). +``` diff --git a/site/cookbook/bool-method-prefix/index.html b/site/cookbook/bool-method-prefix/index.html new file mode 100644 index 0000000..a252647 --- /dev/null +++ b/site/cookbook/bool-method-prefix/index.html @@ -0,0 +1,1168 @@ + + + + + + + + + + + + + + +Bool Method Prefix + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + +
+ + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+ + +
+
+ +
+
+
+

Purpose

+

Functions that return bool are easier to read at call sites when their names read as a question. This rule enforces that any function or method with a bool return type annotation starts with is_, has_, or should_.

+

Configuration

+
rules:
+  - name: bool-method-prefix
+    type: function
+    filter: { return_type: bool }
+    naming: { prefix: [is_, has_, should_] }
+
+apply:
+  - name: all
+    rules: [bool-method-prefix]
+    modules: "**"
+
+ +

Violation Example

+
# src/domain/service.py
+
+class SubscriptionService:
+    def validate(self) -> bool:   # missing required prefix
+        return self._status == "active"
+
+ +

Passing Example

+
# src/domain/service.py
+
+class SubscriptionService:
+    def is_valid(self) -> bool:
+        return self._status == "active"
+
+ +

Output

+
$ pnl check
+src/domain/service.py:4
+    [bool-method-prefix] validate (expected prefix: is_ | has_ | should_)
+
+Found 1 violation(s).
+
+
+ + +
+ + + + +
+ +
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/site/cookbook/constant-upper-case.md b/site/cookbook/constant-upper-case.md new file mode 100644 index 0000000..5feb932 --- /dev/null +++ b/site/cookbook/constant-upper-case.md @@ -0,0 +1,51 @@ +# Constant Upper Case + +## Purpose + +Module-level constants are easier to distinguish from regular variables when they follow the UPPER_CASE convention. This rule catches constants that were accidentally written in snake_case and flags them for renaming. + +## Configuration + +```yaml +rules: + - name: constant-upper-case + type: variable + filter: { target: constant } + naming: { case: UPPER_CASE } + +apply: + - name: all + rules: [constant-upper-case] + modules: "**" +``` + +## Violation Example + +```python +# src/config.py + +max_retry_count = 3 # constant in snake_case +default_timeout_seconds = 30 # constant in snake_case +``` + +## Passing Example + +```python +# src/config.py + +MAX_RETRY_COUNT = 3 +DEFAULT_TIMEOUT_SECONDS = 30 +``` + +## Output + +``` +$ pnl check +src/config.py:3 + [constant-upper-case] max_retry_count (expected case: UPPER_CASE) + +src/config.py:4 + [constant-upper-case] default_timeout_seconds (expected case: UPPER_CASE) + +Found 2 violation(s). +``` diff --git a/site/cookbook/constant-upper-case/index.html b/site/cookbook/constant-upper-case/index.html new file mode 100644 index 0000000..63459e9 --- /dev/null +++ b/site/cookbook/constant-upper-case/index.html @@ -0,0 +1,1169 @@ + + + + + + + + + + + + + + +Constant Upper Case + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + +
+ + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+ + +
+
+ +
+
+
+

Purpose

+

Module-level constants are easier to distinguish from regular variables when they follow the UPPER_CASE convention. This rule catches constants that were accidentally written in snake_case and flags them for renaming.

+

Configuration

+
rules:
+  - name: constant-upper-case
+    type: variable
+    filter: { target: constant }
+    naming: { case: UPPER_CASE }
+
+apply:
+  - name: all
+    rules: [constant-upper-case]
+    modules: "**"
+
+ +

Violation Example

+
# src/config.py
+
+max_retry_count = 3          # constant in snake_case
+default_timeout_seconds = 30 # constant in snake_case
+
+ +

Passing Example

+
# src/config.py
+
+MAX_RETRY_COUNT = 3
+DEFAULT_TIMEOUT_SECONDS = 30
+
+ +

Output

+
$ pnl check
+src/config.py:3
+    [constant-upper-case] max_retry_count (expected case: UPPER_CASE)
+
+src/config.py:4
+    [constant-upper-case] default_timeout_seconds (expected case: UPPER_CASE)
+
+Found 2 violation(s).
+
+
+ + +
+ + + + +
+ +
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/site/cookbook/decorator-filtering.md b/site/cookbook/decorator-filtering.md new file mode 100644 index 0000000..a3f20a5 --- /dev/null +++ b/site/cookbook/decorator-filtering.md @@ -0,0 +1,84 @@ +# Decorator Filtering + +## Purpose + +Some naming conventions only apply to a specific kind of function or class. Decorator-based filtering lets you target `@staticmethod` methods, `@dataclass` classes, or any other decorated construct without affecting the rest of the codebase. + +## Configuration + +### Example 1 — `@staticmethod` methods must start with `create_` or `build_` + +```yaml +rules: + - name: static-factory-prefix + type: function + filter: { decorator: staticmethod } + naming: { prefix: [create_, build_] } + +apply: + - name: all + rules: [static-factory-prefix] + modules: "**" +``` + +### Example 2 — `@dataclass` classes must use PascalCase and end with `Data` or `Config` + +```yaml +rules: + - name: dataclass-naming + type: class + filter: { decorator: dataclass } + naming: { suffix: [Data, Config] } + +apply: + - name: all + rules: [dataclass-naming] + modules: "**" +``` + +## Violation Example + +```python +# src/domain/order.py +from dataclasses import dataclass + +class OrderRepository: + @staticmethod + def from_dict(raw: dict) -> "OrderRepository": # missing create_/build_ prefix + return OrderRepository(**raw) + +@dataclass +class OrderPayload: # missing Data/Config suffix + order_id: str + amount: float +``` + +## Passing Example + +```python +# src/domain/order.py +from dataclasses import dataclass + +class OrderRepository: + @staticmethod + def create_from_dict(raw: dict) -> "OrderRepository": + return OrderRepository(**raw) + +@dataclass +class OrderData: + order_id: str + amount: float +``` + +## Output + +``` +$ pnl check +src/domain/order.py:5 + [static-factory-prefix] from_dict (expected prefix: create_ | build_) + +src/domain/order.py:9 + [dataclass-naming] OrderPayload (expected suffix: Data | Config) + +Found 2 violation(s). +``` diff --git a/site/cookbook/decorator-filtering/index.html b/site/cookbook/decorator-filtering/index.html new file mode 100644 index 0000000..3c33db1 --- /dev/null +++ b/site/cookbook/decorator-filtering/index.html @@ -0,0 +1,1213 @@ + + + + + + + + + + + + + + +Decorator Filtering + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + +
+ + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+ + +
+
+ +
+
+
+

Purpose

+

Some naming conventions only apply to a specific kind of function or class. Decorator-based filtering lets you target @staticmethod methods, @dataclass classes, or any other decorated construct without affecting the rest of the codebase.

+

Configuration

+

Example 1 — @staticmethod methods must start with create_ or build_

+
rules:
+  - name: static-factory-prefix
+    type: function
+    filter: { decorator: staticmethod }
+    naming: { prefix: [create_, build_] }
+
+apply:
+  - name: all
+    rules: [static-factory-prefix]
+    modules: "**"
+
+ +

Example 2 — @dataclass classes must use PascalCase and end with Data or Config

+
rules:
+  - name: dataclass-naming
+    type: class
+    filter: { decorator: dataclass }
+    naming: { suffix: [Data, Config] }
+
+apply:
+  - name: all
+    rules: [dataclass-naming]
+    modules: "**"
+
+ +

Violation Example

+
# src/domain/order.py
+from dataclasses import dataclass
+
+class OrderRepository:
+    @staticmethod
+    def from_dict(raw: dict) -> "OrderRepository":   # missing create_/build_ prefix
+        return OrderRepository(**raw)
+
+@dataclass
+class OrderPayload:   # missing Data/Config suffix
+    order_id: str
+    amount: float
+
+ +

Passing Example

+
# src/domain/order.py
+from dataclasses import dataclass
+
+class OrderRepository:
+    @staticmethod
+    def create_from_dict(raw: dict) -> "OrderRepository":
+        return OrderRepository(**raw)
+
+@dataclass
+class OrderData:
+    order_id: str
+    amount: float
+
+ +

Output

+
$ pnl check
+src/domain/order.py:5
+    [static-factory-prefix] from_dict (expected prefix: create_ | build_)
+
+src/domain/order.py:9
+    [dataclass-naming] OrderPayload (expected suffix: Data | Config)
+
+Found 2 violation(s).
+
+
+ + +
+ + + + +
+ +
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/site/cookbook/exception-naming.md b/site/cookbook/exception-naming.md new file mode 100644 index 0000000..0d4ad18 --- /dev/null +++ b/site/cookbook/exception-naming.md @@ -0,0 +1,48 @@ +# Exception Naming + +## Purpose + +Consistent exception names make error handling code easier to scan and understand. This rule enforces a structured pattern: exceptions must start with an upper-case word, optionally followed by more words, and end with one of the recognised semantic suffixes (`NotFound`, `Invalid`, `Denied`, `Conflict`, or `Failed`) before the mandatory `Error` suffix. + +## Configuration + +```yaml +rules: + - name: exception-naming + type: class + filter: { base_class: Exception } + naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" } + +apply: + - name: all + rules: [exception-naming] + modules: "**" +``` + +## Violation Example + +```python +# src/domain/exceptions.py + +class FilterError(Exception): # missing semantic suffix before Error + pass +``` + +## Passing Example + +```python +# src/domain/exceptions.py + +class FilterNotFoundError(Exception): + pass +``` + +## Output + +``` +$ pnl check +src/domain/exceptions.py:3 + [exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$) + +Found 1 violation(s). +``` diff --git a/site/cookbook/exception-naming/index.html b/site/cookbook/exception-naming/index.html new file mode 100644 index 0000000..d8e38cc --- /dev/null +++ b/site/cookbook/exception-naming/index.html @@ -0,0 +1,1166 @@ + + + + + + + + + + + + + + +Exception Naming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + +
+ + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+ + +
+
+ +
+
+
+

Purpose

+

Consistent exception names make error handling code easier to scan and understand. This rule enforces a structured pattern: exceptions must start with an upper-case word, optionally followed by more words, and end with one of the recognised semantic suffixes (NotFound, Invalid, Denied, Conflict, or Failed) before the mandatory Error suffix.

+

Configuration

+
rules:
+  - name: exception-naming
+    type: class
+    filter: { base_class: Exception }
+    naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" }
+
+apply:
+  - name: all
+    rules: [exception-naming]
+    modules: "**"
+
+ +

Violation Example

+
# src/domain/exceptions.py
+
+class FilterError(Exception):   # missing semantic suffix before Error
+    pass
+
+ +

Passing Example

+
# src/domain/exceptions.py
+
+class FilterNotFoundError(Exception):
+    pass
+
+ +

Output

+
$ pnl check
+src/domain/exceptions.py:3
+    [exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$)
+
+Found 1 violation(s).
+
+
+ + +
+ + + + +
+ +
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/site/cookbook/index.html b/site/cookbook/index.html new file mode 100644 index 0000000..1347ba3 --- /dev/null +++ b/site/cookbook/index.html @@ -0,0 +1,1130 @@ + + + + + + + + + + + + + + +Overview + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + +
+ + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+ + +
+
+ +
+
+
+

The cookbook provides ready-to-use recipes for common naming convention scenarios. Each recipe shows a complete configuration, a violation example, and a passing example so you can adapt it to your project immediately.

+

Recipes

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RecipeDescription
Bool Method PrefixRequire is_, has_, or should_ prefix on functions that return bool
Exception NamingEnforce a structured suffix pattern on exception class names
Attribute Matches TypeRequire attribute names to match their type annotation in snake_case
Module Matches ClassRequire module filenames to match the primary class they contain
Layer-Based RulesApply different rule sets to different layers of your codebase
Constant Upper CaseRequire module-level constants to use UPPER_CASE
Decorator FilteringApply naming rules only to functions or classes with a specific decorator
+
+ + +
+ + + + +
+ +
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/site/cookbook/index.md b/site/cookbook/index.md new file mode 100644 index 0000000..f3e093c --- /dev/null +++ b/site/cookbook/index.md @@ -0,0 +1,15 @@ +# Cookbook + +The cookbook provides ready-to-use recipes for common naming convention scenarios. Each recipe shows a complete configuration, a violation example, and a passing example so you can adapt it to your project immediately. + +## Recipes + +| Recipe | Description | +|--------|-------------| +| [Bool Method Prefix](./bool-method-prefix.md) | Require `is_`, `has_`, or `should_` prefix on functions that return `bool` | +| [Exception Naming](./exception-naming.md) | Enforce a structured suffix pattern on exception class names | +| [Attribute Matches Type](./attribute-matches-type.md) | Require attribute names to match their type annotation in snake_case | +| [Module Matches Class](./module-matches-class.md) | Require module filenames to match the primary class they contain | +| [Layer-Based Rules](./layer-based-rules.md) | Apply different rule sets to different layers of your codebase | +| [Constant Upper Case](./constant-upper-case.md) | Require module-level constants to use UPPER_CASE | +| [Decorator Filtering](./decorator-filtering.md) | Apply naming rules only to functions or classes with a specific decorator | diff --git a/site/cookbook/layer-based-rules.md b/site/cookbook/layer-based-rules.md new file mode 100644 index 0000000..ccb7432 --- /dev/null +++ b/site/cookbook/layer-based-rules.md @@ -0,0 +1,103 @@ +# Layer-Based Rules + +## Purpose + +Real projects have distinct layers — domain, infrastructure, API — each with its own naming conventions. Instead of applying every rule globally, you can scope each rule set to the layer where it belongs, reducing false positives and making the intent of each rule explicit. + +## Configuration + +```yaml +rules: + - name: attribute-matches-type + type: variable + filter: { target: attribute } + naming: { source: type_annotation, transform: snake_case } + + - name: bool-method-prefix + type: function + filter: { return_type: bool } + naming: { prefix: [is_, has_, should_] } + + - name: domain-module-naming + type: module + naming: { source: class_name, transform: snake_case } + + - name: constant-upper-case + type: variable + filter: { target: constant } + naming: { case: UPPER_CASE } + + - name: exception-naming + type: class + filter: { base_class: Exception } + naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" } + +apply: + - name: domain-layer + rules: + - attribute-matches-type + - bool-method-prefix + - domain-module-naming + - constant-upper-case + modules: contexts.*.domain + + - name: global-exceptions + rules: [exception-naming] + modules: "**" +``` + +The `domain-layer` apply block targets every `contexts//domain` package, while `global-exceptions` runs the exception naming rule across the entire codebase. + +## Violation Example + +```python +# contexts/billing/domain/service.py + +max_retry = 3 # constant not in UPPER_CASE + +class BillingService: + def validate(self) -> bool: # bool method missing prefix + return self._status == "active" +``` + +```python +# contexts/billing/domain/exceptions.py + +class BillingError(Exception): # exception missing semantic suffix + pass +``` + +## Passing Example + +```python +# contexts/billing/domain/service.py + +MAX_RETRY = 3 + +class BillingService: + def is_valid(self) -> bool: + return self._status == "active" +``` + +```python +# contexts/billing/domain/exceptions.py + +class BillingNotFoundError(Exception): + pass +``` + +## Output + +``` +$ pnl check +contexts/billing/domain/service.py:3 + [constant-upper-case] max_retry (expected case: UPPER_CASE) + +contexts/billing/domain/service.py:6 + [bool-method-prefix] validate (expected prefix: is_ | has_ | should_) + +contexts/billing/domain/exceptions.py:3 + [exception-naming] BillingError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$) + +Found 3 violation(s). +``` diff --git a/site/cookbook/layer-based-rules/index.html b/site/cookbook/layer-based-rules/index.html new file mode 100644 index 0000000..b93deec --- /dev/null +++ b/site/cookbook/layer-based-rules/index.html @@ -0,0 +1,1218 @@ + + + + + + + + + + + + + + +Layer-Based Rules + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + +
+ + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+ + +
+
+ +
+
+
+

Purpose

+

Real projects have distinct layers — domain, infrastructure, API — each with its own naming conventions. Instead of applying every rule globally, you can scope each rule set to the layer where it belongs, reducing false positives and making the intent of each rule explicit.

+

Configuration

+
rules:
+  - name: attribute-matches-type
+    type: variable
+    filter: { target: attribute }
+    naming: { source: type_annotation, transform: snake_case }
+
+  - name: bool-method-prefix
+    type: function
+    filter: { return_type: bool }
+    naming: { prefix: [is_, has_, should_] }
+
+  - name: domain-module-naming
+    type: module
+    naming: { source: class_name, transform: snake_case }
+
+  - name: constant-upper-case
+    type: variable
+    filter: { target: constant }
+    naming: { case: UPPER_CASE }
+
+  - name: exception-naming
+    type: class
+    filter: { base_class: Exception }
+    naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" }
+
+apply:
+  - name: domain-layer
+    rules:
+      - attribute-matches-type
+      - bool-method-prefix
+      - domain-module-naming
+      - constant-upper-case
+    modules: contexts.*.domain
+
+  - name: global-exceptions
+    rules: [exception-naming]
+    modules: "**"
+
+ +

The domain-layer apply block targets every contexts/<context>/domain package, while global-exceptions runs the exception naming rule across the entire codebase.

+

Violation Example

+
# contexts/billing/domain/service.py
+
+max_retry = 3                          # constant not in UPPER_CASE
+
+class BillingService:
+    def validate(self) -> bool:        # bool method missing prefix
+        return self._status == "active"
+
+ +
# contexts/billing/domain/exceptions.py
+
+class BillingError(Exception):         # exception missing semantic suffix
+    pass
+
+ +

Passing Example

+
# contexts/billing/domain/service.py
+
+MAX_RETRY = 3
+
+class BillingService:
+    def is_valid(self) -> bool:
+        return self._status == "active"
+
+ +
# contexts/billing/domain/exceptions.py
+
+class BillingNotFoundError(Exception):
+    pass
+
+ +

Output

+
$ pnl check
+contexts/billing/domain/service.py:3
+    [constant-upper-case] max_retry (expected case: UPPER_CASE)
+
+contexts/billing/domain/service.py:6
+    [bool-method-prefix] validate (expected prefix: is_ | has_ | should_)
+
+contexts/billing/domain/exceptions.py:3
+    [exception-naming] BillingError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$)
+
+Found 3 violation(s).
+
+
+ + +
+ + + + +
+ +
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/site/cookbook/module-matches-class.md b/site/cookbook/module-matches-class.md new file mode 100644 index 0000000..bda62b2 --- /dev/null +++ b/site/cookbook/module-matches-class.md @@ -0,0 +1,47 @@ +# Module Matches Class + +## Purpose + +When each module contains one primary class, keeping the filename in sync with the class name makes it immediately obvious what a file exports. This rule requires the module filename (without the `.py` extension) to be the snake_case form of the primary class name in that file. + +## Configuration + +```yaml +rules: + - name: domain-module-naming + type: module + naming: { source: class_name, transform: snake_case } + +apply: + - name: domain-layer + rules: [domain-module-naming] + modules: contexts.*.domain +``` + +## Violation Example + +```python +# contexts/catalog/domain/custom.py ← filename does not match class name + +class CustomObject: + pass +``` + +## Passing Example + +```python +# contexts/catalog/domain/custom_object.py ← matches CustomObject in snake_case + +class CustomObject: + pass +``` + +## Output + +``` +$ pnl check +contexts/catalog/domain/custom.py:1 + [domain-module-naming] custom (expected: custom_object) + +Found 1 violation(s). +``` diff --git a/site/cookbook/module-matches-class/index.html b/site/cookbook/module-matches-class/index.html new file mode 100644 index 0000000..1f7c8d9 --- /dev/null +++ b/site/cookbook/module-matches-class/index.html @@ -0,0 +1,1165 @@ + + + + + + + + + + + + + + +Module Matches Class + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + +
+ + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+ + +
+
+ +
+
+
+

Purpose

+

When each module contains one primary class, keeping the filename in sync with the class name makes it immediately obvious what a file exports. This rule requires the module filename (without the .py extension) to be the snake_case form of the primary class name in that file.

+

Configuration

+
rules:
+  - name: domain-module-naming
+    type: module
+    naming: { source: class_name, transform: snake_case }
+
+apply:
+  - name: domain-layer
+    rules: [domain-module-naming]
+    modules: contexts.*.domain
+
+ +

Violation Example

+
# contexts/catalog/domain/custom.py   ← filename does not match class name
+
+class CustomObject:
+    pass
+
+ +

Passing Example

+
# contexts/catalog/domain/custom_object.py   ← matches CustomObject in snake_case
+
+class CustomObject:
+    pass
+
+ +

Output

+
$ pnl check
+contexts/catalog/domain/custom.py:1
+    [domain-module-naming] custom (expected: custom_object)
+
+Found 1 violation(s).
+
+
+ + +
+ + + + +
+ +
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/site/css/base.css b/site/css/base.css new file mode 100644 index 0000000..e597913 --- /dev/null +++ b/site/css/base.css @@ -0,0 +1,2 @@ +/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */ +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-space-y-reverse:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-blue-50:oklch(97% .014 254.604);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-blue-950:oklch(28.2% .091 267.935);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-900:oklch(20.8% .042 265.755);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-neutral-300:oklch(87% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-stone-50:oklch(98.5% .001 106.423);--color-stone-900:oklch(21.6% .006 56.043);--color-black:#000;--color-white:#fff;--spacing:.25rem;--breakpoint-sm:40rem;--breakpoint-md:48rem;--breakpoint-lg:64rem;--breakpoint-xl:80rem;--breakpoint-2xl:96rem;--container-lg:32rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--leading-relaxed:1.625;--leading-loose:2;--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:.75rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--blur-xs:4px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-background:var(--background);--color-foreground:var(--foreground);--color-card:var(--card);--color-card-foreground:var(--card-foreground);--color-popover:var(--popover);--color-popover-foreground:var(--popover-foreground);--color-primary:var(--primary);--color-primary-foreground:var(--primary-foreground);--color-secondary:var(--secondary);--color-secondary-foreground:var(--secondary-foreground);--color-muted:var(--muted);--color-muted-foreground:var(--muted-foreground);--color-accent:var(--accent);--color-accent-foreground:var(--accent-foreground);--color-destructive:var(--destructive);--color-destructive-foreground:var(--destructive-foreground);--color-border:var(--border);--color-input:var(--input);--color-ring:var(--ring);--color-chart-2:var(--chart-2);--color-warning:var(--warning);--color-sidebar:var(--sidebar);--color-sidebar-foreground:var(--sidebar-forground);--color-sidebar-accent:var(--sidebar-accent);--color-sidebar-accent-foreground:var(--sidebar-accent-foreground);--color-sidebar-ring:var(--sidebar-ring);--color-surface:var(--surface);--color-selection:var(--selection);--color-code:var(--code);--color-code-foreground:var(--code-foreground);--color-code-highlight:var(--code-highlight);--color-code-number:var(--code-number);--breakpoint-3xl:1600px}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--font-inter:"Inter", sans-serif;--font-sans:"Geist", sans-serif;--font-mono:"Geist Mono", monospace;--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:var(--color-blue-300);--chart-2:var(--color-blue-500);--chart-3:var(--color-blue-600);--chart-4:var(--color-blue-700);--chart-5:var(--color-blue-800);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0);--surface:oklch(98% 0 0);--surface-foreground:var(--foreground);--code:var(--surface);--code-foreground:var(--surface-foreground);--code-highlight:oklch(96% 0 0);--code-number:oklch(56% 0 0);--selection:oklch(14.5% 0 0);--selection-foreground:oklch(100% 0 0);--warning:oklch(84% .16 84);--warning-foreground:oklch(28% .07 46);--color-code:var(--code);--color-code-foreground:var(--code-foreground);--color-code-highlight:var(--code-highlight);--color-code-number:var(--code-number)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(26.9% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(37.1% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:var(--color-blue-300);--chart-2:var(--color-blue-500);--chart-3:var(--color-blue-600);--chart-4:var(--color-blue-700);--chart-5:var(--color-blue-800);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(43.9% 0 0);--surface:oklch(20% 0 0);--surface-foreground:oklch(70.8% 0 0);--code:var(--surface);--code-foreground:var(--surface-foreground);--code-highlight:oklch(27% 0 0);--code-number:oklch(72% 0 0);--selection:oklch(92.2% 0 0);--selection-foreground:oklch(20.5% 0 0);--warning:oklch(41% .11 46);--warning-foreground:oklch(99% .02 95)}*{border-color:var(--color-border)}body{background-color:var(--color-background);color:var(--color-foreground)}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-3{top:calc(var(--spacing) * 3)}.top-8{top:calc(var(--spacing) * 8)}.top-12{top:calc(var(--spacing) * 12)}.top-\[calc\(var\(--header-height\)\+0\.6rem\)\]{top:calc(var(--header-height) + .6rem)}.top-\[calc\(var\(--header-height\)\+1px\)\]{top:calc(var(--header-height) + 1px)}.right-0{right:calc(var(--spacing) * 0)}.right-2{right:calc(var(--spacing) * 2)}.-bottom-1{bottom:calc(var(--spacing) * -1)}.-bottom-3{bottom:calc(var(--spacing) * -3)}.bottom-0{bottom:calc(var(--spacing) * 0)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.container{width:100%}@media (min-width:1600px){.container{max-width:1600px}}@media (min-width:2000px){.container{max-width:2000px}}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-auto{margin:auto}.container{padding-inline:calc(var(--spacing) * 4);margin-inline:auto}@media (min-width:1600px){.container{width:100%;max-width:var(--breakpoint-3xl);padding-inline:calc(var(--spacing) * 8)}}@media (min-width:40rem){.container{max-width:var(--breakpoint-sm)}}@media (min-width:48rem){.container{max-width:var(--breakpoint-md)}}@media (min-width:64rem){.container{max-width:var(--breakpoint-lg)}}@media (min-width:80rem){.container{max-width:var(--breakpoint-xl)}}@media (min-width:96rem){.container{max-width:var(--breakpoint-2xl)}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.size-1{width:calc(var(--spacing) * 1);height:calc(var(--spacing) * 1)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-4\.5{width:calc(var(--spacing) * 4.5);height:calc(var(--spacing) * 4.5)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-\(--footer-height\){height:var(--footer-height)}.h-\(--header-height\){height:var(--header-height)}.h-\(--radix-popper-available-height\){height:var(--radix-popper-available-height)}.h-\(--top-spacing\){height:var(--top-spacing)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-40{height:calc(var(--spacing) * 40)}.h-84{height:calc(var(--spacing) * 84)}.h-\[1px\]{height:1px}.h-\[30px\]{height:30px}.h-\[calc\(100svh-10rem\)\]{height:calc(100svh - 10rem)}.h-\[calc\(100svh-var\(--header-height\)-var\(--footer-height\)\)\]{height:calc(100svh - var(--header-height) - var(--footer-height))}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-fit{height:fit-content}.h-full{height:100%}.h-px{height:1px}.max-h-96{max-height:calc(var(--spacing) * 96)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-min{min-height:min-content}.min-h-svh{min-height:100svh}.w-\(--radix-popper-available-width\){width:var(--radix-popper-available-width)}.w-\(--sidebar-menu-width\){width:var(--sidebar-menu-width)}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-72{width:calc(var(--spacing) * 72)}.w-fit{width:fit-content}.w-full{width:100%}.w-lg{width:var(--container-lg)}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-\(--radix-popover-content-transform-origin\){transform-origin:var(--radix-popover-content-transform-origin)}.origin-center{transform-origin:50%}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-ns-resize{cursor:ns-resize}.cursor-pointer{cursor:pointer}.touch-manipulation{touch-action:manipulation}.resize{resize:both}.scroll-m-20{scroll-margin:calc(var(--spacing) * 20)}.scroll-my-1{scroll-margin-block:calc(var(--spacing) * 1)}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-12{gap:calc(var(--spacing) * 12)}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 1) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-none{overscroll-behavior:none}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-none{--tw-border-style:none;border-style:none}.border-input{border-color:var(--color-input)}.border-primary{border-color:var(--color-primary)}.border-transparent{border-color:#0000}.bg-background,.bg-background\/90{background-color:var(--color-background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/90{background-color:color-mix(in oklab, var(--color-background) 90%, transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.bg-border{background-color:var(--color-border)}.bg-card{background-color:var(--color-card)}.bg-destructive{background-color:var(--color-destructive)}.bg-popover{background-color:var(--color-popover)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}.bg-transparent{background-color:#0000}.bg-warning{background-color:var(--color-warning)}.bg-white{background-color:var(--color-white)}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-background{--tw-gradient-from:var(--color-background);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-background\/80{--tw-gradient-via:var(--color-background)}@supports (color:color-mix(in lab, red, red)){.via-background\/80{--tw-gradient-via:color-mix(in oklab, var(--color-background) 80%, transparent)}}.via-background\/80{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-border{--tw-gradient-via:var(--color-border);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-background\/50{--tw-gradient-to:var(--color-background)}@supports (color:color-mix(in lab, red, red)){.to-background\/50{--tw-gradient-to:color-mix(in oklab, var(--color-background) 50%, transparent)}}.to-background\/50{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.\!p-0{padding:calc(var(--spacing) * 0)!important}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-0{padding-inline:calc(var(--spacing) * 0)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.align-bottom{vertical-align:bottom}.align-middle{vertical-align:middle}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.text-\[1\.05rem\]{font-size:1.05rem}.leading-loose{--tw-leading:var(--leading-loose);line-height:var(--leading-loose)}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-balance{text-wrap:balance}.text-wrap{text-wrap:wrap}.whitespace-nowrap{white-space:nowrap}.text-card-foreground{color:var(--color-card-foreground)}.text-destructive{color:var(--color-destructive)}.text-destructive-foreground{color:var(--color-destructive-foreground)}.text-foreground{color:var(--color-foreground)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-popover-foreground{color:var(--color-popover-foreground)}.text-primary{color:var(--color-primary)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-secondary-foreground{color:var(--color-secondary-foreground)}.text-sidebar-foreground{color:var(--color-sidebar-foreground)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-primary{accent-color:var(--color-primary)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-ring\/10{--tw-ring-color:var(--color-ring)}@supports (color:color-mix(in lab, red, red)){.ring-ring\/10{--tw-ring-color:color-mix(in oklab, var(--color-ring) 10%, transparent)}}.ring-sidebar-ring{--tw-ring-color:var(--color-sidebar-ring)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-ring\/50{outline-color:var(--color-ring)}@supports (color:color-mix(in lab, red, red)){.outline-ring\/50{outline-color:color-mix(in oklab, var(--color-ring) 50%, transparent)}}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.blur-xs{--tw-blur:blur(var(--blur-xs));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[--footer-height\:calc\(var\(--spacing\)\*14\)\]{--footer-height:calc(var(--spacing) * 14)}.\[--header-height\:calc\(var\(--spacing\)\*14\)\]{--header-height:calc(var(--spacing) * 14)}.\[--sidebar-menu-width\:--spacing\(56\)\]{--sidebar-menu-width:calc(var(--spacing) * 56)}.\[--sidebar-width\:220px\]{--sidebar-width:220px}.\[--top-spacing\:0\]{--top-spacing:0}.duration-100{animation-duration:.1s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.ease-in{animation-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.paused{animation-play-state:paused}.running{animation-play-state:running}@media (hover:hover){.group-hover\:bg-primary:is(:where(.group):hover *){background-color:var(--color-primary)}.group-hover\/container\:opacity-100:is(:where(.group\/container):hover *){opacity:1}}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing) * 8)}.group-has-\[\.section-soft\]\/body\:bg-surface\/40:is(:where(.group\/body):has(.section-soft) *){background-color:var(--color-surface)}@supports (color:color-mix(in lab, red, red)){.group-has-\[\.section-soft\]\/body\:bg-surface\/40:is(:where(.group\/body):has(.section-soft) *){background-color:color-mix(in oklab, var(--color-surface) 40%, transparent)}}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing) * -8)}.group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing) * 8)!important;height:calc(var(--spacing) * 8)!important}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.group-data-\[state\=open\]\:-translate-x-\[2\.25px\]:is(:where(.group)[data-state=open] *){--tw-translate-x:calc(2.25px * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[state\=open\]\:-translate-y-\[2\.25px\]:is(:where(.group)[data-state=open] *){--tw-translate-y:calc(2.25px * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[state\=open\]\:translate-y-\[2\.25px\]:is(:where(.group)[data-state=open] *){--tw-translate-y:2.25px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[state\=open\]\:-rotate-45:is(:where(.group)[data-state=open] *){rotate:-45deg}.group-data-\[state\=open\]\:rotate-45:is(:where(.group)[data-state=open] *){rotate:45deg}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.selection\:bg-primary ::selection{background-color:var(--color-primary)}.selection\:bg-primary::selection{background-color:var(--color-primary)}.selection\:text-primary-foreground ::selection{color:var(--color-primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--color-primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--color-foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--color-muted-foreground)}.backdrop\:bg-transparent::backdrop{background-color:#0000}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-x-0:after{content:var(--tw-content);inset-inline:calc(var(--spacing) * 0)}.after\:-inset-y-1:after{content:var(--tw-content);inset-block:calc(var(--spacing) * -1)}.after\:z-0:after{content:var(--tw-content);z-index:0}.after\:rounded-md:after{content:var(--tw-content);border-radius:var(--radius-md)}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-destructive\/90:hover{background-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--color-destructive) 90%, transparent)}}.hover\:bg-muted\/50:hover{background-color:var(--color-muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab, var(--color-muted) 50%, transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--color-primary) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--color-secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--color-secondary) 80%, transparent)}}.hover\:bg-sidebar-accent:hover{background-color:var(--color-sidebar-accent)}.hover\:bg-transparent:hover{background-color:#0000}.hover\:text-accent-foreground:hover{color:var(--color-accent-foreground)}.hover\:text-foreground:hover{color:var(--color-foreground)}.hover\:text-sidebar-accent-foreground:hover{color:var(--color-sidebar-accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:bg-accent:focus{background-color:var(--color-accent)}.focus\:text-accent-foreground:focus{color:var(--color-accent-foreground)}.focus-visible\:border-ring:focus-visible{border-color:var(--color-ring)}.focus-visible\:bg-transparent:focus-visible{background-color:#0000}.focus-visible\:opacity-100:focus-visible{opacity:1}.focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-4:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible,.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--color-ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-ring) 50%, transparent)}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:bg-sidebar-accent:active{background-color:var(--color-sidebar-accent)}.active\:bg-transparent:active{background-color:#0000}.active\:text-sidebar-accent-foreground:active{color:var(--color-sidebar-accent-foreground)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-data-\[variant\=inset\]\:bg-sidebar:has([data-variant=inset]){background-color:var(--color-sidebar)}.has-\[\&\>svg\]\:px-2\.5:has(*>svg),.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true],.aria-invalid\:border-destructive\/60[aria-invalid=true]{border-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:border-destructive\/60[aria-invalid=true]{border-color:color-mix(in oklab, var(--color-destructive) 60%, transparent)}}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 20%, transparent)}}.aria-invalid\:outline-destructive\/60[aria-invalid=true]{outline-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:outline-destructive\/60[aria-invalid=true]{outline-color:color-mix(in oklab, var(--color-destructive) 60%, transparent)}}.aria-invalid\:focus-visible\:ring-0[aria-invalid=true]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.aria-invalid\:focus-visible\:ring-\[3px\][aria-invalid=true]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.aria-invalid\:focus-visible\:outline-none[aria-invalid=true]:focus-visible{--tw-outline-style:none;outline-style:none}.data-\[active\=true\]\:border-accent[data-active=true]{border-color:var(--color-accent)}.data-\[active\=true\]\:bg-accent[data-active=true]{background-color:var(--color-accent)}.data-\[active\=true\]\:font-medium[data-active=true]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[active\=true\]\:text-foreground[data-active=true]{color:var(--color-foreground)}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:var(--color-sidebar-accent-foreground)}.data-\[depth\=3\]\:pl-4[data-depth="3"]{padding-left:calc(var(--spacing) * 4)}.data-\[depth\=4\]\:pl-6[data-depth="4"]{padding-left:calc(var(--spacing) * 6)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[error\=true\]\:text-destructive[data-error=true]{color:var(--color-destructive)}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing) * 8)}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--color-muted-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}:is(.\*\:data-\[slot\=alert\]\:first\:mt-0>*)[data-slot=alert]:first-child{margin-top:calc(var(--spacing) * 0)}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing) * 2)}:is(.\*\*\:data-\[slot\=separator\]\:\!h-4 *)[data-slot=separator]{height:calc(var(--spacing) * 4)!important}.data-\[state\=closed\]\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}@media (hover:hover){.data-\[state\=open\]\:hover\:bg-sidebar-accent[data-state=open]:hover{background-color:var(--color-sidebar-accent)}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground[data-state=open]:hover{color:var(--color-sidebar-accent-foreground)}}@media not all and (min-width:500px){.max-\[500px\]\:hidden{display:none}}@media not all and (min-width:48rem){.max-md\:hidden{display:none}}@media (min-width:1600px){.\33 xl\:flex{display:flex}}@media (min-width:40rem){.sm\:rotate-0{rotate:none}.sm\:pr-12{padding-right:calc(var(--spacing) * 12)}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:text-\[15px\]{font-size:15px}}@media (min-width:48rem){.md\:flex{display:flex}.md\:size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.md\:h-7{height:calc(var(--spacing) * 7)}.md\:w-48{width:calc(var(--spacing) * 48)}.md\:w-auto{width:auto}.md\:flex-1{flex:1}.md\:flex-none{flex:none}.md\:justify-end{justify-content:flex-end}.md\:px-0{padding-inline:calc(var(--spacing) * 0)}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:text-\[0\.8rem\]{font-size:.8rem}}@media (min-width:64rem){.lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:inline-flex{display:inline-flex}.lg\:w-56{width:calc(var(--spacing) * 56)}.lg\:grid-cols-\[var\(--sidebar-width\)_minmax\(0\,1fr\)\]{grid-template-columns:var(--sidebar-width) minmax(0,1fr)}.lg\:\[--sidebar-width\:240px\]{--sidebar-width:240px}.lg\:\[--top-spacing\:calc\(var\(--spacing\)\*4\)\]{--top-spacing:calc(var(--spacing) * 4)}}@media (min-width:80rem){.xl\:flex{display:flex}.xl\:w-64{width:calc(var(--spacing) * 64)}.xl\:w-full{width:100%}.xl\:px-6{padding-inline:calc(var(--spacing) * 6)}.xl\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.xl\:\[--footer-height\:calc\(var\(--spacing\)\*24\)\]{--footer-height:calc(var(--spacing) * 24)}}.dark\:border-input:where(.dark,.dark *){border-color:var(--color-input)}.dark\:bg-card:where(.dark,.dark *){background-color:var(--color-card)}.dark\:bg-transparent:where(.dark,.dark *){background-color:#0000}.dark\:ring-ring\/20:where(.dark,.dark *){--tw-ring-color:var(--color-ring)}@supports (color:color-mix(in lab, red, red)){.dark\:ring-ring\/20:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab, var(--color-ring) 20%, transparent)}}.dark\:outline-ring\/40:where(.dark,.dark *){outline-color:var(--color-ring)}@supports (color:color-mix(in lab, red, red)){.dark\:outline-ring\/40:where(.dark,.dark *){outline-color:color-mix(in oklab, var(--color-ring) 40%, transparent)}}@media (hover:hover){.dark\:hover\:bg-accent\/50:where(.dark,.dark *):hover{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-accent\/50:where(.dark,.dark *):hover{background-color:color-mix(in oklab, var(--color-accent) 50%, transparent)}}.dark\:hover\:bg-input\/50:where(.dark,.dark *):hover{background-color:var(--color-input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:where(.dark,.dark *):hover{background-color:color-mix(in oklab, var(--color-input) 50%, transparent)}}.dark\:hover\:bg-transparent:where(.dark,.dark *):hover{background-color:#0000}}.dark\:aria-invalid\:border-destructive:where(.dark,.dark *)[aria-invalid=true]{border-color:var(--color-destructive)}.dark\:aria-invalid\:ring-destructive\/40:where(.dark,.dark *)[aria-invalid=true]{--tw-ring-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:where(.dark,.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 40%, transparent)}}.dark\:aria-invalid\:ring-destructive\/50:where(.dark,.dark *)[aria-invalid=true]{--tw-ring-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/50:where(.dark,.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 50%, transparent)}}.dark\:aria-invalid\:outline-destructive:where(.dark,.dark *)[aria-invalid=true]{outline-color:var(--color-destructive)}.dark\:aria-invalid\:focus-visible\:ring-4:where(.dark,.dark *)[aria-invalid=true]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}@media (min-width:1600px){.\33 xl\:fixed\:container:is(.layout-fixed *){width:100%}@media (min-width:1600px){.\33 xl\:fixed\:container:is(.layout-fixed *){max-width:1600px}}@media (min-width:2000px){.\33 xl\:fixed\:container:is(.layout-fixed *){max-width:2000px}}@media (min-width:40rem){.\33 xl\:fixed\:container:is(.layout-fixed *){max-width:40rem}}@media (min-width:48rem){.\33 xl\:fixed\:container:is(.layout-fixed *){max-width:48rem}}@media (min-width:64rem){.\33 xl\:fixed\:container:is(.layout-fixed *){max-width:64rem}}@media (min-width:80rem){.\33 xl\:fixed\:container:is(.layout-fixed *){max-width:80rem}}@media (min-width:96rem){.\33 xl\:fixed\:container:is(.layout-fixed *){max-width:96rem}}.\33 xl\:fixed\:container:is(.layout-fixed *){padding-inline:calc(var(--spacing) * 4);margin-inline:auto}@media (min-width:1600px){.\33 xl\:fixed\:container:is(.layout-fixed *){width:100%;max-width:var(--breakpoint-3xl);padding-inline:calc(var(--spacing) * 8)}}@media (min-width:40rem){.\33 xl\:fixed\:container:is(.layout-fixed *){max-width:var(--breakpoint-sm)}}@media (min-width:48rem){.\33 xl\:fixed\:container:is(.layout-fixed *){max-width:var(--breakpoint-md)}}@media (min-width:64rem){.\33 xl\:fixed\:container:is(.layout-fixed *){max-width:var(--breakpoint-lg)}}@media (min-width:80rem){.\33 xl\:fixed\:container:is(.layout-fixed *){max-width:var(--breakpoint-xl)}}@media (min-width:96rem){.\33 xl\:fixed\:container:is(.layout-fixed *){max-width:var(--breakpoint-2xl)}}.\33 xl\:fixed\:w-full:is(.layout-fixed *){width:100%}.\33 xl\:fixed\:max-w-48:is(.layout-fixed *){max-width:calc(var(--spacing) * 48)}.\33 xl\:fixed\:bg-transparent:is(.layout-fixed *){background-color:#0000}.\33 xl\:fixed\:px-0:is(.layout-fixed *){padding-inline:calc(var(--spacing) * 0)}.\33 xl\:fixed\:px-3:is(.layout-fixed *){padding-inline:calc(var(--spacing) * 3)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-5 svg:not([class*=size-]){width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--color-muted-foreground)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.container-wrapper{width:100%;margin-inline:auto}@media (min-width:1600px){.layout-fixed .container-wrapper{max-width:calc(var(--breakpoint-2xl) + 2rem);padding-inline:calc(var(--spacing) * 0)}}.animate-accordion-down{animation:.2s ease-out accordion-down}.animate-accordion-up{animation:.2s ease-out accordion-up}}article .admonition{margin-top:calc(var(--spacing) * 6);border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-surface);background-color:var(--color-surface);width:auto;padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-card-foreground);position:relative}@supports (color:color-mix(in lab, red, red)){article .admonition{color:color-mix(in oklab, var(--color-card-foreground) 80%, transparent)}}@media (min-width:48rem){article .admonition{margin-inline:calc(var(--spacing) * -1)}}article .admonition code{border-style:var(--tw-border-style);background-color:#0000;border-width:1px}article .admonition>p:first-child,article .admonition>p:nth-child(2){display:inline;margin:calc(var(--spacing) * 0)!important}article .admonition>p.admonition-title{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}article .admonition .codehilite{margin-top:calc(var(--spacing) * 2);background-color:var(--color-background)}@supports (color:color-mix(in lab, red, red)){article .admonition .codehilite{background-color:color-mix(in oklab, var(--color-background) 40%, transparent)}}article .admonition.danger{border-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){article .admonition.danger{border-color:color-mix(in oklab, var(--color-destructive) 50%, transparent)}}article .admonition.danger{background-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){article .admonition.danger{background-color:color-mix(in oklab, var(--color-destructive) 10%, transparent)}}article .admonition.danger:where(.dark,.dark *){border-color:var(--color-destructive);background-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){article .admonition.danger:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-destructive) 50%, transparent)}}article .admonition.danger code{border-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){article .admonition.danger code{border-color:color-mix(in oklab, var(--color-destructive) 10%, transparent)}}article .admonition.danger:where(.dark,.dark *) code{border-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){article .admonition.danger:where(.dark,.dark *) code{border-color:color-mix(in oklab, var(--color-destructive) 20%, transparent)}}article .admonition.warning{border-color:var(--color-warning);background-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){article .admonition.warning{background-color:color-mix(in oklab, var(--color-warning) 10%, transparent)}}article .admonition.warning code{border-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){article .admonition.warning code{border-color:color-mix(in oklab, var(--color-warning) 10%, transparent)}}article .admonition.warning:where(.dark,.dark *) code{border-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){article .admonition.warning:where(.dark,.dark *) code{border-color:color-mix(in oklab, var(--color-warning) 40%, transparent)}}article .admonition.info{margin-bottom:calc(var(--spacing) * 6);border-color:var(--color-blue-600);background-color:var(--color-blue-50)}article .admonition.info:where(.dark,.dark *){border-color:var(--color-blue-900);background-color:var(--color-blue-950)}article .admonition.info code{border-color:var(--color-blue-200)}article .admonition.info:where(.dark,.dark *) code{border-color:var(--color-blue-900)}article .admonition.success{border-color:var(--color-emerald-600);background-color:var(--color-emerald-100)}article .admonition.success:where(.dark,.dark *){border-color:var(--color-emerald-400);background-color:var(--color-emerald-900)}article .admonition.success code{border-color:var(--color-emerald-200)}article .admonition.success:where(.dark,.dark *) code{border-color:var(--color-emerald-800)}article .admonition ul{margin-block:calc(var(--spacing) * 1)}article .admonition pre code{--tw-border-style:none;border-style:none}article{width:100%;max-width:var(--container-2xl);min-width:calc(var(--spacing) * 0);gap:calc(var(--spacing) * 8);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 6);color:var(--color-neutral-800);flex-direction:column;flex:1;margin-inline:auto;display:flex}@media (min-width:48rem){article{padding-inline:calc(var(--spacing) * 0)}}@media (min-width:64rem){article{padding-block:calc(var(--spacing) * 8)}}article:where(.dark,.dark *){color:var(--color-neutral-300)}#summary{margin-top:calc(var(--spacing) * 0);--tw-leading:calc(var(--spacing) * 6);max-width:450px;line-height:calc(var(--spacing) * 6);color:var(--color-muted-foreground)}article #page-header h1{scroll-margin:calc(var(--spacing) * 20);font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight);word-break:break-all}@media (min-width:40rem){article #page-header h1{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}}@media (min-width:80rem){article #page-header h1{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}}article strong{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}article .typography h2{margin-top:calc(var(--spacing) * 12);scroll-margin:calc(var(--spacing) * 28);font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}@media (min-width:64rem){article .typography h2{margin-top:calc(var(--spacing) * 20)}}article .typography h2+p{margin-top:calc(var(--spacing) * 4)!important}:is(article .typography h2>*):is(code){font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}article .typography>h2:first-child{margin-top:calc(var(--spacing) * 0)}article .typography h3{margin-top:calc(var(--spacing) * 8);scroll-margin:calc(var(--spacing) * 28);font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}:is(article .typography h3>*):is(code){font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}article .typography h4{margin-top:calc(var(--spacing) * 6);scroll-margin:calc(var(--spacing) * 20);font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}article p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}article p:not(:first-child),article .typography>div:not(:first-child){margin-top:calc(var(--spacing) * 6)}article a{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-primary);text-underline-offset:4px;text-decoration-line:underline}article blockquote{margin-top:calc(var(--spacing) * 6);border-left-style:var(--tw-border-style);padding-left:calc(var(--spacing) * 6);border-left-width:2px;font-style:italic}article ul{margin-block:calc(var(--spacing) * 6);margin-left:calc(var(--spacing) * 6);list-style-type:disc}article ul>li{margin-top:calc(var(--spacing) * 2)}article li ul{margin-top:calc(var(--spacing) * 4)}article ol{margin-block:calc(var(--spacing) * 6);margin-left:calc(var(--spacing) * 6);list-style-type:decimal}article ol>li{margin-top:calc(var(--spacing) * 2)}article pre{margin-top:calc(var(--spacing) * 6);margin-bottom:calc(var(--spacing) * 4);border-radius:var(--radius-xl);max-height:650px;padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 4);display:block}article>pre{background-color:var(--color-muted)}article pre code{font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));font-style:normal;position:relative}article pre code>span{padding-block:calc(var(--spacing) * .5)}article code:not(pre code){border-radius:var(--radius-md);background-color:var(--color-muted);font-family:var(--font-mono);--tw-outline-style:none;outline-style:none;padding-block:.2rem;padding-inline:.3rem;font-size:.8rem;position:relative}article tr td.linenos pre{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}article td.code pre{--tw-leading:calc(var(--spacing) * 0);line-height:calc(var(--spacing) * 0)}article .external_links>a{text-decoration-line:none}article div:empty{margin-top:calc(var(--spacing) * 0)}article a.footnote-ref{text-decoration-line:none}article a.footnote-backref{background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='lucide lucide-undo2-icon lucide-undo-2'%3E%3Cpath d='M9 14 4 9l5-5'/%3E%3Cpath d='M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='lucide lucide-undo2-icon lucide-undo-2'%3E%3Cpath d='M9 14 4 9l5-5'/%3E%3Cpath d='M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11'/%3E%3C/svg%3E") 50%/contain no-repeat}article .iconify{display:inline-block}article .codehilite table.codehilitetable{border-collapse:unset;margin:0}article .codehilite .linenos{left:calc(var(--spacing) * 0);padding-right:calc(var(--spacing) * 6);text-align:right;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-code-number);position:sticky}article .codehilite .hll .linenos{background-color:#0000}article .codehilite td.linenos{padding-right:calc(var(--spacing) * 0)}article .codehilite:has(>.codehilitetable){overflow:auto}article table.codehilitetable pre,article table.codehilitetable code{height:100%;overflow:visible}article table.codehilitetable tbody tr td{border-style:var(--tw-border-style);border-width:0}article table.codehilitetable pre{margin:calc(var(--spacing) * 0);padding-inline:calc(var(--spacing) * 0)}article .codehilite{margin-top:calc(var(--spacing) * 4);border-radius:var(--radius-xl);position:relative}article .codehilite pre{margin-top:calc(var(--spacing) * 0);margin-bottom:calc(var(--spacing) * 0);overflow:auto}article .codehilite code a{cursor:text;text-decoration-line:none}article details:not(:first-of-type){margin-top:calc(var(--spacing) * 0)!important}article details{margin-top:calc(var(--spacing) * 0);border-bottom-style:var(--tw-border-style);padding-block:calc(var(--spacing) * 4);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));border-bottom-width:1px}article details:not(:first-child){margin-top:calc(var(--spacing) * 6)}article details summary{cursor:pointer;--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));position:relative}@media (hover:hover){article details summary:hover{text-decoration-line:underline}}article details summary:where(.dark,.dark *):after{content:var(--tw-content);--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}article details summary::marker{content:""}article details summary:after{content:url("data:image/svg+xml;utf8,");right:calc(var(--spacing) * 1.5);aspect-ratio:1;transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));display:inline-block;position:absolute}article details[open] summary:after{rotate:180deg}article details[open]>p{margin-top:calc(var(--spacing) * 0);padding-block:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);text-decoration-line:none}article details[open]>p:last-child{padding-bottom:calc(var(--spacing) * 4)}article details[open]>p:first-of-type{padding-top:calc(var(--spacing) * 4)}.max-w-7xl{max-width:1400px}.max-w-8xl{max-width:1536px}footer a{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);text-underline-offset:4px;text-decoration-line:underline}article .doc code{padding:calc(var(--spacing) * 0);background-color:#0000}article .doc details{margin-top:calc(var(--spacing) * 0)}article .doc .doc-children{gap:calc(var(--spacing) * 4);flex-direction:column;display:flex}article .doc details+.doc-children{margin-top:calc(var(--spacing) * 4)}article .doc .doc-contents{margin-top:calc(var(--spacing) * 2);gap:calc(var(--spacing) * 2);flex-direction:column;display:flex}article .doc .doc-contents:empty{margin-top:calc(var(--spacing) * 0)}article .doc .doc-contents.first{margin-top:calc(var(--spacing) * 6)}article .typography>div:first-child>h2{margin-top:calc(var(--spacing) * 0)}article .doc .doc-contents p{margin-top:calc(var(--spacing) * 0);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-muted-foreground)}article .doc .doc-contents h3{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}:is(article .doc .doc-contents h3>*):is(code){font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}article .doc .doc-contents code{border-radius:0}article .doc .doc-contents ul{margin-top:calc(var(--spacing) * 0)}article .doc .doc-contents details{padding-block:calc(var(--spacing) * 2)}article .doc .doc-contents table:not(.codehilitetable){margin-top:calc(var(--spacing) * 2);width:100%;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}article .doc .doc-contents table th{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}article .doc .doc-contents .doc-class-bases{color:var(--color-foreground)}article .doc .doc-contents .doc-section-title{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-foreground)}article .doc .doc-object{border-radius:var(--radius-lg);background-color:var(--color-slate-50);padding:calc(var(--spacing) * 5)}article .doc .doc-object:where(.dark,.dark *){background-color:var(--color-slate-900)}article .doc .doc-object.doc-function{background-color:var(--color-stone-50)}article .doc .doc-object.doc-function:where(.dark,.dark *){background-color:var(--color-stone-900)}article .doc .doc-object h2,article .doc .doc-object h3,article .doc .doc-object h4{margin-top:calc(var(--spacing) * 0);flex-direction:row;justify-content:space-between;align-items:center;display:flex}article .doc .doc-object .doc-labels{gap:calc(var(--spacing) * 2);flex-direction:row;display:flex}article .doc .doc-object .doc-contents{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-muted-foreground)}article .doc .doc-object .doc-contents ul>li{margin-top:calc(var(--spacing) * 1)}article .doc .doc-object code{margin-top:calc(var(--spacing) * 0)}article .doc small code{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);color:var(--color-muted-foreground)}article .doc .doc-class-bases code{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}article .progress{height:calc(var(--spacing) * 2);background-color:var(--color-primary);border-radius:3.40282e38px;width:100%;position:relative}@supports (color:color-mix(in lab, red, red)){article .progress{background-color:color-mix(in oklab, var(--color-primary) 20%, transparent)}}article .progress-bar{background-color:var(--color-primary);border-top-left-radius:3.40282e38px;border-bottom-left-radius:3.40282e38px;height:100%}article .progress.success .progress-bar{background-color:var(--color-chart-2)}article .progress.warning .progress-bar{background-color:var(--color-warning)}article .progress.danger .progress-bar{background-color:var(--color-destructive)}article .progress-label{right:calc(var(--spacing) * 0);bottom:calc(var(--spacing) * 1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-primary);position:absolute}html{scroll-behavior:smooth}#inner-body{scrollbar-width:thin}@supports (scrollbar-width:thin){html,body{scrollbar-width:thin}}@supports (scrollbar-color:red){html,body{scrollbar-color:var(--color-muted-foreground)}}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-thumb{background:var(--color-muted-foreground);border-radius:2px}::-webkit-scrollbar-track{background:0 0}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{display:none}#mkdocs-search-results{align-items:stretch;gap:calc(var(--spacing) * 2);flex-direction:column;max-height:300px;display:flex;overflow:hidden auto}#mkdocs-search-results:has(article){padding:calc(var(--spacing) * 3)}#mkdocs-search-results>p:first-child{padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-muted-foreground)}#mkdocs-search-results article{align-items:flex-start;gap:calc(var(--spacing) * 2);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1.5);--tw-outline-style:none;border-radius:.25rem;outline-style:none;flex-direction:column;display:flex;position:relative}@media (hover:hover){#mkdocs-search-results article:hover{background-color:var(--color-accent)}}#mkdocs-search-results article>h3{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-foreground)}#mkdocs-search-results article>p{margin-top:calc(var(--spacing) * 0);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-muted-foreground)}#search-dialog::backdrop{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){#search-dialog::backdrop{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}article .tabbed-set{flex-flow:wrap;display:flex}article .tabbed-set:first-of-type{margin-top:calc(var(--spacing) * 6)}article .tabbed-set input[type=radio]{display:none}article .tabbed-set input[type=radio]:checked+label{border-bottom-color:var(--color-primary);color:var(--color-foreground)}article .tabbed-set label{cursor:pointer;border-bottom-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-muted-foreground);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));border-bottom-width:2px;border-bottom-color:#0000;order:1}@media (hover:hover){article .tabbed-set label:hover{color:var(--color-foreground)}}article .tabbed-set div.tabbed-content{margin-top:calc(var(--spacing) * 0);border-top-style:var(--tw-border-style);border-top-width:1px;border-top-color:var(--color-border);padding-top:calc(var(--spacing) * 3);flex-basis:100%;order:9999;display:none;overflow:auto}article .tabbed-content .codehilite{margin-top:calc(var(--spacing) * 0)}article .tabbed-set input[type=radio]:checked+label+div.tabbed-content{display:block}@view-transition{navigation:auto}::view-transition-old(header){animation-duration:.25s}::view-transition-new(header){animation-duration:.25s}::view-transition-old(sidebar){animation-duration:.25s}::view-transition-new(sidebar){animation-duration:.25s}::view-transition-old(page){animation-duration:.25s;animation-timing-function:ease}::view-transition-new(page){animation-duration:.25s;animation-timing-function:ease}article table:not(:first-child){margin-top:calc(var(--spacing) * 6)}article table{caption-side:bottom;width:100%;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}article table thead tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}article table tr{border-bottom-style:var(--tw-border-style);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));border-bottom-width:1px}@media (hover:hover){article table tr:hover{background-color:var(--color-muted)}@supports (color:color-mix(in lab, red, red)){article table tr:hover{background-color:color-mix(in oklab, var(--color-muted) 50%, transparent)}}}article table tr[data-state=selected]{background-color:var(--color-muted)}article table thead tr th{height:calc(var(--spacing) * 10);padding-inline:calc(var(--spacing) * 2);text-align:left;vertical-align:middle;--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);white-space:nowrap;color:var(--color-foreground)}article table thead tr th:has([role=checkbox]){padding-right:calc(var(--spacing) * 0)}article table thead tr th>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}article table tbody tr:last-child{border-style:var(--tw-border-style);border-width:0}article table tbody tr td{padding:calc(var(--spacing) * 2);vertical-align:middle;white-space:nowrap}article table tbody tr td:has([role=checkbox]){padding-right:calc(var(--spacing) * 0)}article table tbody tr td>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}article .table-wrapper{width:100%;position:relative;overflow-x:auto}article table .wrap{white-space:wrap}.codexec{position:relative}:where(.codexec>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.codexec>button{top:calc(var(--spacing) * 3);right:calc(var(--spacing) * 8);z-index:10;width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7);justify-content:center;align-items:center;gap:calc(var(--spacing) * 2);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);white-space:nowrap;transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-outline-style:none;background-color:#0000;outline-style:none;flex-shrink:0;display:inline-flex;position:absolute}@media (hover:hover){.codexec>button:hover{background-color:var(--color-accent);color:var(--color-accent-foreground);opacity:1}}.codexec>button:focus-visible{border-color:var(--color-ring);opacity:1;--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--color-ring)}@supports (color:color-mix(in lab, red, red)){.codexec>button:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-ring) 50%, transparent)}}.codexec>button:disabled{pointer-events:none;opacity:.5}.codexec>button[aria-invalid=true]{border-color:var(--color-destructive);--tw-ring-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.codexec>button[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 20%, transparent)}}@media (hover:hover){.codexec>button:where(.dark,.dark *):hover{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.codexec>button:where(.dark,.dark *):hover{background-color:color-mix(in oklab, var(--color-accent) 50%, transparent)}}}.codexec>button:where(.dark,.dark *)[aria-invalid=true]{--tw-ring-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.codexec>button:where(.dark,.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 40%, transparent)}}.codexec>button svg{pointer-events:none;flex-shrink:0}.codexec>button svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.codexec>button>svg.play{display:inline-block}.codexec>button>svg.loading,.codexec>button[data-status=loading]>svg.play{display:none}.codexec>button[data-status=loading]>svg.loading{display:inline-block}.codexec-result{border-radius:var(--radius-xl);background-color:var(--color-slate-50);color:var(--color-muted-foreground)}.codexec-result.error{background-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.codexec-result.error{background-color:color-mix(in oklab, var(--color-destructive) 5%, transparent)}}.codexec-result.error{color:var(--color-destructive)}.codexec-result>pre{margin:calc(var(--spacing) * 0);padding:calc(var(--spacing) * 4);font-family:var(--font-mono)}.codexec-result>pre:empty{padding:calc(var(--spacing) * 0)}article figcaption{margin-top:calc(var(--spacing) * 4);text-align:center;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-muted-foreground)}article figure:not(:first-child){margin-top:calc(var(--spacing) * 6)}kbd:not(:has(kbd)){pointer-events:none;height:calc(var(--spacing) * 5);width:fit-content;min-width:calc(var(--spacing) * 5);justify-content:center;align-items:center;gap:calc(var(--spacing) * 1);border-radius:var(--radius-sm);background-color:var(--color-muted);padding-inline:calc(var(--spacing) * 1);font-family:var(--font-sans);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-muted-foreground);-webkit-user-select:none;user-select:none;display:inline-flex}kbd:not(:has(kbd)) svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}[data-slot=tooltip-content] :is(kbd:not(:has(kbd))){background-color:var(--color-background)}@supports (color:color-mix(in lab, red, red)){[data-slot=tooltip-content] :is(kbd:not(:has(kbd))){background-color:color-mix(in oklab, var(--color-background) 20%, transparent)}}[data-slot=tooltip-content] :is(kbd:not(:has(kbd))){color:var(--color-background)}[data-slot=tooltip-content] kbd:not(:has(kbd)):where(.dark,.dark *){background-color:var(--color-background)}@supports (color:color-mix(in lab, red, red)){[data-slot=tooltip-content] kbd:not(:has(kbd)):where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-background) 10%, transparent)}}kbd:has(kbd){align-items:center;gap:calc(var(--spacing) * 1);display:inline-flex}.hover-card{pointer-events:none;z-index:10;border-radius:var(--radius-lg);background-color:var(--color-popover);width:max-content;min-width:150px;max-width:350px;padding:calc(var(--spacing) * 2.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-popover-foreground);opacity:0;--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:color-mix(in oklab, var(--color-foreground) 10%, transparent);--tw-outline-style:none;outline-style:none;position:absolute;margin-top:calc(var(--spacing) * 0)!important}@media (forced-colors:active){.hover-card{outline-offset:2px;outline:2px solid #0000}}.hover-card{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.15s;transition-duration:.15s;animation-duration:.15s}div.hover-card{--tw-enter-opacity:initial;--tw-enter-scale:.95;--tw-enter-rotate:initial;animation-duration:.15s}span.hover-card{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);top:105%;left:50%}.hover-card-trigger:hover span.hover-card,span.hover-card:hover{pointer-events:auto;opacity:1;--tw-enter-opacity:initial;--tw-enter-scale:.95;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:5%;animation-name:enter;animation-duration:.15s}.hover-card:hover{opacity:1;pointer-events:auto}.hover-card-trigger{text-decoration-line:underline;-webkit-text-decoration-color:var(--color-muted-foreground);-webkit-text-decoration-color:var(--color-muted-foreground);text-decoration-color:var(--color-muted-foreground);text-underline-offset:2px;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.15s;transition-duration:.15s;animation-duration:.15s;display:inline-block;position:relative}.hover-card-trigger:hover{-webkit-text-decoration-color:var(--color-foreground);-webkit-text-decoration-color:var(--color-foreground);text-decoration-color:var(--color-foreground)}.hover-card p:not(:first-of-type){margin-top:calc(var(--spacing) * 2)}.hover-card p:first-of-type{margin-top:calc(var(--spacing) * 0)}article .headerlink{margin-left:calc(var(--spacing) * 2);color:var(--color-muted-foreground);opacity:0;transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.1s;text-decoration-line:none;transition-duration:.1s;animation-duration:.1s;display:inline-block}article h1:hover .headerlink,article h2:hover .headerlink,article h3:hover .headerlink,article h4:hover .headerlink,article h5:hover .headerlink,article h6:hover .headerlink{opacity:.3}article .headerlink:hover{opacity:1!important}article div.toc{color:var(--color-muted-foreground)}article div.toc a{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);color:var(--color-muted-foreground);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;text-decoration-line:none;transition-duration:.2s;animation-duration:.2s}@media (hover:hover){article div.toc a:hover{color:var(--color-primary)}}article div.toc ul{margin-inline:calc(var(--spacing) * 4);margin-top:calc(var(--spacing) * 2);list-style-type:none}article h1:has(.headerlink.leading),article h2:has(.headerlink.leading),article h3:has(.headerlink.leading),article h4:has(.headerlink.leading),article h5:has(.headerlink.leading),article h6:has(.headerlink.leading){position:relative}article .headerlink.leading{left:calc(var(--spacing) * 0);margin-left:calc(var(--spacing) * 0);--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y);padding-right:calc(var(--spacing) * 2);position:absolute}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0), var(--tw-enter-translate-y,0), 0) scale3d(var(--tw-enter-scale,1), var(--tw-enter-scale,1), var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0), var(--tw-exit-translate-y,0), 0) scale3d(var(--tw-exit-scale,1), var(--tw-exit-scale,1), var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@keyframes spin{to{transform:rotate(360deg)}} \ No newline at end of file diff --git a/site/css/geist.css b/site/css/geist.css new file mode 100644 index 0000000..c0ab8d6 --- /dev/null +++ b/site/css/geist.css @@ -0,0 +1,29 @@ +@font-face { + font-family: "Geist"; + src: url("../fonts/Geist.woff2") format("woff2"); + font-weight: 100 900; + font-display: swap; +} + +@font-face { + font-family: "Geist Mono"; + src: url("../fonts/GeistMono.woff2") format("woff2"); + font-weight: 100 900; + font-display: swap; +} + +@font-face { + font-family: "Inter"; + font-style: normal; + src: url("../fonts/Inter.woff2") format("woff2"); + font-weight: 100 900; + font-display: swap; +} + +@font-face { + font-family: "Inter"; + font-style: italic; + src: url("../fonts/Inter-Italic.woff2") format("woff2"); + font-weight: 100 900; + font-display: swap; +} diff --git a/site/css/katex.min.css b/site/css/katex.min.css new file mode 100644 index 0000000..0cf4384 --- /dev/null +++ b/site/css/katex.min.css @@ -0,0 +1 @@ +@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(../fonts/katex/KaTeX_AMS-Regular.woff2) format("woff2")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(../fonts/katex/KaTeX_Caligraphic-Bold.woff2) format("woff2")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(../fonts/katex/KaTeX_Caligraphic-Regular.woff2) format("woff2")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(../fonts/katex/KaTeX_Fraktur-Bold.woff2) format("woff2")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(../fonts/katex/KaTeX_Fraktur-Regular.woff2) format("woff2")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(../fonts/katex/KaTeX_Main-Bold.woff2) format("woff2")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(../fonts/katex/KaTeX_Main-BoldItalic.woff2) format("woff2")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(../fonts/katex/KaTeX_Main-Italic.woff2) format("woff2")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(../fonts/katex/KaTeX_Main-Regular.woff2) format("woff2")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(../fonts/katex/KaTeX_Math-BoldItalic.woff2) format("woff2")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(../fonts/katex/KaTeX_Math-Italic.woff2) format("woff2")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(../fonts/katex/KaTeX_SansSerif-Bold.woff2) format("woff2")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(../fonts/katex/KaTeX_SansSerif-Italic.woff2) format("woff2")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(../fonts/katex/KaTeX_SansSerif-Regular.woff2) format("woff2")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(../fonts/katex/KaTeX_Script-Regular.woff2) format("woff2")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(../fonts/katex/KaTeX_Size1-Regular.woff2) format("woff2")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(../fonts/katex/KaTeX_Size2-Regular.woff2) format("woff2")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(../fonts/katex/KaTeX_Size3-Regular.woff2) format("woff2")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(../fonts/katex/KaTeX_Size4-Regular.woff2) format("woff2")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(../fonts/katex/KaTeX_Typewriter-Regular.woff2) format("woff2")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.33"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo} diff --git a/site/css/pygments/a11y-dark.css b/site/css/pygments/a11y-dark.css new file mode 100644 index 0000000..70eae31 --- /dev/null +++ b/site/css/pygments/a11y-dark.css @@ -0,0 +1,76 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #ffd9002e } +.codehilite { background: #2b2b2b; color: #F8F8F2 } +.codehilite .c { color: #D4D0AB } /* Comment */ +.codehilite .err { color: #FFA07A } /* Error */ +.codehilite .k { color: #DCC6E0 } /* Keyword */ +.codehilite .l { color: #F5AB35 } /* Literal */ +.codehilite .n { color: #F8F8F2 } /* Name */ +.codehilite .o { color: #ABE338 } /* Operator */ +.codehilite .p { color: #F8F8F2 } /* Punctuation */ +.codehilite .ch { color: #D4D0AB } /* Comment.Hashbang */ +.codehilite .cm { color: #D4D0AB } /* Comment.Multiline */ +.codehilite .cp { color: #D4D0AB } /* Comment.Preproc */ +.codehilite .cpf { color: #D4D0AB } /* Comment.PreprocFile */ +.codehilite .c1 { color: #D4D0AB } /* Comment.Single */ +.codehilite .cs { color: #D4D0AB } /* Comment.Special */ +.codehilite .gd { color: #00E0E0 } /* Generic.Deleted */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .gh { color: #00E0E0 } /* Generic.Heading */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #00E0E0 } /* Generic.Subheading */ +.codehilite .kc { color: #DCC6E0 } /* Keyword.Constant */ +.codehilite .kd { color: #DCC6E0 } /* Keyword.Declaration */ +.codehilite .kn { color: #DCC6E0 } /* Keyword.Namespace */ +.codehilite .kp { color: #DCC6E0 } /* Keyword.Pseudo */ +.codehilite .kr { color: #DCC6E0 } /* Keyword.Reserved */ +.codehilite .kt { color: #F5AB35 } /* Keyword.Type */ +.codehilite .ld { color: #F5AB35 } /* Literal.Date */ +.codehilite .m { color: #F5AB35 } /* Literal.Number */ +.codehilite .s { color: #ABE338 } /* Literal.String */ +.codehilite .na { color: #FFD700 } /* Name.Attribute */ +.codehilite .nb { color: #F5AB35 } /* Name.Builtin */ +.codehilite .nc { color: #00E0E0 } /* Name.Class */ +.codehilite .no { color: #00E0E0 } /* Name.Constant */ +.codehilite .nd { color: #F5AB35 } /* Name.Decorator */ +.codehilite .ni { color: #ABE338 } /* Name.Entity */ +.codehilite .ne { color: #DCC6E0 } /* Name.Exception */ +.codehilite .nf { color: #00E0E0 } /* Name.Function */ +.codehilite .nl { color: #F5AB35 } /* Name.Label */ +.codehilite .nn { color: #F8F8F2 } /* Name.Namespace */ +.codehilite .nx { color: #F8F8F2 } /* Name.Other */ +.codehilite .py { color: #00E0E0 } /* Name.Property */ +.codehilite .nt { color: #00E0E0 } /* Name.Tag */ +.codehilite .nv { color: #FFA07A } /* Name.Variable */ +.codehilite .ow { color: #DCC6E0 } /* Operator.Word */ +.codehilite .pm { color: #F8F8F2 } /* Punctuation.Marker */ +.codehilite .w { color: #F8F8F2 } /* Text.Whitespace */ +.codehilite .mb { color: #F5AB35 } /* Literal.Number.Bin */ +.codehilite .mf { color: #F5AB35 } /* Literal.Number.Float */ +.codehilite .mh { color: #F5AB35 } /* Literal.Number.Hex */ +.codehilite .mi { color: #F5AB35 } /* Literal.Number.Integer */ +.codehilite .mo { color: #F5AB35 } /* Literal.Number.Oct */ +.codehilite .sa { color: #ABE338 } /* Literal.String.Affix */ +.codehilite .sb { color: #ABE338 } /* Literal.String.Backtick */ +.codehilite .sc { color: #ABE338 } /* Literal.String.Char */ +.codehilite .dl { color: #ABE338 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #ABE338 } /* Literal.String.Doc */ +.codehilite .s2 { color: #ABE338 } /* Literal.String.Double */ +.codehilite .se { color: #ABE338 } /* Literal.String.Escape */ +.codehilite .sh { color: #ABE338 } /* Literal.String.Heredoc */ +.codehilite .si { color: #ABE338 } /* Literal.String.Interpol */ +.codehilite .sx { color: #ABE338 } /* Literal.String.Other */ +.codehilite .sr { color: #FFA07A } /* Literal.String.Regex */ +.codehilite .s1 { color: #ABE338 } /* Literal.String.Single */ +.codehilite .ss { color: #00E0E0 } /* Literal.String.Symbol */ +.codehilite .bp { color: #F5AB35 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #00E0E0 } /* Name.Function.Magic */ +.codehilite .vc { color: #FFA07A } /* Name.Variable.Class */ +.codehilite .vg { color: #FFA07A } /* Name.Variable.Global */ +.codehilite .vi { color: #FFA07A } /* Name.Variable.Instance */ +.codehilite .vm { color: #F5AB35 } /* Name.Variable.Magic */ +.codehilite .il { color: #F5AB35 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/a11y-high-contrast-dark.css b/site/css/pygments/a11y-high-contrast-dark.css new file mode 100644 index 0000000..1ff8c0e --- /dev/null +++ b/site/css/pygments/a11y-high-contrast-dark.css @@ -0,0 +1,76 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #ffd9002e } +.codehilite { background: #2b2b2b; color: #F8F8F2 } +.codehilite .c { color: #FFD900 } /* Comment */ +.codehilite .err { color: #FFA07A } /* Error */ +.codehilite .k { color: #DCC6E0 } /* Keyword */ +.codehilite .l { color: #FFD900 } /* Literal */ +.codehilite .n { color: #F8F8F2 } /* Name */ +.codehilite .o { color: #ABE338 } /* Operator */ +.codehilite .p { color: #F8F8F2 } /* Punctuation */ +.codehilite .ch { color: #FFD900 } /* Comment.Hashbang */ +.codehilite .cm { color: #FFD900 } /* Comment.Multiline */ +.codehilite .cp { color: #FFD900 } /* Comment.Preproc */ +.codehilite .cpf { color: #FFD900 } /* Comment.PreprocFile */ +.codehilite .c1 { color: #FFD900 } /* Comment.Single */ +.codehilite .cs { color: #FFD900 } /* Comment.Special */ +.codehilite .gd { color: #00E0E0 } /* Generic.Deleted */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .gh { color: #00E0E0 } /* Generic.Heading */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #00E0E0 } /* Generic.Subheading */ +.codehilite .kc { color: #DCC6E0 } /* Keyword.Constant */ +.codehilite .kd { color: #DCC6E0 } /* Keyword.Declaration */ +.codehilite .kn { color: #DCC6E0 } /* Keyword.Namespace */ +.codehilite .kp { color: #DCC6E0 } /* Keyword.Pseudo */ +.codehilite .kr { color: #DCC6E0 } /* Keyword.Reserved */ +.codehilite .kt { color: #FFD900 } /* Keyword.Type */ +.codehilite .ld { color: #FFD900 } /* Literal.Date */ +.codehilite .m { color: #FFD900 } /* Literal.Number */ +.codehilite .s { color: #ABE338 } /* Literal.String */ +.codehilite .na { color: #FFD900 } /* Name.Attribute */ +.codehilite .nb { color: #FFD900 } /* Name.Builtin */ +.codehilite .nc { color: #00E0E0 } /* Name.Class */ +.codehilite .no { color: #00E0E0 } /* Name.Constant */ +.codehilite .nd { color: #FFD900 } /* Name.Decorator */ +.codehilite .ni { color: #ABE338 } /* Name.Entity */ +.codehilite .ne { color: #DCC6E0 } /* Name.Exception */ +.codehilite .nf { color: #00E0E0 } /* Name.Function */ +.codehilite .nl { color: #FFD900 } /* Name.Label */ +.codehilite .nn { color: #F8F8F2 } /* Name.Namespace */ +.codehilite .nx { color: #F8F8F2 } /* Name.Other */ +.codehilite .py { color: #00E0E0 } /* Name.Property */ +.codehilite .nt { color: #00E0E0 } /* Name.Tag */ +.codehilite .nv { color: #FFA07A } /* Name.Variable */ +.codehilite .ow { color: #DCC6E0 } /* Operator.Word */ +.codehilite .pm { color: #F8F8F2 } /* Punctuation.Marker */ +.codehilite .w { color: #F8F8F2 } /* Text.Whitespace */ +.codehilite .mb { color: #FFD900 } /* Literal.Number.Bin */ +.codehilite .mf { color: #FFD900 } /* Literal.Number.Float */ +.codehilite .mh { color: #FFD900 } /* Literal.Number.Hex */ +.codehilite .mi { color: #FFD900 } /* Literal.Number.Integer */ +.codehilite .mo { color: #FFD900 } /* Literal.Number.Oct */ +.codehilite .sa { color: #ABE338 } /* Literal.String.Affix */ +.codehilite .sb { color: #ABE338 } /* Literal.String.Backtick */ +.codehilite .sc { color: #ABE338 } /* Literal.String.Char */ +.codehilite .dl { color: #ABE338 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #ABE338 } /* Literal.String.Doc */ +.codehilite .s2 { color: #ABE338 } /* Literal.String.Double */ +.codehilite .se { color: #ABE338 } /* Literal.String.Escape */ +.codehilite .sh { color: #ABE338 } /* Literal.String.Heredoc */ +.codehilite .si { color: #ABE338 } /* Literal.String.Interpol */ +.codehilite .sx { color: #ABE338 } /* Literal.String.Other */ +.codehilite .sr { color: #FFA07A } /* Literal.String.Regex */ +.codehilite .s1 { color: #ABE338 } /* Literal.String.Single */ +.codehilite .ss { color: #00E0E0 } /* Literal.String.Symbol */ +.codehilite .bp { color: #FFD900 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #00E0E0 } /* Name.Function.Magic */ +.codehilite .vc { color: #FFA07A } /* Name.Variable.Class */ +.codehilite .vg { color: #FFA07A } /* Name.Variable.Global */ +.codehilite .vi { color: #FFA07A } /* Name.Variable.Instance */ +.codehilite .vm { color: #FFD900 } /* Name.Variable.Magic */ +.codehilite .il { color: #FFD900 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/a11y-high-contrast-light.css b/site/css/pygments/a11y-high-contrast-light.css new file mode 100644 index 0000000..bbaf5ac --- /dev/null +++ b/site/css/pygments/a11y-high-contrast-light.css @@ -0,0 +1,76 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #7971292e } +.codehilite { background: #fefefe; color: #545454 } +.codehilite .c { color: #797129 } /* Comment */ +.codehilite .err { color: #D91E18 } /* Error */ +.codehilite .k { color: #7928A1 } /* Keyword */ +.codehilite .l { color: #797129 } /* Literal */ +.codehilite .n { color: #545454 } /* Name */ +.codehilite .o { color: #008000 } /* Operator */ +.codehilite .p { color: #545454 } /* Punctuation */ +.codehilite .ch { color: #797129 } /* Comment.Hashbang */ +.codehilite .cm { color: #797129 } /* Comment.Multiline */ +.codehilite .cp { color: #797129 } /* Comment.Preproc */ +.codehilite .cpf { color: #797129 } /* Comment.PreprocFile */ +.codehilite .c1 { color: #797129 } /* Comment.Single */ +.codehilite .cs { color: #797129 } /* Comment.Special */ +.codehilite .gd { color: #007FAA } /* Generic.Deleted */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .gh { color: #007FAA } /* Generic.Heading */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #007FAA } /* Generic.Subheading */ +.codehilite .kc { color: #7928A1 } /* Keyword.Constant */ +.codehilite .kd { color: #7928A1 } /* Keyword.Declaration */ +.codehilite .kn { color: #7928A1 } /* Keyword.Namespace */ +.codehilite .kp { color: #7928A1 } /* Keyword.Pseudo */ +.codehilite .kr { color: #7928A1 } /* Keyword.Reserved */ +.codehilite .kt { color: #797129 } /* Keyword.Type */ +.codehilite .ld { color: #797129 } /* Literal.Date */ +.codehilite .m { color: #797129 } /* Literal.Number */ +.codehilite .s { color: #008000 } /* Literal.String */ +.codehilite .na { color: #797129 } /* Name.Attribute */ +.codehilite .nb { color: #797129 } /* Name.Builtin */ +.codehilite .nc { color: #007FAA } /* Name.Class */ +.codehilite .no { color: #007FAA } /* Name.Constant */ +.codehilite .nd { color: #797129 } /* Name.Decorator */ +.codehilite .ni { color: #008000 } /* Name.Entity */ +.codehilite .ne { color: #7928A1 } /* Name.Exception */ +.codehilite .nf { color: #007FAA } /* Name.Function */ +.codehilite .nl { color: #797129 } /* Name.Label */ +.codehilite .nn { color: #545454 } /* Name.Namespace */ +.codehilite .nx { color: #545454 } /* Name.Other */ +.codehilite .py { color: #007FAA } /* Name.Property */ +.codehilite .nt { color: #007FAA } /* Name.Tag */ +.codehilite .nv { color: #D91E18 } /* Name.Variable */ +.codehilite .ow { color: #7928A1 } /* Operator.Word */ +.codehilite .pm { color: #545454 } /* Punctuation.Marker */ +.codehilite .w { color: #545454 } /* Text.Whitespace */ +.codehilite .mb { color: #797129 } /* Literal.Number.Bin */ +.codehilite .mf { color: #797129 } /* Literal.Number.Float */ +.codehilite .mh { color: #797129 } /* Literal.Number.Hex */ +.codehilite .mi { color: #797129 } /* Literal.Number.Integer */ +.codehilite .mo { color: #797129 } /* Literal.Number.Oct */ +.codehilite .sa { color: #008000 } /* Literal.String.Affix */ +.codehilite .sb { color: #008000 } /* Literal.String.Backtick */ +.codehilite .sc { color: #008000 } /* Literal.String.Char */ +.codehilite .dl { color: #008000 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #008000 } /* Literal.String.Doc */ +.codehilite .s2 { color: #008000 } /* Literal.String.Double */ +.codehilite .se { color: #008000 } /* Literal.String.Escape */ +.codehilite .sh { color: #008000 } /* Literal.String.Heredoc */ +.codehilite .si { color: #008000 } /* Literal.String.Interpol */ +.codehilite .sx { color: #008000 } /* Literal.String.Other */ +.codehilite .sr { color: #D91E18 } /* Literal.String.Regex */ +.codehilite .s1 { color: #008000 } /* Literal.String.Single */ +.codehilite .ss { color: #007FAA } /* Literal.String.Symbol */ +.codehilite .bp { color: #797129 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #007FAA } /* Name.Function.Magic */ +.codehilite .vc { color: #D91E18 } /* Name.Variable.Class */ +.codehilite .vg { color: #D91E18 } /* Name.Variable.Global */ +.codehilite .vi { color: #D91E18 } /* Name.Variable.Instance */ +.codehilite .vm { color: #797129 } /* Name.Variable.Magic */ +.codehilite .il { color: #797129 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/a11y-light.css b/site/css/pygments/a11y-light.css new file mode 100644 index 0000000..0474dab --- /dev/null +++ b/site/css/pygments/a11y-light.css @@ -0,0 +1,76 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #7971292e } +.codehilite { background: #fefefe; color: #545454 } +.codehilite .c { color: #696969 } /* Comment */ +.codehilite .err { color: #D91E18 } /* Error */ +.codehilite .k { color: #7928A1 } /* Keyword */ +.codehilite .l { color: #AA5D00 } /* Literal */ +.codehilite .n { color: #545454 } /* Name */ +.codehilite .o { color: #008000 } /* Operator */ +.codehilite .p { color: #545454 } /* Punctuation */ +.codehilite .ch { color: #696969 } /* Comment.Hashbang */ +.codehilite .cm { color: #696969 } /* Comment.Multiline */ +.codehilite .cp { color: #696969 } /* Comment.Preproc */ +.codehilite .cpf { color: #696969 } /* Comment.PreprocFile */ +.codehilite .c1 { color: #696969 } /* Comment.Single */ +.codehilite .cs { color: #696969 } /* Comment.Special */ +.codehilite .gd { color: #007FAA } /* Generic.Deleted */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .gh { color: #007FAA } /* Generic.Heading */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #007FAA } /* Generic.Subheading */ +.codehilite .kc { color: #7928A1 } /* Keyword.Constant */ +.codehilite .kd { color: #7928A1 } /* Keyword.Declaration */ +.codehilite .kn { color: #7928A1 } /* Keyword.Namespace */ +.codehilite .kp { color: #7928A1 } /* Keyword.Pseudo */ +.codehilite .kr { color: #7928A1 } /* Keyword.Reserved */ +.codehilite .kt { color: #AA5D00 } /* Keyword.Type */ +.codehilite .ld { color: #AA5D00 } /* Literal.Date */ +.codehilite .m { color: #AA5D00 } /* Literal.Number */ +.codehilite .s { color: #008000 } /* Literal.String */ +.codehilite .na { color: #AA5D00 } /* Name.Attribute */ +.codehilite .nb { color: #AA5D00 } /* Name.Builtin */ +.codehilite .nc { color: #007FAA } /* Name.Class */ +.codehilite .no { color: #007FAA } /* Name.Constant */ +.codehilite .nd { color: #AA5D00 } /* Name.Decorator */ +.codehilite .ni { color: #008000 } /* Name.Entity */ +.codehilite .ne { color: #7928A1 } /* Name.Exception */ +.codehilite .nf { color: #007FAA } /* Name.Function */ +.codehilite .nl { color: #AA5D00 } /* Name.Label */ +.codehilite .nn { color: #545454 } /* Name.Namespace */ +.codehilite .nx { color: #545454 } /* Name.Other */ +.codehilite .py { color: #007FAA } /* Name.Property */ +.codehilite .nt { color: #007FAA } /* Name.Tag */ +.codehilite .nv { color: #D91E18 } /* Name.Variable */ +.codehilite .ow { color: #7928A1 } /* Operator.Word */ +.codehilite .pm { color: #545454 } /* Punctuation.Marker */ +.codehilite .w { color: #545454 } /* Text.Whitespace */ +.codehilite .mb { color: #AA5D00 } /* Literal.Number.Bin */ +.codehilite .mf { color: #AA5D00 } /* Literal.Number.Float */ +.codehilite .mh { color: #AA5D00 } /* Literal.Number.Hex */ +.codehilite .mi { color: #AA5D00 } /* Literal.Number.Integer */ +.codehilite .mo { color: #AA5D00 } /* Literal.Number.Oct */ +.codehilite .sa { color: #008000 } /* Literal.String.Affix */ +.codehilite .sb { color: #008000 } /* Literal.String.Backtick */ +.codehilite .sc { color: #008000 } /* Literal.String.Char */ +.codehilite .dl { color: #008000 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #008000 } /* Literal.String.Doc */ +.codehilite .s2 { color: #008000 } /* Literal.String.Double */ +.codehilite .se { color: #008000 } /* Literal.String.Escape */ +.codehilite .sh { color: #008000 } /* Literal.String.Heredoc */ +.codehilite .si { color: #008000 } /* Literal.String.Interpol */ +.codehilite .sx { color: #008000 } /* Literal.String.Other */ +.codehilite .sr { color: #D91E18 } /* Literal.String.Regex */ +.codehilite .s1 { color: #008000 } /* Literal.String.Single */ +.codehilite .ss { color: #007FAA } /* Literal.String.Symbol */ +.codehilite .bp { color: #AA5D00 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #007FAA } /* Name.Function.Magic */ +.codehilite .vc { color: #D91E18 } /* Name.Variable.Class */ +.codehilite .vg { color: #D91E18 } /* Name.Variable.Global */ +.codehilite .vi { color: #D91E18 } /* Name.Variable.Instance */ +.codehilite .vm { color: #AA5D00 } /* Name.Variable.Magic */ +.codehilite .il { color: #AA5D00 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/abap.css b/site/css/pygments/abap.css new file mode 100644 index 0000000..5468219 --- /dev/null +++ b/site/css/pygments/abap.css @@ -0,0 +1,65 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #ffffcc } +.codehilite { background: #ffffff; } +.codehilite .c { color: #888; font-style: italic } /* Comment */ +.codehilite .err { color: #F00 } /* Error */ +.codehilite .k { color: #00F } /* Keyword */ +.codehilite .n { color: #000 } /* Name */ +.codehilite .ch { color: #888; font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { color: #888; font-style: italic } /* Comment.Multiline */ +.codehilite .cp { color: #888; font-style: italic } /* Comment.Preproc */ +.codehilite .cpf { color: #888; font-style: italic } /* Comment.PreprocFile */ +.codehilite .c1 { color: #888; font-style: italic } /* Comment.Single */ +.codehilite .cs { color: #888; font-style: italic } /* Comment.Special */ +.codehilite .kc { color: #00F } /* Keyword.Constant */ +.codehilite .kd { color: #00F } /* Keyword.Declaration */ +.codehilite .kn { color: #00F } /* Keyword.Namespace */ +.codehilite .kp { color: #00F } /* Keyword.Pseudo */ +.codehilite .kr { color: #00F } /* Keyword.Reserved */ +.codehilite .kt { color: #00F } /* Keyword.Type */ +.codehilite .m { color: #3AF } /* Literal.Number */ +.codehilite .s { color: #5A2 } /* Literal.String */ +.codehilite .na { color: #000 } /* Name.Attribute */ +.codehilite .nb { color: #000 } /* Name.Builtin */ +.codehilite .nc { color: #000 } /* Name.Class */ +.codehilite .no { color: #000 } /* Name.Constant */ +.codehilite .nd { color: #000 } /* Name.Decorator */ +.codehilite .ni { color: #000 } /* Name.Entity */ +.codehilite .ne { color: #000 } /* Name.Exception */ +.codehilite .nf { color: #000 } /* Name.Function */ +.codehilite .nl { color: #000 } /* Name.Label */ +.codehilite .nn { color: #000 } /* Name.Namespace */ +.codehilite .nx { color: #000 } /* Name.Other */ +.codehilite .py { color: #000 } /* Name.Property */ +.codehilite .nt { color: #000 } /* Name.Tag */ +.codehilite .nv { color: #000 } /* Name.Variable */ +.codehilite .ow { color: #00F } /* Operator.Word */ +.codehilite .mb { color: #3AF } /* Literal.Number.Bin */ +.codehilite .mf { color: #3AF } /* Literal.Number.Float */ +.codehilite .mh { color: #3AF } /* Literal.Number.Hex */ +.codehilite .mi { color: #3AF } /* Literal.Number.Integer */ +.codehilite .mo { color: #3AF } /* Literal.Number.Oct */ +.codehilite .sa { color: #5A2 } /* Literal.String.Affix */ +.codehilite .sb { color: #5A2 } /* Literal.String.Backtick */ +.codehilite .sc { color: #5A2 } /* Literal.String.Char */ +.codehilite .dl { color: #5A2 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #5A2 } /* Literal.String.Doc */ +.codehilite .s2 { color: #5A2 } /* Literal.String.Double */ +.codehilite .se { color: #5A2 } /* Literal.String.Escape */ +.codehilite .sh { color: #5A2 } /* Literal.String.Heredoc */ +.codehilite .si { color: #5A2 } /* Literal.String.Interpol */ +.codehilite .sx { color: #5A2 } /* Literal.String.Other */ +.codehilite .sr { color: #5A2 } /* Literal.String.Regex */ +.codehilite .s1 { color: #5A2 } /* Literal.String.Single */ +.codehilite .ss { color: #5A2 } /* Literal.String.Symbol */ +.codehilite .bp { color: #000 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #000 } /* Name.Function.Magic */ +.codehilite .vc { color: #000 } /* Name.Variable.Class */ +.codehilite .vg { color: #000 } /* Name.Variable.Global */ +.codehilite .vi { color: #000 } /* Name.Variable.Instance */ +.codehilite .vm { color: #000 } /* Name.Variable.Magic */ +.codehilite .il { color: #3AF } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/algol.css b/site/css/pygments/algol.css new file mode 100644 index 0000000..368ffb2 --- /dev/null +++ b/site/css/pygments/algol.css @@ -0,0 +1,49 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #ffffcc } +.codehilite { background: #ffffff; } +.codehilite .c { color: #888; font-style: italic } /* Comment */ +.codehilite .err { border: 1px solid #F00 } /* Error */ +.codehilite .k { font-weight: bold; text-decoration: underline } /* Keyword */ +.codehilite .ch { color: #888; font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { color: #888; font-style: italic } /* Comment.Multiline */ +.codehilite .cp { color: #888; font-weight: bold } /* Comment.Preproc */ +.codehilite .cpf { color: #888; font-style: italic } /* Comment.PreprocFile */ +.codehilite .c1 { color: #888; font-style: italic } /* Comment.Single */ +.codehilite .cs { color: #888; font-weight: bold } /* Comment.Special */ +.codehilite .kc { font-weight: bold; text-decoration: underline } /* Keyword.Constant */ +.codehilite .kd { font-weight: bold; font-style: italic; text-decoration: underline } /* Keyword.Declaration */ +.codehilite .kn { font-weight: bold; text-decoration: underline } /* Keyword.Namespace */ +.codehilite .kp { font-weight: bold; text-decoration: underline } /* Keyword.Pseudo */ +.codehilite .kr { font-weight: bold; text-decoration: underline } /* Keyword.Reserved */ +.codehilite .kt { font-weight: bold; text-decoration: underline } /* Keyword.Type */ +.codehilite .s { color: #666; font-style: italic } /* Literal.String */ +.codehilite .nb { font-weight: bold; font-style: italic } /* Name.Builtin */ +.codehilite .nc { color: #666; font-weight: bold; font-style: italic } /* Name.Class */ +.codehilite .no { color: #666; font-weight: bold; font-style: italic } /* Name.Constant */ +.codehilite .nf { color: #666; font-weight: bold; font-style: italic } /* Name.Function */ +.codehilite .nn { color: #666; font-weight: bold; font-style: italic } /* Name.Namespace */ +.codehilite .nv { color: #666; font-weight: bold; font-style: italic } /* Name.Variable */ +.codehilite .ow { font-weight: bold } /* Operator.Word */ +.codehilite .sa { color: #666; font-style: italic } /* Literal.String.Affix */ +.codehilite .sb { color: #666; font-style: italic } /* Literal.String.Backtick */ +.codehilite .sc { color: #666; font-style: italic } /* Literal.String.Char */ +.codehilite .dl { color: #666; font-style: italic } /* Literal.String.Delimiter */ +.codehilite .sd { color: #666; font-style: italic } /* Literal.String.Doc */ +.codehilite .s2 { color: #666; font-style: italic } /* Literal.String.Double */ +.codehilite .se { color: #666; font-style: italic } /* Literal.String.Escape */ +.codehilite .sh { color: #666; font-style: italic } /* Literal.String.Heredoc */ +.codehilite .si { color: #666; font-style: italic } /* Literal.String.Interpol */ +.codehilite .sx { color: #666; font-style: italic } /* Literal.String.Other */ +.codehilite .sr { color: #666; font-style: italic } /* Literal.String.Regex */ +.codehilite .s1 { color: #666; font-style: italic } /* Literal.String.Single */ +.codehilite .ss { color: #666; font-style: italic } /* Literal.String.Symbol */ +.codehilite .bp { font-weight: bold; font-style: italic } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #666; font-weight: bold; font-style: italic } /* Name.Function.Magic */ +.codehilite .vc { color: #666; font-weight: bold; font-style: italic } /* Name.Variable.Class */ +.codehilite .vg { color: #666; font-weight: bold; font-style: italic } /* Name.Variable.Global */ +.codehilite .vi { color: #666; font-weight: bold; font-style: italic } /* Name.Variable.Instance */ +.codehilite .vm { color: #666; font-weight: bold; font-style: italic } /* Name.Variable.Magic */ \ No newline at end of file diff --git a/site/css/pygments/algol_nu.css b/site/css/pygments/algol_nu.css new file mode 100644 index 0000000..09ce96a --- /dev/null +++ b/site/css/pygments/algol_nu.css @@ -0,0 +1,49 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #ffffcc } +.codehilite { background: #ffffff; } +.codehilite .c { color: #888; font-style: italic } /* Comment */ +.codehilite .err { border: 1px solid #F00 } /* Error */ +.codehilite .k { font-weight: bold } /* Keyword */ +.codehilite .ch { color: #888; font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { color: #888; font-style: italic } /* Comment.Multiline */ +.codehilite .cp { color: #888; font-weight: bold } /* Comment.Preproc */ +.codehilite .cpf { color: #888; font-style: italic } /* Comment.PreprocFile */ +.codehilite .c1 { color: #888; font-style: italic } /* Comment.Single */ +.codehilite .cs { color: #888; font-weight: bold } /* Comment.Special */ +.codehilite .kc { font-weight: bold } /* Keyword.Constant */ +.codehilite .kd { font-weight: bold; font-style: italic } /* Keyword.Declaration */ +.codehilite .kn { font-weight: bold } /* Keyword.Namespace */ +.codehilite .kp { font-weight: bold } /* Keyword.Pseudo */ +.codehilite .kr { font-weight: bold } /* Keyword.Reserved */ +.codehilite .kt { font-weight: bold } /* Keyword.Type */ +.codehilite .s { color: #666; font-style: italic } /* Literal.String */ +.codehilite .nb { font-weight: bold; font-style: italic } /* Name.Builtin */ +.codehilite .nc { color: #666; font-weight: bold; font-style: italic } /* Name.Class */ +.codehilite .no { color: #666; font-weight: bold; font-style: italic } /* Name.Constant */ +.codehilite .nf { color: #666; font-weight: bold; font-style: italic } /* Name.Function */ +.codehilite .nn { color: #666; font-weight: bold; font-style: italic } /* Name.Namespace */ +.codehilite .nv { color: #666; font-weight: bold; font-style: italic } /* Name.Variable */ +.codehilite .ow { font-weight: bold } /* Operator.Word */ +.codehilite .sa { color: #666; font-style: italic } /* Literal.String.Affix */ +.codehilite .sb { color: #666; font-style: italic } /* Literal.String.Backtick */ +.codehilite .sc { color: #666; font-style: italic } /* Literal.String.Char */ +.codehilite .dl { color: #666; font-style: italic } /* Literal.String.Delimiter */ +.codehilite .sd { color: #666; font-style: italic } /* Literal.String.Doc */ +.codehilite .s2 { color: #666; font-style: italic } /* Literal.String.Double */ +.codehilite .se { color: #666; font-style: italic } /* Literal.String.Escape */ +.codehilite .sh { color: #666; font-style: italic } /* Literal.String.Heredoc */ +.codehilite .si { color: #666; font-style: italic } /* Literal.String.Interpol */ +.codehilite .sx { color: #666; font-style: italic } /* Literal.String.Other */ +.codehilite .sr { color: #666; font-style: italic } /* Literal.String.Regex */ +.codehilite .s1 { color: #666; font-style: italic } /* Literal.String.Single */ +.codehilite .ss { color: #666; font-style: italic } /* Literal.String.Symbol */ +.codehilite .bp { font-weight: bold; font-style: italic } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #666; font-weight: bold; font-style: italic } /* Name.Function.Magic */ +.codehilite .vc { color: #666; font-weight: bold; font-style: italic } /* Name.Variable.Class */ +.codehilite .vg { color: #666; font-weight: bold; font-style: italic } /* Name.Variable.Global */ +.codehilite .vi { color: #666; font-weight: bold; font-style: italic } /* Name.Variable.Instance */ +.codehilite .vm { color: #666; font-weight: bold; font-style: italic } /* Name.Variable.Magic */ \ No newline at end of file diff --git a/site/css/pygments/all.css b/site/css/pygments/all.css new file mode 100644 index 0000000..109cea4 --- /dev/null +++ b/site/css/pygments/all.css @@ -0,0 +1,4536 @@ +.codehilite.abap .hll { background-color: #ffffcc } +.codehilite.abap { background: #ffffff; } +.codehilite.abap .c { color: #888; font-style: italic } /* Comment */ +.codehilite.abap .err { color: #F00 } /* Error */ +.codehilite.abap .k { color: #00F } /* Keyword */ +.codehilite.abap .n { color: #000 } /* Name */ +.codehilite.abap .ch { color: #888; font-style: italic } /* Comment.Hashbang */ +.codehilite.abap .cm { color: #888; font-style: italic } /* Comment.Multiline */ +.codehilite.abap .cp { color: #888; font-style: italic } /* Comment.Preproc */ +.codehilite.abap .cpf { color: #888; font-style: italic } /* Comment.PreprocFile */ +.codehilite.abap .c1 { color: #888; font-style: italic } /* Comment.Single */ +.codehilite.abap .cs { color: #888; font-style: italic } /* Comment.Special */ +.codehilite.abap .kc { color: #00F } /* Keyword.Constant */ +.codehilite.abap .kd { color: #00F } /* Keyword.Declaration */ +.codehilite.abap .kn { color: #00F } /* Keyword.Namespace */ +.codehilite.abap .kp { color: #00F } /* Keyword.Pseudo */ +.codehilite.abap .kr { color: #00F } /* Keyword.Reserved */ +.codehilite.abap .kt { color: #00F } /* Keyword.Type */ +.codehilite.abap .m { color: #3AF } /* Literal.Number */ +.codehilite.abap .s { color: #5A2 } /* Literal.String */ +.codehilite.abap .na { color: #000 } /* Name.Attribute */ +.codehilite.abap .nb { color: #000 } /* Name.Builtin */ +.codehilite.abap .nc { color: #000 } /* Name.Class */ +.codehilite.abap .no { color: #000 } /* Name.Constant */ +.codehilite.abap .nd { color: #000 } /* Name.Decorator */ +.codehilite.abap .ni { color: #000 } /* Name.Entity */ +.codehilite.abap .ne { color: #000 } /* Name.Exception */ +.codehilite.abap .nf { color: #000 } /* Name.Function */ +.codehilite.abap .nl { color: #000 } /* Name.Label */ +.codehilite.abap .nn { color: #000 } /* Name.Namespace */ +.codehilite.abap .nx { color: #000 } /* Name.Other */ +.codehilite.abap .py { color: #000 } /* Name.Property */ +.codehilite.abap .nt { color: #000 } /* Name.Tag */ +.codehilite.abap .nv { color: #000 } /* Name.Variable */ +.codehilite.abap .ow { color: #00F } /* Operator.Word */ +.codehilite.abap .mb { color: #3AF } /* Literal.Number.Bin */ +.codehilite.abap .mf { color: #3AF } /* Literal.Number.Float */ +.codehilite.abap .mh { color: #3AF } /* Literal.Number.Hex */ +.codehilite.abap .mi { color: #3AF } /* Literal.Number.Integer */ +.codehilite.abap .mo { color: #3AF } /* Literal.Number.Oct */ +.codehilite.abap .sa { color: #5A2 } /* Literal.String.Affix */ +.codehilite.abap .sb { color: #5A2 } /* Literal.String.Backtick */ +.codehilite.abap .sc { color: #5A2 } /* Literal.String.Char */ +.codehilite.abap .dl { color: #5A2 } /* Literal.String.Delimiter */ +.codehilite.abap .sd { color: #5A2 } /* Literal.String.Doc */ +.codehilite.abap .s2 { color: #5A2 } /* Literal.String.Double */ +.codehilite.abap .se { color: #5A2 } /* Literal.String.Escape */ +.codehilite.abap .sh { color: #5A2 } /* Literal.String.Heredoc */ +.codehilite.abap .si { color: #5A2 } /* Literal.String.Interpol */ +.codehilite.abap .sx { color: #5A2 } /* Literal.String.Other */ +.codehilite.abap .sr { color: #5A2 } /* Literal.String.Regex */ +.codehilite.abap .s1 { color: #5A2 } /* Literal.String.Single */ +.codehilite.abap .ss { color: #5A2 } /* Literal.String.Symbol */ +.codehilite.abap .bp { color: #000 } /* Name.Builtin.Pseudo */ +.codehilite.abap .fm { color: #000 } /* Name.Function.Magic */ +.codehilite.abap .vc { color: #000 } /* Name.Variable.Class */ +.codehilite.abap .vg { color: #000 } /* Name.Variable.Global */ +.codehilite.abap .vi { color: #000 } /* Name.Variable.Instance */ +.codehilite.abap .vm { color: #000 } /* Name.Variable.Magic */ +.codehilite.abap .il { color: #3AF } /* Literal.Number.Integer.Long */ +.codehilite.algol .hll { background-color: #ffffcc } +.codehilite.algol { background: #ffffff; } +.codehilite.algol .c { color: #888; font-style: italic } /* Comment */ +.codehilite.algol .err { border: 1px solid #F00 } /* Error */ +.codehilite.algol .k { font-weight: bold; text-decoration: underline } /* Keyword */ +.codehilite.algol .ch { color: #888; font-style: italic } /* Comment.Hashbang */ +.codehilite.algol .cm { color: #888; font-style: italic } /* Comment.Multiline */ +.codehilite.algol .cp { color: #888; font-weight: bold } /* Comment.Preproc */ +.codehilite.algol .cpf { color: #888; font-style: italic } /* Comment.PreprocFile */ +.codehilite.algol .c1 { color: #888; font-style: italic } /* Comment.Single */ +.codehilite.algol .cs { color: #888; font-weight: bold } /* Comment.Special */ +.codehilite.algol .kc { font-weight: bold; text-decoration: underline } /* Keyword.Constant */ +.codehilite.algol .kd { font-weight: bold; font-style: italic; text-decoration: underline } /* Keyword.Declaration */ +.codehilite.algol .kn { font-weight: bold; text-decoration: underline } /* Keyword.Namespace */ +.codehilite.algol .kp { font-weight: bold; text-decoration: underline } /* Keyword.Pseudo */ +.codehilite.algol .kr { font-weight: bold; text-decoration: underline } /* Keyword.Reserved */ +.codehilite.algol .kt { font-weight: bold; text-decoration: underline } /* Keyword.Type */ +.codehilite.algol .s { color: #666; font-style: italic } /* Literal.String */ +.codehilite.algol .nb { font-weight: bold; font-style: italic } /* Name.Builtin */ +.codehilite.algol .nc { color: #666; font-weight: bold; font-style: italic } /* Name.Class */ +.codehilite.algol .no { color: #666; font-weight: bold; font-style: italic } /* Name.Constant */ +.codehilite.algol .nf { color: #666; font-weight: bold; font-style: italic } /* Name.Function */ +.codehilite.algol .nn { color: #666; font-weight: bold; font-style: italic } /* Name.Namespace */ +.codehilite.algol .nv { color: #666; font-weight: bold; font-style: italic } /* Name.Variable */ +.codehilite.algol .ow { font-weight: bold } /* Operator.Word */ +.codehilite.algol .sa { color: #666; font-style: italic } /* Literal.String.Affix */ +.codehilite.algol .sb { color: #666; font-style: italic } /* Literal.String.Backtick */ +.codehilite.algol .sc { color: #666; font-style: italic } /* Literal.String.Char */ +.codehilite.algol .dl { color: #666; font-style: italic } /* Literal.String.Delimiter */ +.codehilite.algol .sd { color: #666; font-style: italic } /* Literal.String.Doc */ +.codehilite.algol .s2 { color: #666; font-style: italic } /* Literal.String.Double */ +.codehilite.algol .se { color: #666; font-style: italic } /* Literal.String.Escape */ +.codehilite.algol .sh { color: #666; font-style: italic } /* Literal.String.Heredoc */ +.codehilite.algol .si { color: #666; font-style: italic } /* Literal.String.Interpol */ +.codehilite.algol .sx { color: #666; font-style: italic } /* Literal.String.Other */ +.codehilite.algol .sr { color: #666; font-style: italic } /* Literal.String.Regex */ +.codehilite.algol .s1 { color: #666; font-style: italic } /* Literal.String.Single */ +.codehilite.algol .ss { color: #666; font-style: italic } /* Literal.String.Symbol */ +.codehilite.algol .bp { font-weight: bold; font-style: italic } /* Name.Builtin.Pseudo */ +.codehilite.algol .fm { color: #666; font-weight: bold; font-style: italic } /* Name.Function.Magic */ +.codehilite.algol .vc { color: #666; font-weight: bold; font-style: italic } /* Name.Variable.Class */ +.codehilite.algol .vg { color: #666; font-weight: bold; font-style: italic } /* Name.Variable.Global */ +.codehilite.algol .vi { color: #666; font-weight: bold; font-style: italic } /* Name.Variable.Instance */ +.codehilite.algol .vm { color: #666; font-weight: bold; font-style: italic } /* Name.Variable.Magic */ +.codehilite.algol_nu .hll { background-color: #ffffcc } +.codehilite.algol_nu { background: #ffffff; } +.codehilite.algol_nu .c { color: #888; font-style: italic } /* Comment */ +.codehilite.algol_nu .err { border: 1px solid #F00 } /* Error */ +.codehilite.algol_nu .k { font-weight: bold } /* Keyword */ +.codehilite.algol_nu .ch { color: #888; font-style: italic } /* Comment.Hashbang */ +.codehilite.algol_nu .cm { color: #888; font-style: italic } /* Comment.Multiline */ +.codehilite.algol_nu .cp { color: #888; font-weight: bold } /* Comment.Preproc */ +.codehilite.algol_nu .cpf { color: #888; font-style: italic } /* Comment.PreprocFile */ +.codehilite.algol_nu .c1 { color: #888; font-style: italic } /* Comment.Single */ +.codehilite.algol_nu .cs { color: #888; font-weight: bold } /* Comment.Special */ +.codehilite.algol_nu .kc { font-weight: bold } /* Keyword.Constant */ +.codehilite.algol_nu .kd { font-weight: bold; font-style: italic } /* Keyword.Declaration */ +.codehilite.algol_nu .kn { font-weight: bold } /* Keyword.Namespace */ +.codehilite.algol_nu .kp { font-weight: bold } /* Keyword.Pseudo */ +.codehilite.algol_nu .kr { font-weight: bold } /* Keyword.Reserved */ +.codehilite.algol_nu .kt { font-weight: bold } /* Keyword.Type */ +.codehilite.algol_nu .s { color: #666; font-style: italic } /* Literal.String */ +.codehilite.algol_nu .nb { font-weight: bold; font-style: italic } /* Name.Builtin */ +.codehilite.algol_nu .nc { color: #666; font-weight: bold; font-style: italic } /* Name.Class */ +.codehilite.algol_nu .no { color: #666; font-weight: bold; font-style: italic } /* Name.Constant */ +.codehilite.algol_nu .nf { color: #666; font-weight: bold; font-style: italic } /* Name.Function */ +.codehilite.algol_nu .nn { color: #666; font-weight: bold; font-style: italic } /* Name.Namespace */ +.codehilite.algol_nu .nv { color: #666; font-weight: bold; font-style: italic } /* Name.Variable */ +.codehilite.algol_nu .ow { font-weight: bold } /* Operator.Word */ +.codehilite.algol_nu .sa { color: #666; font-style: italic } /* Literal.String.Affix */ +.codehilite.algol_nu .sb { color: #666; font-style: italic } /* Literal.String.Backtick */ +.codehilite.algol_nu .sc { color: #666; font-style: italic } /* Literal.String.Char */ +.codehilite.algol_nu .dl { color: #666; font-style: italic } /* Literal.String.Delimiter */ +.codehilite.algol_nu .sd { color: #666; font-style: italic } /* Literal.String.Doc */ +.codehilite.algol_nu .s2 { color: #666; font-style: italic } /* Literal.String.Double */ +.codehilite.algol_nu .se { color: #666; font-style: italic } /* Literal.String.Escape */ +.codehilite.algol_nu .sh { color: #666; font-style: italic } /* Literal.String.Heredoc */ +.codehilite.algol_nu .si { color: #666; font-style: italic } /* Literal.String.Interpol */ +.codehilite.algol_nu .sx { color: #666; font-style: italic } /* Literal.String.Other */ +.codehilite.algol_nu .sr { color: #666; font-style: italic } /* Literal.String.Regex */ +.codehilite.algol_nu .s1 { color: #666; font-style: italic } /* Literal.String.Single */ +.codehilite.algol_nu .ss { color: #666; font-style: italic } /* Literal.String.Symbol */ +.codehilite.algol_nu .bp { font-weight: bold; font-style: italic } /* Name.Builtin.Pseudo */ +.codehilite.algol_nu .fm { color: #666; font-weight: bold; font-style: italic } /* Name.Function.Magic */ +.codehilite.algol_nu .vc { color: #666; font-weight: bold; font-style: italic } /* Name.Variable.Class */ +.codehilite.algol_nu .vg { color: #666; font-weight: bold; font-style: italic } /* Name.Variable.Global */ +.codehilite.algol_nu .vi { color: #666; font-weight: bold; font-style: italic } /* Name.Variable.Instance */ +.codehilite.algol_nu .vm { color: #666; font-weight: bold; font-style: italic } /* Name.Variable.Magic */ +.codehilite.arduino .hll { background-color: #ffffcc } +.codehilite.arduino { background: #ffffff; } +.codehilite.arduino .c { color: #95A5A6 } /* Comment */ +.codehilite.arduino .err { color: #A61717 } /* Error */ +.codehilite.arduino .k { color: #728E00 } /* Keyword */ +.codehilite.arduino .n { color: #434F54 } /* Name */ +.codehilite.arduino .o { color: #728E00 } /* Operator */ +.codehilite.arduino .ch { color: #95A5A6 } /* Comment.Hashbang */ +.codehilite.arduino .cm { color: #95A5A6 } /* Comment.Multiline */ +.codehilite.arduino .cp { color: #728E00 } /* Comment.Preproc */ +.codehilite.arduino .cpf { color: #95A5A6 } /* Comment.PreprocFile */ +.codehilite.arduino .c1 { color: #95A5A6 } /* Comment.Single */ +.codehilite.arduino .cs { color: #95A5A6 } /* Comment.Special */ +.codehilite.arduino .kc { color: #00979D } /* Keyword.Constant */ +.codehilite.arduino .kd { color: #728E00 } /* Keyword.Declaration */ +.codehilite.arduino .kn { color: #728E00 } /* Keyword.Namespace */ +.codehilite.arduino .kp { color: #00979D } /* Keyword.Pseudo */ +.codehilite.arduino .kr { color: #00979D } /* Keyword.Reserved */ +.codehilite.arduino .kt { color: #00979D } /* Keyword.Type */ +.codehilite.arduino .m { color: #8A7B52 } /* Literal.Number */ +.codehilite.arduino .s { color: #7F8C8D } /* Literal.String */ +.codehilite.arduino .na { color: #434F54 } /* Name.Attribute */ +.codehilite.arduino .nb { color: #728E00 } /* Name.Builtin */ +.codehilite.arduino .nc { color: #434F54 } /* Name.Class */ +.codehilite.arduino .no { color: #434F54 } /* Name.Constant */ +.codehilite.arduino .nd { color: #434F54 } /* Name.Decorator */ +.codehilite.arduino .ni { color: #434F54 } /* Name.Entity */ +.codehilite.arduino .ne { color: #434F54 } /* Name.Exception */ +.codehilite.arduino .nf { color: #D35400 } /* Name.Function */ +.codehilite.arduino .nl { color: #434F54 } /* Name.Label */ +.codehilite.arduino .nn { color: #434F54 } /* Name.Namespace */ +.codehilite.arduino .nx { color: #728E00 } /* Name.Other */ +.codehilite.arduino .py { color: #434F54 } /* Name.Property */ +.codehilite.arduino .nt { color: #434F54 } /* Name.Tag */ +.codehilite.arduino .nv { color: #434F54 } /* Name.Variable */ +.codehilite.arduino .ow { color: #728E00 } /* Operator.Word */ +.codehilite.arduino .mb { color: #8A7B52 } /* Literal.Number.Bin */ +.codehilite.arduino .mf { color: #8A7B52 } /* Literal.Number.Float */ +.codehilite.arduino .mh { color: #8A7B52 } /* Literal.Number.Hex */ +.codehilite.arduino .mi { color: #8A7B52 } /* Literal.Number.Integer */ +.codehilite.arduino .mo { color: #8A7B52 } /* Literal.Number.Oct */ +.codehilite.arduino .sa { color: #7F8C8D } /* Literal.String.Affix */ +.codehilite.arduino .sb { color: #7F8C8D } /* Literal.String.Backtick */ +.codehilite.arduino .sc { color: #7F8C8D } /* Literal.String.Char */ +.codehilite.arduino .dl { color: #7F8C8D } /* Literal.String.Delimiter */ +.codehilite.arduino .sd { color: #7F8C8D } /* Literal.String.Doc */ +.codehilite.arduino .s2 { color: #7F8C8D } /* Literal.String.Double */ +.codehilite.arduino .se { color: #7F8C8D } /* Literal.String.Escape */ +.codehilite.arduino .sh { color: #7F8C8D } /* Literal.String.Heredoc */ +.codehilite.arduino .si { color: #7F8C8D } /* Literal.String.Interpol */ +.codehilite.arduino .sx { color: #7F8C8D } /* Literal.String.Other */ +.codehilite.arduino .sr { color: #7F8C8D } /* Literal.String.Regex */ +.codehilite.arduino .s1 { color: #7F8C8D } /* Literal.String.Single */ +.codehilite.arduino .ss { color: #7F8C8D } /* Literal.String.Symbol */ +.codehilite.arduino .bp { color: #728E00 } /* Name.Builtin.Pseudo */ +.codehilite.arduino .fm { color: #D35400 } /* Name.Function.Magic */ +.codehilite.arduino .vc { color: #434F54 } /* Name.Variable.Class */ +.codehilite.arduino .vg { color: #434F54 } /* Name.Variable.Global */ +.codehilite.arduino .vi { color: #434F54 } /* Name.Variable.Instance */ +.codehilite.arduino .vm { color: #434F54 } /* Name.Variable.Magic */ +.codehilite.arduino .il { color: #8A7B52 } /* Literal.Number.Integer.Long */ +.codehilite.autumn .hll { background-color: #ffffcc } +.codehilite.autumn { background: #ffffff; } +.codehilite.autumn .c { color: #AAA; font-style: italic } /* Comment */ +.codehilite.autumn .err { color: #F00; background-color: #FAA } /* Error */ +.codehilite.autumn .k { color: #00A } /* Keyword */ +.codehilite.autumn .ch { color: #AAA; font-style: italic } /* Comment.Hashbang */ +.codehilite.autumn .cm { color: #AAA; font-style: italic } /* Comment.Multiline */ +.codehilite.autumn .cp { color: #4C8317 } /* Comment.Preproc */ +.codehilite.autumn .cpf { color: #AAA; font-style: italic } /* Comment.PreprocFile */ +.codehilite.autumn .c1 { color: #AAA; font-style: italic } /* Comment.Single */ +.codehilite.autumn .cs { color: #00A; font-style: italic } /* Comment.Special */ +.codehilite.autumn .gd { color: #A00 } /* Generic.Deleted */ +.codehilite.autumn .ge { font-style: italic } /* Generic.Emph */ +.codehilite.autumn .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite.autumn .gr { color: #A00 } /* Generic.Error */ +.codehilite.autumn .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.codehilite.autumn .gi { color: #0A0 } /* Generic.Inserted */ +.codehilite.autumn .go { color: #888 } /* Generic.Output */ +.codehilite.autumn .gp { color: #555 } /* Generic.Prompt */ +.codehilite.autumn .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.autumn .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.codehilite.autumn .gt { color: #A00 } /* Generic.Traceback */ +.codehilite.autumn .kc { color: #00A } /* Keyword.Constant */ +.codehilite.autumn .kd { color: #00A } /* Keyword.Declaration */ +.codehilite.autumn .kn { color: #00A } /* Keyword.Namespace */ +.codehilite.autumn .kp { color: #00A } /* Keyword.Pseudo */ +.codehilite.autumn .kr { color: #00A } /* Keyword.Reserved */ +.codehilite.autumn .kt { color: #0AA } /* Keyword.Type */ +.codehilite.autumn .m { color: #099 } /* Literal.Number */ +.codehilite.autumn .s { color: #A50 } /* Literal.String */ +.codehilite.autumn .na { color: #1E90FF } /* Name.Attribute */ +.codehilite.autumn .nb { color: #0AA } /* Name.Builtin */ +.codehilite.autumn .nc { color: #0A0; text-decoration: underline } /* Name.Class */ +.codehilite.autumn .no { color: #A00 } /* Name.Constant */ +.codehilite.autumn .nd { color: #888 } /* Name.Decorator */ +.codehilite.autumn .ni { color: #800; font-weight: bold } /* Name.Entity */ +.codehilite.autumn .nf { color: #0A0 } /* Name.Function */ +.codehilite.autumn .nn { color: #0AA; text-decoration: underline } /* Name.Namespace */ +.codehilite.autumn .nt { color: #1E90FF; font-weight: bold } /* Name.Tag */ +.codehilite.autumn .nv { color: #A00 } /* Name.Variable */ +.codehilite.autumn .ow { color: #00A } /* Operator.Word */ +.codehilite.autumn .w { color: #BBB } /* Text.Whitespace */ +.codehilite.autumn .mb { color: #099 } /* Literal.Number.Bin */ +.codehilite.autumn .mf { color: #099 } /* Literal.Number.Float */ +.codehilite.autumn .mh { color: #099 } /* Literal.Number.Hex */ +.codehilite.autumn .mi { color: #099 } /* Literal.Number.Integer */ +.codehilite.autumn .mo { color: #099 } /* Literal.Number.Oct */ +.codehilite.autumn .sa { color: #A50 } /* Literal.String.Affix */ +.codehilite.autumn .sb { color: #A50 } /* Literal.String.Backtick */ +.codehilite.autumn .sc { color: #A50 } /* Literal.String.Char */ +.codehilite.autumn .dl { color: #A50 } /* Literal.String.Delimiter */ +.codehilite.autumn .sd { color: #A50 } /* Literal.String.Doc */ +.codehilite.autumn .s2 { color: #A50 } /* Literal.String.Double */ +.codehilite.autumn .se { color: #A50 } /* Literal.String.Escape */ +.codehilite.autumn .sh { color: #A50 } /* Literal.String.Heredoc */ +.codehilite.autumn .si { color: #A50 } /* Literal.String.Interpol */ +.codehilite.autumn .sx { color: #A50 } /* Literal.String.Other */ +.codehilite.autumn .sr { color: #099 } /* Literal.String.Regex */ +.codehilite.autumn .s1 { color: #A50 } /* Literal.String.Single */ +.codehilite.autumn .ss { color: #00A } /* Literal.String.Symbol */ +.codehilite.autumn .bp { color: #0AA } /* Name.Builtin.Pseudo */ +.codehilite.autumn .fm { color: #0A0 } /* Name.Function.Magic */ +.codehilite.autumn .vc { color: #A00 } /* Name.Variable.Class */ +.codehilite.autumn .vg { color: #A00 } /* Name.Variable.Global */ +.codehilite.autumn .vi { color: #A00 } /* Name.Variable.Instance */ +.codehilite.autumn .vm { color: #A00 } /* Name.Variable.Magic */ +.codehilite.autumn .il { color: #099 } /* Literal.Number.Integer.Long */ +.codehilite.bw .hll { background-color: #ffffcc } +.codehilite.bw { background: #ffffff; } +.codehilite.bw .c { font-style: italic } /* Comment */ +.codehilite.bw .err { border: 1px solid #F00 } /* Error */ +.codehilite.bw .k { font-weight: bold } /* Keyword */ +.codehilite.bw .ch { font-style: italic } /* Comment.Hashbang */ +.codehilite.bw .cm { font-style: italic } /* Comment.Multiline */ +.codehilite.bw .cpf { font-style: italic } /* Comment.PreprocFile */ +.codehilite.bw .c1 { font-style: italic } /* Comment.Single */ +.codehilite.bw .cs { font-style: italic } /* Comment.Special */ +.codehilite.bw .ge { font-style: italic } /* Generic.Emph */ +.codehilite.bw .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite.bw .gh { font-weight: bold } /* Generic.Heading */ +.codehilite.bw .gp { font-weight: bold } /* Generic.Prompt */ +.codehilite.bw .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.bw .gu { font-weight: bold } /* Generic.Subheading */ +.codehilite.bw .kc { font-weight: bold } /* Keyword.Constant */ +.codehilite.bw .kd { font-weight: bold } /* Keyword.Declaration */ +.codehilite.bw .kn { font-weight: bold } /* Keyword.Namespace */ +.codehilite.bw .kr { font-weight: bold } /* Keyword.Reserved */ +.codehilite.bw .s { font-style: italic } /* Literal.String */ +.codehilite.bw .nc { font-weight: bold } /* Name.Class */ +.codehilite.bw .ni { font-weight: bold } /* Name.Entity */ +.codehilite.bw .ne { font-weight: bold } /* Name.Exception */ +.codehilite.bw .nn { font-weight: bold } /* Name.Namespace */ +.codehilite.bw .nt { font-weight: bold } /* Name.Tag */ +.codehilite.bw .ow { font-weight: bold } /* Operator.Word */ +.codehilite.bw .sa { font-style: italic } /* Literal.String.Affix */ +.codehilite.bw .sb { font-style: italic } /* Literal.String.Backtick */ +.codehilite.bw .sc { font-style: italic } /* Literal.String.Char */ +.codehilite.bw .dl { font-style: italic } /* Literal.String.Delimiter */ +.codehilite.bw .sd { font-style: italic } /* Literal.String.Doc */ +.codehilite.bw .s2 { font-style: italic } /* Literal.String.Double */ +.codehilite.bw .se { font-weight: bold; font-style: italic } /* Literal.String.Escape */ +.codehilite.bw .sh { font-style: italic } /* Literal.String.Heredoc */ +.codehilite.bw .si { font-weight: bold; font-style: italic } /* Literal.String.Interpol */ +.codehilite.bw .sx { font-style: italic } /* Literal.String.Other */ +.codehilite.bw .sr { font-style: italic } /* Literal.String.Regex */ +.codehilite.bw .s1 { font-style: italic } /* Literal.String.Single */ +.codehilite.bw .ss { font-style: italic } /* Literal.String.Symbol */ +.codehilite.borland .hll { background-color: #ffffcc } +.codehilite.borland { background: #ffffff; } +.codehilite.borland .c { color: #080; font-style: italic } /* Comment */ +.codehilite.borland .err { color: #A61717; background-color: #E3D2D2 } /* Error */ +.codehilite.borland .k { color: #000080; font-weight: bold } /* Keyword */ +.codehilite.borland .ch { color: #080; font-style: italic } /* Comment.Hashbang */ +.codehilite.borland .cm { color: #080; font-style: italic } /* Comment.Multiline */ +.codehilite.borland .cp { color: #008080 } /* Comment.Preproc */ +.codehilite.borland .cpf { color: #080; font-style: italic } /* Comment.PreprocFile */ +.codehilite.borland .c1 { color: #080; font-style: italic } /* Comment.Single */ +.codehilite.borland .cs { color: #080; font-weight: bold } /* Comment.Special */ +.codehilite.borland .gd { color: #000; background-color: #FDD } /* Generic.Deleted */ +.codehilite.borland .ge { font-style: italic } /* Generic.Emph */ +.codehilite.borland .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite.borland .gr { color: #A00 } /* Generic.Error */ +.codehilite.borland .gh { color: #999 } /* Generic.Heading */ +.codehilite.borland .gi { color: #000; background-color: #DFD } /* Generic.Inserted */ +.codehilite.borland .go { color: #888 } /* Generic.Output */ +.codehilite.borland .gp { color: #555 } /* Generic.Prompt */ +.codehilite.borland .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.borland .gu { color: #AAA } /* Generic.Subheading */ +.codehilite.borland .gt { color: #A00 } /* Generic.Traceback */ +.codehilite.borland .kc { color: #000080; font-weight: bold } /* Keyword.Constant */ +.codehilite.borland .kd { color: #000080; font-weight: bold } /* Keyword.Declaration */ +.codehilite.borland .kn { color: #000080; font-weight: bold } /* Keyword.Namespace */ +.codehilite.borland .kp { color: #000080; font-weight: bold } /* Keyword.Pseudo */ +.codehilite.borland .kr { color: #000080; font-weight: bold } /* Keyword.Reserved */ +.codehilite.borland .kt { color: #000080; font-weight: bold } /* Keyword.Type */ +.codehilite.borland .m { color: #00F } /* Literal.Number */ +.codehilite.borland .s { color: #00F } /* Literal.String */ +.codehilite.borland .na { color: #F00 } /* Name.Attribute */ +.codehilite.borland .nt { color: #000080; font-weight: bold } /* Name.Tag */ +.codehilite.borland .ow { font-weight: bold } /* Operator.Word */ +.codehilite.borland .w { color: #BBB } /* Text.Whitespace */ +.codehilite.borland .mb { color: #00F } /* Literal.Number.Bin */ +.codehilite.borland .mf { color: #00F } /* Literal.Number.Float */ +.codehilite.borland .mh { color: #00F } /* Literal.Number.Hex */ +.codehilite.borland .mi { color: #00F } /* Literal.Number.Integer */ +.codehilite.borland .mo { color: #00F } /* Literal.Number.Oct */ +.codehilite.borland .sa { color: #00F } /* Literal.String.Affix */ +.codehilite.borland .sb { color: #00F } /* Literal.String.Backtick */ +.codehilite.borland .sc { color: #800080 } /* Literal.String.Char */ +.codehilite.borland .dl { color: #00F } /* Literal.String.Delimiter */ +.codehilite.borland .sd { color: #00F } /* Literal.String.Doc */ +.codehilite.borland .s2 { color: #00F } /* Literal.String.Double */ +.codehilite.borland .se { color: #00F } /* Literal.String.Escape */ +.codehilite.borland .sh { color: #00F } /* Literal.String.Heredoc */ +.codehilite.borland .si { color: #00F } /* Literal.String.Interpol */ +.codehilite.borland .sx { color: #00F } /* Literal.String.Other */ +.codehilite.borland .sr { color: #00F } /* Literal.String.Regex */ +.codehilite.borland .s1 { color: #00F } /* Literal.String.Single */ +.codehilite.borland .ss { color: #00F } /* Literal.String.Symbol */ +.codehilite.borland .il { color: #00F } /* Literal.Number.Integer.Long */ +.codehilite.coffee .hll { background-color: #ddd0c0 } +.codehilite.coffee { background: #262220; color: #DDD0C0 } +.codehilite.coffee .c { color: #70757A } /* Comment */ +.codehilite.coffee .err { color: #AF5F5F } /* Error */ +.codehilite.coffee .esc { color: #DDD0C0 } /* Escape */ +.codehilite.coffee .g { color: #DDD0C0 } /* Generic */ +.codehilite.coffee .k { color: #919191 } /* Keyword */ +.codehilite.coffee .l { color: #AF875F } /* Literal */ +.codehilite.coffee .n { color: #DDD0C0 } /* Name */ +.codehilite.coffee .o { color: #878787 } /* Operator */ +.codehilite.coffee .x { color: #DDD0C0 } /* Other */ +.codehilite.coffee .p { color: #DDD0C0 } /* Punctuation */ +.codehilite.coffee .ch { color: #8F9F9F } /* Comment.Hashbang */ +.codehilite.coffee .cm { color: #70757A } /* Comment.Multiline */ +.codehilite.coffee .cp { color: #FDD0C0 } /* Comment.Preproc */ +.codehilite.coffee .cpf { color: #C9B98F } /* Comment.PreprocFile */ +.codehilite.coffee .c1 { color: #70757A } /* Comment.Single */ +.codehilite.coffee .cs { color: #AF5F5F } /* Comment.Special */ +.codehilite.coffee .gd { color: #BB6868 } /* Generic.Deleted */ +.codehilite.coffee .ge { color: #DDD0C0; font-style: italic } /* Generic.Emph */ +.codehilite.coffee .ges { color: #DDD0C0 } /* Generic.EmphStrong */ +.codehilite.coffee .gr { color: #AF5F5F } /* Generic.Error */ +.codehilite.coffee .gh { color: #DDD0C0 } /* Generic.Heading */ +.codehilite.coffee .gi { color: #849155 } /* Generic.Inserted */ +.codehilite.coffee .go { color: #DDD0C0 } /* Generic.Output */ +.codehilite.coffee .gp { color: #DDD0C0 } /* Generic.Prompt */ +.codehilite.coffee .gs { color: #DDD0C0; font-weight: bold } /* Generic.Strong */ +.codehilite.coffee .gu { color: #DDD0C0 } /* Generic.Subheading */ +.codehilite.coffee .gt { color: #AF5F5F } /* Generic.Traceback */ +.codehilite.coffee .kc { color: #875F5F } /* Keyword.Constant */ +.codehilite.coffee .kd { color: #875F5F } /* Keyword.Declaration */ +.codehilite.coffee .kn { color: #875F5F } /* Keyword.Namespace */ +.codehilite.coffee .kp { color: #919191 } /* Keyword.Pseudo */ +.codehilite.coffee .kr { color: #B46276 } /* Keyword.Reserved */ +.codehilite.coffee .kt { color: #AF875F } /* Keyword.Type */ +.codehilite.coffee .ld { color: #AF875F } /* Literal.Date */ +.codehilite.coffee .m { color: #87AFAF } /* Literal.Number */ +.codehilite.coffee .s { color: #C9B98F } /* Literal.String */ +.codehilite.coffee .na { color: #DDD0C0 } /* Name.Attribute */ +.codehilite.coffee .nb { color: #DDD0C0 } /* Name.Builtin */ +.codehilite.coffee .nc { color: #875F5F } /* Name.Class */ +.codehilite.coffee .no { color: #AF8787 } /* Name.Constant */ +.codehilite.coffee .nd { color: #FDD0C0 } /* Name.Decorator */ +.codehilite.coffee .ni { color: #DDD0C0 } /* Name.Entity */ +.codehilite.coffee .ne { color: #877575 } /* Name.Exception */ +.codehilite.coffee .nf { color: #FDD0C0 } /* Name.Function */ +.codehilite.coffee .nl { color: #DDD0C0 } /* Name.Label */ +.codehilite.coffee .nn { color: #DDD0C0 } /* Name.Namespace */ +.codehilite.coffee .nx { color: #DDD0C0 } /* Name.Other */ +.codehilite.coffee .py { color: #DFAF87 } /* Name.Property */ +.codehilite.coffee .nt { color: #87AFAF } /* Name.Tag */ +.codehilite.coffee .nv { color: #DDD0C0 } /* Name.Variable */ +.codehilite.coffee .ow { color: #878787 } /* Operator.Word */ +.codehilite.coffee .pm { color: #DDD0C0 } /* Punctuation.Marker */ +.codehilite.coffee .w { color: #DDD0C0 } /* Text.Whitespace */ +.codehilite.coffee .mb { color: #87AFAF } /* Literal.Number.Bin */ +.codehilite.coffee .mf { color: #87AFAF } /* Literal.Number.Float */ +.codehilite.coffee .mh { color: #87AFAF } /* Literal.Number.Hex */ +.codehilite.coffee .mi { color: #87AFAF } /* Literal.Number.Integer */ +.codehilite.coffee .mo { color: #87AFAF } /* Literal.Number.Oct */ +.codehilite.coffee .sa { color: #DFAF87 } /* Literal.String.Affix */ +.codehilite.coffee .sb { color: #C9B98F } /* Literal.String.Backtick */ +.codehilite.coffee .sc { color: #C9B98F } /* Literal.String.Char */ +.codehilite.coffee .dl { color: #C9B98F } /* Literal.String.Delimiter */ +.codehilite.coffee .sd { color: #878787 } /* Literal.String.Doc */ +.codehilite.coffee .s2 { color: #C9B98F } /* Literal.String.Double */ +.codehilite.coffee .se { color: #AF5F5F } /* Literal.String.Escape */ +.codehilite.coffee .sh { color: #C9B98F } /* Literal.String.Heredoc */ +.codehilite.coffee .si { color: #AF5F5F } /* Literal.String.Interpol */ +.codehilite.coffee .sx { color: #FDD0C0 } /* Literal.String.Other */ +.codehilite.coffee .sr { color: #AF5F5F } /* Literal.String.Regex */ +.codehilite.coffee .s1 { color: #C9B98F } /* Literal.String.Single */ +.codehilite.coffee .ss { color: #AF5F5F } /* Literal.String.Symbol */ +.codehilite.coffee .bp { color: #87AFAF } /* Name.Builtin.Pseudo */ +.codehilite.coffee .fm { color: #FDD0C0 } /* Name.Function.Magic */ +.codehilite.coffee .vc { color: #DDD0C0 } /* Name.Variable.Class */ +.codehilite.coffee .vg { color: #DDD0C0 } /* Name.Variable.Global */ +.codehilite.coffee .vi { color: #DDD0C0 } /* Name.Variable.Instance */ +.codehilite.coffee .vm { color: #DDD0C0 } /* Name.Variable.Magic */ +.codehilite.coffee .il { color: #87AFAF } /* Literal.Number.Integer.Long */ +.codehilite.colorful .hll { background-color: #ffffcc } +.codehilite.colorful { background: #ffffff; } +.codehilite.colorful .c { color: #888 } /* Comment */ +.codehilite.colorful .err { color: #F00; background-color: #FAA } /* Error */ +.codehilite.colorful .k { color: #080; font-weight: bold } /* Keyword */ +.codehilite.colorful .o { color: #333 } /* Operator */ +.codehilite.colorful .ch { color: #888 } /* Comment.Hashbang */ +.codehilite.colorful .cm { color: #888 } /* Comment.Multiline */ +.codehilite.colorful .cp { color: #579 } /* Comment.Preproc */ +.codehilite.colorful .cpf { color: #888 } /* Comment.PreprocFile */ +.codehilite.colorful .c1 { color: #888 } /* Comment.Single */ +.codehilite.colorful .cs { color: #C00; font-weight: bold } /* Comment.Special */ +.codehilite.colorful .gd { color: #A00000 } /* Generic.Deleted */ +.codehilite.colorful .ge { font-style: italic } /* Generic.Emph */ +.codehilite.colorful .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite.colorful .gr { color: #F00 } /* Generic.Error */ +.codehilite.colorful .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.codehilite.colorful .gi { color: #00A000 } /* Generic.Inserted */ +.codehilite.colorful .go { color: #888 } /* Generic.Output */ +.codehilite.colorful .gp { color: #C65D09; font-weight: bold } /* Generic.Prompt */ +.codehilite.colorful .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.colorful .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.codehilite.colorful .gt { color: #04D } /* Generic.Traceback */ +.codehilite.colorful .kc { color: #080; font-weight: bold } /* Keyword.Constant */ +.codehilite.colorful .kd { color: #080; font-weight: bold } /* Keyword.Declaration */ +.codehilite.colorful .kn { color: #080; font-weight: bold } /* Keyword.Namespace */ +.codehilite.colorful .kp { color: #038; font-weight: bold } /* Keyword.Pseudo */ +.codehilite.colorful .kr { color: #080; font-weight: bold } /* Keyword.Reserved */ +.codehilite.colorful .kt { color: #339; font-weight: bold } /* Keyword.Type */ +.codehilite.colorful .m { color: #60E; font-weight: bold } /* Literal.Number */ +.codehilite.colorful .s { background-color: #FFF0F0 } /* Literal.String */ +.codehilite.colorful .na { color: #00C } /* Name.Attribute */ +.codehilite.colorful .nb { color: #007020 } /* Name.Builtin */ +.codehilite.colorful .nc { color: #B06; font-weight: bold } /* Name.Class */ +.codehilite.colorful .no { color: #036; font-weight: bold } /* Name.Constant */ +.codehilite.colorful .nd { color: #555; font-weight: bold } /* Name.Decorator */ +.codehilite.colorful .ni { color: #800; font-weight: bold } /* Name.Entity */ +.codehilite.colorful .ne { color: #F00; font-weight: bold } /* Name.Exception */ +.codehilite.colorful .nf { color: #06B; font-weight: bold } /* Name.Function */ +.codehilite.colorful .nl { color: #970; font-weight: bold } /* Name.Label */ +.codehilite.colorful .nn { color: #0E84B5; font-weight: bold } /* Name.Namespace */ +.codehilite.colorful .nt { color: #070 } /* Name.Tag */ +.codehilite.colorful .nv { color: #963 } /* Name.Variable */ +.codehilite.colorful .ow { color: #000; font-weight: bold } /* Operator.Word */ +.codehilite.colorful .w { color: #BBB } /* Text.Whitespace */ +.codehilite.colorful .mb { color: #60E; font-weight: bold } /* Literal.Number.Bin */ +.codehilite.colorful .mf { color: #60E; font-weight: bold } /* Literal.Number.Float */ +.codehilite.colorful .mh { color: #058; font-weight: bold } /* Literal.Number.Hex */ +.codehilite.colorful .mi { color: #00D; font-weight: bold } /* Literal.Number.Integer */ +.codehilite.colorful .mo { color: #40E; font-weight: bold } /* Literal.Number.Oct */ +.codehilite.colorful .sa { background-color: #FFF0F0 } /* Literal.String.Affix */ +.codehilite.colorful .sb { background-color: #FFF0F0 } /* Literal.String.Backtick */ +.codehilite.colorful .sc { color: #04D } /* Literal.String.Char */ +.codehilite.colorful .dl { background-color: #FFF0F0 } /* Literal.String.Delimiter */ +.codehilite.colorful .sd { color: #D42 } /* Literal.String.Doc */ +.codehilite.colorful .s2 { background-color: #FFF0F0 } /* Literal.String.Double */ +.codehilite.colorful .se { color: #666; font-weight: bold; background-color: #FFF0F0 } /* Literal.String.Escape */ +.codehilite.colorful .sh { background-color: #FFF0F0 } /* Literal.String.Heredoc */ +.codehilite.colorful .si { background-color: #EEE } /* Literal.String.Interpol */ +.codehilite.colorful .sx { color: #D20; background-color: #FFF0F0 } /* Literal.String.Other */ +.codehilite.colorful .sr { color: #000; background-color: #FFF0FF } /* Literal.String.Regex */ +.codehilite.colorful .s1 { background-color: #FFF0F0 } /* Literal.String.Single */ +.codehilite.colorful .ss { color: #A60 } /* Literal.String.Symbol */ +.codehilite.colorful .bp { color: #007020 } /* Name.Builtin.Pseudo */ +.codehilite.colorful .fm { color: #06B; font-weight: bold } /* Name.Function.Magic */ +.codehilite.colorful .vc { color: #369 } /* Name.Variable.Class */ +.codehilite.colorful .vg { color: #D70; font-weight: bold } /* Name.Variable.Global */ +.codehilite.colorful .vi { color: #33B } /* Name.Variable.Instance */ +.codehilite.colorful .vm { color: #963 } /* Name.Variable.Magic */ +.codehilite.colorful .il { color: #00D; font-weight: bold } /* Literal.Number.Integer.Long */ +.codehilite.default .hll { background-color: #ffffcc } +.codehilite.default { background: #f8f8f8; } +.codehilite.default .c { color: #3D7B7B; font-style: italic } /* Comment */ +.codehilite.default .err { border: 1px solid #F00 } /* Error */ +.codehilite.default .k { color: #008000; font-weight: bold } /* Keyword */ +.codehilite.default .o { color: #666 } /* Operator */ +.codehilite.default .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */ +.codehilite.default .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */ +.codehilite.default .cp { color: #9C6500 } /* Comment.Preproc */ +.codehilite.default .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */ +.codehilite.default .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */ +.codehilite.default .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */ +.codehilite.default .gd { color: #A00000 } /* Generic.Deleted */ +.codehilite.default .ge { font-style: italic } /* Generic.Emph */ +.codehilite.default .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite.default .gr { color: #E40000 } /* Generic.Error */ +.codehilite.default .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.codehilite.default .gi { color: #008400 } /* Generic.Inserted */ +.codehilite.default .go { color: #717171 } /* Generic.Output */ +.codehilite.default .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ +.codehilite.default .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.default .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.codehilite.default .gt { color: #04D } /* Generic.Traceback */ +.codehilite.default .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ +.codehilite.default .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ +.codehilite.default .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ +.codehilite.default .kp { color: #008000 } /* Keyword.Pseudo */ +.codehilite.default .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ +.codehilite.default .kt { color: #B00040 } /* Keyword.Type */ +.codehilite.default .m { color: #666 } /* Literal.Number */ +.codehilite.default .s { color: #BA2121 } /* Literal.String */ +.codehilite.default .na { color: #687822 } /* Name.Attribute */ +.codehilite.default .nb { color: #008000 } /* Name.Builtin */ +.codehilite.default .nc { color: #00F; font-weight: bold } /* Name.Class */ +.codehilite.default .no { color: #800 } /* Name.Constant */ +.codehilite.default .nd { color: #A2F } /* Name.Decorator */ +.codehilite.default .ni { color: #717171; font-weight: bold } /* Name.Entity */ +.codehilite.default .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */ +.codehilite.default .nf { color: #00F } /* Name.Function */ +.codehilite.default .nl { color: #767600 } /* Name.Label */ +.codehilite.default .nn { color: #00F; font-weight: bold } /* Name.Namespace */ +.codehilite.default .nt { color: #008000; font-weight: bold } /* Name.Tag */ +.codehilite.default .nv { color: #19177C } /* Name.Variable */ +.codehilite.default .ow { color: #A2F; font-weight: bold } /* Operator.Word */ +.codehilite.default .w { color: #BBB } /* Text.Whitespace */ +.codehilite.default .mb { color: #666 } /* Literal.Number.Bin */ +.codehilite.default .mf { color: #666 } /* Literal.Number.Float */ +.codehilite.default .mh { color: #666 } /* Literal.Number.Hex */ +.codehilite.default .mi { color: #666 } /* Literal.Number.Integer */ +.codehilite.default .mo { color: #666 } /* Literal.Number.Oct */ +.codehilite.default .sa { color: #BA2121 } /* Literal.String.Affix */ +.codehilite.default .sb { color: #BA2121 } /* Literal.String.Backtick */ +.codehilite.default .sc { color: #BA2121 } /* Literal.String.Char */ +.codehilite.default .dl { color: #BA2121 } /* Literal.String.Delimiter */ +.codehilite.default .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ +.codehilite.default .s2 { color: #BA2121 } /* Literal.String.Double */ +.codehilite.default .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */ +.codehilite.default .sh { color: #BA2121 } /* Literal.String.Heredoc */ +.codehilite.default .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */ +.codehilite.default .sx { color: #008000 } /* Literal.String.Other */ +.codehilite.default .sr { color: #A45A77 } /* Literal.String.Regex */ +.codehilite.default .s1 { color: #BA2121 } /* Literal.String.Single */ +.codehilite.default .ss { color: #19177C } /* Literal.String.Symbol */ +.codehilite.default .bp { color: #008000 } /* Name.Builtin.Pseudo */ +.codehilite.default .fm { color: #00F } /* Name.Function.Magic */ +.codehilite.default .vc { color: #19177C } /* Name.Variable.Class */ +.codehilite.default .vg { color: #19177C } /* Name.Variable.Global */ +.codehilite.default .vi { color: #19177C } /* Name.Variable.Instance */ +.codehilite.default .vm { color: #19177C } /* Name.Variable.Magic */ +.codehilite.default .il { color: #666 } /* Literal.Number.Integer.Long */ +.codehilite.dracula .hll { background-color: #44475a } +.codehilite.dracula { background: #282a36; color: #F8F8F2 } +.codehilite.dracula .c { color: #6272A4 } /* Comment */ +.codehilite.dracula .err { color: #F8F8F2 } /* Error */ +.codehilite.dracula .g { color: #F8F8F2 } /* Generic */ +.codehilite.dracula .k { color: #FF79C6 } /* Keyword */ +.codehilite.dracula .l { color: #F8F8F2 } /* Literal */ +.codehilite.dracula .n { color: #F8F8F2 } /* Name */ +.codehilite.dracula .o { color: #FF79C6 } /* Operator */ +.codehilite.dracula .x { color: #F8F8F2 } /* Other */ +.codehilite.dracula .p { color: #F8F8F2 } /* Punctuation */ +.codehilite.dracula .ch { color: #6272A4 } /* Comment.Hashbang */ +.codehilite.dracula .cm { color: #6272A4 } /* Comment.Multiline */ +.codehilite.dracula .cp { color: #FF79C6 } /* Comment.Preproc */ +.codehilite.dracula .cpf { color: #6272A4 } /* Comment.PreprocFile */ +.codehilite.dracula .c1 { color: #6272A4 } /* Comment.Single */ +.codehilite.dracula .cs { color: #6272A4 } /* Comment.Special */ +.codehilite.dracula .gd { color: #8B080B } /* Generic.Deleted */ +.codehilite.dracula .ge { color: #F8F8F2; text-decoration: underline } /* Generic.Emph */ +.codehilite.dracula .ges { color: #F8F8F2; text-decoration: underline } /* Generic.EmphStrong */ +.codehilite.dracula .gr { color: #F8F8F2 } /* Generic.Error */ +.codehilite.dracula .gh { color: #F8F8F2; font-weight: bold } /* Generic.Heading */ +.codehilite.dracula .gi { color: #F8F8F2; font-weight: bold } /* Generic.Inserted */ +.codehilite.dracula .go { color: #44475A } /* Generic.Output */ +.codehilite.dracula .gp { color: #F8F8F2 } /* Generic.Prompt */ +.codehilite.dracula .gs { color: #F8F8F2 } /* Generic.Strong */ +.codehilite.dracula .gu { color: #F8F8F2; font-weight: bold } /* Generic.Subheading */ +.codehilite.dracula .gt { color: #F8F8F2 } /* Generic.Traceback */ +.codehilite.dracula .kc { color: #FF79C6 } /* Keyword.Constant */ +.codehilite.dracula .kd { color: #8BE9FD; font-style: italic } /* Keyword.Declaration */ +.codehilite.dracula .kn { color: #FF79C6 } /* Keyword.Namespace */ +.codehilite.dracula .kp { color: #FF79C6 } /* Keyword.Pseudo */ +.codehilite.dracula .kr { color: #FF79C6 } /* Keyword.Reserved */ +.codehilite.dracula .kt { color: #8BE9FD } /* Keyword.Type */ +.codehilite.dracula .ld { color: #F8F8F2 } /* Literal.Date */ +.codehilite.dracula .m { color: #FFB86C } /* Literal.Number */ +.codehilite.dracula .s { color: #BD93F9 } /* Literal.String */ +.codehilite.dracula .na { color: #50FA7B } /* Name.Attribute */ +.codehilite.dracula .nb { color: #8BE9FD; font-style: italic } /* Name.Builtin */ +.codehilite.dracula .nc { color: #50FA7B } /* Name.Class */ +.codehilite.dracula .no { color: #F8F8F2 } /* Name.Constant */ +.codehilite.dracula .nd { color: #F8F8F2 } /* Name.Decorator */ +.codehilite.dracula .ni { color: #F8F8F2 } /* Name.Entity */ +.codehilite.dracula .ne { color: #F8F8F2 } /* Name.Exception */ +.codehilite.dracula .nf { color: #50FA7B } /* Name.Function */ +.codehilite.dracula .nl { color: #8BE9FD; font-style: italic } /* Name.Label */ +.codehilite.dracula .nn { color: #F8F8F2 } /* Name.Namespace */ +.codehilite.dracula .nx { color: #F8F8F2 } /* Name.Other */ +.codehilite.dracula .py { color: #F8F8F2 } /* Name.Property */ +.codehilite.dracula .nt { color: #FF79C6 } /* Name.Tag */ +.codehilite.dracula .nv { color: #8BE9FD; font-style: italic } /* Name.Variable */ +.codehilite.dracula .ow { color: #FF79C6 } /* Operator.Word */ +.codehilite.dracula .pm { color: #F8F8F2 } /* Punctuation.Marker */ +.codehilite.dracula .w { color: #F8F8F2 } /* Text.Whitespace */ +.codehilite.dracula .mb { color: #FFB86C } /* Literal.Number.Bin */ +.codehilite.dracula .mf { color: #FFB86C } /* Literal.Number.Float */ +.codehilite.dracula .mh { color: #FFB86C } /* Literal.Number.Hex */ +.codehilite.dracula .mi { color: #FFB86C } /* Literal.Number.Integer */ +.codehilite.dracula .mo { color: #FFB86C } /* Literal.Number.Oct */ +.codehilite.dracula .sa { color: #BD93F9 } /* Literal.String.Affix */ +.codehilite.dracula .sb { color: #BD93F9 } /* Literal.String.Backtick */ +.codehilite.dracula .sc { color: #BD93F9 } /* Literal.String.Char */ +.codehilite.dracula .dl { color: #BD93F9 } /* Literal.String.Delimiter */ +.codehilite.dracula .sd { color: #BD93F9 } /* Literal.String.Doc */ +.codehilite.dracula .s2 { color: #BD93F9 } /* Literal.String.Double */ +.codehilite.dracula .se { color: #BD93F9 } /* Literal.String.Escape */ +.codehilite.dracula .sh { color: #BD93F9 } /* Literal.String.Heredoc */ +.codehilite.dracula .si { color: #BD93F9 } /* Literal.String.Interpol */ +.codehilite.dracula .sx { color: #BD93F9 } /* Literal.String.Other */ +.codehilite.dracula .sr { color: #BD93F9 } /* Literal.String.Regex */ +.codehilite.dracula .s1 { color: #BD93F9 } /* Literal.String.Single */ +.codehilite.dracula .ss { color: #BD93F9 } /* Literal.String.Symbol */ +.codehilite.dracula .bp { color: #F8F8F2; font-style: italic } /* Name.Builtin.Pseudo */ +.codehilite.dracula .fm { color: #50FA7B } /* Name.Function.Magic */ +.codehilite.dracula .vc { color: #8BE9FD; font-style: italic } /* Name.Variable.Class */ +.codehilite.dracula .vg { color: #8BE9FD; font-style: italic } /* Name.Variable.Global */ +.codehilite.dracula .vi { color: #8BE9FD; font-style: italic } /* Name.Variable.Instance */ +.codehilite.dracula .vm { color: #8BE9FD; font-style: italic } /* Name.Variable.Magic */ +.codehilite.dracula .il { color: #FFB86C } /* Literal.Number.Integer.Long */ +.codehilite.emacs .hll { background-color: #ffffcc } +.codehilite.emacs { background: #f8f8f8; } +.codehilite.emacs .c { color: #080; font-style: italic } /* Comment */ +.codehilite.emacs .err { border: 1px solid #F00 } /* Error */ +.codehilite.emacs .k { color: #A2F; font-weight: bold } /* Keyword */ +.codehilite.emacs .o { color: #666 } /* Operator */ +.codehilite.emacs .ch { color: #080; font-style: italic } /* Comment.Hashbang */ +.codehilite.emacs .cm { color: #080; font-style: italic } /* Comment.Multiline */ +.codehilite.emacs .cp { color: #080 } /* Comment.Preproc */ +.codehilite.emacs .cpf { color: #080; font-style: italic } /* Comment.PreprocFile */ +.codehilite.emacs .c1 { color: #080; font-style: italic } /* Comment.Single */ +.codehilite.emacs .cs { color: #080; font-weight: bold } /* Comment.Special */ +.codehilite.emacs .gd { color: #A00000 } /* Generic.Deleted */ +.codehilite.emacs .ge { font-style: italic } /* Generic.Emph */ +.codehilite.emacs .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite.emacs .gr { color: #F00 } /* Generic.Error */ +.codehilite.emacs .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.codehilite.emacs .gi { color: #00A000 } /* Generic.Inserted */ +.codehilite.emacs .go { color: #888 } /* Generic.Output */ +.codehilite.emacs .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ +.codehilite.emacs .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.emacs .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.codehilite.emacs .gt { color: #04D } /* Generic.Traceback */ +.codehilite.emacs .kc { color: #A2F; font-weight: bold } /* Keyword.Constant */ +.codehilite.emacs .kd { color: #A2F; font-weight: bold } /* Keyword.Declaration */ +.codehilite.emacs .kn { color: #A2F; font-weight: bold } /* Keyword.Namespace */ +.codehilite.emacs .kp { color: #A2F } /* Keyword.Pseudo */ +.codehilite.emacs .kr { color: #A2F; font-weight: bold } /* Keyword.Reserved */ +.codehilite.emacs .kt { color: #0B0; font-weight: bold } /* Keyword.Type */ +.codehilite.emacs .m { color: #666 } /* Literal.Number */ +.codehilite.emacs .s { color: #B44 } /* Literal.String */ +.codehilite.emacs .na { color: #B44 } /* Name.Attribute */ +.codehilite.emacs .nb { color: #A2F } /* Name.Builtin */ +.codehilite.emacs .nc { color: #00F } /* Name.Class */ +.codehilite.emacs .no { color: #800 } /* Name.Constant */ +.codehilite.emacs .nd { color: #A2F } /* Name.Decorator */ +.codehilite.emacs .ni { color: #999; font-weight: bold } /* Name.Entity */ +.codehilite.emacs .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ +.codehilite.emacs .nf { color: #00A000 } /* Name.Function */ +.codehilite.emacs .nl { color: #A0A000 } /* Name.Label */ +.codehilite.emacs .nn { color: #00F; font-weight: bold } /* Name.Namespace */ +.codehilite.emacs .nt { color: #008000; font-weight: bold } /* Name.Tag */ +.codehilite.emacs .nv { color: #B8860B } /* Name.Variable */ +.codehilite.emacs .ow { color: #A2F; font-weight: bold } /* Operator.Word */ +.codehilite.emacs .w { color: #BBB } /* Text.Whitespace */ +.codehilite.emacs .mb { color: #666 } /* Literal.Number.Bin */ +.codehilite.emacs .mf { color: #666 } /* Literal.Number.Float */ +.codehilite.emacs .mh { color: #666 } /* Literal.Number.Hex */ +.codehilite.emacs .mi { color: #666 } /* Literal.Number.Integer */ +.codehilite.emacs .mo { color: #666 } /* Literal.Number.Oct */ +.codehilite.emacs .sa { color: #B44 } /* Literal.String.Affix */ +.codehilite.emacs .sb { color: #B44 } /* Literal.String.Backtick */ +.codehilite.emacs .sc { color: #B44 } /* Literal.String.Char */ +.codehilite.emacs .dl { color: #B44 } /* Literal.String.Delimiter */ +.codehilite.emacs .sd { color: #B44; font-style: italic } /* Literal.String.Doc */ +.codehilite.emacs .s2 { color: #B44 } /* Literal.String.Double */ +.codehilite.emacs .se { color: #B62; font-weight: bold } /* Literal.String.Escape */ +.codehilite.emacs .sh { color: #B44 } /* Literal.String.Heredoc */ +.codehilite.emacs .si { color: #B68; font-weight: bold } /* Literal.String.Interpol */ +.codehilite.emacs .sx { color: #008000 } /* Literal.String.Other */ +.codehilite.emacs .sr { color: #B68 } /* Literal.String.Regex */ +.codehilite.emacs .s1 { color: #B44 } /* Literal.String.Single */ +.codehilite.emacs .ss { color: #B8860B } /* Literal.String.Symbol */ +.codehilite.emacs .bp { color: #A2F } /* Name.Builtin.Pseudo */ +.codehilite.emacs .fm { color: #00A000 } /* Name.Function.Magic */ +.codehilite.emacs .vc { color: #B8860B } /* Name.Variable.Class */ +.codehilite.emacs .vg { color: #B8860B } /* Name.Variable.Global */ +.codehilite.emacs .vi { color: #B8860B } /* Name.Variable.Instance */ +.codehilite.emacs .vm { color: #B8860B } /* Name.Variable.Magic */ +.codehilite.emacs .il { color: #666 } /* Literal.Number.Integer.Long */ +.codehilite.friendly_grayscale .hll { background-color: #ffffcc } +.codehilite.friendly_grayscale { background: #f0f0f0; } +.codehilite.friendly_grayscale .c { color: #959595; font-style: italic } /* Comment */ +.codehilite.friendly_grayscale .err { border: 1px solid #898989 } /* Error */ +.codehilite.friendly_grayscale .k { color: #575757; font-weight: bold } /* Keyword */ +.codehilite.friendly_grayscale .o { color: #666 } /* Operator */ +.codehilite.friendly_grayscale .ch { color: #959595; font-style: italic } /* Comment.Hashbang */ +.codehilite.friendly_grayscale .cm { color: #959595; font-style: italic } /* Comment.Multiline */ +.codehilite.friendly_grayscale .cp { color: #575757 } /* Comment.Preproc */ +.codehilite.friendly_grayscale .cpf { color: #959595; font-style: italic } /* Comment.PreprocFile */ +.codehilite.friendly_grayscale .c1 { color: #959595; font-style: italic } /* Comment.Single */ +.codehilite.friendly_grayscale .cs { color: #959595; background-color: #F4F4F4 } /* Comment.Special */ +.codehilite.friendly_grayscale .gd { color: #545454 } /* Generic.Deleted */ +.codehilite.friendly_grayscale .ge { font-style: italic } /* Generic.Emph */ +.codehilite.friendly_grayscale .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite.friendly_grayscale .gr { color: #898989 } /* Generic.Error */ +.codehilite.friendly_grayscale .gh { color: #373737; font-weight: bold } /* Generic.Heading */ +.codehilite.friendly_grayscale .gi { color: #7D7D7D } /* Generic.Inserted */ +.codehilite.friendly_grayscale .go { color: #888 } /* Generic.Output */ +.codehilite.friendly_grayscale .gp { color: #7E7E7E; font-weight: bold } /* Generic.Prompt */ +.codehilite.friendly_grayscale .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.friendly_grayscale .gu { color: #5A5A5A; font-weight: bold } /* Generic.Subheading */ +.codehilite.friendly_grayscale .gt { color: #6D6D6D } /* Generic.Traceback */ +.codehilite.friendly_grayscale .kc { color: #575757; font-weight: bold } /* Keyword.Constant */ +.codehilite.friendly_grayscale .kd { color: #575757; font-weight: bold } /* Keyword.Declaration */ +.codehilite.friendly_grayscale .kn { color: #575757; font-weight: bold } /* Keyword.Namespace */ +.codehilite.friendly_grayscale .kp { color: #575757 } /* Keyword.Pseudo */ +.codehilite.friendly_grayscale .kr { color: #575757; font-weight: bold } /* Keyword.Reserved */ +.codehilite.friendly_grayscale .kt { color: #4F4F4F } /* Keyword.Type */ +.codehilite.friendly_grayscale .m { color: #888 } /* Literal.Number */ +.codehilite.friendly_grayscale .s { color: #717171 } /* Literal.String */ +.codehilite.friendly_grayscale .na { color: #707070 } /* Name.Attribute */ +.codehilite.friendly_grayscale .nb { color: #575757 } /* Name.Builtin */ +.codehilite.friendly_grayscale .nc { color: #7E7E7E; font-weight: bold } /* Name.Class */ +.codehilite.friendly_grayscale .no { color: #A5A5A5 } /* Name.Constant */ +.codehilite.friendly_grayscale .nd { color: #555; font-weight: bold } /* Name.Decorator */ +.codehilite.friendly_grayscale .ni { color: #848484; font-weight: bold } /* Name.Entity */ +.codehilite.friendly_grayscale .ne { color: #575757 } /* Name.Exception */ +.codehilite.friendly_grayscale .nf { color: #3F3F3F } /* Name.Function */ +.codehilite.friendly_grayscale .nl { color: #363636; font-weight: bold } /* Name.Label */ +.codehilite.friendly_grayscale .nn { color: #7E7E7E; font-weight: bold } /* Name.Namespace */ +.codehilite.friendly_grayscale .nt { color: #3B3B3B; font-weight: bold } /* Name.Tag */ +.codehilite.friendly_grayscale .nv { color: #9A9A9A } /* Name.Variable */ +.codehilite.friendly_grayscale .ow { color: #575757; font-weight: bold } /* Operator.Word */ +.codehilite.friendly_grayscale .w { color: #BBB } /* Text.Whitespace */ +.codehilite.friendly_grayscale .mb { color: #888 } /* Literal.Number.Bin */ +.codehilite.friendly_grayscale .mf { color: #888 } /* Literal.Number.Float */ +.codehilite.friendly_grayscale .mh { color: #888 } /* Literal.Number.Hex */ +.codehilite.friendly_grayscale .mi { color: #888 } /* Literal.Number.Integer */ +.codehilite.friendly_grayscale .mo { color: #888 } /* Literal.Number.Oct */ +.codehilite.friendly_grayscale .sa { color: #717171 } /* Literal.String.Affix */ +.codehilite.friendly_grayscale .sb { color: #717171 } /* Literal.String.Backtick */ +.codehilite.friendly_grayscale .sc { color: #717171 } /* Literal.String.Char */ +.codehilite.friendly_grayscale .dl { color: #717171 } /* Literal.String.Delimiter */ +.codehilite.friendly_grayscale .sd { color: #717171; font-style: italic } /* Literal.String.Doc */ +.codehilite.friendly_grayscale .s2 { color: #717171 } /* Literal.String.Double */ +.codehilite.friendly_grayscale .se { color: #717171; font-weight: bold } /* Literal.String.Escape */ +.codehilite.friendly_grayscale .sh { color: #717171 } /* Literal.String.Heredoc */ +.codehilite.friendly_grayscale .si { color: #9F9F9F; font-style: italic } /* Literal.String.Interpol */ +.codehilite.friendly_grayscale .sx { color: #7E7E7E } /* Literal.String.Other */ +.codehilite.friendly_grayscale .sr { color: #575757 } /* Literal.String.Regex */ +.codehilite.friendly_grayscale .s1 { color: #717171 } /* Literal.String.Single */ +.codehilite.friendly_grayscale .ss { color: #676767 } /* Literal.String.Symbol */ +.codehilite.friendly_grayscale .bp { color: #575757 } /* Name.Builtin.Pseudo */ +.codehilite.friendly_grayscale .fm { color: #3F3F3F } /* Name.Function.Magic */ +.codehilite.friendly_grayscale .vc { color: #9A9A9A } /* Name.Variable.Class */ +.codehilite.friendly_grayscale .vg { color: #9A9A9A } /* Name.Variable.Global */ +.codehilite.friendly_grayscale .vi { color: #9A9A9A } /* Name.Variable.Instance */ +.codehilite.friendly_grayscale .vm { color: #9A9A9A } /* Name.Variable.Magic */ +.codehilite.friendly_grayscale .il { color: #888 } /* Literal.Number.Integer.Long */ +.codehilite.friendly .hll { background-color: #ffffcc } +.codehilite.friendly { background: #f0f0f0; } +.codehilite.friendly .c { color: #60A0B0; font-style: italic } /* Comment */ +.codehilite.friendly .err { border: 1px solid #F00 } /* Error */ +.codehilite.friendly .k { color: #007020; font-weight: bold } /* Keyword */ +.codehilite.friendly .o { color: #666 } /* Operator */ +.codehilite.friendly .ch { color: #60A0B0; font-style: italic } /* Comment.Hashbang */ +.codehilite.friendly .cm { color: #60A0B0; font-style: italic } /* Comment.Multiline */ +.codehilite.friendly .cp { color: #007020 } /* Comment.Preproc */ +.codehilite.friendly .cpf { color: #60A0B0; font-style: italic } /* Comment.PreprocFile */ +.codehilite.friendly .c1 { color: #60A0B0; font-style: italic } /* Comment.Single */ +.codehilite.friendly .cs { color: #60A0B0; background-color: #FFF0F0 } /* Comment.Special */ +.codehilite.friendly .gd { color: #A00000 } /* Generic.Deleted */ +.codehilite.friendly .ge { font-style: italic } /* Generic.Emph */ +.codehilite.friendly .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite.friendly .gr { color: #F00 } /* Generic.Error */ +.codehilite.friendly .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.codehilite.friendly .gi { color: #00A000 } /* Generic.Inserted */ +.codehilite.friendly .go { color: #888 } /* Generic.Output */ +.codehilite.friendly .gp { color: #C65D09; font-weight: bold } /* Generic.Prompt */ +.codehilite.friendly .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.friendly .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.codehilite.friendly .gt { color: #04D } /* Generic.Traceback */ +.codehilite.friendly .kc { color: #007020; font-weight: bold } /* Keyword.Constant */ +.codehilite.friendly .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */ +.codehilite.friendly .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */ +.codehilite.friendly .kp { color: #007020 } /* Keyword.Pseudo */ +.codehilite.friendly .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */ +.codehilite.friendly .kt { color: #902000 } /* Keyword.Type */ +.codehilite.friendly .m { color: #40A070 } /* Literal.Number */ +.codehilite.friendly .s { color: #4070A0 } /* Literal.String */ +.codehilite.friendly .na { color: #4070A0 } /* Name.Attribute */ +.codehilite.friendly .nb { color: #007020 } /* Name.Builtin */ +.codehilite.friendly .nc { color: #0E84B5; font-weight: bold } /* Name.Class */ +.codehilite.friendly .no { color: #60ADD5 } /* Name.Constant */ +.codehilite.friendly .nd { color: #555; font-weight: bold } /* Name.Decorator */ +.codehilite.friendly .ni { color: #D55537; font-weight: bold } /* Name.Entity */ +.codehilite.friendly .ne { color: #007020 } /* Name.Exception */ +.codehilite.friendly .nf { color: #06287E } /* Name.Function */ +.codehilite.friendly .nl { color: #002070; font-weight: bold } /* Name.Label */ +.codehilite.friendly .nn { color: #0E84B5; font-weight: bold } /* Name.Namespace */ +.codehilite.friendly .nt { color: #062873; font-weight: bold } /* Name.Tag */ +.codehilite.friendly .nv { color: #BB60D5 } /* Name.Variable */ +.codehilite.friendly .ow { color: #007020; font-weight: bold } /* Operator.Word */ +.codehilite.friendly .w { color: #BBB } /* Text.Whitespace */ +.codehilite.friendly .mb { color: #40A070 } /* Literal.Number.Bin */ +.codehilite.friendly .mf { color: #40A070 } /* Literal.Number.Float */ +.codehilite.friendly .mh { color: #40A070 } /* Literal.Number.Hex */ +.codehilite.friendly .mi { color: #40A070 } /* Literal.Number.Integer */ +.codehilite.friendly .mo { color: #40A070 } /* Literal.Number.Oct */ +.codehilite.friendly .sa { color: #4070A0 } /* Literal.String.Affix */ +.codehilite.friendly .sb { color: #4070A0 } /* Literal.String.Backtick */ +.codehilite.friendly .sc { color: #4070A0 } /* Literal.String.Char */ +.codehilite.friendly .dl { color: #4070A0 } /* Literal.String.Delimiter */ +.codehilite.friendly .sd { color: #4070A0; font-style: italic } /* Literal.String.Doc */ +.codehilite.friendly .s2 { color: #4070A0 } /* Literal.String.Double */ +.codehilite.friendly .se { color: #4070A0; font-weight: bold } /* Literal.String.Escape */ +.codehilite.friendly .sh { color: #4070A0 } /* Literal.String.Heredoc */ +.codehilite.friendly .si { color: #70A0D0; font-style: italic } /* Literal.String.Interpol */ +.codehilite.friendly .sx { color: #C65D09 } /* Literal.String.Other */ +.codehilite.friendly .sr { color: #235388 } /* Literal.String.Regex */ +.codehilite.friendly .s1 { color: #4070A0 } /* Literal.String.Single */ +.codehilite.friendly .ss { color: #517918 } /* Literal.String.Symbol */ +.codehilite.friendly .bp { color: #007020 } /* Name.Builtin.Pseudo */ +.codehilite.friendly .fm { color: #06287E } /* Name.Function.Magic */ +.codehilite.friendly .vc { color: #BB60D5 } /* Name.Variable.Class */ +.codehilite.friendly .vg { color: #BB60D5 } /* Name.Variable.Global */ +.codehilite.friendly .vi { color: #BB60D5 } /* Name.Variable.Instance */ +.codehilite.friendly .vm { color: #BB60D5 } /* Name.Variable.Magic */ +.codehilite.friendly .il { color: #40A070 } /* Literal.Number.Integer.Long */ +.codehilite.fruity .hll { background-color: #333333 } +.codehilite.fruity { background: #111111; color: #FFF } +.codehilite.fruity .c { color: #080; font-style: italic; background-color: #0F140F } /* Comment */ +.codehilite.fruity .err { color: #FFF } /* Error */ +.codehilite.fruity .esc { color: #FFF } /* Escape */ +.codehilite.fruity .g { color: #FFF } /* Generic */ +.codehilite.fruity .k { color: #FB660A; font-weight: bold } /* Keyword */ +.codehilite.fruity .l { color: #FFF } /* Literal */ +.codehilite.fruity .n { color: #FFF } /* Name */ +.codehilite.fruity .o { color: #FFF } /* Operator */ +.codehilite.fruity .x { color: #FFF } /* Other */ +.codehilite.fruity .p { color: #FFF } /* Punctuation */ +.codehilite.fruity .ch { color: #080; font-style: italic; background-color: #0F140F } /* Comment.Hashbang */ +.codehilite.fruity .cm { color: #080; font-style: italic; background-color: #0F140F } /* Comment.Multiline */ +.codehilite.fruity .cp { color: #FF0007; font-weight: bold; font-style: italic; background-color: #0F140F } /* Comment.Preproc */ +.codehilite.fruity .cpf { color: #080; font-style: italic; background-color: #0F140F } /* Comment.PreprocFile */ +.codehilite.fruity .c1 { color: #080; font-style: italic; background-color: #0F140F } /* Comment.Single */ +.codehilite.fruity .cs { color: #080; font-style: italic; background-color: #0F140F } /* Comment.Special */ +.codehilite.fruity .gd { color: #FFF } /* Generic.Deleted */ +.codehilite.fruity .ge { color: #FFF } /* Generic.Emph */ +.codehilite.fruity .ges { color: #FFF } /* Generic.EmphStrong */ +.codehilite.fruity .gr { color: #FFF } /* Generic.Error */ +.codehilite.fruity .gh { color: #FFF; font-weight: bold } /* Generic.Heading */ +.codehilite.fruity .gi { color: #FFF } /* Generic.Inserted */ +.codehilite.fruity .go { color: #444; background-color: #222 } /* Generic.Output */ +.codehilite.fruity .gp { color: #FFF } /* Generic.Prompt */ +.codehilite.fruity .gs { color: #FFF } /* Generic.Strong */ +.codehilite.fruity .gu { color: #FFF; font-weight: bold } /* Generic.Subheading */ +.codehilite.fruity .gt { color: #FFF } /* Generic.Traceback */ +.codehilite.fruity .kc { color: #FB660A; font-weight: bold } /* Keyword.Constant */ +.codehilite.fruity .kd { color: #FB660A; font-weight: bold } /* Keyword.Declaration */ +.codehilite.fruity .kn { color: #FB660A; font-weight: bold } /* Keyword.Namespace */ +.codehilite.fruity .kp { color: #FB660A } /* Keyword.Pseudo */ +.codehilite.fruity .kr { color: #FB660A; font-weight: bold } /* Keyword.Reserved */ +.codehilite.fruity .kt { color: #CDCAA9; font-weight: bold } /* Keyword.Type */ +.codehilite.fruity .ld { color: #FFF } /* Literal.Date */ +.codehilite.fruity .m { color: #0086F7; font-weight: bold } /* Literal.Number */ +.codehilite.fruity .s { color: #0086D2 } /* Literal.String */ +.codehilite.fruity .na { color: #FF0086; font-weight: bold } /* Name.Attribute */ +.codehilite.fruity .nb { color: #FFF } /* Name.Builtin */ +.codehilite.fruity .nc { color: #FFF } /* Name.Class */ +.codehilite.fruity .no { color: #0086D2 } /* Name.Constant */ +.codehilite.fruity .nd { color: #FFF } /* Name.Decorator */ +.codehilite.fruity .ni { color: #FFF } /* Name.Entity */ +.codehilite.fruity .ne { color: #FFF } /* Name.Exception */ +.codehilite.fruity .nf { color: #FF0086; font-weight: bold } /* Name.Function */ +.codehilite.fruity .nl { color: #FFF } /* Name.Label */ +.codehilite.fruity .nn { color: #FFF } /* Name.Namespace */ +.codehilite.fruity .nx { color: #FFF } /* Name.Other */ +.codehilite.fruity .py { color: #FFF } /* Name.Property */ +.codehilite.fruity .nt { color: #FB660A; font-weight: bold } /* Name.Tag */ +.codehilite.fruity .nv { color: #FB660A } /* Name.Variable */ +.codehilite.fruity .ow { color: #FFF } /* Operator.Word */ +.codehilite.fruity .pm { color: #FFF } /* Punctuation.Marker */ +.codehilite.fruity .w { color: #888 } /* Text.Whitespace */ +.codehilite.fruity .mb { color: #0086F7; font-weight: bold } /* Literal.Number.Bin */ +.codehilite.fruity .mf { color: #0086F7; font-weight: bold } /* Literal.Number.Float */ +.codehilite.fruity .mh { color: #0086F7; font-weight: bold } /* Literal.Number.Hex */ +.codehilite.fruity .mi { color: #0086F7; font-weight: bold } /* Literal.Number.Integer */ +.codehilite.fruity .mo { color: #0086F7; font-weight: bold } /* Literal.Number.Oct */ +.codehilite.fruity .sa { color: #0086D2 } /* Literal.String.Affix */ +.codehilite.fruity .sb { color: #0086D2 } /* Literal.String.Backtick */ +.codehilite.fruity .sc { color: #0086D2 } /* Literal.String.Char */ +.codehilite.fruity .dl { color: #0086D2 } /* Literal.String.Delimiter */ +.codehilite.fruity .sd { color: #0086D2 } /* Literal.String.Doc */ +.codehilite.fruity .s2 { color: #0086D2 } /* Literal.String.Double */ +.codehilite.fruity .se { color: #0086D2 } /* Literal.String.Escape */ +.codehilite.fruity .sh { color: #0086D2 } /* Literal.String.Heredoc */ +.codehilite.fruity .si { color: #0086D2 } /* Literal.String.Interpol */ +.codehilite.fruity .sx { color: #0086D2 } /* Literal.String.Other */ +.codehilite.fruity .sr { color: #0086D2 } /* Literal.String.Regex */ +.codehilite.fruity .s1 { color: #0086D2 } /* Literal.String.Single */ +.codehilite.fruity .ss { color: #0086D2 } /* Literal.String.Symbol */ +.codehilite.fruity .bp { color: #FFF } /* Name.Builtin.Pseudo */ +.codehilite.fruity .fm { color: #FF0086; font-weight: bold } /* Name.Function.Magic */ +.codehilite.fruity .vc { color: #FB660A } /* Name.Variable.Class */ +.codehilite.fruity .vg { color: #FB660A } /* Name.Variable.Global */ +.codehilite.fruity .vi { color: #FB660A } /* Name.Variable.Instance */ +.codehilite.fruity .vm { color: #FB660A } /* Name.Variable.Magic */ +.codehilite.fruity .il { color: #0086F7; font-weight: bold } /* Literal.Number.Integer.Long */ +.codehilite.github-dark .hll { background-color: #6e7681 } +.codehilite.github-dark { background: #0d1117; color: #E6EDF3 } +.codehilite.github-dark .c { color: #8B949E; font-style: italic } /* Comment */ +.codehilite.github-dark .err { color: #F85149 } /* Error */ +.codehilite.github-dark .esc { color: #E6EDF3 } /* Escape */ +.codehilite.github-dark .g { color: #E6EDF3 } /* Generic */ +.codehilite.github-dark .k { color: #FF7B72 } /* Keyword */ +.codehilite.github-dark .l { color: #A5D6FF } /* Literal */ +.codehilite.github-dark .n { color: #E6EDF3 } /* Name */ +.codehilite.github-dark .o { color: #FF7B72; font-weight: bold } /* Operator */ +.codehilite.github-dark .x { color: #E6EDF3 } /* Other */ +.codehilite.github-dark .p { color: #E6EDF3 } /* Punctuation */ +.codehilite.github-dark .ch { color: #8B949E; font-style: italic } /* Comment.Hashbang */ +.codehilite.github-dark .cm { color: #8B949E; font-style: italic } /* Comment.Multiline */ +.codehilite.github-dark .cp { color: #8B949E; font-weight: bold; font-style: italic } /* Comment.Preproc */ +.codehilite.github-dark .cpf { color: #8B949E; font-style: italic } /* Comment.PreprocFile */ +.codehilite.github-dark .c1 { color: #8B949E; font-style: italic } /* Comment.Single */ +.codehilite.github-dark .cs { color: #8B949E; font-weight: bold; font-style: italic } /* Comment.Special */ +.codehilite.github-dark .gd { color: #FFA198; background-color: #490202 } /* Generic.Deleted */ +.codehilite.github-dark .ge { color: #E6EDF3; font-style: italic } /* Generic.Emph */ +.codehilite.github-dark .ges { color: #E6EDF3; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite.github-dark .gr { color: #FFA198 } /* Generic.Error */ +.codehilite.github-dark .gh { color: #79C0FF; font-weight: bold } /* Generic.Heading */ +.codehilite.github-dark .gi { color: #56D364; background-color: #0F5323 } /* Generic.Inserted */ +.codehilite.github-dark .go { color: #8B949E } /* Generic.Output */ +.codehilite.github-dark .gp { color: #8B949E } /* Generic.Prompt */ +.codehilite.github-dark .gs { color: #E6EDF3; font-weight: bold } /* Generic.Strong */ +.codehilite.github-dark .gu { color: #79C0FF } /* Generic.Subheading */ +.codehilite.github-dark .gt { color: #FF7B72 } /* Generic.Traceback */ +.codehilite.github-dark .g-Underline { color: #E6EDF3; text-decoration: underline } /* Generic.Underline */ +.codehilite.github-dark .kc { color: #79C0FF } /* Keyword.Constant */ +.codehilite.github-dark .kd { color: #FF7B72 } /* Keyword.Declaration */ +.codehilite.github-dark .kn { color: #FF7B72 } /* Keyword.Namespace */ +.codehilite.github-dark .kp { color: #79C0FF } /* Keyword.Pseudo */ +.codehilite.github-dark .kr { color: #FF7B72 } /* Keyword.Reserved */ +.codehilite.github-dark .kt { color: #FF7B72 } /* Keyword.Type */ +.codehilite.github-dark .ld { color: #79C0FF } /* Literal.Date */ +.codehilite.github-dark .m { color: #A5D6FF } /* Literal.Number */ +.codehilite.github-dark .s { color: #A5D6FF } /* Literal.String */ +.codehilite.github-dark .na { color: #E6EDF3 } /* Name.Attribute */ +.codehilite.github-dark .nb { color: #E6EDF3 } /* Name.Builtin */ +.codehilite.github-dark .nc { color: #F0883E; font-weight: bold } /* Name.Class */ +.codehilite.github-dark .no { color: #79C0FF; font-weight: bold } /* Name.Constant */ +.codehilite.github-dark .nd { color: #D2A8FF; font-weight: bold } /* Name.Decorator */ +.codehilite.github-dark .ni { color: #FFA657 } /* Name.Entity */ +.codehilite.github-dark .ne { color: #F0883E; font-weight: bold } /* Name.Exception */ +.codehilite.github-dark .nf { color: #D2A8FF; font-weight: bold } /* Name.Function */ +.codehilite.github-dark .nl { color: #79C0FF; font-weight: bold } /* Name.Label */ +.codehilite.github-dark .nn { color: #FF7B72 } /* Name.Namespace */ +.codehilite.github-dark .nx { color: #E6EDF3 } /* Name.Other */ +.codehilite.github-dark .py { color: #79C0FF } /* Name.Property */ +.codehilite.github-dark .nt { color: #7EE787 } /* Name.Tag */ +.codehilite.github-dark .nv { color: #79C0FF } /* Name.Variable */ +.codehilite.github-dark .ow { color: #FF7B72; font-weight: bold } /* Operator.Word */ +.codehilite.github-dark .pm { color: #E6EDF3 } /* Punctuation.Marker */ +.codehilite.github-dark .w { color: #6E7681 } /* Text.Whitespace */ +.codehilite.github-dark .mb { color: #A5D6FF } /* Literal.Number.Bin */ +.codehilite.github-dark .mf { color: #A5D6FF } /* Literal.Number.Float */ +.codehilite.github-dark .mh { color: #A5D6FF } /* Literal.Number.Hex */ +.codehilite.github-dark .mi { color: #A5D6FF } /* Literal.Number.Integer */ +.codehilite.github-dark .mo { color: #A5D6FF } /* Literal.Number.Oct */ +.codehilite.github-dark .sa { color: #79C0FF } /* Literal.String.Affix */ +.codehilite.github-dark .sb { color: #A5D6FF } /* Literal.String.Backtick */ +.codehilite.github-dark .sc { color: #A5D6FF } /* Literal.String.Char */ +.codehilite.github-dark .dl { color: #79C0FF } /* Literal.String.Delimiter */ +.codehilite.github-dark .sd { color: #A5D6FF } /* Literal.String.Doc */ +.codehilite.github-dark .s2 { color: #A5D6FF } /* Literal.String.Double */ +.codehilite.github-dark .se { color: #79C0FF } /* Literal.String.Escape */ +.codehilite.github-dark .sh { color: #79C0FF } /* Literal.String.Heredoc */ +.codehilite.github-dark .si { color: #A5D6FF } /* Literal.String.Interpol */ +.codehilite.github-dark .sx { color: #A5D6FF } /* Literal.String.Other */ +.codehilite.github-dark .sr { color: #79C0FF } /* Literal.String.Regex */ +.codehilite.github-dark .s1 { color: #A5D6FF } /* Literal.String.Single */ +.codehilite.github-dark .ss { color: #A5D6FF } /* Literal.String.Symbol */ +.codehilite.github-dark .bp { color: #E6EDF3 } /* Name.Builtin.Pseudo */ +.codehilite.github-dark .fm { color: #D2A8FF; font-weight: bold } /* Name.Function.Magic */ +.codehilite.github-dark .vc { color: #79C0FF } /* Name.Variable.Class */ +.codehilite.github-dark .vg { color: #79C0FF } /* Name.Variable.Global */ +.codehilite.github-dark .vi { color: #79C0FF } /* Name.Variable.Instance */ +.codehilite.github-dark .vm { color: #79C0FF } /* Name.Variable.Magic */ +.codehilite.github-dark .il { color: #A5D6FF } /* Literal.Number.Integer.Long */ +.codehilite.gruvbox-dark .hll { background-color: #ebdbb2 } +.codehilite.gruvbox-dark { background: #282828; color: #DDD } +.codehilite.gruvbox-dark .c { color: #928374; font-style: italic } /* Comment */ +.codehilite.gruvbox-dark .err { color: #282828; background-color: #FB4934 } /* Error */ +.codehilite.gruvbox-dark .esc { color: #DDD } /* Escape */ +.codehilite.gruvbox-dark .g { color: #DDD } /* Generic */ +.codehilite.gruvbox-dark .k { color: #FB4934 } /* Keyword */ +.codehilite.gruvbox-dark .l { color: #DDD } /* Literal */ +.codehilite.gruvbox-dark .n { color: #DDD } /* Name */ +.codehilite.gruvbox-dark .o { color: #DDD } /* Operator */ +.codehilite.gruvbox-dark .x { color: #DDD } /* Other */ +.codehilite.gruvbox-dark .p { color: #DDD } /* Punctuation */ +.codehilite.gruvbox-dark .ch { color: #928374; font-style: italic } /* Comment.Hashbang */ +.codehilite.gruvbox-dark .cm { color: #928374; font-style: italic } /* Comment.Multiline */ +.codehilite.gruvbox-dark .c-PreProc { color: #8EC07C; font-style: italic } /* Comment.PreProc */ +.codehilite.gruvbox-dark .cp { color: #928374; font-style: italic } /* Comment.Preproc */ +.codehilite.gruvbox-dark .cpf { color: #928374; font-style: italic } /* Comment.PreprocFile */ +.codehilite.gruvbox-dark .c1 { color: #928374; font-style: italic } /* Comment.Single */ +.codehilite.gruvbox-dark .cs { color: #EBDBB2; font-weight: bold; font-style: italic } /* Comment.Special */ +.codehilite.gruvbox-dark .gd { color: #282828; background-color: #FB4934 } /* Generic.Deleted */ +.codehilite.gruvbox-dark .ge { color: #DDD; font-style: italic } /* Generic.Emph */ +.codehilite.gruvbox-dark .ges { color: #DDD; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite.gruvbox-dark .gr { color: #FB4934 } /* Generic.Error */ +.codehilite.gruvbox-dark .gh { color: #EBDBB2; font-weight: bold } /* Generic.Heading */ +.codehilite.gruvbox-dark .gi { color: #282828; background-color: #B8BB26 } /* Generic.Inserted */ +.codehilite.gruvbox-dark .go { color: #F2E5BC } /* Generic.Output */ +.codehilite.gruvbox-dark .gp { color: #A89984 } /* Generic.Prompt */ +.codehilite.gruvbox-dark .gs { color: #DDD; font-weight: bold } /* Generic.Strong */ +.codehilite.gruvbox-dark .gu { color: #EBDBB2; text-decoration: underline } /* Generic.Subheading */ +.codehilite.gruvbox-dark .gt { color: #FB4934 } /* Generic.Traceback */ +.codehilite.gruvbox-dark .kc { color: #FB4934 } /* Keyword.Constant */ +.codehilite.gruvbox-dark .kd { color: #FB4934 } /* Keyword.Declaration */ +.codehilite.gruvbox-dark .kn { color: #FB4934 } /* Keyword.Namespace */ +.codehilite.gruvbox-dark .kp { color: #FB4934 } /* Keyword.Pseudo */ +.codehilite.gruvbox-dark .kr { color: #FB4934 } /* Keyword.Reserved */ +.codehilite.gruvbox-dark .kt { color: #FB4934 } /* Keyword.Type */ +.codehilite.gruvbox-dark .ld { color: #DDD } /* Literal.Date */ +.codehilite.gruvbox-dark .m { color: #D3869B } /* Literal.Number */ +.codehilite.gruvbox-dark .s { color: #B8BB26 } /* Literal.String */ +.codehilite.gruvbox-dark .na { color: #FABD2F } /* Name.Attribute */ +.codehilite.gruvbox-dark .nb { color: #FE8019 } /* Name.Builtin */ +.codehilite.gruvbox-dark .nc { color: #8EC07C } /* Name.Class */ +.codehilite.gruvbox-dark .no { color: #D3869B } /* Name.Constant */ +.codehilite.gruvbox-dark .nd { color: #FB4934 } /* Name.Decorator */ +.codehilite.gruvbox-dark .ni { color: #DDD } /* Name.Entity */ +.codehilite.gruvbox-dark .ne { color: #FB4934 } /* Name.Exception */ +.codehilite.gruvbox-dark .nf { color: #8EC07C } /* Name.Function */ +.codehilite.gruvbox-dark .nl { color: #DDD } /* Name.Label */ +.codehilite.gruvbox-dark .nn { color: #8EC07C } /* Name.Namespace */ +.codehilite.gruvbox-dark .nx { color: #DDD } /* Name.Other */ +.codehilite.gruvbox-dark .py { color: #DDD } /* Name.Property */ +.codehilite.gruvbox-dark .nt { color: #8EC07C } /* Name.Tag */ +.codehilite.gruvbox-dark .nv { color: #83A598 } /* Name.Variable */ +.codehilite.gruvbox-dark .ow { color: #FB4934 } /* Operator.Word */ +.codehilite.gruvbox-dark .pm { color: #DDD } /* Punctuation.Marker */ +.codehilite.gruvbox-dark .w { color: #DDD } /* Text.Whitespace */ +.codehilite.gruvbox-dark .mb { color: #D3869B } /* Literal.Number.Bin */ +.codehilite.gruvbox-dark .mf { color: #D3869B } /* Literal.Number.Float */ +.codehilite.gruvbox-dark .mh { color: #D3869B } /* Literal.Number.Hex */ +.codehilite.gruvbox-dark .mi { color: #D3869B } /* Literal.Number.Integer */ +.codehilite.gruvbox-dark .mo { color: #D3869B } /* Literal.Number.Oct */ +.codehilite.gruvbox-dark .sa { color: #B8BB26 } /* Literal.String.Affix */ +.codehilite.gruvbox-dark .sb { color: #B8BB26 } /* Literal.String.Backtick */ +.codehilite.gruvbox-dark .sc { color: #B8BB26 } /* Literal.String.Char */ +.codehilite.gruvbox-dark .dl { color: #B8BB26 } /* Literal.String.Delimiter */ +.codehilite.gruvbox-dark .sd { color: #B8BB26 } /* Literal.String.Doc */ +.codehilite.gruvbox-dark .s2 { color: #B8BB26 } /* Literal.String.Double */ +.codehilite.gruvbox-dark .se { color: #FE8019 } /* Literal.String.Escape */ +.codehilite.gruvbox-dark .sh { color: #B8BB26 } /* Literal.String.Heredoc */ +.codehilite.gruvbox-dark .si { color: #B8BB26 } /* Literal.String.Interpol */ +.codehilite.gruvbox-dark .sx { color: #B8BB26 } /* Literal.String.Other */ +.codehilite.gruvbox-dark .sr { color: #B8BB26 } /* Literal.String.Regex */ +.codehilite.gruvbox-dark .s1 { color: #B8BB26 } /* Literal.String.Single */ +.codehilite.gruvbox-dark .ss { color: #B8BB26 } /* Literal.String.Symbol */ +.codehilite.gruvbox-dark .bp { color: #FE8019 } /* Name.Builtin.Pseudo */ +.codehilite.gruvbox-dark .fm { color: #8EC07C } /* Name.Function.Magic */ +.codehilite.gruvbox-dark .vc { color: #83A598 } /* Name.Variable.Class */ +.codehilite.gruvbox-dark .vg { color: #83A598 } /* Name.Variable.Global */ +.codehilite.gruvbox-dark .vi { color: #83A598 } /* Name.Variable.Instance */ +.codehilite.gruvbox-dark .vm { color: #83A598 } /* Name.Variable.Magic */ +.codehilite.gruvbox-dark .il { color: #D3869B } /* Literal.Number.Integer.Long */ +.codehilite.gruvbox-light .hll { background-color: #3c3836 } +.codehilite.gruvbox-light { background: #fbf1c7; } +.codehilite.gruvbox-light .c { color: #928374; font-style: italic } /* Comment */ +.codehilite.gruvbox-light .err { color: #FBF1C7; background-color: #9D0006 } /* Error */ +.codehilite.gruvbox-light .k { color: #9D0006 } /* Keyword */ +.codehilite.gruvbox-light .ch { color: #928374; font-style: italic } /* Comment.Hashbang */ +.codehilite.gruvbox-light .cm { color: #928374; font-style: italic } /* Comment.Multiline */ +.codehilite.gruvbox-light .c-PreProc { color: #427B58; font-style: italic } /* Comment.PreProc */ +.codehilite.gruvbox-light .cp { color: #928374; font-style: italic } /* Comment.Preproc */ +.codehilite.gruvbox-light .cpf { color: #928374; font-style: italic } /* Comment.PreprocFile */ +.codehilite.gruvbox-light .c1 { color: #928374; font-style: italic } /* Comment.Single */ +.codehilite.gruvbox-light .cs { color: #3C3836; font-weight: bold; font-style: italic } /* Comment.Special */ +.codehilite.gruvbox-light .gd { color: #FBF1C7; background-color: #9D0006 } /* Generic.Deleted */ +.codehilite.gruvbox-light .ge { font-style: italic } /* Generic.Emph */ +.codehilite.gruvbox-light .gr { color: #9D0006 } /* Generic.Error */ +.codehilite.gruvbox-light .gh { color: #3C3836; font-weight: bold } /* Generic.Heading */ +.codehilite.gruvbox-light .gi { color: #FBF1C7; background-color: #79740E } /* Generic.Inserted */ +.codehilite.gruvbox-light .go { color: #32302F } /* Generic.Output */ +.codehilite.gruvbox-light .gp { color: #7C6F64 } /* Generic.Prompt */ +.codehilite.gruvbox-light .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.gruvbox-light .gu { color: #3C3836; text-decoration: underline } /* Generic.Subheading */ +.codehilite.gruvbox-light .gt { color: #9D0006 } /* Generic.Traceback */ +.codehilite.gruvbox-light .kc { color: #9D0006 } /* Keyword.Constant */ +.codehilite.gruvbox-light .kd { color: #9D0006 } /* Keyword.Declaration */ +.codehilite.gruvbox-light .kn { color: #9D0006 } /* Keyword.Namespace */ +.codehilite.gruvbox-light .kp { color: #9D0006 } /* Keyword.Pseudo */ +.codehilite.gruvbox-light .kr { color: #9D0006 } /* Keyword.Reserved */ +.codehilite.gruvbox-light .kt { color: #9D0006 } /* Keyword.Type */ +.codehilite.gruvbox-light .m { color: #8F3F71 } /* Literal.Number */ +.codehilite.gruvbox-light .s { color: #79740E } /* Literal.String */ +.codehilite.gruvbox-light .na { color: #B57614 } /* Name.Attribute */ +.codehilite.gruvbox-light .nb { color: #AF3A03 } /* Name.Builtin */ +.codehilite.gruvbox-light .nc { color: #427B58 } /* Name.Class */ +.codehilite.gruvbox-light .no { color: #8F3F71 } /* Name.Constant */ +.codehilite.gruvbox-light .nd { color: #9D0006 } /* Name.Decorator */ +.codehilite.gruvbox-light .ne { color: #9D0006 } /* Name.Exception */ +.codehilite.gruvbox-light .nf { color: #427B58 } /* Name.Function */ +.codehilite.gruvbox-light .nn { color: #427B58 } /* Name.Namespace */ +.codehilite.gruvbox-light .nt { color: #427B58 } /* Name.Tag */ +.codehilite.gruvbox-light .nv { color: #076678 } /* Name.Variable */ +.codehilite.gruvbox-light .ow { color: #9D0006 } /* Operator.Word */ +.codehilite.gruvbox-light .mb { color: #8F3F71 } /* Literal.Number.Bin */ +.codehilite.gruvbox-light .mf { color: #8F3F71 } /* Literal.Number.Float */ +.codehilite.gruvbox-light .mh { color: #8F3F71 } /* Literal.Number.Hex */ +.codehilite.gruvbox-light .mi { color: #8F3F71 } /* Literal.Number.Integer */ +.codehilite.gruvbox-light .mo { color: #8F3F71 } /* Literal.Number.Oct */ +.codehilite.gruvbox-light .sa { color: #79740E } /* Literal.String.Affix */ +.codehilite.gruvbox-light .sb { color: #79740E } /* Literal.String.Backtick */ +.codehilite.gruvbox-light .sc { color: #79740E } /* Literal.String.Char */ +.codehilite.gruvbox-light .dl { color: #79740E } /* Literal.String.Delimiter */ +.codehilite.gruvbox-light .sd { color: #79740E } /* Literal.String.Doc */ +.codehilite.gruvbox-light .s2 { color: #79740E } /* Literal.String.Double */ +.codehilite.gruvbox-light .se { color: #AF3A03 } /* Literal.String.Escape */ +.codehilite.gruvbox-light .sh { color: #79740E } /* Literal.String.Heredoc */ +.codehilite.gruvbox-light .si { color: #79740E } /* Literal.String.Interpol */ +.codehilite.gruvbox-light .sx { color: #79740E } /* Literal.String.Other */ +.codehilite.gruvbox-light .sr { color: #79740E } /* Literal.String.Regex */ +.codehilite.gruvbox-light .s1 { color: #79740E } /* Literal.String.Single */ +.codehilite.gruvbox-light .ss { color: #79740E } /* Literal.String.Symbol */ +.codehilite.gruvbox-light .bp { color: #AF3A03 } /* Name.Builtin.Pseudo */ +.codehilite.gruvbox-light .fm { color: #427B58 } /* Name.Function.Magic */ +.codehilite.gruvbox-light .vc { color: #076678 } /* Name.Variable.Class */ +.codehilite.gruvbox-light .vg { color: #076678 } /* Name.Variable.Global */ +.codehilite.gruvbox-light .vi { color: #076678 } /* Name.Variable.Instance */ +.codehilite.gruvbox-light .vm { color: #076678 } /* Name.Variable.Magic */ +.codehilite.gruvbox-light .il { color: #8F3F71 } /* Literal.Number.Integer.Long */ +.codehilite.igor .hll { background-color: #ffffcc } +.codehilite.igor { background: #ffffff; } +.codehilite.igor .c { color: #F00; font-style: italic } /* Comment */ +.codehilite.igor .k { color: #00F } /* Keyword */ +.codehilite.igor .ch { color: #F00; font-style: italic } /* Comment.Hashbang */ +.codehilite.igor .cm { color: #F00; font-style: italic } /* Comment.Multiline */ +.codehilite.igor .cp { color: #F00; font-style: italic } /* Comment.Preproc */ +.codehilite.igor .cpf { color: #F00; font-style: italic } /* Comment.PreprocFile */ +.codehilite.igor .c1 { color: #F00; font-style: italic } /* Comment.Single */ +.codehilite.igor .cs { color: #F00; font-style: italic } /* Comment.Special */ +.codehilite.igor .kc { color: #00F } /* Keyword.Constant */ +.codehilite.igor .kd { color: #00F } /* Keyword.Declaration */ +.codehilite.igor .kn { color: #00F } /* Keyword.Namespace */ +.codehilite.igor .kp { color: #00F } /* Keyword.Pseudo */ +.codehilite.igor .kr { color: #00F } /* Keyword.Reserved */ +.codehilite.igor .kt { color: #00F } /* Keyword.Type */ +.codehilite.igor .s { color: #009C00 } /* Literal.String */ +.codehilite.igor .nc { color: #007575 } /* Name.Class */ +.codehilite.igor .nd { color: #CC00A3 } /* Name.Decorator */ +.codehilite.igor .nf { color: #C34E00 } /* Name.Function */ +.codehilite.igor .sa { color: #009C00 } /* Literal.String.Affix */ +.codehilite.igor .sb { color: #009C00 } /* Literal.String.Backtick */ +.codehilite.igor .sc { color: #009C00 } /* Literal.String.Char */ +.codehilite.igor .dl { color: #009C00 } /* Literal.String.Delimiter */ +.codehilite.igor .sd { color: #009C00 } /* Literal.String.Doc */ +.codehilite.igor .s2 { color: #009C00 } /* Literal.String.Double */ +.codehilite.igor .se { color: #009C00 } /* Literal.String.Escape */ +.codehilite.igor .sh { color: #009C00 } /* Literal.String.Heredoc */ +.codehilite.igor .si { color: #009C00 } /* Literal.String.Interpol */ +.codehilite.igor .sx { color: #009C00 } /* Literal.String.Other */ +.codehilite.igor .sr { color: #009C00 } /* Literal.String.Regex */ +.codehilite.igor .s1 { color: #009C00 } /* Literal.String.Single */ +.codehilite.igor .ss { color: #009C00 } /* Literal.String.Symbol */ +.codehilite.igor .fm { color: #C34E00 } /* Name.Function.Magic */ +.codehilite.inkpot .hll { background-color: #ffffcc } +.codehilite.inkpot { background: #1e1e27; color: #CFBFAD } +.codehilite.inkpot .c { color: #CD8B00 } /* Comment */ +.codehilite.inkpot .err { color: #FFF; background-color: #6E2E2E } /* Error */ +.codehilite.inkpot .k { color: #808BED } /* Keyword */ +.codehilite.inkpot .n { color: #CFBFAD } /* Name */ +.codehilite.inkpot .o { color: #666 } /* Operator */ +.codehilite.inkpot .x { color: #CFBFAD } /* Other */ +.codehilite.inkpot .p { color: #CFBFAD } /* Punctuation */ +.codehilite.inkpot .ch { color: #CD8B00 } /* Comment.Hashbang */ +.codehilite.inkpot .cm { color: #CD8B00 } /* Comment.Multiline */ +.codehilite.inkpot .cp { color: #409090 } /* Comment.Preproc */ +.codehilite.inkpot .cpf { color: #FFCD8B; background-color: #404040 } /* Comment.PreprocFile */ +.codehilite.inkpot .c1 { color: #CD8B00 } /* Comment.Single */ +.codehilite.inkpot .cs { color: #808BED } /* Comment.Special */ +.codehilite.inkpot .gd { color: #A00000 } /* Generic.Deleted */ +.codehilite.inkpot .ge { font-style: italic } /* Generic.Emph */ +.codehilite.inkpot .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite.inkpot .gr { color: #F00 } /* Generic.Error */ +.codehilite.inkpot .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.codehilite.inkpot .gi { color: #00A000 } /* Generic.Inserted */ +.codehilite.inkpot .go { color: #888 } /* Generic.Output */ +.codehilite.inkpot .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ +.codehilite.inkpot .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.inkpot .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.codehilite.inkpot .gt { color: #04D } /* Generic.Traceback */ +.codehilite.inkpot .kc { color: #808BED } /* Keyword.Constant */ +.codehilite.inkpot .kd { color: #808BED } /* Keyword.Declaration */ +.codehilite.inkpot .kn { color: #808BED } /* Keyword.Namespace */ +.codehilite.inkpot .kp { color: #808BED } /* Keyword.Pseudo */ +.codehilite.inkpot .kr { color: #808BED } /* Keyword.Reserved */ +.codehilite.inkpot .kt { color: #FF8BFF } /* Keyword.Type */ +.codehilite.inkpot .m { color: #F0AD6D } /* Literal.Number */ +.codehilite.inkpot .s { color: #FFCD8B; background-color: #404040 } /* Literal.String */ +.codehilite.inkpot .na { color: #CFBFAD } /* Name.Attribute */ +.codehilite.inkpot .nb { color: #808BED } /* Name.Builtin */ +.codehilite.inkpot .nc { color: #FF8BFF } /* Name.Class */ +.codehilite.inkpot .no { color: #409090 } /* Name.Constant */ +.codehilite.inkpot .nd { color: #409090 } /* Name.Decorator */ +.codehilite.inkpot .ni { color: #CFBFAD } /* Name.Entity */ +.codehilite.inkpot .ne { color: #F00 } /* Name.Exception */ +.codehilite.inkpot .nf { color: #C080D0 } /* Name.Function */ +.codehilite.inkpot .nl { color: #808BED } /* Name.Label */ +.codehilite.inkpot .nn { color: #F00 } /* Name.Namespace */ +.codehilite.inkpot .nx { color: #CFBFAD } /* Name.Other */ +.codehilite.inkpot .py { color: #CFBFAD } /* Name.Property */ +.codehilite.inkpot .nt { color: #CFBFAD } /* Name.Tag */ +.codehilite.inkpot .nv { color: #CFBFAD } /* Name.Variable */ +.codehilite.inkpot .ow { color: #666 } /* Operator.Word */ +.codehilite.inkpot .pm { color: #CFBFAD } /* Punctuation.Marker */ +.codehilite.inkpot .w { color: #434357 } /* Text.Whitespace */ +.codehilite.inkpot .mb { color: #F0AD6D } /* Literal.Number.Bin */ +.codehilite.inkpot .mf { color: #F0AD6D } /* Literal.Number.Float */ +.codehilite.inkpot .mh { color: #F0AD6D } /* Literal.Number.Hex */ +.codehilite.inkpot .mi { color: #F0AD6D } /* Literal.Number.Integer */ +.codehilite.inkpot .mo { color: #F0AD6D } /* Literal.Number.Oct */ +.codehilite.inkpot .sa { color: #FFCD8B; background-color: #404040 } /* Literal.String.Affix */ +.codehilite.inkpot .sb { color: #FFCD8B; background-color: #404040 } /* Literal.String.Backtick */ +.codehilite.inkpot .sc { color: #FFCD8B; background-color: #404040 } /* Literal.String.Char */ +.codehilite.inkpot .dl { color: #FFCD8B; background-color: #404040 } /* Literal.String.Delimiter */ +.codehilite.inkpot .sd { color: #808BED; background-color: #404040 } /* Literal.String.Doc */ +.codehilite.inkpot .s2 { color: #FFCD8B; background-color: #404040 } /* Literal.String.Double */ +.codehilite.inkpot .se { color: #FFCD8B; background-color: #404040 } /* Literal.String.Escape */ +.codehilite.inkpot .sh { color: #FFCD8B; background-color: #404040 } /* Literal.String.Heredoc */ +.codehilite.inkpot .si { color: #FFCD8B; background-color: #404040 } /* Literal.String.Interpol */ +.codehilite.inkpot .sx { color: #FFCD8B; background-color: #404040 } /* Literal.String.Other */ +.codehilite.inkpot .sr { color: #FFCD8B; background-color: #404040 } /* Literal.String.Regex */ +.codehilite.inkpot .s1 { color: #FFCD8B; background-color: #404040 } /* Literal.String.Single */ +.codehilite.inkpot .ss { color: #FFCD8B; background-color: #404040 } /* Literal.String.Symbol */ +.codehilite.inkpot .bp { color: #FF0 } /* Name.Builtin.Pseudo */ +.codehilite.inkpot .fm { color: #C080D0 } /* Name.Function.Magic */ +.codehilite.inkpot .vc { color: #CFBFAD } /* Name.Variable.Class */ +.codehilite.inkpot .vg { color: #CFBFAD } /* Name.Variable.Global */ +.codehilite.inkpot .vi { color: #CFBFAD } /* Name.Variable.Instance */ +.codehilite.inkpot .vm { color: #CFBFAD } /* Name.Variable.Magic */ +.codehilite.inkpot .il { color: #F0AD6D } /* Literal.Number.Integer.Long */ +.codehilite.lightbulb .hll { background-color: #6e7681 } +.codehilite.lightbulb { background: #1d2331; color: #D4D2C8 } +.codehilite.lightbulb .c { color: #7E8AA1 } /* Comment */ +.codehilite.lightbulb .err { color: #F88F7F } /* Error */ +.codehilite.lightbulb .esc { color: #D4D2C8 } /* Escape */ +.codehilite.lightbulb .g { color: #D4D2C8 } /* Generic */ +.codehilite.lightbulb .k { color: #FFAD66 } /* Keyword */ +.codehilite.lightbulb .l { color: #D5FF80 } /* Literal */ +.codehilite.lightbulb .n { color: #D4D2C8 } /* Name */ +.codehilite.lightbulb .o { color: #FFAD66 } /* Operator */ +.codehilite.lightbulb .x { color: #D4D2C8 } /* Other */ +.codehilite.lightbulb .p { color: #D4D2C8 } /* Punctuation */ +.codehilite.lightbulb .ch { color: #F88F7F; font-style: italic } /* Comment.Hashbang */ +.codehilite.lightbulb .cm { color: #7E8AA1 } /* Comment.Multiline */ +.codehilite.lightbulb .cp { color: #FFAD66; font-weight: bold } /* Comment.Preproc */ +.codehilite.lightbulb .cpf { color: #7E8AA1 } /* Comment.PreprocFile */ +.codehilite.lightbulb .c1 { color: #7E8AA1 } /* Comment.Single */ +.codehilite.lightbulb .cs { color: #7E8AA1; font-style: italic } /* Comment.Special */ +.codehilite.lightbulb .gd { color: #F88F7F; background-color: #3D1E20 } /* Generic.Deleted */ +.codehilite.lightbulb .ge { color: #D4D2C8; font-style: italic } /* Generic.Emph */ +.codehilite.lightbulb .ges { color: #D4D2C8 } /* Generic.EmphStrong */ +.codehilite.lightbulb .gr { color: #F88F7F } /* Generic.Error */ +.codehilite.lightbulb .gh { color: #D4D2C8 } /* Generic.Heading */ +.codehilite.lightbulb .gi { color: #6AD4AF; background-color: #19362C } /* Generic.Inserted */ +.codehilite.lightbulb .go { color: #7E8AA1 } /* Generic.Output */ +.codehilite.lightbulb .gp { color: #D4D2C8 } /* Generic.Prompt */ +.codehilite.lightbulb .gs { color: #D4D2C8; font-weight: bold } /* Generic.Strong */ +.codehilite.lightbulb .gu { color: #D4D2C8 } /* Generic.Subheading */ +.codehilite.lightbulb .gt { color: #F88F7F } /* Generic.Traceback */ +.codehilite.lightbulb .kc { color: #FFAD66 } /* Keyword.Constant */ +.codehilite.lightbulb .kd { color: #FFAD66 } /* Keyword.Declaration */ +.codehilite.lightbulb .kn { color: #FFAD66 } /* Keyword.Namespace */ +.codehilite.lightbulb .kp { color: #FFAD66 } /* Keyword.Pseudo */ +.codehilite.lightbulb .kr { color: #FFAD66 } /* Keyword.Reserved */ +.codehilite.lightbulb .kt { color: #73D0FF } /* Keyword.Type */ +.codehilite.lightbulb .ld { color: #D5FF80 } /* Literal.Date */ +.codehilite.lightbulb .m { color: #DFBFFF } /* Literal.Number */ +.codehilite.lightbulb .s { color: #D5FF80 } /* Literal.String */ +.codehilite.lightbulb .na { color: #FFD173 } /* Name.Attribute */ +.codehilite.lightbulb .nb { color: #FFD173 } /* Name.Builtin */ +.codehilite.lightbulb .nc { color: #73D0FF } /* Name.Class */ +.codehilite.lightbulb .no { color: #FFD173 } /* Name.Constant */ +.codehilite.lightbulb .nd { color: #7E8AA1; font-weight: bold; font-style: italic } /* Name.Decorator */ +.codehilite.lightbulb .ni { color: #95E6CB } /* Name.Entity */ +.codehilite.lightbulb .ne { color: #73D0FF } /* Name.Exception */ +.codehilite.lightbulb .nf { color: #FFD173 } /* Name.Function */ +.codehilite.lightbulb .nl { color: #D4D2C8 } /* Name.Label */ +.codehilite.lightbulb .nn { color: #D4D2C8 } /* Name.Namespace */ +.codehilite.lightbulb .nx { color: #D4D2C8 } /* Name.Other */ +.codehilite.lightbulb .py { color: #FFD173 } /* Name.Property */ +.codehilite.lightbulb .nt { color: #5CCFE6 } /* Name.Tag */ +.codehilite.lightbulb .nv { color: #D4D2C8 } /* Name.Variable */ +.codehilite.lightbulb .ow { color: #FFAD66 } /* Operator.Word */ +.codehilite.lightbulb .pm { color: #D4D2C8 } /* Punctuation.Marker */ +.codehilite.lightbulb .w { color: #D4D2C8 } /* Text.Whitespace */ +.codehilite.lightbulb .mb { color: #DFBFFF } /* Literal.Number.Bin */ +.codehilite.lightbulb .mf { color: #DFBFFF } /* Literal.Number.Float */ +.codehilite.lightbulb .mh { color: #DFBFFF } /* Literal.Number.Hex */ +.codehilite.lightbulb .mi { color: #DFBFFF } /* Literal.Number.Integer */ +.codehilite.lightbulb .mo { color: #DFBFFF } /* Literal.Number.Oct */ +.codehilite.lightbulb .sa { color: #F29E74 } /* Literal.String.Affix */ +.codehilite.lightbulb .sb { color: #D5FF80 } /* Literal.String.Backtick */ +.codehilite.lightbulb .sc { color: #D5FF80 } /* Literal.String.Char */ +.codehilite.lightbulb .dl { color: #D5FF80 } /* Literal.String.Delimiter */ +.codehilite.lightbulb .sd { color: #7E8AA1 } /* Literal.String.Doc */ +.codehilite.lightbulb .s2 { color: #D5FF80 } /* Literal.String.Double */ +.codehilite.lightbulb .se { color: #95E6CB } /* Literal.String.Escape */ +.codehilite.lightbulb .sh { color: #D5FF80 } /* Literal.String.Heredoc */ +.codehilite.lightbulb .si { color: #95E6CB } /* Literal.String.Interpol */ +.codehilite.lightbulb .sx { color: #95E6CB } /* Literal.String.Other */ +.codehilite.lightbulb .sr { color: #95E6CB } /* Literal.String.Regex */ +.codehilite.lightbulb .s1 { color: #D5FF80 } /* Literal.String.Single */ +.codehilite.lightbulb .ss { color: #DFBFFF } /* Literal.String.Symbol */ +.codehilite.lightbulb .bp { color: #5CCFE6 } /* Name.Builtin.Pseudo */ +.codehilite.lightbulb .fm { color: #FFD173 } /* Name.Function.Magic */ +.codehilite.lightbulb .vc { color: #D4D2C8 } /* Name.Variable.Class */ +.codehilite.lightbulb .vg { color: #D4D2C8 } /* Name.Variable.Global */ +.codehilite.lightbulb .vi { color: #D4D2C8 } /* Name.Variable.Instance */ +.codehilite.lightbulb .vm { color: #D4D2C8 } /* Name.Variable.Magic */ +.codehilite.lightbulb .il { color: #DFBFFF } /* Literal.Number.Integer.Long */ +.codehilite.lilypond .hll { background-color: #ffffcc } +.codehilite.lilypond { background: #ffffff; } +.codehilite.lilypond .-ChordModifier { color: #976806 } /* ChordModifier */ +.codehilite.lilypond .c { color: #A3AAB2; font-style: italic } /* Comment */ +.codehilite.lilypond .k { font-weight: bold } /* Keyword */ +.codehilite.lilypond .ch { color: #A3AAB2; font-style: italic } /* Comment.Hashbang */ +.codehilite.lilypond .cm { color: #A3AAB2; font-style: italic } /* Comment.Multiline */ +.codehilite.lilypond .cp { color: #A3AAB2; font-style: italic } /* Comment.Preproc */ +.codehilite.lilypond .cpf { color: #A3AAB2; font-style: italic } /* Comment.PreprocFile */ +.codehilite.lilypond .c1 { color: #A3AAB2; font-style: italic } /* Comment.Single */ +.codehilite.lilypond .cs { color: #A3AAB2; font-style: italic } /* Comment.Special */ +.codehilite.lilypond .kc { font-weight: bold } /* Keyword.Constant */ +.codehilite.lilypond .kd { font-weight: bold } /* Keyword.Declaration */ +.codehilite.lilypond .kn { font-weight: bold } /* Keyword.Namespace */ +.codehilite.lilypond .kp { font-weight: bold } /* Keyword.Pseudo */ +.codehilite.lilypond .kr { font-weight: bold } /* Keyword.Reserved */ +.codehilite.lilypond .kt { font-weight: bold } /* Keyword.Type */ +.codehilite.lilypond .m { color: #976806 } /* Literal.Number */ +.codehilite.lilypond .s { color: #AB0909 } /* Literal.String */ +.codehilite.lilypond .n-BackslashReference { color: #08547A } /* Name.BackslashReference */ +.codehilite.lilypond .n-Lvalue { color: #08547A } /* Name.Lvalue */ +.codehilite.lilypond .mb { color: #976806 } /* Literal.Number.Bin */ +.codehilite.lilypond .mf { color: #976806 } /* Literal.Number.Float */ +.codehilite.lilypond .mh { color: #976806 } /* Literal.Number.Hex */ +.codehilite.lilypond .mi { color: #976806 } /* Literal.Number.Integer */ +.codehilite.lilypond .mo { color: #976806 } /* Literal.Number.Oct */ +.codehilite.lilypond .sa { color: #AB0909 } /* Literal.String.Affix */ +.codehilite.lilypond .sb { color: #AB0909 } /* Literal.String.Backtick */ +.codehilite.lilypond .sc { color: #AB0909 } /* Literal.String.Char */ +.codehilite.lilypond .dl { color: #AB0909 } /* Literal.String.Delimiter */ +.codehilite.lilypond .sd { color: #AB0909 } /* Literal.String.Doc */ +.codehilite.lilypond .s2 { color: #AB0909 } /* Literal.String.Double */ +.codehilite.lilypond .se { color: #C46C6C } /* Literal.String.Escape */ +.codehilite.lilypond .sh { color: #AB0909 } /* Literal.String.Heredoc */ +.codehilite.lilypond .si { color: #AB0909 } /* Literal.String.Interpol */ +.codehilite.lilypond .sx { color: #AB0909 } /* Literal.String.Other */ +.codehilite.lilypond .sr { color: #AB0909 } /* Literal.String.Regex */ +.codehilite.lilypond .s1 { color: #AB0909 } /* Literal.String.Single */ +.codehilite.lilypond .nb-Articulation { color: #68175A } /* Name.Builtin.Articulation */ +.codehilite.lilypond .nb-Clef { color: #08547A; font-weight: bold } /* Name.Builtin.Clef */ +.codehilite.lilypond .nb-Context { color: #038B8B; font-weight: bold } /* Name.Builtin.Context */ +.codehilite.lilypond .nb-ContextProperty { color: #038B8B } /* Name.Builtin.ContextProperty */ +.codehilite.lilypond .nb-Dynamic { color: #68175A } /* Name.Builtin.Dynamic */ +.codehilite.lilypond .nb-Grob { color: #0C7441; font-weight: bold } /* Name.Builtin.Grob */ +.codehilite.lilypond .nb-GrobProperty { color: #0C7441 } /* Name.Builtin.GrobProperty */ +.codehilite.lilypond .nb-HeaderVariable { color: #6C5A05; font-weight: bold } /* Name.Builtin.HeaderVariable */ +.codehilite.lilypond .nb-MarkupCommand { color: #831E71; font-weight: bold } /* Name.Builtin.MarkupCommand */ +.codehilite.lilypond .nb-MusicCommand { color: #08547A; font-weight: bold } /* Name.Builtin.MusicCommand */ +.codehilite.lilypond .nb-MusicFunction { color: #08547A; font-weight: bold } /* Name.Builtin.MusicFunction */ +.codehilite.lilypond .nb-PaperVariable { color: #6C5A05; font-weight: bold } /* Name.Builtin.PaperVariable */ +.codehilite.lilypond .nb-RepeatType { color: #08547A } /* Name.Builtin.RepeatType */ +.codehilite.lilypond .nb-Scale { color: #08547A; font-weight: bold } /* Name.Builtin.Scale */ +.codehilite.lilypond .nb-SchemeBuiltin { font-weight: bold } /* Name.Builtin.SchemeBuiltin */ +.codehilite.lilypond .nb-SchemeFunction { color: #A83401; font-weight: bold } /* Name.Builtin.SchemeFunction */ +.codehilite.lilypond .nb-Translator { color: #6200A4; font-weight: bold } /* Name.Builtin.Translator */ +.codehilite.lilypond .il { color: #976806 } /* Literal.Number.Integer.Long */ +.codehilite.lovelace .hll { background-color: #ffffcc } +.codehilite.lovelace { background: #ffffff; } +.codehilite.lovelace .c { color: #888; font-style: italic } /* Comment */ +.codehilite.lovelace .err { background-color: #A848A8 } /* Error */ +.codehilite.lovelace .k { color: #2838B0 } /* Keyword */ +.codehilite.lovelace .o { color: #666 } /* Operator */ +.codehilite.lovelace .p { color: #888 } /* Punctuation */ +.codehilite.lovelace .ch { color: #287088; font-style: italic } /* Comment.Hashbang */ +.codehilite.lovelace .cm { color: #888; font-style: italic } /* Comment.Multiline */ +.codehilite.lovelace .cp { color: #289870 } /* Comment.Preproc */ +.codehilite.lovelace .cpf { color: #888; font-style: italic } /* Comment.PreprocFile */ +.codehilite.lovelace .c1 { color: #888; font-style: italic } /* Comment.Single */ +.codehilite.lovelace .cs { color: #888; font-style: italic } /* Comment.Special */ +.codehilite.lovelace .gd { color: #C02828 } /* Generic.Deleted */ +.codehilite.lovelace .ge { font-style: italic } /* Generic.Emph */ +.codehilite.lovelace .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite.lovelace .gr { color: #C02828 } /* Generic.Error */ +.codehilite.lovelace .gh { color: #666 } /* Generic.Heading */ +.codehilite.lovelace .gi { color: #388038 } /* Generic.Inserted */ +.codehilite.lovelace .go { color: #666 } /* Generic.Output */ +.codehilite.lovelace .gp { color: #444 } /* Generic.Prompt */ +.codehilite.lovelace .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.lovelace .gu { color: #444 } /* Generic.Subheading */ +.codehilite.lovelace .gt { color: #2838B0 } /* Generic.Traceback */ +.codehilite.lovelace .kc { color: #444; font-style: italic } /* Keyword.Constant */ +.codehilite.lovelace .kd { color: #2838B0; font-style: italic } /* Keyword.Declaration */ +.codehilite.lovelace .kn { color: #2838B0 } /* Keyword.Namespace */ +.codehilite.lovelace .kp { color: #2838B0 } /* Keyword.Pseudo */ +.codehilite.lovelace .kr { color: #2838B0 } /* Keyword.Reserved */ +.codehilite.lovelace .kt { color: #2838B0; font-style: italic } /* Keyword.Type */ +.codehilite.lovelace .m { color: #444 } /* Literal.Number */ +.codehilite.lovelace .s { color: #B83838 } /* Literal.String */ +.codehilite.lovelace .na { color: #388038 } /* Name.Attribute */ +.codehilite.lovelace .nb { color: #388038 } /* Name.Builtin */ +.codehilite.lovelace .nc { color: #287088 } /* Name.Class */ +.codehilite.lovelace .no { color: #B85820 } /* Name.Constant */ +.codehilite.lovelace .nd { color: #287088 } /* Name.Decorator */ +.codehilite.lovelace .ni { color: #709030 } /* Name.Entity */ +.codehilite.lovelace .ne { color: #908828 } /* Name.Exception */ +.codehilite.lovelace .nf { color: #785840 } /* Name.Function */ +.codehilite.lovelace .nl { color: #289870 } /* Name.Label */ +.codehilite.lovelace .nn { color: #289870 } /* Name.Namespace */ +.codehilite.lovelace .nt { color: #2838B0 } /* Name.Tag */ +.codehilite.lovelace .nv { color: #B04040 } /* Name.Variable */ +.codehilite.lovelace .ow { color: #A848A8 } /* Operator.Word */ +.codehilite.lovelace .pm { color: #888 } /* Punctuation.Marker */ +.codehilite.lovelace .w { color: #A89028 } /* Text.Whitespace */ +.codehilite.lovelace .mb { color: #444 } /* Literal.Number.Bin */ +.codehilite.lovelace .mf { color: #444 } /* Literal.Number.Float */ +.codehilite.lovelace .mh { color: #444 } /* Literal.Number.Hex */ +.codehilite.lovelace .mi { color: #444 } /* Literal.Number.Integer */ +.codehilite.lovelace .mo { color: #444 } /* Literal.Number.Oct */ +.codehilite.lovelace .sa { color: #444 } /* Literal.String.Affix */ +.codehilite.lovelace .sb { color: #B83838 } /* Literal.String.Backtick */ +.codehilite.lovelace .sc { color: #A848A8 } /* Literal.String.Char */ +.codehilite.lovelace .dl { color: #B85820 } /* Literal.String.Delimiter */ +.codehilite.lovelace .sd { color: #B85820; font-style: italic } /* Literal.String.Doc */ +.codehilite.lovelace .s2 { color: #B83838 } /* Literal.String.Double */ +.codehilite.lovelace .se { color: #709030 } /* Literal.String.Escape */ +.codehilite.lovelace .sh { color: #B83838 } /* Literal.String.Heredoc */ +.codehilite.lovelace .si { color: #B83838; text-decoration: underline } /* Literal.String.Interpol */ +.codehilite.lovelace .sx { color: #A848A8 } /* Literal.String.Other */ +.codehilite.lovelace .sr { color: #A848A8 } /* Literal.String.Regex */ +.codehilite.lovelace .s1 { color: #B83838 } /* Literal.String.Single */ +.codehilite.lovelace .ss { color: #B83838 } /* Literal.String.Symbol */ +.codehilite.lovelace .bp { color: #388038; font-style: italic } /* Name.Builtin.Pseudo */ +.codehilite.lovelace .fm { color: #B85820 } /* Name.Function.Magic */ +.codehilite.lovelace .vc { color: #B04040 } /* Name.Variable.Class */ +.codehilite.lovelace .vg { color: #908828 } /* Name.Variable.Global */ +.codehilite.lovelace .vi { color: #B04040 } /* Name.Variable.Instance */ +.codehilite.lovelace .vm { color: #B85820 } /* Name.Variable.Magic */ +.codehilite.lovelace .il { color: #444 } /* Literal.Number.Integer.Long */ +.codehilite.manni .hll { background-color: #ffffcc } +.codehilite.manni { background: #f0f3f3; } +.codehilite.manni .c { color: #09F; font-style: italic } /* Comment */ +.codehilite.manni .err { color: #A00; background-color: #FAA } /* Error */ +.codehilite.manni .k { color: #069; font-weight: bold } /* Keyword */ +.codehilite.manni .o { color: #555 } /* Operator */ +.codehilite.manni .ch { color: #09F; font-style: italic } /* Comment.Hashbang */ +.codehilite.manni .cm { color: #09F; font-style: italic } /* Comment.Multiline */ +.codehilite.manni .cp { color: #099 } /* Comment.Preproc */ +.codehilite.manni .cpf { color: #09F; font-style: italic } /* Comment.PreprocFile */ +.codehilite.manni .c1 { color: #09F; font-style: italic } /* Comment.Single */ +.codehilite.manni .cs { color: #09F; font-weight: bold; font-style: italic } /* Comment.Special */ +.codehilite.manni .gd { background-color: #FCC; border: 1px solid #C00 } /* Generic.Deleted */ +.codehilite.manni .ge { font-style: italic } /* Generic.Emph */ +.codehilite.manni .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite.manni .gr { color: #F00 } /* Generic.Error */ +.codehilite.manni .gh { color: #030; font-weight: bold } /* Generic.Heading */ +.codehilite.manni .gi { background-color: #CFC; border: 1px solid #0C0 } /* Generic.Inserted */ +.codehilite.manni .go { color: #AAA } /* Generic.Output */ +.codehilite.manni .gp { color: #009; font-weight: bold } /* Generic.Prompt */ +.codehilite.manni .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.manni .gu { color: #030; font-weight: bold } /* Generic.Subheading */ +.codehilite.manni .gt { color: #9C6 } /* Generic.Traceback */ +.codehilite.manni .kc { color: #069; font-weight: bold } /* Keyword.Constant */ +.codehilite.manni .kd { color: #069; font-weight: bold } /* Keyword.Declaration */ +.codehilite.manni .kn { color: #069; font-weight: bold } /* Keyword.Namespace */ +.codehilite.manni .kp { color: #069 } /* Keyword.Pseudo */ +.codehilite.manni .kr { color: #069; font-weight: bold } /* Keyword.Reserved */ +.codehilite.manni .kt { color: #078; font-weight: bold } /* Keyword.Type */ +.codehilite.manni .m { color: #F60 } /* Literal.Number */ +.codehilite.manni .s { color: #C30 } /* Literal.String */ +.codehilite.manni .na { color: #309 } /* Name.Attribute */ +.codehilite.manni .nb { color: #366 } /* Name.Builtin */ +.codehilite.manni .nc { color: #0A8; font-weight: bold } /* Name.Class */ +.codehilite.manni .no { color: #360 } /* Name.Constant */ +.codehilite.manni .nd { color: #99F } /* Name.Decorator */ +.codehilite.manni .ni { color: #999; font-weight: bold } /* Name.Entity */ +.codehilite.manni .ne { color: #C00; font-weight: bold } /* Name.Exception */ +.codehilite.manni .nf { color: #C0F } /* Name.Function */ +.codehilite.manni .nl { color: #99F } /* Name.Label */ +.codehilite.manni .nn { color: #0CF; font-weight: bold } /* Name.Namespace */ +.codehilite.manni .nt { color: #309; font-weight: bold } /* Name.Tag */ +.codehilite.manni .nv { color: #033 } /* Name.Variable */ +.codehilite.manni .ow { color: #000; font-weight: bold } /* Operator.Word */ +.codehilite.manni .w { color: #BBB } /* Text.Whitespace */ +.codehilite.manni .mb { color: #F60 } /* Literal.Number.Bin */ +.codehilite.manni .mf { color: #F60 } /* Literal.Number.Float */ +.codehilite.manni .mh { color: #F60 } /* Literal.Number.Hex */ +.codehilite.manni .mi { color: #F60 } /* Literal.Number.Integer */ +.codehilite.manni .mo { color: #F60 } /* Literal.Number.Oct */ +.codehilite.manni .sa { color: #C30 } /* Literal.String.Affix */ +.codehilite.manni .sb { color: #C30 } /* Literal.String.Backtick */ +.codehilite.manni .sc { color: #C30 } /* Literal.String.Char */ +.codehilite.manni .dl { color: #C30 } /* Literal.String.Delimiter */ +.codehilite.manni .sd { color: #C30; font-style: italic } /* Literal.String.Doc */ +.codehilite.manni .s2 { color: #C30 } /* Literal.String.Double */ +.codehilite.manni .se { color: #C30; font-weight: bold } /* Literal.String.Escape */ +.codehilite.manni .sh { color: #C30 } /* Literal.String.Heredoc */ +.codehilite.manni .si { color: #A00 } /* Literal.String.Interpol */ +.codehilite.manni .sx { color: #C30 } /* Literal.String.Other */ +.codehilite.manni .sr { color: #3AA } /* Literal.String.Regex */ +.codehilite.manni .s1 { color: #C30 } /* Literal.String.Single */ +.codehilite.manni .ss { color: #FC3 } /* Literal.String.Symbol */ +.codehilite.manni .bp { color: #366 } /* Name.Builtin.Pseudo */ +.codehilite.manni .fm { color: #C0F } /* Name.Function.Magic */ +.codehilite.manni .vc { color: #033 } /* Name.Variable.Class */ +.codehilite.manni .vg { color: #033 } /* Name.Variable.Global */ +.codehilite.manni .vi { color: #033 } /* Name.Variable.Instance */ +.codehilite.manni .vm { color: #033 } /* Name.Variable.Magic */ +.codehilite.manni .il { color: #F60 } /* Literal.Number.Integer.Long */ +.codehilite.material .hll { background-color: #2C3B41 } +.codehilite.material { background: #263238; color: #EFF } +.codehilite.material .c { color: #546E7A; font-style: italic } /* Comment */ +.codehilite.material .err { color: #FF5370 } /* Error */ +.codehilite.material .esc { color: #89DDFF } /* Escape */ +.codehilite.material .g { color: #EFF } /* Generic */ +.codehilite.material .k { color: #BB80B3 } /* Keyword */ +.codehilite.material .l { color: #C3E88D } /* Literal */ +.codehilite.material .n { color: #EFF } /* Name */ +.codehilite.material .o { color: #89DDFF } /* Operator */ +.codehilite.material .p { color: #89DDFF } /* Punctuation */ +.codehilite.material .ch { color: #546E7A; font-style: italic } /* Comment.Hashbang */ +.codehilite.material .cm { color: #546E7A; font-style: italic } /* Comment.Multiline */ +.codehilite.material .cp { color: #546E7A; font-style: italic } /* Comment.Preproc */ +.codehilite.material .cpf { color: #546E7A; font-style: italic } /* Comment.PreprocFile */ +.codehilite.material .c1 { color: #546E7A; font-style: italic } /* Comment.Single */ +.codehilite.material .cs { color: #546E7A; font-style: italic } /* Comment.Special */ +.codehilite.material .gd { color: #FF5370 } /* Generic.Deleted */ +.codehilite.material .ge { color: #89DDFF } /* Generic.Emph */ +.codehilite.material .ges { color: #FFCB6B } /* Generic.EmphStrong */ +.codehilite.material .gr { color: #FF5370 } /* Generic.Error */ +.codehilite.material .gh { color: #C3E88D } /* Generic.Heading */ +.codehilite.material .gi { color: #C3E88D } /* Generic.Inserted */ +.codehilite.material .go { color: #546E7A } /* Generic.Output */ +.codehilite.material .gp { color: #FFCB6B } /* Generic.Prompt */ +.codehilite.material .gs { color: #FF5370 } /* Generic.Strong */ +.codehilite.material .gu { color: #89DDFF } /* Generic.Subheading */ +.codehilite.material .gt { color: #FF5370 } /* Generic.Traceback */ +.codehilite.material .kc { color: #89DDFF } /* Keyword.Constant */ +.codehilite.material .kd { color: #BB80B3 } /* Keyword.Declaration */ +.codehilite.material .kn { color: #89DDFF; font-style: italic } /* Keyword.Namespace */ +.codehilite.material .kp { color: #89DDFF } /* Keyword.Pseudo */ +.codehilite.material .kr { color: #BB80B3 } /* Keyword.Reserved */ +.codehilite.material .kt { color: #BB80B3 } /* Keyword.Type */ +.codehilite.material .ld { color: #C3E88D } /* Literal.Date */ +.codehilite.material .m { color: #F78C6C } /* Literal.Number */ +.codehilite.material .s { color: #C3E88D } /* Literal.String */ +.codehilite.material .na { color: #BB80B3 } /* Name.Attribute */ +.codehilite.material .nb { color: #82AAFF } /* Name.Builtin */ +.codehilite.material .nc { color: #FFCB6B } /* Name.Class */ +.codehilite.material .no { color: #EFF } /* Name.Constant */ +.codehilite.material .nd { color: #82AAFF } /* Name.Decorator */ +.codehilite.material .ni { color: #89DDFF } /* Name.Entity */ +.codehilite.material .ne { color: #FFCB6B } /* Name.Exception */ +.codehilite.material .nf { color: #82AAFF } /* Name.Function */ +.codehilite.material .nl { color: #82AAFF } /* Name.Label */ +.codehilite.material .nn { color: #FFCB6B } /* Name.Namespace */ +.codehilite.material .nx { color: #EFF } /* Name.Other */ +.codehilite.material .py { color: #FFCB6B } /* Name.Property */ +.codehilite.material .nt { color: #FF5370 } /* Name.Tag */ +.codehilite.material .nv { color: #89DDFF } /* Name.Variable */ +.codehilite.material .ow { color: #89DDFF; font-style: italic } /* Operator.Word */ +.codehilite.material .pm { color: #89DDFF } /* Punctuation.Marker */ +.codehilite.material .w { color: #EFF } /* Text.Whitespace */ +.codehilite.material .mb { color: #F78C6C } /* Literal.Number.Bin */ +.codehilite.material .mf { color: #F78C6C } /* Literal.Number.Float */ +.codehilite.material .mh { color: #F78C6C } /* Literal.Number.Hex */ +.codehilite.material .mi { color: #F78C6C } /* Literal.Number.Integer */ +.codehilite.material .mo { color: #F78C6C } /* Literal.Number.Oct */ +.codehilite.material .sa { color: #BB80B3 } /* Literal.String.Affix */ +.codehilite.material .sb { color: #C3E88D } /* Literal.String.Backtick */ +.codehilite.material .sc { color: #C3E88D } /* Literal.String.Char */ +.codehilite.material .dl { color: #EFF } /* Literal.String.Delimiter */ +.codehilite.material .sd { color: #546E7A; font-style: italic } /* Literal.String.Doc */ +.codehilite.material .s2 { color: #C3E88D } /* Literal.String.Double */ +.codehilite.material .se { color: #EFF } /* Literal.String.Escape */ +.codehilite.material .sh { color: #C3E88D } /* Literal.String.Heredoc */ +.codehilite.material .si { color: #89DDFF } /* Literal.String.Interpol */ +.codehilite.material .sx { color: #C3E88D } /* Literal.String.Other */ +.codehilite.material .sr { color: #89DDFF } /* Literal.String.Regex */ +.codehilite.material .s1 { color: #C3E88D } /* Literal.String.Single */ +.codehilite.material .ss { color: #89DDFF } /* Literal.String.Symbol */ +.codehilite.material .bp { color: #89DDFF } /* Name.Builtin.Pseudo */ +.codehilite.material .fm { color: #82AAFF } /* Name.Function.Magic */ +.codehilite.material .vc { color: #89DDFF } /* Name.Variable.Class */ +.codehilite.material .vg { color: #89DDFF } /* Name.Variable.Global */ +.codehilite.material .vi { color: #89DDFF } /* Name.Variable.Instance */ +.codehilite.material .vm { color: #82AAFF } /* Name.Variable.Magic */ +.codehilite.material .il { color: #F78C6C } /* Literal.Number.Integer.Long */ +.codehilite.monokai .hll { background-color: #49483e } +.codehilite.monokai { background: #272822; color: #F8F8F2 } +.codehilite.monokai .c { color: #959077 } /* Comment */ +.codehilite.monokai .err { color: #ED007E; background-color: #1E0010 } /* Error */ +.codehilite.monokai .esc { color: #F8F8F2 } /* Escape */ +.codehilite.monokai .g { color: #F8F8F2 } /* Generic */ +.codehilite.monokai .k { color: #66D9EF } /* Keyword */ +.codehilite.monokai .l { color: #AE81FF } /* Literal */ +.codehilite.monokai .n { color: #F8F8F2 } /* Name */ +.codehilite.monokai .o { color: #FF4689 } /* Operator */ +.codehilite.monokai .x { color: #F8F8F2 } /* Other */ +.codehilite.monokai .p { color: #F8F8F2 } /* Punctuation */ +.codehilite.monokai .ch { color: #959077 } /* Comment.Hashbang */ +.codehilite.monokai .cm { color: #959077 } /* Comment.Multiline */ +.codehilite.monokai .cp { color: #959077 } /* Comment.Preproc */ +.codehilite.monokai .cpf { color: #959077 } /* Comment.PreprocFile */ +.codehilite.monokai .c1 { color: #959077 } /* Comment.Single */ +.codehilite.monokai .cs { color: #959077 } /* Comment.Special */ +.codehilite.monokai .gd { color: #FF4689 } /* Generic.Deleted */ +.codehilite.monokai .ge { color: #F8F8F2; font-style: italic } /* Generic.Emph */ +.codehilite.monokai .ges { color: #F8F8F2; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite.monokai .gr { color: #F8F8F2 } /* Generic.Error */ +.codehilite.monokai .gh { color: #F8F8F2 } /* Generic.Heading */ +.codehilite.monokai .gi { color: #A6E22E } /* Generic.Inserted */ +.codehilite.monokai .go { color: #66D9EF } /* Generic.Output */ +.codehilite.monokai .gp { color: #FF4689; font-weight: bold } /* Generic.Prompt */ +.codehilite.monokai .gs { color: #F8F8F2; font-weight: bold } /* Generic.Strong */ +.codehilite.monokai .gu { color: #959077 } /* Generic.Subheading */ +.codehilite.monokai .gt { color: #F8F8F2 } /* Generic.Traceback */ +.codehilite.monokai .kc { color: #66D9EF } /* Keyword.Constant */ +.codehilite.monokai .kd { color: #66D9EF } /* Keyword.Declaration */ +.codehilite.monokai .kn { color: #FF4689 } /* Keyword.Namespace */ +.codehilite.monokai .kp { color: #66D9EF } /* Keyword.Pseudo */ +.codehilite.monokai .kr { color: #66D9EF } /* Keyword.Reserved */ +.codehilite.monokai .kt { color: #66D9EF } /* Keyword.Type */ +.codehilite.monokai .ld { color: #E6DB74 } /* Literal.Date */ +.codehilite.monokai .m { color: #AE81FF } /* Literal.Number */ +.codehilite.monokai .s { color: #E6DB74 } /* Literal.String */ +.codehilite.monokai .na { color: #A6E22E } /* Name.Attribute */ +.codehilite.monokai .nb { color: #F8F8F2 } /* Name.Builtin */ +.codehilite.monokai .nc { color: #A6E22E } /* Name.Class */ +.codehilite.monokai .no { color: #66D9EF } /* Name.Constant */ +.codehilite.monokai .nd { color: #A6E22E } /* Name.Decorator */ +.codehilite.monokai .ni { color: #F8F8F2 } /* Name.Entity */ +.codehilite.monokai .ne { color: #A6E22E } /* Name.Exception */ +.codehilite.monokai .nf { color: #A6E22E } /* Name.Function */ +.codehilite.monokai .nl { color: #F8F8F2 } /* Name.Label */ +.codehilite.monokai .nn { color: #F8F8F2 } /* Name.Namespace */ +.codehilite.monokai .nx { color: #A6E22E } /* Name.Other */ +.codehilite.monokai .py { color: #F8F8F2 } /* Name.Property */ +.codehilite.monokai .nt { color: #FF4689 } /* Name.Tag */ +.codehilite.monokai .nv { color: #F8F8F2 } /* Name.Variable */ +.codehilite.monokai .ow { color: #FF4689 } /* Operator.Word */ +.codehilite.monokai .pm { color: #F8F8F2 } /* Punctuation.Marker */ +.codehilite.monokai .w { color: #F8F8F2 } /* Text.Whitespace */ +.codehilite.monokai .mb { color: #AE81FF } /* Literal.Number.Bin */ +.codehilite.monokai .mf { color: #AE81FF } /* Literal.Number.Float */ +.codehilite.monokai .mh { color: #AE81FF } /* Literal.Number.Hex */ +.codehilite.monokai .mi { color: #AE81FF } /* Literal.Number.Integer */ +.codehilite.monokai .mo { color: #AE81FF } /* Literal.Number.Oct */ +.codehilite.monokai .sa { color: #E6DB74 } /* Literal.String.Affix */ +.codehilite.monokai .sb { color: #E6DB74 } /* Literal.String.Backtick */ +.codehilite.monokai .sc { color: #E6DB74 } /* Literal.String.Char */ +.codehilite.monokai .dl { color: #E6DB74 } /* Literal.String.Delimiter */ +.codehilite.monokai .sd { color: #E6DB74 } /* Literal.String.Doc */ +.codehilite.monokai .s2 { color: #E6DB74 } /* Literal.String.Double */ +.codehilite.monokai .se { color: #AE81FF } /* Literal.String.Escape */ +.codehilite.monokai .sh { color: #E6DB74 } /* Literal.String.Heredoc */ +.codehilite.monokai .si { color: #E6DB74 } /* Literal.String.Interpol */ +.codehilite.monokai .sx { color: #E6DB74 } /* Literal.String.Other */ +.codehilite.monokai .sr { color: #E6DB74 } /* Literal.String.Regex */ +.codehilite.monokai .s1 { color: #E6DB74 } /* Literal.String.Single */ +.codehilite.monokai .ss { color: #E6DB74 } /* Literal.String.Symbol */ +.codehilite.monokai .bp { color: #F8F8F2 } /* Name.Builtin.Pseudo */ +.codehilite.monokai .fm { color: #A6E22E } /* Name.Function.Magic */ +.codehilite.monokai .vc { color: #F8F8F2 } /* Name.Variable.Class */ +.codehilite.monokai .vg { color: #F8F8F2 } /* Name.Variable.Global */ +.codehilite.monokai .vi { color: #F8F8F2 } /* Name.Variable.Instance */ +.codehilite.monokai .vm { color: #F8F8F2 } /* Name.Variable.Magic */ +.codehilite.monokai .il { color: #AE81FF } /* Literal.Number.Integer.Long */ +.codehilite.murphy .hll { background-color: #ffffcc } +.codehilite.murphy { background: #ffffff; } +.codehilite.murphy .c { color: #666; font-style: italic } /* Comment */ +.codehilite.murphy .err { color: #F00; background-color: #FAA } /* Error */ +.codehilite.murphy .k { color: #289; font-weight: bold } /* Keyword */ +.codehilite.murphy .o { color: #333 } /* Operator */ +.codehilite.murphy .ch { color: #666; font-style: italic } /* Comment.Hashbang */ +.codehilite.murphy .cm { color: #666; font-style: italic } /* Comment.Multiline */ +.codehilite.murphy .cp { color: #579 } /* Comment.Preproc */ +.codehilite.murphy .cpf { color: #666; font-style: italic } /* Comment.PreprocFile */ +.codehilite.murphy .c1 { color: #666; font-style: italic } /* Comment.Single */ +.codehilite.murphy .cs { color: #C00; font-weight: bold; font-style: italic } /* Comment.Special */ +.codehilite.murphy .gd { color: #A00000 } /* Generic.Deleted */ +.codehilite.murphy .ge { font-style: italic } /* Generic.Emph */ +.codehilite.murphy .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite.murphy .gr { color: #F00 } /* Generic.Error */ +.codehilite.murphy .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.codehilite.murphy .gi { color: #00A000 } /* Generic.Inserted */ +.codehilite.murphy .go { color: #888 } /* Generic.Output */ +.codehilite.murphy .gp { color: #C65D09; font-weight: bold } /* Generic.Prompt */ +.codehilite.murphy .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.murphy .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.codehilite.murphy .gt { color: #04D } /* Generic.Traceback */ +.codehilite.murphy .kc { color: #289; font-weight: bold } /* Keyword.Constant */ +.codehilite.murphy .kd { color: #289; font-weight: bold } /* Keyword.Declaration */ +.codehilite.murphy .kn { color: #289; font-weight: bold } /* Keyword.Namespace */ +.codehilite.murphy .kp { color: #08F; font-weight: bold } /* Keyword.Pseudo */ +.codehilite.murphy .kr { color: #289; font-weight: bold } /* Keyword.Reserved */ +.codehilite.murphy .kt { color: #66F; font-weight: bold } /* Keyword.Type */ +.codehilite.murphy .m { color: #60E; font-weight: bold } /* Literal.Number */ +.codehilite.murphy .s { background-color: #E0E0FF } /* Literal.String */ +.codehilite.murphy .na { color: #007 } /* Name.Attribute */ +.codehilite.murphy .nb { color: #072 } /* Name.Builtin */ +.codehilite.murphy .nc { color: #E9E; font-weight: bold } /* Name.Class */ +.codehilite.murphy .no { color: #5ED; font-weight: bold } /* Name.Constant */ +.codehilite.murphy .nd { color: #555; font-weight: bold } /* Name.Decorator */ +.codehilite.murphy .ni { color: #800 } /* Name.Entity */ +.codehilite.murphy .ne { color: #F00; font-weight: bold } /* Name.Exception */ +.codehilite.murphy .nf { color: #5ED; font-weight: bold } /* Name.Function */ +.codehilite.murphy .nl { color: #970; font-weight: bold } /* Name.Label */ +.codehilite.murphy .nn { color: #0E84B5; font-weight: bold } /* Name.Namespace */ +.codehilite.murphy .nt { color: #070 } /* Name.Tag */ +.codehilite.murphy .nv { color: #036 } /* Name.Variable */ +.codehilite.murphy .ow { color: #000; font-weight: bold } /* Operator.Word */ +.codehilite.murphy .w { color: #BBB } /* Text.Whitespace */ +.codehilite.murphy .mb { color: #60E; font-weight: bold } /* Literal.Number.Bin */ +.codehilite.murphy .mf { color: #60E; font-weight: bold } /* Literal.Number.Float */ +.codehilite.murphy .mh { color: #058; font-weight: bold } /* Literal.Number.Hex */ +.codehilite.murphy .mi { color: #66F; font-weight: bold } /* Literal.Number.Integer */ +.codehilite.murphy .mo { color: #40E; font-weight: bold } /* Literal.Number.Oct */ +.codehilite.murphy .sa { background-color: #E0E0FF } /* Literal.String.Affix */ +.codehilite.murphy .sb { background-color: #E0E0FF } /* Literal.String.Backtick */ +.codehilite.murphy .sc { color: #88F } /* Literal.String.Char */ +.codehilite.murphy .dl { background-color: #E0E0FF } /* Literal.String.Delimiter */ +.codehilite.murphy .sd { color: #D42 } /* Literal.String.Doc */ +.codehilite.murphy .s2 { background-color: #E0E0FF } /* Literal.String.Double */ +.codehilite.murphy .se { color: #666; font-weight: bold; background-color: #E0E0FF } /* Literal.String.Escape */ +.codehilite.murphy .sh { background-color: #E0E0FF } /* Literal.String.Heredoc */ +.codehilite.murphy .si { background-color: #EEE } /* Literal.String.Interpol */ +.codehilite.murphy .sx { color: #F88; background-color: #E0E0FF } /* Literal.String.Other */ +.codehilite.murphy .sr { color: #000; background-color: #E0E0FF } /* Literal.String.Regex */ +.codehilite.murphy .s1 { background-color: #E0E0FF } /* Literal.String.Single */ +.codehilite.murphy .ss { color: #FC8 } /* Literal.String.Symbol */ +.codehilite.murphy .bp { color: #072 } /* Name.Builtin.Pseudo */ +.codehilite.murphy .fm { color: #5ED; font-weight: bold } /* Name.Function.Magic */ +.codehilite.murphy .vc { color: #CCF } /* Name.Variable.Class */ +.codehilite.murphy .vg { color: #F84 } /* Name.Variable.Global */ +.codehilite.murphy .vi { color: #AAF } /* Name.Variable.Instance */ +.codehilite.murphy .vm { color: #036 } /* Name.Variable.Magic */ +.codehilite.murphy .il { color: #66F; font-weight: bold } /* Literal.Number.Integer.Long */ +.codehilite.native .hll { background-color: #404040 } +.codehilite.native { background: #202020; color: #D0D0D0 } +.codehilite.native .c { color: #ABABAB; font-style: italic } /* Comment */ +.codehilite.native .err { color: #A61717; background-color: #E3D2D2 } /* Error */ +.codehilite.native .esc { color: #D0D0D0 } /* Escape */ +.codehilite.native .g { color: #D0D0D0 } /* Generic */ +.codehilite.native .k { color: #6EBF26; font-weight: bold } /* Keyword */ +.codehilite.native .l { color: #D0D0D0 } /* Literal */ +.codehilite.native .n { color: #D0D0D0 } /* Name */ +.codehilite.native .o { color: #D0D0D0 } /* Operator */ +.codehilite.native .x { color: #D0D0D0 } /* Other */ +.codehilite.native .p { color: #D0D0D0 } /* Punctuation */ +.codehilite.native .ch { color: #ABABAB; font-style: italic } /* Comment.Hashbang */ +.codehilite.native .cm { color: #ABABAB; font-style: italic } /* Comment.Multiline */ +.codehilite.native .cp { color: #FF3A3A; font-weight: bold } /* Comment.Preproc */ +.codehilite.native .cpf { color: #ABABAB; font-style: italic } /* Comment.PreprocFile */ +.codehilite.native .c1 { color: #ABABAB; font-style: italic } /* Comment.Single */ +.codehilite.native .cs { color: #E50808; font-weight: bold; background-color: #520000 } /* Comment.Special */ +.codehilite.native .gd { color: #FF3A3A } /* Generic.Deleted */ +.codehilite.native .ge { color: #D0D0D0; font-style: italic } /* Generic.Emph */ +.codehilite.native .ges { color: #D0D0D0; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite.native .gr { color: #FF3A3A } /* Generic.Error */ +.codehilite.native .gh { color: #FFF; font-weight: bold } /* Generic.Heading */ +.codehilite.native .gi { color: #589819 } /* Generic.Inserted */ +.codehilite.native .go { color: #CCC } /* Generic.Output */ +.codehilite.native .gp { color: #AAA } /* Generic.Prompt */ +.codehilite.native .gs { color: #D0D0D0; font-weight: bold } /* Generic.Strong */ +.codehilite.native .gu { color: #FFF; text-decoration: underline } /* Generic.Subheading */ +.codehilite.native .gt { color: #FF3A3A } /* Generic.Traceback */ +.codehilite.native .kc { color: #6EBF26; font-weight: bold } /* Keyword.Constant */ +.codehilite.native .kd { color: #6EBF26; font-weight: bold } /* Keyword.Declaration */ +.codehilite.native .kn { color: #6EBF26; font-weight: bold } /* Keyword.Namespace */ +.codehilite.native .kp { color: #6EBF26 } /* Keyword.Pseudo */ +.codehilite.native .kr { color: #6EBF26; font-weight: bold } /* Keyword.Reserved */ +.codehilite.native .kt { color: #6EBF26; font-weight: bold } /* Keyword.Type */ +.codehilite.native .ld { color: #D0D0D0 } /* Literal.Date */ +.codehilite.native .m { color: #51B2FD } /* Literal.Number */ +.codehilite.native .s { color: #ED9D13 } /* Literal.String */ +.codehilite.native .na { color: #BBB } /* Name.Attribute */ +.codehilite.native .nb { color: #2FBCCD } /* Name.Builtin */ +.codehilite.native .nc { color: #71ADFF; text-decoration: underline } /* Name.Class */ +.codehilite.native .no { color: #40FFFF } /* Name.Constant */ +.codehilite.native .nd { color: #FFA500 } /* Name.Decorator */ +.codehilite.native .ni { color: #D0D0D0 } /* Name.Entity */ +.codehilite.native .ne { color: #BBB } /* Name.Exception */ +.codehilite.native .nf { color: #71ADFF } /* Name.Function */ +.codehilite.native .nl { color: #D0D0D0 } /* Name.Label */ +.codehilite.native .nn { color: #71ADFF; text-decoration: underline } /* Name.Namespace */ +.codehilite.native .nx { color: #D0D0D0 } /* Name.Other */ +.codehilite.native .py { color: #D0D0D0 } /* Name.Property */ +.codehilite.native .nt { color: #6EBF26; font-weight: bold } /* Name.Tag */ +.codehilite.native .nv { color: #40FFFF } /* Name.Variable */ +.codehilite.native .ow { color: #6EBF26; font-weight: bold } /* Operator.Word */ +.codehilite.native .pm { color: #D0D0D0 } /* Punctuation.Marker */ +.codehilite.native .w { color: #666 } /* Text.Whitespace */ +.codehilite.native .mb { color: #51B2FD } /* Literal.Number.Bin */ +.codehilite.native .mf { color: #51B2FD } /* Literal.Number.Float */ +.codehilite.native .mh { color: #51B2FD } /* Literal.Number.Hex */ +.codehilite.native .mi { color: #51B2FD } /* Literal.Number.Integer */ +.codehilite.native .mo { color: #51B2FD } /* Literal.Number.Oct */ +.codehilite.native .sa { color: #ED9D13 } /* Literal.String.Affix */ +.codehilite.native .sb { color: #ED9D13 } /* Literal.String.Backtick */ +.codehilite.native .sc { color: #ED9D13 } /* Literal.String.Char */ +.codehilite.native .dl { color: #ED9D13 } /* Literal.String.Delimiter */ +.codehilite.native .sd { color: #ED9D13 } /* Literal.String.Doc */ +.codehilite.native .s2 { color: #ED9D13 } /* Literal.String.Double */ +.codehilite.native .se { color: #ED9D13 } /* Literal.String.Escape */ +.codehilite.native .sh { color: #ED9D13 } /* Literal.String.Heredoc */ +.codehilite.native .si { color: #ED9D13 } /* Literal.String.Interpol */ +.codehilite.native .sx { color: #FFA500 } /* Literal.String.Other */ +.codehilite.native .sr { color: #ED9D13 } /* Literal.String.Regex */ +.codehilite.native .s1 { color: #ED9D13 } /* Literal.String.Single */ +.codehilite.native .ss { color: #ED9D13 } /* Literal.String.Symbol */ +.codehilite.native .bp { color: #2FBCCD } /* Name.Builtin.Pseudo */ +.codehilite.native .fm { color: #71ADFF } /* Name.Function.Magic */ +.codehilite.native .vc { color: #40FFFF } /* Name.Variable.Class */ +.codehilite.native .vg { color: #40FFFF } /* Name.Variable.Global */ +.codehilite.native .vi { color: #40FFFF } /* Name.Variable.Instance */ +.codehilite.native .vm { color: #40FFFF } /* Name.Variable.Magic */ +.codehilite.native .il { color: #51B2FD } /* Literal.Number.Integer.Long */ +.codehilite.nord-darker .hll { background-color: #3B4252 } +.codehilite.nord-darker { background: #242933; color: #D8DEE9 } +.codehilite.nord-darker .c { color: #616E87; font-style: italic } /* Comment */ +.codehilite.nord-darker .err { color: #BF616A } /* Error */ +.codehilite.nord-darker .esc { color: #D8DEE9 } /* Escape */ +.codehilite.nord-darker .g { color: #D8DEE9 } /* Generic */ +.codehilite.nord-darker .k { color: #81A1C1; font-weight: bold } /* Keyword */ +.codehilite.nord-darker .l { color: #D8DEE9 } /* Literal */ +.codehilite.nord-darker .n { color: #D8DEE9 } /* Name */ +.codehilite.nord-darker .o { color: #81A1C1; font-weight: bold } /* Operator */ +.codehilite.nord-darker .x { color: #D8DEE9 } /* Other */ +.codehilite.nord-darker .p { color: #ECEFF4 } /* Punctuation */ +.codehilite.nord-darker .ch { color: #616E87; font-style: italic } /* Comment.Hashbang */ +.codehilite.nord-darker .cm { color: #616E87; font-style: italic } /* Comment.Multiline */ +.codehilite.nord-darker .cp { color: #5E81AC; font-style: italic } /* Comment.Preproc */ +.codehilite.nord-darker .cpf { color: #616E87; font-style: italic } /* Comment.PreprocFile */ +.codehilite.nord-darker .c1 { color: #616E87; font-style: italic } /* Comment.Single */ +.codehilite.nord-darker .cs { color: #616E87; font-style: italic } /* Comment.Special */ +.codehilite.nord-darker .gd { color: #BF616A } /* Generic.Deleted */ +.codehilite.nord-darker .ge { color: #D8DEE9; font-style: italic } /* Generic.Emph */ +.codehilite.nord-darker .ges { color: #D8DEE9 } /* Generic.EmphStrong */ +.codehilite.nord-darker .gr { color: #BF616A } /* Generic.Error */ +.codehilite.nord-darker .gh { color: #88C0D0; font-weight: bold } /* Generic.Heading */ +.codehilite.nord-darker .gi { color: #A3BE8C } /* Generic.Inserted */ +.codehilite.nord-darker .go { color: #D8DEE9 } /* Generic.Output */ +.codehilite.nord-darker .gp { color: #616E88; font-weight: bold } /* Generic.Prompt */ +.codehilite.nord-darker .gs { color: #D8DEE9; font-weight: bold } /* Generic.Strong */ +.codehilite.nord-darker .gu { color: #88C0D0; font-weight: bold } /* Generic.Subheading */ +.codehilite.nord-darker .gt { color: #BF616A } /* Generic.Traceback */ +.codehilite.nord-darker .kc { color: #81A1C1; font-weight: bold } /* Keyword.Constant */ +.codehilite.nord-darker .kd { color: #81A1C1; font-weight: bold } /* Keyword.Declaration */ +.codehilite.nord-darker .kn { color: #81A1C1; font-weight: bold } /* Keyword.Namespace */ +.codehilite.nord-darker .kp { color: #81A1C1 } /* Keyword.Pseudo */ +.codehilite.nord-darker .kr { color: #81A1C1; font-weight: bold } /* Keyword.Reserved */ +.codehilite.nord-darker .kt { color: #81A1C1 } /* Keyword.Type */ +.codehilite.nord-darker .ld { color: #D8DEE9 } /* Literal.Date */ +.codehilite.nord-darker .m { color: #B48EAD } /* Literal.Number */ +.codehilite.nord-darker .s { color: #A3BE8C } /* Literal.String */ +.codehilite.nord-darker .na { color: #8FBCBB } /* Name.Attribute */ +.codehilite.nord-darker .nb { color: #81A1C1 } /* Name.Builtin */ +.codehilite.nord-darker .nc { color: #8FBCBB } /* Name.Class */ +.codehilite.nord-darker .no { color: #8FBCBB } /* Name.Constant */ +.codehilite.nord-darker .nd { color: #D08770 } /* Name.Decorator */ +.codehilite.nord-darker .ni { color: #D08770 } /* Name.Entity */ +.codehilite.nord-darker .ne { color: #BF616A } /* Name.Exception */ +.codehilite.nord-darker .nf { color: #88C0D0 } /* Name.Function */ +.codehilite.nord-darker .nl { color: #D8DEE9 } /* Name.Label */ +.codehilite.nord-darker .nn { color: #8FBCBB } /* Name.Namespace */ +.codehilite.nord-darker .nx { color: #D8DEE9 } /* Name.Other */ +.codehilite.nord-darker .py { color: #D8DEE9 } /* Name.Property */ +.codehilite.nord-darker .nt { color: #81A1C1 } /* Name.Tag */ +.codehilite.nord-darker .nv { color: #D8DEE9 } /* Name.Variable */ +.codehilite.nord-darker .ow { color: #81A1C1; font-weight: bold } /* Operator.Word */ +.codehilite.nord-darker .pm { color: #ECEFF4 } /* Punctuation.Marker */ +.codehilite.nord-darker .w { color: #D8DEE9 } /* Text.Whitespace */ +.codehilite.nord-darker .mb { color: #B48EAD } /* Literal.Number.Bin */ +.codehilite.nord-darker .mf { color: #B48EAD } /* Literal.Number.Float */ +.codehilite.nord-darker .mh { color: #B48EAD } /* Literal.Number.Hex */ +.codehilite.nord-darker .mi { color: #B48EAD } /* Literal.Number.Integer */ +.codehilite.nord-darker .mo { color: #B48EAD } /* Literal.Number.Oct */ +.codehilite.nord-darker .sa { color: #A3BE8C } /* Literal.String.Affix */ +.codehilite.nord-darker .sb { color: #A3BE8C } /* Literal.String.Backtick */ +.codehilite.nord-darker .sc { color: #A3BE8C } /* Literal.String.Char */ +.codehilite.nord-darker .dl { color: #A3BE8C } /* Literal.String.Delimiter */ +.codehilite.nord-darker .sd { color: #616E87 } /* Literal.String.Doc */ +.codehilite.nord-darker .s2 { color: #A3BE8C } /* Literal.String.Double */ +.codehilite.nord-darker .se { color: #EBCB8B } /* Literal.String.Escape */ +.codehilite.nord-darker .sh { color: #A3BE8C } /* Literal.String.Heredoc */ +.codehilite.nord-darker .si { color: #A3BE8C } /* Literal.String.Interpol */ +.codehilite.nord-darker .sx { color: #A3BE8C } /* Literal.String.Other */ +.codehilite.nord-darker .sr { color: #EBCB8B } /* Literal.String.Regex */ +.codehilite.nord-darker .s1 { color: #A3BE8C } /* Literal.String.Single */ +.codehilite.nord-darker .ss { color: #A3BE8C } /* Literal.String.Symbol */ +.codehilite.nord-darker .bp { color: #81A1C1 } /* Name.Builtin.Pseudo */ +.codehilite.nord-darker .fm { color: #88C0D0 } /* Name.Function.Magic */ +.codehilite.nord-darker .vc { color: #D8DEE9 } /* Name.Variable.Class */ +.codehilite.nord-darker .vg { color: #D8DEE9 } /* Name.Variable.Global */ +.codehilite.nord-darker .vi { color: #D8DEE9 } /* Name.Variable.Instance */ +.codehilite.nord-darker .vm { color: #D8DEE9 } /* Name.Variable.Magic */ +.codehilite.nord-darker .il { color: #B48EAD } /* Literal.Number.Integer.Long */ +.codehilite.nord .hll { background-color: #3B4252 } +.codehilite.nord { background: #2E3440; color: #D8DEE9 } +.codehilite.nord .c { color: #616E87; font-style: italic } /* Comment */ +.codehilite.nord .err { color: #BF616A } /* Error */ +.codehilite.nord .esc { color: #D8DEE9 } /* Escape */ +.codehilite.nord .g { color: #D8DEE9 } /* Generic */ +.codehilite.nord .k { color: #81A1C1; font-weight: bold } /* Keyword */ +.codehilite.nord .l { color: #D8DEE9 } /* Literal */ +.codehilite.nord .n { color: #D8DEE9 } /* Name */ +.codehilite.nord .o { color: #81A1C1; font-weight: bold } /* Operator */ +.codehilite.nord .x { color: #D8DEE9 } /* Other */ +.codehilite.nord .p { color: #ECEFF4 } /* Punctuation */ +.codehilite.nord .ch { color: #616E87; font-style: italic } /* Comment.Hashbang */ +.codehilite.nord .cm { color: #616E87; font-style: italic } /* Comment.Multiline */ +.codehilite.nord .cp { color: #5E81AC; font-style: italic } /* Comment.Preproc */ +.codehilite.nord .cpf { color: #616E87; font-style: italic } /* Comment.PreprocFile */ +.codehilite.nord .c1 { color: #616E87; font-style: italic } /* Comment.Single */ +.codehilite.nord .cs { color: #616E87; font-style: italic } /* Comment.Special */ +.codehilite.nord .gd { color: #BF616A } /* Generic.Deleted */ +.codehilite.nord .ge { color: #D8DEE9; font-style: italic } /* Generic.Emph */ +.codehilite.nord .ges { color: #D8DEE9; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite.nord .gr { color: #BF616A } /* Generic.Error */ +.codehilite.nord .gh { color: #88C0D0; font-weight: bold } /* Generic.Heading */ +.codehilite.nord .gi { color: #A3BE8C } /* Generic.Inserted */ +.codehilite.nord .go { color: #D8DEE9 } /* Generic.Output */ +.codehilite.nord .gp { color: #616E88; font-weight: bold } /* Generic.Prompt */ +.codehilite.nord .gs { color: #D8DEE9; font-weight: bold } /* Generic.Strong */ +.codehilite.nord .gu { color: #88C0D0; font-weight: bold } /* Generic.Subheading */ +.codehilite.nord .gt { color: #BF616A } /* Generic.Traceback */ +.codehilite.nord .kc { color: #81A1C1; font-weight: bold } /* Keyword.Constant */ +.codehilite.nord .kd { color: #81A1C1; font-weight: bold } /* Keyword.Declaration */ +.codehilite.nord .kn { color: #81A1C1; font-weight: bold } /* Keyword.Namespace */ +.codehilite.nord .kp { color: #81A1C1 } /* Keyword.Pseudo */ +.codehilite.nord .kr { color: #81A1C1; font-weight: bold } /* Keyword.Reserved */ +.codehilite.nord .kt { color: #81A1C1 } /* Keyword.Type */ +.codehilite.nord .ld { color: #D8DEE9 } /* Literal.Date */ +.codehilite.nord .m { color: #B48EAD } /* Literal.Number */ +.codehilite.nord .s { color: #A3BE8C } /* Literal.String */ +.codehilite.nord .na { color: #8FBCBB } /* Name.Attribute */ +.codehilite.nord .nb { color: #81A1C1 } /* Name.Builtin */ +.codehilite.nord .nc { color: #8FBCBB } /* Name.Class */ +.codehilite.nord .no { color: #8FBCBB } /* Name.Constant */ +.codehilite.nord .nd { color: #D08770 } /* Name.Decorator */ +.codehilite.nord .ni { color: #D08770 } /* Name.Entity */ +.codehilite.nord .ne { color: #BF616A } /* Name.Exception */ +.codehilite.nord .nf { color: #88C0D0 } /* Name.Function */ +.codehilite.nord .nl { color: #D8DEE9 } /* Name.Label */ +.codehilite.nord .nn { color: #8FBCBB } /* Name.Namespace */ +.codehilite.nord .nx { color: #D8DEE9 } /* Name.Other */ +.codehilite.nord .py { color: #D8DEE9 } /* Name.Property */ +.codehilite.nord .nt { color: #81A1C1 } /* Name.Tag */ +.codehilite.nord .nv { color: #D8DEE9 } /* Name.Variable */ +.codehilite.nord .ow { color: #81A1C1; font-weight: bold } /* Operator.Word */ +.codehilite.nord .pm { color: #ECEFF4 } /* Punctuation.Marker */ +.codehilite.nord .w { color: #D8DEE9 } /* Text.Whitespace */ +.codehilite.nord .mb { color: #B48EAD } /* Literal.Number.Bin */ +.codehilite.nord .mf { color: #B48EAD } /* Literal.Number.Float */ +.codehilite.nord .mh { color: #B48EAD } /* Literal.Number.Hex */ +.codehilite.nord .mi { color: #B48EAD } /* Literal.Number.Integer */ +.codehilite.nord .mo { color: #B48EAD } /* Literal.Number.Oct */ +.codehilite.nord .sa { color: #A3BE8C } /* Literal.String.Affix */ +.codehilite.nord .sb { color: #A3BE8C } /* Literal.String.Backtick */ +.codehilite.nord .sc { color: #A3BE8C } /* Literal.String.Char */ +.codehilite.nord .dl { color: #A3BE8C } /* Literal.String.Delimiter */ +.codehilite.nord .sd { color: #616E87 } /* Literal.String.Doc */ +.codehilite.nord .s2 { color: #A3BE8C } /* Literal.String.Double */ +.codehilite.nord .se { color: #EBCB8B } /* Literal.String.Escape */ +.codehilite.nord .sh { color: #A3BE8C } /* Literal.String.Heredoc */ +.codehilite.nord .si { color: #A3BE8C } /* Literal.String.Interpol */ +.codehilite.nord .sx { color: #A3BE8C } /* Literal.String.Other */ +.codehilite.nord .sr { color: #EBCB8B } /* Literal.String.Regex */ +.codehilite.nord .s1 { color: #A3BE8C } /* Literal.String.Single */ +.codehilite.nord .ss { color: #A3BE8C } /* Literal.String.Symbol */ +.codehilite.nord .bp { color: #81A1C1 } /* Name.Builtin.Pseudo */ +.codehilite.nord .fm { color: #88C0D0 } /* Name.Function.Magic */ +.codehilite.nord .vc { color: #D8DEE9 } /* Name.Variable.Class */ +.codehilite.nord .vg { color: #D8DEE9 } /* Name.Variable.Global */ +.codehilite.nord .vi { color: #D8DEE9 } /* Name.Variable.Instance */ +.codehilite.nord .vm { color: #D8DEE9 } /* Name.Variable.Magic */ +.codehilite.nord .il { color: #B48EAD } /* Literal.Number.Integer.Long */ +.codehilite.one-dark .hll { background-color: #ffffcc } +.codehilite.one-dark { background: #282C34; color: #ABB2BF } +.codehilite.one-dark .c { color: #7F848E } /* Comment */ +.codehilite.one-dark .err { color: #ABB2BF } /* Error */ +.codehilite.one-dark .esc { color: #ABB2BF } /* Escape */ +.codehilite.one-dark .g { color: #ABB2BF } /* Generic */ +.codehilite.one-dark .k { color: #C678DD } /* Keyword */ +.codehilite.one-dark .l { color: #ABB2BF } /* Literal */ +.codehilite.one-dark .n { color: #E06C75 } /* Name */ +.codehilite.one-dark .o { color: #56B6C2 } /* Operator */ +.codehilite.one-dark .x { color: #ABB2BF } /* Other */ +.codehilite.one-dark .p { color: #ABB2BF } /* Punctuation */ +.codehilite.one-dark .ch { color: #7F848E } /* Comment.Hashbang */ +.codehilite.one-dark .cm { color: #7F848E } /* Comment.Multiline */ +.codehilite.one-dark .cp { color: #7F848E } /* Comment.Preproc */ +.codehilite.one-dark .cpf { color: #7F848E } /* Comment.PreprocFile */ +.codehilite.one-dark .c1 { color: #7F848E } /* Comment.Single */ +.codehilite.one-dark .cs { color: #7F848E } /* Comment.Special */ +.codehilite.one-dark .gd { color: #ABB2BF } /* Generic.Deleted */ +.codehilite.one-dark .ge { color: #ABB2BF } /* Generic.Emph */ +.codehilite.one-dark .ges { color: #ABB2BF } /* Generic.EmphStrong */ +.codehilite.one-dark .gr { color: #ABB2BF } /* Generic.Error */ +.codehilite.one-dark .gh { color: #ABB2BF } /* Generic.Heading */ +.codehilite.one-dark .gi { color: #ABB2BF } /* Generic.Inserted */ +.codehilite.one-dark .go { color: #ABB2BF } /* Generic.Output */ +.codehilite.one-dark .gp { color: #ABB2BF } /* Generic.Prompt */ +.codehilite.one-dark .gs { color: #ABB2BF } /* Generic.Strong */ +.codehilite.one-dark .gu { color: #ABB2BF } /* Generic.Subheading */ +.codehilite.one-dark .gt { color: #ABB2BF } /* Generic.Traceback */ +.codehilite.one-dark .kc { color: #E5C07B } /* Keyword.Constant */ +.codehilite.one-dark .kd { color: #C678DD } /* Keyword.Declaration */ +.codehilite.one-dark .kn { color: #C678DD } /* Keyword.Namespace */ +.codehilite.one-dark .kp { color: #C678DD } /* Keyword.Pseudo */ +.codehilite.one-dark .kr { color: #C678DD } /* Keyword.Reserved */ +.codehilite.one-dark .kt { color: #E5C07B } /* Keyword.Type */ +.codehilite.one-dark .ld { color: #ABB2BF } /* Literal.Date */ +.codehilite.one-dark .m { color: #D19A66 } /* Literal.Number */ +.codehilite.one-dark .s { color: #98C379 } /* Literal.String */ +.codehilite.one-dark .na { color: #E06C75 } /* Name.Attribute */ +.codehilite.one-dark .nb { color: #E5C07B } /* Name.Builtin */ +.codehilite.one-dark .nc { color: #E5C07B } /* Name.Class */ +.codehilite.one-dark .no { color: #E06C75 } /* Name.Constant */ +.codehilite.one-dark .nd { color: #61AFEF } /* Name.Decorator */ +.codehilite.one-dark .ni { color: #E06C75 } /* Name.Entity */ +.codehilite.one-dark .ne { color: #E06C75 } /* Name.Exception */ +.codehilite.one-dark .nf { color: #61AFEF; font-weight: bold } /* Name.Function */ +.codehilite.one-dark .nl { color: #E06C75 } /* Name.Label */ +.codehilite.one-dark .nn { color: #E06C75 } /* Name.Namespace */ +.codehilite.one-dark .nx { color: #E06C75 } /* Name.Other */ +.codehilite.one-dark .py { color: #E06C75 } /* Name.Property */ +.codehilite.one-dark .nt { color: #E06C75 } /* Name.Tag */ +.codehilite.one-dark .nv { color: #E06C75 } /* Name.Variable */ +.codehilite.one-dark .ow { color: #56B6C2 } /* Operator.Word */ +.codehilite.one-dark .pm { color: #ABB2BF } /* Punctuation.Marker */ +.codehilite.one-dark .w { color: #ABB2BF } /* Text.Whitespace */ +.codehilite.one-dark .mb { color: #D19A66 } /* Literal.Number.Bin */ +.codehilite.one-dark .mf { color: #D19A66 } /* Literal.Number.Float */ +.codehilite.one-dark .mh { color: #D19A66 } /* Literal.Number.Hex */ +.codehilite.one-dark .mi { color: #D19A66 } /* Literal.Number.Integer */ +.codehilite.one-dark .mo { color: #D19A66 } /* Literal.Number.Oct */ +.codehilite.one-dark .sa { color: #98C379 } /* Literal.String.Affix */ +.codehilite.one-dark .sb { color: #98C379 } /* Literal.String.Backtick */ +.codehilite.one-dark .sc { color: #98C379 } /* Literal.String.Char */ +.codehilite.one-dark .dl { color: #98C379 } /* Literal.String.Delimiter */ +.codehilite.one-dark .sd { color: #98C379 } /* Literal.String.Doc */ +.codehilite.one-dark .s2 { color: #98C379 } /* Literal.String.Double */ +.codehilite.one-dark .se { color: #98C379 } /* Literal.String.Escape */ +.codehilite.one-dark .sh { color: #98C379 } /* Literal.String.Heredoc */ +.codehilite.one-dark .si { color: #98C379 } /* Literal.String.Interpol */ +.codehilite.one-dark .sx { color: #98C379 } /* Literal.String.Other */ +.codehilite.one-dark .sr { color: #98C379 } /* Literal.String.Regex */ +.codehilite.one-dark .s1 { color: #98C379 } /* Literal.String.Single */ +.codehilite.one-dark .ss { color: #98C379 } /* Literal.String.Symbol */ +.codehilite.one-dark .bp { color: #E5C07B } /* Name.Builtin.Pseudo */ +.codehilite.one-dark .fm { color: #56B6C2; font-weight: bold } /* Name.Function.Magic */ +.codehilite.one-dark .vc { color: #E06C75 } /* Name.Variable.Class */ +.codehilite.one-dark .vg { color: #E06C75 } /* Name.Variable.Global */ +.codehilite.one-dark .vi { color: #E06C75 } /* Name.Variable.Instance */ +.codehilite.one-dark .vm { color: #E06C75 } /* Name.Variable.Magic */ +.codehilite.one-dark .il { color: #D19A66 } /* Literal.Number.Integer.Long */ +.codehilite.paraiso-dark .hll { background-color: #4f424c } +.codehilite.paraiso-dark { background: #2f1e2e; color: #E7E9DB } +.codehilite.paraiso-dark .c { color: #776E71 } /* Comment */ +.codehilite.paraiso-dark .err { color: #EF6155 } /* Error */ +.codehilite.paraiso-dark .k { color: #815BA4 } /* Keyword */ +.codehilite.paraiso-dark .l { color: #F99B15 } /* Literal */ +.codehilite.paraiso-dark .n { color: #E7E9DB } /* Name */ +.codehilite.paraiso-dark .o { color: #5BC4BF } /* Operator */ +.codehilite.paraiso-dark .p { color: #E7E9DB } /* Punctuation */ +.codehilite.paraiso-dark .ch { color: #776E71 } /* Comment.Hashbang */ +.codehilite.paraiso-dark .cm { color: #776E71 } /* Comment.Multiline */ +.codehilite.paraiso-dark .cp { color: #776E71 } /* Comment.Preproc */ +.codehilite.paraiso-dark .cpf { color: #776E71 } /* Comment.PreprocFile */ +.codehilite.paraiso-dark .c1 { color: #776E71 } /* Comment.Single */ +.codehilite.paraiso-dark .cs { color: #776E71 } /* Comment.Special */ +.codehilite.paraiso-dark .gd { color: #EF6155 } /* Generic.Deleted */ +.codehilite.paraiso-dark .ge { font-style: italic } /* Generic.Emph */ +.codehilite.paraiso-dark .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite.paraiso-dark .gh { color: #E7E9DB; font-weight: bold } /* Generic.Heading */ +.codehilite.paraiso-dark .gi { color: #48B685 } /* Generic.Inserted */ +.codehilite.paraiso-dark .gp { color: #776E71; font-weight: bold } /* Generic.Prompt */ +.codehilite.paraiso-dark .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.paraiso-dark .gu { color: #5BC4BF; font-weight: bold } /* Generic.Subheading */ +.codehilite.paraiso-dark .kc { color: #815BA4 } /* Keyword.Constant */ +.codehilite.paraiso-dark .kd { color: #815BA4 } /* Keyword.Declaration */ +.codehilite.paraiso-dark .kn { color: #5BC4BF } /* Keyword.Namespace */ +.codehilite.paraiso-dark .kp { color: #815BA4 } /* Keyword.Pseudo */ +.codehilite.paraiso-dark .kr { color: #815BA4 } /* Keyword.Reserved */ +.codehilite.paraiso-dark .kt { color: #FEC418 } /* Keyword.Type */ +.codehilite.paraiso-dark .ld { color: #48B685 } /* Literal.Date */ +.codehilite.paraiso-dark .m { color: #F99B15 } /* Literal.Number */ +.codehilite.paraiso-dark .s { color: #48B685 } /* Literal.String */ +.codehilite.paraiso-dark .na { color: #06B6EF } /* Name.Attribute */ +.codehilite.paraiso-dark .nb { color: #E7E9DB } /* Name.Builtin */ +.codehilite.paraiso-dark .nc { color: #FEC418 } /* Name.Class */ +.codehilite.paraiso-dark .no { color: #EF6155 } /* Name.Constant */ +.codehilite.paraiso-dark .nd { color: #5BC4BF } /* Name.Decorator */ +.codehilite.paraiso-dark .ni { color: #E7E9DB } /* Name.Entity */ +.codehilite.paraiso-dark .ne { color: #EF6155 } /* Name.Exception */ +.codehilite.paraiso-dark .nf { color: #06B6EF } /* Name.Function */ +.codehilite.paraiso-dark .nl { color: #E7E9DB } /* Name.Label */ +.codehilite.paraiso-dark .nn { color: #FEC418 } /* Name.Namespace */ +.codehilite.paraiso-dark .nx { color: #06B6EF } /* Name.Other */ +.codehilite.paraiso-dark .py { color: #E7E9DB } /* Name.Property */ +.codehilite.paraiso-dark .nt { color: #5BC4BF } /* Name.Tag */ +.codehilite.paraiso-dark .nv { color: #EF6155 } /* Name.Variable */ +.codehilite.paraiso-dark .ow { color: #5BC4BF } /* Operator.Word */ +.codehilite.paraiso-dark .pm { color: #E7E9DB } /* Punctuation.Marker */ +.codehilite.paraiso-dark .w { color: #E7E9DB } /* Text.Whitespace */ +.codehilite.paraiso-dark .mb { color: #F99B15 } /* Literal.Number.Bin */ +.codehilite.paraiso-dark .mf { color: #F99B15 } /* Literal.Number.Float */ +.codehilite.paraiso-dark .mh { color: #F99B15 } /* Literal.Number.Hex */ +.codehilite.paraiso-dark .mi { color: #F99B15 } /* Literal.Number.Integer */ +.codehilite.paraiso-dark .mo { color: #F99B15 } /* Literal.Number.Oct */ +.codehilite.paraiso-dark .sa { color: #48B685 } /* Literal.String.Affix */ +.codehilite.paraiso-dark .sb { color: #48B685 } /* Literal.String.Backtick */ +.codehilite.paraiso-dark .sc { color: #E7E9DB } /* Literal.String.Char */ +.codehilite.paraiso-dark .dl { color: #48B685 } /* Literal.String.Delimiter */ +.codehilite.paraiso-dark .sd { color: #776E71 } /* Literal.String.Doc */ +.codehilite.paraiso-dark .s2 { color: #48B685 } /* Literal.String.Double */ +.codehilite.paraiso-dark .se { color: #F99B15 } /* Literal.String.Escape */ +.codehilite.paraiso-dark .sh { color: #48B685 } /* Literal.String.Heredoc */ +.codehilite.paraiso-dark .si { color: #F99B15 } /* Literal.String.Interpol */ +.codehilite.paraiso-dark .sx { color: #48B685 } /* Literal.String.Other */ +.codehilite.paraiso-dark .sr { color: #48B685 } /* Literal.String.Regex */ +.codehilite.paraiso-dark .s1 { color: #48B685 } /* Literal.String.Single */ +.codehilite.paraiso-dark .ss { color: #48B685 } /* Literal.String.Symbol */ +.codehilite.paraiso-dark .bp { color: #E7E9DB } /* Name.Builtin.Pseudo */ +.codehilite.paraiso-dark .fm { color: #06B6EF } /* Name.Function.Magic */ +.codehilite.paraiso-dark .vc { color: #EF6155 } /* Name.Variable.Class */ +.codehilite.paraiso-dark .vg { color: #EF6155 } /* Name.Variable.Global */ +.codehilite.paraiso-dark .vi { color: #EF6155 } /* Name.Variable.Instance */ +.codehilite.paraiso-dark .vm { color: #EF6155 } /* Name.Variable.Magic */ +.codehilite.paraiso-dark .il { color: #F99B15 } /* Literal.Number.Integer.Long */ +.codehilite.paraiso-light .hll { background-color: #a39e9b } +.codehilite.paraiso-light { background: #e7e9db; color: #2F1E2E } +.codehilite.paraiso-light .c { color: #8D8687 } /* Comment */ +.codehilite.paraiso-light .err { color: #EF6155 } /* Error */ +.codehilite.paraiso-light .k { color: #815BA4 } /* Keyword */ +.codehilite.paraiso-light .l { color: #F99B15 } /* Literal */ +.codehilite.paraiso-light .n { color: #2F1E2E } /* Name */ +.codehilite.paraiso-light .o { color: #5BC4BF } /* Operator */ +.codehilite.paraiso-light .p { color: #2F1E2E } /* Punctuation */ +.codehilite.paraiso-light .ch { color: #8D8687 } /* Comment.Hashbang */ +.codehilite.paraiso-light .cm { color: #8D8687 } /* Comment.Multiline */ +.codehilite.paraiso-light .cp { color: #8D8687 } /* Comment.Preproc */ +.codehilite.paraiso-light .cpf { color: #8D8687 } /* Comment.PreprocFile */ +.codehilite.paraiso-light .c1 { color: #8D8687 } /* Comment.Single */ +.codehilite.paraiso-light .cs { color: #8D8687 } /* Comment.Special */ +.codehilite.paraiso-light .gd { color: #EF6155 } /* Generic.Deleted */ +.codehilite.paraiso-light .ge { font-style: italic } /* Generic.Emph */ +.codehilite.paraiso-light .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite.paraiso-light .gh { color: #2F1E2E; font-weight: bold } /* Generic.Heading */ +.codehilite.paraiso-light .gi { color: #48B685 } /* Generic.Inserted */ +.codehilite.paraiso-light .gp { color: #8D8687; font-weight: bold } /* Generic.Prompt */ +.codehilite.paraiso-light .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.paraiso-light .gu { color: #5BC4BF; font-weight: bold } /* Generic.Subheading */ +.codehilite.paraiso-light .kc { color: #815BA4 } /* Keyword.Constant */ +.codehilite.paraiso-light .kd { color: #815BA4 } /* Keyword.Declaration */ +.codehilite.paraiso-light .kn { color: #5BC4BF } /* Keyword.Namespace */ +.codehilite.paraiso-light .kp { color: #815BA4 } /* Keyword.Pseudo */ +.codehilite.paraiso-light .kr { color: #815BA4 } /* Keyword.Reserved */ +.codehilite.paraiso-light .kt { color: #FEC418 } /* Keyword.Type */ +.codehilite.paraiso-light .ld { color: #48B685 } /* Literal.Date */ +.codehilite.paraiso-light .m { color: #F99B15 } /* Literal.Number */ +.codehilite.paraiso-light .s { color: #48B685 } /* Literal.String */ +.codehilite.paraiso-light .na { color: #06B6EF } /* Name.Attribute */ +.codehilite.paraiso-light .nb { color: #2F1E2E } /* Name.Builtin */ +.codehilite.paraiso-light .nc { color: #FEC418 } /* Name.Class */ +.codehilite.paraiso-light .no { color: #EF6155 } /* Name.Constant */ +.codehilite.paraiso-light .nd { color: #5BC4BF } /* Name.Decorator */ +.codehilite.paraiso-light .ni { color: #2F1E2E } /* Name.Entity */ +.codehilite.paraiso-light .ne { color: #EF6155 } /* Name.Exception */ +.codehilite.paraiso-light .nf { color: #06B6EF } /* Name.Function */ +.codehilite.paraiso-light .nl { color: #2F1E2E } /* Name.Label */ +.codehilite.paraiso-light .nn { color: #FEC418 } /* Name.Namespace */ +.codehilite.paraiso-light .nx { color: #06B6EF } /* Name.Other */ +.codehilite.paraiso-light .py { color: #2F1E2E } /* Name.Property */ +.codehilite.paraiso-light .nt { color: #5BC4BF } /* Name.Tag */ +.codehilite.paraiso-light .nv { color: #EF6155 } /* Name.Variable */ +.codehilite.paraiso-light .ow { color: #5BC4BF } /* Operator.Word */ +.codehilite.paraiso-light .pm { color: #2F1E2E } /* Punctuation.Marker */ +.codehilite.paraiso-light .w { color: #2F1E2E } /* Text.Whitespace */ +.codehilite.paraiso-light .mb { color: #F99B15 } /* Literal.Number.Bin */ +.codehilite.paraiso-light .mf { color: #F99B15 } /* Literal.Number.Float */ +.codehilite.paraiso-light .mh { color: #F99B15 } /* Literal.Number.Hex */ +.codehilite.paraiso-light .mi { color: #F99B15 } /* Literal.Number.Integer */ +.codehilite.paraiso-light .mo { color: #F99B15 } /* Literal.Number.Oct */ +.codehilite.paraiso-light .sa { color: #48B685 } /* Literal.String.Affix */ +.codehilite.paraiso-light .sb { color: #48B685 } /* Literal.String.Backtick */ +.codehilite.paraiso-light .sc { color: #2F1E2E } /* Literal.String.Char */ +.codehilite.paraiso-light .dl { color: #48B685 } /* Literal.String.Delimiter */ +.codehilite.paraiso-light .sd { color: #8D8687 } /* Literal.String.Doc */ +.codehilite.paraiso-light .s2 { color: #48B685 } /* Literal.String.Double */ +.codehilite.paraiso-light .se { color: #F99B15 } /* Literal.String.Escape */ +.codehilite.paraiso-light .sh { color: #48B685 } /* Literal.String.Heredoc */ +.codehilite.paraiso-light .si { color: #F99B15 } /* Literal.String.Interpol */ +.codehilite.paraiso-light .sx { color: #48B685 } /* Literal.String.Other */ +.codehilite.paraiso-light .sr { color: #48B685 } /* Literal.String.Regex */ +.codehilite.paraiso-light .s1 { color: #48B685 } /* Literal.String.Single */ +.codehilite.paraiso-light .ss { color: #48B685 } /* Literal.String.Symbol */ +.codehilite.paraiso-light .bp { color: #2F1E2E } /* Name.Builtin.Pseudo */ +.codehilite.paraiso-light .fm { color: #06B6EF } /* Name.Function.Magic */ +.codehilite.paraiso-light .vc { color: #EF6155 } /* Name.Variable.Class */ +.codehilite.paraiso-light .vg { color: #EF6155 } /* Name.Variable.Global */ +.codehilite.paraiso-light .vi { color: #EF6155 } /* Name.Variable.Instance */ +.codehilite.paraiso-light .vm { color: #EF6155 } /* Name.Variable.Magic */ +.codehilite.paraiso-light .il { color: #F99B15 } /* Literal.Number.Integer.Long */ +.codehilite.pastie .hll { background-color: #ffffcc } +.codehilite.pastie { background: #ffffff; } +.codehilite.pastie .c { color: #888 } /* Comment */ +.codehilite.pastie .err { color: #A61717; background-color: #E3D2D2 } /* Error */ +.codehilite.pastie .k { color: #080; font-weight: bold } /* Keyword */ +.codehilite.pastie .ch { color: #888 } /* Comment.Hashbang */ +.codehilite.pastie .cm { color: #888 } /* Comment.Multiline */ +.codehilite.pastie .cp { color: #C00; font-weight: bold } /* Comment.Preproc */ +.codehilite.pastie .cpf { color: #888 } /* Comment.PreprocFile */ +.codehilite.pastie .c1 { color: #888 } /* Comment.Single */ +.codehilite.pastie .cs { color: #C00; font-weight: bold; background-color: #FFF0F0 } /* Comment.Special */ +.codehilite.pastie .gd { color: #000; background-color: #FDD } /* Generic.Deleted */ +.codehilite.pastie .ge { font-style: italic } /* Generic.Emph */ +.codehilite.pastie .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite.pastie .gr { color: #A00 } /* Generic.Error */ +.codehilite.pastie .gh { color: #333 } /* Generic.Heading */ +.codehilite.pastie .gi { color: #000; background-color: #DFD } /* Generic.Inserted */ +.codehilite.pastie .go { color: #888 } /* Generic.Output */ +.codehilite.pastie .gp { color: #555 } /* Generic.Prompt */ +.codehilite.pastie .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.pastie .gu { color: #666 } /* Generic.Subheading */ +.codehilite.pastie .gt { color: #A00 } /* Generic.Traceback */ +.codehilite.pastie .kc { color: #080; font-weight: bold } /* Keyword.Constant */ +.codehilite.pastie .kd { color: #080; font-weight: bold } /* Keyword.Declaration */ +.codehilite.pastie .kn { color: #080; font-weight: bold } /* Keyword.Namespace */ +.codehilite.pastie .kp { color: #080 } /* Keyword.Pseudo */ +.codehilite.pastie .kr { color: #080; font-weight: bold } /* Keyword.Reserved */ +.codehilite.pastie .kt { color: #888; font-weight: bold } /* Keyword.Type */ +.codehilite.pastie .m { color: #00D; font-weight: bold } /* Literal.Number */ +.codehilite.pastie .s { color: #D20; background-color: #FFF0F0 } /* Literal.String */ +.codehilite.pastie .na { color: #369 } /* Name.Attribute */ +.codehilite.pastie .nb { color: #038 } /* Name.Builtin */ +.codehilite.pastie .nc { color: #B06; font-weight: bold } /* Name.Class */ +.codehilite.pastie .no { color: #036; font-weight: bold } /* Name.Constant */ +.codehilite.pastie .nd { color: #555 } /* Name.Decorator */ +.codehilite.pastie .ne { color: #B06; font-weight: bold } /* Name.Exception */ +.codehilite.pastie .nf { color: #06B; font-weight: bold } /* Name.Function */ +.codehilite.pastie .nl { color: #369; font-style: italic } /* Name.Label */ +.codehilite.pastie .nn { color: #B06; font-weight: bold } /* Name.Namespace */ +.codehilite.pastie .py { color: #369; font-weight: bold } /* Name.Property */ +.codehilite.pastie .nt { color: #B06; font-weight: bold } /* Name.Tag */ +.codehilite.pastie .nv { color: #369 } /* Name.Variable */ +.codehilite.pastie .ow { color: #080 } /* Operator.Word */ +.codehilite.pastie .w { color: #BBB } /* Text.Whitespace */ +.codehilite.pastie .mb { color: #00D; font-weight: bold } /* Literal.Number.Bin */ +.codehilite.pastie .mf { color: #00D; font-weight: bold } /* Literal.Number.Float */ +.codehilite.pastie .mh { color: #00D; font-weight: bold } /* Literal.Number.Hex */ +.codehilite.pastie .mi { color: #00D; font-weight: bold } /* Literal.Number.Integer */ +.codehilite.pastie .mo { color: #00D; font-weight: bold } /* Literal.Number.Oct */ +.codehilite.pastie .sa { color: #D20; background-color: #FFF0F0 } /* Literal.String.Affix */ +.codehilite.pastie .sb { color: #D20; background-color: #FFF0F0 } /* Literal.String.Backtick */ +.codehilite.pastie .sc { color: #D20; background-color: #FFF0F0 } /* Literal.String.Char */ +.codehilite.pastie .dl { color: #D20; background-color: #FFF0F0 } /* Literal.String.Delimiter */ +.codehilite.pastie .sd { color: #D20; background-color: #FFF0F0 } /* Literal.String.Doc */ +.codehilite.pastie .s2 { color: #D20; background-color: #FFF0F0 } /* Literal.String.Double */ +.codehilite.pastie .se { color: #04D; background-color: #FFF0F0 } /* Literal.String.Escape */ +.codehilite.pastie .sh { color: #D20; background-color: #FFF0F0 } /* Literal.String.Heredoc */ +.codehilite.pastie .si { color: #33B; background-color: #FFF0F0 } /* Literal.String.Interpol */ +.codehilite.pastie .sx { color: #2B2; background-color: #F0FFF0 } /* Literal.String.Other */ +.codehilite.pastie .sr { color: #080; background-color: #FFF0FF } /* Literal.String.Regex */ +.codehilite.pastie .s1 { color: #D20; background-color: #FFF0F0 } /* Literal.String.Single */ +.codehilite.pastie .ss { color: #A60; background-color: #FFF0F0 } /* Literal.String.Symbol */ +.codehilite.pastie .bp { color: #038 } /* Name.Builtin.Pseudo */ +.codehilite.pastie .fm { color: #06B; font-weight: bold } /* Name.Function.Magic */ +.codehilite.pastie .vc { color: #369 } /* Name.Variable.Class */ +.codehilite.pastie .vg { color: #D70 } /* Name.Variable.Global */ +.codehilite.pastie .vi { color: #33B } /* Name.Variable.Instance */ +.codehilite.pastie .vm { color: #369 } /* Name.Variable.Magic */ +.codehilite.pastie .il { color: #00D; font-weight: bold } /* Literal.Number.Integer.Long */ +.codehilite.perldoc .hll { background-color: #ffffcc } +.codehilite.perldoc { background: #eeeedd; } +.codehilite.perldoc .c { color: #228B22 } /* Comment */ +.codehilite.perldoc .err { color: #A61717; background-color: #E3D2D2 } /* Error */ +.codehilite.perldoc .k { color: #8B008B; font-weight: bold } /* Keyword */ +.codehilite.perldoc .ch { color: #228B22 } /* Comment.Hashbang */ +.codehilite.perldoc .cm { color: #228B22 } /* Comment.Multiline */ +.codehilite.perldoc .cp { color: #1E889B } /* Comment.Preproc */ +.codehilite.perldoc .cpf { color: #228B22 } /* Comment.PreprocFile */ +.codehilite.perldoc .c1 { color: #228B22 } /* Comment.Single */ +.codehilite.perldoc .cs { color: #8B008B; font-weight: bold } /* Comment.Special */ +.codehilite.perldoc .gd { color: #A00 } /* Generic.Deleted */ +.codehilite.perldoc .ge { font-style: italic } /* Generic.Emph */ +.codehilite.perldoc .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite.perldoc .gr { color: #A00 } /* Generic.Error */ +.codehilite.perldoc .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.codehilite.perldoc .gi { color: #0A0 } /* Generic.Inserted */ +.codehilite.perldoc .go { color: #888 } /* Generic.Output */ +.codehilite.perldoc .gp { color: #555 } /* Generic.Prompt */ +.codehilite.perldoc .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.perldoc .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.codehilite.perldoc .gt { color: #A00 } /* Generic.Traceback */ +.codehilite.perldoc .kc { color: #8B008B; font-weight: bold } /* Keyword.Constant */ +.codehilite.perldoc .kd { color: #8B008B; font-weight: bold } /* Keyword.Declaration */ +.codehilite.perldoc .kn { color: #8B008B; font-weight: bold } /* Keyword.Namespace */ +.codehilite.perldoc .kp { color: #8B008B; font-weight: bold } /* Keyword.Pseudo */ +.codehilite.perldoc .kr { color: #8B008B; font-weight: bold } /* Keyword.Reserved */ +.codehilite.perldoc .kt { color: #00688B; font-weight: bold } /* Keyword.Type */ +.codehilite.perldoc .m { color: #B452CD } /* Literal.Number */ +.codehilite.perldoc .s { color: #CD5555 } /* Literal.String */ +.codehilite.perldoc .na { color: #658B00 } /* Name.Attribute */ +.codehilite.perldoc .nb { color: #658B00 } /* Name.Builtin */ +.codehilite.perldoc .nc { color: #008B45; font-weight: bold } /* Name.Class */ +.codehilite.perldoc .no { color: #00688B } /* Name.Constant */ +.codehilite.perldoc .nd { color: #707A7C } /* Name.Decorator */ +.codehilite.perldoc .ne { color: #008B45; font-weight: bold } /* Name.Exception */ +.codehilite.perldoc .nf { color: #008B45 } /* Name.Function */ +.codehilite.perldoc .nn { color: #008B45; text-decoration: underline } /* Name.Namespace */ +.codehilite.perldoc .nt { color: #8B008B; font-weight: bold } /* Name.Tag */ +.codehilite.perldoc .nv { color: #00688B } /* Name.Variable */ +.codehilite.perldoc .ow { color: #8B008B } /* Operator.Word */ +.codehilite.perldoc .w { color: #BBB } /* Text.Whitespace */ +.codehilite.perldoc .mb { color: #B452CD } /* Literal.Number.Bin */ +.codehilite.perldoc .mf { color: #B452CD } /* Literal.Number.Float */ +.codehilite.perldoc .mh { color: #B452CD } /* Literal.Number.Hex */ +.codehilite.perldoc .mi { color: #B452CD } /* Literal.Number.Integer */ +.codehilite.perldoc .mo { color: #B452CD } /* Literal.Number.Oct */ +.codehilite.perldoc .sa { color: #CD5555 } /* Literal.String.Affix */ +.codehilite.perldoc .sb { color: #CD5555 } /* Literal.String.Backtick */ +.codehilite.perldoc .sc { color: #CD5555 } /* Literal.String.Char */ +.codehilite.perldoc .dl { color: #CD5555 } /* Literal.String.Delimiter */ +.codehilite.perldoc .sd { color: #CD5555 } /* Literal.String.Doc */ +.codehilite.perldoc .s2 { color: #CD5555 } /* Literal.String.Double */ +.codehilite.perldoc .se { color: #CD5555 } /* Literal.String.Escape */ +.codehilite.perldoc .sh { color: #1C7E71; font-style: italic } /* Literal.String.Heredoc */ +.codehilite.perldoc .si { color: #CD5555 } /* Literal.String.Interpol */ +.codehilite.perldoc .sx { color: #CB6C20 } /* Literal.String.Other */ +.codehilite.perldoc .sr { color: #1C7E71 } /* Literal.String.Regex */ +.codehilite.perldoc .s1 { color: #CD5555 } /* Literal.String.Single */ +.codehilite.perldoc .ss { color: #CD5555 } /* Literal.String.Symbol */ +.codehilite.perldoc .bp { color: #658B00 } /* Name.Builtin.Pseudo */ +.codehilite.perldoc .fm { color: #008B45 } /* Name.Function.Magic */ +.codehilite.perldoc .vc { color: #00688B } /* Name.Variable.Class */ +.codehilite.perldoc .vg { color: #00688B } /* Name.Variable.Global */ +.codehilite.perldoc .vi { color: #00688B } /* Name.Variable.Instance */ +.codehilite.perldoc .vm { color: #00688B } /* Name.Variable.Magic */ +.codehilite.perldoc .il { color: #B452CD } /* Literal.Number.Integer.Long */ +.codehilite.rainbow_dash .hll { background-color: #ffffcc } +.codehilite.rainbow_dash { background: #ffffff; color: #4D4D4D } +.codehilite.rainbow_dash .c { color: #0080FF; font-style: italic } /* Comment */ +.codehilite.rainbow_dash .err { color: #FFF; background-color: #C00 } /* Error */ +.codehilite.rainbow_dash .k { color: #2C5DCD; font-weight: bold } /* Keyword */ +.codehilite.rainbow_dash .o { color: #2C5DCD } /* Operator */ +.codehilite.rainbow_dash .ch { color: #0080FF; font-style: italic } /* Comment.Hashbang */ +.codehilite.rainbow_dash .cm { color: #0080FF; font-style: italic } /* Comment.Multiline */ +.codehilite.rainbow_dash .cp { color: #0080FF } /* Comment.Preproc */ +.codehilite.rainbow_dash .cpf { color: #0080FF; font-style: italic } /* Comment.PreprocFile */ +.codehilite.rainbow_dash .c1 { color: #0080FF; font-style: italic } /* Comment.Single */ +.codehilite.rainbow_dash .cs { color: #0080FF; font-weight: bold; font-style: italic } /* Comment.Special */ +.codehilite.rainbow_dash .gd { background-color: #FCC; border: 1px solid #C5060B } /* Generic.Deleted */ +.codehilite.rainbow_dash .ge { font-style: italic } /* Generic.Emph */ +.codehilite.rainbow_dash .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite.rainbow_dash .gr { color: #F00 } /* Generic.Error */ +.codehilite.rainbow_dash .gh { color: #2C5DCD; font-weight: bold } /* Generic.Heading */ +.codehilite.rainbow_dash .gi { background-color: #CFC; border: 1px solid #0C0 } /* Generic.Inserted */ +.codehilite.rainbow_dash .go { color: #AAA } /* Generic.Output */ +.codehilite.rainbow_dash .gp { color: #2C5DCD; font-weight: bold } /* Generic.Prompt */ +.codehilite.rainbow_dash .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.rainbow_dash .gu { color: #2C5DCD; font-weight: bold } /* Generic.Subheading */ +.codehilite.rainbow_dash .gt { color: #C5060B } /* Generic.Traceback */ +.codehilite.rainbow_dash .kc { color: #2C5DCD; font-weight: bold } /* Keyword.Constant */ +.codehilite.rainbow_dash .kd { color: #2C5DCD; font-weight: bold } /* Keyword.Declaration */ +.codehilite.rainbow_dash .kn { color: #2C5DCD; font-weight: bold } /* Keyword.Namespace */ +.codehilite.rainbow_dash .kp { color: #2C5DCD } /* Keyword.Pseudo */ +.codehilite.rainbow_dash .kr { color: #2C5DCD; font-weight: bold } /* Keyword.Reserved */ +.codehilite.rainbow_dash .kt { color: #5918BB; font-weight: bold } /* Keyword.Type */ +.codehilite.rainbow_dash .m { color: #5918BB; font-weight: bold } /* Literal.Number */ +.codehilite.rainbow_dash .s { color: #0C6 } /* Literal.String */ +.codehilite.rainbow_dash .na { color: #2C5DCD; font-style: italic } /* Name.Attribute */ +.codehilite.rainbow_dash .nb { color: #5918BB; font-weight: bold } /* Name.Builtin */ +.codehilite.rainbow_dash .nc { text-decoration: underline } /* Name.Class */ +.codehilite.rainbow_dash .no { color: #318495 } /* Name.Constant */ +.codehilite.rainbow_dash .nd { color: #FF8000; font-weight: bold } /* Name.Decorator */ +.codehilite.rainbow_dash .ni { color: #5918BB; font-weight: bold } /* Name.Entity */ +.codehilite.rainbow_dash .ne { color: #5918BB; font-weight: bold } /* Name.Exception */ +.codehilite.rainbow_dash .nf { color: #FF8000; font-weight: bold } /* Name.Function */ +.codehilite.rainbow_dash .nt { color: #2C5DCD; font-weight: bold } /* Name.Tag */ +.codehilite.rainbow_dash .ow { color: #2C5DCD; font-weight: bold } /* Operator.Word */ +.codehilite.rainbow_dash .w { color: #CBCBCB } /* Text.Whitespace */ +.codehilite.rainbow_dash .mb { color: #5918BB; font-weight: bold } /* Literal.Number.Bin */ +.codehilite.rainbow_dash .mf { color: #5918BB; font-weight: bold } /* Literal.Number.Float */ +.codehilite.rainbow_dash .mh { color: #5918BB; font-weight: bold } /* Literal.Number.Hex */ +.codehilite.rainbow_dash .mi { color: #5918BB; font-weight: bold } /* Literal.Number.Integer */ +.codehilite.rainbow_dash .mo { color: #5918BB; font-weight: bold } /* Literal.Number.Oct */ +.codehilite.rainbow_dash .sa { color: #0C6 } /* Literal.String.Affix */ +.codehilite.rainbow_dash .sb { color: #0C6 } /* Literal.String.Backtick */ +.codehilite.rainbow_dash .sc { color: #0C6 } /* Literal.String.Char */ +.codehilite.rainbow_dash .dl { color: #0C6 } /* Literal.String.Delimiter */ +.codehilite.rainbow_dash .sd { color: #0C6; font-style: italic } /* Literal.String.Doc */ +.codehilite.rainbow_dash .s2 { color: #0C6 } /* Literal.String.Double */ +.codehilite.rainbow_dash .se { color: #C5060B; font-weight: bold } /* Literal.String.Escape */ +.codehilite.rainbow_dash .sh { color: #0C6 } /* Literal.String.Heredoc */ +.codehilite.rainbow_dash .si { color: #0C6 } /* Literal.String.Interpol */ +.codehilite.rainbow_dash .sx { color: #318495 } /* Literal.String.Other */ +.codehilite.rainbow_dash .sr { color: #0C6 } /* Literal.String.Regex */ +.codehilite.rainbow_dash .s1 { color: #0C6 } /* Literal.String.Single */ +.codehilite.rainbow_dash .ss { color: #C5060B; font-weight: bold } /* Literal.String.Symbol */ +.codehilite.rainbow_dash .bp { color: #5918BB; font-weight: bold } /* Name.Builtin.Pseudo */ +.codehilite.rainbow_dash .fm { color: #FF8000; font-weight: bold } /* Name.Function.Magic */ +.codehilite.rainbow_dash .il { color: #5918BB; font-weight: bold } /* Literal.Number.Integer.Long */ +.codehilite.rrt .hll { background-color: #0000ff } +.codehilite.rrt { background: #000000; color: #DDD } +.codehilite.rrt .c { color: #0F0 } /* Comment */ +.codehilite.rrt .err { color: #DDD } /* Error */ +.codehilite.rrt .esc { color: #DDD } /* Escape */ +.codehilite.rrt .g { color: #DDD } /* Generic */ +.codehilite.rrt .k { color: #F00 } /* Keyword */ +.codehilite.rrt .l { color: #DDD } /* Literal */ +.codehilite.rrt .n { color: #DDD } /* Name */ +.codehilite.rrt .o { color: #DDD } /* Operator */ +.codehilite.rrt .x { color: #DDD } /* Other */ +.codehilite.rrt .p { color: #DDD } /* Punctuation */ +.codehilite.rrt .ch { color: #0F0 } /* Comment.Hashbang */ +.codehilite.rrt .cm { color: #0F0 } /* Comment.Multiline */ +.codehilite.rrt .cp { color: #E5E5E5 } /* Comment.Preproc */ +.codehilite.rrt .cpf { color: #0F0 } /* Comment.PreprocFile */ +.codehilite.rrt .c1 { color: #0F0 } /* Comment.Single */ +.codehilite.rrt .cs { color: #0F0 } /* Comment.Special */ +.codehilite.rrt .gd { color: #DDD } /* Generic.Deleted */ +.codehilite.rrt .ge { color: #DDD } /* Generic.Emph */ +.codehilite.rrt .ges { color: #DDD } /* Generic.EmphStrong */ +.codehilite.rrt .gr { color: #DDD } /* Generic.Error */ +.codehilite.rrt .gh { color: #DDD } /* Generic.Heading */ +.codehilite.rrt .gi { color: #DDD } /* Generic.Inserted */ +.codehilite.rrt .go { color: #DDD } /* Generic.Output */ +.codehilite.rrt .gp { color: #DDD } /* Generic.Prompt */ +.codehilite.rrt .gs { color: #DDD } /* Generic.Strong */ +.codehilite.rrt .gu { color: #DDD } /* Generic.Subheading */ +.codehilite.rrt .gt { color: #DDD } /* Generic.Traceback */ +.codehilite.rrt .kc { color: #F00 } /* Keyword.Constant */ +.codehilite.rrt .kd { color: #F00 } /* Keyword.Declaration */ +.codehilite.rrt .kn { color: #F00 } /* Keyword.Namespace */ +.codehilite.rrt .kp { color: #F00 } /* Keyword.Pseudo */ +.codehilite.rrt .kr { color: #F00 } /* Keyword.Reserved */ +.codehilite.rrt .kt { color: #EE82EE } /* Keyword.Type */ +.codehilite.rrt .ld { color: #DDD } /* Literal.Date */ +.codehilite.rrt .m { color: #F0F } /* Literal.Number */ +.codehilite.rrt .s { color: #87CEEB } /* Literal.String */ +.codehilite.rrt .na { color: #DDD } /* Name.Attribute */ +.codehilite.rrt .nb { color: #DDD } /* Name.Builtin */ +.codehilite.rrt .nc { color: #DDD } /* Name.Class */ +.codehilite.rrt .no { color: #7FFFD4 } /* Name.Constant */ +.codehilite.rrt .nd { color: #DDD } /* Name.Decorator */ +.codehilite.rrt .ni { color: #DDD } /* Name.Entity */ +.codehilite.rrt .ne { color: #DDD } /* Name.Exception */ +.codehilite.rrt .nf { color: #FF0 } /* Name.Function */ +.codehilite.rrt .nl { color: #DDD } /* Name.Label */ +.codehilite.rrt .nn { color: #DDD } /* Name.Namespace */ +.codehilite.rrt .nx { color: #DDD } /* Name.Other */ +.codehilite.rrt .py { color: #DDD } /* Name.Property */ +.codehilite.rrt .nt { color: #DDD } /* Name.Tag */ +.codehilite.rrt .nv { color: #EEDD82 } /* Name.Variable */ +.codehilite.rrt .ow { color: #F00 } /* Operator.Word */ +.codehilite.rrt .pm { color: #DDD } /* Punctuation.Marker */ +.codehilite.rrt .w { color: #DDD } /* Text.Whitespace */ +.codehilite.rrt .mb { color: #F0F } /* Literal.Number.Bin */ +.codehilite.rrt .mf { color: #F0F } /* Literal.Number.Float */ +.codehilite.rrt .mh { color: #F0F } /* Literal.Number.Hex */ +.codehilite.rrt .mi { color: #F0F } /* Literal.Number.Integer */ +.codehilite.rrt .mo { color: #F0F } /* Literal.Number.Oct */ +.codehilite.rrt .sa { color: #87CEEB } /* Literal.String.Affix */ +.codehilite.rrt .sb { color: #87CEEB } /* Literal.String.Backtick */ +.codehilite.rrt .sc { color: #87CEEB } /* Literal.String.Char */ +.codehilite.rrt .dl { color: #87CEEB } /* Literal.String.Delimiter */ +.codehilite.rrt .sd { color: #87CEEB } /* Literal.String.Doc */ +.codehilite.rrt .s2 { color: #87CEEB } /* Literal.String.Double */ +.codehilite.rrt .se { color: #87CEEB } /* Literal.String.Escape */ +.codehilite.rrt .sh { color: #87CEEB } /* Literal.String.Heredoc */ +.codehilite.rrt .si { color: #87CEEB } /* Literal.String.Interpol */ +.codehilite.rrt .sx { color: #87CEEB } /* Literal.String.Other */ +.codehilite.rrt .sr { color: #87CEEB } /* Literal.String.Regex */ +.codehilite.rrt .s1 { color: #87CEEB } /* Literal.String.Single */ +.codehilite.rrt .ss { color: #87CEEB } /* Literal.String.Symbol */ +.codehilite.rrt .bp { color: #DDD } /* Name.Builtin.Pseudo */ +.codehilite.rrt .fm { color: #FF0 } /* Name.Function.Magic */ +.codehilite.rrt .vc { color: #EEDD82 } /* Name.Variable.Class */ +.codehilite.rrt .vg { color: #EEDD82 } /* Name.Variable.Global */ +.codehilite.rrt .vi { color: #EEDD82 } /* Name.Variable.Instance */ +.codehilite.rrt .vm { color: #EEDD82 } /* Name.Variable.Magic */ +.codehilite.rrt .il { color: #F0F } /* Literal.Number.Integer.Long */ +.codehilite.sas .hll { background-color: #ffffcc } +.codehilite.sas { background: #ffffff; } +.codehilite.sas .c { color: #080; font-style: italic } /* Comment */ +.codehilite.sas .err { color: #A61717; background-color: #E3D2D2 } /* Error */ +.codehilite.sas .g { color: #2C2CFF } /* Generic */ +.codehilite.sas .k { color: #2C2CFF } /* Keyword */ +.codehilite.sas .x { background-color: #FFFFE0 } /* Other */ +.codehilite.sas .ch { color: #080; font-style: italic } /* Comment.Hashbang */ +.codehilite.sas .cm { color: #080; font-style: italic } /* Comment.Multiline */ +.codehilite.sas .cp { color: #080; font-style: italic } /* Comment.Preproc */ +.codehilite.sas .cpf { color: #080; font-style: italic } /* Comment.PreprocFile */ +.codehilite.sas .c1 { color: #080; font-style: italic } /* Comment.Single */ +.codehilite.sas .cs { color: #080; font-style: italic } /* Comment.Special */ +.codehilite.sas .gd { color: #2C2CFF } /* Generic.Deleted */ +.codehilite.sas .ge { color: #080 } /* Generic.Emph */ +.codehilite.sas .ges { color: #2C2CFF } /* Generic.EmphStrong */ +.codehilite.sas .gr { color: #D30202 } /* Generic.Error */ +.codehilite.sas .gh { color: #2C2CFF } /* Generic.Heading */ +.codehilite.sas .gi { color: #2C2CFF } /* Generic.Inserted */ +.codehilite.sas .go { color: #2C2CFF } /* Generic.Output */ +.codehilite.sas .gp { color: #2C2CFF } /* Generic.Prompt */ +.codehilite.sas .gs { color: #2C2CFF } /* Generic.Strong */ +.codehilite.sas .gu { color: #2C2CFF } /* Generic.Subheading */ +.codehilite.sas .gt { color: #2C2CFF } /* Generic.Traceback */ +.codehilite.sas .kc { color: #2C2CFF; font-weight: bold } /* Keyword.Constant */ +.codehilite.sas .kd { color: #2C2CFF } /* Keyword.Declaration */ +.codehilite.sas .kn { color: #2C2CFF } /* Keyword.Namespace */ +.codehilite.sas .kp { color: #2C2CFF } /* Keyword.Pseudo */ +.codehilite.sas .kr { color: #353580; font-weight: bold } /* Keyword.Reserved */ +.codehilite.sas .kt { color: #2C2CFF } /* Keyword.Type */ +.codehilite.sas .m { color: #2C8553; font-weight: bold } /* Literal.Number */ +.codehilite.sas .s { color: #800080 } /* Literal.String */ +.codehilite.sas .nb { color: #2C2CFF } /* Name.Builtin */ +.codehilite.sas .nf { font-weight: bold; font-style: italic } /* Name.Function */ +.codehilite.sas .nv { color: #2C2CFF; font-weight: bold } /* Name.Variable */ +.codehilite.sas .w { color: #BBB } /* Text.Whitespace */ +.codehilite.sas .mb { color: #2C8553; font-weight: bold } /* Literal.Number.Bin */ +.codehilite.sas .mf { color: #2C8553; font-weight: bold } /* Literal.Number.Float */ +.codehilite.sas .mh { color: #2C8553; font-weight: bold } /* Literal.Number.Hex */ +.codehilite.sas .mi { color: #2C8553; font-weight: bold } /* Literal.Number.Integer */ +.codehilite.sas .mo { color: #2C8553; font-weight: bold } /* Literal.Number.Oct */ +.codehilite.sas .sa { color: #800080 } /* Literal.String.Affix */ +.codehilite.sas .sb { color: #800080 } /* Literal.String.Backtick */ +.codehilite.sas .sc { color: #800080 } /* Literal.String.Char */ +.codehilite.sas .dl { color: #800080 } /* Literal.String.Delimiter */ +.codehilite.sas .sd { color: #800080 } /* Literal.String.Doc */ +.codehilite.sas .s2 { color: #800080 } /* Literal.String.Double */ +.codehilite.sas .se { color: #800080 } /* Literal.String.Escape */ +.codehilite.sas .sh { color: #800080 } /* Literal.String.Heredoc */ +.codehilite.sas .si { color: #800080 } /* Literal.String.Interpol */ +.codehilite.sas .sx { color: #800080 } /* Literal.String.Other */ +.codehilite.sas .sr { color: #800080 } /* Literal.String.Regex */ +.codehilite.sas .s1 { color: #800080 } /* Literal.String.Single */ +.codehilite.sas .ss { color: #800080 } /* Literal.String.Symbol */ +.codehilite.sas .bp { color: #2C2CFF } /* Name.Builtin.Pseudo */ +.codehilite.sas .fm { font-weight: bold; font-style: italic } /* Name.Function.Magic */ +.codehilite.sas .vc { color: #2C2CFF; font-weight: bold } /* Name.Variable.Class */ +.codehilite.sas .vg { color: #2C2CFF; font-weight: bold } /* Name.Variable.Global */ +.codehilite.sas .vi { color: #2C2CFF; font-weight: bold } /* Name.Variable.Instance */ +.codehilite.sas .vm { color: #2C2CFF; font-weight: bold } /* Name.Variable.Magic */ +.codehilite.sas .il { color: #2C8553; font-weight: bold } /* Literal.Number.Integer.Long */ +.codehilite.solarized-dark .hll { background-color: #073642 } +.codehilite.solarized-dark { background: #002b36; color: #839496 } +.codehilite.solarized-dark .c { color: #586E75; font-style: italic } /* Comment */ +.codehilite.solarized-dark .err { color: #839496; background-color: #DC322F } /* Error */ +.codehilite.solarized-dark .esc { color: #839496 } /* Escape */ +.codehilite.solarized-dark .g { color: #839496 } /* Generic */ +.codehilite.solarized-dark .k { color: #859900 } /* Keyword */ +.codehilite.solarized-dark .l { color: #839496 } /* Literal */ +.codehilite.solarized-dark .n { color: #839496 } /* Name */ +.codehilite.solarized-dark .o { color: #586E75 } /* Operator */ +.codehilite.solarized-dark .x { color: #839496 } /* Other */ +.codehilite.solarized-dark .p { color: #839496 } /* Punctuation */ +.codehilite.solarized-dark .ch { color: #586E75; font-style: italic } /* Comment.Hashbang */ +.codehilite.solarized-dark .cm { color: #586E75; font-style: italic } /* Comment.Multiline */ +.codehilite.solarized-dark .cp { color: #D33682 } /* Comment.Preproc */ +.codehilite.solarized-dark .cpf { color: #586E75 } /* Comment.PreprocFile */ +.codehilite.solarized-dark .c1 { color: #586E75; font-style: italic } /* Comment.Single */ +.codehilite.solarized-dark .cs { color: #586E75; font-style: italic } /* Comment.Special */ +.codehilite.solarized-dark .gd { color: #DC322F } /* Generic.Deleted */ +.codehilite.solarized-dark .ge { color: #839496; font-style: italic } /* Generic.Emph */ +.codehilite.solarized-dark .ges { color: #839496; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite.solarized-dark .gr { color: #DC322F } /* Generic.Error */ +.codehilite.solarized-dark .gh { color: #839496; font-weight: bold } /* Generic.Heading */ +.codehilite.solarized-dark .gi { color: #859900 } /* Generic.Inserted */ +.codehilite.solarized-dark .go { color: #839496 } /* Generic.Output */ +.codehilite.solarized-dark .gp { color: #268BD2; font-weight: bold } /* Generic.Prompt */ +.codehilite.solarized-dark .gs { color: #839496; font-weight: bold } /* Generic.Strong */ +.codehilite.solarized-dark .gu { color: #839496; text-decoration: underline } /* Generic.Subheading */ +.codehilite.solarized-dark .gt { color: #268BD2 } /* Generic.Traceback */ +.codehilite.solarized-dark .kc { color: #2AA198 } /* Keyword.Constant */ +.codehilite.solarized-dark .kd { color: #2AA198 } /* Keyword.Declaration */ +.codehilite.solarized-dark .kn { color: #CB4B16 } /* Keyword.Namespace */ +.codehilite.solarized-dark .kp { color: #859900 } /* Keyword.Pseudo */ +.codehilite.solarized-dark .kr { color: #859900 } /* Keyword.Reserved */ +.codehilite.solarized-dark .kt { color: #B58900 } /* Keyword.Type */ +.codehilite.solarized-dark .ld { color: #839496 } /* Literal.Date */ +.codehilite.solarized-dark .m { color: #2AA198 } /* Literal.Number */ +.codehilite.solarized-dark .s { color: #2AA198 } /* Literal.String */ +.codehilite.solarized-dark .na { color: #839496 } /* Name.Attribute */ +.codehilite.solarized-dark .nb { color: #268BD2 } /* Name.Builtin */ +.codehilite.solarized-dark .nc { color: #268BD2 } /* Name.Class */ +.codehilite.solarized-dark .no { color: #268BD2 } /* Name.Constant */ +.codehilite.solarized-dark .nd { color: #268BD2 } /* Name.Decorator */ +.codehilite.solarized-dark .ni { color: #268BD2 } /* Name.Entity */ +.codehilite.solarized-dark .ne { color: #268BD2 } /* Name.Exception */ +.codehilite.solarized-dark .nf { color: #268BD2 } /* Name.Function */ +.codehilite.solarized-dark .nl { color: #268BD2 } /* Name.Label */ +.codehilite.solarized-dark .nn { color: #268BD2 } /* Name.Namespace */ +.codehilite.solarized-dark .nx { color: #839496 } /* Name.Other */ +.codehilite.solarized-dark .py { color: #839496 } /* Name.Property */ +.codehilite.solarized-dark .nt { color: #268BD2 } /* Name.Tag */ +.codehilite.solarized-dark .nv { color: #268BD2 } /* Name.Variable */ +.codehilite.solarized-dark .ow { color: #859900 } /* Operator.Word */ +.codehilite.solarized-dark .pm { color: #839496 } /* Punctuation.Marker */ +.codehilite.solarized-dark .w { color: #839496 } /* Text.Whitespace */ +.codehilite.solarized-dark .mb { color: #2AA198 } /* Literal.Number.Bin */ +.codehilite.solarized-dark .mf { color: #2AA198 } /* Literal.Number.Float */ +.codehilite.solarized-dark .mh { color: #2AA198 } /* Literal.Number.Hex */ +.codehilite.solarized-dark .mi { color: #2AA198 } /* Literal.Number.Integer */ +.codehilite.solarized-dark .mo { color: #2AA198 } /* Literal.Number.Oct */ +.codehilite.solarized-dark .sa { color: #2AA198 } /* Literal.String.Affix */ +.codehilite.solarized-dark .sb { color: #2AA198 } /* Literal.String.Backtick */ +.codehilite.solarized-dark .sc { color: #2AA198 } /* Literal.String.Char */ +.codehilite.solarized-dark .dl { color: #2AA198 } /* Literal.String.Delimiter */ +.codehilite.solarized-dark .sd { color: #586E75 } /* Literal.String.Doc */ +.codehilite.solarized-dark .s2 { color: #2AA198 } /* Literal.String.Double */ +.codehilite.solarized-dark .se { color: #2AA198 } /* Literal.String.Escape */ +.codehilite.solarized-dark .sh { color: #2AA198 } /* Literal.String.Heredoc */ +.codehilite.solarized-dark .si { color: #2AA198 } /* Literal.String.Interpol */ +.codehilite.solarized-dark .sx { color: #2AA198 } /* Literal.String.Other */ +.codehilite.solarized-dark .sr { color: #CB4B16 } /* Literal.String.Regex */ +.codehilite.solarized-dark .s1 { color: #2AA198 } /* Literal.String.Single */ +.codehilite.solarized-dark .ss { color: #2AA198 } /* Literal.String.Symbol */ +.codehilite.solarized-dark .bp { color: #268BD2 } /* Name.Builtin.Pseudo */ +.codehilite.solarized-dark .fm { color: #268BD2 } /* Name.Function.Magic */ +.codehilite.solarized-dark .vc { color: #268BD2 } /* Name.Variable.Class */ +.codehilite.solarized-dark .vg { color: #268BD2 } /* Name.Variable.Global */ +.codehilite.solarized-dark .vi { color: #268BD2 } /* Name.Variable.Instance */ +.codehilite.solarized-dark .vm { color: #268BD2 } /* Name.Variable.Magic */ +.codehilite.solarized-dark .il { color: #2AA198 } /* Literal.Number.Integer.Long */ +.codehilite.solarized-light .hll { background-color: #eee8d5 } +.codehilite.solarized-light { background: #fdf6e3; color: #657B83 } +.codehilite.solarized-light .c { color: #93A1A1; font-style: italic } /* Comment */ +.codehilite.solarized-light .err { color: #657B83; background-color: #DC322F } /* Error */ +.codehilite.solarized-light .esc { color: #657B83 } /* Escape */ +.codehilite.solarized-light .g { color: #657B83 } /* Generic */ +.codehilite.solarized-light .k { color: #859900 } /* Keyword */ +.codehilite.solarized-light .l { color: #657B83 } /* Literal */ +.codehilite.solarized-light .n { color: #657B83 } /* Name */ +.codehilite.solarized-light .o { color: #93A1A1 } /* Operator */ +.codehilite.solarized-light .x { color: #657B83 } /* Other */ +.codehilite.solarized-light .p { color: #657B83 } /* Punctuation */ +.codehilite.solarized-light .ch { color: #93A1A1; font-style: italic } /* Comment.Hashbang */ +.codehilite.solarized-light .cm { color: #93A1A1; font-style: italic } /* Comment.Multiline */ +.codehilite.solarized-light .cp { color: #D33682 } /* Comment.Preproc */ +.codehilite.solarized-light .cpf { color: #93A1A1 } /* Comment.PreprocFile */ +.codehilite.solarized-light .c1 { color: #93A1A1; font-style: italic } /* Comment.Single */ +.codehilite.solarized-light .cs { color: #93A1A1; font-style: italic } /* Comment.Special */ +.codehilite.solarized-light .gd { color: #DC322F } /* Generic.Deleted */ +.codehilite.solarized-light .ge { color: #657B83; font-style: italic } /* Generic.Emph */ +.codehilite.solarized-light .ges { color: #657B83; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite.solarized-light .gr { color: #DC322F } /* Generic.Error */ +.codehilite.solarized-light .gh { color: #657B83; font-weight: bold } /* Generic.Heading */ +.codehilite.solarized-light .gi { color: #859900 } /* Generic.Inserted */ +.codehilite.solarized-light .go { color: #657B83 } /* Generic.Output */ +.codehilite.solarized-light .gp { color: #268BD2; font-weight: bold } /* Generic.Prompt */ +.codehilite.solarized-light .gs { color: #657B83; font-weight: bold } /* Generic.Strong */ +.codehilite.solarized-light .gu { color: #657B83; text-decoration: underline } /* Generic.Subheading */ +.codehilite.solarized-light .gt { color: #268BD2 } /* Generic.Traceback */ +.codehilite.solarized-light .kc { color: #2AA198 } /* Keyword.Constant */ +.codehilite.solarized-light .kd { color: #2AA198 } /* Keyword.Declaration */ +.codehilite.solarized-light .kn { color: #CB4B16 } /* Keyword.Namespace */ +.codehilite.solarized-light .kp { color: #859900 } /* Keyword.Pseudo */ +.codehilite.solarized-light .kr { color: #859900 } /* Keyword.Reserved */ +.codehilite.solarized-light .kt { color: #B58900 } /* Keyword.Type */ +.codehilite.solarized-light .ld { color: #657B83 } /* Literal.Date */ +.codehilite.solarized-light .m { color: #2AA198 } /* Literal.Number */ +.codehilite.solarized-light .s { color: #2AA198 } /* Literal.String */ +.codehilite.solarized-light .na { color: #657B83 } /* Name.Attribute */ +.codehilite.solarized-light .nb { color: #268BD2 } /* Name.Builtin */ +.codehilite.solarized-light .nc { color: #268BD2 } /* Name.Class */ +.codehilite.solarized-light .no { color: #268BD2 } /* Name.Constant */ +.codehilite.solarized-light .nd { color: #268BD2 } /* Name.Decorator */ +.codehilite.solarized-light .ni { color: #268BD2 } /* Name.Entity */ +.codehilite.solarized-light .ne { color: #268BD2 } /* Name.Exception */ +.codehilite.solarized-light .nf { color: #268BD2 } /* Name.Function */ +.codehilite.solarized-light .nl { color: #268BD2 } /* Name.Label */ +.codehilite.solarized-light .nn { color: #268BD2 } /* Name.Namespace */ +.codehilite.solarized-light .nx { color: #657B83 } /* Name.Other */ +.codehilite.solarized-light .py { color: #657B83 } /* Name.Property */ +.codehilite.solarized-light .nt { color: #268BD2 } /* Name.Tag */ +.codehilite.solarized-light .nv { color: #268BD2 } /* Name.Variable */ +.codehilite.solarized-light .ow { color: #859900 } /* Operator.Word */ +.codehilite.solarized-light .pm { color: #657B83 } /* Punctuation.Marker */ +.codehilite.solarized-light .w { color: #657B83 } /* Text.Whitespace */ +.codehilite.solarized-light .mb { color: #2AA198 } /* Literal.Number.Bin */ +.codehilite.solarized-light .mf { color: #2AA198 } /* Literal.Number.Float */ +.codehilite.solarized-light .mh { color: #2AA198 } /* Literal.Number.Hex */ +.codehilite.solarized-light .mi { color: #2AA198 } /* Literal.Number.Integer */ +.codehilite.solarized-light .mo { color: #2AA198 } /* Literal.Number.Oct */ +.codehilite.solarized-light .sa { color: #2AA198 } /* Literal.String.Affix */ +.codehilite.solarized-light .sb { color: #2AA198 } /* Literal.String.Backtick */ +.codehilite.solarized-light .sc { color: #2AA198 } /* Literal.String.Char */ +.codehilite.solarized-light .dl { color: #2AA198 } /* Literal.String.Delimiter */ +.codehilite.solarized-light .sd { color: #93A1A1 } /* Literal.String.Doc */ +.codehilite.solarized-light .s2 { color: #2AA198 } /* Literal.String.Double */ +.codehilite.solarized-light .se { color: #2AA198 } /* Literal.String.Escape */ +.codehilite.solarized-light .sh { color: #2AA198 } /* Literal.String.Heredoc */ +.codehilite.solarized-light .si { color: #2AA198 } /* Literal.String.Interpol */ +.codehilite.solarized-light .sx { color: #2AA198 } /* Literal.String.Other */ +.codehilite.solarized-light .sr { color: #CB4B16 } /* Literal.String.Regex */ +.codehilite.solarized-light .s1 { color: #2AA198 } /* Literal.String.Single */ +.codehilite.solarized-light .ss { color: #2AA198 } /* Literal.String.Symbol */ +.codehilite.solarized-light .bp { color: #268BD2 } /* Name.Builtin.Pseudo */ +.codehilite.solarized-light .fm { color: #268BD2 } /* Name.Function.Magic */ +.codehilite.solarized-light .vc { color: #268BD2 } /* Name.Variable.Class */ +.codehilite.solarized-light .vg { color: #268BD2 } /* Name.Variable.Global */ +.codehilite.solarized-light .vi { color: #268BD2 } /* Name.Variable.Instance */ +.codehilite.solarized-light .vm { color: #268BD2 } /* Name.Variable.Magic */ +.codehilite.solarized-light .il { color: #2AA198 } /* Literal.Number.Integer.Long */ +.codehilite.staroffice .hll { background-color: #ffffcc } +.codehilite.staroffice { background: #ffffff; color: #000080 } +.codehilite.staroffice .c { color: #696969 } /* Comment */ +.codehilite.staroffice .err { color: #800000 } /* Error */ +.codehilite.staroffice .esc { color: #000080 } /* Escape */ +.codehilite.staroffice .g { color: #000080 } /* Generic */ +.codehilite.staroffice .k { color: #000080 } /* Keyword */ +.codehilite.staroffice .l { color: #E00 } /* Literal */ +.codehilite.staroffice .n { color: #008000 } /* Name */ +.codehilite.staroffice .o { color: #000080 } /* Operator */ +.codehilite.staroffice .x { color: #000080 } /* Other */ +.codehilite.staroffice .p { color: #000080 } /* Punctuation */ +.codehilite.staroffice .ch { color: #696969 } /* Comment.Hashbang */ +.codehilite.staroffice .cm { color: #696969 } /* Comment.Multiline */ +.codehilite.staroffice .cp { color: #696969 } /* Comment.Preproc */ +.codehilite.staroffice .cpf { color: #696969 } /* Comment.PreprocFile */ +.codehilite.staroffice .c1 { color: #696969 } /* Comment.Single */ +.codehilite.staroffice .cs { color: #696969 } /* Comment.Special */ +.codehilite.staroffice .gd { color: #000080 } /* Generic.Deleted */ +.codehilite.staroffice .ge { color: #000080 } /* Generic.Emph */ +.codehilite.staroffice .ges { color: #000080 } /* Generic.EmphStrong */ +.codehilite.staroffice .gr { color: #000080 } /* Generic.Error */ +.codehilite.staroffice .gh { color: #000080 } /* Generic.Heading */ +.codehilite.staroffice .gi { color: #000080 } /* Generic.Inserted */ +.codehilite.staroffice .go { color: #000080 } /* Generic.Output */ +.codehilite.staroffice .gp { color: #000080 } /* Generic.Prompt */ +.codehilite.staroffice .gs { color: #000080 } /* Generic.Strong */ +.codehilite.staroffice .gu { color: #000080 } /* Generic.Subheading */ +.codehilite.staroffice .gt { color: #000080 } /* Generic.Traceback */ +.codehilite.staroffice .kc { color: #000080 } /* Keyword.Constant */ +.codehilite.staroffice .kd { color: #000080 } /* Keyword.Declaration */ +.codehilite.staroffice .kn { color: #000080 } /* Keyword.Namespace */ +.codehilite.staroffice .kp { color: #000080 } /* Keyword.Pseudo */ +.codehilite.staroffice .kr { color: #000080 } /* Keyword.Reserved */ +.codehilite.staroffice .kt { color: #000080 } /* Keyword.Type */ +.codehilite.staroffice .ld { color: #E00 } /* Literal.Date */ +.codehilite.staroffice .m { color: #E00 } /* Literal.Number */ +.codehilite.staroffice .s { color: #E00 } /* Literal.String */ +.codehilite.staroffice .na { color: #008000 } /* Name.Attribute */ +.codehilite.staroffice .nb { color: #008000 } /* Name.Builtin */ +.codehilite.staroffice .nc { color: #008000 } /* Name.Class */ +.codehilite.staroffice .no { color: #008000 } /* Name.Constant */ +.codehilite.staroffice .nd { color: #008000 } /* Name.Decorator */ +.codehilite.staroffice .ni { color: #008000 } /* Name.Entity */ +.codehilite.staroffice .ne { color: #008000 } /* Name.Exception */ +.codehilite.staroffice .nf { color: #008000 } /* Name.Function */ +.codehilite.staroffice .nl { color: #008000 } /* Name.Label */ +.codehilite.staroffice .nn { color: #008000 } /* Name.Namespace */ +.codehilite.staroffice .nx { color: #008000 } /* Name.Other */ +.codehilite.staroffice .py { color: #008000 } /* Name.Property */ +.codehilite.staroffice .nt { color: #008000 } /* Name.Tag */ +.codehilite.staroffice .nv { color: #008000 } /* Name.Variable */ +.codehilite.staroffice .ow { color: #000080 } /* Operator.Word */ +.codehilite.staroffice .pm { color: #000080 } /* Punctuation.Marker */ +.codehilite.staroffice .w { color: #000080 } /* Text.Whitespace */ +.codehilite.staroffice .mb { color: #E00 } /* Literal.Number.Bin */ +.codehilite.staroffice .mf { color: #E00 } /* Literal.Number.Float */ +.codehilite.staroffice .mh { color: #E00 } /* Literal.Number.Hex */ +.codehilite.staroffice .mi { color: #E00 } /* Literal.Number.Integer */ +.codehilite.staroffice .mo { color: #E00 } /* Literal.Number.Oct */ +.codehilite.staroffice .sa { color: #E00 } /* Literal.String.Affix */ +.codehilite.staroffice .sb { color: #E00 } /* Literal.String.Backtick */ +.codehilite.staroffice .sc { color: #E00 } /* Literal.String.Char */ +.codehilite.staroffice .dl { color: #E00 } /* Literal.String.Delimiter */ +.codehilite.staroffice .sd { color: #E00 } /* Literal.String.Doc */ +.codehilite.staroffice .s2 { color: #E00 } /* Literal.String.Double */ +.codehilite.staroffice .se { color: #E00 } /* Literal.String.Escape */ +.codehilite.staroffice .sh { color: #E00 } /* Literal.String.Heredoc */ +.codehilite.staroffice .si { color: #E00 } /* Literal.String.Interpol */ +.codehilite.staroffice .sx { color: #E00 } /* Literal.String.Other */ +.codehilite.staroffice .sr { color: #E00 } /* Literal.String.Regex */ +.codehilite.staroffice .s1 { color: #E00 } /* Literal.String.Single */ +.codehilite.staroffice .ss { color: #E00 } /* Literal.String.Symbol */ +.codehilite.staroffice .bp { color: #008000 } /* Name.Builtin.Pseudo */ +.codehilite.staroffice .fm { color: #008000 } /* Name.Function.Magic */ +.codehilite.staroffice .vc { color: #008000 } /* Name.Variable.Class */ +.codehilite.staroffice .vg { color: #008000 } /* Name.Variable.Global */ +.codehilite.staroffice .vi { color: #008000 } /* Name.Variable.Instance */ +.codehilite.staroffice .vm { color: #008000 } /* Name.Variable.Magic */ +.codehilite.staroffice .il { color: #E00 } /* Literal.Number.Integer.Long */ +.codehilite.stata-dark .hll { background-color: #49483e } +.codehilite.stata-dark { background: #232629; color: #CCC } +.codehilite.stata-dark .c { color: #777; font-style: italic } /* Comment */ +.codehilite.stata-dark .err { color: #A61717; background-color: #E3D2D2 } /* Error */ +.codehilite.stata-dark .esc { color: #CCC } /* Escape */ +.codehilite.stata-dark .g { color: #CCC } /* Generic */ +.codehilite.stata-dark .k { color: #7686BB; font-weight: bold } /* Keyword */ +.codehilite.stata-dark .l { color: #CCC } /* Literal */ +.codehilite.stata-dark .n { color: #CCC } /* Name */ +.codehilite.stata-dark .o { color: #CCC } /* Operator */ +.codehilite.stata-dark .x { color: #CCC } /* Other */ +.codehilite.stata-dark .p { color: #CCC } /* Punctuation */ +.codehilite.stata-dark .ch { color: #777; font-style: italic } /* Comment.Hashbang */ +.codehilite.stata-dark .cm { color: #777; font-style: italic } /* Comment.Multiline */ +.codehilite.stata-dark .cp { color: #777; font-style: italic } /* Comment.Preproc */ +.codehilite.stata-dark .cpf { color: #777; font-style: italic } /* Comment.PreprocFile */ +.codehilite.stata-dark .c1 { color: #777; font-style: italic } /* Comment.Single */ +.codehilite.stata-dark .cs { color: #777; font-style: italic } /* Comment.Special */ +.codehilite.stata-dark .gd { color: #CCC } /* Generic.Deleted */ +.codehilite.stata-dark .ge { color: #CCC } /* Generic.Emph */ +.codehilite.stata-dark .ges { color: #CCC } /* Generic.EmphStrong */ +.codehilite.stata-dark .gr { color: #CCC } /* Generic.Error */ +.codehilite.stata-dark .gh { color: #CCC } /* Generic.Heading */ +.codehilite.stata-dark .gi { color: #CCC } /* Generic.Inserted */ +.codehilite.stata-dark .go { color: #CCC } /* Generic.Output */ +.codehilite.stata-dark .gp { color: #FFF } /* Generic.Prompt */ +.codehilite.stata-dark .gs { color: #CCC } /* Generic.Strong */ +.codehilite.stata-dark .gu { color: #CCC } /* Generic.Subheading */ +.codehilite.stata-dark .gt { color: #CCC } /* Generic.Traceback */ +.codehilite.stata-dark .kc { color: #7686BB; font-weight: bold } /* Keyword.Constant */ +.codehilite.stata-dark .kd { color: #7686BB; font-weight: bold } /* Keyword.Declaration */ +.codehilite.stata-dark .kn { color: #7686BB; font-weight: bold } /* Keyword.Namespace */ +.codehilite.stata-dark .kp { color: #7686BB; font-weight: bold } /* Keyword.Pseudo */ +.codehilite.stata-dark .kr { color: #7686BB; font-weight: bold } /* Keyword.Reserved */ +.codehilite.stata-dark .kt { color: #7686BB; font-weight: bold } /* Keyword.Type */ +.codehilite.stata-dark .ld { color: #CCC } /* Literal.Date */ +.codehilite.stata-dark .m { color: #4FB8CC } /* Literal.Number */ +.codehilite.stata-dark .s { color: #51CC99 } /* Literal.String */ +.codehilite.stata-dark .na { color: #CCC } /* Name.Attribute */ +.codehilite.stata-dark .nb { color: #CCC } /* Name.Builtin */ +.codehilite.stata-dark .nc { color: #CCC } /* Name.Class */ +.codehilite.stata-dark .no { color: #CCC } /* Name.Constant */ +.codehilite.stata-dark .nd { color: #CCC } /* Name.Decorator */ +.codehilite.stata-dark .ni { color: #CCC } /* Name.Entity */ +.codehilite.stata-dark .ne { color: #CCC } /* Name.Exception */ +.codehilite.stata-dark .nf { color: #6A6AFF } /* Name.Function */ +.codehilite.stata-dark .nl { color: #CCC } /* Name.Label */ +.codehilite.stata-dark .nn { color: #CCC } /* Name.Namespace */ +.codehilite.stata-dark .nx { color: #E2828E } /* Name.Other */ +.codehilite.stata-dark .py { color: #CCC } /* Name.Property */ +.codehilite.stata-dark .nt { color: #CCC } /* Name.Tag */ +.codehilite.stata-dark .nv { color: #7AB4DB; font-weight: bold } /* Name.Variable */ +.codehilite.stata-dark .ow { color: #CCC } /* Operator.Word */ +.codehilite.stata-dark .pm { color: #CCC } /* Punctuation.Marker */ +.codehilite.stata-dark .w { color: #BBB } /* Text.Whitespace */ +.codehilite.stata-dark .mb { color: #4FB8CC } /* Literal.Number.Bin */ +.codehilite.stata-dark .mf { color: #4FB8CC } /* Literal.Number.Float */ +.codehilite.stata-dark .mh { color: #4FB8CC } /* Literal.Number.Hex */ +.codehilite.stata-dark .mi { color: #4FB8CC } /* Literal.Number.Integer */ +.codehilite.stata-dark .mo { color: #4FB8CC } /* Literal.Number.Oct */ +.codehilite.stata-dark .sa { color: #51CC99 } /* Literal.String.Affix */ +.codehilite.stata-dark .sb { color: #51CC99 } /* Literal.String.Backtick */ +.codehilite.stata-dark .sc { color: #51CC99 } /* Literal.String.Char */ +.codehilite.stata-dark .dl { color: #51CC99 } /* Literal.String.Delimiter */ +.codehilite.stata-dark .sd { color: #51CC99 } /* Literal.String.Doc */ +.codehilite.stata-dark .s2 { color: #51CC99 } /* Literal.String.Double */ +.codehilite.stata-dark .se { color: #51CC99 } /* Literal.String.Escape */ +.codehilite.stata-dark .sh { color: #51CC99 } /* Literal.String.Heredoc */ +.codehilite.stata-dark .si { color: #51CC99 } /* Literal.String.Interpol */ +.codehilite.stata-dark .sx { color: #51CC99 } /* Literal.String.Other */ +.codehilite.stata-dark .sr { color: #51CC99 } /* Literal.String.Regex */ +.codehilite.stata-dark .s1 { color: #51CC99 } /* Literal.String.Single */ +.codehilite.stata-dark .ss { color: #51CC99 } /* Literal.String.Symbol */ +.codehilite.stata-dark .bp { color: #CCC } /* Name.Builtin.Pseudo */ +.codehilite.stata-dark .fm { color: #6A6AFF } /* Name.Function.Magic */ +.codehilite.stata-dark .vc { color: #7AB4DB; font-weight: bold } /* Name.Variable.Class */ +.codehilite.stata-dark .vg { color: #BE646C; font-weight: bold } /* Name.Variable.Global */ +.codehilite.stata-dark .vi { color: #7AB4DB; font-weight: bold } /* Name.Variable.Instance */ +.codehilite.stata-dark .vm { color: #7AB4DB; font-weight: bold } /* Name.Variable.Magic */ +.codehilite.stata-dark .il { color: #4FB8CC } /* Literal.Number.Integer.Long */ +.codehilite.stata-light .hll { background-color: #ffffcc } +.codehilite.stata-light { background: #ffffff; color: #111 } +.codehilite.stata-light .c { color: #080; font-style: italic } /* Comment */ +.codehilite.stata-light .err { color: #A61717; background-color: #E3D2D2 } /* Error */ +.codehilite.stata-light .k { color: #353580; font-weight: bold } /* Keyword */ +.codehilite.stata-light .ch { color: #080; font-style: italic } /* Comment.Hashbang */ +.codehilite.stata-light .cm { color: #080; font-style: italic } /* Comment.Multiline */ +.codehilite.stata-light .cp { color: #080; font-style: italic } /* Comment.Preproc */ +.codehilite.stata-light .cpf { color: #080; font-style: italic } /* Comment.PreprocFile */ +.codehilite.stata-light .c1 { color: #080; font-style: italic } /* Comment.Single */ +.codehilite.stata-light .cs { color: #080; font-style: italic } /* Comment.Special */ +.codehilite.stata-light .kc { color: #353580; font-weight: bold } /* Keyword.Constant */ +.codehilite.stata-light .kd { color: #353580; font-weight: bold } /* Keyword.Declaration */ +.codehilite.stata-light .kn { color: #353580; font-weight: bold } /* Keyword.Namespace */ +.codehilite.stata-light .kp { color: #353580; font-weight: bold } /* Keyword.Pseudo */ +.codehilite.stata-light .kr { color: #353580; font-weight: bold } /* Keyword.Reserved */ +.codehilite.stata-light .kt { color: #353580; font-weight: bold } /* Keyword.Type */ +.codehilite.stata-light .m { color: #2C2CFF } /* Literal.Number */ +.codehilite.stata-light .s { color: #7A2424 } /* Literal.String */ +.codehilite.stata-light .nf { color: #2C2CFF } /* Name.Function */ +.codehilite.stata-light .nx { color: #BE646C } /* Name.Other */ +.codehilite.stata-light .nv { color: #35BABA; font-weight: bold } /* Name.Variable */ +.codehilite.stata-light .w { color: #BBB } /* Text.Whitespace */ +.codehilite.stata-light .mb { color: #2C2CFF } /* Literal.Number.Bin */ +.codehilite.stata-light .mf { color: #2C2CFF } /* Literal.Number.Float */ +.codehilite.stata-light .mh { color: #2C2CFF } /* Literal.Number.Hex */ +.codehilite.stata-light .mi { color: #2C2CFF } /* Literal.Number.Integer */ +.codehilite.stata-light .mo { color: #2C2CFF } /* Literal.Number.Oct */ +.codehilite.stata-light .sa { color: #7A2424 } /* Literal.String.Affix */ +.codehilite.stata-light .sb { color: #7A2424 } /* Literal.String.Backtick */ +.codehilite.stata-light .sc { color: #7A2424 } /* Literal.String.Char */ +.codehilite.stata-light .dl { color: #7A2424 } /* Literal.String.Delimiter */ +.codehilite.stata-light .sd { color: #7A2424 } /* Literal.String.Doc */ +.codehilite.stata-light .s2 { color: #7A2424 } /* Literal.String.Double */ +.codehilite.stata-light .se { color: #7A2424 } /* Literal.String.Escape */ +.codehilite.stata-light .sh { color: #7A2424 } /* Literal.String.Heredoc */ +.codehilite.stata-light .si { color: #7A2424 } /* Literal.String.Interpol */ +.codehilite.stata-light .sx { color: #7A2424 } /* Literal.String.Other */ +.codehilite.stata-light .sr { color: #7A2424 } /* Literal.String.Regex */ +.codehilite.stata-light .s1 { color: #7A2424 } /* Literal.String.Single */ +.codehilite.stata-light .ss { color: #7A2424 } /* Literal.String.Symbol */ +.codehilite.stata-light .fm { color: #2C2CFF } /* Name.Function.Magic */ +.codehilite.stata-light .vc { color: #35BABA; font-weight: bold } /* Name.Variable.Class */ +.codehilite.stata-light .vg { color: #B5565E; font-weight: bold } /* Name.Variable.Global */ +.codehilite.stata-light .vi { color: #35BABA; font-weight: bold } /* Name.Variable.Instance */ +.codehilite.stata-light .vm { color: #35BABA; font-weight: bold } /* Name.Variable.Magic */ +.codehilite.stata-light .il { color: #2C2CFF } /* Literal.Number.Integer.Long */ +.codehilite.tango .hll { background-color: #ffffcc } +.codehilite.tango { background: #f8f8f8; } +.codehilite.tango .c { color: #8F5902; font-style: italic } /* Comment */ +.codehilite.tango .err { color: #A40000; border: 1px solid #EF2929 } /* Error */ +.codehilite.tango .g { color: #000 } /* Generic */ +.codehilite.tango .k { color: #204A87; font-weight: bold } /* Keyword */ +.codehilite.tango .l { color: #000 } /* Literal */ +.codehilite.tango .n { color: #000 } /* Name */ +.codehilite.tango .o { color: #CE5C00; font-weight: bold } /* Operator */ +.codehilite.tango .x { color: #000 } /* Other */ +.codehilite.tango .p { color: #000; font-weight: bold } /* Punctuation */ +.codehilite.tango .ch { color: #8F5902; font-style: italic } /* Comment.Hashbang */ +.codehilite.tango .cm { color: #8F5902; font-style: italic } /* Comment.Multiline */ +.codehilite.tango .cp { color: #8F5902; font-style: italic } /* Comment.Preproc */ +.codehilite.tango .cpf { color: #8F5902; font-style: italic } /* Comment.PreprocFile */ +.codehilite.tango .c1 { color: #8F5902; font-style: italic } /* Comment.Single */ +.codehilite.tango .cs { color: #8F5902; font-style: italic } /* Comment.Special */ +.codehilite.tango .gd { color: #A40000 } /* Generic.Deleted */ +.codehilite.tango .ge { color: #000; font-style: italic } /* Generic.Emph */ +.codehilite.tango .ges { color: #000; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite.tango .gr { color: #EF2929 } /* Generic.Error */ +.codehilite.tango .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.codehilite.tango .gi { color: #00A000 } /* Generic.Inserted */ +.codehilite.tango .go { color: #000; font-style: italic } /* Generic.Output */ +.codehilite.tango .gp { color: #8F5902 } /* Generic.Prompt */ +.codehilite.tango .gs { color: #000; font-weight: bold } /* Generic.Strong */ +.codehilite.tango .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.codehilite.tango .gt { color: #A40000; font-weight: bold } /* Generic.Traceback */ +.codehilite.tango .kc { color: #204A87; font-weight: bold } /* Keyword.Constant */ +.codehilite.tango .kd { color: #204A87; font-weight: bold } /* Keyword.Declaration */ +.codehilite.tango .kn { color: #204A87; font-weight: bold } /* Keyword.Namespace */ +.codehilite.tango .kp { color: #204A87; font-weight: bold } /* Keyword.Pseudo */ +.codehilite.tango .kr { color: #204A87; font-weight: bold } /* Keyword.Reserved */ +.codehilite.tango .kt { color: #204A87; font-weight: bold } /* Keyword.Type */ +.codehilite.tango .ld { color: #000 } /* Literal.Date */ +.codehilite.tango .m { color: #0000CF; font-weight: bold } /* Literal.Number */ +.codehilite.tango .s { color: #4E9A06 } /* Literal.String */ +.codehilite.tango .na { color: #C4A000 } /* Name.Attribute */ +.codehilite.tango .nb { color: #204A87 } /* Name.Builtin */ +.codehilite.tango .nc { color: #000 } /* Name.Class */ +.codehilite.tango .no { color: #000 } /* Name.Constant */ +.codehilite.tango .nd { color: #5C35CC; font-weight: bold } /* Name.Decorator */ +.codehilite.tango .ni { color: #CE5C00 } /* Name.Entity */ +.codehilite.tango .ne { color: #C00; font-weight: bold } /* Name.Exception */ +.codehilite.tango .nf { color: #000 } /* Name.Function */ +.codehilite.tango .nl { color: #F57900 } /* Name.Label */ +.codehilite.tango .nn { color: #000 } /* Name.Namespace */ +.codehilite.tango .nx { color: #000 } /* Name.Other */ +.codehilite.tango .py { color: #000 } /* Name.Property */ +.codehilite.tango .nt { color: #204A87; font-weight: bold } /* Name.Tag */ +.codehilite.tango .nv { color: #000 } /* Name.Variable */ +.codehilite.tango .ow { color: #204A87; font-weight: bold } /* Operator.Word */ +.codehilite.tango .pm { color: #000; font-weight: bold } /* Punctuation.Marker */ +.codehilite.tango .w { color: #F8F8F8 } /* Text.Whitespace */ +.codehilite.tango .mb { color: #0000CF; font-weight: bold } /* Literal.Number.Bin */ +.codehilite.tango .mf { color: #0000CF; font-weight: bold } /* Literal.Number.Float */ +.codehilite.tango .mh { color: #0000CF; font-weight: bold } /* Literal.Number.Hex */ +.codehilite.tango .mi { color: #0000CF; font-weight: bold } /* Literal.Number.Integer */ +.codehilite.tango .mo { color: #0000CF; font-weight: bold } /* Literal.Number.Oct */ +.codehilite.tango .sa { color: #4E9A06 } /* Literal.String.Affix */ +.codehilite.tango .sb { color: #4E9A06 } /* Literal.String.Backtick */ +.codehilite.tango .sc { color: #4E9A06 } /* Literal.String.Char */ +.codehilite.tango .dl { color: #4E9A06 } /* Literal.String.Delimiter */ +.codehilite.tango .sd { color: #8F5902; font-style: italic } /* Literal.String.Doc */ +.codehilite.tango .s2 { color: #4E9A06 } /* Literal.String.Double */ +.codehilite.tango .se { color: #4E9A06 } /* Literal.String.Escape */ +.codehilite.tango .sh { color: #4E9A06 } /* Literal.String.Heredoc */ +.codehilite.tango .si { color: #4E9A06 } /* Literal.String.Interpol */ +.codehilite.tango .sx { color: #4E9A06 } /* Literal.String.Other */ +.codehilite.tango .sr { color: #4E9A06 } /* Literal.String.Regex */ +.codehilite.tango .s1 { color: #4E9A06 } /* Literal.String.Single */ +.codehilite.tango .ss { color: #4E9A06 } /* Literal.String.Symbol */ +.codehilite.tango .bp { color: #3465A4 } /* Name.Builtin.Pseudo */ +.codehilite.tango .fm { color: #000 } /* Name.Function.Magic */ +.codehilite.tango .vc { color: #000 } /* Name.Variable.Class */ +.codehilite.tango .vg { color: #000 } /* Name.Variable.Global */ +.codehilite.tango .vi { color: #000 } /* Name.Variable.Instance */ +.codehilite.tango .vm { color: #000 } /* Name.Variable.Magic */ +.codehilite.tango .il { color: #0000CF; font-weight: bold } /* Literal.Number.Integer.Long */ +.codehilite.trac .hll { background-color: #ffffcc } +.codehilite.trac { background: #ffffff; } +.codehilite.trac .c { color: #998; font-style: italic } /* Comment */ +.codehilite.trac .err { color: #A61717; background-color: #E3D2D2 } /* Error */ +.codehilite.trac .k { font-weight: bold } /* Keyword */ +.codehilite.trac .o { font-weight: bold } /* Operator */ +.codehilite.trac .ch { color: #998; font-style: italic } /* Comment.Hashbang */ +.codehilite.trac .cm { color: #998; font-style: italic } /* Comment.Multiline */ +.codehilite.trac .cp { color: #999; font-weight: bold } /* Comment.Preproc */ +.codehilite.trac .cpf { color: #998; font-style: italic } /* Comment.PreprocFile */ +.codehilite.trac .c1 { color: #998; font-style: italic } /* Comment.Single */ +.codehilite.trac .cs { color: #999; font-weight: bold; font-style: italic } /* Comment.Special */ +.codehilite.trac .gd { color: #000; background-color: #FDD } /* Generic.Deleted */ +.codehilite.trac .ge { font-style: italic } /* Generic.Emph */ +.codehilite.trac .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite.trac .gr { color: #A00 } /* Generic.Error */ +.codehilite.trac .gh { color: #999 } /* Generic.Heading */ +.codehilite.trac .gi { color: #000; background-color: #DFD } /* Generic.Inserted */ +.codehilite.trac .go { color: #888 } /* Generic.Output */ +.codehilite.trac .gp { color: #555 } /* Generic.Prompt */ +.codehilite.trac .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.trac .gu { color: #AAA } /* Generic.Subheading */ +.codehilite.trac .gt { color: #A00 } /* Generic.Traceback */ +.codehilite.trac .kc { font-weight: bold } /* Keyword.Constant */ +.codehilite.trac .kd { font-weight: bold } /* Keyword.Declaration */ +.codehilite.trac .kn { font-weight: bold } /* Keyword.Namespace */ +.codehilite.trac .kp { font-weight: bold } /* Keyword.Pseudo */ +.codehilite.trac .kr { font-weight: bold } /* Keyword.Reserved */ +.codehilite.trac .kt { color: #458; font-weight: bold } /* Keyword.Type */ +.codehilite.trac .m { color: #099 } /* Literal.Number */ +.codehilite.trac .s { color: #B84 } /* Literal.String */ +.codehilite.trac .na { color: #008080 } /* Name.Attribute */ +.codehilite.trac .nb { color: #999 } /* Name.Builtin */ +.codehilite.trac .nc { color: #458; font-weight: bold } /* Name.Class */ +.codehilite.trac .no { color: #008080 } /* Name.Constant */ +.codehilite.trac .ni { color: #800080 } /* Name.Entity */ +.codehilite.trac .ne { color: #900; font-weight: bold } /* Name.Exception */ +.codehilite.trac .nf { color: #900; font-weight: bold } /* Name.Function */ +.codehilite.trac .nn { color: #555 } /* Name.Namespace */ +.codehilite.trac .nt { color: #000080 } /* Name.Tag */ +.codehilite.trac .nv { color: #008080 } /* Name.Variable */ +.codehilite.trac .ow { font-weight: bold } /* Operator.Word */ +.codehilite.trac .w { color: #BBB } /* Text.Whitespace */ +.codehilite.trac .mb { color: #099 } /* Literal.Number.Bin */ +.codehilite.trac .mf { color: #099 } /* Literal.Number.Float */ +.codehilite.trac .mh { color: #099 } /* Literal.Number.Hex */ +.codehilite.trac .mi { color: #099 } /* Literal.Number.Integer */ +.codehilite.trac .mo { color: #099 } /* Literal.Number.Oct */ +.codehilite.trac .sa { color: #B84 } /* Literal.String.Affix */ +.codehilite.trac .sb { color: #B84 } /* Literal.String.Backtick */ +.codehilite.trac .sc { color: #B84 } /* Literal.String.Char */ +.codehilite.trac .dl { color: #B84 } /* Literal.String.Delimiter */ +.codehilite.trac .sd { color: #B84 } /* Literal.String.Doc */ +.codehilite.trac .s2 { color: #B84 } /* Literal.String.Double */ +.codehilite.trac .se { color: #B84 } /* Literal.String.Escape */ +.codehilite.trac .sh { color: #B84 } /* Literal.String.Heredoc */ +.codehilite.trac .si { color: #B84 } /* Literal.String.Interpol */ +.codehilite.trac .sx { color: #B84 } /* Literal.String.Other */ +.codehilite.trac .sr { color: #808000 } /* Literal.String.Regex */ +.codehilite.trac .s1 { color: #B84 } /* Literal.String.Single */ +.codehilite.trac .ss { color: #B84 } /* Literal.String.Symbol */ +.codehilite.trac .bp { color: #999 } /* Name.Builtin.Pseudo */ +.codehilite.trac .fm { color: #900; font-weight: bold } /* Name.Function.Magic */ +.codehilite.trac .vc { color: #008080 } /* Name.Variable.Class */ +.codehilite.trac .vg { color: #008080 } /* Name.Variable.Global */ +.codehilite.trac .vi { color: #008080 } /* Name.Variable.Instance */ +.codehilite.trac .vm { color: #008080 } /* Name.Variable.Magic */ +.codehilite.trac .il { color: #099 } /* Literal.Number.Integer.Long */ +.codehilite.vim .hll { background-color: #222222 } +.codehilite.vim { background: #000000; color: #CCC } +.codehilite.vim .c { color: #000080 } /* Comment */ +.codehilite.vim .err { color: #CCC; border: 1px solid #F00 } /* Error */ +.codehilite.vim .esc { color: #CCC } /* Escape */ +.codehilite.vim .g { color: #CCC } /* Generic */ +.codehilite.vim .k { color: #CDCD00 } /* Keyword */ +.codehilite.vim .l { color: #CCC } /* Literal */ +.codehilite.vim .n { color: #CCC } /* Name */ +.codehilite.vim .o { color: #39C } /* Operator */ +.codehilite.vim .x { color: #CCC } /* Other */ +.codehilite.vim .p { color: #CCC } /* Punctuation */ +.codehilite.vim .ch { color: #000080 } /* Comment.Hashbang */ +.codehilite.vim .cm { color: #000080 } /* Comment.Multiline */ +.codehilite.vim .cp { color: #000080 } /* Comment.Preproc */ +.codehilite.vim .cpf { color: #000080 } /* Comment.PreprocFile */ +.codehilite.vim .c1 { color: #000080 } /* Comment.Single */ +.codehilite.vim .cs { color: #CD0000; font-weight: bold } /* Comment.Special */ +.codehilite.vim .gd { color: #CD0000 } /* Generic.Deleted */ +.codehilite.vim .ge { color: #CCC; font-style: italic } /* Generic.Emph */ +.codehilite.vim .ges { color: #CCC; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite.vim .gr { color: #F00 } /* Generic.Error */ +.codehilite.vim .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.codehilite.vim .gi { color: #00CD00 } /* Generic.Inserted */ +.codehilite.vim .go { color: #888 } /* Generic.Output */ +.codehilite.vim .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ +.codehilite.vim .gs { color: #CCC; font-weight: bold } /* Generic.Strong */ +.codehilite.vim .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.codehilite.vim .gt { color: #04D } /* Generic.Traceback */ +.codehilite.vim .kc { color: #CDCD00 } /* Keyword.Constant */ +.codehilite.vim .kd { color: #00CD00 } /* Keyword.Declaration */ +.codehilite.vim .kn { color: #CD00CD } /* Keyword.Namespace */ +.codehilite.vim .kp { color: #CDCD00 } /* Keyword.Pseudo */ +.codehilite.vim .kr { color: #CDCD00 } /* Keyword.Reserved */ +.codehilite.vim .kt { color: #00CD00 } /* Keyword.Type */ +.codehilite.vim .ld { color: #CCC } /* Literal.Date */ +.codehilite.vim .m { color: #CD00CD } /* Literal.Number */ +.codehilite.vim .s { color: #CD0000 } /* Literal.String */ +.codehilite.vim .na { color: #CCC } /* Name.Attribute */ +.codehilite.vim .nb { color: #CD00CD } /* Name.Builtin */ +.codehilite.vim .nc { color: #00CDCD } /* Name.Class */ +.codehilite.vim .no { color: #CCC } /* Name.Constant */ +.codehilite.vim .nd { color: #CCC } /* Name.Decorator */ +.codehilite.vim .ni { color: #CCC } /* Name.Entity */ +.codehilite.vim .ne { color: #669; font-weight: bold } /* Name.Exception */ +.codehilite.vim .nf { color: #CCC } /* Name.Function */ +.codehilite.vim .nl { color: #CCC } /* Name.Label */ +.codehilite.vim .nn { color: #CCC } /* Name.Namespace */ +.codehilite.vim .nx { color: #CCC } /* Name.Other */ +.codehilite.vim .py { color: #CCC } /* Name.Property */ +.codehilite.vim .nt { color: #CCC } /* Name.Tag */ +.codehilite.vim .nv { color: #00CDCD } /* Name.Variable */ +.codehilite.vim .ow { color: #CDCD00 } /* Operator.Word */ +.codehilite.vim .pm { color: #CCC } /* Punctuation.Marker */ +.codehilite.vim .w { color: #CCC } /* Text.Whitespace */ +.codehilite.vim .mb { color: #CD00CD } /* Literal.Number.Bin */ +.codehilite.vim .mf { color: #CD00CD } /* Literal.Number.Float */ +.codehilite.vim .mh { color: #CD00CD } /* Literal.Number.Hex */ +.codehilite.vim .mi { color: #CD00CD } /* Literal.Number.Integer */ +.codehilite.vim .mo { color: #CD00CD } /* Literal.Number.Oct */ +.codehilite.vim .sa { color: #CD0000 } /* Literal.String.Affix */ +.codehilite.vim .sb { color: #CD0000 } /* Literal.String.Backtick */ +.codehilite.vim .sc { color: #CD0000 } /* Literal.String.Char */ +.codehilite.vim .dl { color: #CD0000 } /* Literal.String.Delimiter */ +.codehilite.vim .sd { color: #CD0000 } /* Literal.String.Doc */ +.codehilite.vim .s2 { color: #CD0000 } /* Literal.String.Double */ +.codehilite.vim .se { color: #CD0000 } /* Literal.String.Escape */ +.codehilite.vim .sh { color: #CD0000 } /* Literal.String.Heredoc */ +.codehilite.vim .si { color: #CD0000 } /* Literal.String.Interpol */ +.codehilite.vim .sx { color: #CD0000 } /* Literal.String.Other */ +.codehilite.vim .sr { color: #CD0000 } /* Literal.String.Regex */ +.codehilite.vim .s1 { color: #CD0000 } /* Literal.String.Single */ +.codehilite.vim .ss { color: #CD0000 } /* Literal.String.Symbol */ +.codehilite.vim .bp { color: #CD00CD } /* Name.Builtin.Pseudo */ +.codehilite.vim .fm { color: #CCC } /* Name.Function.Magic */ +.codehilite.vim .vc { color: #00CDCD } /* Name.Variable.Class */ +.codehilite.vim .vg { color: #00CDCD } /* Name.Variable.Global */ +.codehilite.vim .vi { color: #00CDCD } /* Name.Variable.Instance */ +.codehilite.vim .vm { color: #00CDCD } /* Name.Variable.Magic */ +.codehilite.vim .il { color: #CD00CD } /* Literal.Number.Integer.Long */ +.codehilite.vs .hll { background-color: #ffffcc } +.codehilite.vs { background: #ffffff; } +.codehilite.vs .c { color: #008000 } /* Comment */ +.codehilite.vs .err { border: 1px solid #F00 } /* Error */ +.codehilite.vs .k { color: #00F } /* Keyword */ +.codehilite.vs .ch { color: #008000 } /* Comment.Hashbang */ +.codehilite.vs .cm { color: #008000 } /* Comment.Multiline */ +.codehilite.vs .cp { color: #00F } /* Comment.Preproc */ +.codehilite.vs .cpf { color: #008000 } /* Comment.PreprocFile */ +.codehilite.vs .c1 { color: #008000 } /* Comment.Single */ +.codehilite.vs .cs { color: #008000 } /* Comment.Special */ +.codehilite.vs .ge { font-style: italic } /* Generic.Emph */ +.codehilite.vs .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite.vs .gh { font-weight: bold } /* Generic.Heading */ +.codehilite.vs .gp { font-weight: bold } /* Generic.Prompt */ +.codehilite.vs .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.vs .gu { font-weight: bold } /* Generic.Subheading */ +.codehilite.vs .kc { color: #00F } /* Keyword.Constant */ +.codehilite.vs .kd { color: #00F } /* Keyword.Declaration */ +.codehilite.vs .kn { color: #00F } /* Keyword.Namespace */ +.codehilite.vs .kp { color: #00F } /* Keyword.Pseudo */ +.codehilite.vs .kr { color: #00F } /* Keyword.Reserved */ +.codehilite.vs .kt { color: #2B91AF } /* Keyword.Type */ +.codehilite.vs .s { color: #A31515 } /* Literal.String */ +.codehilite.vs .nc { color: #2B91AF } /* Name.Class */ +.codehilite.vs .ow { color: #00F } /* Operator.Word */ +.codehilite.vs .sa { color: #A31515 } /* Literal.String.Affix */ +.codehilite.vs .sb { color: #A31515 } /* Literal.String.Backtick */ +.codehilite.vs .sc { color: #A31515 } /* Literal.String.Char */ +.codehilite.vs .dl { color: #A31515 } /* Literal.String.Delimiter */ +.codehilite.vs .sd { color: #A31515 } /* Literal.String.Doc */ +.codehilite.vs .s2 { color: #A31515 } /* Literal.String.Double */ +.codehilite.vs .se { color: #A31515 } /* Literal.String.Escape */ +.codehilite.vs .sh { color: #A31515 } /* Literal.String.Heredoc */ +.codehilite.vs .si { color: #A31515 } /* Literal.String.Interpol */ +.codehilite.vs .sx { color: #A31515 } /* Literal.String.Other */ +.codehilite.vs .sr { color: #A31515 } /* Literal.String.Regex */ +.codehilite.vs .s1 { color: #A31515 } /* Literal.String.Single */ +.codehilite.vs .ss { color: #A31515 } /* Literal.String.Symbol */ +.codehilite.xcode .hll { background-color: #ffffcc } +.codehilite.xcode { background: #ffffff; } +.codehilite.xcode .c { color: #177500 } /* Comment */ +.codehilite.xcode .err { color: #000 } /* Error */ +.codehilite.xcode .k { color: #A90D91 } /* Keyword */ +.codehilite.xcode .l { color: #1C01CE } /* Literal */ +.codehilite.xcode .n { color: #000 } /* Name */ +.codehilite.xcode .o { color: #000 } /* Operator */ +.codehilite.xcode .ch { color: #177500 } /* Comment.Hashbang */ +.codehilite.xcode .cm { color: #177500 } /* Comment.Multiline */ +.codehilite.xcode .cp { color: #633820 } /* Comment.Preproc */ +.codehilite.xcode .cpf { color: #177500 } /* Comment.PreprocFile */ +.codehilite.xcode .c1 { color: #177500 } /* Comment.Single */ +.codehilite.xcode .cs { color: #177500 } /* Comment.Special */ +.codehilite.xcode .kc { color: #A90D91 } /* Keyword.Constant */ +.codehilite.xcode .kd { color: #A90D91 } /* Keyword.Declaration */ +.codehilite.xcode .kn { color: #A90D91 } /* Keyword.Namespace */ +.codehilite.xcode .kp { color: #A90D91 } /* Keyword.Pseudo */ +.codehilite.xcode .kr { color: #A90D91 } /* Keyword.Reserved */ +.codehilite.xcode .kt { color: #A90D91 } /* Keyword.Type */ +.codehilite.xcode .ld { color: #1C01CE } /* Literal.Date */ +.codehilite.xcode .m { color: #1C01CE } /* Literal.Number */ +.codehilite.xcode .s { color: #C41A16 } /* Literal.String */ +.codehilite.xcode .na { color: #836C28 } /* Name.Attribute */ +.codehilite.xcode .nb { color: #A90D91 } /* Name.Builtin */ +.codehilite.xcode .nc { color: #3F6E75 } /* Name.Class */ +.codehilite.xcode .no { color: #000 } /* Name.Constant */ +.codehilite.xcode .nd { color: #000 } /* Name.Decorator */ +.codehilite.xcode .ni { color: #000 } /* Name.Entity */ +.codehilite.xcode .ne { color: #000 } /* Name.Exception */ +.codehilite.xcode .nf { color: #000 } /* Name.Function */ +.codehilite.xcode .nl { color: #000 } /* Name.Label */ +.codehilite.xcode .nn { color: #000 } /* Name.Namespace */ +.codehilite.xcode .nx { color: #000 } /* Name.Other */ +.codehilite.xcode .py { color: #000 } /* Name.Property */ +.codehilite.xcode .nt { color: #000 } /* Name.Tag */ +.codehilite.xcode .nv { color: #000 } /* Name.Variable */ +.codehilite.xcode .ow { color: #000 } /* Operator.Word */ +.codehilite.xcode .mb { color: #1C01CE } /* Literal.Number.Bin */ +.codehilite.xcode .mf { color: #1C01CE } /* Literal.Number.Float */ +.codehilite.xcode .mh { color: #1C01CE } /* Literal.Number.Hex */ +.codehilite.xcode .mi { color: #1C01CE } /* Literal.Number.Integer */ +.codehilite.xcode .mo { color: #1C01CE } /* Literal.Number.Oct */ +.codehilite.xcode .sa { color: #C41A16 } /* Literal.String.Affix */ +.codehilite.xcode .sb { color: #C41A16 } /* Literal.String.Backtick */ +.codehilite.xcode .sc { color: #2300CE } /* Literal.String.Char */ +.codehilite.xcode .dl { color: #C41A16 } /* Literal.String.Delimiter */ +.codehilite.xcode .sd { color: #C41A16 } /* Literal.String.Doc */ +.codehilite.xcode .s2 { color: #C41A16 } /* Literal.String.Double */ +.codehilite.xcode .se { color: #C41A16 } /* Literal.String.Escape */ +.codehilite.xcode .sh { color: #C41A16 } /* Literal.String.Heredoc */ +.codehilite.xcode .si { color: #C41A16 } /* Literal.String.Interpol */ +.codehilite.xcode .sx { color: #C41A16 } /* Literal.String.Other */ +.codehilite.xcode .sr { color: #C41A16 } /* Literal.String.Regex */ +.codehilite.xcode .s1 { color: #C41A16 } /* Literal.String.Single */ +.codehilite.xcode .ss { color: #C41A16 } /* Literal.String.Symbol */ +.codehilite.xcode .bp { color: #5B269A } /* Name.Builtin.Pseudo */ +.codehilite.xcode .fm { color: #000 } /* Name.Function.Magic */ +.codehilite.xcode .vc { color: #000 } /* Name.Variable.Class */ +.codehilite.xcode .vg { color: #000 } /* Name.Variable.Global */ +.codehilite.xcode .vi { color: #000 } /* Name.Variable.Instance */ +.codehilite.xcode .vm { color: #000 } /* Name.Variable.Magic */ +.codehilite.xcode .il { color: #1C01CE } /* Literal.Number.Integer.Long */ +.codehilite.zenburn .hll { background-color: #484848 } +.codehilite.zenburn { background: #3f3f3f; color: #DCDCCC } +.codehilite.zenburn .c { color: #7F9F7F; font-style: italic } /* Comment */ +.codehilite.zenburn .err { color: #E37170; font-weight: bold } /* Error */ +.codehilite.zenburn .esc { color: #DCDCCC } /* Escape */ +.codehilite.zenburn .g { color: #ECBCBC; font-weight: bold } /* Generic */ +.codehilite.zenburn .k { color: #EFDCBC } /* Keyword */ +.codehilite.zenburn .l { color: #9FAFAF } /* Literal */ +.codehilite.zenburn .n { color: #DCDCCC } /* Name */ +.codehilite.zenburn .o { color: #F0EFD0 } /* Operator */ +.codehilite.zenburn .x { color: #DCDCCC } /* Other */ +.codehilite.zenburn .p { color: #F0EFD0 } /* Punctuation */ +.codehilite.zenburn .ch { color: #7F9F7F; font-style: italic } /* Comment.Hashbang */ +.codehilite.zenburn .cm { color: #7F9F7F; font-style: italic } /* Comment.Multiline */ +.codehilite.zenburn .cp { color: #DFAF8F; font-weight: bold; font-style: italic } /* Comment.Preproc */ +.codehilite.zenburn .cpf { color: #CC9393; font-style: italic } /* Comment.PreprocFile */ +.codehilite.zenburn .c1 { color: #7F9F7F; font-style: italic } /* Comment.Single */ +.codehilite.zenburn .cs { color: #DFDFDF; font-weight: bold; font-style: italic } /* Comment.Special */ +.codehilite.zenburn .gd { color: #C3BF9F; font-weight: bold; background-color: #313C36 } /* Generic.Deleted */ +.codehilite.zenburn .ge { color: #FFF; font-weight: bold } /* Generic.Emph */ +.codehilite.zenburn .ges { color: #ECBCBC; font-weight: bold } /* Generic.EmphStrong */ +.codehilite.zenburn .gr { color: #ECBCBC; font-weight: bold } /* Generic.Error */ +.codehilite.zenburn .gh { color: #EFEFEF; font-weight: bold } /* Generic.Heading */ +.codehilite.zenburn .gi { color: #709080; font-weight: bold; background-color: #313C36 } /* Generic.Inserted */ +.codehilite.zenburn .go { color: #5B605E; font-weight: bold } /* Generic.Output */ +.codehilite.zenburn .gp { color: #ECBCBC; font-weight: bold } /* Generic.Prompt */ +.codehilite.zenburn .gs { color: #ECBCBC; font-weight: bold } /* Generic.Strong */ +.codehilite.zenburn .gu { color: #EFEFEF; font-weight: bold } /* Generic.Subheading */ +.codehilite.zenburn .gt { color: #80D4AA; font-weight: bold; background-color: #2F2F2F } /* Generic.Traceback */ +.codehilite.zenburn .kc { color: #DCA3A3 } /* Keyword.Constant */ +.codehilite.zenburn .kd { color: #F0DFAF } /* Keyword.Declaration */ +.codehilite.zenburn .kn { color: #F0DFAF } /* Keyword.Namespace */ +.codehilite.zenburn .kp { color: #EFDCBC } /* Keyword.Pseudo */ +.codehilite.zenburn .kr { color: #EFDCBC } /* Keyword.Reserved */ +.codehilite.zenburn .kt { color: #DFDFBF; font-weight: bold } /* Keyword.Type */ +.codehilite.zenburn .ld { color: #9FAFAF } /* Literal.Date */ +.codehilite.zenburn .m { color: #8CD0D3 } /* Literal.Number */ +.codehilite.zenburn .s { color: #CC9393 } /* Literal.String */ +.codehilite.zenburn .na { color: #EFEF8F } /* Name.Attribute */ +.codehilite.zenburn .nb { color: #EFEF8F } /* Name.Builtin */ +.codehilite.zenburn .nc { color: #EFEF8F } /* Name.Class */ +.codehilite.zenburn .no { color: #DCA3A3 } /* Name.Constant */ +.codehilite.zenburn .nd { color: #DCDCCC } /* Name.Decorator */ +.codehilite.zenburn .ni { color: #CFBFAF } /* Name.Entity */ +.codehilite.zenburn .ne { color: #C3BF9F; font-weight: bold } /* Name.Exception */ +.codehilite.zenburn .nf { color: #EFEF8F } /* Name.Function */ +.codehilite.zenburn .nl { color: #DCDCCC } /* Name.Label */ +.codehilite.zenburn .nn { color: #DCDCCC } /* Name.Namespace */ +.codehilite.zenburn .nx { color: #DCDCCC } /* Name.Other */ +.codehilite.zenburn .py { color: #DCDCCC } /* Name.Property */ +.codehilite.zenburn .nt { color: #E89393; font-weight: bold } /* Name.Tag */ +.codehilite.zenburn .nv { color: #DCDCCC } /* Name.Variable */ +.codehilite.zenburn .ow { color: #F0EFD0 } /* Operator.Word */ +.codehilite.zenburn .pm { color: #F0EFD0 } /* Punctuation.Marker */ +.codehilite.zenburn .w { color: #DCDCCC } /* Text.Whitespace */ +.codehilite.zenburn .mb { color: #8CD0D3 } /* Literal.Number.Bin */ +.codehilite.zenburn .mf { color: #C0BED1 } /* Literal.Number.Float */ +.codehilite.zenburn .mh { color: #8CD0D3 } /* Literal.Number.Hex */ +.codehilite.zenburn .mi { color: #8CD0D3 } /* Literal.Number.Integer */ +.codehilite.zenburn .mo { color: #8CD0D3 } /* Literal.Number.Oct */ +.codehilite.zenburn .sa { color: #CC9393 } /* Literal.String.Affix */ +.codehilite.zenburn .sb { color: #CC9393 } /* Literal.String.Backtick */ +.codehilite.zenburn .sc { color: #CC9393 } /* Literal.String.Char */ +.codehilite.zenburn .dl { color: #CC9393 } /* Literal.String.Delimiter */ +.codehilite.zenburn .sd { color: #7F9F7F } /* Literal.String.Doc */ +.codehilite.zenburn .s2 { color: #CC9393 } /* Literal.String.Double */ +.codehilite.zenburn .se { color: #CC9393 } /* Literal.String.Escape */ +.codehilite.zenburn .sh { color: #CC9393 } /* Literal.String.Heredoc */ +.codehilite.zenburn .si { color: #DCA3A3; font-weight: bold } /* Literal.String.Interpol */ +.codehilite.zenburn .sx { color: #CC9393 } /* Literal.String.Other */ +.codehilite.zenburn .sr { color: #CC9393 } /* Literal.String.Regex */ +.codehilite.zenburn .s1 { color: #CC9393 } /* Literal.String.Single */ +.codehilite.zenburn .ss { color: #CC9393 } /* Literal.String.Symbol */ +.codehilite.zenburn .bp { color: #DCDCCC } /* Name.Builtin.Pseudo */ +.codehilite.zenburn .fm { color: #EFEF8F } /* Name.Function.Magic */ +.codehilite.zenburn .vc { color: #DCDCCC } /* Name.Variable.Class */ +.codehilite.zenburn .vg { color: #DCDCCC } /* Name.Variable.Global */ +.codehilite.zenburn .vi { color: #DCDCCC } /* Name.Variable.Instance */ +.codehilite.zenburn .vm { color: #DCDCCC } /* Name.Variable.Magic */ +.codehilite.zenburn .il { color: #8CD0D3 } /* Literal.Number.Integer.Long */ +.codehilite.a11y-dark .hll { background-color: #ffd9002e } +.codehilite.a11y-dark { background: #2b2b2b; color: #F8F8F2 } +.codehilite.a11y-dark .c { color: #D4D0AB } /* Comment */ +.codehilite.a11y-dark .err { color: #FFA07A } /* Error */ +.codehilite.a11y-dark .k { color: #DCC6E0 } /* Keyword */ +.codehilite.a11y-dark .l { color: #F5AB35 } /* Literal */ +.codehilite.a11y-dark .n { color: #F8F8F2 } /* Name */ +.codehilite.a11y-dark .o { color: #ABE338 } /* Operator */ +.codehilite.a11y-dark .p { color: #F8F8F2 } /* Punctuation */ +.codehilite.a11y-dark .ch { color: #D4D0AB } /* Comment.Hashbang */ +.codehilite.a11y-dark .cm { color: #D4D0AB } /* Comment.Multiline */ +.codehilite.a11y-dark .cp { color: #D4D0AB } /* Comment.Preproc */ +.codehilite.a11y-dark .cpf { color: #D4D0AB } /* Comment.PreprocFile */ +.codehilite.a11y-dark .c1 { color: #D4D0AB } /* Comment.Single */ +.codehilite.a11y-dark .cs { color: #D4D0AB } /* Comment.Special */ +.codehilite.a11y-dark .gd { color: #00E0E0 } /* Generic.Deleted */ +.codehilite.a11y-dark .ge { font-style: italic } /* Generic.Emph */ +.codehilite.a11y-dark .gh { color: #00E0E0 } /* Generic.Heading */ +.codehilite.a11y-dark .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.a11y-dark .gu { color: #00E0E0 } /* Generic.Subheading */ +.codehilite.a11y-dark .kc { color: #DCC6E0 } /* Keyword.Constant */ +.codehilite.a11y-dark .kd { color: #DCC6E0 } /* Keyword.Declaration */ +.codehilite.a11y-dark .kn { color: #DCC6E0 } /* Keyword.Namespace */ +.codehilite.a11y-dark .kp { color: #DCC6E0 } /* Keyword.Pseudo */ +.codehilite.a11y-dark .kr { color: #DCC6E0 } /* Keyword.Reserved */ +.codehilite.a11y-dark .kt { color: #F5AB35 } /* Keyword.Type */ +.codehilite.a11y-dark .ld { color: #F5AB35 } /* Literal.Date */ +.codehilite.a11y-dark .m { color: #F5AB35 } /* Literal.Number */ +.codehilite.a11y-dark .s { color: #ABE338 } /* Literal.String */ +.codehilite.a11y-dark .na { color: #FFD700 } /* Name.Attribute */ +.codehilite.a11y-dark .nb { color: #F5AB35 } /* Name.Builtin */ +.codehilite.a11y-dark .nc { color: #00E0E0 } /* Name.Class */ +.codehilite.a11y-dark .no { color: #00E0E0 } /* Name.Constant */ +.codehilite.a11y-dark .nd { color: #F5AB35 } /* Name.Decorator */ +.codehilite.a11y-dark .ni { color: #ABE338 } /* Name.Entity */ +.codehilite.a11y-dark .ne { color: #DCC6E0 } /* Name.Exception */ +.codehilite.a11y-dark .nf { color: #00E0E0 } /* Name.Function */ +.codehilite.a11y-dark .nl { color: #F5AB35 } /* Name.Label */ +.codehilite.a11y-dark .nn { color: #F8F8F2 } /* Name.Namespace */ +.codehilite.a11y-dark .nx { color: #F8F8F2 } /* Name.Other */ +.codehilite.a11y-dark .py { color: #00E0E0 } /* Name.Property */ +.codehilite.a11y-dark .nt { color: #00E0E0 } /* Name.Tag */ +.codehilite.a11y-dark .nv { color: #FFA07A } /* Name.Variable */ +.codehilite.a11y-dark .ow { color: #DCC6E0 } /* Operator.Word */ +.codehilite.a11y-dark .pm { color: #F8F8F2 } /* Punctuation.Marker */ +.codehilite.a11y-dark .w { color: #F8F8F2 } /* Text.Whitespace */ +.codehilite.a11y-dark .mb { color: #F5AB35 } /* Literal.Number.Bin */ +.codehilite.a11y-dark .mf { color: #F5AB35 } /* Literal.Number.Float */ +.codehilite.a11y-dark .mh { color: #F5AB35 } /* Literal.Number.Hex */ +.codehilite.a11y-dark .mi { color: #F5AB35 } /* Literal.Number.Integer */ +.codehilite.a11y-dark .mo { color: #F5AB35 } /* Literal.Number.Oct */ +.codehilite.a11y-dark .sa { color: #ABE338 } /* Literal.String.Affix */ +.codehilite.a11y-dark .sb { color: #ABE338 } /* Literal.String.Backtick */ +.codehilite.a11y-dark .sc { color: #ABE338 } /* Literal.String.Char */ +.codehilite.a11y-dark .dl { color: #ABE338 } /* Literal.String.Delimiter */ +.codehilite.a11y-dark .sd { color: #ABE338 } /* Literal.String.Doc */ +.codehilite.a11y-dark .s2 { color: #ABE338 } /* Literal.String.Double */ +.codehilite.a11y-dark .se { color: #ABE338 } /* Literal.String.Escape */ +.codehilite.a11y-dark .sh { color: #ABE338 } /* Literal.String.Heredoc */ +.codehilite.a11y-dark .si { color: #ABE338 } /* Literal.String.Interpol */ +.codehilite.a11y-dark .sx { color: #ABE338 } /* Literal.String.Other */ +.codehilite.a11y-dark .sr { color: #FFA07A } /* Literal.String.Regex */ +.codehilite.a11y-dark .s1 { color: #ABE338 } /* Literal.String.Single */ +.codehilite.a11y-dark .ss { color: #00E0E0 } /* Literal.String.Symbol */ +.codehilite.a11y-dark .bp { color: #F5AB35 } /* Name.Builtin.Pseudo */ +.codehilite.a11y-dark .fm { color: #00E0E0 } /* Name.Function.Magic */ +.codehilite.a11y-dark .vc { color: #FFA07A } /* Name.Variable.Class */ +.codehilite.a11y-dark .vg { color: #FFA07A } /* Name.Variable.Global */ +.codehilite.a11y-dark .vi { color: #FFA07A } /* Name.Variable.Instance */ +.codehilite.a11y-dark .vm { color: #F5AB35 } /* Name.Variable.Magic */ +.codehilite.a11y-dark .il { color: #F5AB35 } /* Literal.Number.Integer.Long */ +.codehilite.a11y-high-contrast-dark .hll { background-color: #ffd9002e } +.codehilite.a11y-high-contrast-dark { background: #2b2b2b; color: #F8F8F2 } +.codehilite.a11y-high-contrast-dark .c { color: #FFD900 } /* Comment */ +.codehilite.a11y-high-contrast-dark .err { color: #FFA07A } /* Error */ +.codehilite.a11y-high-contrast-dark .k { color: #DCC6E0 } /* Keyword */ +.codehilite.a11y-high-contrast-dark .l { color: #FFD900 } /* Literal */ +.codehilite.a11y-high-contrast-dark .n { color: #F8F8F2 } /* Name */ +.codehilite.a11y-high-contrast-dark .o { color: #ABE338 } /* Operator */ +.codehilite.a11y-high-contrast-dark .p { color: #F8F8F2 } /* Punctuation */ +.codehilite.a11y-high-contrast-dark .ch { color: #FFD900 } /* Comment.Hashbang */ +.codehilite.a11y-high-contrast-dark .cm { color: #FFD900 } /* Comment.Multiline */ +.codehilite.a11y-high-contrast-dark .cp { color: #FFD900 } /* Comment.Preproc */ +.codehilite.a11y-high-contrast-dark .cpf { color: #FFD900 } /* Comment.PreprocFile */ +.codehilite.a11y-high-contrast-dark .c1 { color: #FFD900 } /* Comment.Single */ +.codehilite.a11y-high-contrast-dark .cs { color: #FFD900 } /* Comment.Special */ +.codehilite.a11y-high-contrast-dark .gd { color: #00E0E0 } /* Generic.Deleted */ +.codehilite.a11y-high-contrast-dark .ge { font-style: italic } /* Generic.Emph */ +.codehilite.a11y-high-contrast-dark .gh { color: #00E0E0 } /* Generic.Heading */ +.codehilite.a11y-high-contrast-dark .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.a11y-high-contrast-dark .gu { color: #00E0E0 } /* Generic.Subheading */ +.codehilite.a11y-high-contrast-dark .kc { color: #DCC6E0 } /* Keyword.Constant */ +.codehilite.a11y-high-contrast-dark .kd { color: #DCC6E0 } /* Keyword.Declaration */ +.codehilite.a11y-high-contrast-dark .kn { color: #DCC6E0 } /* Keyword.Namespace */ +.codehilite.a11y-high-contrast-dark .kp { color: #DCC6E0 } /* Keyword.Pseudo */ +.codehilite.a11y-high-contrast-dark .kr { color: #DCC6E0 } /* Keyword.Reserved */ +.codehilite.a11y-high-contrast-dark .kt { color: #FFD900 } /* Keyword.Type */ +.codehilite.a11y-high-contrast-dark .ld { color: #FFD900 } /* Literal.Date */ +.codehilite.a11y-high-contrast-dark .m { color: #FFD900 } /* Literal.Number */ +.codehilite.a11y-high-contrast-dark .s { color: #ABE338 } /* Literal.String */ +.codehilite.a11y-high-contrast-dark .na { color: #FFD900 } /* Name.Attribute */ +.codehilite.a11y-high-contrast-dark .nb { color: #FFD900 } /* Name.Builtin */ +.codehilite.a11y-high-contrast-dark .nc { color: #00E0E0 } /* Name.Class */ +.codehilite.a11y-high-contrast-dark .no { color: #00E0E0 } /* Name.Constant */ +.codehilite.a11y-high-contrast-dark .nd { color: #FFD900 } /* Name.Decorator */ +.codehilite.a11y-high-contrast-dark .ni { color: #ABE338 } /* Name.Entity */ +.codehilite.a11y-high-contrast-dark .ne { color: #DCC6E0 } /* Name.Exception */ +.codehilite.a11y-high-contrast-dark .nf { color: #00E0E0 } /* Name.Function */ +.codehilite.a11y-high-contrast-dark .nl { color: #FFD900 } /* Name.Label */ +.codehilite.a11y-high-contrast-dark .nn { color: #F8F8F2 } /* Name.Namespace */ +.codehilite.a11y-high-contrast-dark .nx { color: #F8F8F2 } /* Name.Other */ +.codehilite.a11y-high-contrast-dark .py { color: #00E0E0 } /* Name.Property */ +.codehilite.a11y-high-contrast-dark .nt { color: #00E0E0 } /* Name.Tag */ +.codehilite.a11y-high-contrast-dark .nv { color: #FFA07A } /* Name.Variable */ +.codehilite.a11y-high-contrast-dark .ow { color: #DCC6E0 } /* Operator.Word */ +.codehilite.a11y-high-contrast-dark .pm { color: #F8F8F2 } /* Punctuation.Marker */ +.codehilite.a11y-high-contrast-dark .w { color: #F8F8F2 } /* Text.Whitespace */ +.codehilite.a11y-high-contrast-dark .mb { color: #FFD900 } /* Literal.Number.Bin */ +.codehilite.a11y-high-contrast-dark .mf { color: #FFD900 } /* Literal.Number.Float */ +.codehilite.a11y-high-contrast-dark .mh { color: #FFD900 } /* Literal.Number.Hex */ +.codehilite.a11y-high-contrast-dark .mi { color: #FFD900 } /* Literal.Number.Integer */ +.codehilite.a11y-high-contrast-dark .mo { color: #FFD900 } /* Literal.Number.Oct */ +.codehilite.a11y-high-contrast-dark .sa { color: #ABE338 } /* Literal.String.Affix */ +.codehilite.a11y-high-contrast-dark .sb { color: #ABE338 } /* Literal.String.Backtick */ +.codehilite.a11y-high-contrast-dark .sc { color: #ABE338 } /* Literal.String.Char */ +.codehilite.a11y-high-contrast-dark .dl { color: #ABE338 } /* Literal.String.Delimiter */ +.codehilite.a11y-high-contrast-dark .sd { color: #ABE338 } /* Literal.String.Doc */ +.codehilite.a11y-high-contrast-dark .s2 { color: #ABE338 } /* Literal.String.Double */ +.codehilite.a11y-high-contrast-dark .se { color: #ABE338 } /* Literal.String.Escape */ +.codehilite.a11y-high-contrast-dark .sh { color: #ABE338 } /* Literal.String.Heredoc */ +.codehilite.a11y-high-contrast-dark .si { color: #ABE338 } /* Literal.String.Interpol */ +.codehilite.a11y-high-contrast-dark .sx { color: #ABE338 } /* Literal.String.Other */ +.codehilite.a11y-high-contrast-dark .sr { color: #FFA07A } /* Literal.String.Regex */ +.codehilite.a11y-high-contrast-dark .s1 { color: #ABE338 } /* Literal.String.Single */ +.codehilite.a11y-high-contrast-dark .ss { color: #00E0E0 } /* Literal.String.Symbol */ +.codehilite.a11y-high-contrast-dark .bp { color: #FFD900 } /* Name.Builtin.Pseudo */ +.codehilite.a11y-high-contrast-dark .fm { color: #00E0E0 } /* Name.Function.Magic */ +.codehilite.a11y-high-contrast-dark .vc { color: #FFA07A } /* Name.Variable.Class */ +.codehilite.a11y-high-contrast-dark .vg { color: #FFA07A } /* Name.Variable.Global */ +.codehilite.a11y-high-contrast-dark .vi { color: #FFA07A } /* Name.Variable.Instance */ +.codehilite.a11y-high-contrast-dark .vm { color: #FFD900 } /* Name.Variable.Magic */ +.codehilite.a11y-high-contrast-dark .il { color: #FFD900 } /* Literal.Number.Integer.Long */ +.codehilite.a11y-high-contrast-light .hll { background-color: #7971292e } +.codehilite.a11y-high-contrast-light { background: #fefefe; color: #545454 } +.codehilite.a11y-high-contrast-light .c { color: #797129 } /* Comment */ +.codehilite.a11y-high-contrast-light .err { color: #D91E18 } /* Error */ +.codehilite.a11y-high-contrast-light .k { color: #7928A1 } /* Keyword */ +.codehilite.a11y-high-contrast-light .l { color: #797129 } /* Literal */ +.codehilite.a11y-high-contrast-light .n { color: #545454 } /* Name */ +.codehilite.a11y-high-contrast-light .o { color: #008000 } /* Operator */ +.codehilite.a11y-high-contrast-light .p { color: #545454 } /* Punctuation */ +.codehilite.a11y-high-contrast-light .ch { color: #797129 } /* Comment.Hashbang */ +.codehilite.a11y-high-contrast-light .cm { color: #797129 } /* Comment.Multiline */ +.codehilite.a11y-high-contrast-light .cp { color: #797129 } /* Comment.Preproc */ +.codehilite.a11y-high-contrast-light .cpf { color: #797129 } /* Comment.PreprocFile */ +.codehilite.a11y-high-contrast-light .c1 { color: #797129 } /* Comment.Single */ +.codehilite.a11y-high-contrast-light .cs { color: #797129 } /* Comment.Special */ +.codehilite.a11y-high-contrast-light .gd { color: #007FAA } /* Generic.Deleted */ +.codehilite.a11y-high-contrast-light .ge { font-style: italic } /* Generic.Emph */ +.codehilite.a11y-high-contrast-light .gh { color: #007FAA } /* Generic.Heading */ +.codehilite.a11y-high-contrast-light .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.a11y-high-contrast-light .gu { color: #007FAA } /* Generic.Subheading */ +.codehilite.a11y-high-contrast-light .kc { color: #7928A1 } /* Keyword.Constant */ +.codehilite.a11y-high-contrast-light .kd { color: #7928A1 } /* Keyword.Declaration */ +.codehilite.a11y-high-contrast-light .kn { color: #7928A1 } /* Keyword.Namespace */ +.codehilite.a11y-high-contrast-light .kp { color: #7928A1 } /* Keyword.Pseudo */ +.codehilite.a11y-high-contrast-light .kr { color: #7928A1 } /* Keyword.Reserved */ +.codehilite.a11y-high-contrast-light .kt { color: #797129 } /* Keyword.Type */ +.codehilite.a11y-high-contrast-light .ld { color: #797129 } /* Literal.Date */ +.codehilite.a11y-high-contrast-light .m { color: #797129 } /* Literal.Number */ +.codehilite.a11y-high-contrast-light .s { color: #008000 } /* Literal.String */ +.codehilite.a11y-high-contrast-light .na { color: #797129 } /* Name.Attribute */ +.codehilite.a11y-high-contrast-light .nb { color: #797129 } /* Name.Builtin */ +.codehilite.a11y-high-contrast-light .nc { color: #007FAA } /* Name.Class */ +.codehilite.a11y-high-contrast-light .no { color: #007FAA } /* Name.Constant */ +.codehilite.a11y-high-contrast-light .nd { color: #797129 } /* Name.Decorator */ +.codehilite.a11y-high-contrast-light .ni { color: #008000 } /* Name.Entity */ +.codehilite.a11y-high-contrast-light .ne { color: #7928A1 } /* Name.Exception */ +.codehilite.a11y-high-contrast-light .nf { color: #007FAA } /* Name.Function */ +.codehilite.a11y-high-contrast-light .nl { color: #797129 } /* Name.Label */ +.codehilite.a11y-high-contrast-light .nn { color: #545454 } /* Name.Namespace */ +.codehilite.a11y-high-contrast-light .nx { color: #545454 } /* Name.Other */ +.codehilite.a11y-high-contrast-light .py { color: #007FAA } /* Name.Property */ +.codehilite.a11y-high-contrast-light .nt { color: #007FAA } /* Name.Tag */ +.codehilite.a11y-high-contrast-light .nv { color: #D91E18 } /* Name.Variable */ +.codehilite.a11y-high-contrast-light .ow { color: #7928A1 } /* Operator.Word */ +.codehilite.a11y-high-contrast-light .pm { color: #545454 } /* Punctuation.Marker */ +.codehilite.a11y-high-contrast-light .w { color: #545454 } /* Text.Whitespace */ +.codehilite.a11y-high-contrast-light .mb { color: #797129 } /* Literal.Number.Bin */ +.codehilite.a11y-high-contrast-light .mf { color: #797129 } /* Literal.Number.Float */ +.codehilite.a11y-high-contrast-light .mh { color: #797129 } /* Literal.Number.Hex */ +.codehilite.a11y-high-contrast-light .mi { color: #797129 } /* Literal.Number.Integer */ +.codehilite.a11y-high-contrast-light .mo { color: #797129 } /* Literal.Number.Oct */ +.codehilite.a11y-high-contrast-light .sa { color: #008000 } /* Literal.String.Affix */ +.codehilite.a11y-high-contrast-light .sb { color: #008000 } /* Literal.String.Backtick */ +.codehilite.a11y-high-contrast-light .sc { color: #008000 } /* Literal.String.Char */ +.codehilite.a11y-high-contrast-light .dl { color: #008000 } /* Literal.String.Delimiter */ +.codehilite.a11y-high-contrast-light .sd { color: #008000 } /* Literal.String.Doc */ +.codehilite.a11y-high-contrast-light .s2 { color: #008000 } /* Literal.String.Double */ +.codehilite.a11y-high-contrast-light .se { color: #008000 } /* Literal.String.Escape */ +.codehilite.a11y-high-contrast-light .sh { color: #008000 } /* Literal.String.Heredoc */ +.codehilite.a11y-high-contrast-light .si { color: #008000 } /* Literal.String.Interpol */ +.codehilite.a11y-high-contrast-light .sx { color: #008000 } /* Literal.String.Other */ +.codehilite.a11y-high-contrast-light .sr { color: #D91E18 } /* Literal.String.Regex */ +.codehilite.a11y-high-contrast-light .s1 { color: #008000 } /* Literal.String.Single */ +.codehilite.a11y-high-contrast-light .ss { color: #007FAA } /* Literal.String.Symbol */ +.codehilite.a11y-high-contrast-light .bp { color: #797129 } /* Name.Builtin.Pseudo */ +.codehilite.a11y-high-contrast-light .fm { color: #007FAA } /* Name.Function.Magic */ +.codehilite.a11y-high-contrast-light .vc { color: #D91E18 } /* Name.Variable.Class */ +.codehilite.a11y-high-contrast-light .vg { color: #D91E18 } /* Name.Variable.Global */ +.codehilite.a11y-high-contrast-light .vi { color: #D91E18 } /* Name.Variable.Instance */ +.codehilite.a11y-high-contrast-light .vm { color: #797129 } /* Name.Variable.Magic */ +.codehilite.a11y-high-contrast-light .il { color: #797129 } /* Literal.Number.Integer.Long */ +.codehilite.a11y-light .hll { background-color: #7971292e } +.codehilite.a11y-light { background: #fefefe; color: #545454 } +.codehilite.a11y-light .c { color: #696969 } /* Comment */ +.codehilite.a11y-light .err { color: #D91E18 } /* Error */ +.codehilite.a11y-light .k { color: #7928A1 } /* Keyword */ +.codehilite.a11y-light .l { color: #AA5D00 } /* Literal */ +.codehilite.a11y-light .n { color: #545454 } /* Name */ +.codehilite.a11y-light .o { color: #008000 } /* Operator */ +.codehilite.a11y-light .p { color: #545454 } /* Punctuation */ +.codehilite.a11y-light .ch { color: #696969 } /* Comment.Hashbang */ +.codehilite.a11y-light .cm { color: #696969 } /* Comment.Multiline */ +.codehilite.a11y-light .cp { color: #696969 } /* Comment.Preproc */ +.codehilite.a11y-light .cpf { color: #696969 } /* Comment.PreprocFile */ +.codehilite.a11y-light .c1 { color: #696969 } /* Comment.Single */ +.codehilite.a11y-light .cs { color: #696969 } /* Comment.Special */ +.codehilite.a11y-light .gd { color: #007FAA } /* Generic.Deleted */ +.codehilite.a11y-light .ge { font-style: italic } /* Generic.Emph */ +.codehilite.a11y-light .gh { color: #007FAA } /* Generic.Heading */ +.codehilite.a11y-light .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.a11y-light .gu { color: #007FAA } /* Generic.Subheading */ +.codehilite.a11y-light .kc { color: #7928A1 } /* Keyword.Constant */ +.codehilite.a11y-light .kd { color: #7928A1 } /* Keyword.Declaration */ +.codehilite.a11y-light .kn { color: #7928A1 } /* Keyword.Namespace */ +.codehilite.a11y-light .kp { color: #7928A1 } /* Keyword.Pseudo */ +.codehilite.a11y-light .kr { color: #7928A1 } /* Keyword.Reserved */ +.codehilite.a11y-light .kt { color: #AA5D00 } /* Keyword.Type */ +.codehilite.a11y-light .ld { color: #AA5D00 } /* Literal.Date */ +.codehilite.a11y-light .m { color: #AA5D00 } /* Literal.Number */ +.codehilite.a11y-light .s { color: #008000 } /* Literal.String */ +.codehilite.a11y-light .na { color: #AA5D00 } /* Name.Attribute */ +.codehilite.a11y-light .nb { color: #AA5D00 } /* Name.Builtin */ +.codehilite.a11y-light .nc { color: #007FAA } /* Name.Class */ +.codehilite.a11y-light .no { color: #007FAA } /* Name.Constant */ +.codehilite.a11y-light .nd { color: #AA5D00 } /* Name.Decorator */ +.codehilite.a11y-light .ni { color: #008000 } /* Name.Entity */ +.codehilite.a11y-light .ne { color: #7928A1 } /* Name.Exception */ +.codehilite.a11y-light .nf { color: #007FAA } /* Name.Function */ +.codehilite.a11y-light .nl { color: #AA5D00 } /* Name.Label */ +.codehilite.a11y-light .nn { color: #545454 } /* Name.Namespace */ +.codehilite.a11y-light .nx { color: #545454 } /* Name.Other */ +.codehilite.a11y-light .py { color: #007FAA } /* Name.Property */ +.codehilite.a11y-light .nt { color: #007FAA } /* Name.Tag */ +.codehilite.a11y-light .nv { color: #D91E18 } /* Name.Variable */ +.codehilite.a11y-light .ow { color: #7928A1 } /* Operator.Word */ +.codehilite.a11y-light .pm { color: #545454 } /* Punctuation.Marker */ +.codehilite.a11y-light .w { color: #545454 } /* Text.Whitespace */ +.codehilite.a11y-light .mb { color: #AA5D00 } /* Literal.Number.Bin */ +.codehilite.a11y-light .mf { color: #AA5D00 } /* Literal.Number.Float */ +.codehilite.a11y-light .mh { color: #AA5D00 } /* Literal.Number.Hex */ +.codehilite.a11y-light .mi { color: #AA5D00 } /* Literal.Number.Integer */ +.codehilite.a11y-light .mo { color: #AA5D00 } /* Literal.Number.Oct */ +.codehilite.a11y-light .sa { color: #008000 } /* Literal.String.Affix */ +.codehilite.a11y-light .sb { color: #008000 } /* Literal.String.Backtick */ +.codehilite.a11y-light .sc { color: #008000 } /* Literal.String.Char */ +.codehilite.a11y-light .dl { color: #008000 } /* Literal.String.Delimiter */ +.codehilite.a11y-light .sd { color: #008000 } /* Literal.String.Doc */ +.codehilite.a11y-light .s2 { color: #008000 } /* Literal.String.Double */ +.codehilite.a11y-light .se { color: #008000 } /* Literal.String.Escape */ +.codehilite.a11y-light .sh { color: #008000 } /* Literal.String.Heredoc */ +.codehilite.a11y-light .si { color: #008000 } /* Literal.String.Interpol */ +.codehilite.a11y-light .sx { color: #008000 } /* Literal.String.Other */ +.codehilite.a11y-light .sr { color: #D91E18 } /* Literal.String.Regex */ +.codehilite.a11y-light .s1 { color: #008000 } /* Literal.String.Single */ +.codehilite.a11y-light .ss { color: #007FAA } /* Literal.String.Symbol */ +.codehilite.a11y-light .bp { color: #AA5D00 } /* Name.Builtin.Pseudo */ +.codehilite.a11y-light .fm { color: #007FAA } /* Name.Function.Magic */ +.codehilite.a11y-light .vc { color: #D91E18 } /* Name.Variable.Class */ +.codehilite.a11y-light .vg { color: #D91E18 } /* Name.Variable.Global */ +.codehilite.a11y-light .vi { color: #D91E18 } /* Name.Variable.Instance */ +.codehilite.a11y-light .vm { color: #AA5D00 } /* Name.Variable.Magic */ +.codehilite.a11y-light .il { color: #AA5D00 } /* Literal.Number.Integer.Long */ +.codehilite.blinds-dark .hll { background-color: #66666691 } +.codehilite.blinds-dark { background: #242424; color: #BBB } +.codehilite.blinds-dark .c { color: #8C8C8C } /* Comment */ +.codehilite.blinds-dark .err { color: #5391CF } /* Error */ +.codehilite.blinds-dark .k { color: #D166A3 } /* Keyword */ +.codehilite.blinds-dark .l { color: #5391CF } /* Literal */ +.codehilite.blinds-dark .n { color: #5391CF } /* Name */ +.codehilite.blinds-dark .o { color: #E67 } /* Operator */ +.codehilite.blinds-dark .p { color: #BBB } /* Punctuation */ +.codehilite.blinds-dark .ch { color: #8C8C8C } /* Comment.Hashbang */ +.codehilite.blinds-dark .cm { color: #8C8C8C } /* Comment.Multiline */ +.codehilite.blinds-dark .cp { color: #8C8C8C } /* Comment.Preproc */ +.codehilite.blinds-dark .cpf { color: #8C8C8C } /* Comment.PreprocFile */ +.codehilite.blinds-dark .c1 { color: #8C8C8C } /* Comment.Single */ +.codehilite.blinds-dark .cs { color: #8C8C8C } /* Comment.Special */ +.codehilite.blinds-dark .gd { color: #5391CF } /* Generic.Deleted */ +.codehilite.blinds-dark .ge { font-style: italic } /* Generic.Emph */ +.codehilite.blinds-dark .gh { color: #5391CF } /* Generic.Heading */ +.codehilite.blinds-dark .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.blinds-dark .gu { color: #5391CF } /* Generic.Subheading */ +.codehilite.blinds-dark .kc { color: #D166A3 } /* Keyword.Constant */ +.codehilite.blinds-dark .kd { color: #D166A3 } /* Keyword.Declaration */ +.codehilite.blinds-dark .kn { color: #D166A3 } /* Keyword.Namespace */ +.codehilite.blinds-dark .kp { color: #D166A3 } /* Keyword.Pseudo */ +.codehilite.blinds-dark .kr { color: #D166A3 } /* Keyword.Reserved */ +.codehilite.blinds-dark .kt { color: #6CE } /* Keyword.Type */ +.codehilite.blinds-dark .ld { color: #5391CF } /* Literal.Date */ +.codehilite.blinds-dark .m { color: #BBB } /* Literal.Number */ +.codehilite.blinds-dark .s { color: #D166A3 } /* Literal.String */ +.codehilite.blinds-dark .na { color: #D166A3 } /* Name.Attribute */ +.codehilite.blinds-dark .nb { color: #6CE } /* Name.Builtin */ +.codehilite.blinds-dark .nc { color: #E67 } /* Name.Class */ +.codehilite.blinds-dark .no { color: #E67 } /* Name.Constant */ +.codehilite.blinds-dark .nd { color: #CB4 } /* Name.Decorator */ +.codehilite.blinds-dark .ni { color: #CB4 } /* Name.Entity */ +.codehilite.blinds-dark .ne { color: #5391CF } /* Name.Exception */ +.codehilite.blinds-dark .nf { color: #6CE } /* Name.Function */ +.codehilite.blinds-dark .nl { color: #E67 } /* Name.Label */ +.codehilite.blinds-dark .nn { color: #6CE } /* Name.Namespace */ +.codehilite.blinds-dark .nx { color: #5391CF } /* Name.Other */ +.codehilite.blinds-dark .py { color: #5391CF } /* Name.Property */ +.codehilite.blinds-dark .nt { color: #6CE } /* Name.Tag */ +.codehilite.blinds-dark .nv { color: #5391CF } /* Name.Variable */ +.codehilite.blinds-dark .ow { color: #D166A3 } /* Operator.Word */ +.codehilite.blinds-dark .pm { color: #BBB } /* Punctuation.Marker */ +.codehilite.blinds-dark .w { color: #BBB } /* Text.Whitespace */ +.codehilite.blinds-dark .mb { color: #BBB } /* Literal.Number.Bin */ +.codehilite.blinds-dark .mf { color: #BBB } /* Literal.Number.Float */ +.codehilite.blinds-dark .mh { color: #BBB } /* Literal.Number.Hex */ +.codehilite.blinds-dark .mi { color: #BBB } /* Literal.Number.Integer */ +.codehilite.blinds-dark .mo { color: #BBB } /* Literal.Number.Oct */ +.codehilite.blinds-dark .sa { color: #D166A3 } /* Literal.String.Affix */ +.codehilite.blinds-dark .sb { color: #D166A3 } /* Literal.String.Backtick */ +.codehilite.blinds-dark .sc { color: #D166A3 } /* Literal.String.Char */ +.codehilite.blinds-dark .dl { color: #D166A3 } /* Literal.String.Delimiter */ +.codehilite.blinds-dark .sd { color: #D166A3 } /* Literal.String.Doc */ +.codehilite.blinds-dark .s2 { color: #D166A3 } /* Literal.String.Double */ +.codehilite.blinds-dark .se { color: #D166A3 } /* Literal.String.Escape */ +.codehilite.blinds-dark .sh { color: #D166A3 } /* Literal.String.Heredoc */ +.codehilite.blinds-dark .si { color: #D166A3 } /* Literal.String.Interpol */ +.codehilite.blinds-dark .sx { color: #D166A3 } /* Literal.String.Other */ +.codehilite.blinds-dark .sr { color: #D166A3 } /* Literal.String.Regex */ +.codehilite.blinds-dark .s1 { color: #D166A3 } /* Literal.String.Single */ +.codehilite.blinds-dark .ss { color: #E67 } /* Literal.String.Symbol */ +.codehilite.blinds-dark .bp { color: #6CE } /* Name.Builtin.Pseudo */ +.codehilite.blinds-dark .fm { color: #6CE } /* Name.Function.Magic */ +.codehilite.blinds-dark .vc { color: #5391CF } /* Name.Variable.Class */ +.codehilite.blinds-dark .vg { color: #5391CF } /* Name.Variable.Global */ +.codehilite.blinds-dark .vi { color: #5391CF } /* Name.Variable.Instance */ +.codehilite.blinds-dark .vm { color: #E67 } /* Name.Variable.Magic */ +.codehilite.blinds-dark .il { color: #BBB } /* Literal.Number.Integer.Long */ +.codehilite.blinds-light .hll { background-color: #add6ff } +.codehilite.blinds-light { background: #fcfcfc; color: #000 } +.codehilite.blinds-light .c { color: #737373 } /* Comment */ +.codehilite.blinds-light .err { color: #0072B2 } /* Error */ +.codehilite.blinds-light .k { color: #CC398B } /* Keyword */ +.codehilite.blinds-light .l { color: #0072B2 } /* Literal */ +.codehilite.blinds-light .n { color: #0072B2 } /* Name */ +.codehilite.blinds-light .o { color: #BF5400 } /* Operator */ +.codehilite.blinds-light .p { color: #000 } /* Punctuation */ +.codehilite.blinds-light .ch { color: #737373 } /* Comment.Hashbang */ +.codehilite.blinds-light .cm { color: #737373 } /* Comment.Multiline */ +.codehilite.blinds-light .cp { color: #737373 } /* Comment.Preproc */ +.codehilite.blinds-light .cpf { color: #737373 } /* Comment.PreprocFile */ +.codehilite.blinds-light .c1 { color: #737373 } /* Comment.Single */ +.codehilite.blinds-light .cs { color: #737373 } /* Comment.Special */ +.codehilite.blinds-light .gd { color: #0072B2 } /* Generic.Deleted */ +.codehilite.blinds-light .ge { font-style: italic } /* Generic.Emph */ +.codehilite.blinds-light .gh { color: #0072B2 } /* Generic.Heading */ +.codehilite.blinds-light .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.blinds-light .gu { color: #0072B2 } /* Generic.Subheading */ +.codehilite.blinds-light .kc { color: #CC398B } /* Keyword.Constant */ +.codehilite.blinds-light .kd { color: #CC398B } /* Keyword.Declaration */ +.codehilite.blinds-light .kn { color: #CC398B } /* Keyword.Namespace */ +.codehilite.blinds-light .kp { color: #CC398B } /* Keyword.Pseudo */ +.codehilite.blinds-light .kr { color: #CC398B } /* Keyword.Reserved */ +.codehilite.blinds-light .kt { color: #008561 } /* Keyword.Type */ +.codehilite.blinds-light .ld { color: #0072B2 } /* Literal.Date */ +.codehilite.blinds-light .m { color: #000 } /* Literal.Number */ +.codehilite.blinds-light .s { color: #CC398B } /* Literal.String */ +.codehilite.blinds-light .na { color: #CC398B } /* Name.Attribute */ +.codehilite.blinds-light .nb { color: #008561 } /* Name.Builtin */ +.codehilite.blinds-light .nc { color: #BF5400 } /* Name.Class */ +.codehilite.blinds-light .no { color: #BF5400 } /* Name.Constant */ +.codehilite.blinds-light .nd { color: #996B00 } /* Name.Decorator */ +.codehilite.blinds-light .ni { color: #0072B2 } /* Name.Entity */ +.codehilite.blinds-light .ne { color: #0072B2 } /* Name.Exception */ +.codehilite.blinds-light .nf { color: #008561 } /* Name.Function */ +.codehilite.blinds-light .nl { color: #BF5400 } /* Name.Label */ +.codehilite.blinds-light .nn { color: #008561 } /* Name.Namespace */ +.codehilite.blinds-light .nx { color: #0072B2 } /* Name.Other */ +.codehilite.blinds-light .py { color: #0072B2 } /* Name.Property */ +.codehilite.blinds-light .nt { color: #008561 } /* Name.Tag */ +.codehilite.blinds-light .nv { color: #0072B2 } /* Name.Variable */ +.codehilite.blinds-light .ow { color: #CC398B } /* Operator.Word */ +.codehilite.blinds-light .pm { color: #000 } /* Punctuation.Marker */ +.codehilite.blinds-light .w { color: #000 } /* Text.Whitespace */ +.codehilite.blinds-light .mb { color: #000 } /* Literal.Number.Bin */ +.codehilite.blinds-light .mf { color: #000 } /* Literal.Number.Float */ +.codehilite.blinds-light .mh { color: #000 } /* Literal.Number.Hex */ +.codehilite.blinds-light .mi { color: #000 } /* Literal.Number.Integer */ +.codehilite.blinds-light .mo { color: #000 } /* Literal.Number.Oct */ +.codehilite.blinds-light .sa { color: #CC398B } /* Literal.String.Affix */ +.codehilite.blinds-light .sb { color: #CC398B } /* Literal.String.Backtick */ +.codehilite.blinds-light .sc { color: #CC398B } /* Literal.String.Char */ +.codehilite.blinds-light .dl { color: #CC398B } /* Literal.String.Delimiter */ +.codehilite.blinds-light .sd { color: #CC398B } /* Literal.String.Doc */ +.codehilite.blinds-light .s2 { color: #CC398B } /* Literal.String.Double */ +.codehilite.blinds-light .se { color: #CC398B } /* Literal.String.Escape */ +.codehilite.blinds-light .sh { color: #CC398B } /* Literal.String.Heredoc */ +.codehilite.blinds-light .si { color: #CC398B } /* Literal.String.Interpol */ +.codehilite.blinds-light .sx { color: #CC398B } /* Literal.String.Other */ +.codehilite.blinds-light .sr { color: #CC398B } /* Literal.String.Regex */ +.codehilite.blinds-light .s1 { color: #CC398B } /* Literal.String.Single */ +.codehilite.blinds-light .ss { color: #BF5400 } /* Literal.String.Symbol */ +.codehilite.blinds-light .bp { color: #008561 } /* Name.Builtin.Pseudo */ +.codehilite.blinds-light .fm { color: #008561 } /* Name.Function.Magic */ +.codehilite.blinds-light .vc { color: #0072B2 } /* Name.Variable.Class */ +.codehilite.blinds-light .vg { color: #0072B2 } /* Name.Variable.Global */ +.codehilite.blinds-light .vi { color: #0072B2 } /* Name.Variable.Instance */ +.codehilite.blinds-light .vm { color: #BF5400 } /* Name.Variable.Magic */ +.codehilite.blinds-light .il { color: #000 } /* Literal.Number.Integer.Long */ +.codehilite.github-dark .hll { background-color: #6e7681 } +.codehilite.github-dark { background: #0d1117; color: #E6EDF3 } +.codehilite.github-dark .c { color: #8B949E; font-style: italic } /* Comment */ +.codehilite.github-dark .err { color: #F85149 } /* Error */ +.codehilite.github-dark .esc { color: #E6EDF3 } /* Escape */ +.codehilite.github-dark .g { color: #E6EDF3 } /* Generic */ +.codehilite.github-dark .k { color: #FF7B72 } /* Keyword */ +.codehilite.github-dark .l { color: #A5D6FF } /* Literal */ +.codehilite.github-dark .n { color: #E6EDF3 } /* Name */ +.codehilite.github-dark .o { color: #FF7B72; font-weight: bold } /* Operator */ +.codehilite.github-dark .x { color: #E6EDF3 } /* Other */ +.codehilite.github-dark .p { color: #E6EDF3 } /* Punctuation */ +.codehilite.github-dark .ch { color: #8B949E; font-style: italic } /* Comment.Hashbang */ +.codehilite.github-dark .cm { color: #8B949E; font-style: italic } /* Comment.Multiline */ +.codehilite.github-dark .cp { color: #8B949E; font-weight: bold; font-style: italic } /* Comment.Preproc */ +.codehilite.github-dark .cpf { color: #8B949E; font-style: italic } /* Comment.PreprocFile */ +.codehilite.github-dark .c1 { color: #8B949E; font-style: italic } /* Comment.Single */ +.codehilite.github-dark .cs { color: #8B949E; font-weight: bold; font-style: italic } /* Comment.Special */ +.codehilite.github-dark .gd { color: #FFA198; background-color: #490202 } /* Generic.Deleted */ +.codehilite.github-dark .ge { color: #E6EDF3; font-style: italic } /* Generic.Emph */ +.codehilite.github-dark .ges { color: #E6EDF3; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite.github-dark .gr { color: #FFA198 } /* Generic.Error */ +.codehilite.github-dark .gh { color: #79C0FF; font-weight: bold } /* Generic.Heading */ +.codehilite.github-dark .gi { color: #56D364; background-color: #0F5323 } /* Generic.Inserted */ +.codehilite.github-dark .go { color: #8B949E } /* Generic.Output */ +.codehilite.github-dark .gp { color: #8B949E } /* Generic.Prompt */ +.codehilite.github-dark .gs { color: #E6EDF3; font-weight: bold } /* Generic.Strong */ +.codehilite.github-dark .gu { color: #79C0FF } /* Generic.Subheading */ +.codehilite.github-dark .gt { color: #FF7B72 } /* Generic.Traceback */ +.codehilite.github-dark .g-Underline { color: #E6EDF3; text-decoration: underline } /* Generic.Underline */ +.codehilite.github-dark .kc { color: #79C0FF } /* Keyword.Constant */ +.codehilite.github-dark .kd { color: #FF7B72 } /* Keyword.Declaration */ +.codehilite.github-dark .kn { color: #FF7B72 } /* Keyword.Namespace */ +.codehilite.github-dark .kp { color: #79C0FF } /* Keyword.Pseudo */ +.codehilite.github-dark .kr { color: #FF7B72 } /* Keyword.Reserved */ +.codehilite.github-dark .kt { color: #FF7B72 } /* Keyword.Type */ +.codehilite.github-dark .ld { color: #79C0FF } /* Literal.Date */ +.codehilite.github-dark .m { color: #A5D6FF } /* Literal.Number */ +.codehilite.github-dark .s { color: #A5D6FF } /* Literal.String */ +.codehilite.github-dark .na { color: #E6EDF3 } /* Name.Attribute */ +.codehilite.github-dark .nb { color: #E6EDF3 } /* Name.Builtin */ +.codehilite.github-dark .nc { color: #F0883E; font-weight: bold } /* Name.Class */ +.codehilite.github-dark .no { color: #79C0FF; font-weight: bold } /* Name.Constant */ +.codehilite.github-dark .nd { color: #D2A8FF; font-weight: bold } /* Name.Decorator */ +.codehilite.github-dark .ni { color: #FFA657 } /* Name.Entity */ +.codehilite.github-dark .ne { color: #F0883E; font-weight: bold } /* Name.Exception */ +.codehilite.github-dark .nf { color: #D2A8FF; font-weight: bold } /* Name.Function */ +.codehilite.github-dark .nl { color: #79C0FF; font-weight: bold } /* Name.Label */ +.codehilite.github-dark .nn { color: #FF7B72 } /* Name.Namespace */ +.codehilite.github-dark .nx { color: #E6EDF3 } /* Name.Other */ +.codehilite.github-dark .py { color: #79C0FF } /* Name.Property */ +.codehilite.github-dark .nt { color: #7EE787 } /* Name.Tag */ +.codehilite.github-dark .nv { color: #79C0FF } /* Name.Variable */ +.codehilite.github-dark .ow { color: #FF7B72; font-weight: bold } /* Operator.Word */ +.codehilite.github-dark .pm { color: #E6EDF3 } /* Punctuation.Marker */ +.codehilite.github-dark .w { color: #6E7681 } /* Text.Whitespace */ +.codehilite.github-dark .mb { color: #A5D6FF } /* Literal.Number.Bin */ +.codehilite.github-dark .mf { color: #A5D6FF } /* Literal.Number.Float */ +.codehilite.github-dark .mh { color: #A5D6FF } /* Literal.Number.Hex */ +.codehilite.github-dark .mi { color: #A5D6FF } /* Literal.Number.Integer */ +.codehilite.github-dark .mo { color: #A5D6FF } /* Literal.Number.Oct */ +.codehilite.github-dark .sa { color: #79C0FF } /* Literal.String.Affix */ +.codehilite.github-dark .sb { color: #A5D6FF } /* Literal.String.Backtick */ +.codehilite.github-dark .sc { color: #A5D6FF } /* Literal.String.Char */ +.codehilite.github-dark .dl { color: #79C0FF } /* Literal.String.Delimiter */ +.codehilite.github-dark .sd { color: #A5D6FF } /* Literal.String.Doc */ +.codehilite.github-dark .s2 { color: #A5D6FF } /* Literal.String.Double */ +.codehilite.github-dark .se { color: #79C0FF } /* Literal.String.Escape */ +.codehilite.github-dark .sh { color: #79C0FF } /* Literal.String.Heredoc */ +.codehilite.github-dark .si { color: #A5D6FF } /* Literal.String.Interpol */ +.codehilite.github-dark .sx { color: #A5D6FF } /* Literal.String.Other */ +.codehilite.github-dark .sr { color: #79C0FF } /* Literal.String.Regex */ +.codehilite.github-dark .s1 { color: #A5D6FF } /* Literal.String.Single */ +.codehilite.github-dark .ss { color: #A5D6FF } /* Literal.String.Symbol */ +.codehilite.github-dark .bp { color: #E6EDF3 } /* Name.Builtin.Pseudo */ +.codehilite.github-dark .fm { color: #D2A8FF; font-weight: bold } /* Name.Function.Magic */ +.codehilite.github-dark .vc { color: #79C0FF } /* Name.Variable.Class */ +.codehilite.github-dark .vg { color: #79C0FF } /* Name.Variable.Global */ +.codehilite.github-dark .vi { color: #79C0FF } /* Name.Variable.Instance */ +.codehilite.github-dark .vm { color: #79C0FF } /* Name.Variable.Magic */ +.codehilite.github-dark .il { color: #A5D6FF } /* Literal.Number.Integer.Long */ +.codehilite.github-dark-colorblind .hll { background-color: #58a6ff70 } +.codehilite.github-dark-colorblind { background: #0d1117; color: #C9D1D9 } +.codehilite.github-dark-colorblind .c { color: #B1BAC4 } /* Comment */ +.codehilite.github-dark-colorblind .err { color: #EC8E2C } /* Error */ +.codehilite.github-dark-colorblind .k { color: #EC8E2C } /* Keyword */ +.codehilite.github-dark-colorblind .l { color: #FDAC54 } /* Literal */ +.codehilite.github-dark-colorblind .n { color: #D2A8FF } /* Name */ +.codehilite.github-dark-colorblind .o { color: #A5D6FF } /* Operator */ +.codehilite.github-dark-colorblind .p { color: #C9D1D9 } /* Punctuation */ +.codehilite.github-dark-colorblind .ch { color: #B1BAC4 } /* Comment.Hashbang */ +.codehilite.github-dark-colorblind .cm { color: #B1BAC4 } /* Comment.Multiline */ +.codehilite.github-dark-colorblind .cp { color: #B1BAC4 } /* Comment.Preproc */ +.codehilite.github-dark-colorblind .cpf { color: #B1BAC4 } /* Comment.PreprocFile */ +.codehilite.github-dark-colorblind .c1 { color: #B1BAC4 } /* Comment.Single */ +.codehilite.github-dark-colorblind .cs { color: #B1BAC4 } /* Comment.Special */ +.codehilite.github-dark-colorblind .gd { color: #79C0FF } /* Generic.Deleted */ +.codehilite.github-dark-colorblind .ge { font-style: italic } /* Generic.Emph */ +.codehilite.github-dark-colorblind .gr { color: #EC8E2C } /* Generic.Error */ +.codehilite.github-dark-colorblind .gh { color: #79C0FF } /* Generic.Heading */ +.codehilite.github-dark-colorblind .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.github-dark-colorblind .gu { color: #79C0FF } /* Generic.Subheading */ +.codehilite.github-dark-colorblind .kc { color: #79C0FF } /* Keyword.Constant */ +.codehilite.github-dark-colorblind .kd { color: #EC8E2C } /* Keyword.Declaration */ +.codehilite.github-dark-colorblind .kn { color: #EC8E2C } /* Keyword.Namespace */ +.codehilite.github-dark-colorblind .kp { color: #EC8E2C } /* Keyword.Pseudo */ +.codehilite.github-dark-colorblind .kr { color: #EC8E2C } /* Keyword.Reserved */ +.codehilite.github-dark-colorblind .kt { color: #EC8E2C } /* Keyword.Type */ +.codehilite.github-dark-colorblind .ld { color: #FDAC54 } /* Literal.Date */ +.codehilite.github-dark-colorblind .m { color: #FDAC54 } /* Literal.Number */ +.codehilite.github-dark-colorblind .s { color: #79C0FF } /* Literal.String */ +.codehilite.github-dark-colorblind .na { color: #FDAC54 } /* Name.Attribute */ +.codehilite.github-dark-colorblind .nb { color: #FDAC54 } /* Name.Builtin */ +.codehilite.github-dark-colorblind .nc { color: #79C0FF } /* Name.Class */ +.codehilite.github-dark-colorblind .no { color: #79C0FF } /* Name.Constant */ +.codehilite.github-dark-colorblind .nd { color: #FDAC54 } /* Name.Decorator */ +.codehilite.github-dark-colorblind .ni { color: #A5D6FF } /* Name.Entity */ +.codehilite.github-dark-colorblind .ne { color: #D2A8FF } /* Name.Exception */ +.codehilite.github-dark-colorblind .nf { color: #79C0FF } /* Name.Function */ +.codehilite.github-dark-colorblind .nl { color: #FDAC54 } /* Name.Label */ +.codehilite.github-dark-colorblind .nn { color: #C9D1D9 } /* Name.Namespace */ +.codehilite.github-dark-colorblind .nx { color: #D2A8FF } /* Name.Other */ +.codehilite.github-dark-colorblind .py { color: #79C0FF } /* Name.Property */ +.codehilite.github-dark-colorblind .nt { color: #A5D6FF } /* Name.Tag */ +.codehilite.github-dark-colorblind .nv { color: #FDAC54 } /* Name.Variable */ +.codehilite.github-dark-colorblind .ow { color: #D2A8FF } /* Operator.Word */ +.codehilite.github-dark-colorblind .pm { color: #C9D1D9 } /* Punctuation.Marker */ +.codehilite.github-dark-colorblind .w { color: #C9D1D9 } /* Text.Whitespace */ +.codehilite.github-dark-colorblind .mb { color: #FDAC54 } /* Literal.Number.Bin */ +.codehilite.github-dark-colorblind .mf { color: #FDAC54 } /* Literal.Number.Float */ +.codehilite.github-dark-colorblind .mh { color: #FDAC54 } /* Literal.Number.Hex */ +.codehilite.github-dark-colorblind .mi { color: #FDAC54 } /* Literal.Number.Integer */ +.codehilite.github-dark-colorblind .mo { color: #FDAC54 } /* Literal.Number.Oct */ +.codehilite.github-dark-colorblind .sa { color: #79C0FF } /* Literal.String.Affix */ +.codehilite.github-dark-colorblind .sb { color: #79C0FF } /* Literal.String.Backtick */ +.codehilite.github-dark-colorblind .sc { color: #79C0FF } /* Literal.String.Char */ +.codehilite.github-dark-colorblind .dl { color: #79C0FF } /* Literal.String.Delimiter */ +.codehilite.github-dark-colorblind .sd { color: #79C0FF } /* Literal.String.Doc */ +.codehilite.github-dark-colorblind .s2 { color: #79C0FF } /* Literal.String.Double */ +.codehilite.github-dark-colorblind .se { color: #79C0FF } /* Literal.String.Escape */ +.codehilite.github-dark-colorblind .sh { color: #79C0FF } /* Literal.String.Heredoc */ +.codehilite.github-dark-colorblind .si { color: #79C0FF } /* Literal.String.Interpol */ +.codehilite.github-dark-colorblind .sx { color: #79C0FF } /* Literal.String.Other */ +.codehilite.github-dark-colorblind .sr { color: #79C0FF } /* Literal.String.Regex */ +.codehilite.github-dark-colorblind .s1 { color: #79C0FF } /* Literal.String.Single */ +.codehilite.github-dark-colorblind .ss { color: #79C0FF } /* Literal.String.Symbol */ +.codehilite.github-dark-colorblind .bp { color: #FDAC54 } /* Name.Builtin.Pseudo */ +.codehilite.github-dark-colorblind .fm { color: #79C0FF } /* Name.Function.Magic */ +.codehilite.github-dark-colorblind .vc { color: #FDAC54 } /* Name.Variable.Class */ +.codehilite.github-dark-colorblind .vg { color: #FDAC54 } /* Name.Variable.Global */ +.codehilite.github-dark-colorblind .vi { color: #FDAC54 } /* Name.Variable.Instance */ +.codehilite.github-dark-colorblind .vm { color: #FDAC54 } /* Name.Variable.Magic */ +.codehilite.github-dark-colorblind .il { color: #FDAC54 } /* Literal.Number.Integer.Long */ +.codehilite.github-dark-high-contrast .hll { background-color: #58a6ff70 } +.codehilite.github-dark-high-contrast { background: #0d1117; color: #C9D1D9 } +.codehilite.github-dark-high-contrast .c { color: #D9DEE3 } /* Comment */ +.codehilite.github-dark-high-contrast .err { color: #FF9492 } /* Error */ +.codehilite.github-dark-high-contrast .k { color: #FF9492 } /* Keyword */ +.codehilite.github-dark-high-contrast .l { color: #FFB757 } /* Literal */ +.codehilite.github-dark-high-contrast .n { color: #DBB7FF } /* Name */ +.codehilite.github-dark-high-contrast .o { color: #72F088 } /* Operator */ +.codehilite.github-dark-high-contrast .p { color: #C9D1D9 } /* Punctuation */ +.codehilite.github-dark-high-contrast .ch { color: #D9DEE3 } /* Comment.Hashbang */ +.codehilite.github-dark-high-contrast .cm { color: #D9DEE3 } /* Comment.Multiline */ +.codehilite.github-dark-high-contrast .cp { color: #D9DEE3 } /* Comment.Preproc */ +.codehilite.github-dark-high-contrast .cpf { color: #D9DEE3 } /* Comment.PreprocFile */ +.codehilite.github-dark-high-contrast .c1 { color: #D9DEE3 } /* Comment.Single */ +.codehilite.github-dark-high-contrast .cs { color: #D9DEE3 } /* Comment.Special */ +.codehilite.github-dark-high-contrast .gd { color: #91CBFF } /* Generic.Deleted */ +.codehilite.github-dark-high-contrast .ge { font-style: italic } /* Generic.Emph */ +.codehilite.github-dark-high-contrast .gr { color: #FF9492 } /* Generic.Error */ +.codehilite.github-dark-high-contrast .gh { color: #91CBFF } /* Generic.Heading */ +.codehilite.github-dark-high-contrast .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.github-dark-high-contrast .gu { color: #91CBFF } /* Generic.Subheading */ +.codehilite.github-dark-high-contrast .kc { color: #91CBFF } /* Keyword.Constant */ +.codehilite.github-dark-high-contrast .kd { color: #FF9492 } /* Keyword.Declaration */ +.codehilite.github-dark-high-contrast .kn { color: #FF9492 } /* Keyword.Namespace */ +.codehilite.github-dark-high-contrast .kp { color: #FF9492 } /* Keyword.Pseudo */ +.codehilite.github-dark-high-contrast .kr { color: #FF9492 } /* Keyword.Reserved */ +.codehilite.github-dark-high-contrast .kt { color: #FF9492 } /* Keyword.Type */ +.codehilite.github-dark-high-contrast .ld { color: #FFB757 } /* Literal.Date */ +.codehilite.github-dark-high-contrast .m { color: #FFB757 } /* Literal.Number */ +.codehilite.github-dark-high-contrast .s { color: #91CBFF } /* Literal.String */ +.codehilite.github-dark-high-contrast .na { color: #FFB757 } /* Name.Attribute */ +.codehilite.github-dark-high-contrast .nb { color: #FFB757 } /* Name.Builtin */ +.codehilite.github-dark-high-contrast .nc { color: #91CBFF } /* Name.Class */ +.codehilite.github-dark-high-contrast .no { color: #91CBFF } /* Name.Constant */ +.codehilite.github-dark-high-contrast .nd { color: #FFB757 } /* Name.Decorator */ +.codehilite.github-dark-high-contrast .ni { color: #72F088 } /* Name.Entity */ +.codehilite.github-dark-high-contrast .ne { color: #DBB7FF } /* Name.Exception */ +.codehilite.github-dark-high-contrast .nf { color: #91CBFF } /* Name.Function */ +.codehilite.github-dark-high-contrast .nl { color: #FFB757 } /* Name.Label */ +.codehilite.github-dark-high-contrast .nn { color: #C9D1D9 } /* Name.Namespace */ +.codehilite.github-dark-high-contrast .nx { color: #DBB7FF } /* Name.Other */ +.codehilite.github-dark-high-contrast .py { color: #91CBFF } /* Name.Property */ +.codehilite.github-dark-high-contrast .nt { color: #72F088 } /* Name.Tag */ +.codehilite.github-dark-high-contrast .nv { color: #FFB757 } /* Name.Variable */ +.codehilite.github-dark-high-contrast .ow { color: #DBB7FF } /* Operator.Word */ +.codehilite.github-dark-high-contrast .pm { color: #C9D1D9 } /* Punctuation.Marker */ +.codehilite.github-dark-high-contrast .w { color: #C9D1D9 } /* Text.Whitespace */ +.codehilite.github-dark-high-contrast .mb { color: #FFB757 } /* Literal.Number.Bin */ +.codehilite.github-dark-high-contrast .mf { color: #FFB757 } /* Literal.Number.Float */ +.codehilite.github-dark-high-contrast .mh { color: #FFB757 } /* Literal.Number.Hex */ +.codehilite.github-dark-high-contrast .mi { color: #FFB757 } /* Literal.Number.Integer */ +.codehilite.github-dark-high-contrast .mo { color: #FFB757 } /* Literal.Number.Oct */ +.codehilite.github-dark-high-contrast .sa { color: #91CBFF } /* Literal.String.Affix */ +.codehilite.github-dark-high-contrast .sb { color: #91CBFF } /* Literal.String.Backtick */ +.codehilite.github-dark-high-contrast .sc { color: #91CBFF } /* Literal.String.Char */ +.codehilite.github-dark-high-contrast .dl { color: #91CBFF } /* Literal.String.Delimiter */ +.codehilite.github-dark-high-contrast .sd { color: #91CBFF } /* Literal.String.Doc */ +.codehilite.github-dark-high-contrast .s2 { color: #91CBFF } /* Literal.String.Double */ +.codehilite.github-dark-high-contrast .se { color: #91CBFF } /* Literal.String.Escape */ +.codehilite.github-dark-high-contrast .sh { color: #91CBFF } /* Literal.String.Heredoc */ +.codehilite.github-dark-high-contrast .si { color: #91CBFF } /* Literal.String.Interpol */ +.codehilite.github-dark-high-contrast .sx { color: #91CBFF } /* Literal.String.Other */ +.codehilite.github-dark-high-contrast .sr { color: #91CBFF } /* Literal.String.Regex */ +.codehilite.github-dark-high-contrast .s1 { color: #91CBFF } /* Literal.String.Single */ +.codehilite.github-dark-high-contrast .ss { color: #91CBFF } /* Literal.String.Symbol */ +.codehilite.github-dark-high-contrast .bp { color: #FFB757 } /* Name.Builtin.Pseudo */ +.codehilite.github-dark-high-contrast .fm { color: #91CBFF } /* Name.Function.Magic */ +.codehilite.github-dark-high-contrast .vc { color: #FFB757 } /* Name.Variable.Class */ +.codehilite.github-dark-high-contrast .vg { color: #FFB757 } /* Name.Variable.Global */ +.codehilite.github-dark-high-contrast .vi { color: #FFB757 } /* Name.Variable.Instance */ +.codehilite.github-dark-high-contrast .vm { color: #FFB757 } /* Name.Variable.Magic */ +.codehilite.github-dark-high-contrast .il { color: #FFB757 } /* Literal.Number.Integer.Long */ +.codehilite.github-light .hll { background-color: #0969da4a } +.codehilite.github-light { background: #ffffff; color: #24292F } +.codehilite.github-light .c { color: #6E7781 } /* Comment */ +.codehilite.github-light .err { color: #CF222E } /* Error */ +.codehilite.github-light .k { color: #CF222E } /* Keyword */ +.codehilite.github-light .l { color: #953800 } /* Literal */ +.codehilite.github-light .n { color: #8250DF } /* Name */ +.codehilite.github-light .o { color: #116329 } /* Operator */ +.codehilite.github-light .p { color: #24292F } /* Punctuation */ +.codehilite.github-light .ch { color: #6E7781 } /* Comment.Hashbang */ +.codehilite.github-light .cm { color: #6E7781 } /* Comment.Multiline */ +.codehilite.github-light .cp { color: #6E7781 } /* Comment.Preproc */ +.codehilite.github-light .cpf { color: #6E7781 } /* Comment.PreprocFile */ +.codehilite.github-light .c1 { color: #6E7781 } /* Comment.Single */ +.codehilite.github-light .cs { color: #6E7781 } /* Comment.Special */ +.codehilite.github-light .gd { color: #0550AE } /* Generic.Deleted */ +.codehilite.github-light .ge { font-style: italic } /* Generic.Emph */ +.codehilite.github-light .gr { color: #CF222E } /* Generic.Error */ +.codehilite.github-light .gh { color: #0550AE } /* Generic.Heading */ +.codehilite.github-light .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.github-light .gu { color: #0550AE } /* Generic.Subheading */ +.codehilite.github-light .kc { color: #0550AE } /* Keyword.Constant */ +.codehilite.github-light .kd { color: #CF222E } /* Keyword.Declaration */ +.codehilite.github-light .kn { color: #CF222E } /* Keyword.Namespace */ +.codehilite.github-light .kp { color: #CF222E } /* Keyword.Pseudo */ +.codehilite.github-light .kr { color: #CF222E } /* Keyword.Reserved */ +.codehilite.github-light .kt { color: #CF222E } /* Keyword.Type */ +.codehilite.github-light .ld { color: #953800 } /* Literal.Date */ +.codehilite.github-light .m { color: #953800 } /* Literal.Number */ +.codehilite.github-light .s { color: #0550AE } /* Literal.String */ +.codehilite.github-light .na { color: #953800 } /* Name.Attribute */ +.codehilite.github-light .nb { color: #953800 } /* Name.Builtin */ +.codehilite.github-light .nc { color: #0550AE } /* Name.Class */ +.codehilite.github-light .no { color: #0550AE } /* Name.Constant */ +.codehilite.github-light .nd { color: #953800 } /* Name.Decorator */ +.codehilite.github-light .ni { color: #116329 } /* Name.Entity */ +.codehilite.github-light .ne { color: #8250DF } /* Name.Exception */ +.codehilite.github-light .nf { color: #0550AE } /* Name.Function */ +.codehilite.github-light .nl { color: #953800 } /* Name.Label */ +.codehilite.github-light .nn { color: #24292F } /* Name.Namespace */ +.codehilite.github-light .nx { color: #8250DF } /* Name.Other */ +.codehilite.github-light .py { color: #0550AE } /* Name.Property */ +.codehilite.github-light .nt { color: #116329 } /* Name.Tag */ +.codehilite.github-light .nv { color: #953800 } /* Name.Variable */ +.codehilite.github-light .ow { color: #8250DF } /* Operator.Word */ +.codehilite.github-light .pm { color: #24292F } /* Punctuation.Marker */ +.codehilite.github-light .w { color: #24292F } /* Text.Whitespace */ +.codehilite.github-light .mb { color: #953800 } /* Literal.Number.Bin */ +.codehilite.github-light .mf { color: #953800 } /* Literal.Number.Float */ +.codehilite.github-light .mh { color: #953800 } /* Literal.Number.Hex */ +.codehilite.github-light .mi { color: #953800 } /* Literal.Number.Integer */ +.codehilite.github-light .mo { color: #953800 } /* Literal.Number.Oct */ +.codehilite.github-light .sa { color: #0550AE } /* Literal.String.Affix */ +.codehilite.github-light .sb { color: #0550AE } /* Literal.String.Backtick */ +.codehilite.github-light .sc { color: #0550AE } /* Literal.String.Char */ +.codehilite.github-light .dl { color: #0550AE } /* Literal.String.Delimiter */ +.codehilite.github-light .sd { color: #0550AE } /* Literal.String.Doc */ +.codehilite.github-light .s2 { color: #0550AE } /* Literal.String.Double */ +.codehilite.github-light .se { color: #0550AE } /* Literal.String.Escape */ +.codehilite.github-light .sh { color: #0550AE } /* Literal.String.Heredoc */ +.codehilite.github-light .si { color: #0550AE } /* Literal.String.Interpol */ +.codehilite.github-light .sx { color: #0550AE } /* Literal.String.Other */ +.codehilite.github-light .sr { color: #0550AE } /* Literal.String.Regex */ +.codehilite.github-light .s1 { color: #0550AE } /* Literal.String.Single */ +.codehilite.github-light .ss { color: #0550AE } /* Literal.String.Symbol */ +.codehilite.github-light .bp { color: #953800 } /* Name.Builtin.Pseudo */ +.codehilite.github-light .fm { color: #0550AE } /* Name.Function.Magic */ +.codehilite.github-light .vc { color: #953800 } /* Name.Variable.Class */ +.codehilite.github-light .vg { color: #953800 } /* Name.Variable.Global */ +.codehilite.github-light .vi { color: #953800 } /* Name.Variable.Instance */ +.codehilite.github-light .vm { color: #953800 } /* Name.Variable.Magic */ +.codehilite.github-light .il { color: #953800 } /* Literal.Number.Integer.Long */ +.codehilite.github-light-colorblind .hll { background-color: #0969da4a } +.codehilite.github-light-colorblind { background: #ffffff; color: #24292F } +.codehilite.github-light-colorblind .c { color: #6E7781 } /* Comment */ +.codehilite.github-light-colorblind .err { color: #B35900 } /* Error */ +.codehilite.github-light-colorblind .k { color: #B35900 } /* Keyword */ +.codehilite.github-light-colorblind .l { color: #8A4600 } /* Literal */ +.codehilite.github-light-colorblind .n { color: #8250DF } /* Name */ +.codehilite.github-light-colorblind .o { color: #0550AE } /* Operator */ +.codehilite.github-light-colorblind .p { color: #24292F } /* Punctuation */ +.codehilite.github-light-colorblind .ch { color: #6E7781 } /* Comment.Hashbang */ +.codehilite.github-light-colorblind .cm { color: #6E7781 } /* Comment.Multiline */ +.codehilite.github-light-colorblind .cp { color: #6E7781 } /* Comment.Preproc */ +.codehilite.github-light-colorblind .cpf { color: #6E7781 } /* Comment.PreprocFile */ +.codehilite.github-light-colorblind .c1 { color: #6E7781 } /* Comment.Single */ +.codehilite.github-light-colorblind .cs { color: #6E7781 } /* Comment.Special */ +.codehilite.github-light-colorblind .gd { color: #0550AE } /* Generic.Deleted */ +.codehilite.github-light-colorblind .ge { font-style: italic } /* Generic.Emph */ +.codehilite.github-light-colorblind .gr { color: #B35900 } /* Generic.Error */ +.codehilite.github-light-colorblind .gh { color: #0550AE } /* Generic.Heading */ +.codehilite.github-light-colorblind .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.github-light-colorblind .gu { color: #0550AE } /* Generic.Subheading */ +.codehilite.github-light-colorblind .kc { color: #0550AE } /* Keyword.Constant */ +.codehilite.github-light-colorblind .kd { color: #B35900 } /* Keyword.Declaration */ +.codehilite.github-light-colorblind .kn { color: #B35900 } /* Keyword.Namespace */ +.codehilite.github-light-colorblind .kp { color: #B35900 } /* Keyword.Pseudo */ +.codehilite.github-light-colorblind .kr { color: #B35900 } /* Keyword.Reserved */ +.codehilite.github-light-colorblind .kt { color: #B35900 } /* Keyword.Type */ +.codehilite.github-light-colorblind .ld { color: #8A4600 } /* Literal.Date */ +.codehilite.github-light-colorblind .m { color: #8A4600 } /* Literal.Number */ +.codehilite.github-light-colorblind .s { color: #0550AE } /* Literal.String */ +.codehilite.github-light-colorblind .na { color: #8A4600 } /* Name.Attribute */ +.codehilite.github-light-colorblind .nb { color: #8A4600 } /* Name.Builtin */ +.codehilite.github-light-colorblind .nc { color: #0550AE } /* Name.Class */ +.codehilite.github-light-colorblind .no { color: #0550AE } /* Name.Constant */ +.codehilite.github-light-colorblind .nd { color: #8A4600 } /* Name.Decorator */ +.codehilite.github-light-colorblind .ni { color: #0550AE } /* Name.Entity */ +.codehilite.github-light-colorblind .ne { color: #8250DF } /* Name.Exception */ +.codehilite.github-light-colorblind .nf { color: #0550AE } /* Name.Function */ +.codehilite.github-light-colorblind .nl { color: #8A4600 } /* Name.Label */ +.codehilite.github-light-colorblind .nn { color: #24292F } /* Name.Namespace */ +.codehilite.github-light-colorblind .nx { color: #8250DF } /* Name.Other */ +.codehilite.github-light-colorblind .py { color: #0550AE } /* Name.Property */ +.codehilite.github-light-colorblind .nt { color: #0550AE } /* Name.Tag */ +.codehilite.github-light-colorblind .nv { color: #8A4600 } /* Name.Variable */ +.codehilite.github-light-colorblind .ow { color: #8250DF } /* Operator.Word */ +.codehilite.github-light-colorblind .pm { color: #24292F } /* Punctuation.Marker */ +.codehilite.github-light-colorblind .w { color: #24292F } /* Text.Whitespace */ +.codehilite.github-light-colorblind .mb { color: #8A4600 } /* Literal.Number.Bin */ +.codehilite.github-light-colorblind .mf { color: #8A4600 } /* Literal.Number.Float */ +.codehilite.github-light-colorblind .mh { color: #8A4600 } /* Literal.Number.Hex */ +.codehilite.github-light-colorblind .mi { color: #8A4600 } /* Literal.Number.Integer */ +.codehilite.github-light-colorblind .mo { color: #8A4600 } /* Literal.Number.Oct */ +.codehilite.github-light-colorblind .sa { color: #0550AE } /* Literal.String.Affix */ +.codehilite.github-light-colorblind .sb { color: #0550AE } /* Literal.String.Backtick */ +.codehilite.github-light-colorblind .sc { color: #0550AE } /* Literal.String.Char */ +.codehilite.github-light-colorblind .dl { color: #0550AE } /* Literal.String.Delimiter */ +.codehilite.github-light-colorblind .sd { color: #0550AE } /* Literal.String.Doc */ +.codehilite.github-light-colorblind .s2 { color: #0550AE } /* Literal.String.Double */ +.codehilite.github-light-colorblind .se { color: #0550AE } /* Literal.String.Escape */ +.codehilite.github-light-colorblind .sh { color: #0550AE } /* Literal.String.Heredoc */ +.codehilite.github-light-colorblind .si { color: #0550AE } /* Literal.String.Interpol */ +.codehilite.github-light-colorblind .sx { color: #0550AE } /* Literal.String.Other */ +.codehilite.github-light-colorblind .sr { color: #0550AE } /* Literal.String.Regex */ +.codehilite.github-light-colorblind .s1 { color: #0550AE } /* Literal.String.Single */ +.codehilite.github-light-colorblind .ss { color: #0550AE } /* Literal.String.Symbol */ +.codehilite.github-light-colorblind .bp { color: #8A4600 } /* Name.Builtin.Pseudo */ +.codehilite.github-light-colorblind .fm { color: #0550AE } /* Name.Function.Magic */ +.codehilite.github-light-colorblind .vc { color: #8A4600 } /* Name.Variable.Class */ +.codehilite.github-light-colorblind .vg { color: #8A4600 } /* Name.Variable.Global */ +.codehilite.github-light-colorblind .vi { color: #8A4600 } /* Name.Variable.Instance */ +.codehilite.github-light-colorblind .vm { color: #8A4600 } /* Name.Variable.Magic */ +.codehilite.github-light-colorblind .il { color: #8A4600 } /* Literal.Number.Integer.Long */ +.codehilite.github-light-high-contrast .hll { background-color: #0969da4a } +.codehilite.github-light-high-contrast { background: #ffffff; color: #24292F } +.codehilite.github-light-high-contrast .c { color: #66707B } /* Comment */ +.codehilite.github-light-high-contrast .err { color: #A0111F } /* Error */ +.codehilite.github-light-high-contrast .k { color: #A0111F } /* Keyword */ +.codehilite.github-light-high-contrast .l { color: #702C00 } /* Literal */ +.codehilite.github-light-high-contrast .n { color: #622CBC } /* Name */ +.codehilite.github-light-high-contrast .o { color: #024C1A } /* Operator */ +.codehilite.github-light-high-contrast .p { color: #24292F } /* Punctuation */ +.codehilite.github-light-high-contrast .ch { color: #66707B } /* Comment.Hashbang */ +.codehilite.github-light-high-contrast .cm { color: #66707B } /* Comment.Multiline */ +.codehilite.github-light-high-contrast .cp { color: #66707B } /* Comment.Preproc */ +.codehilite.github-light-high-contrast .cpf { color: #66707B } /* Comment.PreprocFile */ +.codehilite.github-light-high-contrast .c1 { color: #66707B } /* Comment.Single */ +.codehilite.github-light-high-contrast .cs { color: #66707B } /* Comment.Special */ +.codehilite.github-light-high-contrast .gd { color: #023B95 } /* Generic.Deleted */ +.codehilite.github-light-high-contrast .ge { font-style: italic } /* Generic.Emph */ +.codehilite.github-light-high-contrast .gr { color: #A0111F } /* Generic.Error */ +.codehilite.github-light-high-contrast .gh { color: #023B95 } /* Generic.Heading */ +.codehilite.github-light-high-contrast .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.github-light-high-contrast .gu { color: #023B95 } /* Generic.Subheading */ +.codehilite.github-light-high-contrast .kc { color: #023B95 } /* Keyword.Constant */ +.codehilite.github-light-high-contrast .kd { color: #A0111F } /* Keyword.Declaration */ +.codehilite.github-light-high-contrast .kn { color: #A0111F } /* Keyword.Namespace */ +.codehilite.github-light-high-contrast .kp { color: #A0111F } /* Keyword.Pseudo */ +.codehilite.github-light-high-contrast .kr { color: #A0111F } /* Keyword.Reserved */ +.codehilite.github-light-high-contrast .kt { color: #A0111F } /* Keyword.Type */ +.codehilite.github-light-high-contrast .ld { color: #702C00 } /* Literal.Date */ +.codehilite.github-light-high-contrast .m { color: #702C00 } /* Literal.Number */ +.codehilite.github-light-high-contrast .s { color: #023B95 } /* Literal.String */ +.codehilite.github-light-high-contrast .na { color: #702C00 } /* Name.Attribute */ +.codehilite.github-light-high-contrast .nb { color: #702C00 } /* Name.Builtin */ +.codehilite.github-light-high-contrast .nc { color: #023B95 } /* Name.Class */ +.codehilite.github-light-high-contrast .no { color: #023B95 } /* Name.Constant */ +.codehilite.github-light-high-contrast .nd { color: #702C00 } /* Name.Decorator */ +.codehilite.github-light-high-contrast .ni { color: #024C1A } /* Name.Entity */ +.codehilite.github-light-high-contrast .ne { color: #622CBC } /* Name.Exception */ +.codehilite.github-light-high-contrast .nf { color: #023B95 } /* Name.Function */ +.codehilite.github-light-high-contrast .nl { color: #702C00 } /* Name.Label */ +.codehilite.github-light-high-contrast .nn { color: #24292F } /* Name.Namespace */ +.codehilite.github-light-high-contrast .nx { color: #622CBC } /* Name.Other */ +.codehilite.github-light-high-contrast .py { color: #023B95 } /* Name.Property */ +.codehilite.github-light-high-contrast .nt { color: #024C1A } /* Name.Tag */ +.codehilite.github-light-high-contrast .nv { color: #702C00 } /* Name.Variable */ +.codehilite.github-light-high-contrast .ow { color: #622CBC } /* Operator.Word */ +.codehilite.github-light-high-contrast .pm { color: #24292F } /* Punctuation.Marker */ +.codehilite.github-light-high-contrast .w { color: #24292F } /* Text.Whitespace */ +.codehilite.github-light-high-contrast .mb { color: #702C00 } /* Literal.Number.Bin */ +.codehilite.github-light-high-contrast .mf { color: #702C00 } /* Literal.Number.Float */ +.codehilite.github-light-high-contrast .mh { color: #702C00 } /* Literal.Number.Hex */ +.codehilite.github-light-high-contrast .mi { color: #702C00 } /* Literal.Number.Integer */ +.codehilite.github-light-high-contrast .mo { color: #702C00 } /* Literal.Number.Oct */ +.codehilite.github-light-high-contrast .sa { color: #023B95 } /* Literal.String.Affix */ +.codehilite.github-light-high-contrast .sb { color: #023B95 } /* Literal.String.Backtick */ +.codehilite.github-light-high-contrast .sc { color: #023B95 } /* Literal.String.Char */ +.codehilite.github-light-high-contrast .dl { color: #023B95 } /* Literal.String.Delimiter */ +.codehilite.github-light-high-contrast .sd { color: #023B95 } /* Literal.String.Doc */ +.codehilite.github-light-high-contrast .s2 { color: #023B95 } /* Literal.String.Double */ +.codehilite.github-light-high-contrast .se { color: #023B95 } /* Literal.String.Escape */ +.codehilite.github-light-high-contrast .sh { color: #023B95 } /* Literal.String.Heredoc */ +.codehilite.github-light-high-contrast .si { color: #023B95 } /* Literal.String.Interpol */ +.codehilite.github-light-high-contrast .sx { color: #023B95 } /* Literal.String.Other */ +.codehilite.github-light-high-contrast .sr { color: #023B95 } /* Literal.String.Regex */ +.codehilite.github-light-high-contrast .s1 { color: #023B95 } /* Literal.String.Single */ +.codehilite.github-light-high-contrast .ss { color: #023B95 } /* Literal.String.Symbol */ +.codehilite.github-light-high-contrast .bp { color: #702C00 } /* Name.Builtin.Pseudo */ +.codehilite.github-light-high-contrast .fm { color: #023B95 } /* Name.Function.Magic */ +.codehilite.github-light-high-contrast .vc { color: #702C00 } /* Name.Variable.Class */ +.codehilite.github-light-high-contrast .vg { color: #702C00 } /* Name.Variable.Global */ +.codehilite.github-light-high-contrast .vi { color: #702C00 } /* Name.Variable.Instance */ +.codehilite.github-light-high-contrast .vm { color: #702C00 } /* Name.Variable.Magic */ +.codehilite.github-light-high-contrast .il { color: #702C00 } /* Literal.Number.Integer.Long */ +.codehilite.gotthard-dark .hll { background-color: #4c4b4be8 } +.codehilite.gotthard-dark { background: #000000; color: #F5F5F5 } +.codehilite.gotthard-dark .c { color: #B19DB4 } /* Comment */ +.codehilite.gotthard-dark .err { color: #AB6369 } /* Error */ +.codehilite.gotthard-dark .k { color: #B19DB4 } /* Keyword */ +.codehilite.gotthard-dark .l { color: #B19DB4 } /* Literal */ +.codehilite.gotthard-dark .n { color: #F5F5F5 } /* Name */ +.codehilite.gotthard-dark .o { color: #6F98B3 } /* Operator */ +.codehilite.gotthard-dark .p { color: #F5F5F5 } /* Punctuation */ +.codehilite.gotthard-dark .ch { color: #B19DB4 } /* Comment.Hashbang */ +.codehilite.gotthard-dark .cm { color: #B19DB4 } /* Comment.Multiline */ +.codehilite.gotthard-dark .cp { color: #B19DB4 } /* Comment.Preproc */ +.codehilite.gotthard-dark .cpf { color: #B19DB4 } /* Comment.PreprocFile */ +.codehilite.gotthard-dark .c1 { color: #B19DB4 } /* Comment.Single */ +.codehilite.gotthard-dark .cs { color: #B19DB4 } /* Comment.Special */ +.codehilite.gotthard-dark .gd { color: #AB6369 } /* Generic.Deleted */ +.codehilite.gotthard-dark .gh { color: #81B19B } /* Generic.Heading */ +.codehilite.gotthard-dark .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.gotthard-dark .gu { color: #81B19B } /* Generic.Subheading */ +.codehilite.gotthard-dark .kc { color: #AB6369 } /* Keyword.Constant */ +.codehilite.gotthard-dark .kd { color: #B19DB4 } /* Keyword.Declaration */ +.codehilite.gotthard-dark .kn { color: #B19DB4 } /* Keyword.Namespace */ +.codehilite.gotthard-dark .kp { color: #B19DB4 } /* Keyword.Pseudo */ +.codehilite.gotthard-dark .kr { color: #B19DB4 } /* Keyword.Reserved */ +.codehilite.gotthard-dark .kt { color: #81B19B } /* Keyword.Type */ +.codehilite.gotthard-dark .ld { color: #B19DB4 } /* Literal.Date */ +.codehilite.gotthard-dark .m { color: #AB6369 } /* Literal.Number */ +.codehilite.gotthard-dark .s { color: #81B19B } /* Literal.String */ +.codehilite.gotthard-dark .na { color: #B19DB4 } /* Name.Attribute */ +.codehilite.gotthard-dark .nb { color: #81B19B } /* Name.Builtin */ +.codehilite.gotthard-dark .nc { color: #CAAB6D } /* Name.Class */ +.codehilite.gotthard-dark .no { color: #AB6369 } /* Name.Constant */ +.codehilite.gotthard-dark .nd { color: #81B19B } /* Name.Decorator */ +.codehilite.gotthard-dark .ni { color: #81B19B } /* Name.Entity */ +.codehilite.gotthard-dark .ne { color: #AB6369 } /* Name.Exception */ +.codehilite.gotthard-dark .nf { color: #B19DB4 } /* Name.Function */ +.codehilite.gotthard-dark .nl { color: #81B19B } /* Name.Label */ +.codehilite.gotthard-dark .nn { color: #CAAB6D } /* Name.Namespace */ +.codehilite.gotthard-dark .nx { color: #F5F5F5 } /* Name.Other */ +.codehilite.gotthard-dark .py { color: #B19DB4 } /* Name.Property */ +.codehilite.gotthard-dark .nt { color: #AB6369 } /* Name.Tag */ +.codehilite.gotthard-dark .nv { color: #F5F5F5 } /* Name.Variable */ +.codehilite.gotthard-dark .ow { color: #B19DB4 } /* Operator.Word */ +.codehilite.gotthard-dark .pm { color: #F5F5F5 } /* Punctuation.Marker */ +.codehilite.gotthard-dark .w { color: #F5F5F5 } /* Text.Whitespace */ +.codehilite.gotthard-dark .mb { color: #AB6369 } /* Literal.Number.Bin */ +.codehilite.gotthard-dark .mf { color: #AB6369 } /* Literal.Number.Float */ +.codehilite.gotthard-dark .mh { color: #AB6369 } /* Literal.Number.Hex */ +.codehilite.gotthard-dark .mi { color: #AB6369 } /* Literal.Number.Integer */ +.codehilite.gotthard-dark .mo { color: #AB6369 } /* Literal.Number.Oct */ +.codehilite.gotthard-dark .sa { color: #81B19B } /* Literal.String.Affix */ +.codehilite.gotthard-dark .sb { color: #CAAB6D } /* Literal.String.Backtick */ +.codehilite.gotthard-dark .sc { color: #81B19B } /* Literal.String.Char */ +.codehilite.gotthard-dark .dl { color: #81B19B } /* Literal.String.Delimiter */ +.codehilite.gotthard-dark .sd { color: #81B19B } /* Literal.String.Doc */ +.codehilite.gotthard-dark .s2 { color: #81B19B } /* Literal.String.Double */ +.codehilite.gotthard-dark .se { color: #6F98B3 } /* Literal.String.Escape */ +.codehilite.gotthard-dark .sh { color: #81B19B } /* Literal.String.Heredoc */ +.codehilite.gotthard-dark .si { color: #81B19B } /* Literal.String.Interpol */ +.codehilite.gotthard-dark .sx { color: #81B19B } /* Literal.String.Other */ +.codehilite.gotthard-dark .sr { color: #6F98B3 } /* Literal.String.Regex */ +.codehilite.gotthard-dark .s1 { color: #81B19B } /* Literal.String.Single */ +.codehilite.gotthard-dark .ss { color: #81B19B } /* Literal.String.Symbol */ +.codehilite.gotthard-dark .bp { color: #81B19B } /* Name.Builtin.Pseudo */ +.codehilite.gotthard-dark .fm { color: #B19DB4 } /* Name.Function.Magic */ +.codehilite.gotthard-dark .vc { color: #F5F5F5 } /* Name.Variable.Class */ +.codehilite.gotthard-dark .vg { color: #F5F5F5 } /* Name.Variable.Global */ +.codehilite.gotthard-dark .vi { color: #F5F5F5 } /* Name.Variable.Instance */ +.codehilite.gotthard-dark .vm { color: #F5F5F5 } /* Name.Variable.Magic */ +.codehilite.gotthard-dark .il { color: #AB6369 } /* Literal.Number.Integer.Long */ +.codehilite.gotthard-light .hll { background-color: #E1E1E1 } +.codehilite.gotthard-light { background: #F5F5F5; color: #141414 } +.codehilite.gotthard-light .c { color: #974EB7 } /* Comment */ +.codehilite.gotthard-light .err { color: #9F4E55 } /* Error */ +.codehilite.gotthard-light .k { color: #974EB7 } /* Keyword */ +.codehilite.gotthard-light .l { color: #974EB7 } /* Literal */ +.codehilite.gotthard-light .n { color: #141414 } /* Name */ +.codehilite.gotthard-light .o { color: #3D73A9 } /* Operator */ +.codehilite.gotthard-light .p { color: #141414 } /* Punctuation */ +.codehilite.gotthard-light .ch { color: #974EB7 } /* Comment.Hashbang */ +.codehilite.gotthard-light .cm { color: #974EB7 } /* Comment.Multiline */ +.codehilite.gotthard-light .cp { color: #974EB7 } /* Comment.Preproc */ +.codehilite.gotthard-light .cpf { color: #974EB7 } /* Comment.PreprocFile */ +.codehilite.gotthard-light .c1 { color: #974EB7 } /* Comment.Single */ +.codehilite.gotthard-light .cs { color: #974EB7 } /* Comment.Special */ +.codehilite.gotthard-light .gd { color: #9F4E55 } /* Generic.Deleted */ +.codehilite.gotthard-light .gh { color: #437A6B } /* Generic.Heading */ +.codehilite.gotthard-light .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.gotthard-light .gu { color: #437A6B } /* Generic.Subheading */ +.codehilite.gotthard-light .kc { color: #9F4E55 } /* Keyword.Constant */ +.codehilite.gotthard-light .kd { color: #974EB7 } /* Keyword.Declaration */ +.codehilite.gotthard-light .kn { color: #974EB7 } /* Keyword.Namespace */ +.codehilite.gotthard-light .kp { color: #974EB7 } /* Keyword.Pseudo */ +.codehilite.gotthard-light .kr { color: #974EB7 } /* Keyword.Reserved */ +.codehilite.gotthard-light .kt { color: #437A6B } /* Keyword.Type */ +.codehilite.gotthard-light .ld { color: #974EB7 } /* Literal.Date */ +.codehilite.gotthard-light .m { color: #9F4E55 } /* Literal.Number */ +.codehilite.gotthard-light .s { color: #437A6B } /* Literal.String */ +.codehilite.gotthard-light .na { color: #974EB7 } /* Name.Attribute */ +.codehilite.gotthard-light .nb { color: #437A6B } /* Name.Builtin */ +.codehilite.gotthard-light .nc { color: #98661B } /* Name.Class */ +.codehilite.gotthard-light .no { color: #9F4E55 } /* Name.Constant */ +.codehilite.gotthard-light .nd { color: #437A6B } /* Name.Decorator */ +.codehilite.gotthard-light .ni { color: #437A6B } /* Name.Entity */ +.codehilite.gotthard-light .ne { color: #9F4E55 } /* Name.Exception */ +.codehilite.gotthard-light .nf { color: #974EB7 } /* Name.Function */ +.codehilite.gotthard-light .nl { color: #437A6B } /* Name.Label */ +.codehilite.gotthard-light .nn { color: #98661B } /* Name.Namespace */ +.codehilite.gotthard-light .nx { color: #141414 } /* Name.Other */ +.codehilite.gotthard-light .py { color: #974EB7 } /* Name.Property */ +.codehilite.gotthard-light .nt { color: #9F4E55 } /* Name.Tag */ +.codehilite.gotthard-light .nv { color: #141414 } /* Name.Variable */ +.codehilite.gotthard-light .ow { color: #974EB7 } /* Operator.Word */ +.codehilite.gotthard-light .pm { color: #141414 } /* Punctuation.Marker */ +.codehilite.gotthard-light .w { color: #141414 } /* Text.Whitespace */ +.codehilite.gotthard-light .mb { color: #9F4E55 } /* Literal.Number.Bin */ +.codehilite.gotthard-light .mf { color: #9F4E55 } /* Literal.Number.Float */ +.codehilite.gotthard-light .mh { color: #9F4E55 } /* Literal.Number.Hex */ +.codehilite.gotthard-light .mi { color: #9F4E55 } /* Literal.Number.Integer */ +.codehilite.gotthard-light .mo { color: #9F4E55 } /* Literal.Number.Oct */ +.codehilite.gotthard-light .sa { color: #437A6B } /* Literal.String.Affix */ +.codehilite.gotthard-light .sb { color: #98661B } /* Literal.String.Backtick */ +.codehilite.gotthard-light .sc { color: #437A6B } /* Literal.String.Char */ +.codehilite.gotthard-light .dl { color: #437A6B } /* Literal.String.Delimiter */ +.codehilite.gotthard-light .sd { color: #437A6B } /* Literal.String.Doc */ +.codehilite.gotthard-light .s2 { color: #437A6B } /* Literal.String.Double */ +.codehilite.gotthard-light .se { color: #3D73A9 } /* Literal.String.Escape */ +.codehilite.gotthard-light .sh { color: #437A6B } /* Literal.String.Heredoc */ +.codehilite.gotthard-light .si { color: #437A6B } /* Literal.String.Interpol */ +.codehilite.gotthard-light .sx { color: #437A6B } /* Literal.String.Other */ +.codehilite.gotthard-light .sr { color: #3D73A9 } /* Literal.String.Regex */ +.codehilite.gotthard-light .s1 { color: #437A6B } /* Literal.String.Single */ +.codehilite.gotthard-light .ss { color: #437A6B } /* Literal.String.Symbol */ +.codehilite.gotthard-light .bp { color: #437A6B } /* Name.Builtin.Pseudo */ +.codehilite.gotthard-light .fm { color: #974EB7 } /* Name.Function.Magic */ +.codehilite.gotthard-light .vc { color: #141414 } /* Name.Variable.Class */ +.codehilite.gotthard-light .vg { color: #141414 } /* Name.Variable.Global */ +.codehilite.gotthard-light .vi { color: #141414 } /* Name.Variable.Instance */ +.codehilite.gotthard-light .vm { color: #141414 } /* Name.Variable.Magic */ +.codehilite.gotthard-light .il { color: #9F4E55 } /* Literal.Number.Integer.Long */ +.codehilite.greative .hll { background-color: #473d18 } +.codehilite.greative { background: #010726; color: #A2BFFC } +.codehilite.greative .c { color: #797979 } /* Comment */ +.codehilite.greative .err { color: #A2BFFC } /* Error */ +.codehilite.greative .k { color: #9E86C8 } /* Keyword */ +.codehilite.greative .l { color: #A2BFFC } /* Literal */ +.codehilite.greative .n { color: #A2BFFC } /* Name */ +.codehilite.greative .o { color: #F78C6C } /* Operator */ +.codehilite.greative .p { color: #A2BFFC } /* Punctuation */ +.codehilite.greative .ch { color: #797979 } /* Comment.Hashbang */ +.codehilite.greative .cm { color: #797979 } /* Comment.Multiline */ +.codehilite.greative .cp { color: #797979 } /* Comment.Preproc */ +.codehilite.greative .cpf { color: #797979 } /* Comment.PreprocFile */ +.codehilite.greative .c1 { color: #797979 } /* Comment.Single */ +.codehilite.greative .cs { color: #797979 } /* Comment.Special */ +.codehilite.greative .gd { color: #A2BFFC } /* Generic.Deleted */ +.codehilite.greative .ge { font-style: italic } /* Generic.Emph */ +.codehilite.greative .gh { color: #A2BFFC } /* Generic.Heading */ +.codehilite.greative .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.greative .gu { color: #A2BFFC } /* Generic.Subheading */ +.codehilite.greative .kc { color: #9E86C8 } /* Keyword.Constant */ +.codehilite.greative .kd { color: #9E86C8 } /* Keyword.Declaration */ +.codehilite.greative .kn { color: #9E86C8 } /* Keyword.Namespace */ +.codehilite.greative .kp { color: #9E86C8 } /* Keyword.Pseudo */ +.codehilite.greative .kr { color: #9E86C8 } /* Keyword.Reserved */ +.codehilite.greative .kt { color: #C5E478 } /* Keyword.Type */ +.codehilite.greative .ld { color: #A2BFFC } /* Literal.Date */ +.codehilite.greative .m { color: #9E86C8 } /* Literal.Number */ +.codehilite.greative .s { color: #9E8741 } /* Literal.String */ +.codehilite.greative .na { color: #9E86C8 } /* Name.Attribute */ +.codehilite.greative .nb { color: #C5E478 } /* Name.Builtin */ +.codehilite.greative .nc { color: #F78C6C } /* Name.Class */ +.codehilite.greative .no { color: #A2BFFC } /* Name.Constant */ +.codehilite.greative .nd { color: #9E8741 } /* Name.Decorator */ +.codehilite.greative .ni { color: #9E8741 } /* Name.Entity */ +.codehilite.greative .ne { color: #A2BFFC } /* Name.Exception */ +.codehilite.greative .nf { color: #9E86C8 } /* Name.Function */ +.codehilite.greative .nl { color: #F78C6C } /* Name.Label */ +.codehilite.greative .nn { color: #C5E478 } /* Name.Namespace */ +.codehilite.greative .nx { color: #A2BFFC } /* Name.Other */ +.codehilite.greative .py { color: #A2BFFC } /* Name.Property */ +.codehilite.greative .nt { color: #5CA7E4 } /* Name.Tag */ +.codehilite.greative .nv { color: #C5E478 } /* Name.Variable */ +.codehilite.greative .ow { color: #9E86C8 } /* Operator.Word */ +.codehilite.greative .pm { color: #A2BFFC } /* Punctuation.Marker */ +.codehilite.greative .w { color: #A2BFFC } /* Text.Whitespace */ +.codehilite.greative .mb { color: #9E86C8 } /* Literal.Number.Bin */ +.codehilite.greative .mf { color: #9E86C8 } /* Literal.Number.Float */ +.codehilite.greative .mh { color: #9E86C8 } /* Literal.Number.Hex */ +.codehilite.greative .mi { color: #9E86C8 } /* Literal.Number.Integer */ +.codehilite.greative .mo { color: #9E86C8 } /* Literal.Number.Oct */ +.codehilite.greative .sa { color: #9E8741 } /* Literal.String.Affix */ +.codehilite.greative .sb { color: #9E8741 } /* Literal.String.Backtick */ +.codehilite.greative .sc { color: #9E8741 } /* Literal.String.Char */ +.codehilite.greative .dl { color: #9E8741 } /* Literal.String.Delimiter */ +.codehilite.greative .sd { color: #9E8741 } /* Literal.String.Doc */ +.codehilite.greative .s2 { color: #9E8741 } /* Literal.String.Double */ +.codehilite.greative .se { color: #F78C6C } /* Literal.String.Escape */ +.codehilite.greative .sh { color: #9E8741 } /* Literal.String.Heredoc */ +.codehilite.greative .si { color: #9E8741 } /* Literal.String.Interpol */ +.codehilite.greative .sx { color: #9E8741 } /* Literal.String.Other */ +.codehilite.greative .sr { color: #5CA7E4 } /* Literal.String.Regex */ +.codehilite.greative .s1 { color: #9E8741 } /* Literal.String.Single */ +.codehilite.greative .ss { color: #F78C6C } /* Literal.String.Symbol */ +.codehilite.greative .bp { color: #C5E478 } /* Name.Builtin.Pseudo */ +.codehilite.greative .fm { color: #9E86C8 } /* Name.Function.Magic */ +.codehilite.greative .vc { color: #C5E478 } /* Name.Variable.Class */ +.codehilite.greative .vg { color: #C5E478 } /* Name.Variable.Global */ +.codehilite.greative .vi { color: #C5E478 } /* Name.Variable.Instance */ +.codehilite.greative .vm { color: #F78C6C } /* Name.Variable.Magic */ +.codehilite.greative .il { color: #9E86C8 } /* Literal.Number.Integer.Long */ +.codehilite.pitaya-smoothie .hll { background-color: #2A1968 } +.codehilite.pitaya-smoothie { background: #181036; color: #FEFEFF } +.codehilite.pitaya-smoothie .c { color: #8786AC } /* Comment */ +.codehilite.pitaya-smoothie .err { color: #F26196 } /* Error */ +.codehilite.pitaya-smoothie .k { color: #FAD000 } /* Keyword */ +.codehilite.pitaya-smoothie .l { color: #F5A394 } /* Literal */ +.codehilite.pitaya-smoothie .n { color: #FEFEFF } /* Name */ +.codehilite.pitaya-smoothie .o { color: #18C1C4 } /* Operator */ +.codehilite.pitaya-smoothie .p { color: #FEFEFF } /* Punctuation */ +.codehilite.pitaya-smoothie .ch { color: #8786AC } /* Comment.Hashbang */ +.codehilite.pitaya-smoothie .cm { color: #8786AC } /* Comment.Multiline */ +.codehilite.pitaya-smoothie .cp { color: #8786AC } /* Comment.Preproc */ +.codehilite.pitaya-smoothie .cpf { color: #8786AC } /* Comment.PreprocFile */ +.codehilite.pitaya-smoothie .c1 { color: #8786AC } /* Comment.Single */ +.codehilite.pitaya-smoothie .cs { color: #8786AC } /* Comment.Special */ +.codehilite.pitaya-smoothie .gd { color: #7998F2 } /* Generic.Deleted */ +.codehilite.pitaya-smoothie .ge { font-style: italic } /* Generic.Emph */ +.codehilite.pitaya-smoothie .gh { color: #7998F2 } /* Generic.Heading */ +.codehilite.pitaya-smoothie .gs { font-weight: bold } /* Generic.Strong */ +.codehilite.pitaya-smoothie .gu { color: #7998F2 } /* Generic.Subheading */ +.codehilite.pitaya-smoothie .kc { color: #C4A2F5 } /* Keyword.Constant */ +.codehilite.pitaya-smoothie .kd { color: #FAD000 } /* Keyword.Declaration */ +.codehilite.pitaya-smoothie .kn { color: #FAD000 } /* Keyword.Namespace */ +.codehilite.pitaya-smoothie .kp { color: #FAD000 } /* Keyword.Pseudo */ +.codehilite.pitaya-smoothie .kr { color: #FAD000 } /* Keyword.Reserved */ +.codehilite.pitaya-smoothie .kt { color: #F5A394 } /* Keyword.Type */ +.codehilite.pitaya-smoothie .ld { color: #F5A394 } /* Literal.Date */ +.codehilite.pitaya-smoothie .m { color: #F5A394 } /* Literal.Number */ +.codehilite.pitaya-smoothie .s { color: #7998F2 } /* Literal.String */ +.codehilite.pitaya-smoothie .na { color: #FAD000 } /* Name.Attribute */ +.codehilite.pitaya-smoothie .nb { color: #C4A2F5 } /* Name.Builtin */ +.codehilite.pitaya-smoothie .nc { color: #7998F2 } /* Name.Class */ +.codehilite.pitaya-smoothie .no { color: #C4A2F5 } /* Name.Constant */ +.codehilite.pitaya-smoothie .nd { color: #F5A394 } /* Name.Decorator */ +.codehilite.pitaya-smoothie .ni { color: #7998F2 } /* Name.Entity */ +.codehilite.pitaya-smoothie .ne { color: #C4A2F5 } /* Name.Exception */ +.codehilite.pitaya-smoothie .nf { color: #7998F2 } /* Name.Function */ +.codehilite.pitaya-smoothie .nl { color: #F5A394 } /* Name.Label */ +.codehilite.pitaya-smoothie .nn { color: #FEFEFF } /* Name.Namespace */ +.codehilite.pitaya-smoothie .nx { color: #FEFEFF } /* Name.Other */ +.codehilite.pitaya-smoothie .py { color: #7998F2 } /* Name.Property */ +.codehilite.pitaya-smoothie .nt { color: #7998F2 } /* Name.Tag */ +.codehilite.pitaya-smoothie .nv { color: #F5A394 } /* Name.Variable */ +.codehilite.pitaya-smoothie .ow { color: #C4A2F5 } /* Operator.Word */ +.codehilite.pitaya-smoothie .pm { color: #FEFEFF } /* Punctuation.Marker */ +.codehilite.pitaya-smoothie .w { color: #FEFEFF } /* Text.Whitespace */ +.codehilite.pitaya-smoothie .mb { color: #F5A394 } /* Literal.Number.Bin */ +.codehilite.pitaya-smoothie .mf { color: #F5A394 } /* Literal.Number.Float */ +.codehilite.pitaya-smoothie .mh { color: #F5A394 } /* Literal.Number.Hex */ +.codehilite.pitaya-smoothie .mi { color: #F5A394 } /* Literal.Number.Integer */ +.codehilite.pitaya-smoothie .mo { color: #F5A394 } /* Literal.Number.Oct */ +.codehilite.pitaya-smoothie .sa { color: #7998F2 } /* Literal.String.Affix */ +.codehilite.pitaya-smoothie .sb { color: #66E9EC } /* Literal.String.Backtick */ +.codehilite.pitaya-smoothie .sc { color: #7998F2 } /* Literal.String.Char */ +.codehilite.pitaya-smoothie .dl { color: #7998F2 } /* Literal.String.Delimiter */ +.codehilite.pitaya-smoothie .sd { color: #C4A2F5 } /* Literal.String.Doc */ +.codehilite.pitaya-smoothie .s2 { color: #7998F2 } /* Literal.String.Double */ +.codehilite.pitaya-smoothie .se { color: #F5A394 } /* Literal.String.Escape */ +.codehilite.pitaya-smoothie .sh { color: #7998F2 } /* Literal.String.Heredoc */ +.codehilite.pitaya-smoothie .si { color: #7998F2 } /* Literal.String.Interpol */ +.codehilite.pitaya-smoothie .sx { color: #7998F2 } /* Literal.String.Other */ +.codehilite.pitaya-smoothie .sr { color: #7998F2 } /* Literal.String.Regex */ +.codehilite.pitaya-smoothie .s1 { color: #7998F2 } /* Literal.String.Single */ +.codehilite.pitaya-smoothie .ss { color: #7998F2 } /* Literal.String.Symbol */ +.codehilite.pitaya-smoothie .bp { color: #F5A394 } /* Name.Builtin.Pseudo */ +.codehilite.pitaya-smoothie .fm { color: #7998F2 } /* Name.Function.Magic */ +.codehilite.pitaya-smoothie .vc { color: #F5A394 } /* Name.Variable.Class */ +.codehilite.pitaya-smoothie .vg { color: #F5A394 } /* Name.Variable.Global */ +.codehilite.pitaya-smoothie .vi { color: #F5A394 } /* Name.Variable.Instance */ +.codehilite.pitaya-smoothie .vm { color: #F5A394 } /* Name.Variable.Magic */ +.codehilite.pitaya-smoothie .il { color: #F5A394 } /* Literal.Number.Integer.Long */ diff --git a/site/css/pygments/arduino.css b/site/css/pygments/arduino.css new file mode 100644 index 0000000..586edf1 --- /dev/null +++ b/site/css/pygments/arduino.css @@ -0,0 +1,66 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #ffffcc } +.codehilite { background: #ffffff; } +.codehilite .c { color: #95A5A6 } /* Comment */ +.codehilite .err { color: #A61717 } /* Error */ +.codehilite .k { color: #728E00 } /* Keyword */ +.codehilite .n { color: #434F54 } /* Name */ +.codehilite .o { color: #728E00 } /* Operator */ +.codehilite .ch { color: #95A5A6 } /* Comment.Hashbang */ +.codehilite .cm { color: #95A5A6 } /* Comment.Multiline */ +.codehilite .cp { color: #728E00 } /* Comment.Preproc */ +.codehilite .cpf { color: #95A5A6 } /* Comment.PreprocFile */ +.codehilite .c1 { color: #95A5A6 } /* Comment.Single */ +.codehilite .cs { color: #95A5A6 } /* Comment.Special */ +.codehilite .kc { color: #00979D } /* Keyword.Constant */ +.codehilite .kd { color: #728E00 } /* Keyword.Declaration */ +.codehilite .kn { color: #728E00 } /* Keyword.Namespace */ +.codehilite .kp { color: #00979D } /* Keyword.Pseudo */ +.codehilite .kr { color: #00979D } /* Keyword.Reserved */ +.codehilite .kt { color: #00979D } /* Keyword.Type */ +.codehilite .m { color: #8A7B52 } /* Literal.Number */ +.codehilite .s { color: #7F8C8D } /* Literal.String */ +.codehilite .na { color: #434F54 } /* Name.Attribute */ +.codehilite .nb { color: #728E00 } /* Name.Builtin */ +.codehilite .nc { color: #434F54 } /* Name.Class */ +.codehilite .no { color: #434F54 } /* Name.Constant */ +.codehilite .nd { color: #434F54 } /* Name.Decorator */ +.codehilite .ni { color: #434F54 } /* Name.Entity */ +.codehilite .ne { color: #434F54 } /* Name.Exception */ +.codehilite .nf { color: #D35400 } /* Name.Function */ +.codehilite .nl { color: #434F54 } /* Name.Label */ +.codehilite .nn { color: #434F54 } /* Name.Namespace */ +.codehilite .nx { color: #728E00 } /* Name.Other */ +.codehilite .py { color: #434F54 } /* Name.Property */ +.codehilite .nt { color: #434F54 } /* Name.Tag */ +.codehilite .nv { color: #434F54 } /* Name.Variable */ +.codehilite .ow { color: #728E00 } /* Operator.Word */ +.codehilite .mb { color: #8A7B52 } /* Literal.Number.Bin */ +.codehilite .mf { color: #8A7B52 } /* Literal.Number.Float */ +.codehilite .mh { color: #8A7B52 } /* Literal.Number.Hex */ +.codehilite .mi { color: #8A7B52 } /* Literal.Number.Integer */ +.codehilite .mo { color: #8A7B52 } /* Literal.Number.Oct */ +.codehilite .sa { color: #7F8C8D } /* Literal.String.Affix */ +.codehilite .sb { color: #7F8C8D } /* Literal.String.Backtick */ +.codehilite .sc { color: #7F8C8D } /* Literal.String.Char */ +.codehilite .dl { color: #7F8C8D } /* Literal.String.Delimiter */ +.codehilite .sd { color: #7F8C8D } /* Literal.String.Doc */ +.codehilite .s2 { color: #7F8C8D } /* Literal.String.Double */ +.codehilite .se { color: #7F8C8D } /* Literal.String.Escape */ +.codehilite .sh { color: #7F8C8D } /* Literal.String.Heredoc */ +.codehilite .si { color: #7F8C8D } /* Literal.String.Interpol */ +.codehilite .sx { color: #7F8C8D } /* Literal.String.Other */ +.codehilite .sr { color: #7F8C8D } /* Literal.String.Regex */ +.codehilite .s1 { color: #7F8C8D } /* Literal.String.Single */ +.codehilite .ss { color: #7F8C8D } /* Literal.String.Symbol */ +.codehilite .bp { color: #728E00 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #D35400 } /* Name.Function.Magic */ +.codehilite .vc { color: #434F54 } /* Name.Variable.Class */ +.codehilite .vg { color: #434F54 } /* Name.Variable.Global */ +.codehilite .vi { color: #434F54 } /* Name.Variable.Instance */ +.codehilite .vm { color: #434F54 } /* Name.Variable.Magic */ +.codehilite .il { color: #8A7B52 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/autumn.css b/site/css/pygments/autumn.css new file mode 100644 index 0000000..b872f68 --- /dev/null +++ b/site/css/pygments/autumn.css @@ -0,0 +1,72 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #ffffcc } +.codehilite { background: #ffffff; } +.codehilite .c { color: #AAA; font-style: italic } /* Comment */ +.codehilite .err { color: #F00; background-color: #FAA } /* Error */ +.codehilite .k { color: #00A } /* Keyword */ +.codehilite .ch { color: #AAA; font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { color: #AAA; font-style: italic } /* Comment.Multiline */ +.codehilite .cp { color: #4C8317 } /* Comment.Preproc */ +.codehilite .cpf { color: #AAA; font-style: italic } /* Comment.PreprocFile */ +.codehilite .c1 { color: #AAA; font-style: italic } /* Comment.Single */ +.codehilite .cs { color: #00A; font-style: italic } /* Comment.Special */ +.codehilite .gd { color: #A00 } /* Generic.Deleted */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite .gr { color: #A00 } /* Generic.Error */ +.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.codehilite .gi { color: #0A0 } /* Generic.Inserted */ +.codehilite .go { color: #888 } /* Generic.Output */ +.codehilite .gp { color: #555 } /* Generic.Prompt */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.codehilite .gt { color: #A00 } /* Generic.Traceback */ +.codehilite .kc { color: #00A } /* Keyword.Constant */ +.codehilite .kd { color: #00A } /* Keyword.Declaration */ +.codehilite .kn { color: #00A } /* Keyword.Namespace */ +.codehilite .kp { color: #00A } /* Keyword.Pseudo */ +.codehilite .kr { color: #00A } /* Keyword.Reserved */ +.codehilite .kt { color: #0AA } /* Keyword.Type */ +.codehilite .m { color: #099 } /* Literal.Number */ +.codehilite .s { color: #A50 } /* Literal.String */ +.codehilite .na { color: #1E90FF } /* Name.Attribute */ +.codehilite .nb { color: #0AA } /* Name.Builtin */ +.codehilite .nc { color: #0A0; text-decoration: underline } /* Name.Class */ +.codehilite .no { color: #A00 } /* Name.Constant */ +.codehilite .nd { color: #888 } /* Name.Decorator */ +.codehilite .ni { color: #800; font-weight: bold } /* Name.Entity */ +.codehilite .nf { color: #0A0 } /* Name.Function */ +.codehilite .nn { color: #0AA; text-decoration: underline } /* Name.Namespace */ +.codehilite .nt { color: #1E90FF; font-weight: bold } /* Name.Tag */ +.codehilite .nv { color: #A00 } /* Name.Variable */ +.codehilite .ow { color: #00A } /* Operator.Word */ +.codehilite .w { color: #BBB } /* Text.Whitespace */ +.codehilite .mb { color: #099 } /* Literal.Number.Bin */ +.codehilite .mf { color: #099 } /* Literal.Number.Float */ +.codehilite .mh { color: #099 } /* Literal.Number.Hex */ +.codehilite .mi { color: #099 } /* Literal.Number.Integer */ +.codehilite .mo { color: #099 } /* Literal.Number.Oct */ +.codehilite .sa { color: #A50 } /* Literal.String.Affix */ +.codehilite .sb { color: #A50 } /* Literal.String.Backtick */ +.codehilite .sc { color: #A50 } /* Literal.String.Char */ +.codehilite .dl { color: #A50 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #A50 } /* Literal.String.Doc */ +.codehilite .s2 { color: #A50 } /* Literal.String.Double */ +.codehilite .se { color: #A50 } /* Literal.String.Escape */ +.codehilite .sh { color: #A50 } /* Literal.String.Heredoc */ +.codehilite .si { color: #A50 } /* Literal.String.Interpol */ +.codehilite .sx { color: #A50 } /* Literal.String.Other */ +.codehilite .sr { color: #099 } /* Literal.String.Regex */ +.codehilite .s1 { color: #A50 } /* Literal.String.Single */ +.codehilite .ss { color: #00A } /* Literal.String.Symbol */ +.codehilite .bp { color: #0AA } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #0A0 } /* Name.Function.Magic */ +.codehilite .vc { color: #A00 } /* Name.Variable.Class */ +.codehilite .vg { color: #A00 } /* Name.Variable.Global */ +.codehilite .vi { color: #A00 } /* Name.Variable.Instance */ +.codehilite .vm { color: #A00 } /* Name.Variable.Magic */ +.codehilite .il { color: #099 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/blinds-dark.css b/site/css/pygments/blinds-dark.css new file mode 100644 index 0000000..1821bfb --- /dev/null +++ b/site/css/pygments/blinds-dark.css @@ -0,0 +1,76 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #66666691 } +.codehilite { background: #242424; color: #BBB } +.codehilite .c { color: #8C8C8C } /* Comment */ +.codehilite .err { color: #5391CF } /* Error */ +.codehilite .k { color: #D166A3 } /* Keyword */ +.codehilite .l { color: #5391CF } /* Literal */ +.codehilite .n { color: #5391CF } /* Name */ +.codehilite .o { color: #E67 } /* Operator */ +.codehilite .p { color: #BBB } /* Punctuation */ +.codehilite .ch { color: #8C8C8C } /* Comment.Hashbang */ +.codehilite .cm { color: #8C8C8C } /* Comment.Multiline */ +.codehilite .cp { color: #8C8C8C } /* Comment.Preproc */ +.codehilite .cpf { color: #8C8C8C } /* Comment.PreprocFile */ +.codehilite .c1 { color: #8C8C8C } /* Comment.Single */ +.codehilite .cs { color: #8C8C8C } /* Comment.Special */ +.codehilite .gd { color: #5391CF } /* Generic.Deleted */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .gh { color: #5391CF } /* Generic.Heading */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #5391CF } /* Generic.Subheading */ +.codehilite .kc { color: #D166A3 } /* Keyword.Constant */ +.codehilite .kd { color: #D166A3 } /* Keyword.Declaration */ +.codehilite .kn { color: #D166A3 } /* Keyword.Namespace */ +.codehilite .kp { color: #D166A3 } /* Keyword.Pseudo */ +.codehilite .kr { color: #D166A3 } /* Keyword.Reserved */ +.codehilite .kt { color: #6CE } /* Keyword.Type */ +.codehilite .ld { color: #5391CF } /* Literal.Date */ +.codehilite .m { color: #BBB } /* Literal.Number */ +.codehilite .s { color: #D166A3 } /* Literal.String */ +.codehilite .na { color: #D166A3 } /* Name.Attribute */ +.codehilite .nb { color: #6CE } /* Name.Builtin */ +.codehilite .nc { color: #E67 } /* Name.Class */ +.codehilite .no { color: #E67 } /* Name.Constant */ +.codehilite .nd { color: #CB4 } /* Name.Decorator */ +.codehilite .ni { color: #CB4 } /* Name.Entity */ +.codehilite .ne { color: #5391CF } /* Name.Exception */ +.codehilite .nf { color: #6CE } /* Name.Function */ +.codehilite .nl { color: #E67 } /* Name.Label */ +.codehilite .nn { color: #6CE } /* Name.Namespace */ +.codehilite .nx { color: #5391CF } /* Name.Other */ +.codehilite .py { color: #5391CF } /* Name.Property */ +.codehilite .nt { color: #6CE } /* Name.Tag */ +.codehilite .nv { color: #5391CF } /* Name.Variable */ +.codehilite .ow { color: #D166A3 } /* Operator.Word */ +.codehilite .pm { color: #BBB } /* Punctuation.Marker */ +.codehilite .w { color: #BBB } /* Text.Whitespace */ +.codehilite .mb { color: #BBB } /* Literal.Number.Bin */ +.codehilite .mf { color: #BBB } /* Literal.Number.Float */ +.codehilite .mh { color: #BBB } /* Literal.Number.Hex */ +.codehilite .mi { color: #BBB } /* Literal.Number.Integer */ +.codehilite .mo { color: #BBB } /* Literal.Number.Oct */ +.codehilite .sa { color: #D166A3 } /* Literal.String.Affix */ +.codehilite .sb { color: #D166A3 } /* Literal.String.Backtick */ +.codehilite .sc { color: #D166A3 } /* Literal.String.Char */ +.codehilite .dl { color: #D166A3 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #D166A3 } /* Literal.String.Doc */ +.codehilite .s2 { color: #D166A3 } /* Literal.String.Double */ +.codehilite .se { color: #D166A3 } /* Literal.String.Escape */ +.codehilite .sh { color: #D166A3 } /* Literal.String.Heredoc */ +.codehilite .si { color: #D166A3 } /* Literal.String.Interpol */ +.codehilite .sx { color: #D166A3 } /* Literal.String.Other */ +.codehilite .sr { color: #D166A3 } /* Literal.String.Regex */ +.codehilite .s1 { color: #D166A3 } /* Literal.String.Single */ +.codehilite .ss { color: #E67 } /* Literal.String.Symbol */ +.codehilite .bp { color: #6CE } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #6CE } /* Name.Function.Magic */ +.codehilite .vc { color: #5391CF } /* Name.Variable.Class */ +.codehilite .vg { color: #5391CF } /* Name.Variable.Global */ +.codehilite .vi { color: #5391CF } /* Name.Variable.Instance */ +.codehilite .vm { color: #E67 } /* Name.Variable.Magic */ +.codehilite .il { color: #BBB } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/blinds-light.css b/site/css/pygments/blinds-light.css new file mode 100644 index 0000000..9eb334f --- /dev/null +++ b/site/css/pygments/blinds-light.css @@ -0,0 +1,76 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #add6ff } +.codehilite { background: #fcfcfc; color: #000 } +.codehilite .c { color: #737373 } /* Comment */ +.codehilite .err { color: #0072B2 } /* Error */ +.codehilite .k { color: #CC398B } /* Keyword */ +.codehilite .l { color: #0072B2 } /* Literal */ +.codehilite .n { color: #0072B2 } /* Name */ +.codehilite .o { color: #BF5400 } /* Operator */ +.codehilite .p { color: #000 } /* Punctuation */ +.codehilite .ch { color: #737373 } /* Comment.Hashbang */ +.codehilite .cm { color: #737373 } /* Comment.Multiline */ +.codehilite .cp { color: #737373 } /* Comment.Preproc */ +.codehilite .cpf { color: #737373 } /* Comment.PreprocFile */ +.codehilite .c1 { color: #737373 } /* Comment.Single */ +.codehilite .cs { color: #737373 } /* Comment.Special */ +.codehilite .gd { color: #0072B2 } /* Generic.Deleted */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .gh { color: #0072B2 } /* Generic.Heading */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #0072B2 } /* Generic.Subheading */ +.codehilite .kc { color: #CC398B } /* Keyword.Constant */ +.codehilite .kd { color: #CC398B } /* Keyword.Declaration */ +.codehilite .kn { color: #CC398B } /* Keyword.Namespace */ +.codehilite .kp { color: #CC398B } /* Keyword.Pseudo */ +.codehilite .kr { color: #CC398B } /* Keyword.Reserved */ +.codehilite .kt { color: #008561 } /* Keyword.Type */ +.codehilite .ld { color: #0072B2 } /* Literal.Date */ +.codehilite .m { color: #000 } /* Literal.Number */ +.codehilite .s { color: #CC398B } /* Literal.String */ +.codehilite .na { color: #CC398B } /* Name.Attribute */ +.codehilite .nb { color: #008561 } /* Name.Builtin */ +.codehilite .nc { color: #BF5400 } /* Name.Class */ +.codehilite .no { color: #BF5400 } /* Name.Constant */ +.codehilite .nd { color: #996B00 } /* Name.Decorator */ +.codehilite .ni { color: #0072B2 } /* Name.Entity */ +.codehilite .ne { color: #0072B2 } /* Name.Exception */ +.codehilite .nf { color: #008561 } /* Name.Function */ +.codehilite .nl { color: #BF5400 } /* Name.Label */ +.codehilite .nn { color: #008561 } /* Name.Namespace */ +.codehilite .nx { color: #0072B2 } /* Name.Other */ +.codehilite .py { color: #0072B2 } /* Name.Property */ +.codehilite .nt { color: #008561 } /* Name.Tag */ +.codehilite .nv { color: #0072B2 } /* Name.Variable */ +.codehilite .ow { color: #CC398B } /* Operator.Word */ +.codehilite .pm { color: #000 } /* Punctuation.Marker */ +.codehilite .w { color: #000 } /* Text.Whitespace */ +.codehilite .mb { color: #000 } /* Literal.Number.Bin */ +.codehilite .mf { color: #000 } /* Literal.Number.Float */ +.codehilite .mh { color: #000 } /* Literal.Number.Hex */ +.codehilite .mi { color: #000 } /* Literal.Number.Integer */ +.codehilite .mo { color: #000 } /* Literal.Number.Oct */ +.codehilite .sa { color: #CC398B } /* Literal.String.Affix */ +.codehilite .sb { color: #CC398B } /* Literal.String.Backtick */ +.codehilite .sc { color: #CC398B } /* Literal.String.Char */ +.codehilite .dl { color: #CC398B } /* Literal.String.Delimiter */ +.codehilite .sd { color: #CC398B } /* Literal.String.Doc */ +.codehilite .s2 { color: #CC398B } /* Literal.String.Double */ +.codehilite .se { color: #CC398B } /* Literal.String.Escape */ +.codehilite .sh { color: #CC398B } /* Literal.String.Heredoc */ +.codehilite .si { color: #CC398B } /* Literal.String.Interpol */ +.codehilite .sx { color: #CC398B } /* Literal.String.Other */ +.codehilite .sr { color: #CC398B } /* Literal.String.Regex */ +.codehilite .s1 { color: #CC398B } /* Literal.String.Single */ +.codehilite .ss { color: #BF5400 } /* Literal.String.Symbol */ +.codehilite .bp { color: #008561 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #008561 } /* Name.Function.Magic */ +.codehilite .vc { color: #0072B2 } /* Name.Variable.Class */ +.codehilite .vg { color: #0072B2 } /* Name.Variable.Global */ +.codehilite .vi { color: #0072B2 } /* Name.Variable.Instance */ +.codehilite .vm { color: #BF5400 } /* Name.Variable.Magic */ +.codehilite .il { color: #000 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/borland.css b/site/css/pygments/borland.css new file mode 100644 index 0000000..e928736 --- /dev/null +++ b/site/css/pygments/borland.css @@ -0,0 +1,58 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #ffffcc } +.codehilite { background: #ffffff; } +.codehilite .c { color: #080; font-style: italic } /* Comment */ +.codehilite .err { color: #A61717; background-color: #E3D2D2 } /* Error */ +.codehilite .k { color: #000080; font-weight: bold } /* Keyword */ +.codehilite .ch { color: #080; font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { color: #080; font-style: italic } /* Comment.Multiline */ +.codehilite .cp { color: #008080 } /* Comment.Preproc */ +.codehilite .cpf { color: #080; font-style: italic } /* Comment.PreprocFile */ +.codehilite .c1 { color: #080; font-style: italic } /* Comment.Single */ +.codehilite .cs { color: #080; font-weight: bold } /* Comment.Special */ +.codehilite .gd { color: #000; background-color: #FDD } /* Generic.Deleted */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite .gr { color: #A00 } /* Generic.Error */ +.codehilite .gh { color: #999 } /* Generic.Heading */ +.codehilite .gi { color: #000; background-color: #DFD } /* Generic.Inserted */ +.codehilite .go { color: #888 } /* Generic.Output */ +.codehilite .gp { color: #555 } /* Generic.Prompt */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #AAA } /* Generic.Subheading */ +.codehilite .gt { color: #A00 } /* Generic.Traceback */ +.codehilite .kc { color: #000080; font-weight: bold } /* Keyword.Constant */ +.codehilite .kd { color: #000080; font-weight: bold } /* Keyword.Declaration */ +.codehilite .kn { color: #000080; font-weight: bold } /* Keyword.Namespace */ +.codehilite .kp { color: #000080; font-weight: bold } /* Keyword.Pseudo */ +.codehilite .kr { color: #000080; font-weight: bold } /* Keyword.Reserved */ +.codehilite .kt { color: #000080; font-weight: bold } /* Keyword.Type */ +.codehilite .m { color: #00F } /* Literal.Number */ +.codehilite .s { color: #00F } /* Literal.String */ +.codehilite .na { color: #F00 } /* Name.Attribute */ +.codehilite .nt { color: #000080; font-weight: bold } /* Name.Tag */ +.codehilite .ow { font-weight: bold } /* Operator.Word */ +.codehilite .w { color: #BBB } /* Text.Whitespace */ +.codehilite .mb { color: #00F } /* Literal.Number.Bin */ +.codehilite .mf { color: #00F } /* Literal.Number.Float */ +.codehilite .mh { color: #00F } /* Literal.Number.Hex */ +.codehilite .mi { color: #00F } /* Literal.Number.Integer */ +.codehilite .mo { color: #00F } /* Literal.Number.Oct */ +.codehilite .sa { color: #00F } /* Literal.String.Affix */ +.codehilite .sb { color: #00F } /* Literal.String.Backtick */ +.codehilite .sc { color: #800080 } /* Literal.String.Char */ +.codehilite .dl { color: #00F } /* Literal.String.Delimiter */ +.codehilite .sd { color: #00F } /* Literal.String.Doc */ +.codehilite .s2 { color: #00F } /* Literal.String.Double */ +.codehilite .se { color: #00F } /* Literal.String.Escape */ +.codehilite .sh { color: #00F } /* Literal.String.Heredoc */ +.codehilite .si { color: #00F } /* Literal.String.Interpol */ +.codehilite .sx { color: #00F } /* Literal.String.Other */ +.codehilite .sr { color: #00F } /* Literal.String.Regex */ +.codehilite .s1 { color: #00F } /* Literal.String.Single */ +.codehilite .ss { color: #00F } /* Literal.String.Symbol */ +.codehilite .il { color: #00F } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/bw.css b/site/css/pygments/bw.css new file mode 100644 index 0000000..ffb96c4 --- /dev/null +++ b/site/css/pygments/bw.css @@ -0,0 +1,45 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #ffffcc } +.codehilite { background: #ffffff; } +.codehilite .c { font-style: italic } /* Comment */ +.codehilite .err { border: 1px solid #F00 } /* Error */ +.codehilite .k { font-weight: bold } /* Keyword */ +.codehilite .ch { font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { font-style: italic } /* Comment.Multiline */ +.codehilite .cpf { font-style: italic } /* Comment.PreprocFile */ +.codehilite .c1 { font-style: italic } /* Comment.Single */ +.codehilite .cs { font-style: italic } /* Comment.Special */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite .gh { font-weight: bold } /* Generic.Heading */ +.codehilite .gp { font-weight: bold } /* Generic.Prompt */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { font-weight: bold } /* Generic.Subheading */ +.codehilite .kc { font-weight: bold } /* Keyword.Constant */ +.codehilite .kd { font-weight: bold } /* Keyword.Declaration */ +.codehilite .kn { font-weight: bold } /* Keyword.Namespace */ +.codehilite .kr { font-weight: bold } /* Keyword.Reserved */ +.codehilite .s { font-style: italic } /* Literal.String */ +.codehilite .nc { font-weight: bold } /* Name.Class */ +.codehilite .ni { font-weight: bold } /* Name.Entity */ +.codehilite .ne { font-weight: bold } /* Name.Exception */ +.codehilite .nn { font-weight: bold } /* Name.Namespace */ +.codehilite .nt { font-weight: bold } /* Name.Tag */ +.codehilite .ow { font-weight: bold } /* Operator.Word */ +.codehilite .sa { font-style: italic } /* Literal.String.Affix */ +.codehilite .sb { font-style: italic } /* Literal.String.Backtick */ +.codehilite .sc { font-style: italic } /* Literal.String.Char */ +.codehilite .dl { font-style: italic } /* Literal.String.Delimiter */ +.codehilite .sd { font-style: italic } /* Literal.String.Doc */ +.codehilite .s2 { font-style: italic } /* Literal.String.Double */ +.codehilite .se { font-weight: bold; font-style: italic } /* Literal.String.Escape */ +.codehilite .sh { font-style: italic } /* Literal.String.Heredoc */ +.codehilite .si { font-weight: bold; font-style: italic } /* Literal.String.Interpol */ +.codehilite .sx { font-style: italic } /* Literal.String.Other */ +.codehilite .sr { font-style: italic } /* Literal.String.Regex */ +.codehilite .s1 { font-style: italic } /* Literal.String.Single */ +.codehilite .ss { font-style: italic } /* Literal.String.Symbol */ \ No newline at end of file diff --git a/site/css/pygments/coffee.css b/site/css/pygments/coffee.css new file mode 100644 index 0000000..f554d6c --- /dev/null +++ b/site/css/pygments/coffee.css @@ -0,0 +1,85 @@ +pre { line-height: 125%; } +td.linenos .normal { color: #4e4e4e; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: #4e4e4e; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #8f9494; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #8f9494; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #ddd0c0 } +.codehilite { background: #262220; color: #DDD0C0 } +.codehilite .c { color: #70757A } /* Comment */ +.codehilite .err { color: #AF5F5F } /* Error */ +.codehilite .esc { color: #DDD0C0 } /* Escape */ +.codehilite .g { color: #DDD0C0 } /* Generic */ +.codehilite .k { color: #919191 } /* Keyword */ +.codehilite .l { color: #AF875F } /* Literal */ +.codehilite .n { color: #DDD0C0 } /* Name */ +.codehilite .o { color: #878787 } /* Operator */ +.codehilite .x { color: #DDD0C0 } /* Other */ +.codehilite .p { color: #DDD0C0 } /* Punctuation */ +.codehilite .ch { color: #8F9F9F } /* Comment.Hashbang */ +.codehilite .cm { color: #70757A } /* Comment.Multiline */ +.codehilite .cp { color: #FDD0C0 } /* Comment.Preproc */ +.codehilite .cpf { color: #C9B98F } /* Comment.PreprocFile */ +.codehilite .c1 { color: #70757A } /* Comment.Single */ +.codehilite .cs { color: #AF5F5F } /* Comment.Special */ +.codehilite .gd { color: #BB6868 } /* Generic.Deleted */ +.codehilite .ge { color: #DDD0C0; font-style: italic } /* Generic.Emph */ +.codehilite .ges { color: #DDD0C0 } /* Generic.EmphStrong */ +.codehilite .gr { color: #AF5F5F } /* Generic.Error */ +.codehilite .gh { color: #DDD0C0 } /* Generic.Heading */ +.codehilite .gi { color: #849155 } /* Generic.Inserted */ +.codehilite .go { color: #DDD0C0 } /* Generic.Output */ +.codehilite .gp { color: #DDD0C0 } /* Generic.Prompt */ +.codehilite .gs { color: #DDD0C0; font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #DDD0C0 } /* Generic.Subheading */ +.codehilite .gt { color: #AF5F5F } /* Generic.Traceback */ +.codehilite .kc { color: #875F5F } /* Keyword.Constant */ +.codehilite .kd { color: #875F5F } /* Keyword.Declaration */ +.codehilite .kn { color: #875F5F } /* Keyword.Namespace */ +.codehilite .kp { color: #919191 } /* Keyword.Pseudo */ +.codehilite .kr { color: #B46276 } /* Keyword.Reserved */ +.codehilite .kt { color: #AF875F } /* Keyword.Type */ +.codehilite .ld { color: #AF875F } /* Literal.Date */ +.codehilite .m { color: #87AFAF } /* Literal.Number */ +.codehilite .s { color: #C9B98F } /* Literal.String */ +.codehilite .na { color: #DDD0C0 } /* Name.Attribute */ +.codehilite .nb { color: #DDD0C0 } /* Name.Builtin */ +.codehilite .nc { color: #875F5F } /* Name.Class */ +.codehilite .no { color: #AF8787 } /* Name.Constant */ +.codehilite .nd { color: #FDD0C0 } /* Name.Decorator */ +.codehilite .ni { color: #DDD0C0 } /* Name.Entity */ +.codehilite .ne { color: #877575 } /* Name.Exception */ +.codehilite .nf { color: #FDD0C0 } /* Name.Function */ +.codehilite .nl { color: #DDD0C0 } /* Name.Label */ +.codehilite .nn { color: #DDD0C0 } /* Name.Namespace */ +.codehilite .nx { color: #DDD0C0 } /* Name.Other */ +.codehilite .py { color: #DFAF87 } /* Name.Property */ +.codehilite .nt { color: #87AFAF } /* Name.Tag */ +.codehilite .nv { color: #DDD0C0 } /* Name.Variable */ +.codehilite .ow { color: #878787 } /* Operator.Word */ +.codehilite .pm { color: #DDD0C0 } /* Punctuation.Marker */ +.codehilite .w { color: #DDD0C0 } /* Text.Whitespace */ +.codehilite .mb { color: #87AFAF } /* Literal.Number.Bin */ +.codehilite .mf { color: #87AFAF } /* Literal.Number.Float */ +.codehilite .mh { color: #87AFAF } /* Literal.Number.Hex */ +.codehilite .mi { color: #87AFAF } /* Literal.Number.Integer */ +.codehilite .mo { color: #87AFAF } /* Literal.Number.Oct */ +.codehilite .sa { color: #DFAF87 } /* Literal.String.Affix */ +.codehilite .sb { color: #C9B98F } /* Literal.String.Backtick */ +.codehilite .sc { color: #C9B98F } /* Literal.String.Char */ +.codehilite .dl { color: #C9B98F } /* Literal.String.Delimiter */ +.codehilite .sd { color: #878787 } /* Literal.String.Doc */ +.codehilite .s2 { color: #C9B98F } /* Literal.String.Double */ +.codehilite .se { color: #AF5F5F } /* Literal.String.Escape */ +.codehilite .sh { color: #C9B98F } /* Literal.String.Heredoc */ +.codehilite .si { color: #AF5F5F } /* Literal.String.Interpol */ +.codehilite .sx { color: #FDD0C0 } /* Literal.String.Other */ +.codehilite .sr { color: #AF5F5F } /* Literal.String.Regex */ +.codehilite .s1 { color: #C9B98F } /* Literal.String.Single */ +.codehilite .ss { color: #AF5F5F } /* Literal.String.Symbol */ +.codehilite .bp { color: #87AFAF } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #FDD0C0 } /* Name.Function.Magic */ +.codehilite .vc { color: #DDD0C0 } /* Name.Variable.Class */ +.codehilite .vg { color: #DDD0C0 } /* Name.Variable.Global */ +.codehilite .vi { color: #DDD0C0 } /* Name.Variable.Instance */ +.codehilite .vm { color: #DDD0C0 } /* Name.Variable.Magic */ +.codehilite .il { color: #87AFAF } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/colorful.css b/site/css/pygments/colorful.css new file mode 100644 index 0000000..76db047 --- /dev/null +++ b/site/css/pygments/colorful.css @@ -0,0 +1,75 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #ffffcc } +.codehilite { background: #ffffff; } +.codehilite .c { color: #888 } /* Comment */ +.codehilite .err { color: #F00; background-color: #FAA } /* Error */ +.codehilite .k { color: #080; font-weight: bold } /* Keyword */ +.codehilite .o { color: #333 } /* Operator */ +.codehilite .ch { color: #888 } /* Comment.Hashbang */ +.codehilite .cm { color: #888 } /* Comment.Multiline */ +.codehilite .cp { color: #579 } /* Comment.Preproc */ +.codehilite .cpf { color: #888 } /* Comment.PreprocFile */ +.codehilite .c1 { color: #888 } /* Comment.Single */ +.codehilite .cs { color: #C00; font-weight: bold } /* Comment.Special */ +.codehilite .gd { color: #A00000 } /* Generic.Deleted */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite .gr { color: #F00 } /* Generic.Error */ +.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.codehilite .gi { color: #00A000 } /* Generic.Inserted */ +.codehilite .go { color: #888 } /* Generic.Output */ +.codehilite .gp { color: #C65D09; font-weight: bold } /* Generic.Prompt */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.codehilite .gt { color: #04D } /* Generic.Traceback */ +.codehilite .kc { color: #080; font-weight: bold } /* Keyword.Constant */ +.codehilite .kd { color: #080; font-weight: bold } /* Keyword.Declaration */ +.codehilite .kn { color: #080; font-weight: bold } /* Keyword.Namespace */ +.codehilite .kp { color: #038; font-weight: bold } /* Keyword.Pseudo */ +.codehilite .kr { color: #080; font-weight: bold } /* Keyword.Reserved */ +.codehilite .kt { color: #339; font-weight: bold } /* Keyword.Type */ +.codehilite .m { color: #60E; font-weight: bold } /* Literal.Number */ +.codehilite .s { background-color: #FFF0F0 } /* Literal.String */ +.codehilite .na { color: #00C } /* Name.Attribute */ +.codehilite .nb { color: #007020 } /* Name.Builtin */ +.codehilite .nc { color: #B06; font-weight: bold } /* Name.Class */ +.codehilite .no { color: #036; font-weight: bold } /* Name.Constant */ +.codehilite .nd { color: #555; font-weight: bold } /* Name.Decorator */ +.codehilite .ni { color: #800; font-weight: bold } /* Name.Entity */ +.codehilite .ne { color: #F00; font-weight: bold } /* Name.Exception */ +.codehilite .nf { color: #06B; font-weight: bold } /* Name.Function */ +.codehilite .nl { color: #970; font-weight: bold } /* Name.Label */ +.codehilite .nn { color: #0E84B5; font-weight: bold } /* Name.Namespace */ +.codehilite .nt { color: #070 } /* Name.Tag */ +.codehilite .nv { color: #963 } /* Name.Variable */ +.codehilite .ow { color: #000; font-weight: bold } /* Operator.Word */ +.codehilite .w { color: #BBB } /* Text.Whitespace */ +.codehilite .mb { color: #60E; font-weight: bold } /* Literal.Number.Bin */ +.codehilite .mf { color: #60E; font-weight: bold } /* Literal.Number.Float */ +.codehilite .mh { color: #058; font-weight: bold } /* Literal.Number.Hex */ +.codehilite .mi { color: #00D; font-weight: bold } /* Literal.Number.Integer */ +.codehilite .mo { color: #40E; font-weight: bold } /* Literal.Number.Oct */ +.codehilite .sa { background-color: #FFF0F0 } /* Literal.String.Affix */ +.codehilite .sb { background-color: #FFF0F0 } /* Literal.String.Backtick */ +.codehilite .sc { color: #04D } /* Literal.String.Char */ +.codehilite .dl { background-color: #FFF0F0 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #D42 } /* Literal.String.Doc */ +.codehilite .s2 { background-color: #FFF0F0 } /* Literal.String.Double */ +.codehilite .se { color: #666; font-weight: bold; background-color: #FFF0F0 } /* Literal.String.Escape */ +.codehilite .sh { background-color: #FFF0F0 } /* Literal.String.Heredoc */ +.codehilite .si { background-color: #EEE } /* Literal.String.Interpol */ +.codehilite .sx { color: #D20; background-color: #FFF0F0 } /* Literal.String.Other */ +.codehilite .sr { color: #000; background-color: #FFF0FF } /* Literal.String.Regex */ +.codehilite .s1 { background-color: #FFF0F0 } /* Literal.String.Single */ +.codehilite .ss { color: #A60 } /* Literal.String.Symbol */ +.codehilite .bp { color: #007020 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #06B; font-weight: bold } /* Name.Function.Magic */ +.codehilite .vc { color: #369 } /* Name.Variable.Class */ +.codehilite .vg { color: #D70; font-weight: bold } /* Name.Variable.Global */ +.codehilite .vi { color: #33B } /* Name.Variable.Instance */ +.codehilite .vm { color: #963 } /* Name.Variable.Magic */ +.codehilite .il { color: #00D; font-weight: bold } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/default.css b/site/css/pygments/default.css new file mode 100644 index 0000000..f595cd4 --- /dev/null +++ b/site/css/pygments/default.css @@ -0,0 +1,75 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #ffffcc } +.codehilite { background: #f8f8f8; } +.codehilite .c { color: #3D7B7B; font-style: italic } /* Comment */ +.codehilite .err { border: 1px solid #F00 } /* Error */ +.codehilite .k { color: #008000; font-weight: bold } /* Keyword */ +.codehilite .o { color: #666 } /* Operator */ +.codehilite .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */ +.codehilite .cp { color: #9C6500 } /* Comment.Preproc */ +.codehilite .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */ +.codehilite .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */ +.codehilite .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */ +.codehilite .gd { color: #A00000 } /* Generic.Deleted */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite .gr { color: #E40000 } /* Generic.Error */ +.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.codehilite .gi { color: #008400 } /* Generic.Inserted */ +.codehilite .go { color: #717171 } /* Generic.Output */ +.codehilite .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.codehilite .gt { color: #04D } /* Generic.Traceback */ +.codehilite .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ +.codehilite .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ +.codehilite .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ +.codehilite .kp { color: #008000 } /* Keyword.Pseudo */ +.codehilite .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ +.codehilite .kt { color: #B00040 } /* Keyword.Type */ +.codehilite .m { color: #666 } /* Literal.Number */ +.codehilite .s { color: #BA2121 } /* Literal.String */ +.codehilite .na { color: #687822 } /* Name.Attribute */ +.codehilite .nb { color: #008000 } /* Name.Builtin */ +.codehilite .nc { color: #00F; font-weight: bold } /* Name.Class */ +.codehilite .no { color: #800 } /* Name.Constant */ +.codehilite .nd { color: #A2F } /* Name.Decorator */ +.codehilite .ni { color: #717171; font-weight: bold } /* Name.Entity */ +.codehilite .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */ +.codehilite .nf { color: #00F } /* Name.Function */ +.codehilite .nl { color: #767600 } /* Name.Label */ +.codehilite .nn { color: #00F; font-weight: bold } /* Name.Namespace */ +.codehilite .nt { color: #008000; font-weight: bold } /* Name.Tag */ +.codehilite .nv { color: #19177C } /* Name.Variable */ +.codehilite .ow { color: #A2F; font-weight: bold } /* Operator.Word */ +.codehilite .w { color: #BBB } /* Text.Whitespace */ +.codehilite .mb { color: #666 } /* Literal.Number.Bin */ +.codehilite .mf { color: #666 } /* Literal.Number.Float */ +.codehilite .mh { color: #666 } /* Literal.Number.Hex */ +.codehilite .mi { color: #666 } /* Literal.Number.Integer */ +.codehilite .mo { color: #666 } /* Literal.Number.Oct */ +.codehilite .sa { color: #BA2121 } /* Literal.String.Affix */ +.codehilite .sb { color: #BA2121 } /* Literal.String.Backtick */ +.codehilite .sc { color: #BA2121 } /* Literal.String.Char */ +.codehilite .dl { color: #BA2121 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ +.codehilite .s2 { color: #BA2121 } /* Literal.String.Double */ +.codehilite .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */ +.codehilite .sh { color: #BA2121 } /* Literal.String.Heredoc */ +.codehilite .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */ +.codehilite .sx { color: #008000 } /* Literal.String.Other */ +.codehilite .sr { color: #A45A77 } /* Literal.String.Regex */ +.codehilite .s1 { color: #BA2121 } /* Literal.String.Single */ +.codehilite .ss { color: #19177C } /* Literal.String.Symbol */ +.codehilite .bp { color: #008000 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #00F } /* Name.Function.Magic */ +.codehilite .vc { color: #19177C } /* Name.Variable.Class */ +.codehilite .vg { color: #19177C } /* Name.Variable.Global */ +.codehilite .vi { color: #19177C } /* Name.Variable.Instance */ +.codehilite .vm { color: #19177C } /* Name.Variable.Magic */ +.codehilite .il { color: #666 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/dracula.css b/site/css/pygments/dracula.css new file mode 100644 index 0000000..30fe816 --- /dev/null +++ b/site/css/pygments/dracula.css @@ -0,0 +1,84 @@ +pre { line-height: 125%; } +td.linenos .normal { color: #f1fa8c; background-color: #44475a; padding-left: 5px; padding-right: 5px; } +span.linenos { color: #f1fa8c; background-color: #44475a; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #50fa7b; background-color: #6272a4; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #50fa7b; background-color: #6272a4; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #44475a } +.codehilite { background: #282a36; color: #F8F8F2 } +.codehilite .c { color: #6272A4 } /* Comment */ +.codehilite .err { color: #F8F8F2 } /* Error */ +.codehilite .g { color: #F8F8F2 } /* Generic */ +.codehilite .k { color: #FF79C6 } /* Keyword */ +.codehilite .l { color: #F8F8F2 } /* Literal */ +.codehilite .n { color: #F8F8F2 } /* Name */ +.codehilite .o { color: #FF79C6 } /* Operator */ +.codehilite .x { color: #F8F8F2 } /* Other */ +.codehilite .p { color: #F8F8F2 } /* Punctuation */ +.codehilite .ch { color: #6272A4 } /* Comment.Hashbang */ +.codehilite .cm { color: #6272A4 } /* Comment.Multiline */ +.codehilite .cp { color: #FF79C6 } /* Comment.Preproc */ +.codehilite .cpf { color: #6272A4 } /* Comment.PreprocFile */ +.codehilite .c1 { color: #6272A4 } /* Comment.Single */ +.codehilite .cs { color: #6272A4 } /* Comment.Special */ +.codehilite .gd { color: #8B080B } /* Generic.Deleted */ +.codehilite .ge { color: #F8F8F2; text-decoration: underline } /* Generic.Emph */ +.codehilite .ges { color: #F8F8F2; text-decoration: underline } /* Generic.EmphStrong */ +.codehilite .gr { color: #F8F8F2 } /* Generic.Error */ +.codehilite .gh { color: #F8F8F2; font-weight: bold } /* Generic.Heading */ +.codehilite .gi { color: #F8F8F2; font-weight: bold } /* Generic.Inserted */ +.codehilite .go { color: #44475A } /* Generic.Output */ +.codehilite .gp { color: #F8F8F2 } /* Generic.Prompt */ +.codehilite .gs { color: #F8F8F2 } /* Generic.Strong */ +.codehilite .gu { color: #F8F8F2; font-weight: bold } /* Generic.Subheading */ +.codehilite .gt { color: #F8F8F2 } /* Generic.Traceback */ +.codehilite .kc { color: #FF79C6 } /* Keyword.Constant */ +.codehilite .kd { color: #8BE9FD; font-style: italic } /* Keyword.Declaration */ +.codehilite .kn { color: #FF79C6 } /* Keyword.Namespace */ +.codehilite .kp { color: #FF79C6 } /* Keyword.Pseudo */ +.codehilite .kr { color: #FF79C6 } /* Keyword.Reserved */ +.codehilite .kt { color: #8BE9FD } /* Keyword.Type */ +.codehilite .ld { color: #F8F8F2 } /* Literal.Date */ +.codehilite .m { color: #FFB86C } /* Literal.Number */ +.codehilite .s { color: #BD93F9 } /* Literal.String */ +.codehilite .na { color: #50FA7B } /* Name.Attribute */ +.codehilite .nb { color: #8BE9FD; font-style: italic } /* Name.Builtin */ +.codehilite .nc { color: #50FA7B } /* Name.Class */ +.codehilite .no { color: #F8F8F2 } /* Name.Constant */ +.codehilite .nd { color: #F8F8F2 } /* Name.Decorator */ +.codehilite .ni { color: #F8F8F2 } /* Name.Entity */ +.codehilite .ne { color: #F8F8F2 } /* Name.Exception */ +.codehilite .nf { color: #50FA7B } /* Name.Function */ +.codehilite .nl { color: #8BE9FD; font-style: italic } /* Name.Label */ +.codehilite .nn { color: #F8F8F2 } /* Name.Namespace */ +.codehilite .nx { color: #F8F8F2 } /* Name.Other */ +.codehilite .py { color: #F8F8F2 } /* Name.Property */ +.codehilite .nt { color: #FF79C6 } /* Name.Tag */ +.codehilite .nv { color: #8BE9FD; font-style: italic } /* Name.Variable */ +.codehilite .ow { color: #FF79C6 } /* Operator.Word */ +.codehilite .pm { color: #F8F8F2 } /* Punctuation.Marker */ +.codehilite .w { color: #F8F8F2 } /* Text.Whitespace */ +.codehilite .mb { color: #FFB86C } /* Literal.Number.Bin */ +.codehilite .mf { color: #FFB86C } /* Literal.Number.Float */ +.codehilite .mh { color: #FFB86C } /* Literal.Number.Hex */ +.codehilite .mi { color: #FFB86C } /* Literal.Number.Integer */ +.codehilite .mo { color: #FFB86C } /* Literal.Number.Oct */ +.codehilite .sa { color: #BD93F9 } /* Literal.String.Affix */ +.codehilite .sb { color: #BD93F9 } /* Literal.String.Backtick */ +.codehilite .sc { color: #BD93F9 } /* Literal.String.Char */ +.codehilite .dl { color: #BD93F9 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #BD93F9 } /* Literal.String.Doc */ +.codehilite .s2 { color: #BD93F9 } /* Literal.String.Double */ +.codehilite .se { color: #BD93F9 } /* Literal.String.Escape */ +.codehilite .sh { color: #BD93F9 } /* Literal.String.Heredoc */ +.codehilite .si { color: #BD93F9 } /* Literal.String.Interpol */ +.codehilite .sx { color: #BD93F9 } /* Literal.String.Other */ +.codehilite .sr { color: #BD93F9 } /* Literal.String.Regex */ +.codehilite .s1 { color: #BD93F9 } /* Literal.String.Single */ +.codehilite .ss { color: #BD93F9 } /* Literal.String.Symbol */ +.codehilite .bp { color: #F8F8F2; font-style: italic } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #50FA7B } /* Name.Function.Magic */ +.codehilite .vc { color: #8BE9FD; font-style: italic } /* Name.Variable.Class */ +.codehilite .vg { color: #8BE9FD; font-style: italic } /* Name.Variable.Global */ +.codehilite .vi { color: #8BE9FD; font-style: italic } /* Name.Variable.Instance */ +.codehilite .vm { color: #8BE9FD; font-style: italic } /* Name.Variable.Magic */ +.codehilite .il { color: #FFB86C } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/emacs.css b/site/css/pygments/emacs.css new file mode 100644 index 0000000..1bd31ab --- /dev/null +++ b/site/css/pygments/emacs.css @@ -0,0 +1,75 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #ffffcc } +.codehilite { background: #f8f8f8; } +.codehilite .c { color: #080; font-style: italic } /* Comment */ +.codehilite .err { border: 1px solid #F00 } /* Error */ +.codehilite .k { color: #A2F; font-weight: bold } /* Keyword */ +.codehilite .o { color: #666 } /* Operator */ +.codehilite .ch { color: #080; font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { color: #080; font-style: italic } /* Comment.Multiline */ +.codehilite .cp { color: #080 } /* Comment.Preproc */ +.codehilite .cpf { color: #080; font-style: italic } /* Comment.PreprocFile */ +.codehilite .c1 { color: #080; font-style: italic } /* Comment.Single */ +.codehilite .cs { color: #080; font-weight: bold } /* Comment.Special */ +.codehilite .gd { color: #A00000 } /* Generic.Deleted */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite .gr { color: #F00 } /* Generic.Error */ +.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.codehilite .gi { color: #00A000 } /* Generic.Inserted */ +.codehilite .go { color: #888 } /* Generic.Output */ +.codehilite .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.codehilite .gt { color: #04D } /* Generic.Traceback */ +.codehilite .kc { color: #A2F; font-weight: bold } /* Keyword.Constant */ +.codehilite .kd { color: #A2F; font-weight: bold } /* Keyword.Declaration */ +.codehilite .kn { color: #A2F; font-weight: bold } /* Keyword.Namespace */ +.codehilite .kp { color: #A2F } /* Keyword.Pseudo */ +.codehilite .kr { color: #A2F; font-weight: bold } /* Keyword.Reserved */ +.codehilite .kt { color: #0B0; font-weight: bold } /* Keyword.Type */ +.codehilite .m { color: #666 } /* Literal.Number */ +.codehilite .s { color: #B44 } /* Literal.String */ +.codehilite .na { color: #B44 } /* Name.Attribute */ +.codehilite .nb { color: #A2F } /* Name.Builtin */ +.codehilite .nc { color: #00F } /* Name.Class */ +.codehilite .no { color: #800 } /* Name.Constant */ +.codehilite .nd { color: #A2F } /* Name.Decorator */ +.codehilite .ni { color: #999; font-weight: bold } /* Name.Entity */ +.codehilite .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ +.codehilite .nf { color: #00A000 } /* Name.Function */ +.codehilite .nl { color: #A0A000 } /* Name.Label */ +.codehilite .nn { color: #00F; font-weight: bold } /* Name.Namespace */ +.codehilite .nt { color: #008000; font-weight: bold } /* Name.Tag */ +.codehilite .nv { color: #B8860B } /* Name.Variable */ +.codehilite .ow { color: #A2F; font-weight: bold } /* Operator.Word */ +.codehilite .w { color: #BBB } /* Text.Whitespace */ +.codehilite .mb { color: #666 } /* Literal.Number.Bin */ +.codehilite .mf { color: #666 } /* Literal.Number.Float */ +.codehilite .mh { color: #666 } /* Literal.Number.Hex */ +.codehilite .mi { color: #666 } /* Literal.Number.Integer */ +.codehilite .mo { color: #666 } /* Literal.Number.Oct */ +.codehilite .sa { color: #B44 } /* Literal.String.Affix */ +.codehilite .sb { color: #B44 } /* Literal.String.Backtick */ +.codehilite .sc { color: #B44 } /* Literal.String.Char */ +.codehilite .dl { color: #B44 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #B44; font-style: italic } /* Literal.String.Doc */ +.codehilite .s2 { color: #B44 } /* Literal.String.Double */ +.codehilite .se { color: #B62; font-weight: bold } /* Literal.String.Escape */ +.codehilite .sh { color: #B44 } /* Literal.String.Heredoc */ +.codehilite .si { color: #B68; font-weight: bold } /* Literal.String.Interpol */ +.codehilite .sx { color: #008000 } /* Literal.String.Other */ +.codehilite .sr { color: #B68 } /* Literal.String.Regex */ +.codehilite .s1 { color: #B44 } /* Literal.String.Single */ +.codehilite .ss { color: #B8860B } /* Literal.String.Symbol */ +.codehilite .bp { color: #A2F } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #00A000 } /* Name.Function.Magic */ +.codehilite .vc { color: #B8860B } /* Name.Variable.Class */ +.codehilite .vg { color: #B8860B } /* Name.Variable.Global */ +.codehilite .vi { color: #B8860B } /* Name.Variable.Instance */ +.codehilite .vm { color: #B8860B } /* Name.Variable.Magic */ +.codehilite .il { color: #666 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/friendly.css b/site/css/pygments/friendly.css new file mode 100644 index 0000000..805aa92 --- /dev/null +++ b/site/css/pygments/friendly.css @@ -0,0 +1,75 @@ +pre { line-height: 125%; } +td.linenos .normal { color: #666666; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: #666666; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #ffffcc } +.codehilite { background: #f0f0f0; } +.codehilite .c { color: #60A0B0; font-style: italic } /* Comment */ +.codehilite .err { border: 1px solid #F00 } /* Error */ +.codehilite .k { color: #007020; font-weight: bold } /* Keyword */ +.codehilite .o { color: #666 } /* Operator */ +.codehilite .ch { color: #60A0B0; font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { color: #60A0B0; font-style: italic } /* Comment.Multiline */ +.codehilite .cp { color: #007020 } /* Comment.Preproc */ +.codehilite .cpf { color: #60A0B0; font-style: italic } /* Comment.PreprocFile */ +.codehilite .c1 { color: #60A0B0; font-style: italic } /* Comment.Single */ +.codehilite .cs { color: #60A0B0; background-color: #FFF0F0 } /* Comment.Special */ +.codehilite .gd { color: #A00000 } /* Generic.Deleted */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite .gr { color: #F00 } /* Generic.Error */ +.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.codehilite .gi { color: #00A000 } /* Generic.Inserted */ +.codehilite .go { color: #888 } /* Generic.Output */ +.codehilite .gp { color: #C65D09; font-weight: bold } /* Generic.Prompt */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.codehilite .gt { color: #04D } /* Generic.Traceback */ +.codehilite .kc { color: #007020; font-weight: bold } /* Keyword.Constant */ +.codehilite .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */ +.codehilite .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */ +.codehilite .kp { color: #007020 } /* Keyword.Pseudo */ +.codehilite .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */ +.codehilite .kt { color: #902000 } /* Keyword.Type */ +.codehilite .m { color: #40A070 } /* Literal.Number */ +.codehilite .s { color: #4070A0 } /* Literal.String */ +.codehilite .na { color: #4070A0 } /* Name.Attribute */ +.codehilite .nb { color: #007020 } /* Name.Builtin */ +.codehilite .nc { color: #0E84B5; font-weight: bold } /* Name.Class */ +.codehilite .no { color: #60ADD5 } /* Name.Constant */ +.codehilite .nd { color: #555; font-weight: bold } /* Name.Decorator */ +.codehilite .ni { color: #D55537; font-weight: bold } /* Name.Entity */ +.codehilite .ne { color: #007020 } /* Name.Exception */ +.codehilite .nf { color: #06287E } /* Name.Function */ +.codehilite .nl { color: #002070; font-weight: bold } /* Name.Label */ +.codehilite .nn { color: #0E84B5; font-weight: bold } /* Name.Namespace */ +.codehilite .nt { color: #062873; font-weight: bold } /* Name.Tag */ +.codehilite .nv { color: #BB60D5 } /* Name.Variable */ +.codehilite .ow { color: #007020; font-weight: bold } /* Operator.Word */ +.codehilite .w { color: #BBB } /* Text.Whitespace */ +.codehilite .mb { color: #40A070 } /* Literal.Number.Bin */ +.codehilite .mf { color: #40A070 } /* Literal.Number.Float */ +.codehilite .mh { color: #40A070 } /* Literal.Number.Hex */ +.codehilite .mi { color: #40A070 } /* Literal.Number.Integer */ +.codehilite .mo { color: #40A070 } /* Literal.Number.Oct */ +.codehilite .sa { color: #4070A0 } /* Literal.String.Affix */ +.codehilite .sb { color: #4070A0 } /* Literal.String.Backtick */ +.codehilite .sc { color: #4070A0 } /* Literal.String.Char */ +.codehilite .dl { color: #4070A0 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #4070A0; font-style: italic } /* Literal.String.Doc */ +.codehilite .s2 { color: #4070A0 } /* Literal.String.Double */ +.codehilite .se { color: #4070A0; font-weight: bold } /* Literal.String.Escape */ +.codehilite .sh { color: #4070A0 } /* Literal.String.Heredoc */ +.codehilite .si { color: #70A0D0; font-style: italic } /* Literal.String.Interpol */ +.codehilite .sx { color: #C65D09 } /* Literal.String.Other */ +.codehilite .sr { color: #235388 } /* Literal.String.Regex */ +.codehilite .s1 { color: #4070A0 } /* Literal.String.Single */ +.codehilite .ss { color: #517918 } /* Literal.String.Symbol */ +.codehilite .bp { color: #007020 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #06287E } /* Name.Function.Magic */ +.codehilite .vc { color: #BB60D5 } /* Name.Variable.Class */ +.codehilite .vg { color: #BB60D5 } /* Name.Variable.Global */ +.codehilite .vi { color: #BB60D5 } /* Name.Variable.Instance */ +.codehilite .vm { color: #BB60D5 } /* Name.Variable.Magic */ +.codehilite .il { color: #40A070 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/friendly_grayscale.css b/site/css/pygments/friendly_grayscale.css new file mode 100644 index 0000000..0f0cee6 --- /dev/null +++ b/site/css/pygments/friendly_grayscale.css @@ -0,0 +1,75 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #ffffcc } +.codehilite { background: #f0f0f0; } +.codehilite .c { color: #959595; font-style: italic } /* Comment */ +.codehilite .err { border: 1px solid #898989 } /* Error */ +.codehilite .k { color: #575757; font-weight: bold } /* Keyword */ +.codehilite .o { color: #666 } /* Operator */ +.codehilite .ch { color: #959595; font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { color: #959595; font-style: italic } /* Comment.Multiline */ +.codehilite .cp { color: #575757 } /* Comment.Preproc */ +.codehilite .cpf { color: #959595; font-style: italic } /* Comment.PreprocFile */ +.codehilite .c1 { color: #959595; font-style: italic } /* Comment.Single */ +.codehilite .cs { color: #959595; background-color: #F4F4F4 } /* Comment.Special */ +.codehilite .gd { color: #545454 } /* Generic.Deleted */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite .gr { color: #898989 } /* Generic.Error */ +.codehilite .gh { color: #373737; font-weight: bold } /* Generic.Heading */ +.codehilite .gi { color: #7D7D7D } /* Generic.Inserted */ +.codehilite .go { color: #888 } /* Generic.Output */ +.codehilite .gp { color: #7E7E7E; font-weight: bold } /* Generic.Prompt */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #5A5A5A; font-weight: bold } /* Generic.Subheading */ +.codehilite .gt { color: #6D6D6D } /* Generic.Traceback */ +.codehilite .kc { color: #575757; font-weight: bold } /* Keyword.Constant */ +.codehilite .kd { color: #575757; font-weight: bold } /* Keyword.Declaration */ +.codehilite .kn { color: #575757; font-weight: bold } /* Keyword.Namespace */ +.codehilite .kp { color: #575757 } /* Keyword.Pseudo */ +.codehilite .kr { color: #575757; font-weight: bold } /* Keyword.Reserved */ +.codehilite .kt { color: #4F4F4F } /* Keyword.Type */ +.codehilite .m { color: #888 } /* Literal.Number */ +.codehilite .s { color: #717171 } /* Literal.String */ +.codehilite .na { color: #707070 } /* Name.Attribute */ +.codehilite .nb { color: #575757 } /* Name.Builtin */ +.codehilite .nc { color: #7E7E7E; font-weight: bold } /* Name.Class */ +.codehilite .no { color: #A5A5A5 } /* Name.Constant */ +.codehilite .nd { color: #555; font-weight: bold } /* Name.Decorator */ +.codehilite .ni { color: #848484; font-weight: bold } /* Name.Entity */ +.codehilite .ne { color: #575757 } /* Name.Exception */ +.codehilite .nf { color: #3F3F3F } /* Name.Function */ +.codehilite .nl { color: #363636; font-weight: bold } /* Name.Label */ +.codehilite .nn { color: #7E7E7E; font-weight: bold } /* Name.Namespace */ +.codehilite .nt { color: #3B3B3B; font-weight: bold } /* Name.Tag */ +.codehilite .nv { color: #9A9A9A } /* Name.Variable */ +.codehilite .ow { color: #575757; font-weight: bold } /* Operator.Word */ +.codehilite .w { color: #BBB } /* Text.Whitespace */ +.codehilite .mb { color: #888 } /* Literal.Number.Bin */ +.codehilite .mf { color: #888 } /* Literal.Number.Float */ +.codehilite .mh { color: #888 } /* Literal.Number.Hex */ +.codehilite .mi { color: #888 } /* Literal.Number.Integer */ +.codehilite .mo { color: #888 } /* Literal.Number.Oct */ +.codehilite .sa { color: #717171 } /* Literal.String.Affix */ +.codehilite .sb { color: #717171 } /* Literal.String.Backtick */ +.codehilite .sc { color: #717171 } /* Literal.String.Char */ +.codehilite .dl { color: #717171 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #717171; font-style: italic } /* Literal.String.Doc */ +.codehilite .s2 { color: #717171 } /* Literal.String.Double */ +.codehilite .se { color: #717171; font-weight: bold } /* Literal.String.Escape */ +.codehilite .sh { color: #717171 } /* Literal.String.Heredoc */ +.codehilite .si { color: #9F9F9F; font-style: italic } /* Literal.String.Interpol */ +.codehilite .sx { color: #7E7E7E } /* Literal.String.Other */ +.codehilite .sr { color: #575757 } /* Literal.String.Regex */ +.codehilite .s1 { color: #717171 } /* Literal.String.Single */ +.codehilite .ss { color: #676767 } /* Literal.String.Symbol */ +.codehilite .bp { color: #575757 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #3F3F3F } /* Name.Function.Magic */ +.codehilite .vc { color: #9A9A9A } /* Name.Variable.Class */ +.codehilite .vg { color: #9A9A9A } /* Name.Variable.Global */ +.codehilite .vi { color: #9A9A9A } /* Name.Variable.Instance */ +.codehilite .vm { color: #9A9A9A } /* Name.Variable.Magic */ +.codehilite .il { color: #888 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/fruity.css b/site/css/pygments/fruity.css new file mode 100644 index 0000000..ae6546b --- /dev/null +++ b/site/css/pygments/fruity.css @@ -0,0 +1,85 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #333333 } +.codehilite { background: #111111; color: #FFF } +.codehilite .c { color: #080; font-style: italic; background-color: #0F140F } /* Comment */ +.codehilite .err { color: #FFF } /* Error */ +.codehilite .esc { color: #FFF } /* Escape */ +.codehilite .g { color: #FFF } /* Generic */ +.codehilite .k { color: #FB660A; font-weight: bold } /* Keyword */ +.codehilite .l { color: #FFF } /* Literal */ +.codehilite .n { color: #FFF } /* Name */ +.codehilite .o { color: #FFF } /* Operator */ +.codehilite .x { color: #FFF } /* Other */ +.codehilite .p { color: #FFF } /* Punctuation */ +.codehilite .ch { color: #080; font-style: italic; background-color: #0F140F } /* Comment.Hashbang */ +.codehilite .cm { color: #080; font-style: italic; background-color: #0F140F } /* Comment.Multiline */ +.codehilite .cp { color: #FF0007; font-weight: bold; font-style: italic; background-color: #0F140F } /* Comment.Preproc */ +.codehilite .cpf { color: #080; font-style: italic; background-color: #0F140F } /* Comment.PreprocFile */ +.codehilite .c1 { color: #080; font-style: italic; background-color: #0F140F } /* Comment.Single */ +.codehilite .cs { color: #080; font-style: italic; background-color: #0F140F } /* Comment.Special */ +.codehilite .gd { color: #FFF } /* Generic.Deleted */ +.codehilite .ge { color: #FFF } /* Generic.Emph */ +.codehilite .ges { color: #FFF } /* Generic.EmphStrong */ +.codehilite .gr { color: #FFF } /* Generic.Error */ +.codehilite .gh { color: #FFF; font-weight: bold } /* Generic.Heading */ +.codehilite .gi { color: #FFF } /* Generic.Inserted */ +.codehilite .go { color: #444; background-color: #222 } /* Generic.Output */ +.codehilite .gp { color: #FFF } /* Generic.Prompt */ +.codehilite .gs { color: #FFF } /* Generic.Strong */ +.codehilite .gu { color: #FFF; font-weight: bold } /* Generic.Subheading */ +.codehilite .gt { color: #FFF } /* Generic.Traceback */ +.codehilite .kc { color: #FB660A; font-weight: bold } /* Keyword.Constant */ +.codehilite .kd { color: #FB660A; font-weight: bold } /* Keyword.Declaration */ +.codehilite .kn { color: #FB660A; font-weight: bold } /* Keyword.Namespace */ +.codehilite .kp { color: #FB660A } /* Keyword.Pseudo */ +.codehilite .kr { color: #FB660A; font-weight: bold } /* Keyword.Reserved */ +.codehilite .kt { color: #CDCAA9; font-weight: bold } /* Keyword.Type */ +.codehilite .ld { color: #FFF } /* Literal.Date */ +.codehilite .m { color: #0086F7; font-weight: bold } /* Literal.Number */ +.codehilite .s { color: #0086D2 } /* Literal.String */ +.codehilite .na { color: #FF0086; font-weight: bold } /* Name.Attribute */ +.codehilite .nb { color: #FFF } /* Name.Builtin */ +.codehilite .nc { color: #FFF } /* Name.Class */ +.codehilite .no { color: #0086D2 } /* Name.Constant */ +.codehilite .nd { color: #FFF } /* Name.Decorator */ +.codehilite .ni { color: #FFF } /* Name.Entity */ +.codehilite .ne { color: #FFF } /* Name.Exception */ +.codehilite .nf { color: #FF0086; font-weight: bold } /* Name.Function */ +.codehilite .nl { color: #FFF } /* Name.Label */ +.codehilite .nn { color: #FFF } /* Name.Namespace */ +.codehilite .nx { color: #FFF } /* Name.Other */ +.codehilite .py { color: #FFF } /* Name.Property */ +.codehilite .nt { color: #FB660A; font-weight: bold } /* Name.Tag */ +.codehilite .nv { color: #FB660A } /* Name.Variable */ +.codehilite .ow { color: #FFF } /* Operator.Word */ +.codehilite .pm { color: #FFF } /* Punctuation.Marker */ +.codehilite .w { color: #888 } /* Text.Whitespace */ +.codehilite .mb { color: #0086F7; font-weight: bold } /* Literal.Number.Bin */ +.codehilite .mf { color: #0086F7; font-weight: bold } /* Literal.Number.Float */ +.codehilite .mh { color: #0086F7; font-weight: bold } /* Literal.Number.Hex */ +.codehilite .mi { color: #0086F7; font-weight: bold } /* Literal.Number.Integer */ +.codehilite .mo { color: #0086F7; font-weight: bold } /* Literal.Number.Oct */ +.codehilite .sa { color: #0086D2 } /* Literal.String.Affix */ +.codehilite .sb { color: #0086D2 } /* Literal.String.Backtick */ +.codehilite .sc { color: #0086D2 } /* Literal.String.Char */ +.codehilite .dl { color: #0086D2 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #0086D2 } /* Literal.String.Doc */ +.codehilite .s2 { color: #0086D2 } /* Literal.String.Double */ +.codehilite .se { color: #0086D2 } /* Literal.String.Escape */ +.codehilite .sh { color: #0086D2 } /* Literal.String.Heredoc */ +.codehilite .si { color: #0086D2 } /* Literal.String.Interpol */ +.codehilite .sx { color: #0086D2 } /* Literal.String.Other */ +.codehilite .sr { color: #0086D2 } /* Literal.String.Regex */ +.codehilite .s1 { color: #0086D2 } /* Literal.String.Single */ +.codehilite .ss { color: #0086D2 } /* Literal.String.Symbol */ +.codehilite .bp { color: #FFF } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #FF0086; font-weight: bold } /* Name.Function.Magic */ +.codehilite .vc { color: #FB660A } /* Name.Variable.Class */ +.codehilite .vg { color: #FB660A } /* Name.Variable.Global */ +.codehilite .vi { color: #FB660A } /* Name.Variable.Instance */ +.codehilite .vm { color: #FB660A } /* Name.Variable.Magic */ +.codehilite .il { color: #0086F7; font-weight: bold } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/github-dark-colorblind.css b/site/css/pygments/github-dark-colorblind.css new file mode 100644 index 0000000..bf2f468 --- /dev/null +++ b/site/css/pygments/github-dark-colorblind.css @@ -0,0 +1,77 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #58a6ff70 } +.codehilite { background: #0d1117; color: #C9D1D9 } +.codehilite .c { color: #B1BAC4 } /* Comment */ +.codehilite .err { color: #EC8E2C } /* Error */ +.codehilite .k { color: #EC8E2C } /* Keyword */ +.codehilite .l { color: #FDAC54 } /* Literal */ +.codehilite .n { color: #D2A8FF } /* Name */ +.codehilite .o { color: #A5D6FF } /* Operator */ +.codehilite .p { color: #C9D1D9 } /* Punctuation */ +.codehilite .ch { color: #B1BAC4 } /* Comment.Hashbang */ +.codehilite .cm { color: #B1BAC4 } /* Comment.Multiline */ +.codehilite .cp { color: #B1BAC4 } /* Comment.Preproc */ +.codehilite .cpf { color: #B1BAC4 } /* Comment.PreprocFile */ +.codehilite .c1 { color: #B1BAC4 } /* Comment.Single */ +.codehilite .cs { color: #B1BAC4 } /* Comment.Special */ +.codehilite .gd { color: #79C0FF } /* Generic.Deleted */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .gr { color: #EC8E2C } /* Generic.Error */ +.codehilite .gh { color: #79C0FF } /* Generic.Heading */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #79C0FF } /* Generic.Subheading */ +.codehilite .kc { color: #79C0FF } /* Keyword.Constant */ +.codehilite .kd { color: #EC8E2C } /* Keyword.Declaration */ +.codehilite .kn { color: #EC8E2C } /* Keyword.Namespace */ +.codehilite .kp { color: #EC8E2C } /* Keyword.Pseudo */ +.codehilite .kr { color: #EC8E2C } /* Keyword.Reserved */ +.codehilite .kt { color: #EC8E2C } /* Keyword.Type */ +.codehilite .ld { color: #FDAC54 } /* Literal.Date */ +.codehilite .m { color: #FDAC54 } /* Literal.Number */ +.codehilite .s { color: #79C0FF } /* Literal.String */ +.codehilite .na { color: #FDAC54 } /* Name.Attribute */ +.codehilite .nb { color: #FDAC54 } /* Name.Builtin */ +.codehilite .nc { color: #79C0FF } /* Name.Class */ +.codehilite .no { color: #79C0FF } /* Name.Constant */ +.codehilite .nd { color: #FDAC54 } /* Name.Decorator */ +.codehilite .ni { color: #A5D6FF } /* Name.Entity */ +.codehilite .ne { color: #D2A8FF } /* Name.Exception */ +.codehilite .nf { color: #79C0FF } /* Name.Function */ +.codehilite .nl { color: #FDAC54 } /* Name.Label */ +.codehilite .nn { color: #C9D1D9 } /* Name.Namespace */ +.codehilite .nx { color: #D2A8FF } /* Name.Other */ +.codehilite .py { color: #79C0FF } /* Name.Property */ +.codehilite .nt { color: #A5D6FF } /* Name.Tag */ +.codehilite .nv { color: #FDAC54 } /* Name.Variable */ +.codehilite .ow { color: #D2A8FF } /* Operator.Word */ +.codehilite .pm { color: #C9D1D9 } /* Punctuation.Marker */ +.codehilite .w { color: #C9D1D9 } /* Text.Whitespace */ +.codehilite .mb { color: #FDAC54 } /* Literal.Number.Bin */ +.codehilite .mf { color: #FDAC54 } /* Literal.Number.Float */ +.codehilite .mh { color: #FDAC54 } /* Literal.Number.Hex */ +.codehilite .mi { color: #FDAC54 } /* Literal.Number.Integer */ +.codehilite .mo { color: #FDAC54 } /* Literal.Number.Oct */ +.codehilite .sa { color: #79C0FF } /* Literal.String.Affix */ +.codehilite .sb { color: #79C0FF } /* Literal.String.Backtick */ +.codehilite .sc { color: #79C0FF } /* Literal.String.Char */ +.codehilite .dl { color: #79C0FF } /* Literal.String.Delimiter */ +.codehilite .sd { color: #79C0FF } /* Literal.String.Doc */ +.codehilite .s2 { color: #79C0FF } /* Literal.String.Double */ +.codehilite .se { color: #79C0FF } /* Literal.String.Escape */ +.codehilite .sh { color: #79C0FF } /* Literal.String.Heredoc */ +.codehilite .si { color: #79C0FF } /* Literal.String.Interpol */ +.codehilite .sx { color: #79C0FF } /* Literal.String.Other */ +.codehilite .sr { color: #79C0FF } /* Literal.String.Regex */ +.codehilite .s1 { color: #79C0FF } /* Literal.String.Single */ +.codehilite .ss { color: #79C0FF } /* Literal.String.Symbol */ +.codehilite .bp { color: #FDAC54 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #79C0FF } /* Name.Function.Magic */ +.codehilite .vc { color: #FDAC54 } /* Name.Variable.Class */ +.codehilite .vg { color: #FDAC54 } /* Name.Variable.Global */ +.codehilite .vi { color: #FDAC54 } /* Name.Variable.Instance */ +.codehilite .vm { color: #FDAC54 } /* Name.Variable.Magic */ +.codehilite .il { color: #FDAC54 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/github-dark-high-contrast.css b/site/css/pygments/github-dark-high-contrast.css new file mode 100644 index 0000000..49dc27a --- /dev/null +++ b/site/css/pygments/github-dark-high-contrast.css @@ -0,0 +1,77 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #58a6ff70 } +.codehilite { background: #0d1117; color: #C9D1D9 } +.codehilite .c { color: #D9DEE3 } /* Comment */ +.codehilite .err { color: #FF9492 } /* Error */ +.codehilite .k { color: #FF9492 } /* Keyword */ +.codehilite .l { color: #FFB757 } /* Literal */ +.codehilite .n { color: #DBB7FF } /* Name */ +.codehilite .o { color: #72F088 } /* Operator */ +.codehilite .p { color: #C9D1D9 } /* Punctuation */ +.codehilite .ch { color: #D9DEE3 } /* Comment.Hashbang */ +.codehilite .cm { color: #D9DEE3 } /* Comment.Multiline */ +.codehilite .cp { color: #D9DEE3 } /* Comment.Preproc */ +.codehilite .cpf { color: #D9DEE3 } /* Comment.PreprocFile */ +.codehilite .c1 { color: #D9DEE3 } /* Comment.Single */ +.codehilite .cs { color: #D9DEE3 } /* Comment.Special */ +.codehilite .gd { color: #91CBFF } /* Generic.Deleted */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .gr { color: #FF9492 } /* Generic.Error */ +.codehilite .gh { color: #91CBFF } /* Generic.Heading */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #91CBFF } /* Generic.Subheading */ +.codehilite .kc { color: #91CBFF } /* Keyword.Constant */ +.codehilite .kd { color: #FF9492 } /* Keyword.Declaration */ +.codehilite .kn { color: #FF9492 } /* Keyword.Namespace */ +.codehilite .kp { color: #FF9492 } /* Keyword.Pseudo */ +.codehilite .kr { color: #FF9492 } /* Keyword.Reserved */ +.codehilite .kt { color: #FF9492 } /* Keyword.Type */ +.codehilite .ld { color: #FFB757 } /* Literal.Date */ +.codehilite .m { color: #FFB757 } /* Literal.Number */ +.codehilite .s { color: #91CBFF } /* Literal.String */ +.codehilite .na { color: #FFB757 } /* Name.Attribute */ +.codehilite .nb { color: #FFB757 } /* Name.Builtin */ +.codehilite .nc { color: #91CBFF } /* Name.Class */ +.codehilite .no { color: #91CBFF } /* Name.Constant */ +.codehilite .nd { color: #FFB757 } /* Name.Decorator */ +.codehilite .ni { color: #72F088 } /* Name.Entity */ +.codehilite .ne { color: #DBB7FF } /* Name.Exception */ +.codehilite .nf { color: #91CBFF } /* Name.Function */ +.codehilite .nl { color: #FFB757 } /* Name.Label */ +.codehilite .nn { color: #C9D1D9 } /* Name.Namespace */ +.codehilite .nx { color: #DBB7FF } /* Name.Other */ +.codehilite .py { color: #91CBFF } /* Name.Property */ +.codehilite .nt { color: #72F088 } /* Name.Tag */ +.codehilite .nv { color: #FFB757 } /* Name.Variable */ +.codehilite .ow { color: #DBB7FF } /* Operator.Word */ +.codehilite .pm { color: #C9D1D9 } /* Punctuation.Marker */ +.codehilite .w { color: #C9D1D9 } /* Text.Whitespace */ +.codehilite .mb { color: #FFB757 } /* Literal.Number.Bin */ +.codehilite .mf { color: #FFB757 } /* Literal.Number.Float */ +.codehilite .mh { color: #FFB757 } /* Literal.Number.Hex */ +.codehilite .mi { color: #FFB757 } /* Literal.Number.Integer */ +.codehilite .mo { color: #FFB757 } /* Literal.Number.Oct */ +.codehilite .sa { color: #91CBFF } /* Literal.String.Affix */ +.codehilite .sb { color: #91CBFF } /* Literal.String.Backtick */ +.codehilite .sc { color: #91CBFF } /* Literal.String.Char */ +.codehilite .dl { color: #91CBFF } /* Literal.String.Delimiter */ +.codehilite .sd { color: #91CBFF } /* Literal.String.Doc */ +.codehilite .s2 { color: #91CBFF } /* Literal.String.Double */ +.codehilite .se { color: #91CBFF } /* Literal.String.Escape */ +.codehilite .sh { color: #91CBFF } /* Literal.String.Heredoc */ +.codehilite .si { color: #91CBFF } /* Literal.String.Interpol */ +.codehilite .sx { color: #91CBFF } /* Literal.String.Other */ +.codehilite .sr { color: #91CBFF } /* Literal.String.Regex */ +.codehilite .s1 { color: #91CBFF } /* Literal.String.Single */ +.codehilite .ss { color: #91CBFF } /* Literal.String.Symbol */ +.codehilite .bp { color: #FFB757 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #91CBFF } /* Name.Function.Magic */ +.codehilite .vc { color: #FFB757 } /* Name.Variable.Class */ +.codehilite .vg { color: #FFB757 } /* Name.Variable.Global */ +.codehilite .vi { color: #FFB757 } /* Name.Variable.Instance */ +.codehilite .vm { color: #FFB757 } /* Name.Variable.Magic */ +.codehilite .il { color: #FFB757 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/github-dark.css b/site/css/pygments/github-dark.css new file mode 100644 index 0000000..3c717b6 --- /dev/null +++ b/site/css/pygments/github-dark.css @@ -0,0 +1,86 @@ +pre { line-height: 125%; } +td.linenos .normal { color: #6e7681; background-color: #0d1117; padding-left: 5px; padding-right: 5px; } +span.linenos { color: #6e7681; background-color: #0d1117; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #e6edf3; background-color: #6e7681; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #e6edf3; background-color: #6e7681; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #6e7681 } +.codehilite { background: #0d1117; color: #E6EDF3 } +.codehilite .c { color: #8B949E; font-style: italic } /* Comment */ +.codehilite .err { color: #F85149 } /* Error */ +.codehilite .esc { color: #E6EDF3 } /* Escape */ +.codehilite .g { color: #E6EDF3 } /* Generic */ +.codehilite .k { color: #FF7B72 } /* Keyword */ +.codehilite .l { color: #A5D6FF } /* Literal */ +.codehilite .n { color: #E6EDF3 } /* Name */ +.codehilite .o { color: #FF7B72; font-weight: bold } /* Operator */ +.codehilite .x { color: #E6EDF3 } /* Other */ +.codehilite .p { color: #E6EDF3 } /* Punctuation */ +.codehilite .ch { color: #8B949E; font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { color: #8B949E; font-style: italic } /* Comment.Multiline */ +.codehilite .cp { color: #8B949E; font-weight: bold; font-style: italic } /* Comment.Preproc */ +.codehilite .cpf { color: #8B949E; font-style: italic } /* Comment.PreprocFile */ +.codehilite .c1 { color: #8B949E; font-style: italic } /* Comment.Single */ +.codehilite .cs { color: #8B949E; font-weight: bold; font-style: italic } /* Comment.Special */ +.codehilite .gd { color: #FFA198; background-color: #490202 } /* Generic.Deleted */ +.codehilite .ge { color: #E6EDF3; font-style: italic } /* Generic.Emph */ +.codehilite .ges { color: #E6EDF3; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite .gr { color: #FFA198 } /* Generic.Error */ +.codehilite .gh { color: #79C0FF; font-weight: bold } /* Generic.Heading */ +.codehilite .gi { color: #56D364; background-color: #0F5323 } /* Generic.Inserted */ +.codehilite .go { color: #8B949E } /* Generic.Output */ +.codehilite .gp { color: #8B949E } /* Generic.Prompt */ +.codehilite .gs { color: #E6EDF3; font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #79C0FF } /* Generic.Subheading */ +.codehilite .gt { color: #FF7B72 } /* Generic.Traceback */ +.codehilite .g-Underline { color: #E6EDF3; text-decoration: underline } /* Generic.Underline */ +.codehilite .kc { color: #79C0FF } /* Keyword.Constant */ +.codehilite .kd { color: #FF7B72 } /* Keyword.Declaration */ +.codehilite .kn { color: #FF7B72 } /* Keyword.Namespace */ +.codehilite .kp { color: #79C0FF } /* Keyword.Pseudo */ +.codehilite .kr { color: #FF7B72 } /* Keyword.Reserved */ +.codehilite .kt { color: #FF7B72 } /* Keyword.Type */ +.codehilite .ld { color: #79C0FF } /* Literal.Date */ +.codehilite .m { color: #A5D6FF } /* Literal.Number */ +.codehilite .s { color: #A5D6FF } /* Literal.String */ +.codehilite .na { color: #E6EDF3 } /* Name.Attribute */ +.codehilite .nb { color: #E6EDF3 } /* Name.Builtin */ +.codehilite .nc { color: #F0883E; font-weight: bold } /* Name.Class */ +.codehilite .no { color: #79C0FF; font-weight: bold } /* Name.Constant */ +.codehilite .nd { color: #D2A8FF; font-weight: bold } /* Name.Decorator */ +.codehilite .ni { color: #FFA657 } /* Name.Entity */ +.codehilite .ne { color: #F0883E; font-weight: bold } /* Name.Exception */ +.codehilite .nf { color: #D2A8FF; font-weight: bold } /* Name.Function */ +.codehilite .nl { color: #79C0FF; font-weight: bold } /* Name.Label */ +.codehilite .nn { color: #FF7B72 } /* Name.Namespace */ +.codehilite .nx { color: #E6EDF3 } /* Name.Other */ +.codehilite .py { color: #79C0FF } /* Name.Property */ +.codehilite .nt { color: #7EE787 } /* Name.Tag */ +.codehilite .nv { color: #79C0FF } /* Name.Variable */ +.codehilite .ow { color: #FF7B72; font-weight: bold } /* Operator.Word */ +.codehilite .pm { color: #E6EDF3 } /* Punctuation.Marker */ +.codehilite .w { color: #6E7681 } /* Text.Whitespace */ +.codehilite .mb { color: #A5D6FF } /* Literal.Number.Bin */ +.codehilite .mf { color: #A5D6FF } /* Literal.Number.Float */ +.codehilite .mh { color: #A5D6FF } /* Literal.Number.Hex */ +.codehilite .mi { color: #A5D6FF } /* Literal.Number.Integer */ +.codehilite .mo { color: #A5D6FF } /* Literal.Number.Oct */ +.codehilite .sa { color: #79C0FF } /* Literal.String.Affix */ +.codehilite .sb { color: #A5D6FF } /* Literal.String.Backtick */ +.codehilite .sc { color: #A5D6FF } /* Literal.String.Char */ +.codehilite .dl { color: #79C0FF } /* Literal.String.Delimiter */ +.codehilite .sd { color: #A5D6FF } /* Literal.String.Doc */ +.codehilite .s2 { color: #A5D6FF } /* Literal.String.Double */ +.codehilite .se { color: #79C0FF } /* Literal.String.Escape */ +.codehilite .sh { color: #79C0FF } /* Literal.String.Heredoc */ +.codehilite .si { color: #A5D6FF } /* Literal.String.Interpol */ +.codehilite .sx { color: #A5D6FF } /* Literal.String.Other */ +.codehilite .sr { color: #79C0FF } /* Literal.String.Regex */ +.codehilite .s1 { color: #A5D6FF } /* Literal.String.Single */ +.codehilite .ss { color: #A5D6FF } /* Literal.String.Symbol */ +.codehilite .bp { color: #E6EDF3 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #D2A8FF; font-weight: bold } /* Name.Function.Magic */ +.codehilite .vc { color: #79C0FF } /* Name.Variable.Class */ +.codehilite .vg { color: #79C0FF } /* Name.Variable.Global */ +.codehilite .vi { color: #79C0FF } /* Name.Variable.Instance */ +.codehilite .vm { color: #79C0FF } /* Name.Variable.Magic */ +.codehilite .il { color: #A5D6FF } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/github-light-colorblind.css b/site/css/pygments/github-light-colorblind.css new file mode 100644 index 0000000..ee93db8 --- /dev/null +++ b/site/css/pygments/github-light-colorblind.css @@ -0,0 +1,77 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #0969da4a } +.codehilite { background: #ffffff; color: #24292F } +.codehilite .c { color: #6E7781 } /* Comment */ +.codehilite .err { color: #B35900 } /* Error */ +.codehilite .k { color: #B35900 } /* Keyword */ +.codehilite .l { color: #8A4600 } /* Literal */ +.codehilite .n { color: #8250DF } /* Name */ +.codehilite .o { color: #0550AE } /* Operator */ +.codehilite .p { color: #24292F } /* Punctuation */ +.codehilite .ch { color: #6E7781 } /* Comment.Hashbang */ +.codehilite .cm { color: #6E7781 } /* Comment.Multiline */ +.codehilite .cp { color: #6E7781 } /* Comment.Preproc */ +.codehilite .cpf { color: #6E7781 } /* Comment.PreprocFile */ +.codehilite .c1 { color: #6E7781 } /* Comment.Single */ +.codehilite .cs { color: #6E7781 } /* Comment.Special */ +.codehilite .gd { color: #0550AE } /* Generic.Deleted */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .gr { color: #B35900 } /* Generic.Error */ +.codehilite .gh { color: #0550AE } /* Generic.Heading */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #0550AE } /* Generic.Subheading */ +.codehilite .kc { color: #0550AE } /* Keyword.Constant */ +.codehilite .kd { color: #B35900 } /* Keyword.Declaration */ +.codehilite .kn { color: #B35900 } /* Keyword.Namespace */ +.codehilite .kp { color: #B35900 } /* Keyword.Pseudo */ +.codehilite .kr { color: #B35900 } /* Keyword.Reserved */ +.codehilite .kt { color: #B35900 } /* Keyword.Type */ +.codehilite .ld { color: #8A4600 } /* Literal.Date */ +.codehilite .m { color: #8A4600 } /* Literal.Number */ +.codehilite .s { color: #0550AE } /* Literal.String */ +.codehilite .na { color: #8A4600 } /* Name.Attribute */ +.codehilite .nb { color: #8A4600 } /* Name.Builtin */ +.codehilite .nc { color: #0550AE } /* Name.Class */ +.codehilite .no { color: #0550AE } /* Name.Constant */ +.codehilite .nd { color: #8A4600 } /* Name.Decorator */ +.codehilite .ni { color: #0550AE } /* Name.Entity */ +.codehilite .ne { color: #8250DF } /* Name.Exception */ +.codehilite .nf { color: #0550AE } /* Name.Function */ +.codehilite .nl { color: #8A4600 } /* Name.Label */ +.codehilite .nn { color: #24292F } /* Name.Namespace */ +.codehilite .nx { color: #8250DF } /* Name.Other */ +.codehilite .py { color: #0550AE } /* Name.Property */ +.codehilite .nt { color: #0550AE } /* Name.Tag */ +.codehilite .nv { color: #8A4600 } /* Name.Variable */ +.codehilite .ow { color: #8250DF } /* Operator.Word */ +.codehilite .pm { color: #24292F } /* Punctuation.Marker */ +.codehilite .w { color: #24292F } /* Text.Whitespace */ +.codehilite .mb { color: #8A4600 } /* Literal.Number.Bin */ +.codehilite .mf { color: #8A4600 } /* Literal.Number.Float */ +.codehilite .mh { color: #8A4600 } /* Literal.Number.Hex */ +.codehilite .mi { color: #8A4600 } /* Literal.Number.Integer */ +.codehilite .mo { color: #8A4600 } /* Literal.Number.Oct */ +.codehilite .sa { color: #0550AE } /* Literal.String.Affix */ +.codehilite .sb { color: #0550AE } /* Literal.String.Backtick */ +.codehilite .sc { color: #0550AE } /* Literal.String.Char */ +.codehilite .dl { color: #0550AE } /* Literal.String.Delimiter */ +.codehilite .sd { color: #0550AE } /* Literal.String.Doc */ +.codehilite .s2 { color: #0550AE } /* Literal.String.Double */ +.codehilite .se { color: #0550AE } /* Literal.String.Escape */ +.codehilite .sh { color: #0550AE } /* Literal.String.Heredoc */ +.codehilite .si { color: #0550AE } /* Literal.String.Interpol */ +.codehilite .sx { color: #0550AE } /* Literal.String.Other */ +.codehilite .sr { color: #0550AE } /* Literal.String.Regex */ +.codehilite .s1 { color: #0550AE } /* Literal.String.Single */ +.codehilite .ss { color: #0550AE } /* Literal.String.Symbol */ +.codehilite .bp { color: #8A4600 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #0550AE } /* Name.Function.Magic */ +.codehilite .vc { color: #8A4600 } /* Name.Variable.Class */ +.codehilite .vg { color: #8A4600 } /* Name.Variable.Global */ +.codehilite .vi { color: #8A4600 } /* Name.Variable.Instance */ +.codehilite .vm { color: #8A4600 } /* Name.Variable.Magic */ +.codehilite .il { color: #8A4600 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/github-light-high-contrast.css b/site/css/pygments/github-light-high-contrast.css new file mode 100644 index 0000000..9b50356 --- /dev/null +++ b/site/css/pygments/github-light-high-contrast.css @@ -0,0 +1,77 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #0969da4a } +.codehilite { background: #ffffff; color: #24292F } +.codehilite .c { color: #66707B } /* Comment */ +.codehilite .err { color: #A0111F } /* Error */ +.codehilite .k { color: #A0111F } /* Keyword */ +.codehilite .l { color: #702C00 } /* Literal */ +.codehilite .n { color: #622CBC } /* Name */ +.codehilite .o { color: #024C1A } /* Operator */ +.codehilite .p { color: #24292F } /* Punctuation */ +.codehilite .ch { color: #66707B } /* Comment.Hashbang */ +.codehilite .cm { color: #66707B } /* Comment.Multiline */ +.codehilite .cp { color: #66707B } /* Comment.Preproc */ +.codehilite .cpf { color: #66707B } /* Comment.PreprocFile */ +.codehilite .c1 { color: #66707B } /* Comment.Single */ +.codehilite .cs { color: #66707B } /* Comment.Special */ +.codehilite .gd { color: #023B95 } /* Generic.Deleted */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .gr { color: #A0111F } /* Generic.Error */ +.codehilite .gh { color: #023B95 } /* Generic.Heading */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #023B95 } /* Generic.Subheading */ +.codehilite .kc { color: #023B95 } /* Keyword.Constant */ +.codehilite .kd { color: #A0111F } /* Keyword.Declaration */ +.codehilite .kn { color: #A0111F } /* Keyword.Namespace */ +.codehilite .kp { color: #A0111F } /* Keyword.Pseudo */ +.codehilite .kr { color: #A0111F } /* Keyword.Reserved */ +.codehilite .kt { color: #A0111F } /* Keyword.Type */ +.codehilite .ld { color: #702C00 } /* Literal.Date */ +.codehilite .m { color: #702C00 } /* Literal.Number */ +.codehilite .s { color: #023B95 } /* Literal.String */ +.codehilite .na { color: #702C00 } /* Name.Attribute */ +.codehilite .nb { color: #702C00 } /* Name.Builtin */ +.codehilite .nc { color: #023B95 } /* Name.Class */ +.codehilite .no { color: #023B95 } /* Name.Constant */ +.codehilite .nd { color: #702C00 } /* Name.Decorator */ +.codehilite .ni { color: #024C1A } /* Name.Entity */ +.codehilite .ne { color: #622CBC } /* Name.Exception */ +.codehilite .nf { color: #023B95 } /* Name.Function */ +.codehilite .nl { color: #702C00 } /* Name.Label */ +.codehilite .nn { color: #24292F } /* Name.Namespace */ +.codehilite .nx { color: #622CBC } /* Name.Other */ +.codehilite .py { color: #023B95 } /* Name.Property */ +.codehilite .nt { color: #024C1A } /* Name.Tag */ +.codehilite .nv { color: #702C00 } /* Name.Variable */ +.codehilite .ow { color: #622CBC } /* Operator.Word */ +.codehilite .pm { color: #24292F } /* Punctuation.Marker */ +.codehilite .w { color: #24292F } /* Text.Whitespace */ +.codehilite .mb { color: #702C00 } /* Literal.Number.Bin */ +.codehilite .mf { color: #702C00 } /* Literal.Number.Float */ +.codehilite .mh { color: #702C00 } /* Literal.Number.Hex */ +.codehilite .mi { color: #702C00 } /* Literal.Number.Integer */ +.codehilite .mo { color: #702C00 } /* Literal.Number.Oct */ +.codehilite .sa { color: #023B95 } /* Literal.String.Affix */ +.codehilite .sb { color: #023B95 } /* Literal.String.Backtick */ +.codehilite .sc { color: #023B95 } /* Literal.String.Char */ +.codehilite .dl { color: #023B95 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #023B95 } /* Literal.String.Doc */ +.codehilite .s2 { color: #023B95 } /* Literal.String.Double */ +.codehilite .se { color: #023B95 } /* Literal.String.Escape */ +.codehilite .sh { color: #023B95 } /* Literal.String.Heredoc */ +.codehilite .si { color: #023B95 } /* Literal.String.Interpol */ +.codehilite .sx { color: #023B95 } /* Literal.String.Other */ +.codehilite .sr { color: #023B95 } /* Literal.String.Regex */ +.codehilite .s1 { color: #023B95 } /* Literal.String.Single */ +.codehilite .ss { color: #023B95 } /* Literal.String.Symbol */ +.codehilite .bp { color: #702C00 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #023B95 } /* Name.Function.Magic */ +.codehilite .vc { color: #702C00 } /* Name.Variable.Class */ +.codehilite .vg { color: #702C00 } /* Name.Variable.Global */ +.codehilite .vi { color: #702C00 } /* Name.Variable.Instance */ +.codehilite .vm { color: #702C00 } /* Name.Variable.Magic */ +.codehilite .il { color: #702C00 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/github-light.css b/site/css/pygments/github-light.css new file mode 100644 index 0000000..a7598a8 --- /dev/null +++ b/site/css/pygments/github-light.css @@ -0,0 +1,77 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #0969da4a } +.codehilite { background: #ffffff; color: #24292F } +.codehilite .c { color: #6E7781 } /* Comment */ +.codehilite .err { color: #CF222E } /* Error */ +.codehilite .k { color: #CF222E } /* Keyword */ +.codehilite .l { color: #953800 } /* Literal */ +.codehilite .n { color: #8250DF } /* Name */ +.codehilite .o { color: #116329 } /* Operator */ +.codehilite .p { color: #24292F } /* Punctuation */ +.codehilite .ch { color: #6E7781 } /* Comment.Hashbang */ +.codehilite .cm { color: #6E7781 } /* Comment.Multiline */ +.codehilite .cp { color: #6E7781 } /* Comment.Preproc */ +.codehilite .cpf { color: #6E7781 } /* Comment.PreprocFile */ +.codehilite .c1 { color: #6E7781 } /* Comment.Single */ +.codehilite .cs { color: #6E7781 } /* Comment.Special */ +.codehilite .gd { color: #0550AE } /* Generic.Deleted */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .gr { color: #CF222E } /* Generic.Error */ +.codehilite .gh { color: #0550AE } /* Generic.Heading */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #0550AE } /* Generic.Subheading */ +.codehilite .kc { color: #0550AE } /* Keyword.Constant */ +.codehilite .kd { color: #CF222E } /* Keyword.Declaration */ +.codehilite .kn { color: #CF222E } /* Keyword.Namespace */ +.codehilite .kp { color: #CF222E } /* Keyword.Pseudo */ +.codehilite .kr { color: #CF222E } /* Keyword.Reserved */ +.codehilite .kt { color: #CF222E } /* Keyword.Type */ +.codehilite .ld { color: #953800 } /* Literal.Date */ +.codehilite .m { color: #953800 } /* Literal.Number */ +.codehilite .s { color: #0550AE } /* Literal.String */ +.codehilite .na { color: #953800 } /* Name.Attribute */ +.codehilite .nb { color: #953800 } /* Name.Builtin */ +.codehilite .nc { color: #0550AE } /* Name.Class */ +.codehilite .no { color: #0550AE } /* Name.Constant */ +.codehilite .nd { color: #953800 } /* Name.Decorator */ +.codehilite .ni { color: #116329 } /* Name.Entity */ +.codehilite .ne { color: #8250DF } /* Name.Exception */ +.codehilite .nf { color: #0550AE } /* Name.Function */ +.codehilite .nl { color: #953800 } /* Name.Label */ +.codehilite .nn { color: #24292F } /* Name.Namespace */ +.codehilite .nx { color: #8250DF } /* Name.Other */ +.codehilite .py { color: #0550AE } /* Name.Property */ +.codehilite .nt { color: #116329 } /* Name.Tag */ +.codehilite .nv { color: #953800 } /* Name.Variable */ +.codehilite .ow { color: #8250DF } /* Operator.Word */ +.codehilite .pm { color: #24292F } /* Punctuation.Marker */ +.codehilite .w { color: #24292F } /* Text.Whitespace */ +.codehilite .mb { color: #953800 } /* Literal.Number.Bin */ +.codehilite .mf { color: #953800 } /* Literal.Number.Float */ +.codehilite .mh { color: #953800 } /* Literal.Number.Hex */ +.codehilite .mi { color: #953800 } /* Literal.Number.Integer */ +.codehilite .mo { color: #953800 } /* Literal.Number.Oct */ +.codehilite .sa { color: #0550AE } /* Literal.String.Affix */ +.codehilite .sb { color: #0550AE } /* Literal.String.Backtick */ +.codehilite .sc { color: #0550AE } /* Literal.String.Char */ +.codehilite .dl { color: #0550AE } /* Literal.String.Delimiter */ +.codehilite .sd { color: #0550AE } /* Literal.String.Doc */ +.codehilite .s2 { color: #0550AE } /* Literal.String.Double */ +.codehilite .se { color: #0550AE } /* Literal.String.Escape */ +.codehilite .sh { color: #0550AE } /* Literal.String.Heredoc */ +.codehilite .si { color: #0550AE } /* Literal.String.Interpol */ +.codehilite .sx { color: #0550AE } /* Literal.String.Other */ +.codehilite .sr { color: #0550AE } /* Literal.String.Regex */ +.codehilite .s1 { color: #0550AE } /* Literal.String.Single */ +.codehilite .ss { color: #0550AE } /* Literal.String.Symbol */ +.codehilite .bp { color: #953800 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #0550AE } /* Name.Function.Magic */ +.codehilite .vc { color: #953800 } /* Name.Variable.Class */ +.codehilite .vg { color: #953800 } /* Name.Variable.Global */ +.codehilite .vi { color: #953800 } /* Name.Variable.Instance */ +.codehilite .vm { color: #953800 } /* Name.Variable.Magic */ +.codehilite .il { color: #953800 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/gotthard-dark.css b/site/css/pygments/gotthard-dark.css new file mode 100644 index 0000000..eca6b01 --- /dev/null +++ b/site/css/pygments/gotthard-dark.css @@ -0,0 +1,75 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #4c4b4be8 } +.codehilite { background: #000000; color: #F5F5F5 } +.codehilite .c { color: #B19DB4 } /* Comment */ +.codehilite .err { color: #AB6369 } /* Error */ +.codehilite .k { color: #B19DB4 } /* Keyword */ +.codehilite .l { color: #B19DB4 } /* Literal */ +.codehilite .n { color: #F5F5F5 } /* Name */ +.codehilite .o { color: #6F98B3 } /* Operator */ +.codehilite .p { color: #F5F5F5 } /* Punctuation */ +.codehilite .ch { color: #B19DB4 } /* Comment.Hashbang */ +.codehilite .cm { color: #B19DB4 } /* Comment.Multiline */ +.codehilite .cp { color: #B19DB4 } /* Comment.Preproc */ +.codehilite .cpf { color: #B19DB4 } /* Comment.PreprocFile */ +.codehilite .c1 { color: #B19DB4 } /* Comment.Single */ +.codehilite .cs { color: #B19DB4 } /* Comment.Special */ +.codehilite .gd { color: #AB6369 } /* Generic.Deleted */ +.codehilite .gh { color: #81B19B } /* Generic.Heading */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #81B19B } /* Generic.Subheading */ +.codehilite .kc { color: #AB6369 } /* Keyword.Constant */ +.codehilite .kd { color: #B19DB4 } /* Keyword.Declaration */ +.codehilite .kn { color: #B19DB4 } /* Keyword.Namespace */ +.codehilite .kp { color: #B19DB4 } /* Keyword.Pseudo */ +.codehilite .kr { color: #B19DB4 } /* Keyword.Reserved */ +.codehilite .kt { color: #81B19B } /* Keyword.Type */ +.codehilite .ld { color: #B19DB4 } /* Literal.Date */ +.codehilite .m { color: #AB6369 } /* Literal.Number */ +.codehilite .s { color: #81B19B } /* Literal.String */ +.codehilite .na { color: #B19DB4 } /* Name.Attribute */ +.codehilite .nb { color: #81B19B } /* Name.Builtin */ +.codehilite .nc { color: #CAAB6D } /* Name.Class */ +.codehilite .no { color: #AB6369 } /* Name.Constant */ +.codehilite .nd { color: #81B19B } /* Name.Decorator */ +.codehilite .ni { color: #81B19B } /* Name.Entity */ +.codehilite .ne { color: #AB6369 } /* Name.Exception */ +.codehilite .nf { color: #B19DB4 } /* Name.Function */ +.codehilite .nl { color: #81B19B } /* Name.Label */ +.codehilite .nn { color: #CAAB6D } /* Name.Namespace */ +.codehilite .nx { color: #F5F5F5 } /* Name.Other */ +.codehilite .py { color: #B19DB4 } /* Name.Property */ +.codehilite .nt { color: #AB6369 } /* Name.Tag */ +.codehilite .nv { color: #F5F5F5 } /* Name.Variable */ +.codehilite .ow { color: #B19DB4 } /* Operator.Word */ +.codehilite .pm { color: #F5F5F5 } /* Punctuation.Marker */ +.codehilite .w { color: #F5F5F5 } /* Text.Whitespace */ +.codehilite .mb { color: #AB6369 } /* Literal.Number.Bin */ +.codehilite .mf { color: #AB6369 } /* Literal.Number.Float */ +.codehilite .mh { color: #AB6369 } /* Literal.Number.Hex */ +.codehilite .mi { color: #AB6369 } /* Literal.Number.Integer */ +.codehilite .mo { color: #AB6369 } /* Literal.Number.Oct */ +.codehilite .sa { color: #81B19B } /* Literal.String.Affix */ +.codehilite .sb { color: #CAAB6D } /* Literal.String.Backtick */ +.codehilite .sc { color: #81B19B } /* Literal.String.Char */ +.codehilite .dl { color: #81B19B } /* Literal.String.Delimiter */ +.codehilite .sd { color: #81B19B } /* Literal.String.Doc */ +.codehilite .s2 { color: #81B19B } /* Literal.String.Double */ +.codehilite .se { color: #6F98B3 } /* Literal.String.Escape */ +.codehilite .sh { color: #81B19B } /* Literal.String.Heredoc */ +.codehilite .si { color: #81B19B } /* Literal.String.Interpol */ +.codehilite .sx { color: #81B19B } /* Literal.String.Other */ +.codehilite .sr { color: #6F98B3 } /* Literal.String.Regex */ +.codehilite .s1 { color: #81B19B } /* Literal.String.Single */ +.codehilite .ss { color: #81B19B } /* Literal.String.Symbol */ +.codehilite .bp { color: #81B19B } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #B19DB4 } /* Name.Function.Magic */ +.codehilite .vc { color: #F5F5F5 } /* Name.Variable.Class */ +.codehilite .vg { color: #F5F5F5 } /* Name.Variable.Global */ +.codehilite .vi { color: #F5F5F5 } /* Name.Variable.Instance */ +.codehilite .vm { color: #F5F5F5 } /* Name.Variable.Magic */ +.codehilite .il { color: #AB6369 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/gotthard-light.css b/site/css/pygments/gotthard-light.css new file mode 100644 index 0000000..48251eb --- /dev/null +++ b/site/css/pygments/gotthard-light.css @@ -0,0 +1,75 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #E1E1E1 } +.codehilite { background: #F5F5F5; color: #141414 } +.codehilite .c { color: #974EB7 } /* Comment */ +.codehilite .err { color: #9F4E55 } /* Error */ +.codehilite .k { color: #974EB7 } /* Keyword */ +.codehilite .l { color: #974EB7 } /* Literal */ +.codehilite .n { color: #141414 } /* Name */ +.codehilite .o { color: #3D73A9 } /* Operator */ +.codehilite .p { color: #141414 } /* Punctuation */ +.codehilite .ch { color: #974EB7 } /* Comment.Hashbang */ +.codehilite .cm { color: #974EB7 } /* Comment.Multiline */ +.codehilite .cp { color: #974EB7 } /* Comment.Preproc */ +.codehilite .cpf { color: #974EB7 } /* Comment.PreprocFile */ +.codehilite .c1 { color: #974EB7 } /* Comment.Single */ +.codehilite .cs { color: #974EB7 } /* Comment.Special */ +.codehilite .gd { color: #9F4E55 } /* Generic.Deleted */ +.codehilite .gh { color: #437A6B } /* Generic.Heading */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #437A6B } /* Generic.Subheading */ +.codehilite .kc { color: #9F4E55 } /* Keyword.Constant */ +.codehilite .kd { color: #974EB7 } /* Keyword.Declaration */ +.codehilite .kn { color: #974EB7 } /* Keyword.Namespace */ +.codehilite .kp { color: #974EB7 } /* Keyword.Pseudo */ +.codehilite .kr { color: #974EB7 } /* Keyword.Reserved */ +.codehilite .kt { color: #437A6B } /* Keyword.Type */ +.codehilite .ld { color: #974EB7 } /* Literal.Date */ +.codehilite .m { color: #9F4E55 } /* Literal.Number */ +.codehilite .s { color: #437A6B } /* Literal.String */ +.codehilite .na { color: #974EB7 } /* Name.Attribute */ +.codehilite .nb { color: #437A6B } /* Name.Builtin */ +.codehilite .nc { color: #98661B } /* Name.Class */ +.codehilite .no { color: #9F4E55 } /* Name.Constant */ +.codehilite .nd { color: #437A6B } /* Name.Decorator */ +.codehilite .ni { color: #437A6B } /* Name.Entity */ +.codehilite .ne { color: #9F4E55 } /* Name.Exception */ +.codehilite .nf { color: #974EB7 } /* Name.Function */ +.codehilite .nl { color: #437A6B } /* Name.Label */ +.codehilite .nn { color: #98661B } /* Name.Namespace */ +.codehilite .nx { color: #141414 } /* Name.Other */ +.codehilite .py { color: #974EB7 } /* Name.Property */ +.codehilite .nt { color: #9F4E55 } /* Name.Tag */ +.codehilite .nv { color: #141414 } /* Name.Variable */ +.codehilite .ow { color: #974EB7 } /* Operator.Word */ +.codehilite .pm { color: #141414 } /* Punctuation.Marker */ +.codehilite .w { color: #141414 } /* Text.Whitespace */ +.codehilite .mb { color: #9F4E55 } /* Literal.Number.Bin */ +.codehilite .mf { color: #9F4E55 } /* Literal.Number.Float */ +.codehilite .mh { color: #9F4E55 } /* Literal.Number.Hex */ +.codehilite .mi { color: #9F4E55 } /* Literal.Number.Integer */ +.codehilite .mo { color: #9F4E55 } /* Literal.Number.Oct */ +.codehilite .sa { color: #437A6B } /* Literal.String.Affix */ +.codehilite .sb { color: #98661B } /* Literal.String.Backtick */ +.codehilite .sc { color: #437A6B } /* Literal.String.Char */ +.codehilite .dl { color: #437A6B } /* Literal.String.Delimiter */ +.codehilite .sd { color: #437A6B } /* Literal.String.Doc */ +.codehilite .s2 { color: #437A6B } /* Literal.String.Double */ +.codehilite .se { color: #3D73A9 } /* Literal.String.Escape */ +.codehilite .sh { color: #437A6B } /* Literal.String.Heredoc */ +.codehilite .si { color: #437A6B } /* Literal.String.Interpol */ +.codehilite .sx { color: #437A6B } /* Literal.String.Other */ +.codehilite .sr { color: #3D73A9 } /* Literal.String.Regex */ +.codehilite .s1 { color: #437A6B } /* Literal.String.Single */ +.codehilite .ss { color: #437A6B } /* Literal.String.Symbol */ +.codehilite .bp { color: #437A6B } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #974EB7 } /* Name.Function.Magic */ +.codehilite .vc { color: #141414 } /* Name.Variable.Class */ +.codehilite .vg { color: #141414 } /* Name.Variable.Global */ +.codehilite .vi { color: #141414 } /* Name.Variable.Instance */ +.codehilite .vm { color: #141414 } /* Name.Variable.Magic */ +.codehilite .il { color: #9F4E55 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/greative.css b/site/css/pygments/greative.css new file mode 100644 index 0000000..9a6072e --- /dev/null +++ b/site/css/pygments/greative.css @@ -0,0 +1,76 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #473d18 } +.codehilite { background: #010726; color: #A2BFFC } +.codehilite .c { color: #797979 } /* Comment */ +.codehilite .err { color: #A2BFFC } /* Error */ +.codehilite .k { color: #9E86C8 } /* Keyword */ +.codehilite .l { color: #A2BFFC } /* Literal */ +.codehilite .n { color: #A2BFFC } /* Name */ +.codehilite .o { color: #F78C6C } /* Operator */ +.codehilite .p { color: #A2BFFC } /* Punctuation */ +.codehilite .ch { color: #797979 } /* Comment.Hashbang */ +.codehilite .cm { color: #797979 } /* Comment.Multiline */ +.codehilite .cp { color: #797979 } /* Comment.Preproc */ +.codehilite .cpf { color: #797979 } /* Comment.PreprocFile */ +.codehilite .c1 { color: #797979 } /* Comment.Single */ +.codehilite .cs { color: #797979 } /* Comment.Special */ +.codehilite .gd { color: #A2BFFC } /* Generic.Deleted */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .gh { color: #A2BFFC } /* Generic.Heading */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #A2BFFC } /* Generic.Subheading */ +.codehilite .kc { color: #9E86C8 } /* Keyword.Constant */ +.codehilite .kd { color: #9E86C8 } /* Keyword.Declaration */ +.codehilite .kn { color: #9E86C8 } /* Keyword.Namespace */ +.codehilite .kp { color: #9E86C8 } /* Keyword.Pseudo */ +.codehilite .kr { color: #9E86C8 } /* Keyword.Reserved */ +.codehilite .kt { color: #C5E478 } /* Keyword.Type */ +.codehilite .ld { color: #A2BFFC } /* Literal.Date */ +.codehilite .m { color: #9E86C8 } /* Literal.Number */ +.codehilite .s { color: #9E8741 } /* Literal.String */ +.codehilite .na { color: #9E86C8 } /* Name.Attribute */ +.codehilite .nb { color: #C5E478 } /* Name.Builtin */ +.codehilite .nc { color: #F78C6C } /* Name.Class */ +.codehilite .no { color: #A2BFFC } /* Name.Constant */ +.codehilite .nd { color: #9E8741 } /* Name.Decorator */ +.codehilite .ni { color: #9E8741 } /* Name.Entity */ +.codehilite .ne { color: #A2BFFC } /* Name.Exception */ +.codehilite .nf { color: #9E86C8 } /* Name.Function */ +.codehilite .nl { color: #F78C6C } /* Name.Label */ +.codehilite .nn { color: #C5E478 } /* Name.Namespace */ +.codehilite .nx { color: #A2BFFC } /* Name.Other */ +.codehilite .py { color: #A2BFFC } /* Name.Property */ +.codehilite .nt { color: #5CA7E4 } /* Name.Tag */ +.codehilite .nv { color: #C5E478 } /* Name.Variable */ +.codehilite .ow { color: #9E86C8 } /* Operator.Word */ +.codehilite .pm { color: #A2BFFC } /* Punctuation.Marker */ +.codehilite .w { color: #A2BFFC } /* Text.Whitespace */ +.codehilite .mb { color: #9E86C8 } /* Literal.Number.Bin */ +.codehilite .mf { color: #9E86C8 } /* Literal.Number.Float */ +.codehilite .mh { color: #9E86C8 } /* Literal.Number.Hex */ +.codehilite .mi { color: #9E86C8 } /* Literal.Number.Integer */ +.codehilite .mo { color: #9E86C8 } /* Literal.Number.Oct */ +.codehilite .sa { color: #9E8741 } /* Literal.String.Affix */ +.codehilite .sb { color: #9E8741 } /* Literal.String.Backtick */ +.codehilite .sc { color: #9E8741 } /* Literal.String.Char */ +.codehilite .dl { color: #9E8741 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #9E8741 } /* Literal.String.Doc */ +.codehilite .s2 { color: #9E8741 } /* Literal.String.Double */ +.codehilite .se { color: #F78C6C } /* Literal.String.Escape */ +.codehilite .sh { color: #9E8741 } /* Literal.String.Heredoc */ +.codehilite .si { color: #9E8741 } /* Literal.String.Interpol */ +.codehilite .sx { color: #9E8741 } /* Literal.String.Other */ +.codehilite .sr { color: #5CA7E4 } /* Literal.String.Regex */ +.codehilite .s1 { color: #9E8741 } /* Literal.String.Single */ +.codehilite .ss { color: #F78C6C } /* Literal.String.Symbol */ +.codehilite .bp { color: #C5E478 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #9E86C8 } /* Name.Function.Magic */ +.codehilite .vc { color: #C5E478 } /* Name.Variable.Class */ +.codehilite .vg { color: #C5E478 } /* Name.Variable.Global */ +.codehilite .vi { color: #C5E478 } /* Name.Variable.Instance */ +.codehilite .vm { color: #F78C6C } /* Name.Variable.Magic */ +.codehilite .il { color: #9E86C8 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/gruvbox-dark.css b/site/css/pygments/gruvbox-dark.css new file mode 100644 index 0000000..c470c03 --- /dev/null +++ b/site/css/pygments/gruvbox-dark.css @@ -0,0 +1,86 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #ebdbb2 } +.codehilite { background: #282828; color: #DDD } +.codehilite .c { color: #928374; font-style: italic } /* Comment */ +.codehilite .err { color: #282828; background-color: #FB4934 } /* Error */ +.codehilite .esc { color: #DDD } /* Escape */ +.codehilite .g { color: #DDD } /* Generic */ +.codehilite .k { color: #FB4934 } /* Keyword */ +.codehilite .l { color: #DDD } /* Literal */ +.codehilite .n { color: #DDD } /* Name */ +.codehilite .o { color: #DDD } /* Operator */ +.codehilite .x { color: #DDD } /* Other */ +.codehilite .p { color: #DDD } /* Punctuation */ +.codehilite .ch { color: #928374; font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { color: #928374; font-style: italic } /* Comment.Multiline */ +.codehilite .c-PreProc { color: #8EC07C; font-style: italic } /* Comment.PreProc */ +.codehilite .cp { color: #928374; font-style: italic } /* Comment.Preproc */ +.codehilite .cpf { color: #928374; font-style: italic } /* Comment.PreprocFile */ +.codehilite .c1 { color: #928374; font-style: italic } /* Comment.Single */ +.codehilite .cs { color: #EBDBB2; font-weight: bold; font-style: italic } /* Comment.Special */ +.codehilite .gd { color: #282828; background-color: #FB4934 } /* Generic.Deleted */ +.codehilite .ge { color: #DDD; font-style: italic } /* Generic.Emph */ +.codehilite .ges { color: #DDD; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite .gr { color: #FB4934 } /* Generic.Error */ +.codehilite .gh { color: #EBDBB2; font-weight: bold } /* Generic.Heading */ +.codehilite .gi { color: #282828; background-color: #B8BB26 } /* Generic.Inserted */ +.codehilite .go { color: #F2E5BC } /* Generic.Output */ +.codehilite .gp { color: #A89984 } /* Generic.Prompt */ +.codehilite .gs { color: #DDD; font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #EBDBB2; text-decoration: underline } /* Generic.Subheading */ +.codehilite .gt { color: #FB4934 } /* Generic.Traceback */ +.codehilite .kc { color: #FB4934 } /* Keyword.Constant */ +.codehilite .kd { color: #FB4934 } /* Keyword.Declaration */ +.codehilite .kn { color: #FB4934 } /* Keyword.Namespace */ +.codehilite .kp { color: #FB4934 } /* Keyword.Pseudo */ +.codehilite .kr { color: #FB4934 } /* Keyword.Reserved */ +.codehilite .kt { color: #FB4934 } /* Keyword.Type */ +.codehilite .ld { color: #DDD } /* Literal.Date */ +.codehilite .m { color: #D3869B } /* Literal.Number */ +.codehilite .s { color: #B8BB26 } /* Literal.String */ +.codehilite .na { color: #FABD2F } /* Name.Attribute */ +.codehilite .nb { color: #FE8019 } /* Name.Builtin */ +.codehilite .nc { color: #8EC07C } /* Name.Class */ +.codehilite .no { color: #D3869B } /* Name.Constant */ +.codehilite .nd { color: #FB4934 } /* Name.Decorator */ +.codehilite .ni { color: #DDD } /* Name.Entity */ +.codehilite .ne { color: #FB4934 } /* Name.Exception */ +.codehilite .nf { color: #8EC07C } /* Name.Function */ +.codehilite .nl { color: #DDD } /* Name.Label */ +.codehilite .nn { color: #8EC07C } /* Name.Namespace */ +.codehilite .nx { color: #DDD } /* Name.Other */ +.codehilite .py { color: #DDD } /* Name.Property */ +.codehilite .nt { color: #8EC07C } /* Name.Tag */ +.codehilite .nv { color: #83A598 } /* Name.Variable */ +.codehilite .ow { color: #FB4934 } /* Operator.Word */ +.codehilite .pm { color: #DDD } /* Punctuation.Marker */ +.codehilite .w { color: #DDD } /* Text.Whitespace */ +.codehilite .mb { color: #D3869B } /* Literal.Number.Bin */ +.codehilite .mf { color: #D3869B } /* Literal.Number.Float */ +.codehilite .mh { color: #D3869B } /* Literal.Number.Hex */ +.codehilite .mi { color: #D3869B } /* Literal.Number.Integer */ +.codehilite .mo { color: #D3869B } /* Literal.Number.Oct */ +.codehilite .sa { color: #B8BB26 } /* Literal.String.Affix */ +.codehilite .sb { color: #B8BB26 } /* Literal.String.Backtick */ +.codehilite .sc { color: #B8BB26 } /* Literal.String.Char */ +.codehilite .dl { color: #B8BB26 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #B8BB26 } /* Literal.String.Doc */ +.codehilite .s2 { color: #B8BB26 } /* Literal.String.Double */ +.codehilite .se { color: #FE8019 } /* Literal.String.Escape */ +.codehilite .sh { color: #B8BB26 } /* Literal.String.Heredoc */ +.codehilite .si { color: #B8BB26 } /* Literal.String.Interpol */ +.codehilite .sx { color: #B8BB26 } /* Literal.String.Other */ +.codehilite .sr { color: #B8BB26 } /* Literal.String.Regex */ +.codehilite .s1 { color: #B8BB26 } /* Literal.String.Single */ +.codehilite .ss { color: #B8BB26 } /* Literal.String.Symbol */ +.codehilite .bp { color: #FE8019 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #8EC07C } /* Name.Function.Magic */ +.codehilite .vc { color: #83A598 } /* Name.Variable.Class */ +.codehilite .vg { color: #83A598 } /* Name.Variable.Global */ +.codehilite .vi { color: #83A598 } /* Name.Variable.Instance */ +.codehilite .vm { color: #83A598 } /* Name.Variable.Magic */ +.codehilite .il { color: #D3869B } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/gruvbox-light.css b/site/css/pygments/gruvbox-light.css new file mode 100644 index 0000000..9e42f15 --- /dev/null +++ b/site/css/pygments/gruvbox-light.css @@ -0,0 +1,71 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #3c3836 } +.codehilite { background: #fbf1c7; } +.codehilite .c { color: #928374; font-style: italic } /* Comment */ +.codehilite .err { color: #FBF1C7; background-color: #9D0006 } /* Error */ +.codehilite .k { color: #9D0006 } /* Keyword */ +.codehilite .ch { color: #928374; font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { color: #928374; font-style: italic } /* Comment.Multiline */ +.codehilite .c-PreProc { color: #427B58; font-style: italic } /* Comment.PreProc */ +.codehilite .cp { color: #928374; font-style: italic } /* Comment.Preproc */ +.codehilite .cpf { color: #928374; font-style: italic } /* Comment.PreprocFile */ +.codehilite .c1 { color: #928374; font-style: italic } /* Comment.Single */ +.codehilite .cs { color: #3C3836; font-weight: bold; font-style: italic } /* Comment.Special */ +.codehilite .gd { color: #FBF1C7; background-color: #9D0006 } /* Generic.Deleted */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .gr { color: #9D0006 } /* Generic.Error */ +.codehilite .gh { color: #3C3836; font-weight: bold } /* Generic.Heading */ +.codehilite .gi { color: #FBF1C7; background-color: #79740E } /* Generic.Inserted */ +.codehilite .go { color: #32302F } /* Generic.Output */ +.codehilite .gp { color: #7C6F64 } /* Generic.Prompt */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #3C3836; text-decoration: underline } /* Generic.Subheading */ +.codehilite .gt { color: #9D0006 } /* Generic.Traceback */ +.codehilite .kc { color: #9D0006 } /* Keyword.Constant */ +.codehilite .kd { color: #9D0006 } /* Keyword.Declaration */ +.codehilite .kn { color: #9D0006 } /* Keyword.Namespace */ +.codehilite .kp { color: #9D0006 } /* Keyword.Pseudo */ +.codehilite .kr { color: #9D0006 } /* Keyword.Reserved */ +.codehilite .kt { color: #9D0006 } /* Keyword.Type */ +.codehilite .m { color: #8F3F71 } /* Literal.Number */ +.codehilite .s { color: #79740E } /* Literal.String */ +.codehilite .na { color: #B57614 } /* Name.Attribute */ +.codehilite .nb { color: #AF3A03 } /* Name.Builtin */ +.codehilite .nc { color: #427B58 } /* Name.Class */ +.codehilite .no { color: #8F3F71 } /* Name.Constant */ +.codehilite .nd { color: #9D0006 } /* Name.Decorator */ +.codehilite .ne { color: #9D0006 } /* Name.Exception */ +.codehilite .nf { color: #427B58 } /* Name.Function */ +.codehilite .nn { color: #427B58 } /* Name.Namespace */ +.codehilite .nt { color: #427B58 } /* Name.Tag */ +.codehilite .nv { color: #076678 } /* Name.Variable */ +.codehilite .ow { color: #9D0006 } /* Operator.Word */ +.codehilite .mb { color: #8F3F71 } /* Literal.Number.Bin */ +.codehilite .mf { color: #8F3F71 } /* Literal.Number.Float */ +.codehilite .mh { color: #8F3F71 } /* Literal.Number.Hex */ +.codehilite .mi { color: #8F3F71 } /* Literal.Number.Integer */ +.codehilite .mo { color: #8F3F71 } /* Literal.Number.Oct */ +.codehilite .sa { color: #79740E } /* Literal.String.Affix */ +.codehilite .sb { color: #79740E } /* Literal.String.Backtick */ +.codehilite .sc { color: #79740E } /* Literal.String.Char */ +.codehilite .dl { color: #79740E } /* Literal.String.Delimiter */ +.codehilite .sd { color: #79740E } /* Literal.String.Doc */ +.codehilite .s2 { color: #79740E } /* Literal.String.Double */ +.codehilite .se { color: #AF3A03 } /* Literal.String.Escape */ +.codehilite .sh { color: #79740E } /* Literal.String.Heredoc */ +.codehilite .si { color: #79740E } /* Literal.String.Interpol */ +.codehilite .sx { color: #79740E } /* Literal.String.Other */ +.codehilite .sr { color: #79740E } /* Literal.String.Regex */ +.codehilite .s1 { color: #79740E } /* Literal.String.Single */ +.codehilite .ss { color: #79740E } /* Literal.String.Symbol */ +.codehilite .bp { color: #AF3A03 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #427B58 } /* Name.Function.Magic */ +.codehilite .vc { color: #076678 } /* Name.Variable.Class */ +.codehilite .vg { color: #076678 } /* Name.Variable.Global */ +.codehilite .vi { color: #076678 } /* Name.Variable.Instance */ +.codehilite .vm { color: #076678 } /* Name.Variable.Magic */ +.codehilite .il { color: #8F3F71 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/igor.css b/site/css/pygments/igor.css new file mode 100644 index 0000000..977927b --- /dev/null +++ b/site/css/pygments/igor.css @@ -0,0 +1,39 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #ffffcc } +.codehilite { background: #ffffff; } +.codehilite .c { color: #F00; font-style: italic } /* Comment */ +.codehilite .k { color: #00F } /* Keyword */ +.codehilite .ch { color: #F00; font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { color: #F00; font-style: italic } /* Comment.Multiline */ +.codehilite .cp { color: #F00; font-style: italic } /* Comment.Preproc */ +.codehilite .cpf { color: #F00; font-style: italic } /* Comment.PreprocFile */ +.codehilite .c1 { color: #F00; font-style: italic } /* Comment.Single */ +.codehilite .cs { color: #F00; font-style: italic } /* Comment.Special */ +.codehilite .kc { color: #00F } /* Keyword.Constant */ +.codehilite .kd { color: #00F } /* Keyword.Declaration */ +.codehilite .kn { color: #00F } /* Keyword.Namespace */ +.codehilite .kp { color: #00F } /* Keyword.Pseudo */ +.codehilite .kr { color: #00F } /* Keyword.Reserved */ +.codehilite .kt { color: #00F } /* Keyword.Type */ +.codehilite .s { color: #009C00 } /* Literal.String */ +.codehilite .nc { color: #007575 } /* Name.Class */ +.codehilite .nd { color: #CC00A3 } /* Name.Decorator */ +.codehilite .nf { color: #C34E00 } /* Name.Function */ +.codehilite .sa { color: #009C00 } /* Literal.String.Affix */ +.codehilite .sb { color: #009C00 } /* Literal.String.Backtick */ +.codehilite .sc { color: #009C00 } /* Literal.String.Char */ +.codehilite .dl { color: #009C00 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #009C00 } /* Literal.String.Doc */ +.codehilite .s2 { color: #009C00 } /* Literal.String.Double */ +.codehilite .se { color: #009C00 } /* Literal.String.Escape */ +.codehilite .sh { color: #009C00 } /* Literal.String.Heredoc */ +.codehilite .si { color: #009C00 } /* Literal.String.Interpol */ +.codehilite .sx { color: #009C00 } /* Literal.String.Other */ +.codehilite .sr { color: #009C00 } /* Literal.String.Regex */ +.codehilite .s1 { color: #009C00 } /* Literal.String.Single */ +.codehilite .ss { color: #009C00 } /* Literal.String.Symbol */ +.codehilite .fm { color: #C34E00 } /* Name.Function.Magic */ \ No newline at end of file diff --git a/site/css/pygments/inkpot.css b/site/css/pygments/inkpot.css new file mode 100644 index 0000000..90e3dd2 --- /dev/null +++ b/site/css/pygments/inkpot.css @@ -0,0 +1,81 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #ffffcc } +.codehilite { background: #1e1e27; color: #CFBFAD } +.codehilite .c { color: #CD8B00 } /* Comment */ +.codehilite .err { color: #FFF; background-color: #6E2E2E } /* Error */ +.codehilite .k { color: #808BED } /* Keyword */ +.codehilite .n { color: #CFBFAD } /* Name */ +.codehilite .o { color: #666 } /* Operator */ +.codehilite .x { color: #CFBFAD } /* Other */ +.codehilite .p { color: #CFBFAD } /* Punctuation */ +.codehilite .ch { color: #CD8B00 } /* Comment.Hashbang */ +.codehilite .cm { color: #CD8B00 } /* Comment.Multiline */ +.codehilite .cp { color: #409090 } /* Comment.Preproc */ +.codehilite .cpf { color: #FFCD8B; background-color: #404040 } /* Comment.PreprocFile */ +.codehilite .c1 { color: #CD8B00 } /* Comment.Single */ +.codehilite .cs { color: #808BED } /* Comment.Special */ +.codehilite .gd { color: #A00000 } /* Generic.Deleted */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite .gr { color: #F00 } /* Generic.Error */ +.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.codehilite .gi { color: #00A000 } /* Generic.Inserted */ +.codehilite .go { color: #888 } /* Generic.Output */ +.codehilite .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.codehilite .gt { color: #04D } /* Generic.Traceback */ +.codehilite .kc { color: #808BED } /* Keyword.Constant */ +.codehilite .kd { color: #808BED } /* Keyword.Declaration */ +.codehilite .kn { color: #808BED } /* Keyword.Namespace */ +.codehilite .kp { color: #808BED } /* Keyword.Pseudo */ +.codehilite .kr { color: #808BED } /* Keyword.Reserved */ +.codehilite .kt { color: #FF8BFF } /* Keyword.Type */ +.codehilite .m { color: #F0AD6D } /* Literal.Number */ +.codehilite .s { color: #FFCD8B; background-color: #404040 } /* Literal.String */ +.codehilite .na { color: #CFBFAD } /* Name.Attribute */ +.codehilite .nb { color: #808BED } /* Name.Builtin */ +.codehilite .nc { color: #FF8BFF } /* Name.Class */ +.codehilite .no { color: #409090 } /* Name.Constant */ +.codehilite .nd { color: #409090 } /* Name.Decorator */ +.codehilite .ni { color: #CFBFAD } /* Name.Entity */ +.codehilite .ne { color: #F00 } /* Name.Exception */ +.codehilite .nf { color: #C080D0 } /* Name.Function */ +.codehilite .nl { color: #808BED } /* Name.Label */ +.codehilite .nn { color: #F00 } /* Name.Namespace */ +.codehilite .nx { color: #CFBFAD } /* Name.Other */ +.codehilite .py { color: #CFBFAD } /* Name.Property */ +.codehilite .nt { color: #CFBFAD } /* Name.Tag */ +.codehilite .nv { color: #CFBFAD } /* Name.Variable */ +.codehilite .ow { color: #666 } /* Operator.Word */ +.codehilite .pm { color: #CFBFAD } /* Punctuation.Marker */ +.codehilite .w { color: #434357 } /* Text.Whitespace */ +.codehilite .mb { color: #F0AD6D } /* Literal.Number.Bin */ +.codehilite .mf { color: #F0AD6D } /* Literal.Number.Float */ +.codehilite .mh { color: #F0AD6D } /* Literal.Number.Hex */ +.codehilite .mi { color: #F0AD6D } /* Literal.Number.Integer */ +.codehilite .mo { color: #F0AD6D } /* Literal.Number.Oct */ +.codehilite .sa { color: #FFCD8B; background-color: #404040 } /* Literal.String.Affix */ +.codehilite .sb { color: #FFCD8B; background-color: #404040 } /* Literal.String.Backtick */ +.codehilite .sc { color: #FFCD8B; background-color: #404040 } /* Literal.String.Char */ +.codehilite .dl { color: #FFCD8B; background-color: #404040 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #808BED; background-color: #404040 } /* Literal.String.Doc */ +.codehilite .s2 { color: #FFCD8B; background-color: #404040 } /* Literal.String.Double */ +.codehilite .se { color: #FFCD8B; background-color: #404040 } /* Literal.String.Escape */ +.codehilite .sh { color: #FFCD8B; background-color: #404040 } /* Literal.String.Heredoc */ +.codehilite .si { color: #FFCD8B; background-color: #404040 } /* Literal.String.Interpol */ +.codehilite .sx { color: #FFCD8B; background-color: #404040 } /* Literal.String.Other */ +.codehilite .sr { color: #FFCD8B; background-color: #404040 } /* Literal.String.Regex */ +.codehilite .s1 { color: #FFCD8B; background-color: #404040 } /* Literal.String.Single */ +.codehilite .ss { color: #FFCD8B; background-color: #404040 } /* Literal.String.Symbol */ +.codehilite .bp { color: #FF0 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #C080D0 } /* Name.Function.Magic */ +.codehilite .vc { color: #CFBFAD } /* Name.Variable.Class */ +.codehilite .vg { color: #CFBFAD } /* Name.Variable.Global */ +.codehilite .vi { color: #CFBFAD } /* Name.Variable.Instance */ +.codehilite .vm { color: #CFBFAD } /* Name.Variable.Magic */ +.codehilite .il { color: #F0AD6D } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/lightbulb.css b/site/css/pygments/lightbulb.css new file mode 100644 index 0000000..9d86ef0 --- /dev/null +++ b/site/css/pygments/lightbulb.css @@ -0,0 +1,85 @@ +pre { line-height: 125%; } +td.linenos .normal { color: #3c4354; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: #3c4354; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #3c4354; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #3c4354; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #6e7681 } +.codehilite { background: #1d2331; color: #D4D2C8 } +.codehilite .c { color: #7E8AA1 } /* Comment */ +.codehilite .err { color: #F88F7F } /* Error */ +.codehilite .esc { color: #D4D2C8 } /* Escape */ +.codehilite .g { color: #D4D2C8 } /* Generic */ +.codehilite .k { color: #FFAD66 } /* Keyword */ +.codehilite .l { color: #D5FF80 } /* Literal */ +.codehilite .n { color: #D4D2C8 } /* Name */ +.codehilite .o { color: #FFAD66 } /* Operator */ +.codehilite .x { color: #D4D2C8 } /* Other */ +.codehilite .p { color: #D4D2C8 } /* Punctuation */ +.codehilite .ch { color: #F88F7F; font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { color: #7E8AA1 } /* Comment.Multiline */ +.codehilite .cp { color: #FFAD66; font-weight: bold } /* Comment.Preproc */ +.codehilite .cpf { color: #7E8AA1 } /* Comment.PreprocFile */ +.codehilite .c1 { color: #7E8AA1 } /* Comment.Single */ +.codehilite .cs { color: #7E8AA1; font-style: italic } /* Comment.Special */ +.codehilite .gd { color: #F88F7F; background-color: #3D1E20 } /* Generic.Deleted */ +.codehilite .ge { color: #D4D2C8; font-style: italic } /* Generic.Emph */ +.codehilite .ges { color: #D4D2C8 } /* Generic.EmphStrong */ +.codehilite .gr { color: #F88F7F } /* Generic.Error */ +.codehilite .gh { color: #D4D2C8 } /* Generic.Heading */ +.codehilite .gi { color: #6AD4AF; background-color: #19362C } /* Generic.Inserted */ +.codehilite .go { color: #7E8AA1 } /* Generic.Output */ +.codehilite .gp { color: #D4D2C8 } /* Generic.Prompt */ +.codehilite .gs { color: #D4D2C8; font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #D4D2C8 } /* Generic.Subheading */ +.codehilite .gt { color: #F88F7F } /* Generic.Traceback */ +.codehilite .kc { color: #FFAD66 } /* Keyword.Constant */ +.codehilite .kd { color: #FFAD66 } /* Keyword.Declaration */ +.codehilite .kn { color: #FFAD66 } /* Keyword.Namespace */ +.codehilite .kp { color: #FFAD66 } /* Keyword.Pseudo */ +.codehilite .kr { color: #FFAD66 } /* Keyword.Reserved */ +.codehilite .kt { color: #73D0FF } /* Keyword.Type */ +.codehilite .ld { color: #D5FF80 } /* Literal.Date */ +.codehilite .m { color: #DFBFFF } /* Literal.Number */ +.codehilite .s { color: #D5FF80 } /* Literal.String */ +.codehilite .na { color: #FFD173 } /* Name.Attribute */ +.codehilite .nb { color: #FFD173 } /* Name.Builtin */ +.codehilite .nc { color: #73D0FF } /* Name.Class */ +.codehilite .no { color: #FFD173 } /* Name.Constant */ +.codehilite .nd { color: #7E8AA1; font-weight: bold; font-style: italic } /* Name.Decorator */ +.codehilite .ni { color: #95E6CB } /* Name.Entity */ +.codehilite .ne { color: #73D0FF } /* Name.Exception */ +.codehilite .nf { color: #FFD173 } /* Name.Function */ +.codehilite .nl { color: #D4D2C8 } /* Name.Label */ +.codehilite .nn { color: #D4D2C8 } /* Name.Namespace */ +.codehilite .nx { color: #D4D2C8 } /* Name.Other */ +.codehilite .py { color: #FFD173 } /* Name.Property */ +.codehilite .nt { color: #5CCFE6 } /* Name.Tag */ +.codehilite .nv { color: #D4D2C8 } /* Name.Variable */ +.codehilite .ow { color: #FFAD66 } /* Operator.Word */ +.codehilite .pm { color: #D4D2C8 } /* Punctuation.Marker */ +.codehilite .w { color: #D4D2C8 } /* Text.Whitespace */ +.codehilite .mb { color: #DFBFFF } /* Literal.Number.Bin */ +.codehilite .mf { color: #DFBFFF } /* Literal.Number.Float */ +.codehilite .mh { color: #DFBFFF } /* Literal.Number.Hex */ +.codehilite .mi { color: #DFBFFF } /* Literal.Number.Integer */ +.codehilite .mo { color: #DFBFFF } /* Literal.Number.Oct */ +.codehilite .sa { color: #F29E74 } /* Literal.String.Affix */ +.codehilite .sb { color: #D5FF80 } /* Literal.String.Backtick */ +.codehilite .sc { color: #D5FF80 } /* Literal.String.Char */ +.codehilite .dl { color: #D5FF80 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #7E8AA1 } /* Literal.String.Doc */ +.codehilite .s2 { color: #D5FF80 } /* Literal.String.Double */ +.codehilite .se { color: #95E6CB } /* Literal.String.Escape */ +.codehilite .sh { color: #D5FF80 } /* Literal.String.Heredoc */ +.codehilite .si { color: #95E6CB } /* Literal.String.Interpol */ +.codehilite .sx { color: #95E6CB } /* Literal.String.Other */ +.codehilite .sr { color: #95E6CB } /* Literal.String.Regex */ +.codehilite .s1 { color: #D5FF80 } /* Literal.String.Single */ +.codehilite .ss { color: #DFBFFF } /* Literal.String.Symbol */ +.codehilite .bp { color: #5CCFE6 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #FFD173 } /* Name.Function.Magic */ +.codehilite .vc { color: #D4D2C8 } /* Name.Variable.Class */ +.codehilite .vg { color: #D4D2C8 } /* Name.Variable.Global */ +.codehilite .vi { color: #D4D2C8 } /* Name.Variable.Instance */ +.codehilite .vm { color: #D4D2C8 } /* Name.Variable.Magic */ +.codehilite .il { color: #DFBFFF } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/lilypond.css b/site/css/pygments/lilypond.css new file mode 100644 index 0000000..ff00576 --- /dev/null +++ b/site/css/pygments/lilypond.css @@ -0,0 +1,61 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #ffffcc } +.codehilite { background: #ffffff; } +.codehilite .-ChordModifier { color: #976806 } /* ChordModifier */ +.codehilite .c { color: #A3AAB2; font-style: italic } /* Comment */ +.codehilite .k { font-weight: bold } /* Keyword */ +.codehilite .ch { color: #A3AAB2; font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { color: #A3AAB2; font-style: italic } /* Comment.Multiline */ +.codehilite .cp { color: #A3AAB2; font-style: italic } /* Comment.Preproc */ +.codehilite .cpf { color: #A3AAB2; font-style: italic } /* Comment.PreprocFile */ +.codehilite .c1 { color: #A3AAB2; font-style: italic } /* Comment.Single */ +.codehilite .cs { color: #A3AAB2; font-style: italic } /* Comment.Special */ +.codehilite .kc { font-weight: bold } /* Keyword.Constant */ +.codehilite .kd { font-weight: bold } /* Keyword.Declaration */ +.codehilite .kn { font-weight: bold } /* Keyword.Namespace */ +.codehilite .kp { font-weight: bold } /* Keyword.Pseudo */ +.codehilite .kr { font-weight: bold } /* Keyword.Reserved */ +.codehilite .kt { font-weight: bold } /* Keyword.Type */ +.codehilite .m { color: #976806 } /* Literal.Number */ +.codehilite .s { color: #AB0909 } /* Literal.String */ +.codehilite .n-BackslashReference { color: #08547A } /* Name.BackslashReference */ +.codehilite .n-Lvalue { color: #08547A } /* Name.Lvalue */ +.codehilite .mb { color: #976806 } /* Literal.Number.Bin */ +.codehilite .mf { color: #976806 } /* Literal.Number.Float */ +.codehilite .mh { color: #976806 } /* Literal.Number.Hex */ +.codehilite .mi { color: #976806 } /* Literal.Number.Integer */ +.codehilite .mo { color: #976806 } /* Literal.Number.Oct */ +.codehilite .sa { color: #AB0909 } /* Literal.String.Affix */ +.codehilite .sb { color: #AB0909 } /* Literal.String.Backtick */ +.codehilite .sc { color: #AB0909 } /* Literal.String.Char */ +.codehilite .dl { color: #AB0909 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #AB0909 } /* Literal.String.Doc */ +.codehilite .s2 { color: #AB0909 } /* Literal.String.Double */ +.codehilite .se { color: #C46C6C } /* Literal.String.Escape */ +.codehilite .sh { color: #AB0909 } /* Literal.String.Heredoc */ +.codehilite .si { color: #AB0909 } /* Literal.String.Interpol */ +.codehilite .sx { color: #AB0909 } /* Literal.String.Other */ +.codehilite .sr { color: #AB0909 } /* Literal.String.Regex */ +.codehilite .s1 { color: #AB0909 } /* Literal.String.Single */ +.codehilite .nb-Articulation { color: #68175A } /* Name.Builtin.Articulation */ +.codehilite .nb-Clef { color: #08547A; font-weight: bold } /* Name.Builtin.Clef */ +.codehilite .nb-Context { color: #038B8B; font-weight: bold } /* Name.Builtin.Context */ +.codehilite .nb-ContextProperty { color: #038B8B } /* Name.Builtin.ContextProperty */ +.codehilite .nb-Dynamic { color: #68175A } /* Name.Builtin.Dynamic */ +.codehilite .nb-Grob { color: #0C7441; font-weight: bold } /* Name.Builtin.Grob */ +.codehilite .nb-GrobProperty { color: #0C7441 } /* Name.Builtin.GrobProperty */ +.codehilite .nb-HeaderVariable { color: #6C5A05; font-weight: bold } /* Name.Builtin.HeaderVariable */ +.codehilite .nb-MarkupCommand { color: #831E71; font-weight: bold } /* Name.Builtin.MarkupCommand */ +.codehilite .nb-MusicCommand { color: #08547A; font-weight: bold } /* Name.Builtin.MusicCommand */ +.codehilite .nb-MusicFunction { color: #08547A; font-weight: bold } /* Name.Builtin.MusicFunction */ +.codehilite .nb-PaperVariable { color: #6C5A05; font-weight: bold } /* Name.Builtin.PaperVariable */ +.codehilite .nb-RepeatType { color: #08547A } /* Name.Builtin.RepeatType */ +.codehilite .nb-Scale { color: #08547A; font-weight: bold } /* Name.Builtin.Scale */ +.codehilite .nb-SchemeBuiltin { font-weight: bold } /* Name.Builtin.SchemeBuiltin */ +.codehilite .nb-SchemeFunction { color: #A83401; font-weight: bold } /* Name.Builtin.SchemeFunction */ +.codehilite .nb-Translator { color: #6200A4; font-weight: bold } /* Name.Builtin.Translator */ +.codehilite .il { color: #976806 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/lovelace.css b/site/css/pygments/lovelace.css new file mode 100644 index 0000000..22fe2e4 --- /dev/null +++ b/site/css/pygments/lovelace.css @@ -0,0 +1,77 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #ffffcc } +.codehilite { background: #ffffff; } +.codehilite .c { color: #888; font-style: italic } /* Comment */ +.codehilite .err { background-color: #A848A8 } /* Error */ +.codehilite .k { color: #2838B0 } /* Keyword */ +.codehilite .o { color: #666 } /* Operator */ +.codehilite .p { color: #888 } /* Punctuation */ +.codehilite .ch { color: #287088; font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { color: #888; font-style: italic } /* Comment.Multiline */ +.codehilite .cp { color: #289870 } /* Comment.Preproc */ +.codehilite .cpf { color: #888; font-style: italic } /* Comment.PreprocFile */ +.codehilite .c1 { color: #888; font-style: italic } /* Comment.Single */ +.codehilite .cs { color: #888; font-style: italic } /* Comment.Special */ +.codehilite .gd { color: #C02828 } /* Generic.Deleted */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite .gr { color: #C02828 } /* Generic.Error */ +.codehilite .gh { color: #666 } /* Generic.Heading */ +.codehilite .gi { color: #388038 } /* Generic.Inserted */ +.codehilite .go { color: #666 } /* Generic.Output */ +.codehilite .gp { color: #444 } /* Generic.Prompt */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #444 } /* Generic.Subheading */ +.codehilite .gt { color: #2838B0 } /* Generic.Traceback */ +.codehilite .kc { color: #444; font-style: italic } /* Keyword.Constant */ +.codehilite .kd { color: #2838B0; font-style: italic } /* Keyword.Declaration */ +.codehilite .kn { color: #2838B0 } /* Keyword.Namespace */ +.codehilite .kp { color: #2838B0 } /* Keyword.Pseudo */ +.codehilite .kr { color: #2838B0 } /* Keyword.Reserved */ +.codehilite .kt { color: #2838B0; font-style: italic } /* Keyword.Type */ +.codehilite .m { color: #444 } /* Literal.Number */ +.codehilite .s { color: #B83838 } /* Literal.String */ +.codehilite .na { color: #388038 } /* Name.Attribute */ +.codehilite .nb { color: #388038 } /* Name.Builtin */ +.codehilite .nc { color: #287088 } /* Name.Class */ +.codehilite .no { color: #B85820 } /* Name.Constant */ +.codehilite .nd { color: #287088 } /* Name.Decorator */ +.codehilite .ni { color: #709030 } /* Name.Entity */ +.codehilite .ne { color: #908828 } /* Name.Exception */ +.codehilite .nf { color: #785840 } /* Name.Function */ +.codehilite .nl { color: #289870 } /* Name.Label */ +.codehilite .nn { color: #289870 } /* Name.Namespace */ +.codehilite .nt { color: #2838B0 } /* Name.Tag */ +.codehilite .nv { color: #B04040 } /* Name.Variable */ +.codehilite .ow { color: #A848A8 } /* Operator.Word */ +.codehilite .pm { color: #888 } /* Punctuation.Marker */ +.codehilite .w { color: #A89028 } /* Text.Whitespace */ +.codehilite .mb { color: #444 } /* Literal.Number.Bin */ +.codehilite .mf { color: #444 } /* Literal.Number.Float */ +.codehilite .mh { color: #444 } /* Literal.Number.Hex */ +.codehilite .mi { color: #444 } /* Literal.Number.Integer */ +.codehilite .mo { color: #444 } /* Literal.Number.Oct */ +.codehilite .sa { color: #444 } /* Literal.String.Affix */ +.codehilite .sb { color: #B83838 } /* Literal.String.Backtick */ +.codehilite .sc { color: #A848A8 } /* Literal.String.Char */ +.codehilite .dl { color: #B85820 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #B85820; font-style: italic } /* Literal.String.Doc */ +.codehilite .s2 { color: #B83838 } /* Literal.String.Double */ +.codehilite .se { color: #709030 } /* Literal.String.Escape */ +.codehilite .sh { color: #B83838 } /* Literal.String.Heredoc */ +.codehilite .si { color: #B83838; text-decoration: underline } /* Literal.String.Interpol */ +.codehilite .sx { color: #A848A8 } /* Literal.String.Other */ +.codehilite .sr { color: #A848A8 } /* Literal.String.Regex */ +.codehilite .s1 { color: #B83838 } /* Literal.String.Single */ +.codehilite .ss { color: #B83838 } /* Literal.String.Symbol */ +.codehilite .bp { color: #388038; font-style: italic } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #B85820 } /* Name.Function.Magic */ +.codehilite .vc { color: #B04040 } /* Name.Variable.Class */ +.codehilite .vg { color: #908828 } /* Name.Variable.Global */ +.codehilite .vi { color: #B04040 } /* Name.Variable.Instance */ +.codehilite .vm { color: #B85820 } /* Name.Variable.Magic */ +.codehilite .il { color: #444 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/manni.css b/site/css/pygments/manni.css new file mode 100644 index 0000000..463fe62 --- /dev/null +++ b/site/css/pygments/manni.css @@ -0,0 +1,75 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #ffffcc } +.codehilite { background: #f0f3f3; } +.codehilite .c { color: #09F; font-style: italic } /* Comment */ +.codehilite .err { color: #A00; background-color: #FAA } /* Error */ +.codehilite .k { color: #069; font-weight: bold } /* Keyword */ +.codehilite .o { color: #555 } /* Operator */ +.codehilite .ch { color: #09F; font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { color: #09F; font-style: italic } /* Comment.Multiline */ +.codehilite .cp { color: #099 } /* Comment.Preproc */ +.codehilite .cpf { color: #09F; font-style: italic } /* Comment.PreprocFile */ +.codehilite .c1 { color: #09F; font-style: italic } /* Comment.Single */ +.codehilite .cs { color: #09F; font-weight: bold; font-style: italic } /* Comment.Special */ +.codehilite .gd { background-color: #FCC; border: 1px solid #C00 } /* Generic.Deleted */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite .gr { color: #F00 } /* Generic.Error */ +.codehilite .gh { color: #030; font-weight: bold } /* Generic.Heading */ +.codehilite .gi { background-color: #CFC; border: 1px solid #0C0 } /* Generic.Inserted */ +.codehilite .go { color: #AAA } /* Generic.Output */ +.codehilite .gp { color: #009; font-weight: bold } /* Generic.Prompt */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #030; font-weight: bold } /* Generic.Subheading */ +.codehilite .gt { color: #9C6 } /* Generic.Traceback */ +.codehilite .kc { color: #069; font-weight: bold } /* Keyword.Constant */ +.codehilite .kd { color: #069; font-weight: bold } /* Keyword.Declaration */ +.codehilite .kn { color: #069; font-weight: bold } /* Keyword.Namespace */ +.codehilite .kp { color: #069 } /* Keyword.Pseudo */ +.codehilite .kr { color: #069; font-weight: bold } /* Keyword.Reserved */ +.codehilite .kt { color: #078; font-weight: bold } /* Keyword.Type */ +.codehilite .m { color: #F60 } /* Literal.Number */ +.codehilite .s { color: #C30 } /* Literal.String */ +.codehilite .na { color: #309 } /* Name.Attribute */ +.codehilite .nb { color: #366 } /* Name.Builtin */ +.codehilite .nc { color: #0A8; font-weight: bold } /* Name.Class */ +.codehilite .no { color: #360 } /* Name.Constant */ +.codehilite .nd { color: #99F } /* Name.Decorator */ +.codehilite .ni { color: #999; font-weight: bold } /* Name.Entity */ +.codehilite .ne { color: #C00; font-weight: bold } /* Name.Exception */ +.codehilite .nf { color: #C0F } /* Name.Function */ +.codehilite .nl { color: #99F } /* Name.Label */ +.codehilite .nn { color: #0CF; font-weight: bold } /* Name.Namespace */ +.codehilite .nt { color: #309; font-weight: bold } /* Name.Tag */ +.codehilite .nv { color: #033 } /* Name.Variable */ +.codehilite .ow { color: #000; font-weight: bold } /* Operator.Word */ +.codehilite .w { color: #BBB } /* Text.Whitespace */ +.codehilite .mb { color: #F60 } /* Literal.Number.Bin */ +.codehilite .mf { color: #F60 } /* Literal.Number.Float */ +.codehilite .mh { color: #F60 } /* Literal.Number.Hex */ +.codehilite .mi { color: #F60 } /* Literal.Number.Integer */ +.codehilite .mo { color: #F60 } /* Literal.Number.Oct */ +.codehilite .sa { color: #C30 } /* Literal.String.Affix */ +.codehilite .sb { color: #C30 } /* Literal.String.Backtick */ +.codehilite .sc { color: #C30 } /* Literal.String.Char */ +.codehilite .dl { color: #C30 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #C30; font-style: italic } /* Literal.String.Doc */ +.codehilite .s2 { color: #C30 } /* Literal.String.Double */ +.codehilite .se { color: #C30; font-weight: bold } /* Literal.String.Escape */ +.codehilite .sh { color: #C30 } /* Literal.String.Heredoc */ +.codehilite .si { color: #A00 } /* Literal.String.Interpol */ +.codehilite .sx { color: #C30 } /* Literal.String.Other */ +.codehilite .sr { color: #3AA } /* Literal.String.Regex */ +.codehilite .s1 { color: #C30 } /* Literal.String.Single */ +.codehilite .ss { color: #FC3 } /* Literal.String.Symbol */ +.codehilite .bp { color: #366 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #C0F } /* Name.Function.Magic */ +.codehilite .vc { color: #033 } /* Name.Variable.Class */ +.codehilite .vg { color: #033 } /* Name.Variable.Global */ +.codehilite .vi { color: #033 } /* Name.Variable.Instance */ +.codehilite .vm { color: #033 } /* Name.Variable.Magic */ +.codehilite .il { color: #F60 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/material.css b/site/css/pygments/material.css new file mode 100644 index 0000000..dcaa89d --- /dev/null +++ b/site/css/pygments/material.css @@ -0,0 +1,84 @@ +pre { line-height: 125%; } +td.linenos .normal { color: #37474F; background-color: #263238; padding-left: 5px; padding-right: 5px; } +span.linenos { color: #37474F; background-color: #263238; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #607A86; background-color: #263238; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #607A86; background-color: #263238; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #2C3B41 } +.codehilite { background: #263238; color: #EFF } +.codehilite .c { color: #546E7A; font-style: italic } /* Comment */ +.codehilite .err { color: #FF5370 } /* Error */ +.codehilite .esc { color: #89DDFF } /* Escape */ +.codehilite .g { color: #EFF } /* Generic */ +.codehilite .k { color: #BB80B3 } /* Keyword */ +.codehilite .l { color: #C3E88D } /* Literal */ +.codehilite .n { color: #EFF } /* Name */ +.codehilite .o { color: #89DDFF } /* Operator */ +.codehilite .p { color: #89DDFF } /* Punctuation */ +.codehilite .ch { color: #546E7A; font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { color: #546E7A; font-style: italic } /* Comment.Multiline */ +.codehilite .cp { color: #546E7A; font-style: italic } /* Comment.Preproc */ +.codehilite .cpf { color: #546E7A; font-style: italic } /* Comment.PreprocFile */ +.codehilite .c1 { color: #546E7A; font-style: italic } /* Comment.Single */ +.codehilite .cs { color: #546E7A; font-style: italic } /* Comment.Special */ +.codehilite .gd { color: #FF5370 } /* Generic.Deleted */ +.codehilite .ge { color: #89DDFF } /* Generic.Emph */ +.codehilite .ges { color: #FFCB6B } /* Generic.EmphStrong */ +.codehilite .gr { color: #FF5370 } /* Generic.Error */ +.codehilite .gh { color: #C3E88D } /* Generic.Heading */ +.codehilite .gi { color: #C3E88D } /* Generic.Inserted */ +.codehilite .go { color: #546E7A } /* Generic.Output */ +.codehilite .gp { color: #FFCB6B } /* Generic.Prompt */ +.codehilite .gs { color: #FF5370 } /* Generic.Strong */ +.codehilite .gu { color: #89DDFF } /* Generic.Subheading */ +.codehilite .gt { color: #FF5370 } /* Generic.Traceback */ +.codehilite .kc { color: #89DDFF } /* Keyword.Constant */ +.codehilite .kd { color: #BB80B3 } /* Keyword.Declaration */ +.codehilite .kn { color: #89DDFF; font-style: italic } /* Keyword.Namespace */ +.codehilite .kp { color: #89DDFF } /* Keyword.Pseudo */ +.codehilite .kr { color: #BB80B3 } /* Keyword.Reserved */ +.codehilite .kt { color: #BB80B3 } /* Keyword.Type */ +.codehilite .ld { color: #C3E88D } /* Literal.Date */ +.codehilite .m { color: #F78C6C } /* Literal.Number */ +.codehilite .s { color: #C3E88D } /* Literal.String */ +.codehilite .na { color: #BB80B3 } /* Name.Attribute */ +.codehilite .nb { color: #82AAFF } /* Name.Builtin */ +.codehilite .nc { color: #FFCB6B } /* Name.Class */ +.codehilite .no { color: #EFF } /* Name.Constant */ +.codehilite .nd { color: #82AAFF } /* Name.Decorator */ +.codehilite .ni { color: #89DDFF } /* Name.Entity */ +.codehilite .ne { color: #FFCB6B } /* Name.Exception */ +.codehilite .nf { color: #82AAFF } /* Name.Function */ +.codehilite .nl { color: #82AAFF } /* Name.Label */ +.codehilite .nn { color: #FFCB6B } /* Name.Namespace */ +.codehilite .nx { color: #EFF } /* Name.Other */ +.codehilite .py { color: #FFCB6B } /* Name.Property */ +.codehilite .nt { color: #FF5370 } /* Name.Tag */ +.codehilite .nv { color: #89DDFF } /* Name.Variable */ +.codehilite .ow { color: #89DDFF; font-style: italic } /* Operator.Word */ +.codehilite .pm { color: #89DDFF } /* Punctuation.Marker */ +.codehilite .w { color: #EFF } /* Text.Whitespace */ +.codehilite .mb { color: #F78C6C } /* Literal.Number.Bin */ +.codehilite .mf { color: #F78C6C } /* Literal.Number.Float */ +.codehilite .mh { color: #F78C6C } /* Literal.Number.Hex */ +.codehilite .mi { color: #F78C6C } /* Literal.Number.Integer */ +.codehilite .mo { color: #F78C6C } /* Literal.Number.Oct */ +.codehilite .sa { color: #BB80B3 } /* Literal.String.Affix */ +.codehilite .sb { color: #C3E88D } /* Literal.String.Backtick */ +.codehilite .sc { color: #C3E88D } /* Literal.String.Char */ +.codehilite .dl { color: #EFF } /* Literal.String.Delimiter */ +.codehilite .sd { color: #546E7A; font-style: italic } /* Literal.String.Doc */ +.codehilite .s2 { color: #C3E88D } /* Literal.String.Double */ +.codehilite .se { color: #EFF } /* Literal.String.Escape */ +.codehilite .sh { color: #C3E88D } /* Literal.String.Heredoc */ +.codehilite .si { color: #89DDFF } /* Literal.String.Interpol */ +.codehilite .sx { color: #C3E88D } /* Literal.String.Other */ +.codehilite .sr { color: #89DDFF } /* Literal.String.Regex */ +.codehilite .s1 { color: #C3E88D } /* Literal.String.Single */ +.codehilite .ss { color: #89DDFF } /* Literal.String.Symbol */ +.codehilite .bp { color: #89DDFF } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #82AAFF } /* Name.Function.Magic */ +.codehilite .vc { color: #89DDFF } /* Name.Variable.Class */ +.codehilite .vg { color: #89DDFF } /* Name.Variable.Global */ +.codehilite .vi { color: #89DDFF } /* Name.Variable.Instance */ +.codehilite .vm { color: #82AAFF } /* Name.Variable.Magic */ +.codehilite .il { color: #F78C6C } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/monokai.css b/site/css/pygments/monokai.css new file mode 100644 index 0000000..3983d64 --- /dev/null +++ b/site/css/pygments/monokai.css @@ -0,0 +1,85 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #49483e } +.codehilite { background: #272822; color: #F8F8F2 } +.codehilite .c { color: #959077 } /* Comment */ +.codehilite .err { color: #ED007E; background-color: #1E0010 } /* Error */ +.codehilite .esc { color: #F8F8F2 } /* Escape */ +.codehilite .g { color: #F8F8F2 } /* Generic */ +.codehilite .k { color: #66D9EF } /* Keyword */ +.codehilite .l { color: #AE81FF } /* Literal */ +.codehilite .n { color: #F8F8F2 } /* Name */ +.codehilite .o { color: #FF4689 } /* Operator */ +.codehilite .x { color: #F8F8F2 } /* Other */ +.codehilite .p { color: #F8F8F2 } /* Punctuation */ +.codehilite .ch { color: #959077 } /* Comment.Hashbang */ +.codehilite .cm { color: #959077 } /* Comment.Multiline */ +.codehilite .cp { color: #959077 } /* Comment.Preproc */ +.codehilite .cpf { color: #959077 } /* Comment.PreprocFile */ +.codehilite .c1 { color: #959077 } /* Comment.Single */ +.codehilite .cs { color: #959077 } /* Comment.Special */ +.codehilite .gd { color: #FF4689 } /* Generic.Deleted */ +.codehilite .ge { color: #F8F8F2; font-style: italic } /* Generic.Emph */ +.codehilite .ges { color: #F8F8F2; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite .gr { color: #F8F8F2 } /* Generic.Error */ +.codehilite .gh { color: #F8F8F2 } /* Generic.Heading */ +.codehilite .gi { color: #A6E22E } /* Generic.Inserted */ +.codehilite .go { color: #66D9EF } /* Generic.Output */ +.codehilite .gp { color: #FF4689; font-weight: bold } /* Generic.Prompt */ +.codehilite .gs { color: #F8F8F2; font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #959077 } /* Generic.Subheading */ +.codehilite .gt { color: #F8F8F2 } /* Generic.Traceback */ +.codehilite .kc { color: #66D9EF } /* Keyword.Constant */ +.codehilite .kd { color: #66D9EF } /* Keyword.Declaration */ +.codehilite .kn { color: #FF4689 } /* Keyword.Namespace */ +.codehilite .kp { color: #66D9EF } /* Keyword.Pseudo */ +.codehilite .kr { color: #66D9EF } /* Keyword.Reserved */ +.codehilite .kt { color: #66D9EF } /* Keyword.Type */ +.codehilite .ld { color: #E6DB74 } /* Literal.Date */ +.codehilite .m { color: #AE81FF } /* Literal.Number */ +.codehilite .s { color: #E6DB74 } /* Literal.String */ +.codehilite .na { color: #A6E22E } /* Name.Attribute */ +.codehilite .nb { color: #F8F8F2 } /* Name.Builtin */ +.codehilite .nc { color: #A6E22E } /* Name.Class */ +.codehilite .no { color: #66D9EF } /* Name.Constant */ +.codehilite .nd { color: #A6E22E } /* Name.Decorator */ +.codehilite .ni { color: #F8F8F2 } /* Name.Entity */ +.codehilite .ne { color: #A6E22E } /* Name.Exception */ +.codehilite .nf { color: #A6E22E } /* Name.Function */ +.codehilite .nl { color: #F8F8F2 } /* Name.Label */ +.codehilite .nn { color: #F8F8F2 } /* Name.Namespace */ +.codehilite .nx { color: #A6E22E } /* Name.Other */ +.codehilite .py { color: #F8F8F2 } /* Name.Property */ +.codehilite .nt { color: #FF4689 } /* Name.Tag */ +.codehilite .nv { color: #F8F8F2 } /* Name.Variable */ +.codehilite .ow { color: #FF4689 } /* Operator.Word */ +.codehilite .pm { color: #F8F8F2 } /* Punctuation.Marker */ +.codehilite .w { color: #F8F8F2 } /* Text.Whitespace */ +.codehilite .mb { color: #AE81FF } /* Literal.Number.Bin */ +.codehilite .mf { color: #AE81FF } /* Literal.Number.Float */ +.codehilite .mh { color: #AE81FF } /* Literal.Number.Hex */ +.codehilite .mi { color: #AE81FF } /* Literal.Number.Integer */ +.codehilite .mo { color: #AE81FF } /* Literal.Number.Oct */ +.codehilite .sa { color: #E6DB74 } /* Literal.String.Affix */ +.codehilite .sb { color: #E6DB74 } /* Literal.String.Backtick */ +.codehilite .sc { color: #E6DB74 } /* Literal.String.Char */ +.codehilite .dl { color: #E6DB74 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #E6DB74 } /* Literal.String.Doc */ +.codehilite .s2 { color: #E6DB74 } /* Literal.String.Double */ +.codehilite .se { color: #AE81FF } /* Literal.String.Escape */ +.codehilite .sh { color: #E6DB74 } /* Literal.String.Heredoc */ +.codehilite .si { color: #E6DB74 } /* Literal.String.Interpol */ +.codehilite .sx { color: #E6DB74 } /* Literal.String.Other */ +.codehilite .sr { color: #E6DB74 } /* Literal.String.Regex */ +.codehilite .s1 { color: #E6DB74 } /* Literal.String.Single */ +.codehilite .ss { color: #E6DB74 } /* Literal.String.Symbol */ +.codehilite .bp { color: #F8F8F2 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #A6E22E } /* Name.Function.Magic */ +.codehilite .vc { color: #F8F8F2 } /* Name.Variable.Class */ +.codehilite .vg { color: #F8F8F2 } /* Name.Variable.Global */ +.codehilite .vi { color: #F8F8F2 } /* Name.Variable.Instance */ +.codehilite .vm { color: #F8F8F2 } /* Name.Variable.Magic */ +.codehilite .il { color: #AE81FF } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/murphy.css b/site/css/pygments/murphy.css new file mode 100644 index 0000000..9962890 --- /dev/null +++ b/site/css/pygments/murphy.css @@ -0,0 +1,75 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #ffffcc } +.codehilite { background: #ffffff; } +.codehilite .c { color: #666; font-style: italic } /* Comment */ +.codehilite .err { color: #F00; background-color: #FAA } /* Error */ +.codehilite .k { color: #289; font-weight: bold } /* Keyword */ +.codehilite .o { color: #333 } /* Operator */ +.codehilite .ch { color: #666; font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { color: #666; font-style: italic } /* Comment.Multiline */ +.codehilite .cp { color: #579 } /* Comment.Preproc */ +.codehilite .cpf { color: #666; font-style: italic } /* Comment.PreprocFile */ +.codehilite .c1 { color: #666; font-style: italic } /* Comment.Single */ +.codehilite .cs { color: #C00; font-weight: bold; font-style: italic } /* Comment.Special */ +.codehilite .gd { color: #A00000 } /* Generic.Deleted */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite .gr { color: #F00 } /* Generic.Error */ +.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.codehilite .gi { color: #00A000 } /* Generic.Inserted */ +.codehilite .go { color: #888 } /* Generic.Output */ +.codehilite .gp { color: #C65D09; font-weight: bold } /* Generic.Prompt */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.codehilite .gt { color: #04D } /* Generic.Traceback */ +.codehilite .kc { color: #289; font-weight: bold } /* Keyword.Constant */ +.codehilite .kd { color: #289; font-weight: bold } /* Keyword.Declaration */ +.codehilite .kn { color: #289; font-weight: bold } /* Keyword.Namespace */ +.codehilite .kp { color: #08F; font-weight: bold } /* Keyword.Pseudo */ +.codehilite .kr { color: #289; font-weight: bold } /* Keyword.Reserved */ +.codehilite .kt { color: #66F; font-weight: bold } /* Keyword.Type */ +.codehilite .m { color: #60E; font-weight: bold } /* Literal.Number */ +.codehilite .s { background-color: #E0E0FF } /* Literal.String */ +.codehilite .na { color: #007 } /* Name.Attribute */ +.codehilite .nb { color: #072 } /* Name.Builtin */ +.codehilite .nc { color: #E9E; font-weight: bold } /* Name.Class */ +.codehilite .no { color: #5ED; font-weight: bold } /* Name.Constant */ +.codehilite .nd { color: #555; font-weight: bold } /* Name.Decorator */ +.codehilite .ni { color: #800 } /* Name.Entity */ +.codehilite .ne { color: #F00; font-weight: bold } /* Name.Exception */ +.codehilite .nf { color: #5ED; font-weight: bold } /* Name.Function */ +.codehilite .nl { color: #970; font-weight: bold } /* Name.Label */ +.codehilite .nn { color: #0E84B5; font-weight: bold } /* Name.Namespace */ +.codehilite .nt { color: #070 } /* Name.Tag */ +.codehilite .nv { color: #036 } /* Name.Variable */ +.codehilite .ow { color: #000; font-weight: bold } /* Operator.Word */ +.codehilite .w { color: #BBB } /* Text.Whitespace */ +.codehilite .mb { color: #60E; font-weight: bold } /* Literal.Number.Bin */ +.codehilite .mf { color: #60E; font-weight: bold } /* Literal.Number.Float */ +.codehilite .mh { color: #058; font-weight: bold } /* Literal.Number.Hex */ +.codehilite .mi { color: #66F; font-weight: bold } /* Literal.Number.Integer */ +.codehilite .mo { color: #40E; font-weight: bold } /* Literal.Number.Oct */ +.codehilite .sa { background-color: #E0E0FF } /* Literal.String.Affix */ +.codehilite .sb { background-color: #E0E0FF } /* Literal.String.Backtick */ +.codehilite .sc { color: #88F } /* Literal.String.Char */ +.codehilite .dl { background-color: #E0E0FF } /* Literal.String.Delimiter */ +.codehilite .sd { color: #D42 } /* Literal.String.Doc */ +.codehilite .s2 { background-color: #E0E0FF } /* Literal.String.Double */ +.codehilite .se { color: #666; font-weight: bold; background-color: #E0E0FF } /* Literal.String.Escape */ +.codehilite .sh { background-color: #E0E0FF } /* Literal.String.Heredoc */ +.codehilite .si { background-color: #EEE } /* Literal.String.Interpol */ +.codehilite .sx { color: #F88; background-color: #E0E0FF } /* Literal.String.Other */ +.codehilite .sr { color: #000; background-color: #E0E0FF } /* Literal.String.Regex */ +.codehilite .s1 { background-color: #E0E0FF } /* Literal.String.Single */ +.codehilite .ss { color: #FC8 } /* Literal.String.Symbol */ +.codehilite .bp { color: #072 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #5ED; font-weight: bold } /* Name.Function.Magic */ +.codehilite .vc { color: #CCF } /* Name.Variable.Class */ +.codehilite .vg { color: #F84 } /* Name.Variable.Global */ +.codehilite .vi { color: #AAF } /* Name.Variable.Instance */ +.codehilite .vm { color: #036 } /* Name.Variable.Magic */ +.codehilite .il { color: #66F; font-weight: bold } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/native.css b/site/css/pygments/native.css new file mode 100644 index 0000000..ec84906 --- /dev/null +++ b/site/css/pygments/native.css @@ -0,0 +1,85 @@ +pre { line-height: 125%; } +td.linenos .normal { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #404040 } +.codehilite { background: #202020; color: #D0D0D0 } +.codehilite .c { color: #ABABAB; font-style: italic } /* Comment */ +.codehilite .err { color: #A61717; background-color: #E3D2D2 } /* Error */ +.codehilite .esc { color: #D0D0D0 } /* Escape */ +.codehilite .g { color: #D0D0D0 } /* Generic */ +.codehilite .k { color: #6EBF26; font-weight: bold } /* Keyword */ +.codehilite .l { color: #D0D0D0 } /* Literal */ +.codehilite .n { color: #D0D0D0 } /* Name */ +.codehilite .o { color: #D0D0D0 } /* Operator */ +.codehilite .x { color: #D0D0D0 } /* Other */ +.codehilite .p { color: #D0D0D0 } /* Punctuation */ +.codehilite .ch { color: #ABABAB; font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { color: #ABABAB; font-style: italic } /* Comment.Multiline */ +.codehilite .cp { color: #FF3A3A; font-weight: bold } /* Comment.Preproc */ +.codehilite .cpf { color: #ABABAB; font-style: italic } /* Comment.PreprocFile */ +.codehilite .c1 { color: #ABABAB; font-style: italic } /* Comment.Single */ +.codehilite .cs { color: #E50808; font-weight: bold; background-color: #520000 } /* Comment.Special */ +.codehilite .gd { color: #FF3A3A } /* Generic.Deleted */ +.codehilite .ge { color: #D0D0D0; font-style: italic } /* Generic.Emph */ +.codehilite .ges { color: #D0D0D0; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite .gr { color: #FF3A3A } /* Generic.Error */ +.codehilite .gh { color: #FFF; font-weight: bold } /* Generic.Heading */ +.codehilite .gi { color: #589819 } /* Generic.Inserted */ +.codehilite .go { color: #CCC } /* Generic.Output */ +.codehilite .gp { color: #AAA } /* Generic.Prompt */ +.codehilite .gs { color: #D0D0D0; font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #FFF; text-decoration: underline } /* Generic.Subheading */ +.codehilite .gt { color: #FF3A3A } /* Generic.Traceback */ +.codehilite .kc { color: #6EBF26; font-weight: bold } /* Keyword.Constant */ +.codehilite .kd { color: #6EBF26; font-weight: bold } /* Keyword.Declaration */ +.codehilite .kn { color: #6EBF26; font-weight: bold } /* Keyword.Namespace */ +.codehilite .kp { color: #6EBF26 } /* Keyword.Pseudo */ +.codehilite .kr { color: #6EBF26; font-weight: bold } /* Keyword.Reserved */ +.codehilite .kt { color: #6EBF26; font-weight: bold } /* Keyword.Type */ +.codehilite .ld { color: #D0D0D0 } /* Literal.Date */ +.codehilite .m { color: #51B2FD } /* Literal.Number */ +.codehilite .s { color: #ED9D13 } /* Literal.String */ +.codehilite .na { color: #BBB } /* Name.Attribute */ +.codehilite .nb { color: #2FBCCD } /* Name.Builtin */ +.codehilite .nc { color: #71ADFF; text-decoration: underline } /* Name.Class */ +.codehilite .no { color: #40FFFF } /* Name.Constant */ +.codehilite .nd { color: #FFA500 } /* Name.Decorator */ +.codehilite .ni { color: #D0D0D0 } /* Name.Entity */ +.codehilite .ne { color: #BBB } /* Name.Exception */ +.codehilite .nf { color: #71ADFF } /* Name.Function */ +.codehilite .nl { color: #D0D0D0 } /* Name.Label */ +.codehilite .nn { color: #71ADFF; text-decoration: underline } /* Name.Namespace */ +.codehilite .nx { color: #D0D0D0 } /* Name.Other */ +.codehilite .py { color: #D0D0D0 } /* Name.Property */ +.codehilite .nt { color: #6EBF26; font-weight: bold } /* Name.Tag */ +.codehilite .nv { color: #40FFFF } /* Name.Variable */ +.codehilite .ow { color: #6EBF26; font-weight: bold } /* Operator.Word */ +.codehilite .pm { color: #D0D0D0 } /* Punctuation.Marker */ +.codehilite .w { color: #666 } /* Text.Whitespace */ +.codehilite .mb { color: #51B2FD } /* Literal.Number.Bin */ +.codehilite .mf { color: #51B2FD } /* Literal.Number.Float */ +.codehilite .mh { color: #51B2FD } /* Literal.Number.Hex */ +.codehilite .mi { color: #51B2FD } /* Literal.Number.Integer */ +.codehilite .mo { color: #51B2FD } /* Literal.Number.Oct */ +.codehilite .sa { color: #ED9D13 } /* Literal.String.Affix */ +.codehilite .sb { color: #ED9D13 } /* Literal.String.Backtick */ +.codehilite .sc { color: #ED9D13 } /* Literal.String.Char */ +.codehilite .dl { color: #ED9D13 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #ED9D13 } /* Literal.String.Doc */ +.codehilite .s2 { color: #ED9D13 } /* Literal.String.Double */ +.codehilite .se { color: #ED9D13 } /* Literal.String.Escape */ +.codehilite .sh { color: #ED9D13 } /* Literal.String.Heredoc */ +.codehilite .si { color: #ED9D13 } /* Literal.String.Interpol */ +.codehilite .sx { color: #FFA500 } /* Literal.String.Other */ +.codehilite .sr { color: #ED9D13 } /* Literal.String.Regex */ +.codehilite .s1 { color: #ED9D13 } /* Literal.String.Single */ +.codehilite .ss { color: #ED9D13 } /* Literal.String.Symbol */ +.codehilite .bp { color: #2FBCCD } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #71ADFF } /* Name.Function.Magic */ +.codehilite .vc { color: #40FFFF } /* Name.Variable.Class */ +.codehilite .vg { color: #40FFFF } /* Name.Variable.Global */ +.codehilite .vi { color: #40FFFF } /* Name.Variable.Instance */ +.codehilite .vm { color: #40FFFF } /* Name.Variable.Magic */ +.codehilite .il { color: #51B2FD } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/nord-darker.css b/site/css/pygments/nord-darker.css new file mode 100644 index 0000000..58158bf --- /dev/null +++ b/site/css/pygments/nord-darker.css @@ -0,0 +1,85 @@ +pre { line-height: 125%; } +td.linenos .normal { color: #D8DEE9; background-color: #242933; padding-left: 5px; padding-right: 5px; } +span.linenos { color: #D8DEE9; background-color: #242933; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #242933; background-color: #D8DEE9; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #242933; background-color: #D8DEE9; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #3B4252 } +.codehilite { background: #242933; color: #D8DEE9 } +.codehilite .c { color: #616E87; font-style: italic } /* Comment */ +.codehilite .err { color: #BF616A } /* Error */ +.codehilite .esc { color: #D8DEE9 } /* Escape */ +.codehilite .g { color: #D8DEE9 } /* Generic */ +.codehilite .k { color: #81A1C1; font-weight: bold } /* Keyword */ +.codehilite .l { color: #D8DEE9 } /* Literal */ +.codehilite .n { color: #D8DEE9 } /* Name */ +.codehilite .o { color: #81A1C1; font-weight: bold } /* Operator */ +.codehilite .x { color: #D8DEE9 } /* Other */ +.codehilite .p { color: #ECEFF4 } /* Punctuation */ +.codehilite .ch { color: #616E87; font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { color: #616E87; font-style: italic } /* Comment.Multiline */ +.codehilite .cp { color: #5E81AC; font-style: italic } /* Comment.Preproc */ +.codehilite .cpf { color: #616E87; font-style: italic } /* Comment.PreprocFile */ +.codehilite .c1 { color: #616E87; font-style: italic } /* Comment.Single */ +.codehilite .cs { color: #616E87; font-style: italic } /* Comment.Special */ +.codehilite .gd { color: #BF616A } /* Generic.Deleted */ +.codehilite .ge { color: #D8DEE9; font-style: italic } /* Generic.Emph */ +.codehilite .ges { color: #D8DEE9 } /* Generic.EmphStrong */ +.codehilite .gr { color: #BF616A } /* Generic.Error */ +.codehilite .gh { color: #88C0D0; font-weight: bold } /* Generic.Heading */ +.codehilite .gi { color: #A3BE8C } /* Generic.Inserted */ +.codehilite .go { color: #D8DEE9 } /* Generic.Output */ +.codehilite .gp { color: #616E88; font-weight: bold } /* Generic.Prompt */ +.codehilite .gs { color: #D8DEE9; font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #88C0D0; font-weight: bold } /* Generic.Subheading */ +.codehilite .gt { color: #BF616A } /* Generic.Traceback */ +.codehilite .kc { color: #81A1C1; font-weight: bold } /* Keyword.Constant */ +.codehilite .kd { color: #81A1C1; font-weight: bold } /* Keyword.Declaration */ +.codehilite .kn { color: #81A1C1; font-weight: bold } /* Keyword.Namespace */ +.codehilite .kp { color: #81A1C1 } /* Keyword.Pseudo */ +.codehilite .kr { color: #81A1C1; font-weight: bold } /* Keyword.Reserved */ +.codehilite .kt { color: #81A1C1 } /* Keyword.Type */ +.codehilite .ld { color: #D8DEE9 } /* Literal.Date */ +.codehilite .m { color: #B48EAD } /* Literal.Number */ +.codehilite .s { color: #A3BE8C } /* Literal.String */ +.codehilite .na { color: #8FBCBB } /* Name.Attribute */ +.codehilite .nb { color: #81A1C1 } /* Name.Builtin */ +.codehilite .nc { color: #8FBCBB } /* Name.Class */ +.codehilite .no { color: #8FBCBB } /* Name.Constant */ +.codehilite .nd { color: #D08770 } /* Name.Decorator */ +.codehilite .ni { color: #D08770 } /* Name.Entity */ +.codehilite .ne { color: #BF616A } /* Name.Exception */ +.codehilite .nf { color: #88C0D0 } /* Name.Function */ +.codehilite .nl { color: #D8DEE9 } /* Name.Label */ +.codehilite .nn { color: #8FBCBB } /* Name.Namespace */ +.codehilite .nx { color: #D8DEE9 } /* Name.Other */ +.codehilite .py { color: #D8DEE9 } /* Name.Property */ +.codehilite .nt { color: #81A1C1 } /* Name.Tag */ +.codehilite .nv { color: #D8DEE9 } /* Name.Variable */ +.codehilite .ow { color: #81A1C1; font-weight: bold } /* Operator.Word */ +.codehilite .pm { color: #ECEFF4 } /* Punctuation.Marker */ +.codehilite .w { color: #D8DEE9 } /* Text.Whitespace */ +.codehilite .mb { color: #B48EAD } /* Literal.Number.Bin */ +.codehilite .mf { color: #B48EAD } /* Literal.Number.Float */ +.codehilite .mh { color: #B48EAD } /* Literal.Number.Hex */ +.codehilite .mi { color: #B48EAD } /* Literal.Number.Integer */ +.codehilite .mo { color: #B48EAD } /* Literal.Number.Oct */ +.codehilite .sa { color: #A3BE8C } /* Literal.String.Affix */ +.codehilite .sb { color: #A3BE8C } /* Literal.String.Backtick */ +.codehilite .sc { color: #A3BE8C } /* Literal.String.Char */ +.codehilite .dl { color: #A3BE8C } /* Literal.String.Delimiter */ +.codehilite .sd { color: #616E87 } /* Literal.String.Doc */ +.codehilite .s2 { color: #A3BE8C } /* Literal.String.Double */ +.codehilite .se { color: #EBCB8B } /* Literal.String.Escape */ +.codehilite .sh { color: #A3BE8C } /* Literal.String.Heredoc */ +.codehilite .si { color: #A3BE8C } /* Literal.String.Interpol */ +.codehilite .sx { color: #A3BE8C } /* Literal.String.Other */ +.codehilite .sr { color: #EBCB8B } /* Literal.String.Regex */ +.codehilite .s1 { color: #A3BE8C } /* Literal.String.Single */ +.codehilite .ss { color: #A3BE8C } /* Literal.String.Symbol */ +.codehilite .bp { color: #81A1C1 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #88C0D0 } /* Name.Function.Magic */ +.codehilite .vc { color: #D8DEE9 } /* Name.Variable.Class */ +.codehilite .vg { color: #D8DEE9 } /* Name.Variable.Global */ +.codehilite .vi { color: #D8DEE9 } /* Name.Variable.Instance */ +.codehilite .vm { color: #D8DEE9 } /* Name.Variable.Magic */ +.codehilite .il { color: #B48EAD } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/nord.css b/site/css/pygments/nord.css new file mode 100644 index 0000000..3857bf8 --- /dev/null +++ b/site/css/pygments/nord.css @@ -0,0 +1,85 @@ +pre { line-height: 125%; } +td.linenos .normal { color: #D8DEE9; background-color: #242933; padding-left: 5px; padding-right: 5px; } +span.linenos { color: #D8DEE9; background-color: #242933; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #242933; background-color: #D8DEE9; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #242933; background-color: #D8DEE9; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #3B4252 } +.codehilite { background: #2E3440; color: #D8DEE9 } +.codehilite .c { color: #616E87; font-style: italic } /* Comment */ +.codehilite .err { color: #BF616A } /* Error */ +.codehilite .esc { color: #D8DEE9 } /* Escape */ +.codehilite .g { color: #D8DEE9 } /* Generic */ +.codehilite .k { color: #81A1C1; font-weight: bold } /* Keyword */ +.codehilite .l { color: #D8DEE9 } /* Literal */ +.codehilite .n { color: #D8DEE9 } /* Name */ +.codehilite .o { color: #81A1C1; font-weight: bold } /* Operator */ +.codehilite .x { color: #D8DEE9 } /* Other */ +.codehilite .p { color: #ECEFF4 } /* Punctuation */ +.codehilite .ch { color: #616E87; font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { color: #616E87; font-style: italic } /* Comment.Multiline */ +.codehilite .cp { color: #5E81AC; font-style: italic } /* Comment.Preproc */ +.codehilite .cpf { color: #616E87; font-style: italic } /* Comment.PreprocFile */ +.codehilite .c1 { color: #616E87; font-style: italic } /* Comment.Single */ +.codehilite .cs { color: #616E87; font-style: italic } /* Comment.Special */ +.codehilite .gd { color: #BF616A } /* Generic.Deleted */ +.codehilite .ge { color: #D8DEE9; font-style: italic } /* Generic.Emph */ +.codehilite .ges { color: #D8DEE9; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite .gr { color: #BF616A } /* Generic.Error */ +.codehilite .gh { color: #88C0D0; font-weight: bold } /* Generic.Heading */ +.codehilite .gi { color: #A3BE8C } /* Generic.Inserted */ +.codehilite .go { color: #D8DEE9 } /* Generic.Output */ +.codehilite .gp { color: #616E88; font-weight: bold } /* Generic.Prompt */ +.codehilite .gs { color: #D8DEE9; font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #88C0D0; font-weight: bold } /* Generic.Subheading */ +.codehilite .gt { color: #BF616A } /* Generic.Traceback */ +.codehilite .kc { color: #81A1C1; font-weight: bold } /* Keyword.Constant */ +.codehilite .kd { color: #81A1C1; font-weight: bold } /* Keyword.Declaration */ +.codehilite .kn { color: #81A1C1; font-weight: bold } /* Keyword.Namespace */ +.codehilite .kp { color: #81A1C1 } /* Keyword.Pseudo */ +.codehilite .kr { color: #81A1C1; font-weight: bold } /* Keyword.Reserved */ +.codehilite .kt { color: #81A1C1 } /* Keyword.Type */ +.codehilite .ld { color: #D8DEE9 } /* Literal.Date */ +.codehilite .m { color: #B48EAD } /* Literal.Number */ +.codehilite .s { color: #A3BE8C } /* Literal.String */ +.codehilite .na { color: #8FBCBB } /* Name.Attribute */ +.codehilite .nb { color: #81A1C1 } /* Name.Builtin */ +.codehilite .nc { color: #8FBCBB } /* Name.Class */ +.codehilite .no { color: #8FBCBB } /* Name.Constant */ +.codehilite .nd { color: #D08770 } /* Name.Decorator */ +.codehilite .ni { color: #D08770 } /* Name.Entity */ +.codehilite .ne { color: #BF616A } /* Name.Exception */ +.codehilite .nf { color: #88C0D0 } /* Name.Function */ +.codehilite .nl { color: #D8DEE9 } /* Name.Label */ +.codehilite .nn { color: #8FBCBB } /* Name.Namespace */ +.codehilite .nx { color: #D8DEE9 } /* Name.Other */ +.codehilite .py { color: #D8DEE9 } /* Name.Property */ +.codehilite .nt { color: #81A1C1 } /* Name.Tag */ +.codehilite .nv { color: #D8DEE9 } /* Name.Variable */ +.codehilite .ow { color: #81A1C1; font-weight: bold } /* Operator.Word */ +.codehilite .pm { color: #ECEFF4 } /* Punctuation.Marker */ +.codehilite .w { color: #D8DEE9 } /* Text.Whitespace */ +.codehilite .mb { color: #B48EAD } /* Literal.Number.Bin */ +.codehilite .mf { color: #B48EAD } /* Literal.Number.Float */ +.codehilite .mh { color: #B48EAD } /* Literal.Number.Hex */ +.codehilite .mi { color: #B48EAD } /* Literal.Number.Integer */ +.codehilite .mo { color: #B48EAD } /* Literal.Number.Oct */ +.codehilite .sa { color: #A3BE8C } /* Literal.String.Affix */ +.codehilite .sb { color: #A3BE8C } /* Literal.String.Backtick */ +.codehilite .sc { color: #A3BE8C } /* Literal.String.Char */ +.codehilite .dl { color: #A3BE8C } /* Literal.String.Delimiter */ +.codehilite .sd { color: #616E87 } /* Literal.String.Doc */ +.codehilite .s2 { color: #A3BE8C } /* Literal.String.Double */ +.codehilite .se { color: #EBCB8B } /* Literal.String.Escape */ +.codehilite .sh { color: #A3BE8C } /* Literal.String.Heredoc */ +.codehilite .si { color: #A3BE8C } /* Literal.String.Interpol */ +.codehilite .sx { color: #A3BE8C } /* Literal.String.Other */ +.codehilite .sr { color: #EBCB8B } /* Literal.String.Regex */ +.codehilite .s1 { color: #A3BE8C } /* Literal.String.Single */ +.codehilite .ss { color: #A3BE8C } /* Literal.String.Symbol */ +.codehilite .bp { color: #81A1C1 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #88C0D0 } /* Name.Function.Magic */ +.codehilite .vc { color: #D8DEE9 } /* Name.Variable.Class */ +.codehilite .vg { color: #D8DEE9 } /* Name.Variable.Global */ +.codehilite .vi { color: #D8DEE9 } /* Name.Variable.Instance */ +.codehilite .vm { color: #D8DEE9 } /* Name.Variable.Magic */ +.codehilite .il { color: #B48EAD } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/one-dark.css b/site/css/pygments/one-dark.css new file mode 100644 index 0000000..11ddeae --- /dev/null +++ b/site/css/pygments/one-dark.css @@ -0,0 +1,85 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #ffffcc } +.codehilite { background: #282C34; color: #ABB2BF } +.codehilite .c { color: #7F848E } /* Comment */ +.codehilite .err { color: #ABB2BF } /* Error */ +.codehilite .esc { color: #ABB2BF } /* Escape */ +.codehilite .g { color: #ABB2BF } /* Generic */ +.codehilite .k { color: #C678DD } /* Keyword */ +.codehilite .l { color: #ABB2BF } /* Literal */ +.codehilite .n { color: #E06C75 } /* Name */ +.codehilite .o { color: #56B6C2 } /* Operator */ +.codehilite .x { color: #ABB2BF } /* Other */ +.codehilite .p { color: #ABB2BF } /* Punctuation */ +.codehilite .ch { color: #7F848E } /* Comment.Hashbang */ +.codehilite .cm { color: #7F848E } /* Comment.Multiline */ +.codehilite .cp { color: #7F848E } /* Comment.Preproc */ +.codehilite .cpf { color: #7F848E } /* Comment.PreprocFile */ +.codehilite .c1 { color: #7F848E } /* Comment.Single */ +.codehilite .cs { color: #7F848E } /* Comment.Special */ +.codehilite .gd { color: #ABB2BF } /* Generic.Deleted */ +.codehilite .ge { color: #ABB2BF } /* Generic.Emph */ +.codehilite .ges { color: #ABB2BF } /* Generic.EmphStrong */ +.codehilite .gr { color: #ABB2BF } /* Generic.Error */ +.codehilite .gh { color: #ABB2BF } /* Generic.Heading */ +.codehilite .gi { color: #ABB2BF } /* Generic.Inserted */ +.codehilite .go { color: #ABB2BF } /* Generic.Output */ +.codehilite .gp { color: #ABB2BF } /* Generic.Prompt */ +.codehilite .gs { color: #ABB2BF } /* Generic.Strong */ +.codehilite .gu { color: #ABB2BF } /* Generic.Subheading */ +.codehilite .gt { color: #ABB2BF } /* Generic.Traceback */ +.codehilite .kc { color: #E5C07B } /* Keyword.Constant */ +.codehilite .kd { color: #C678DD } /* Keyword.Declaration */ +.codehilite .kn { color: #C678DD } /* Keyword.Namespace */ +.codehilite .kp { color: #C678DD } /* Keyword.Pseudo */ +.codehilite .kr { color: #C678DD } /* Keyword.Reserved */ +.codehilite .kt { color: #E5C07B } /* Keyword.Type */ +.codehilite .ld { color: #ABB2BF } /* Literal.Date */ +.codehilite .m { color: #D19A66 } /* Literal.Number */ +.codehilite .s { color: #98C379 } /* Literal.String */ +.codehilite .na { color: #E06C75 } /* Name.Attribute */ +.codehilite .nb { color: #E5C07B } /* Name.Builtin */ +.codehilite .nc { color: #E5C07B } /* Name.Class */ +.codehilite .no { color: #E06C75 } /* Name.Constant */ +.codehilite .nd { color: #61AFEF } /* Name.Decorator */ +.codehilite .ni { color: #E06C75 } /* Name.Entity */ +.codehilite .ne { color: #E06C75 } /* Name.Exception */ +.codehilite .nf { color: #61AFEF; font-weight: bold } /* Name.Function */ +.codehilite .nl { color: #E06C75 } /* Name.Label */ +.codehilite .nn { color: #E06C75 } /* Name.Namespace */ +.codehilite .nx { color: #E06C75 } /* Name.Other */ +.codehilite .py { color: #E06C75 } /* Name.Property */ +.codehilite .nt { color: #E06C75 } /* Name.Tag */ +.codehilite .nv { color: #E06C75 } /* Name.Variable */ +.codehilite .ow { color: #56B6C2 } /* Operator.Word */ +.codehilite .pm { color: #ABB2BF } /* Punctuation.Marker */ +.codehilite .w { color: #ABB2BF } /* Text.Whitespace */ +.codehilite .mb { color: #D19A66 } /* Literal.Number.Bin */ +.codehilite .mf { color: #D19A66 } /* Literal.Number.Float */ +.codehilite .mh { color: #D19A66 } /* Literal.Number.Hex */ +.codehilite .mi { color: #D19A66 } /* Literal.Number.Integer */ +.codehilite .mo { color: #D19A66 } /* Literal.Number.Oct */ +.codehilite .sa { color: #98C379 } /* Literal.String.Affix */ +.codehilite .sb { color: #98C379 } /* Literal.String.Backtick */ +.codehilite .sc { color: #98C379 } /* Literal.String.Char */ +.codehilite .dl { color: #98C379 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #98C379 } /* Literal.String.Doc */ +.codehilite .s2 { color: #98C379 } /* Literal.String.Double */ +.codehilite .se { color: #98C379 } /* Literal.String.Escape */ +.codehilite .sh { color: #98C379 } /* Literal.String.Heredoc */ +.codehilite .si { color: #98C379 } /* Literal.String.Interpol */ +.codehilite .sx { color: #98C379 } /* Literal.String.Other */ +.codehilite .sr { color: #98C379 } /* Literal.String.Regex */ +.codehilite .s1 { color: #98C379 } /* Literal.String.Single */ +.codehilite .ss { color: #98C379 } /* Literal.String.Symbol */ +.codehilite .bp { color: #E5C07B } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #56B6C2; font-weight: bold } /* Name.Function.Magic */ +.codehilite .vc { color: #E06C75 } /* Name.Variable.Class */ +.codehilite .vg { color: #E06C75 } /* Name.Variable.Global */ +.codehilite .vi { color: #E06C75 } /* Name.Variable.Instance */ +.codehilite .vm { color: #E06C75 } /* Name.Variable.Magic */ +.codehilite .il { color: #D19A66 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/paraiso-dark.css b/site/css/pygments/paraiso-dark.css new file mode 100644 index 0000000..78258a7 --- /dev/null +++ b/site/css/pygments/paraiso-dark.css @@ -0,0 +1,79 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #4f424c } +.codehilite { background: #2f1e2e; color: #E7E9DB } +.codehilite .c { color: #776E71 } /* Comment */ +.codehilite .err { color: #EF6155 } /* Error */ +.codehilite .k { color: #815BA4 } /* Keyword */ +.codehilite .l { color: #F99B15 } /* Literal */ +.codehilite .n { color: #E7E9DB } /* Name */ +.codehilite .o { color: #5BC4BF } /* Operator */ +.codehilite .p { color: #E7E9DB } /* Punctuation */ +.codehilite .ch { color: #776E71 } /* Comment.Hashbang */ +.codehilite .cm { color: #776E71 } /* Comment.Multiline */ +.codehilite .cp { color: #776E71 } /* Comment.Preproc */ +.codehilite .cpf { color: #776E71 } /* Comment.PreprocFile */ +.codehilite .c1 { color: #776E71 } /* Comment.Single */ +.codehilite .cs { color: #776E71 } /* Comment.Special */ +.codehilite .gd { color: #EF6155 } /* Generic.Deleted */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite .gh { color: #E7E9DB; font-weight: bold } /* Generic.Heading */ +.codehilite .gi { color: #48B685 } /* Generic.Inserted */ +.codehilite .gp { color: #776E71; font-weight: bold } /* Generic.Prompt */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #5BC4BF; font-weight: bold } /* Generic.Subheading */ +.codehilite .kc { color: #815BA4 } /* Keyword.Constant */ +.codehilite .kd { color: #815BA4 } /* Keyword.Declaration */ +.codehilite .kn { color: #5BC4BF } /* Keyword.Namespace */ +.codehilite .kp { color: #815BA4 } /* Keyword.Pseudo */ +.codehilite .kr { color: #815BA4 } /* Keyword.Reserved */ +.codehilite .kt { color: #FEC418 } /* Keyword.Type */ +.codehilite .ld { color: #48B685 } /* Literal.Date */ +.codehilite .m { color: #F99B15 } /* Literal.Number */ +.codehilite .s { color: #48B685 } /* Literal.String */ +.codehilite .na { color: #06B6EF } /* Name.Attribute */ +.codehilite .nb { color: #E7E9DB } /* Name.Builtin */ +.codehilite .nc { color: #FEC418 } /* Name.Class */ +.codehilite .no { color: #EF6155 } /* Name.Constant */ +.codehilite .nd { color: #5BC4BF } /* Name.Decorator */ +.codehilite .ni { color: #E7E9DB } /* Name.Entity */ +.codehilite .ne { color: #EF6155 } /* Name.Exception */ +.codehilite .nf { color: #06B6EF } /* Name.Function */ +.codehilite .nl { color: #E7E9DB } /* Name.Label */ +.codehilite .nn { color: #FEC418 } /* Name.Namespace */ +.codehilite .nx { color: #06B6EF } /* Name.Other */ +.codehilite .py { color: #E7E9DB } /* Name.Property */ +.codehilite .nt { color: #5BC4BF } /* Name.Tag */ +.codehilite .nv { color: #EF6155 } /* Name.Variable */ +.codehilite .ow { color: #5BC4BF } /* Operator.Word */ +.codehilite .pm { color: #E7E9DB } /* Punctuation.Marker */ +.codehilite .w { color: #E7E9DB } /* Text.Whitespace */ +.codehilite .mb { color: #F99B15 } /* Literal.Number.Bin */ +.codehilite .mf { color: #F99B15 } /* Literal.Number.Float */ +.codehilite .mh { color: #F99B15 } /* Literal.Number.Hex */ +.codehilite .mi { color: #F99B15 } /* Literal.Number.Integer */ +.codehilite .mo { color: #F99B15 } /* Literal.Number.Oct */ +.codehilite .sa { color: #48B685 } /* Literal.String.Affix */ +.codehilite .sb { color: #48B685 } /* Literal.String.Backtick */ +.codehilite .sc { color: #E7E9DB } /* Literal.String.Char */ +.codehilite .dl { color: #48B685 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #776E71 } /* Literal.String.Doc */ +.codehilite .s2 { color: #48B685 } /* Literal.String.Double */ +.codehilite .se { color: #F99B15 } /* Literal.String.Escape */ +.codehilite .sh { color: #48B685 } /* Literal.String.Heredoc */ +.codehilite .si { color: #F99B15 } /* Literal.String.Interpol */ +.codehilite .sx { color: #48B685 } /* Literal.String.Other */ +.codehilite .sr { color: #48B685 } /* Literal.String.Regex */ +.codehilite .s1 { color: #48B685 } /* Literal.String.Single */ +.codehilite .ss { color: #48B685 } /* Literal.String.Symbol */ +.codehilite .bp { color: #E7E9DB } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #06B6EF } /* Name.Function.Magic */ +.codehilite .vc { color: #EF6155 } /* Name.Variable.Class */ +.codehilite .vg { color: #EF6155 } /* Name.Variable.Global */ +.codehilite .vi { color: #EF6155 } /* Name.Variable.Instance */ +.codehilite .vm { color: #EF6155 } /* Name.Variable.Magic */ +.codehilite .il { color: #F99B15 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/paraiso-light.css b/site/css/pygments/paraiso-light.css new file mode 100644 index 0000000..aeee4af --- /dev/null +++ b/site/css/pygments/paraiso-light.css @@ -0,0 +1,79 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #a39e9b } +.codehilite { background: #e7e9db; color: #2F1E2E } +.codehilite .c { color: #8D8687 } /* Comment */ +.codehilite .err { color: #EF6155 } /* Error */ +.codehilite .k { color: #815BA4 } /* Keyword */ +.codehilite .l { color: #F99B15 } /* Literal */ +.codehilite .n { color: #2F1E2E } /* Name */ +.codehilite .o { color: #5BC4BF } /* Operator */ +.codehilite .p { color: #2F1E2E } /* Punctuation */ +.codehilite .ch { color: #8D8687 } /* Comment.Hashbang */ +.codehilite .cm { color: #8D8687 } /* Comment.Multiline */ +.codehilite .cp { color: #8D8687 } /* Comment.Preproc */ +.codehilite .cpf { color: #8D8687 } /* Comment.PreprocFile */ +.codehilite .c1 { color: #8D8687 } /* Comment.Single */ +.codehilite .cs { color: #8D8687 } /* Comment.Special */ +.codehilite .gd { color: #EF6155 } /* Generic.Deleted */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite .gh { color: #2F1E2E; font-weight: bold } /* Generic.Heading */ +.codehilite .gi { color: #48B685 } /* Generic.Inserted */ +.codehilite .gp { color: #8D8687; font-weight: bold } /* Generic.Prompt */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #5BC4BF; font-weight: bold } /* Generic.Subheading */ +.codehilite .kc { color: #815BA4 } /* Keyword.Constant */ +.codehilite .kd { color: #815BA4 } /* Keyword.Declaration */ +.codehilite .kn { color: #5BC4BF } /* Keyword.Namespace */ +.codehilite .kp { color: #815BA4 } /* Keyword.Pseudo */ +.codehilite .kr { color: #815BA4 } /* Keyword.Reserved */ +.codehilite .kt { color: #FEC418 } /* Keyword.Type */ +.codehilite .ld { color: #48B685 } /* Literal.Date */ +.codehilite .m { color: #F99B15 } /* Literal.Number */ +.codehilite .s { color: #48B685 } /* Literal.String */ +.codehilite .na { color: #06B6EF } /* Name.Attribute */ +.codehilite .nb { color: #2F1E2E } /* Name.Builtin */ +.codehilite .nc { color: #FEC418 } /* Name.Class */ +.codehilite .no { color: #EF6155 } /* Name.Constant */ +.codehilite .nd { color: #5BC4BF } /* Name.Decorator */ +.codehilite .ni { color: #2F1E2E } /* Name.Entity */ +.codehilite .ne { color: #EF6155 } /* Name.Exception */ +.codehilite .nf { color: #06B6EF } /* Name.Function */ +.codehilite .nl { color: #2F1E2E } /* Name.Label */ +.codehilite .nn { color: #FEC418 } /* Name.Namespace */ +.codehilite .nx { color: #06B6EF } /* Name.Other */ +.codehilite .py { color: #2F1E2E } /* Name.Property */ +.codehilite .nt { color: #5BC4BF } /* Name.Tag */ +.codehilite .nv { color: #EF6155 } /* Name.Variable */ +.codehilite .ow { color: #5BC4BF } /* Operator.Word */ +.codehilite .pm { color: #2F1E2E } /* Punctuation.Marker */ +.codehilite .w { color: #2F1E2E } /* Text.Whitespace */ +.codehilite .mb { color: #F99B15 } /* Literal.Number.Bin */ +.codehilite .mf { color: #F99B15 } /* Literal.Number.Float */ +.codehilite .mh { color: #F99B15 } /* Literal.Number.Hex */ +.codehilite .mi { color: #F99B15 } /* Literal.Number.Integer */ +.codehilite .mo { color: #F99B15 } /* Literal.Number.Oct */ +.codehilite .sa { color: #48B685 } /* Literal.String.Affix */ +.codehilite .sb { color: #48B685 } /* Literal.String.Backtick */ +.codehilite .sc { color: #2F1E2E } /* Literal.String.Char */ +.codehilite .dl { color: #48B685 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #8D8687 } /* Literal.String.Doc */ +.codehilite .s2 { color: #48B685 } /* Literal.String.Double */ +.codehilite .se { color: #F99B15 } /* Literal.String.Escape */ +.codehilite .sh { color: #48B685 } /* Literal.String.Heredoc */ +.codehilite .si { color: #F99B15 } /* Literal.String.Interpol */ +.codehilite .sx { color: #48B685 } /* Literal.String.Other */ +.codehilite .sr { color: #48B685 } /* Literal.String.Regex */ +.codehilite .s1 { color: #48B685 } /* Literal.String.Single */ +.codehilite .ss { color: #48B685 } /* Literal.String.Symbol */ +.codehilite .bp { color: #2F1E2E } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #06B6EF } /* Name.Function.Magic */ +.codehilite .vc { color: #EF6155 } /* Name.Variable.Class */ +.codehilite .vg { color: #EF6155 } /* Name.Variable.Global */ +.codehilite .vi { color: #EF6155 } /* Name.Variable.Instance */ +.codehilite .vm { color: #EF6155 } /* Name.Variable.Magic */ +.codehilite .il { color: #F99B15 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/pastie.css b/site/css/pygments/pastie.css new file mode 100644 index 0000000..c944f9a --- /dev/null +++ b/site/css/pygments/pastie.css @@ -0,0 +1,74 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #ffffcc } +.codehilite { background: #ffffff; } +.codehilite .c { color: #888 } /* Comment */ +.codehilite .err { color: #A61717; background-color: #E3D2D2 } /* Error */ +.codehilite .k { color: #080; font-weight: bold } /* Keyword */ +.codehilite .ch { color: #888 } /* Comment.Hashbang */ +.codehilite .cm { color: #888 } /* Comment.Multiline */ +.codehilite .cp { color: #C00; font-weight: bold } /* Comment.Preproc */ +.codehilite .cpf { color: #888 } /* Comment.PreprocFile */ +.codehilite .c1 { color: #888 } /* Comment.Single */ +.codehilite .cs { color: #C00; font-weight: bold; background-color: #FFF0F0 } /* Comment.Special */ +.codehilite .gd { color: #000; background-color: #FDD } /* Generic.Deleted */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite .gr { color: #A00 } /* Generic.Error */ +.codehilite .gh { color: #333 } /* Generic.Heading */ +.codehilite .gi { color: #000; background-color: #DFD } /* Generic.Inserted */ +.codehilite .go { color: #888 } /* Generic.Output */ +.codehilite .gp { color: #555 } /* Generic.Prompt */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #666 } /* Generic.Subheading */ +.codehilite .gt { color: #A00 } /* Generic.Traceback */ +.codehilite .kc { color: #080; font-weight: bold } /* Keyword.Constant */ +.codehilite .kd { color: #080; font-weight: bold } /* Keyword.Declaration */ +.codehilite .kn { color: #080; font-weight: bold } /* Keyword.Namespace */ +.codehilite .kp { color: #080 } /* Keyword.Pseudo */ +.codehilite .kr { color: #080; font-weight: bold } /* Keyword.Reserved */ +.codehilite .kt { color: #888; font-weight: bold } /* Keyword.Type */ +.codehilite .m { color: #00D; font-weight: bold } /* Literal.Number */ +.codehilite .s { color: #D20; background-color: #FFF0F0 } /* Literal.String */ +.codehilite .na { color: #369 } /* Name.Attribute */ +.codehilite .nb { color: #038 } /* Name.Builtin */ +.codehilite .nc { color: #B06; font-weight: bold } /* Name.Class */ +.codehilite .no { color: #036; font-weight: bold } /* Name.Constant */ +.codehilite .nd { color: #555 } /* Name.Decorator */ +.codehilite .ne { color: #B06; font-weight: bold } /* Name.Exception */ +.codehilite .nf { color: #06B; font-weight: bold } /* Name.Function */ +.codehilite .nl { color: #369; font-style: italic } /* Name.Label */ +.codehilite .nn { color: #B06; font-weight: bold } /* Name.Namespace */ +.codehilite .py { color: #369; font-weight: bold } /* Name.Property */ +.codehilite .nt { color: #B06; font-weight: bold } /* Name.Tag */ +.codehilite .nv { color: #369 } /* Name.Variable */ +.codehilite .ow { color: #080 } /* Operator.Word */ +.codehilite .w { color: #BBB } /* Text.Whitespace */ +.codehilite .mb { color: #00D; font-weight: bold } /* Literal.Number.Bin */ +.codehilite .mf { color: #00D; font-weight: bold } /* Literal.Number.Float */ +.codehilite .mh { color: #00D; font-weight: bold } /* Literal.Number.Hex */ +.codehilite .mi { color: #00D; font-weight: bold } /* Literal.Number.Integer */ +.codehilite .mo { color: #00D; font-weight: bold } /* Literal.Number.Oct */ +.codehilite .sa { color: #D20; background-color: #FFF0F0 } /* Literal.String.Affix */ +.codehilite .sb { color: #D20; background-color: #FFF0F0 } /* Literal.String.Backtick */ +.codehilite .sc { color: #D20; background-color: #FFF0F0 } /* Literal.String.Char */ +.codehilite .dl { color: #D20; background-color: #FFF0F0 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #D20; background-color: #FFF0F0 } /* Literal.String.Doc */ +.codehilite .s2 { color: #D20; background-color: #FFF0F0 } /* Literal.String.Double */ +.codehilite .se { color: #04D; background-color: #FFF0F0 } /* Literal.String.Escape */ +.codehilite .sh { color: #D20; background-color: #FFF0F0 } /* Literal.String.Heredoc */ +.codehilite .si { color: #33B; background-color: #FFF0F0 } /* Literal.String.Interpol */ +.codehilite .sx { color: #2B2; background-color: #F0FFF0 } /* Literal.String.Other */ +.codehilite .sr { color: #080; background-color: #FFF0FF } /* Literal.String.Regex */ +.codehilite .s1 { color: #D20; background-color: #FFF0F0 } /* Literal.String.Single */ +.codehilite .ss { color: #A60; background-color: #FFF0F0 } /* Literal.String.Symbol */ +.codehilite .bp { color: #038 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #06B; font-weight: bold } /* Name.Function.Magic */ +.codehilite .vc { color: #369 } /* Name.Variable.Class */ +.codehilite .vg { color: #D70 } /* Name.Variable.Global */ +.codehilite .vi { color: #33B } /* Name.Variable.Instance */ +.codehilite .vm { color: #369 } /* Name.Variable.Magic */ +.codehilite .il { color: #00D; font-weight: bold } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/perldoc.css b/site/css/pygments/perldoc.css new file mode 100644 index 0000000..49cdeea --- /dev/null +++ b/site/css/pygments/perldoc.css @@ -0,0 +1,72 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #ffffcc } +.codehilite { background: #eeeedd; } +.codehilite .c { color: #228B22 } /* Comment */ +.codehilite .err { color: #A61717; background-color: #E3D2D2 } /* Error */ +.codehilite .k { color: #8B008B; font-weight: bold } /* Keyword */ +.codehilite .ch { color: #228B22 } /* Comment.Hashbang */ +.codehilite .cm { color: #228B22 } /* Comment.Multiline */ +.codehilite .cp { color: #1E889B } /* Comment.Preproc */ +.codehilite .cpf { color: #228B22 } /* Comment.PreprocFile */ +.codehilite .c1 { color: #228B22 } /* Comment.Single */ +.codehilite .cs { color: #8B008B; font-weight: bold } /* Comment.Special */ +.codehilite .gd { color: #A00 } /* Generic.Deleted */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite .gr { color: #A00 } /* Generic.Error */ +.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.codehilite .gi { color: #0A0 } /* Generic.Inserted */ +.codehilite .go { color: #888 } /* Generic.Output */ +.codehilite .gp { color: #555 } /* Generic.Prompt */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.codehilite .gt { color: #A00 } /* Generic.Traceback */ +.codehilite .kc { color: #8B008B; font-weight: bold } /* Keyword.Constant */ +.codehilite .kd { color: #8B008B; font-weight: bold } /* Keyword.Declaration */ +.codehilite .kn { color: #8B008B; font-weight: bold } /* Keyword.Namespace */ +.codehilite .kp { color: #8B008B; font-weight: bold } /* Keyword.Pseudo */ +.codehilite .kr { color: #8B008B; font-weight: bold } /* Keyword.Reserved */ +.codehilite .kt { color: #00688B; font-weight: bold } /* Keyword.Type */ +.codehilite .m { color: #B452CD } /* Literal.Number */ +.codehilite .s { color: #CD5555 } /* Literal.String */ +.codehilite .na { color: #658B00 } /* Name.Attribute */ +.codehilite .nb { color: #658B00 } /* Name.Builtin */ +.codehilite .nc { color: #008B45; font-weight: bold } /* Name.Class */ +.codehilite .no { color: #00688B } /* Name.Constant */ +.codehilite .nd { color: #707A7C } /* Name.Decorator */ +.codehilite .ne { color: #008B45; font-weight: bold } /* Name.Exception */ +.codehilite .nf { color: #008B45 } /* Name.Function */ +.codehilite .nn { color: #008B45; text-decoration: underline } /* Name.Namespace */ +.codehilite .nt { color: #8B008B; font-weight: bold } /* Name.Tag */ +.codehilite .nv { color: #00688B } /* Name.Variable */ +.codehilite .ow { color: #8B008B } /* Operator.Word */ +.codehilite .w { color: #BBB } /* Text.Whitespace */ +.codehilite .mb { color: #B452CD } /* Literal.Number.Bin */ +.codehilite .mf { color: #B452CD } /* Literal.Number.Float */ +.codehilite .mh { color: #B452CD } /* Literal.Number.Hex */ +.codehilite .mi { color: #B452CD } /* Literal.Number.Integer */ +.codehilite .mo { color: #B452CD } /* Literal.Number.Oct */ +.codehilite .sa { color: #CD5555 } /* Literal.String.Affix */ +.codehilite .sb { color: #CD5555 } /* Literal.String.Backtick */ +.codehilite .sc { color: #CD5555 } /* Literal.String.Char */ +.codehilite .dl { color: #CD5555 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #CD5555 } /* Literal.String.Doc */ +.codehilite .s2 { color: #CD5555 } /* Literal.String.Double */ +.codehilite .se { color: #CD5555 } /* Literal.String.Escape */ +.codehilite .sh { color: #1C7E71; font-style: italic } /* Literal.String.Heredoc */ +.codehilite .si { color: #CD5555 } /* Literal.String.Interpol */ +.codehilite .sx { color: #CB6C20 } /* Literal.String.Other */ +.codehilite .sr { color: #1C7E71 } /* Literal.String.Regex */ +.codehilite .s1 { color: #CD5555 } /* Literal.String.Single */ +.codehilite .ss { color: #CD5555 } /* Literal.String.Symbol */ +.codehilite .bp { color: #658B00 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #008B45 } /* Name.Function.Magic */ +.codehilite .vc { color: #00688B } /* Name.Variable.Class */ +.codehilite .vg { color: #00688B } /* Name.Variable.Global */ +.codehilite .vi { color: #00688B } /* Name.Variable.Instance */ +.codehilite .vm { color: #00688B } /* Name.Variable.Magic */ +.codehilite .il { color: #B452CD } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/pitaya-smoothie.css b/site/css/pygments/pitaya-smoothie.css new file mode 100644 index 0000000..fbe9454 --- /dev/null +++ b/site/css/pygments/pitaya-smoothie.css @@ -0,0 +1,76 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #2A1968 } +.codehilite { background: #181036; color: #FEFEFF } +.codehilite .c { color: #8786AC } /* Comment */ +.codehilite .err { color: #F26196 } /* Error */ +.codehilite .k { color: #FAD000 } /* Keyword */ +.codehilite .l { color: #F5A394 } /* Literal */ +.codehilite .n { color: #FEFEFF } /* Name */ +.codehilite .o { color: #18C1C4 } /* Operator */ +.codehilite .p { color: #FEFEFF } /* Punctuation */ +.codehilite .ch { color: #8786AC } /* Comment.Hashbang */ +.codehilite .cm { color: #8786AC } /* Comment.Multiline */ +.codehilite .cp { color: #8786AC } /* Comment.Preproc */ +.codehilite .cpf { color: #8786AC } /* Comment.PreprocFile */ +.codehilite .c1 { color: #8786AC } /* Comment.Single */ +.codehilite .cs { color: #8786AC } /* Comment.Special */ +.codehilite .gd { color: #7998F2 } /* Generic.Deleted */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .gh { color: #7998F2 } /* Generic.Heading */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #7998F2 } /* Generic.Subheading */ +.codehilite .kc { color: #C4A2F5 } /* Keyword.Constant */ +.codehilite .kd { color: #FAD000 } /* Keyword.Declaration */ +.codehilite .kn { color: #FAD000 } /* Keyword.Namespace */ +.codehilite .kp { color: #FAD000 } /* Keyword.Pseudo */ +.codehilite .kr { color: #FAD000 } /* Keyword.Reserved */ +.codehilite .kt { color: #F5A394 } /* Keyword.Type */ +.codehilite .ld { color: #F5A394 } /* Literal.Date */ +.codehilite .m { color: #F5A394 } /* Literal.Number */ +.codehilite .s { color: #7998F2 } /* Literal.String */ +.codehilite .na { color: #FAD000 } /* Name.Attribute */ +.codehilite .nb { color: #C4A2F5 } /* Name.Builtin */ +.codehilite .nc { color: #7998F2 } /* Name.Class */ +.codehilite .no { color: #C4A2F5 } /* Name.Constant */ +.codehilite .nd { color: #F5A394 } /* Name.Decorator */ +.codehilite .ni { color: #7998F2 } /* Name.Entity */ +.codehilite .ne { color: #C4A2F5 } /* Name.Exception */ +.codehilite .nf { color: #7998F2 } /* Name.Function */ +.codehilite .nl { color: #F5A394 } /* Name.Label */ +.codehilite .nn { color: #FEFEFF } /* Name.Namespace */ +.codehilite .nx { color: #FEFEFF } /* Name.Other */ +.codehilite .py { color: #7998F2 } /* Name.Property */ +.codehilite .nt { color: #7998F2 } /* Name.Tag */ +.codehilite .nv { color: #F5A394 } /* Name.Variable */ +.codehilite .ow { color: #C4A2F5 } /* Operator.Word */ +.codehilite .pm { color: #FEFEFF } /* Punctuation.Marker */ +.codehilite .w { color: #FEFEFF } /* Text.Whitespace */ +.codehilite .mb { color: #F5A394 } /* Literal.Number.Bin */ +.codehilite .mf { color: #F5A394 } /* Literal.Number.Float */ +.codehilite .mh { color: #F5A394 } /* Literal.Number.Hex */ +.codehilite .mi { color: #F5A394 } /* Literal.Number.Integer */ +.codehilite .mo { color: #F5A394 } /* Literal.Number.Oct */ +.codehilite .sa { color: #7998F2 } /* Literal.String.Affix */ +.codehilite .sb { color: #66E9EC } /* Literal.String.Backtick */ +.codehilite .sc { color: #7998F2 } /* Literal.String.Char */ +.codehilite .dl { color: #7998F2 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #C4A2F5 } /* Literal.String.Doc */ +.codehilite .s2 { color: #7998F2 } /* Literal.String.Double */ +.codehilite .se { color: #F5A394 } /* Literal.String.Escape */ +.codehilite .sh { color: #7998F2 } /* Literal.String.Heredoc */ +.codehilite .si { color: #7998F2 } /* Literal.String.Interpol */ +.codehilite .sx { color: #7998F2 } /* Literal.String.Other */ +.codehilite .sr { color: #7998F2 } /* Literal.String.Regex */ +.codehilite .s1 { color: #7998F2 } /* Literal.String.Single */ +.codehilite .ss { color: #7998F2 } /* Literal.String.Symbol */ +.codehilite .bp { color: #F5A394 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #7998F2 } /* Name.Function.Magic */ +.codehilite .vc { color: #F5A394 } /* Name.Variable.Class */ +.codehilite .vg { color: #F5A394 } /* Name.Variable.Global */ +.codehilite .vi { color: #F5A394 } /* Name.Variable.Instance */ +.codehilite .vm { color: #F5A394 } /* Name.Variable.Magic */ +.codehilite .il { color: #F5A394 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/rainbow_dash.css b/site/css/pygments/rainbow_dash.css new file mode 100644 index 0000000..5abfe53 --- /dev/null +++ b/site/css/pygments/rainbow_dash.css @@ -0,0 +1,68 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #ffffcc } +.codehilite { background: #ffffff; color: #4D4D4D } +.codehilite .c { color: #0080FF; font-style: italic } /* Comment */ +.codehilite .err { color: #FFF; background-color: #C00 } /* Error */ +.codehilite .k { color: #2C5DCD; font-weight: bold } /* Keyword */ +.codehilite .o { color: #2C5DCD } /* Operator */ +.codehilite .ch { color: #0080FF; font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { color: #0080FF; font-style: italic } /* Comment.Multiline */ +.codehilite .cp { color: #0080FF } /* Comment.Preproc */ +.codehilite .cpf { color: #0080FF; font-style: italic } /* Comment.PreprocFile */ +.codehilite .c1 { color: #0080FF; font-style: italic } /* Comment.Single */ +.codehilite .cs { color: #0080FF; font-weight: bold; font-style: italic } /* Comment.Special */ +.codehilite .gd { background-color: #FCC; border: 1px solid #C5060B } /* Generic.Deleted */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite .gr { color: #F00 } /* Generic.Error */ +.codehilite .gh { color: #2C5DCD; font-weight: bold } /* Generic.Heading */ +.codehilite .gi { background-color: #CFC; border: 1px solid #0C0 } /* Generic.Inserted */ +.codehilite .go { color: #AAA } /* Generic.Output */ +.codehilite .gp { color: #2C5DCD; font-weight: bold } /* Generic.Prompt */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #2C5DCD; font-weight: bold } /* Generic.Subheading */ +.codehilite .gt { color: #C5060B } /* Generic.Traceback */ +.codehilite .kc { color: #2C5DCD; font-weight: bold } /* Keyword.Constant */ +.codehilite .kd { color: #2C5DCD; font-weight: bold } /* Keyword.Declaration */ +.codehilite .kn { color: #2C5DCD; font-weight: bold } /* Keyword.Namespace */ +.codehilite .kp { color: #2C5DCD } /* Keyword.Pseudo */ +.codehilite .kr { color: #2C5DCD; font-weight: bold } /* Keyword.Reserved */ +.codehilite .kt { color: #5918BB; font-weight: bold } /* Keyword.Type */ +.codehilite .m { color: #5918BB; font-weight: bold } /* Literal.Number */ +.codehilite .s { color: #0C6 } /* Literal.String */ +.codehilite .na { color: #2C5DCD; font-style: italic } /* Name.Attribute */ +.codehilite .nb { color: #5918BB; font-weight: bold } /* Name.Builtin */ +.codehilite .nc { text-decoration: underline } /* Name.Class */ +.codehilite .no { color: #318495 } /* Name.Constant */ +.codehilite .nd { color: #FF8000; font-weight: bold } /* Name.Decorator */ +.codehilite .ni { color: #5918BB; font-weight: bold } /* Name.Entity */ +.codehilite .ne { color: #5918BB; font-weight: bold } /* Name.Exception */ +.codehilite .nf { color: #FF8000; font-weight: bold } /* Name.Function */ +.codehilite .nt { color: #2C5DCD; font-weight: bold } /* Name.Tag */ +.codehilite .ow { color: #2C5DCD; font-weight: bold } /* Operator.Word */ +.codehilite .w { color: #CBCBCB } /* Text.Whitespace */ +.codehilite .mb { color: #5918BB; font-weight: bold } /* Literal.Number.Bin */ +.codehilite .mf { color: #5918BB; font-weight: bold } /* Literal.Number.Float */ +.codehilite .mh { color: #5918BB; font-weight: bold } /* Literal.Number.Hex */ +.codehilite .mi { color: #5918BB; font-weight: bold } /* Literal.Number.Integer */ +.codehilite .mo { color: #5918BB; font-weight: bold } /* Literal.Number.Oct */ +.codehilite .sa { color: #0C6 } /* Literal.String.Affix */ +.codehilite .sb { color: #0C6 } /* Literal.String.Backtick */ +.codehilite .sc { color: #0C6 } /* Literal.String.Char */ +.codehilite .dl { color: #0C6 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #0C6; font-style: italic } /* Literal.String.Doc */ +.codehilite .s2 { color: #0C6 } /* Literal.String.Double */ +.codehilite .se { color: #C5060B; font-weight: bold } /* Literal.String.Escape */ +.codehilite .sh { color: #0C6 } /* Literal.String.Heredoc */ +.codehilite .si { color: #0C6 } /* Literal.String.Interpol */ +.codehilite .sx { color: #318495 } /* Literal.String.Other */ +.codehilite .sr { color: #0C6 } /* Literal.String.Regex */ +.codehilite .s1 { color: #0C6 } /* Literal.String.Single */ +.codehilite .ss { color: #C5060B; font-weight: bold } /* Literal.String.Symbol */ +.codehilite .bp { color: #5918BB; font-weight: bold } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #FF8000; font-weight: bold } /* Name.Function.Magic */ +.codehilite .il { color: #5918BB; font-weight: bold } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/rrt.css b/site/css/pygments/rrt.css new file mode 100644 index 0000000..0a89441 --- /dev/null +++ b/site/css/pygments/rrt.css @@ -0,0 +1,85 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #0000ff } +.codehilite { background: #000000; color: #DDD } +.codehilite .c { color: #0F0 } /* Comment */ +.codehilite .err { color: #DDD } /* Error */ +.codehilite .esc { color: #DDD } /* Escape */ +.codehilite .g { color: #DDD } /* Generic */ +.codehilite .k { color: #F00 } /* Keyword */ +.codehilite .l { color: #DDD } /* Literal */ +.codehilite .n { color: #DDD } /* Name */ +.codehilite .o { color: #DDD } /* Operator */ +.codehilite .x { color: #DDD } /* Other */ +.codehilite .p { color: #DDD } /* Punctuation */ +.codehilite .ch { color: #0F0 } /* Comment.Hashbang */ +.codehilite .cm { color: #0F0 } /* Comment.Multiline */ +.codehilite .cp { color: #E5E5E5 } /* Comment.Preproc */ +.codehilite .cpf { color: #0F0 } /* Comment.PreprocFile */ +.codehilite .c1 { color: #0F0 } /* Comment.Single */ +.codehilite .cs { color: #0F0 } /* Comment.Special */ +.codehilite .gd { color: #DDD } /* Generic.Deleted */ +.codehilite .ge { color: #DDD } /* Generic.Emph */ +.codehilite .ges { color: #DDD } /* Generic.EmphStrong */ +.codehilite .gr { color: #DDD } /* Generic.Error */ +.codehilite .gh { color: #DDD } /* Generic.Heading */ +.codehilite .gi { color: #DDD } /* Generic.Inserted */ +.codehilite .go { color: #DDD } /* Generic.Output */ +.codehilite .gp { color: #DDD } /* Generic.Prompt */ +.codehilite .gs { color: #DDD } /* Generic.Strong */ +.codehilite .gu { color: #DDD } /* Generic.Subheading */ +.codehilite .gt { color: #DDD } /* Generic.Traceback */ +.codehilite .kc { color: #F00 } /* Keyword.Constant */ +.codehilite .kd { color: #F00 } /* Keyword.Declaration */ +.codehilite .kn { color: #F00 } /* Keyword.Namespace */ +.codehilite .kp { color: #F00 } /* Keyword.Pseudo */ +.codehilite .kr { color: #F00 } /* Keyword.Reserved */ +.codehilite .kt { color: #EE82EE } /* Keyword.Type */ +.codehilite .ld { color: #DDD } /* Literal.Date */ +.codehilite .m { color: #F0F } /* Literal.Number */ +.codehilite .s { color: #87CEEB } /* Literal.String */ +.codehilite .na { color: #DDD } /* Name.Attribute */ +.codehilite .nb { color: #DDD } /* Name.Builtin */ +.codehilite .nc { color: #DDD } /* Name.Class */ +.codehilite .no { color: #7FFFD4 } /* Name.Constant */ +.codehilite .nd { color: #DDD } /* Name.Decorator */ +.codehilite .ni { color: #DDD } /* Name.Entity */ +.codehilite .ne { color: #DDD } /* Name.Exception */ +.codehilite .nf { color: #FF0 } /* Name.Function */ +.codehilite .nl { color: #DDD } /* Name.Label */ +.codehilite .nn { color: #DDD } /* Name.Namespace */ +.codehilite .nx { color: #DDD } /* Name.Other */ +.codehilite .py { color: #DDD } /* Name.Property */ +.codehilite .nt { color: #DDD } /* Name.Tag */ +.codehilite .nv { color: #EEDD82 } /* Name.Variable */ +.codehilite .ow { color: #F00 } /* Operator.Word */ +.codehilite .pm { color: #DDD } /* Punctuation.Marker */ +.codehilite .w { color: #DDD } /* Text.Whitespace */ +.codehilite .mb { color: #F0F } /* Literal.Number.Bin */ +.codehilite .mf { color: #F0F } /* Literal.Number.Float */ +.codehilite .mh { color: #F0F } /* Literal.Number.Hex */ +.codehilite .mi { color: #F0F } /* Literal.Number.Integer */ +.codehilite .mo { color: #F0F } /* Literal.Number.Oct */ +.codehilite .sa { color: #87CEEB } /* Literal.String.Affix */ +.codehilite .sb { color: #87CEEB } /* Literal.String.Backtick */ +.codehilite .sc { color: #87CEEB } /* Literal.String.Char */ +.codehilite .dl { color: #87CEEB } /* Literal.String.Delimiter */ +.codehilite .sd { color: #87CEEB } /* Literal.String.Doc */ +.codehilite .s2 { color: #87CEEB } /* Literal.String.Double */ +.codehilite .se { color: #87CEEB } /* Literal.String.Escape */ +.codehilite .sh { color: #87CEEB } /* Literal.String.Heredoc */ +.codehilite .si { color: #87CEEB } /* Literal.String.Interpol */ +.codehilite .sx { color: #87CEEB } /* Literal.String.Other */ +.codehilite .sr { color: #87CEEB } /* Literal.String.Regex */ +.codehilite .s1 { color: #87CEEB } /* Literal.String.Single */ +.codehilite .ss { color: #87CEEB } /* Literal.String.Symbol */ +.codehilite .bp { color: #DDD } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #FF0 } /* Name.Function.Magic */ +.codehilite .vc { color: #EEDD82 } /* Name.Variable.Class */ +.codehilite .vg { color: #EEDD82 } /* Name.Variable.Global */ +.codehilite .vi { color: #EEDD82 } /* Name.Variable.Instance */ +.codehilite .vm { color: #EEDD82 } /* Name.Variable.Magic */ +.codehilite .il { color: #F0F } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/sas.css b/site/css/pygments/sas.css new file mode 100644 index 0000000..6729993 --- /dev/null +++ b/site/css/pygments/sas.css @@ -0,0 +1,66 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #ffffcc } +.codehilite { background: #ffffff; } +.codehilite .c { color: #080; font-style: italic } /* Comment */ +.codehilite .err { color: #A61717; background-color: #E3D2D2 } /* Error */ +.codehilite .g { color: #2C2CFF } /* Generic */ +.codehilite .k { color: #2C2CFF } /* Keyword */ +.codehilite .x { background-color: #FFFFE0 } /* Other */ +.codehilite .ch { color: #080; font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { color: #080; font-style: italic } /* Comment.Multiline */ +.codehilite .cp { color: #080; font-style: italic } /* Comment.Preproc */ +.codehilite .cpf { color: #080; font-style: italic } /* Comment.PreprocFile */ +.codehilite .c1 { color: #080; font-style: italic } /* Comment.Single */ +.codehilite .cs { color: #080; font-style: italic } /* Comment.Special */ +.codehilite .gd { color: #2C2CFF } /* Generic.Deleted */ +.codehilite .ge { color: #080 } /* Generic.Emph */ +.codehilite .ges { color: #2C2CFF } /* Generic.EmphStrong */ +.codehilite .gr { color: #D30202 } /* Generic.Error */ +.codehilite .gh { color: #2C2CFF } /* Generic.Heading */ +.codehilite .gi { color: #2C2CFF } /* Generic.Inserted */ +.codehilite .go { color: #2C2CFF } /* Generic.Output */ +.codehilite .gp { color: #2C2CFF } /* Generic.Prompt */ +.codehilite .gs { color: #2C2CFF } /* Generic.Strong */ +.codehilite .gu { color: #2C2CFF } /* Generic.Subheading */ +.codehilite .gt { color: #2C2CFF } /* Generic.Traceback */ +.codehilite .kc { color: #2C2CFF; font-weight: bold } /* Keyword.Constant */ +.codehilite .kd { color: #2C2CFF } /* Keyword.Declaration */ +.codehilite .kn { color: #2C2CFF } /* Keyword.Namespace */ +.codehilite .kp { color: #2C2CFF } /* Keyword.Pseudo */ +.codehilite .kr { color: #353580; font-weight: bold } /* Keyword.Reserved */ +.codehilite .kt { color: #2C2CFF } /* Keyword.Type */ +.codehilite .m { color: #2C8553; font-weight: bold } /* Literal.Number */ +.codehilite .s { color: #800080 } /* Literal.String */ +.codehilite .nb { color: #2C2CFF } /* Name.Builtin */ +.codehilite .nf { font-weight: bold; font-style: italic } /* Name.Function */ +.codehilite .nv { color: #2C2CFF; font-weight: bold } /* Name.Variable */ +.codehilite .w { color: #BBB } /* Text.Whitespace */ +.codehilite .mb { color: #2C8553; font-weight: bold } /* Literal.Number.Bin */ +.codehilite .mf { color: #2C8553; font-weight: bold } /* Literal.Number.Float */ +.codehilite .mh { color: #2C8553; font-weight: bold } /* Literal.Number.Hex */ +.codehilite .mi { color: #2C8553; font-weight: bold } /* Literal.Number.Integer */ +.codehilite .mo { color: #2C8553; font-weight: bold } /* Literal.Number.Oct */ +.codehilite .sa { color: #800080 } /* Literal.String.Affix */ +.codehilite .sb { color: #800080 } /* Literal.String.Backtick */ +.codehilite .sc { color: #800080 } /* Literal.String.Char */ +.codehilite .dl { color: #800080 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #800080 } /* Literal.String.Doc */ +.codehilite .s2 { color: #800080 } /* Literal.String.Double */ +.codehilite .se { color: #800080 } /* Literal.String.Escape */ +.codehilite .sh { color: #800080 } /* Literal.String.Heredoc */ +.codehilite .si { color: #800080 } /* Literal.String.Interpol */ +.codehilite .sx { color: #800080 } /* Literal.String.Other */ +.codehilite .sr { color: #800080 } /* Literal.String.Regex */ +.codehilite .s1 { color: #800080 } /* Literal.String.Single */ +.codehilite .ss { color: #800080 } /* Literal.String.Symbol */ +.codehilite .bp { color: #2C2CFF } /* Name.Builtin.Pseudo */ +.codehilite .fm { font-weight: bold; font-style: italic } /* Name.Function.Magic */ +.codehilite .vc { color: #2C2CFF; font-weight: bold } /* Name.Variable.Class */ +.codehilite .vg { color: #2C2CFF; font-weight: bold } /* Name.Variable.Global */ +.codehilite .vi { color: #2C2CFF; font-weight: bold } /* Name.Variable.Instance */ +.codehilite .vm { color: #2C2CFF; font-weight: bold } /* Name.Variable.Magic */ +.codehilite .il { color: #2C8553; font-weight: bold } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/shadcn-light.css b/site/css/pygments/shadcn-light.css new file mode 100644 index 0000000..7b8e70b --- /dev/null +++ b/site/css/pygments/shadcn-light.css @@ -0,0 +1,244 @@ +pre { + line-height: 125%; +} +td.linenos .normal { + color: inherit; + background-color: transparent; + padding-left: 5px; + padding-right: 5px; +} +span.linenos { + color: inherit; + background-color: transparent; + padding-left: 5px; + padding-right: 5px; +} +td.linenos .special { + color: #000000; + background-color: #ffffc0; + padding-left: 5px; + padding-right: 5px; +} +span.linenos.special { + color: #000000; + background-color: #ffffc0; + padding-left: 5px; + padding-right: 5px; +} +.codehilite .hll { + background-color: var(--color-code-highlight); +} +.codehilite { + background: var(--color-code); + color: var(--color-code-foreground); +} +.codehilite .c { + color: #6e7781; +} /* Comment */ +.codehilite .err { + color: #cf222e; +} /* Error */ +.codehilite .k { + color: #cf222e; +} /* Keyword */ +.codehilite .l { + color: #953800; +} /* Literal */ +.codehilite .n { + color: #8250df; +} /* Name */ +.codehilite .o { + color: #116329; +} /* Operator */ +.codehilite .p { + color: #24292f; +} /* Punctuation */ +.codehilite .ch { + color: #6e7781; +} /* Comment.Hashbang */ +.codehilite .cm { + color: #6e7781; +} /* Comment.Multiline */ +.codehilite .cp { + color: #6e7781; +} /* Comment.Preproc */ +.codehilite .cpf { + color: #6e7781; +} /* Comment.PreprocFile */ +.codehilite .c1 { + color: #6e7781; +} /* Comment.Single */ +.codehilite .cs { + color: #6e7781; +} /* Comment.Special */ +.codehilite .gd { + color: #0550ae; +} /* Generic.Deleted */ +.codehilite .ge { + font-style: italic; +} /* Generic.Emph */ +.codehilite .gr { + color: #cf222e; +} /* Generic.Error */ +.codehilite .gh { + color: #0550ae; +} /* Generic.Heading */ +.codehilite .gs { + font-weight: bold; +} /* Generic.Strong */ +.codehilite .gu { + color: #0550ae; +} /* Generic.Subheading */ +.codehilite .kc { + color: #0550ae; +} /* Keyword.Constant */ +.codehilite .kd { + color: #cf222e; +} /* Keyword.Declaration */ +.codehilite .kn { + color: #cf222e; +} /* Keyword.Namespace */ +.codehilite .kp { + color: #cf222e; +} /* Keyword.Pseudo */ +.codehilite .kr { + color: #cf222e; +} /* Keyword.Reserved */ +.codehilite .kt { + color: #cf222e; +} /* Keyword.Type */ +.codehilite .ld { + color: #953800; +} /* Literal.Date */ +.codehilite .m { + color: #953800; +} /* Literal.Number */ +.codehilite .s { + color: #0a3069; +} /* Literal.String */ +.codehilite .na { + color: #0550ae; +} /* Name.Attribute */ +.codehilite .nb { + color: #953800; +} /* Name.Builtin */ +.codehilite .nc { + color: #0550ae; +} /* Name.Class */ +.codehilite .no { + color: #0550ae; +} /* Name.Constant */ +.codehilite .nd { + color: #0550ae; +} /* Name.Decorator */ +.codehilite .ni { + color: #116329; +} /* Name.Entity */ +.codehilite .ne { + color: #8250df; +} /* Name.Exception */ +.codehilite .nf { + color: #0550ae; +} /* Name.Function */ +.codehilite .nl { + color: #953800; +} /* Name.Label */ +.codehilite .nn { + color: #24292f; +} /* Name.Namespace */ +.codehilite .nx { + color: #1f2328; +} /* Name.Other */ +.codehilite .py { + color: #0550ae; +} /* Name.Property */ +.codehilite .nt { + color: #116329; +} /* Name.Tag */ +.codehilite .nv { + color: #953800; +} /* Name.Variable */ +.codehilite .ow { + color: #8250df; +} /* Operator.Word */ +.codehilite .pm { + color: #24292f; +} /* Punctuation.Marker */ +.codehilite .w { + color: #24292f; +} /* Text.Whitespace */ +.codehilite .mb { + color: #953800; +} /* Literal.Number.Bin */ +.codehilite .mf { + color: #0550ae; +} /* Literal.Number.Float */ +.codehilite .mh { + color: #953800; +} /* Literal.Number.Hex */ +.codehilite .mi { + color: #0550ae; +} /* Literal.Number.Integer */ +.codehilite .mo { + color: #953800; +} /* Literal.Number.Oct */ +.codehilite .sa { + color: #0550ae; +} /* Literal.String.Affix */ +.codehilite .sb { + color: #0550ae; +} /* Literal.String.Backtick */ +.codehilite .sc { + color: #0550ae; +} /* Literal.String.Char */ +.codehilite .dl { + color: #0550ae; +} /* Literal.String.Delimiter */ +.codehilite .sd { + color: #0550ae; +} /* Literal.String.Doc */ +.codehilite .s2 { + color: #0550ae; +} /* Literal.String.Double */ +.codehilite .se { + color: #0550ae; +} /* Literal.String.Escape */ +.codehilite .sh { + color: #0550ae; +} /* Literal.String.Heredoc */ +.codehilite .si { + color: #0550ae; +} /* Literal.String.Interpol */ +.codehilite .sx { + color: #0550ae; +} /* Literal.String.Other */ +.codehilite .sr { + color: #0550ae; +} /* Literal.String.Regex */ +.codehilite .s1 { + color: #0550ae; +} /* Literal.String.Single */ +.codehilite .ss { + color: #0550ae; +} /* Literal.String.Symbol */ +.codehilite .bp { + color: #953800; +} /* Name.Builtin.Pseudo */ +.codehilite .fm { + color: #0550ae; +} /* Name.Function.Magic */ +.codehilite .vc { + color: #953800; +} /* Name.Variable.Class */ +.codehilite .vg { + color: #953800; +} /* Name.Variable.Global */ +.codehilite .vi { + color: #953800; +} /* Name.Variable.Instance */ +.codehilite .vm { + color: #953800; +} /* Name.Variable.Magic */ +.codehilite .il { + color: #953800; +} /* Literal.Number.Integer.Long */ diff --git a/site/css/pygments/solarized-dark.css b/site/css/pygments/solarized-dark.css new file mode 100644 index 0000000..606d0da --- /dev/null +++ b/site/css/pygments/solarized-dark.css @@ -0,0 +1,85 @@ +pre { line-height: 125%; } +td.linenos .normal { color: #586e75; background-color: #073642; padding-left: 5px; padding-right: 5px; } +span.linenos { color: #586e75; background-color: #073642; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #073642 } +.codehilite { background: #002b36; color: #839496 } +.codehilite .c { color: #586E75; font-style: italic } /* Comment */ +.codehilite .err { color: #839496; background-color: #DC322F } /* Error */ +.codehilite .esc { color: #839496 } /* Escape */ +.codehilite .g { color: #839496 } /* Generic */ +.codehilite .k { color: #859900 } /* Keyword */ +.codehilite .l { color: #839496 } /* Literal */ +.codehilite .n { color: #839496 } /* Name */ +.codehilite .o { color: #586E75 } /* Operator */ +.codehilite .x { color: #839496 } /* Other */ +.codehilite .p { color: #839496 } /* Punctuation */ +.codehilite .ch { color: #586E75; font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { color: #586E75; font-style: italic } /* Comment.Multiline */ +.codehilite .cp { color: #D33682 } /* Comment.Preproc */ +.codehilite .cpf { color: #586E75 } /* Comment.PreprocFile */ +.codehilite .c1 { color: #586E75; font-style: italic } /* Comment.Single */ +.codehilite .cs { color: #586E75; font-style: italic } /* Comment.Special */ +.codehilite .gd { color: #DC322F } /* Generic.Deleted */ +.codehilite .ge { color: #839496; font-style: italic } /* Generic.Emph */ +.codehilite .ges { color: #839496; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite .gr { color: #DC322F } /* Generic.Error */ +.codehilite .gh { color: #839496; font-weight: bold } /* Generic.Heading */ +.codehilite .gi { color: #859900 } /* Generic.Inserted */ +.codehilite .go { color: #839496 } /* Generic.Output */ +.codehilite .gp { color: #268BD2; font-weight: bold } /* Generic.Prompt */ +.codehilite .gs { color: #839496; font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #839496; text-decoration: underline } /* Generic.Subheading */ +.codehilite .gt { color: #268BD2 } /* Generic.Traceback */ +.codehilite .kc { color: #2AA198 } /* Keyword.Constant */ +.codehilite .kd { color: #2AA198 } /* Keyword.Declaration */ +.codehilite .kn { color: #CB4B16 } /* Keyword.Namespace */ +.codehilite .kp { color: #859900 } /* Keyword.Pseudo */ +.codehilite .kr { color: #859900 } /* Keyword.Reserved */ +.codehilite .kt { color: #B58900 } /* Keyword.Type */ +.codehilite .ld { color: #839496 } /* Literal.Date */ +.codehilite .m { color: #2AA198 } /* Literal.Number */ +.codehilite .s { color: #2AA198 } /* Literal.String */ +.codehilite .na { color: #839496 } /* Name.Attribute */ +.codehilite .nb { color: #268BD2 } /* Name.Builtin */ +.codehilite .nc { color: #268BD2 } /* Name.Class */ +.codehilite .no { color: #268BD2 } /* Name.Constant */ +.codehilite .nd { color: #268BD2 } /* Name.Decorator */ +.codehilite .ni { color: #268BD2 } /* Name.Entity */ +.codehilite .ne { color: #268BD2 } /* Name.Exception */ +.codehilite .nf { color: #268BD2 } /* Name.Function */ +.codehilite .nl { color: #268BD2 } /* Name.Label */ +.codehilite .nn { color: #268BD2 } /* Name.Namespace */ +.codehilite .nx { color: #839496 } /* Name.Other */ +.codehilite .py { color: #839496 } /* Name.Property */ +.codehilite .nt { color: #268BD2 } /* Name.Tag */ +.codehilite .nv { color: #268BD2 } /* Name.Variable */ +.codehilite .ow { color: #859900 } /* Operator.Word */ +.codehilite .pm { color: #839496 } /* Punctuation.Marker */ +.codehilite .w { color: #839496 } /* Text.Whitespace */ +.codehilite .mb { color: #2AA198 } /* Literal.Number.Bin */ +.codehilite .mf { color: #2AA198 } /* Literal.Number.Float */ +.codehilite .mh { color: #2AA198 } /* Literal.Number.Hex */ +.codehilite .mi { color: #2AA198 } /* Literal.Number.Integer */ +.codehilite .mo { color: #2AA198 } /* Literal.Number.Oct */ +.codehilite .sa { color: #2AA198 } /* Literal.String.Affix */ +.codehilite .sb { color: #2AA198 } /* Literal.String.Backtick */ +.codehilite .sc { color: #2AA198 } /* Literal.String.Char */ +.codehilite .dl { color: #2AA198 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #586E75 } /* Literal.String.Doc */ +.codehilite .s2 { color: #2AA198 } /* Literal.String.Double */ +.codehilite .se { color: #2AA198 } /* Literal.String.Escape */ +.codehilite .sh { color: #2AA198 } /* Literal.String.Heredoc */ +.codehilite .si { color: #2AA198 } /* Literal.String.Interpol */ +.codehilite .sx { color: #2AA198 } /* Literal.String.Other */ +.codehilite .sr { color: #CB4B16 } /* Literal.String.Regex */ +.codehilite .s1 { color: #2AA198 } /* Literal.String.Single */ +.codehilite .ss { color: #2AA198 } /* Literal.String.Symbol */ +.codehilite .bp { color: #268BD2 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #268BD2 } /* Name.Function.Magic */ +.codehilite .vc { color: #268BD2 } /* Name.Variable.Class */ +.codehilite .vg { color: #268BD2 } /* Name.Variable.Global */ +.codehilite .vi { color: #268BD2 } /* Name.Variable.Instance */ +.codehilite .vm { color: #268BD2 } /* Name.Variable.Magic */ +.codehilite .il { color: #2AA198 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/solarized-light.css b/site/css/pygments/solarized-light.css new file mode 100644 index 0000000..138f83d --- /dev/null +++ b/site/css/pygments/solarized-light.css @@ -0,0 +1,85 @@ +pre { line-height: 125%; } +td.linenos .normal { color: #93a1a1; background-color: #eee8d5; padding-left: 5px; padding-right: 5px; } +span.linenos { color: #93a1a1; background-color: #eee8d5; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #eee8d5 } +.codehilite { background: #fdf6e3; color: #657B83 } +.codehilite .c { color: #93A1A1; font-style: italic } /* Comment */ +.codehilite .err { color: #657B83; background-color: #DC322F } /* Error */ +.codehilite .esc { color: #657B83 } /* Escape */ +.codehilite .g { color: #657B83 } /* Generic */ +.codehilite .k { color: #859900 } /* Keyword */ +.codehilite .l { color: #657B83 } /* Literal */ +.codehilite .n { color: #657B83 } /* Name */ +.codehilite .o { color: #93A1A1 } /* Operator */ +.codehilite .x { color: #657B83 } /* Other */ +.codehilite .p { color: #657B83 } /* Punctuation */ +.codehilite .ch { color: #93A1A1; font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { color: #93A1A1; font-style: italic } /* Comment.Multiline */ +.codehilite .cp { color: #D33682 } /* Comment.Preproc */ +.codehilite .cpf { color: #93A1A1 } /* Comment.PreprocFile */ +.codehilite .c1 { color: #93A1A1; font-style: italic } /* Comment.Single */ +.codehilite .cs { color: #93A1A1; font-style: italic } /* Comment.Special */ +.codehilite .gd { color: #DC322F } /* Generic.Deleted */ +.codehilite .ge { color: #657B83; font-style: italic } /* Generic.Emph */ +.codehilite .ges { color: #657B83; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite .gr { color: #DC322F } /* Generic.Error */ +.codehilite .gh { color: #657B83; font-weight: bold } /* Generic.Heading */ +.codehilite .gi { color: #859900 } /* Generic.Inserted */ +.codehilite .go { color: #657B83 } /* Generic.Output */ +.codehilite .gp { color: #268BD2; font-weight: bold } /* Generic.Prompt */ +.codehilite .gs { color: #657B83; font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #657B83; text-decoration: underline } /* Generic.Subheading */ +.codehilite .gt { color: #268BD2 } /* Generic.Traceback */ +.codehilite .kc { color: #2AA198 } /* Keyword.Constant */ +.codehilite .kd { color: #2AA198 } /* Keyword.Declaration */ +.codehilite .kn { color: #CB4B16 } /* Keyword.Namespace */ +.codehilite .kp { color: #859900 } /* Keyword.Pseudo */ +.codehilite .kr { color: #859900 } /* Keyword.Reserved */ +.codehilite .kt { color: #B58900 } /* Keyword.Type */ +.codehilite .ld { color: #657B83 } /* Literal.Date */ +.codehilite .m { color: #2AA198 } /* Literal.Number */ +.codehilite .s { color: #2AA198 } /* Literal.String */ +.codehilite .na { color: #657B83 } /* Name.Attribute */ +.codehilite .nb { color: #268BD2 } /* Name.Builtin */ +.codehilite .nc { color: #268BD2 } /* Name.Class */ +.codehilite .no { color: #268BD2 } /* Name.Constant */ +.codehilite .nd { color: #268BD2 } /* Name.Decorator */ +.codehilite .ni { color: #268BD2 } /* Name.Entity */ +.codehilite .ne { color: #268BD2 } /* Name.Exception */ +.codehilite .nf { color: #268BD2 } /* Name.Function */ +.codehilite .nl { color: #268BD2 } /* Name.Label */ +.codehilite .nn { color: #268BD2 } /* Name.Namespace */ +.codehilite .nx { color: #657B83 } /* Name.Other */ +.codehilite .py { color: #657B83 } /* Name.Property */ +.codehilite .nt { color: #268BD2 } /* Name.Tag */ +.codehilite .nv { color: #268BD2 } /* Name.Variable */ +.codehilite .ow { color: #859900 } /* Operator.Word */ +.codehilite .pm { color: #657B83 } /* Punctuation.Marker */ +.codehilite .w { color: #657B83 } /* Text.Whitespace */ +.codehilite .mb { color: #2AA198 } /* Literal.Number.Bin */ +.codehilite .mf { color: #2AA198 } /* Literal.Number.Float */ +.codehilite .mh { color: #2AA198 } /* Literal.Number.Hex */ +.codehilite .mi { color: #2AA198 } /* Literal.Number.Integer */ +.codehilite .mo { color: #2AA198 } /* Literal.Number.Oct */ +.codehilite .sa { color: #2AA198 } /* Literal.String.Affix */ +.codehilite .sb { color: #2AA198 } /* Literal.String.Backtick */ +.codehilite .sc { color: #2AA198 } /* Literal.String.Char */ +.codehilite .dl { color: #2AA198 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #93A1A1 } /* Literal.String.Doc */ +.codehilite .s2 { color: #2AA198 } /* Literal.String.Double */ +.codehilite .se { color: #2AA198 } /* Literal.String.Escape */ +.codehilite .sh { color: #2AA198 } /* Literal.String.Heredoc */ +.codehilite .si { color: #2AA198 } /* Literal.String.Interpol */ +.codehilite .sx { color: #2AA198 } /* Literal.String.Other */ +.codehilite .sr { color: #CB4B16 } /* Literal.String.Regex */ +.codehilite .s1 { color: #2AA198 } /* Literal.String.Single */ +.codehilite .ss { color: #2AA198 } /* Literal.String.Symbol */ +.codehilite .bp { color: #268BD2 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #268BD2 } /* Name.Function.Magic */ +.codehilite .vc { color: #268BD2 } /* Name.Variable.Class */ +.codehilite .vg { color: #268BD2 } /* Name.Variable.Global */ +.codehilite .vi { color: #268BD2 } /* Name.Variable.Instance */ +.codehilite .vm { color: #268BD2 } /* Name.Variable.Magic */ +.codehilite .il { color: #2AA198 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/staroffice.css b/site/css/pygments/staroffice.css new file mode 100644 index 0000000..e2e800a --- /dev/null +++ b/site/css/pygments/staroffice.css @@ -0,0 +1,85 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #ffffcc } +.codehilite { background: #ffffff; color: #000080 } +.codehilite .c { color: #696969 } /* Comment */ +.codehilite .err { color: #800000 } /* Error */ +.codehilite .esc { color: #000080 } /* Escape */ +.codehilite .g { color: #000080 } /* Generic */ +.codehilite .k { color: #000080 } /* Keyword */ +.codehilite .l { color: #E00 } /* Literal */ +.codehilite .n { color: #008000 } /* Name */ +.codehilite .o { color: #000080 } /* Operator */ +.codehilite .x { color: #000080 } /* Other */ +.codehilite .p { color: #000080 } /* Punctuation */ +.codehilite .ch { color: #696969 } /* Comment.Hashbang */ +.codehilite .cm { color: #696969 } /* Comment.Multiline */ +.codehilite .cp { color: #696969 } /* Comment.Preproc */ +.codehilite .cpf { color: #696969 } /* Comment.PreprocFile */ +.codehilite .c1 { color: #696969 } /* Comment.Single */ +.codehilite .cs { color: #696969 } /* Comment.Special */ +.codehilite .gd { color: #000080 } /* Generic.Deleted */ +.codehilite .ge { color: #000080 } /* Generic.Emph */ +.codehilite .ges { color: #000080 } /* Generic.EmphStrong */ +.codehilite .gr { color: #000080 } /* Generic.Error */ +.codehilite .gh { color: #000080 } /* Generic.Heading */ +.codehilite .gi { color: #000080 } /* Generic.Inserted */ +.codehilite .go { color: #000080 } /* Generic.Output */ +.codehilite .gp { color: #000080 } /* Generic.Prompt */ +.codehilite .gs { color: #000080 } /* Generic.Strong */ +.codehilite .gu { color: #000080 } /* Generic.Subheading */ +.codehilite .gt { color: #000080 } /* Generic.Traceback */ +.codehilite .kc { color: #000080 } /* Keyword.Constant */ +.codehilite .kd { color: #000080 } /* Keyword.Declaration */ +.codehilite .kn { color: #000080 } /* Keyword.Namespace */ +.codehilite .kp { color: #000080 } /* Keyword.Pseudo */ +.codehilite .kr { color: #000080 } /* Keyword.Reserved */ +.codehilite .kt { color: #000080 } /* Keyword.Type */ +.codehilite .ld { color: #E00 } /* Literal.Date */ +.codehilite .m { color: #E00 } /* Literal.Number */ +.codehilite .s { color: #E00 } /* Literal.String */ +.codehilite .na { color: #008000 } /* Name.Attribute */ +.codehilite .nb { color: #008000 } /* Name.Builtin */ +.codehilite .nc { color: #008000 } /* Name.Class */ +.codehilite .no { color: #008000 } /* Name.Constant */ +.codehilite .nd { color: #008000 } /* Name.Decorator */ +.codehilite .ni { color: #008000 } /* Name.Entity */ +.codehilite .ne { color: #008000 } /* Name.Exception */ +.codehilite .nf { color: #008000 } /* Name.Function */ +.codehilite .nl { color: #008000 } /* Name.Label */ +.codehilite .nn { color: #008000 } /* Name.Namespace */ +.codehilite .nx { color: #008000 } /* Name.Other */ +.codehilite .py { color: #008000 } /* Name.Property */ +.codehilite .nt { color: #008000 } /* Name.Tag */ +.codehilite .nv { color: #008000 } /* Name.Variable */ +.codehilite .ow { color: #000080 } /* Operator.Word */ +.codehilite .pm { color: #000080 } /* Punctuation.Marker */ +.codehilite .w { color: #000080 } /* Text.Whitespace */ +.codehilite .mb { color: #E00 } /* Literal.Number.Bin */ +.codehilite .mf { color: #E00 } /* Literal.Number.Float */ +.codehilite .mh { color: #E00 } /* Literal.Number.Hex */ +.codehilite .mi { color: #E00 } /* Literal.Number.Integer */ +.codehilite .mo { color: #E00 } /* Literal.Number.Oct */ +.codehilite .sa { color: #E00 } /* Literal.String.Affix */ +.codehilite .sb { color: #E00 } /* Literal.String.Backtick */ +.codehilite .sc { color: #E00 } /* Literal.String.Char */ +.codehilite .dl { color: #E00 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #E00 } /* Literal.String.Doc */ +.codehilite .s2 { color: #E00 } /* Literal.String.Double */ +.codehilite .se { color: #E00 } /* Literal.String.Escape */ +.codehilite .sh { color: #E00 } /* Literal.String.Heredoc */ +.codehilite .si { color: #E00 } /* Literal.String.Interpol */ +.codehilite .sx { color: #E00 } /* Literal.String.Other */ +.codehilite .sr { color: #E00 } /* Literal.String.Regex */ +.codehilite .s1 { color: #E00 } /* Literal.String.Single */ +.codehilite .ss { color: #E00 } /* Literal.String.Symbol */ +.codehilite .bp { color: #008000 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #008000 } /* Name.Function.Magic */ +.codehilite .vc { color: #008000 } /* Name.Variable.Class */ +.codehilite .vg { color: #008000 } /* Name.Variable.Global */ +.codehilite .vi { color: #008000 } /* Name.Variable.Instance */ +.codehilite .vm { color: #008000 } /* Name.Variable.Magic */ +.codehilite .il { color: #E00 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/stata-dark.css b/site/css/pygments/stata-dark.css new file mode 100644 index 0000000..9152dff --- /dev/null +++ b/site/css/pygments/stata-dark.css @@ -0,0 +1,85 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #49483e } +.codehilite { background: #232629; color: #CCC } +.codehilite .c { color: #777; font-style: italic } /* Comment */ +.codehilite .err { color: #A61717; background-color: #E3D2D2 } /* Error */ +.codehilite .esc { color: #CCC } /* Escape */ +.codehilite .g { color: #CCC } /* Generic */ +.codehilite .k { color: #7686BB; font-weight: bold } /* Keyword */ +.codehilite .l { color: #CCC } /* Literal */ +.codehilite .n { color: #CCC } /* Name */ +.codehilite .o { color: #CCC } /* Operator */ +.codehilite .x { color: #CCC } /* Other */ +.codehilite .p { color: #CCC } /* Punctuation */ +.codehilite .ch { color: #777; font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { color: #777; font-style: italic } /* Comment.Multiline */ +.codehilite .cp { color: #777; font-style: italic } /* Comment.Preproc */ +.codehilite .cpf { color: #777; font-style: italic } /* Comment.PreprocFile */ +.codehilite .c1 { color: #777; font-style: italic } /* Comment.Single */ +.codehilite .cs { color: #777; font-style: italic } /* Comment.Special */ +.codehilite .gd { color: #CCC } /* Generic.Deleted */ +.codehilite .ge { color: #CCC } /* Generic.Emph */ +.codehilite .ges { color: #CCC } /* Generic.EmphStrong */ +.codehilite .gr { color: #CCC } /* Generic.Error */ +.codehilite .gh { color: #CCC } /* Generic.Heading */ +.codehilite .gi { color: #CCC } /* Generic.Inserted */ +.codehilite .go { color: #CCC } /* Generic.Output */ +.codehilite .gp { color: #FFF } /* Generic.Prompt */ +.codehilite .gs { color: #CCC } /* Generic.Strong */ +.codehilite .gu { color: #CCC } /* Generic.Subheading */ +.codehilite .gt { color: #CCC } /* Generic.Traceback */ +.codehilite .kc { color: #7686BB; font-weight: bold } /* Keyword.Constant */ +.codehilite .kd { color: #7686BB; font-weight: bold } /* Keyword.Declaration */ +.codehilite .kn { color: #7686BB; font-weight: bold } /* Keyword.Namespace */ +.codehilite .kp { color: #7686BB; font-weight: bold } /* Keyword.Pseudo */ +.codehilite .kr { color: #7686BB; font-weight: bold } /* Keyword.Reserved */ +.codehilite .kt { color: #7686BB; font-weight: bold } /* Keyword.Type */ +.codehilite .ld { color: #CCC } /* Literal.Date */ +.codehilite .m { color: #4FB8CC } /* Literal.Number */ +.codehilite .s { color: #51CC99 } /* Literal.String */ +.codehilite .na { color: #CCC } /* Name.Attribute */ +.codehilite .nb { color: #CCC } /* Name.Builtin */ +.codehilite .nc { color: #CCC } /* Name.Class */ +.codehilite .no { color: #CCC } /* Name.Constant */ +.codehilite .nd { color: #CCC } /* Name.Decorator */ +.codehilite .ni { color: #CCC } /* Name.Entity */ +.codehilite .ne { color: #CCC } /* Name.Exception */ +.codehilite .nf { color: #6A6AFF } /* Name.Function */ +.codehilite .nl { color: #CCC } /* Name.Label */ +.codehilite .nn { color: #CCC } /* Name.Namespace */ +.codehilite .nx { color: #E2828E } /* Name.Other */ +.codehilite .py { color: #CCC } /* Name.Property */ +.codehilite .nt { color: #CCC } /* Name.Tag */ +.codehilite .nv { color: #7AB4DB; font-weight: bold } /* Name.Variable */ +.codehilite .ow { color: #CCC } /* Operator.Word */ +.codehilite .pm { color: #CCC } /* Punctuation.Marker */ +.codehilite .w { color: #BBB } /* Text.Whitespace */ +.codehilite .mb { color: #4FB8CC } /* Literal.Number.Bin */ +.codehilite .mf { color: #4FB8CC } /* Literal.Number.Float */ +.codehilite .mh { color: #4FB8CC } /* Literal.Number.Hex */ +.codehilite .mi { color: #4FB8CC } /* Literal.Number.Integer */ +.codehilite .mo { color: #4FB8CC } /* Literal.Number.Oct */ +.codehilite .sa { color: #51CC99 } /* Literal.String.Affix */ +.codehilite .sb { color: #51CC99 } /* Literal.String.Backtick */ +.codehilite .sc { color: #51CC99 } /* Literal.String.Char */ +.codehilite .dl { color: #51CC99 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #51CC99 } /* Literal.String.Doc */ +.codehilite .s2 { color: #51CC99 } /* Literal.String.Double */ +.codehilite .se { color: #51CC99 } /* Literal.String.Escape */ +.codehilite .sh { color: #51CC99 } /* Literal.String.Heredoc */ +.codehilite .si { color: #51CC99 } /* Literal.String.Interpol */ +.codehilite .sx { color: #51CC99 } /* Literal.String.Other */ +.codehilite .sr { color: #51CC99 } /* Literal.String.Regex */ +.codehilite .s1 { color: #51CC99 } /* Literal.String.Single */ +.codehilite .ss { color: #51CC99 } /* Literal.String.Symbol */ +.codehilite .bp { color: #CCC } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #6A6AFF } /* Name.Function.Magic */ +.codehilite .vc { color: #7AB4DB; font-weight: bold } /* Name.Variable.Class */ +.codehilite .vg { color: #BE646C; font-weight: bold } /* Name.Variable.Global */ +.codehilite .vi { color: #7AB4DB; font-weight: bold } /* Name.Variable.Instance */ +.codehilite .vm { color: #7AB4DB; font-weight: bold } /* Name.Variable.Magic */ +.codehilite .il { color: #4FB8CC } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/stata-light.css b/site/css/pygments/stata-light.css new file mode 100644 index 0000000..eaab81b --- /dev/null +++ b/site/css/pygments/stata-light.css @@ -0,0 +1,52 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #ffffcc } +.codehilite { background: #ffffff; color: #111 } +.codehilite .c { color: #080; font-style: italic } /* Comment */ +.codehilite .err { color: #A61717; background-color: #E3D2D2 } /* Error */ +.codehilite .k { color: #353580; font-weight: bold } /* Keyword */ +.codehilite .ch { color: #080; font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { color: #080; font-style: italic } /* Comment.Multiline */ +.codehilite .cp { color: #080; font-style: italic } /* Comment.Preproc */ +.codehilite .cpf { color: #080; font-style: italic } /* Comment.PreprocFile */ +.codehilite .c1 { color: #080; font-style: italic } /* Comment.Single */ +.codehilite .cs { color: #080; font-style: italic } /* Comment.Special */ +.codehilite .kc { color: #353580; font-weight: bold } /* Keyword.Constant */ +.codehilite .kd { color: #353580; font-weight: bold } /* Keyword.Declaration */ +.codehilite .kn { color: #353580; font-weight: bold } /* Keyword.Namespace */ +.codehilite .kp { color: #353580; font-weight: bold } /* Keyword.Pseudo */ +.codehilite .kr { color: #353580; font-weight: bold } /* Keyword.Reserved */ +.codehilite .kt { color: #353580; font-weight: bold } /* Keyword.Type */ +.codehilite .m { color: #2C2CFF } /* Literal.Number */ +.codehilite .s { color: #7A2424 } /* Literal.String */ +.codehilite .nf { color: #2C2CFF } /* Name.Function */ +.codehilite .nx { color: #BE646C } /* Name.Other */ +.codehilite .nv { color: #35BABA; font-weight: bold } /* Name.Variable */ +.codehilite .w { color: #BBB } /* Text.Whitespace */ +.codehilite .mb { color: #2C2CFF } /* Literal.Number.Bin */ +.codehilite .mf { color: #2C2CFF } /* Literal.Number.Float */ +.codehilite .mh { color: #2C2CFF } /* Literal.Number.Hex */ +.codehilite .mi { color: #2C2CFF } /* Literal.Number.Integer */ +.codehilite .mo { color: #2C2CFF } /* Literal.Number.Oct */ +.codehilite .sa { color: #7A2424 } /* Literal.String.Affix */ +.codehilite .sb { color: #7A2424 } /* Literal.String.Backtick */ +.codehilite .sc { color: #7A2424 } /* Literal.String.Char */ +.codehilite .dl { color: #7A2424 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #7A2424 } /* Literal.String.Doc */ +.codehilite .s2 { color: #7A2424 } /* Literal.String.Double */ +.codehilite .se { color: #7A2424 } /* Literal.String.Escape */ +.codehilite .sh { color: #7A2424 } /* Literal.String.Heredoc */ +.codehilite .si { color: #7A2424 } /* Literal.String.Interpol */ +.codehilite .sx { color: #7A2424 } /* Literal.String.Other */ +.codehilite .sr { color: #7A2424 } /* Literal.String.Regex */ +.codehilite .s1 { color: #7A2424 } /* Literal.String.Single */ +.codehilite .ss { color: #7A2424 } /* Literal.String.Symbol */ +.codehilite .fm { color: #2C2CFF } /* Name.Function.Magic */ +.codehilite .vc { color: #35BABA; font-weight: bold } /* Name.Variable.Class */ +.codehilite .vg { color: #B5565E; font-weight: bold } /* Name.Variable.Global */ +.codehilite .vi { color: #35BABA; font-weight: bold } /* Name.Variable.Instance */ +.codehilite .vm { color: #35BABA; font-weight: bold } /* Name.Variable.Magic */ +.codehilite .il { color: #2C2CFF } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/tango.css b/site/css/pygments/tango.css new file mode 100644 index 0000000..ef72254 --- /dev/null +++ b/site/css/pygments/tango.css @@ -0,0 +1,84 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #ffffcc } +.codehilite { background: #f8f8f8; } +.codehilite .c { color: #8F5902; font-style: italic } /* Comment */ +.codehilite .err { color: #A40000; border: 1px solid #EF2929 } /* Error */ +.codehilite .g { color: #000 } /* Generic */ +.codehilite .k { color: #204A87; font-weight: bold } /* Keyword */ +.codehilite .l { color: #000 } /* Literal */ +.codehilite .n { color: #000 } /* Name */ +.codehilite .o { color: #CE5C00; font-weight: bold } /* Operator */ +.codehilite .x { color: #000 } /* Other */ +.codehilite .p { color: #000; font-weight: bold } /* Punctuation */ +.codehilite .ch { color: #8F5902; font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { color: #8F5902; font-style: italic } /* Comment.Multiline */ +.codehilite .cp { color: #8F5902; font-style: italic } /* Comment.Preproc */ +.codehilite .cpf { color: #8F5902; font-style: italic } /* Comment.PreprocFile */ +.codehilite .c1 { color: #8F5902; font-style: italic } /* Comment.Single */ +.codehilite .cs { color: #8F5902; font-style: italic } /* Comment.Special */ +.codehilite .gd { color: #A40000 } /* Generic.Deleted */ +.codehilite .ge { color: #000; font-style: italic } /* Generic.Emph */ +.codehilite .ges { color: #000; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite .gr { color: #EF2929 } /* Generic.Error */ +.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.codehilite .gi { color: #00A000 } /* Generic.Inserted */ +.codehilite .go { color: #000; font-style: italic } /* Generic.Output */ +.codehilite .gp { color: #8F5902 } /* Generic.Prompt */ +.codehilite .gs { color: #000; font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.codehilite .gt { color: #A40000; font-weight: bold } /* Generic.Traceback */ +.codehilite .kc { color: #204A87; font-weight: bold } /* Keyword.Constant */ +.codehilite .kd { color: #204A87; font-weight: bold } /* Keyword.Declaration */ +.codehilite .kn { color: #204A87; font-weight: bold } /* Keyword.Namespace */ +.codehilite .kp { color: #204A87; font-weight: bold } /* Keyword.Pseudo */ +.codehilite .kr { color: #204A87; font-weight: bold } /* Keyword.Reserved */ +.codehilite .kt { color: #204A87; font-weight: bold } /* Keyword.Type */ +.codehilite .ld { color: #000 } /* Literal.Date */ +.codehilite .m { color: #0000CF; font-weight: bold } /* Literal.Number */ +.codehilite .s { color: #4E9A06 } /* Literal.String */ +.codehilite .na { color: #C4A000 } /* Name.Attribute */ +.codehilite .nb { color: #204A87 } /* Name.Builtin */ +.codehilite .nc { color: #000 } /* Name.Class */ +.codehilite .no { color: #000 } /* Name.Constant */ +.codehilite .nd { color: #5C35CC; font-weight: bold } /* Name.Decorator */ +.codehilite .ni { color: #CE5C00 } /* Name.Entity */ +.codehilite .ne { color: #C00; font-weight: bold } /* Name.Exception */ +.codehilite .nf { color: #000 } /* Name.Function */ +.codehilite .nl { color: #F57900 } /* Name.Label */ +.codehilite .nn { color: #000 } /* Name.Namespace */ +.codehilite .nx { color: #000 } /* Name.Other */ +.codehilite .py { color: #000 } /* Name.Property */ +.codehilite .nt { color: #204A87; font-weight: bold } /* Name.Tag */ +.codehilite .nv { color: #000 } /* Name.Variable */ +.codehilite .ow { color: #204A87; font-weight: bold } /* Operator.Word */ +.codehilite .pm { color: #000; font-weight: bold } /* Punctuation.Marker */ +.codehilite .w { color: #F8F8F8 } /* Text.Whitespace */ +.codehilite .mb { color: #0000CF; font-weight: bold } /* Literal.Number.Bin */ +.codehilite .mf { color: #0000CF; font-weight: bold } /* Literal.Number.Float */ +.codehilite .mh { color: #0000CF; font-weight: bold } /* Literal.Number.Hex */ +.codehilite .mi { color: #0000CF; font-weight: bold } /* Literal.Number.Integer */ +.codehilite .mo { color: #0000CF; font-weight: bold } /* Literal.Number.Oct */ +.codehilite .sa { color: #4E9A06 } /* Literal.String.Affix */ +.codehilite .sb { color: #4E9A06 } /* Literal.String.Backtick */ +.codehilite .sc { color: #4E9A06 } /* Literal.String.Char */ +.codehilite .dl { color: #4E9A06 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #8F5902; font-style: italic } /* Literal.String.Doc */ +.codehilite .s2 { color: #4E9A06 } /* Literal.String.Double */ +.codehilite .se { color: #4E9A06 } /* Literal.String.Escape */ +.codehilite .sh { color: #4E9A06 } /* Literal.String.Heredoc */ +.codehilite .si { color: #4E9A06 } /* Literal.String.Interpol */ +.codehilite .sx { color: #4E9A06 } /* Literal.String.Other */ +.codehilite .sr { color: #4E9A06 } /* Literal.String.Regex */ +.codehilite .s1 { color: #4E9A06 } /* Literal.String.Single */ +.codehilite .ss { color: #4E9A06 } /* Literal.String.Symbol */ +.codehilite .bp { color: #3465A4 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #000 } /* Name.Function.Magic */ +.codehilite .vc { color: #000 } /* Name.Variable.Class */ +.codehilite .vg { color: #000 } /* Name.Variable.Global */ +.codehilite .vi { color: #000 } /* Name.Variable.Instance */ +.codehilite .vm { color: #000 } /* Name.Variable.Magic */ +.codehilite .il { color: #0000CF; font-weight: bold } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/trac.css b/site/css/pygments/trac.css new file mode 100644 index 0000000..39ec8ab --- /dev/null +++ b/site/css/pygments/trac.css @@ -0,0 +1,73 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #ffffcc } +.codehilite { background: #ffffff; } +.codehilite .c { color: #998; font-style: italic } /* Comment */ +.codehilite .err { color: #A61717; background-color: #E3D2D2 } /* Error */ +.codehilite .k { font-weight: bold } /* Keyword */ +.codehilite .o { font-weight: bold } /* Operator */ +.codehilite .ch { color: #998; font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { color: #998; font-style: italic } /* Comment.Multiline */ +.codehilite .cp { color: #999; font-weight: bold } /* Comment.Preproc */ +.codehilite .cpf { color: #998; font-style: italic } /* Comment.PreprocFile */ +.codehilite .c1 { color: #998; font-style: italic } /* Comment.Single */ +.codehilite .cs { color: #999; font-weight: bold; font-style: italic } /* Comment.Special */ +.codehilite .gd { color: #000; background-color: #FDD } /* Generic.Deleted */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite .gr { color: #A00 } /* Generic.Error */ +.codehilite .gh { color: #999 } /* Generic.Heading */ +.codehilite .gi { color: #000; background-color: #DFD } /* Generic.Inserted */ +.codehilite .go { color: #888 } /* Generic.Output */ +.codehilite .gp { color: #555 } /* Generic.Prompt */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #AAA } /* Generic.Subheading */ +.codehilite .gt { color: #A00 } /* Generic.Traceback */ +.codehilite .kc { font-weight: bold } /* Keyword.Constant */ +.codehilite .kd { font-weight: bold } /* Keyword.Declaration */ +.codehilite .kn { font-weight: bold } /* Keyword.Namespace */ +.codehilite .kp { font-weight: bold } /* Keyword.Pseudo */ +.codehilite .kr { font-weight: bold } /* Keyword.Reserved */ +.codehilite .kt { color: #458; font-weight: bold } /* Keyword.Type */ +.codehilite .m { color: #099 } /* Literal.Number */ +.codehilite .s { color: #B84 } /* Literal.String */ +.codehilite .na { color: #008080 } /* Name.Attribute */ +.codehilite .nb { color: #999 } /* Name.Builtin */ +.codehilite .nc { color: #458; font-weight: bold } /* Name.Class */ +.codehilite .no { color: #008080 } /* Name.Constant */ +.codehilite .ni { color: #800080 } /* Name.Entity */ +.codehilite .ne { color: #900; font-weight: bold } /* Name.Exception */ +.codehilite .nf { color: #900; font-weight: bold } /* Name.Function */ +.codehilite .nn { color: #555 } /* Name.Namespace */ +.codehilite .nt { color: #000080 } /* Name.Tag */ +.codehilite .nv { color: #008080 } /* Name.Variable */ +.codehilite .ow { font-weight: bold } /* Operator.Word */ +.codehilite .w { color: #BBB } /* Text.Whitespace */ +.codehilite .mb { color: #099 } /* Literal.Number.Bin */ +.codehilite .mf { color: #099 } /* Literal.Number.Float */ +.codehilite .mh { color: #099 } /* Literal.Number.Hex */ +.codehilite .mi { color: #099 } /* Literal.Number.Integer */ +.codehilite .mo { color: #099 } /* Literal.Number.Oct */ +.codehilite .sa { color: #B84 } /* Literal.String.Affix */ +.codehilite .sb { color: #B84 } /* Literal.String.Backtick */ +.codehilite .sc { color: #B84 } /* Literal.String.Char */ +.codehilite .dl { color: #B84 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #B84 } /* Literal.String.Doc */ +.codehilite .s2 { color: #B84 } /* Literal.String.Double */ +.codehilite .se { color: #B84 } /* Literal.String.Escape */ +.codehilite .sh { color: #B84 } /* Literal.String.Heredoc */ +.codehilite .si { color: #B84 } /* Literal.String.Interpol */ +.codehilite .sx { color: #B84 } /* Literal.String.Other */ +.codehilite .sr { color: #808000 } /* Literal.String.Regex */ +.codehilite .s1 { color: #B84 } /* Literal.String.Single */ +.codehilite .ss { color: #B84 } /* Literal.String.Symbol */ +.codehilite .bp { color: #999 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #900; font-weight: bold } /* Name.Function.Magic */ +.codehilite .vc { color: #008080 } /* Name.Variable.Class */ +.codehilite .vg { color: #008080 } /* Name.Variable.Global */ +.codehilite .vi { color: #008080 } /* Name.Variable.Instance */ +.codehilite .vm { color: #008080 } /* Name.Variable.Magic */ +.codehilite .il { color: #099 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/vim.css b/site/css/pygments/vim.css new file mode 100644 index 0000000..5fdc788 --- /dev/null +++ b/site/css/pygments/vim.css @@ -0,0 +1,85 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #222222 } +.codehilite { background: #000000; color: #CCC } +.codehilite .c { color: #000080 } /* Comment */ +.codehilite .err { color: #CCC; border: 1px solid #F00 } /* Error */ +.codehilite .esc { color: #CCC } /* Escape */ +.codehilite .g { color: #CCC } /* Generic */ +.codehilite .k { color: #CDCD00 } /* Keyword */ +.codehilite .l { color: #CCC } /* Literal */ +.codehilite .n { color: #CCC } /* Name */ +.codehilite .o { color: #39C } /* Operator */ +.codehilite .x { color: #CCC } /* Other */ +.codehilite .p { color: #CCC } /* Punctuation */ +.codehilite .ch { color: #000080 } /* Comment.Hashbang */ +.codehilite .cm { color: #000080 } /* Comment.Multiline */ +.codehilite .cp { color: #000080 } /* Comment.Preproc */ +.codehilite .cpf { color: #000080 } /* Comment.PreprocFile */ +.codehilite .c1 { color: #000080 } /* Comment.Single */ +.codehilite .cs { color: #CD0000; font-weight: bold } /* Comment.Special */ +.codehilite .gd { color: #CD0000 } /* Generic.Deleted */ +.codehilite .ge { color: #CCC; font-style: italic } /* Generic.Emph */ +.codehilite .ges { color: #CCC; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite .gr { color: #F00 } /* Generic.Error */ +.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.codehilite .gi { color: #00CD00 } /* Generic.Inserted */ +.codehilite .go { color: #888 } /* Generic.Output */ +.codehilite .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ +.codehilite .gs { color: #CCC; font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.codehilite .gt { color: #04D } /* Generic.Traceback */ +.codehilite .kc { color: #CDCD00 } /* Keyword.Constant */ +.codehilite .kd { color: #00CD00 } /* Keyword.Declaration */ +.codehilite .kn { color: #CD00CD } /* Keyword.Namespace */ +.codehilite .kp { color: #CDCD00 } /* Keyword.Pseudo */ +.codehilite .kr { color: #CDCD00 } /* Keyword.Reserved */ +.codehilite .kt { color: #00CD00 } /* Keyword.Type */ +.codehilite .ld { color: #CCC } /* Literal.Date */ +.codehilite .m { color: #CD00CD } /* Literal.Number */ +.codehilite .s { color: #CD0000 } /* Literal.String */ +.codehilite .na { color: #CCC } /* Name.Attribute */ +.codehilite .nb { color: #CD00CD } /* Name.Builtin */ +.codehilite .nc { color: #00CDCD } /* Name.Class */ +.codehilite .no { color: #CCC } /* Name.Constant */ +.codehilite .nd { color: #CCC } /* Name.Decorator */ +.codehilite .ni { color: #CCC } /* Name.Entity */ +.codehilite .ne { color: #669; font-weight: bold } /* Name.Exception */ +.codehilite .nf { color: #CCC } /* Name.Function */ +.codehilite .nl { color: #CCC } /* Name.Label */ +.codehilite .nn { color: #CCC } /* Name.Namespace */ +.codehilite .nx { color: #CCC } /* Name.Other */ +.codehilite .py { color: #CCC } /* Name.Property */ +.codehilite .nt { color: #CCC } /* Name.Tag */ +.codehilite .nv { color: #00CDCD } /* Name.Variable */ +.codehilite .ow { color: #CDCD00 } /* Operator.Word */ +.codehilite .pm { color: #CCC } /* Punctuation.Marker */ +.codehilite .w { color: #CCC } /* Text.Whitespace */ +.codehilite .mb { color: #CD00CD } /* Literal.Number.Bin */ +.codehilite .mf { color: #CD00CD } /* Literal.Number.Float */ +.codehilite .mh { color: #CD00CD } /* Literal.Number.Hex */ +.codehilite .mi { color: #CD00CD } /* Literal.Number.Integer */ +.codehilite .mo { color: #CD00CD } /* Literal.Number.Oct */ +.codehilite .sa { color: #CD0000 } /* Literal.String.Affix */ +.codehilite .sb { color: #CD0000 } /* Literal.String.Backtick */ +.codehilite .sc { color: #CD0000 } /* Literal.String.Char */ +.codehilite .dl { color: #CD0000 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #CD0000 } /* Literal.String.Doc */ +.codehilite .s2 { color: #CD0000 } /* Literal.String.Double */ +.codehilite .se { color: #CD0000 } /* Literal.String.Escape */ +.codehilite .sh { color: #CD0000 } /* Literal.String.Heredoc */ +.codehilite .si { color: #CD0000 } /* Literal.String.Interpol */ +.codehilite .sx { color: #CD0000 } /* Literal.String.Other */ +.codehilite .sr { color: #CD0000 } /* Literal.String.Regex */ +.codehilite .s1 { color: #CD0000 } /* Literal.String.Single */ +.codehilite .ss { color: #CD0000 } /* Literal.String.Symbol */ +.codehilite .bp { color: #CD00CD } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #CCC } /* Name.Function.Magic */ +.codehilite .vc { color: #00CDCD } /* Name.Variable.Class */ +.codehilite .vg { color: #00CDCD } /* Name.Variable.Global */ +.codehilite .vi { color: #00CDCD } /* Name.Variable.Instance */ +.codehilite .vm { color: #00CDCD } /* Name.Variable.Magic */ +.codehilite .il { color: #CD00CD } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/vs.css b/site/css/pygments/vs.css new file mode 100644 index 0000000..6db5834 --- /dev/null +++ b/site/css/pygments/vs.css @@ -0,0 +1,44 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #ffffcc } +.codehilite { background: #ffffff; } +.codehilite .c { color: #008000 } /* Comment */ +.codehilite .err { border: 1px solid #F00 } /* Error */ +.codehilite .k { color: #00F } /* Keyword */ +.codehilite .ch { color: #008000 } /* Comment.Hashbang */ +.codehilite .cm { color: #008000 } /* Comment.Multiline */ +.codehilite .cp { color: #00F } /* Comment.Preproc */ +.codehilite .cpf { color: #008000 } /* Comment.PreprocFile */ +.codehilite .c1 { color: #008000 } /* Comment.Single */ +.codehilite .cs { color: #008000 } /* Comment.Special */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.codehilite .gh { font-weight: bold } /* Generic.Heading */ +.codehilite .gp { font-weight: bold } /* Generic.Prompt */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { font-weight: bold } /* Generic.Subheading */ +.codehilite .kc { color: #00F } /* Keyword.Constant */ +.codehilite .kd { color: #00F } /* Keyword.Declaration */ +.codehilite .kn { color: #00F } /* Keyword.Namespace */ +.codehilite .kp { color: #00F } /* Keyword.Pseudo */ +.codehilite .kr { color: #00F } /* Keyword.Reserved */ +.codehilite .kt { color: #2B91AF } /* Keyword.Type */ +.codehilite .s { color: #A31515 } /* Literal.String */ +.codehilite .nc { color: #2B91AF } /* Name.Class */ +.codehilite .ow { color: #00F } /* Operator.Word */ +.codehilite .sa { color: #A31515 } /* Literal.String.Affix */ +.codehilite .sb { color: #A31515 } /* Literal.String.Backtick */ +.codehilite .sc { color: #A31515 } /* Literal.String.Char */ +.codehilite .dl { color: #A31515 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #A31515 } /* Literal.String.Doc */ +.codehilite .s2 { color: #A31515 } /* Literal.String.Double */ +.codehilite .se { color: #A31515 } /* Literal.String.Escape */ +.codehilite .sh { color: #A31515 } /* Literal.String.Heredoc */ +.codehilite .si { color: #A31515 } /* Literal.String.Interpol */ +.codehilite .sx { color: #A31515 } /* Literal.String.Other */ +.codehilite .sr { color: #A31515 } /* Literal.String.Regex */ +.codehilite .s1 { color: #A31515 } /* Literal.String.Single */ +.codehilite .ss { color: #A31515 } /* Literal.String.Symbol */ \ No newline at end of file diff --git a/site/css/pygments/xcode.css b/site/css/pygments/xcode.css new file mode 100644 index 0000000..46d7108 --- /dev/null +++ b/site/css/pygments/xcode.css @@ -0,0 +1,68 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #ffffcc } +.codehilite { background: #ffffff; } +.codehilite .c { color: #177500 } /* Comment */ +.codehilite .err { color: #000 } /* Error */ +.codehilite .k { color: #A90D91 } /* Keyword */ +.codehilite .l { color: #1C01CE } /* Literal */ +.codehilite .n { color: #000 } /* Name */ +.codehilite .o { color: #000 } /* Operator */ +.codehilite .ch { color: #177500 } /* Comment.Hashbang */ +.codehilite .cm { color: #177500 } /* Comment.Multiline */ +.codehilite .cp { color: #633820 } /* Comment.Preproc */ +.codehilite .cpf { color: #177500 } /* Comment.PreprocFile */ +.codehilite .c1 { color: #177500 } /* Comment.Single */ +.codehilite .cs { color: #177500 } /* Comment.Special */ +.codehilite .kc { color: #A90D91 } /* Keyword.Constant */ +.codehilite .kd { color: #A90D91 } /* Keyword.Declaration */ +.codehilite .kn { color: #A90D91 } /* Keyword.Namespace */ +.codehilite .kp { color: #A90D91 } /* Keyword.Pseudo */ +.codehilite .kr { color: #A90D91 } /* Keyword.Reserved */ +.codehilite .kt { color: #A90D91 } /* Keyword.Type */ +.codehilite .ld { color: #1C01CE } /* Literal.Date */ +.codehilite .m { color: #1C01CE } /* Literal.Number */ +.codehilite .s { color: #C41A16 } /* Literal.String */ +.codehilite .na { color: #836C28 } /* Name.Attribute */ +.codehilite .nb { color: #A90D91 } /* Name.Builtin */ +.codehilite .nc { color: #3F6E75 } /* Name.Class */ +.codehilite .no { color: #000 } /* Name.Constant */ +.codehilite .nd { color: #000 } /* Name.Decorator */ +.codehilite .ni { color: #000 } /* Name.Entity */ +.codehilite .ne { color: #000 } /* Name.Exception */ +.codehilite .nf { color: #000 } /* Name.Function */ +.codehilite .nl { color: #000 } /* Name.Label */ +.codehilite .nn { color: #000 } /* Name.Namespace */ +.codehilite .nx { color: #000 } /* Name.Other */ +.codehilite .py { color: #000 } /* Name.Property */ +.codehilite .nt { color: #000 } /* Name.Tag */ +.codehilite .nv { color: #000 } /* Name.Variable */ +.codehilite .ow { color: #000 } /* Operator.Word */ +.codehilite .mb { color: #1C01CE } /* Literal.Number.Bin */ +.codehilite .mf { color: #1C01CE } /* Literal.Number.Float */ +.codehilite .mh { color: #1C01CE } /* Literal.Number.Hex */ +.codehilite .mi { color: #1C01CE } /* Literal.Number.Integer */ +.codehilite .mo { color: #1C01CE } /* Literal.Number.Oct */ +.codehilite .sa { color: #C41A16 } /* Literal.String.Affix */ +.codehilite .sb { color: #C41A16 } /* Literal.String.Backtick */ +.codehilite .sc { color: #2300CE } /* Literal.String.Char */ +.codehilite .dl { color: #C41A16 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #C41A16 } /* Literal.String.Doc */ +.codehilite .s2 { color: #C41A16 } /* Literal.String.Double */ +.codehilite .se { color: #C41A16 } /* Literal.String.Escape */ +.codehilite .sh { color: #C41A16 } /* Literal.String.Heredoc */ +.codehilite .si { color: #C41A16 } /* Literal.String.Interpol */ +.codehilite .sx { color: #C41A16 } /* Literal.String.Other */ +.codehilite .sr { color: #C41A16 } /* Literal.String.Regex */ +.codehilite .s1 { color: #C41A16 } /* Literal.String.Single */ +.codehilite .ss { color: #C41A16 } /* Literal.String.Symbol */ +.codehilite .bp { color: #5B269A } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #000 } /* Name.Function.Magic */ +.codehilite .vc { color: #000 } /* Name.Variable.Class */ +.codehilite .vg { color: #000 } /* Name.Variable.Global */ +.codehilite .vi { color: #000 } /* Name.Variable.Instance */ +.codehilite .vm { color: #000 } /* Name.Variable.Magic */ +.codehilite .il { color: #1C01CE } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/zenburn.css b/site/css/pygments/zenburn.css new file mode 100644 index 0000000..ad64891 --- /dev/null +++ b/site/css/pygments/zenburn.css @@ -0,0 +1,85 @@ +pre { line-height: 125%; } +td.linenos .normal { color: #5d6262; background-color: #353535; padding-left: 5px; padding-right: 5px; } +span.linenos { color: #5d6262; background-color: #353535; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #7a8080; background-color: #353535; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #7a8080; background-color: #353535; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #484848 } +.codehilite { background: #3f3f3f; color: #DCDCCC } +.codehilite .c { color: #7F9F7F; font-style: italic } /* Comment */ +.codehilite .err { color: #E37170; font-weight: bold } /* Error */ +.codehilite .esc { color: #DCDCCC } /* Escape */ +.codehilite .g { color: #ECBCBC; font-weight: bold } /* Generic */ +.codehilite .k { color: #EFDCBC } /* Keyword */ +.codehilite .l { color: #9FAFAF } /* Literal */ +.codehilite .n { color: #DCDCCC } /* Name */ +.codehilite .o { color: #F0EFD0 } /* Operator */ +.codehilite .x { color: #DCDCCC } /* Other */ +.codehilite .p { color: #F0EFD0 } /* Punctuation */ +.codehilite .ch { color: #7F9F7F; font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { color: #7F9F7F; font-style: italic } /* Comment.Multiline */ +.codehilite .cp { color: #DFAF8F; font-weight: bold; font-style: italic } /* Comment.Preproc */ +.codehilite .cpf { color: #CC9393; font-style: italic } /* Comment.PreprocFile */ +.codehilite .c1 { color: #7F9F7F; font-style: italic } /* Comment.Single */ +.codehilite .cs { color: #DFDFDF; font-weight: bold; font-style: italic } /* Comment.Special */ +.codehilite .gd { color: #C3BF9F; font-weight: bold; background-color: #313C36 } /* Generic.Deleted */ +.codehilite .ge { color: #FFF; font-weight: bold } /* Generic.Emph */ +.codehilite .ges { color: #ECBCBC; font-weight: bold } /* Generic.EmphStrong */ +.codehilite .gr { color: #ECBCBC; font-weight: bold } /* Generic.Error */ +.codehilite .gh { color: #EFEFEF; font-weight: bold } /* Generic.Heading */ +.codehilite .gi { color: #709080; font-weight: bold; background-color: #313C36 } /* Generic.Inserted */ +.codehilite .go { color: #5B605E; font-weight: bold } /* Generic.Output */ +.codehilite .gp { color: #ECBCBC; font-weight: bold } /* Generic.Prompt */ +.codehilite .gs { color: #ECBCBC; font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #EFEFEF; font-weight: bold } /* Generic.Subheading */ +.codehilite .gt { color: #80D4AA; font-weight: bold; background-color: #2F2F2F } /* Generic.Traceback */ +.codehilite .kc { color: #DCA3A3 } /* Keyword.Constant */ +.codehilite .kd { color: #F0DFAF } /* Keyword.Declaration */ +.codehilite .kn { color: #F0DFAF } /* Keyword.Namespace */ +.codehilite .kp { color: #EFDCBC } /* Keyword.Pseudo */ +.codehilite .kr { color: #EFDCBC } /* Keyword.Reserved */ +.codehilite .kt { color: #DFDFBF; font-weight: bold } /* Keyword.Type */ +.codehilite .ld { color: #9FAFAF } /* Literal.Date */ +.codehilite .m { color: #8CD0D3 } /* Literal.Number */ +.codehilite .s { color: #CC9393 } /* Literal.String */ +.codehilite .na { color: #EFEF8F } /* Name.Attribute */ +.codehilite .nb { color: #EFEF8F } /* Name.Builtin */ +.codehilite .nc { color: #EFEF8F } /* Name.Class */ +.codehilite .no { color: #DCA3A3 } /* Name.Constant */ +.codehilite .nd { color: #DCDCCC } /* Name.Decorator */ +.codehilite .ni { color: #CFBFAF } /* Name.Entity */ +.codehilite .ne { color: #C3BF9F; font-weight: bold } /* Name.Exception */ +.codehilite .nf { color: #EFEF8F } /* Name.Function */ +.codehilite .nl { color: #DCDCCC } /* Name.Label */ +.codehilite .nn { color: #DCDCCC } /* Name.Namespace */ +.codehilite .nx { color: #DCDCCC } /* Name.Other */ +.codehilite .py { color: #DCDCCC } /* Name.Property */ +.codehilite .nt { color: #E89393; font-weight: bold } /* Name.Tag */ +.codehilite .nv { color: #DCDCCC } /* Name.Variable */ +.codehilite .ow { color: #F0EFD0 } /* Operator.Word */ +.codehilite .pm { color: #F0EFD0 } /* Punctuation.Marker */ +.codehilite .w { color: #DCDCCC } /* Text.Whitespace */ +.codehilite .mb { color: #8CD0D3 } /* Literal.Number.Bin */ +.codehilite .mf { color: #C0BED1 } /* Literal.Number.Float */ +.codehilite .mh { color: #8CD0D3 } /* Literal.Number.Hex */ +.codehilite .mi { color: #8CD0D3 } /* Literal.Number.Integer */ +.codehilite .mo { color: #8CD0D3 } /* Literal.Number.Oct */ +.codehilite .sa { color: #CC9393 } /* Literal.String.Affix */ +.codehilite .sb { color: #CC9393 } /* Literal.String.Backtick */ +.codehilite .sc { color: #CC9393 } /* Literal.String.Char */ +.codehilite .dl { color: #CC9393 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #7F9F7F } /* Literal.String.Doc */ +.codehilite .s2 { color: #CC9393 } /* Literal.String.Double */ +.codehilite .se { color: #CC9393 } /* Literal.String.Escape */ +.codehilite .sh { color: #CC9393 } /* Literal.String.Heredoc */ +.codehilite .si { color: #DCA3A3; font-weight: bold } /* Literal.String.Interpol */ +.codehilite .sx { color: #CC9393 } /* Literal.String.Other */ +.codehilite .sr { color: #CC9393 } /* Literal.String.Regex */ +.codehilite .s1 { color: #CC9393 } /* Literal.String.Single */ +.codehilite .ss { color: #CC9393 } /* Literal.String.Symbol */ +.codehilite .bp { color: #DCDCCC } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #EFEF8F } /* Name.Function.Magic */ +.codehilite .vc { color: #DCDCCC } /* Name.Variable.Class */ +.codehilite .vg { color: #DCDCCC } /* Name.Variable.Global */ +.codehilite .vi { color: #DCDCCC } /* Name.Variable.Instance */ +.codehilite .vm { color: #DCDCCC } /* Name.Variable.Magic */ +.codehilite .il { color: #8CD0D3 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/fonts/Geist.woff2 b/site/fonts/Geist.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..6fd61c44dbbbede2b274bb765fb83f75c5e26872 GIT binary patch literal 64184 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 Z9l1KaEN!|Y^dj@eBco%<{=&Qt006$H)jI$H literal 0 HcmV?d00001 diff --git a/site/fonts/Inter-Italic.woff2 b/site/fonts/Inter-Italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..b3530f3f5269165314114a9e1c2f129e20fddcbd GIT binary patch literal 387976 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 z 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 z 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[G8ma>d@I@Ptv~HW&n>5!LJ>IqF?wh27o@tW3v1 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 W%eOyDp`ynDC{VwN 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 z z>KwzAfZQlGj8R6Uqs$ma*=rc(%Qq?-daOjmu~N~-Dx(~$l5VUfzNuExsdn+HKG~^3 z#i?30j9Tg34rveE*X$kx+j3Nzsm%qKk2%F>Dyf|F#Wh2 z2Bx2OBfvE74uI*h?hui1gTy$&jEnnVX3A4AGwZ)_v+Pxv+3IDgIswB2p~upLz)nfH z=m{SuIWJ6v6cRDbL{cx2GnFV>Pn4AtHPu8@Gtt#fZt5lmdWn%iVrrCF!V?c}65@Ii z1xymmlQdD%;5zA7NQU9bH+1rgmMq;E&>3GC7jWCfJ-$B_cX+xu>KQ0bVN48Anl1yg zmIAW}fTi;oWkRv)GGH~up<1(GwPnSdo*!>UL5vt0=#!`rFqHrX7H+w&)YZCH*ZbN2 zlIQRbbPP-^Y#bKZ-1^ZW$!J3iz(Ym{fR6xhK7fM&kSZWoKnOq$fP{dq0@efE1q2$1 zMIe2ETm-5rP}70MpMa&;082jrM?4AG{t{sOcfj%q1Pp-djL)3#@AwG-t|NUzbh^0z zi+(Q8EGg@Od6 zsaS7T22V#|Bns+KHcW^sOW3&S$2*#k4G=;Iu9)Jw$0lsb6$$`^5f4B7LeJ@@XgnTh zig)HIm2OJsi~_UyH8qo(Y`)W z2ehbh;W11V!V-u{QmsAt+nzo~-Y_ypw(lJo%}7rgKBu2?Bp35NX;rBMOd&ijzq$ zBv-^0=bTq++H6owIBi*yrkrYDwpG}Ub7eZc`Po~D26%wM2=@!Ku5H?Z^O9m*nkG|> zh=j>V5}R--N4)G6kRotW7kDKp<|@uiC78+Gg5wJYxTsT;D$jbTB|6G{)OUjV%e~iq z^v!)UIPph+dFP=6(b3CDd2rG=Hze7?V>6nM_5{$mU+Wfqj?Zapi_dOvkI!jQOmh0g z&Y}7{nyLOSNjt8XlL-YPG9fJ&%90@BAWranf`%Z1NgQ>GGCnfL!1j`mXdmGkzRfUa z8+b@H`hxH29%80qdlU04DZ^${o;TFhRT5MJKPjqnk0C5_mx$@nb8K|b2({EdC>$PQ zYt%F%oedS!6w0!~WkNiLkmU;8QfS2z@Bg&!q0hInWhv_H$JCbK90l_n-J!Pp$JqL7SRGEY*dI4_yx z7FT5*9c5($fwXKW5Lb3k+4y`Fw@Rrs#TN_c(!M3rwr>y15QY5%#j+{loNYS}x7tWK zWaHIQxpQUxCp%Zwe=ML}Y04E6=3Eg|cX`;3exHYlxJ6*f%fvB*qKMX&LYj1NLcx)9 zFA$S@3&01EjUPQ%p1J>)^Nd{FP&`xis2(JHky_MJGy7kc{pm7H;dIGg(`JHYL_BIs zWP5VfujYuItoIg)8)oXQL3vdpZjP+?E!Ov+eJ|suN&Wa_l@xv~*A*`5u{f~q^OL#K z;1_qasx@Dpsinoltu+7micYrw*VWE)PRylZ!-)lVY<_32b90?&nN&i*e%m`?I+Hz7 zT6U^rk!(!|FqF+{>X9Z-@g{!2TcR?G< zd~n$sN_%hxvJ--fWVK`-UywC9X%Dt`p|CCY+l8N7p{`5ce1EI@Zy_aj`ehxLPG6pQ zlRJ(2sPR;9R{dQc1Pzzl4QGXW2F@bOpf@m_+%}*qMzWy_4DhxBgND8`YL1&pmdOpB zenq126P`IDR47r&m1%76>W2bRiKJ9D6BS*R1cIj5@e zU1-c}f;piV138k=OFgwxL-YMZmv4&oSIJz>)+*B0>?$GL&7NGjrI|wJHEe+zcAC5- zCa9s9#y2m%Ufi_v=Afu5@1|{r$bQq#4sSI{Drent=M%2m{WHYw+k?|2;a7)iM50$M zH3EXVjoFrU)Bw?I9dk97mhJ`7iqzN~TAOlbvHqUs%fx*x;o^FE3MapI)}7%ZGWt3v zO+J_=!{@v^;`$GSt)sI9u2!EJ^WQzk=;vjxKfz{X?=3X9-F55v;9YMH>c1OM)23`h z-O8|TLu)mmuDR+#nZm57^q$=k%*}aML#^dY3zoWPb<$d~k;%qG83b47UejoyYi_$S z0~WN6X32`%#)?(0HtWnlTAO_%O|&`0V6$yJEs>S?r$sbWv=wtDixf06lv5ATgml@B zp|n72by1?Mrq=pxv&k|~)Bc;$w6%|Jn@VlBH`~efc)Ll1BwwinFS6UqF9wp1d%G1_ zhr3u9dpD-9WfT*eL%KuT#w=X`XLWV9-q>WzOs89&5x;_p6~9C ztW41EXqhkVrsgqb&v~5T?YTXxEw!h&To>pWoQ61ihSNo+p4i-)jJUQY=}Bl!b?LcY zKxFQ`AguKy5?N!u2a|IpQd-Nnxt7eUwK@leWlCc3%X?&sP~NCg_+|BIsLa(V#^v|_ zW$795^SS&cxd7Jj%PqOl68v6+yz9PN=_Bv!P;YwgwVdv>-hNYBw0B^pY_!+riKJDW z`9fW<%X4B$$E)L>$yQu*9wp~Eq(IyYtH64V?(vBGzOp&8zF(<$PTx=k@9LXeGa=~< z8y+a`|Af{o=x;6$)Udf({ZTO=2L6pUYX|PEkki+@>g5#mmg+0>8U}{SoHF|lh1XSm zODcbJkn_la3ANWe5H{RjIKVGJ#DM1Fg_|dCP4~|nY}r9e2HWR)^n=6IP=3QwLb?Yz z5?mx$8iy`&H*`Z+xoh;d8*|~%VCk41Ds!8Lh8K9Ws*63UAxrgS*K$-xJ?hP^u`&B3 zaMifGs;Al^ZrD*n)N)%kl$@{YhOa-(QehE2+_WQ^7{0Y55yxt++fP|--4WT{_FRI# zpy`v(mlSxH4?9;k3tm<89 zds1Bnl1kH;3JaSHNn!g3XROzG|QcE(D^yfu|Ym}N!EV1On$)rmwt(y>5 zSM@V5s;e2-%Og$e?TuKA2!U06*EWys+Kb1uyT+**nNT^+Hqu+xFY%EhVceN1H;=?| z>y3#erWD9VDAH-%lZC2c^+X2Ao>7g~p~@BEL6EJq}}0+Sr}llyIzV zcNB*R=`+=?-N6wfb9i!WYzd8wS?4e!2w9n@uHZC+b51=~i$0h!bj#Zl5<| zRao_LWXf9DqPOHP$!&I(WmajOrN+jtP(}84h^6IEuL^6W_U4cCO?x+vLO2}M^jjT9 z)1<;-azHu!tP0y)-$L6(nh@;**T@Xu@|Fx{fwdY4hoE9|h5ItgxVy@|3iohE&^H5d zx^3FHT6S|%?4B$JJ~xJi;Knf*Jm+zS$}=_{x}miKdZ9giu+ZC>2Mas_!62hedLn|} zq}Qq&DD%2h3^kFLN-NADKfriZ(XpqGvC;ACP&+Pq%)32do5uPl`=GKmFJGJ0))q_# z4a4%qt;fk`U&}Vl3`{#T(|rS+Sgz4%NZ)XkHR|*DOGQ3WO`&f}g))n{&+c<~oHQAx zgDN>N;3MPLTcEL%?lzri$0XTZtT}AW=kG0yvHp=cePO?Sjjg~xDe8&(3S$0%s3SJj zUaZ2V?ys1*@Ll`bsp!;5{lt0d%c^|laA2)>w=FBO39P)<`XDmUxTrNVFhTZ40+XVy za9}wxMcyz)HY8R9qPB@JIU+6;c1m^Px;!{}KwyDegT4m<<2;JIt&S^lf`DzZmEw;# z8iPic!0NGnf=7Y%f{1;Xx*r?ge_@SG>j5OI(|mv zTZTk@_Gy7gU__wP6SZZTpmBI2db0{LqXdBw9t()Y(irRd#OB;7u_@k6F1bJ69-oIv zv&1Rx8yN8I_K_Ov8jDXYgK`!Sv#f17ytrxHO{rP-F$6_XQR3svlDy2%rsHBgK z=#W5?Xq%KVZtIzNW*0ETRF4L0PrwwJOl`4<36A4p!%dqwb7Y92NwhYMGdn#ZceatS z5UH^gHN&kX&p*q=_PLiBW|xFuGpV8lYS!$-*npsUl8s2P(`>02=DZs-Cho-yEP|%U ztxsVZeoqUgD(>7T)^DlftpT2T#s5K=*w1YxS z1H<`9rM*jqx-uLHwp1q=EYXQS66j`oF=vPd85GpVM=K43DL>~^!(WVxT+wk(y*F=UN&7uxM)bD^fvekLF3r{#{aveI}?=31#Z z6C*0gYo)oe(APdN?1{JAv%XnP<#ki@H1U)Dh-_}JO9@eiKOa*b&}krZB_JfI#bN-5 z6uVw5kb6GOf2Pc@-_3KC6Pg{o1kCMjVQ1w7Ai%E8eXx3-U}bkrZ#+#Xyz__eIC!wl z{*408|aq z|NZjw`+%3fK-3kgwhG^W<+}z4sJJ?8!10wLwHNsGM^7Uh-u=m^w@CQyCj&v@?#~iN zpa~KHa7Vs&Ze1>Nz-#vB$VK5(vtuDGdr^Z(_fr7;4uIzp;63q$*QzRi?;N zp~9{FMX5rHGKCOx>a5bilvW;JI;P|=g(__ePcW?m2LQu@bS9J_p=juhes@>+)1jX^ zSP>i%hEXf&9Q(jfMY_jcH#AGdc(9Sm2R}acnmU*EQy=VZgN*6na5bFl%rA^xO(mOv z&`JI5X{;l3&Ux&pjLvye`m~!y07F_s2yOqf_rMXPion-x z7B!T6P2)wIiP_aWjE7q#UF`_h;Mx|Dg#IzT}gS0rRiu^49syUQa7GJ+efG zFLwR>Nh`i$PPwF1AT2x#)X91h{cQB}T>i=863n62Vhu&*MNq!I+*M^JfAW2AWm9RI zGEbSpV~Y;i$FZahWv2D|j7NEc9I7Ty;=9AB!Vlj?L6PLoOcIqxSHIzsZqoDR z9%;Aut#wl|4hI~pSzFem2Oi)-G{H+hri5SNi|=psJ31i#+g`Q@X#0JGdRM9K-&NKF z9xTcXjIL9k*NF-==e7G6>xU}po2FXC$r{i`Lv{7O2yHcz+LRf}wkl?{DwuUK=i|;p ziTtXq!$mriTETh+jw(TQImyVN%h2sIkK&tClltOw2LuhbwvplHTy#+NFcdSwK=ryu zU93lqG=qWAI_ty+Nj^es|=@6pf8y@+5TNUNU-Hj}o{;W`};s=zA! zYH@?jz?7~3?g2if;lV_J&0Pg(AvVxT1OTnY7SO6Z81)t*XgurV)N_iFs_+;QWtma{ z?&+WF1_)pWZxVrqUqFBsK_X}}TWlL%4ZAD<3P2_I!Nk=|;iImgmBObO-zRla@oL!|Wfy{lA`9}z%$b*q>HTqma?L7TBM#sooT8qGY#zkLD#6%!yf z0U=@n!a16G1b{ICNeD}t832%F#a?{LRl8yNyH#lj%m5kC%Q}z8eT-iCj4@O{hWc?s zK(i_-WoUhZF_8r5s+?l26&xdk31qdM`RocOS#gsQ^C#S`et3bJ73ZVmpZayJ%J?%8 zI@ofCrM--Fiq|e&XYJ7y|CSVc@w84_$#~U>hIBo!1L0I-7$GxNgJc@I)6*O<6vn4T zjNfeQ^>r(j`peYJ4VE$sdtxUM=y87Q4TWy10G9Y;+U&m4!2l=JyM9l<(;#3`jDe5t z@?XWzKxj^^RL!gH&@mjWpJ=7vQU|RWuQF~yb`Z*1uM20{^QDw{A<%2{o?&?;Pb+0T zN&2k-ClJY6DVSPJkLhsc0Mp5~z2k50`;&$L8&3^@Z;eJ!4O|Kw3I+ab!rGUG!V12^ zy^2`$2C*?)M&$7=!)EEXWQAyGz-mFVnZI^Xnl=E~eojsB&ciH7>iTI}(vZ z`5JC11k7{=^;dwrDP37~TZW_yJDA+U%SOB~V7BMrfssh9cXtE$tpJc zv@p;-+1`op+~dj#K)xnoas^`ubeAZue2o8PQmWjSD@3JmrX@~VNQGLDl~_RBs(c}> z2$+9LM(j?=yW48k;s#(j4b9C;zGs&m08)ex)R9sZ7S&awK=atMY*Xq;W`7=s6$69w zkQ|%d5lH1h|DK+z5HJ_|N&=W-I6S)cw8`V_aha&ZMA-TCU*(?nwn0_;MlDf&WqKPk zVl$4sd27)8WF5v_Ky?pb z^@=+7Ss)2>F;ku@hnBqa6i_e5in2kRIZ}I6DQol5foUh{^H!kvN_LVe4%N856cZEDXp|yr+T3St%~7*!B*yoiTD8q^+kX=YGbt0ol2L%E z>wV9(MSua589s!n&ELe7oZ93pPi;%GX3%xOrA9KjT!cu389SpZOVsIWH06C>Vgive zSxT5SB}GTTl9}5ozJ|J8CXmI_qqI_NxZQ$e;nZ1g?Vo9Ek$|jPksgRjCl7=o|I{xQH??ia}wBjp)0COQg086Lm)s17}AYddB za`Pt^Ko$1@CJLZctZvlJ?r@;DT%Nqjq115+G{9o3<$V<&3lM^3xG>mm5D*I2b-mmR!qh9ibqI`0D+e8%T)Q@9ra)PfqwXJs?@QR zfQ235q38AGSXy8UmY(i#nk%@Lo4B2)xrYaN46Ng60D=Bl84G|mvIs*7MPyLI67PkB z9y*n*GFhoy>+;s7j?^57@n1cOWoD~?dlU3j)X(?_7=qXz=@a_YKAWGzpC_LEPvP?~ zM-7#lMf(*Sx2{bu`VZ7$%ai3-wp9u1yfSNOx;^V}SsmX+KQtQ9@1*W}D<|^qMM!f! zy7Oyyq^ck{_IgfrEa!%Z_wMQrx`t(*bx?No_R)D;tXzEtJWqQ~oW z*7Ns2r{x(%ajDlwLBq_+CFi_xq9<|ECv!-Ld?-hE{`v;a>c74p{F(VFUT?8`+g{p_ zfuPF+2?i{ub^W2Gj6G{0K!gMtigmG5=}$491LHQ?q$*0KVy?2}aMCPkl_lIN@MA~C zjS6Cw^#M3PW25M(skt|mP=3W>zg#*E<-_}!q_LZNXBdhXJq(w5c2iOM6=vSlkLIYR zx{;ToR!an({9EOK5~P;dmtIzPIB|2nG)7m+4A)6|j9ts&r~fthuMHhITlMlaIe_`n^KX@D<<#KSWprJK zM-zE$ayXS_4*gyM?vvNpk)!uwD)@atjr!JX!O9Zkf8hW_g`eyY?tlw-z-@8!;bq70 z2Mu>>wi54M+}7gW1*#lljeM>-OuECfBbq9`m+w=^a%mi#TflFCm3XW%THW_Zoz(2l*@T=NaxcX2&y30|3BSzJ342QCvl@B!R=s-OTC<1qH) z2)6K(Z~2N-O67`Iew9jBc~#1_)-slFrxl~r`Rykrcj7wk<@;4A@}ORnhxPJ+M^!qu9#;#=lWHYT ztL<@~)qA<`c^a2rb`bKmdm!(-hw`EG9q_S>=tzHcHImQ2osqwP`~QG1zg_FkzWx@} z#QtwPC>gscbms~F8-|{l@eq49XyI5dE(l|y;eo-J+iGAjw!S@nQ?R4PdYM&Yb^i*D zb$z|Y`u?LvVlS3o(Vi!91dJDn#l!egp}B^Cxmicd_I&@0-3vXYE7(hXUbUBcT(_6| zigB;-b&)+x-?Wc0~^yh>(0hvr0EmZ=Qw7(AvELHvGhLs#D{JC zx{-!YBo`P}HN%YlLuZ&kI%Z@Z+B=R(06Rd$zfWkS)9}mO@6qNs%>1Kk9#?FIUuR^a zZFW20sFPf_tc$L>?SZFWdFQjEp@SIgAJS1Z*u#NxPne)|i!Byx#ts1?*yV}diBH;- zI~HCp8g!$(oOMhZwF5rX&zSY zzqN3Gr&hv)QKK*!T7WXcHqB7FEqfP*WUHMeSDh^R>S`%e&q(oZ8d54G8U>Nc1WThl zBF)pO(keeJ?FzAUD$LTYDC=^?Sy$?X^={Q#@6{XYYJIe>Rg-nSzF4=aW3GFJ#NZ&) zGkUbG&E9kQw$Jy%zT@k?oL#MIl6MxyrOxmfiVt{cIPxQ;jZjpWb;C>tiR!pMuM{>9(p``ZqW9xwD!pf9J|7 z=+dZgp`vpY_uH~v-QDGedV99#)YnV0271*R>~(9Xx9s8Gu_=9MkMyxU+NU<^^?pP4 zf$yMw=FfzE=jW?`)pyarOK9L4f$MV8B|d!E@)O2Rr1jiwblf~Aw}a0wR*U>#*cJXY zdBfBTjj+!)IR3u>YTE76y8nT*NBXtT^~U18UtirPliZp5To3hm9=T7x#~g5ne@XL- z<0`!N0_ArL>uz=4691`Td^Ua$)Z!215BHaPrVIEtZK541Gp402IiNf-H@-c7sz?hz zt>EW2eBP^PEpKmYJTrZDb6>=6?aT4(u5Rx)usi#DJO^s4=l31rNk$vLaT48twy|k0 z8h8jVr)n|ms)1p55h3yevk-r4NWucnisc|;HFvFSYtP1**cWH`6jqc|C*!*gL*W%p zr15`s@Vu_q%lG=D>^B$Zb-%^(-zV>ZZ+^iz1%L31!R>N? zyMMvn{h9x4U5_vNooW0p?dRyHL(?zl*VLXmsCQbcbsjJbvUrJ2ug9+G4eF}iD%?hl zPVc52yfy74t+Y$+UOL+|bX~%*lM=@sw76IqgZHmd@$&MdFHdJaKm2Ss_;Wb@R(33B;CwK> z|A~P0Y01fK-Z#GYqpk7LdUuJEqS*Iw`}Fu;9Nk71pZ^AzBgWy{JTmq$X6_t!k*m^O zEpGQe0|=Lm1J@?mT%;oVk0{KHLKI=I93BiV<10AA7peGX=e=w2-Y-y+r{&uh8-kGV zOJ+7->*E@K9^aL#tu}gRH_B1UoI!M>k4e4;D8?$AQ9F#^$^cKBC$LVwQd-MnN zhiL{{COehlW5IHK+#V=NR7O>*Tvb20jXHs-M?(lBWr!dNsYb{`9wtM9Pk-1~&)7rv z-81oU-F#*qrJtXrC&S(6{FCipE2YB!bo^8uUXWiE%}dho7LLmcWz37l@TySHE@M#7 z-@rIV{qUbC4_5EQyWVg<`ip+7I>*!4K`IsDjxMl#Tc! z`J?=!^Wy>Hq{&kr!XKu)-9vC)1oJ#2=4?1{CEaxuALa~`Ljti+1n?}M4o$SBFd0lP zQ>0SJS7IR5$TV<9>LECTX)V3KH2G-EB&-syP+KYn{44}|n$V;VG6pkZy$xv^cw=E; zp&QJ1GK1D1LIDXp?P1C7_kn68&_W**EV0E2cVfbc`JMPX^>^0q{GR|NR8ni-aL;&% zCfey?kTIs1V~KTkIOL3L?s?fdsjH7Tt#JAftFJ^hHF6xTOXO){$>g)-L`o{zO$J13 z=u=!4nW!|ny290)pgt_FIzLr>d;|#$3~L2HSG-5!B0duq#~ipN#C`Ol2Bk|}&gEO- zl~|eeu_~)Mo?6S^3)h_0TjLsExV=7e7k#qJ(sgYe$-D9XeA{4yZDDzY-D(B;reY4yO!nUhS6}gM62c8R*M8Xi!2ggXd~csfD0O$EY0! zN$E71hcb&xJ7>^NW-ta%|0Ntl?ioxcRl||dg6O&(w_IH0!XA&x+<-o9%sv?d$+h*o zOs8X%N&_eUT8tmZEH=;HjDh>|3rE!jhXV>>U$ho7#rKEWwAh@t=6zNTOJ0~2vndN# z{Erg-lkoH9C-W!or#Kb)n#Nm4+R~kYjAlENnayI>=Kp4p(_G~)&lwdhL}A$^HjT|@ z3k0$M|6xf>Rk|{lqr4TWulkcpSH8;CsBVpFUYk19wXzQ|Q=ZpE)1p<;o=7SpWpx_% z;Yy=5Zwt$)>6<%vSsAPhXBvF8lBfWCHxN+O_Y@YgzjVYsvtXET@US>dQ&L?lg_{B7 zQ7!IJR@FKxTepU}B2j@E$!Aj&^*gmIo*G@g^>w%DJjomld(_1 zpWi>)V{q9UrpPDl@1|mWOqKAl8oP0JB>V_Q&mk9?WHo$@FV-92Jblcd%g(~-gu`#l@@)M-Xw3&HDrbN zbRb~BKd7xt43o&L^I1$jQ}PR|1f~*Nm@wPnLGT2z1jLX+4qnQn?p9G4Vum&LxF8`X z@^>7wGq5q8(=Op#3MI3E!s(ui^Sh8Ts`<%<%z9erq;F=4pInQ%1u)D6GyGtMP4+lG zW2f?QL!TxXu*Wo`ljw+M5m+y*S`?S|OcswN4#g(lYZ${8?g&IQl9AoBlTbSbw~^Sz zDx(V@{21#TQMLaBzxgBo`dfw&%3vm{vJCr^6z@*jPqw?2@F6J^q?EWSb!j%Ya+Iah zk@56qNJ_e+@5SJn{QB@5W!I7?&d)~Xn_Mk;OJ`Ou9VfN?(89NM zD)L=+01-pC*69(%<##ygdrT0b)S9S&VYy}rE3l6ll>ZmWU;awvU%VZLYN{9&_P?|| zi5<%^Q5f;uM}>GWXJww=*X=lT=DL|$hj>z1*ri~Sc_-PP&701#G?If`sQgVX+&9pd zL}ANX-TH00vwiW?vBT|wOn=Pol(h3Wl^xA#22;mgk9)BbIG?Z$3;m`t=@+mQnEe;} z7r~X#%3ppl%l~otEB-366iWJdL&ozx*__QC-3lmro-2u*U0DQ+sui`}_`u4iTDj9? z?RG^Bbyidx1eZxNi3>KuSa30Ro9MCAO3}2gDm>}D+1#`RyALgO*{UwCv)K;0MSH2t z^E%`>#LX_`{4>Xw4Lx_mBX=`w_&h>~Pe?NP>TG098q^>7KPZ1NDEr61@L|$0TxyJH z%fg=no#Yx*;TPl7MA`84+<{w}+IBoc-nl}*7! zis6Vfp0De}M&+@1e4b>3A|vsr4VaGhS^g-p$DI}x#PfoyBX&$3a}rswrEi-2?^r)# zN1d8QLH;Z5ACJrTYuGgT%-9^*uZtMUvvl#80#ZoPV|qca*vjdda56f+J$lvu6<1LI zS9{25n=E^y>;kUB;9WESRwXJ^AG6NR+$ez*#l5?lg@4|B-|YA|J^rKmyo1TO9*Z=O zyB&7}mN7NnU^NjfRpDp(0n4_|ck}an0iVYgFKB)|XBZW3e$*p&C^v+6IR$WKZAVWf z{x5d61&XJnbV+_?8(wp0!?byDYIl~YNvp#@vUkeE4&q9l#B}God_+d2n*#SnTWHkt)?t$|xkM`A7kd3( zJAFV03dN%ol!0WY<9!rHwWT%s zV{-bc{NC6C5OpowL%C z9_dwRUsQV&Y%BD)GI%?&#c`j;@+D&mvQ=ZDype~K*N?$am4IL`pzw*Br$|wp?QS^Lu%w#kO z#ic|vK21q8(Q0WP`dapLgx~m`3tZ(E_j$rg-tvj>0{SSt;2AJi1d*oFESgVC=wiBt zZlgQs0eYvzlt`x}Cnc#%M~1SLt(@epAcZSt7u_viRDhL>ua+>x3=OwX&-&>JT8$<# zS0ji1GRaAn&Wfpt;a~(9l?U^tr!=P}t+$tPGg0cH&UCGNz39^*i8o4_Q4_vXK4v0A zHinF@moSk!Ir9S?A_);rmsJS8+)3Prv8GeXzgGL&H@9%$(260KcH#^}rQcx=s5V+d z(7b4P8s_GUSwdDh%fhm=e5`hldeXCA^qRMQ;47a#P*Jy%`n19ym;R*Lrs~+0Y!^Go?v8k*BOm2xL^nn;k4??uupH&N50sv` z)ngf739VS3MroVsP&&MhqGRZ|IuVD@QF2V2T8@Vk%1FNDdls^qt?cI{m%07hpZ5`! zcmn7_1uu-AcwTy?(zeT0sp{3KA@H1v?ued4@rz+R34ts&hj~5%4I`A)Gqu!L1x z?KL2aQ~?s%s=-{o#}w?{qiO&|K& zUyrhRO$WGku8$iB0(%hvn#D#iKtz`l$f>9WXNw&2QQpq5W2zdDgOK({8m67JW9BGh zYl)nM-oz5ISR*AtiLJnf7{QP~8Ko=Vl%rTvOOk<>66r$U)b7gJoP5Aqus_Xw<@G46;`V4%}dSff3TC=l4QWq6ue zaE99>hR8N+cN78qgP^ujvsDY{cV9HtIPIY`zy#Z-G~&O?mA+x5(RBw%B{ww$vxNx7;4J+vYbQ z7Q10|<=xm@UhLND#NEb6T=8!2)AZfJ)12MecXjrOzaij3ZA9V0V}Ijev8Tk;gReT|`2*OQ@)KISb3Kh{t&GBE=8?(~eKv zX=j#O=Ioj)oo^WG!}g~2QHL}87;iiq{;*MBMI3i2;hvBMmzevHBBJV?;996NlxHKd za{^ylGKERy+S0hbOx~bX`K=Ux7{-?QH<8LsrExP^dh=xNNn^1`T2zyfiH6B|TKFHa zEMT!D!%uxwts;6V-#1r~qELuPi!8D#^3(%iS);%`O=T#L@UkLd`vg0(6=Frz3L)zT zF!EjI!sRE4p=wI-o*D595y`%m;J0TMgwYIiZZHS8hjJJIY4m3H)X+p)95&uTA@=xOvy-889?j*-7!+1NJRQn1ez+4Z9oEzk-5!&!aqzJ zK$}4iA}?FVrc|pY4Rw2*o+#yJY4l@gUNTuI5MMQpH)uVtT$UZ zD>>gU!$dnBwA1kh$?dW;c3H|jC)ng=k_YS_!8b@!Q80y5sUQ?okK-GpkSNqd9(|dF z)Wa|m;LgOshSb zGzR(UTFaO$$`-Plm?KiU@_2{Q16A9DoV*~;N0|U=oo06EAPB`|lt67glVRJr4 zNw6`^%1n?@lL`|P7ED+$8(OW^M_?dm;!EM+o4=q~XIcOlWH^9_z5Lhp@X?)m-{zn4 z99NPaeutkuL&xBD>x%Wt4*7%10Bqk)%?jilXZQb9p!^@Jn~r$JYZFIyj2y4@@Puk5 zyTPT2-RV+}?57FdF%r3T#s5!0ty(8#-%TJDpS1Y|oI0UhaLwL;U;oS*kjmRv{Px06 z?RVhFkhNdGu=z7`^%eiAL-}Xz{_cJ3YN70r z93Cd`AuL`DUKo$V{JZ*Y#`QUkaTb|jSP`e?Ue*GrmjPXL8QJDsl7fCYl40Sw zr2ziI^V6q=^YHH1(;dHwXY@%|?zRWxi37Us?dysC{thF5g{34i8l=w0tUR zyxFId{mcYw!y0&u0-nE7u6mGKb^u&Y!Qg>bRvr`rsB*X}&3!N`Qyrhf){%go29y`1 z&{W{S?B~7#O&w`)4nKf&yR@lg$xD*iCrIc+1;0eT@ciLi<$j=?j~BVl?{Vx~^DCD} z_09auxyF{8(Z{xcpDN&Do-LoJ^EigNi}tx}mlfNbw29_ikLqvcX`oqd#!wewqCeo3 zIsW&Zcc%Fg$;^M9s09~&xQ8iUnn)E)&UzM;*w}yAuOT0#_;zqL4z8S+>8E9Psj}u z+|4-trivte(aTqcLmZuh`~=$SS4JzkiuBy}r>xMe>6hBkmND@Cjf2te!q{j*pD_aE zJ0e1+1-yfG@Ogdhnwana7fHNV(j4BM+?W~e{WB23ire0KEIu2+wv2bEgbqjcWB9** zCeZM?fqB2$t8el@!x>TSWh{hw(ZSEY2<~`$KAR2t&9qlv_Fa6>pqHcRc0^v{X8103QnVIUpy?rfkeQ1pHq_)aYPW{`#rS3bbeui60^|P6xi>Vv8kU_$vKMl2*&o0IDqvhT<5eF6ps~+d^)_cZHvjN7xuUPm z=>o>$)1NlFeI`twKI{*hbMc-rH;uPRtWDq?v4k^6&Y_E8IiA6gb_GwrXSIzw&6V!P zcyE~17s?~$>{p7BVk}QWj^xwP+++@kL|+<{@sioqWPnK|q4ChxSeOz`mq-Q!p7}OI z1AI{Y;_vAk(-cNBnK8jRV=Ne9)ex$4pnY&g4>sXCkiJ%;az!jNZiJJDm@>ekKICRk zxYE>ifN9tc7QO2T;4}<$RAacG)|7NnMYdCDJB7D1-L@_lt(|G)U8_?^+bTTE^;=`D zI!9zjKa?4sn8GFA-X;9<*(!*NP&%vwqU%1N1@jczADk1f>Y*U*F#N)nhG=;qN~v$t zi+;m=e$V`~VCJEeMDRD@x8GiCLAF}7s)TqWZx+%4O^6S!UQ;yT9w@zW-Y`_`Qy15av1hE~ zn9XocxmyTsAjK+kdS1jV(dY@p#3)_iU{YB^K5Ry5`RfYAMQJ2fFmqe`y%wz?A7uBg z#>KpJQ|zkIy^;^ZfVVZJO>#qx@C=t3;vtSOz#W;2{lN7)CUkP?cv`q>SJ%K>vx8I8 zUlaQ)r`VDQ(8$63hM;H9n(1;wFR~r0LCL171uetcl$CU}DpXoM+XrrOW%4DSp_#Ny zsG$s6fn{J-Cj!HuRvivn#;9Q=86@c1%Nexo?TXf?QW{d9IP7RkNz>MvNm}9v6Eu;j z#UIqiMhjAl(f@bxOUN)lg*?!+kKW;p=ApOE>@)NzqFSYu{COdl>vU8nHQTm`ai7)) zmAp2inlxx>N|MVoIf<~Ql(=$uaThVLL7rZRE}97s`hl(|Qvy{lev~Cf-k+o{(A$MH zZ&rG_zjow~c&F#EK9yYIe zx-CC9xuC(>#{CmnS0g)A+oHul6%9?bI~va1%WA|Ys;Vg}s8t3>Nfo5|RApO^4LeW9nyhPyCKf z@;O?=^vhD&vOu%>N)+i-NF@I^%+9}rR%+fpu-;bs1Eb<$??>1YXoqv+BA7PSzg>PU zGbGxfQcdtvTg~Mu@-F)q#~5{~E-AAzo6tnc&p#J%{vzhCzeWr(~zmq~?rI6)W(8q`eQxY2`hQ2{*js5r0Qw_^;s>(l5V6Dy`qXt&FV!TE|XKAbR{D?rnkI2N+KY? zs8eiTy7xslStremlu)3Rq^K$ z&sj7XXk1(Fg1>qtPePvEtCanUF;a+S@Dpdbbim$sLX0gEKIl+RP7s8A!kVJ9NB#Zl zMcTx=Xj=yHVzosMJMi;cbBZ#)1UfA&>-tv+h+;Gf$H0C#R>x*{q?lD?YJJPT`-1@c z+OW#n(fTLI9}qOFXAP9%a=o!iVb-_0mIF2>fJ!H$KEf-K*0z0 z9sss3&go!58>?DSolR%M?xrpgg3DfVggCQjQfZrDaShi!cJR%X*}y3s(SlVPi^y-j z%nuZnA596^XU08p(mhjdS#*QkykfzZ*bw2><-Np% z@gA%(kn2EjtJYED$cGQnkKU&pRa?(HTW_etngzA=COgVVPdV2lz^7g$5eK&f6!T38)s&Pi=o zGtj8Yx~r+g4%#23+b9P%H*)6Oh*YVeDTgQ8FI?jpGdy?YXIK$YUoWFiU9#(;t?S2q ztU=ZdwRZv>J0?3;jCRZzzc&IL{eM-pv=eA=fl%$MUR9TrTfybB{qUt;0)1io74ynx3mI%dYQq;RlW#R<{65orP9FS<+ zWG*_?w!GGe@4CywLtW9%c^p)xEwd;-O8deck|7iwz(*HJ8La)v;4E;`2NrW; zfW3<*^)Y?VUjs5&gj@f67`?lI&z%{r9SQn`!aRb{v?+;XWzhQg=U!pv$Hle97O~>! zL%;3=VLq-TFtSG;GszxhK8kK>uXAsoo?>Dkf{ZusM%Q346^wjB z6|sXlj?2FO$D_iuKAy2Uubq^rpr^J@RuN4}=dt0B$|Pgxi)fhh={Kh2bcuAn5hGcl zY@@0l!EqdV1IkfQprA=nxQI=Av3xwNkXtz|{2_2lr;YgL)k?r%DzJa3EGk5{O%2Pw z+lRQK`;H%y_{5HisWZyH6j!6DKm|=(C>l~q=dst{F9jU>DuVYo{Q^su8rrij3w-{F z`nKF3k<))GK>x;mK8m#C+yy$$5`lJvO~F6N;$i*&e@W*V5ggbLgUnFCp^FC&ttpZA z7PBRguLmwL26)c%@~Of)OQ%bg!h&9Q0jGbqq=obLuDQ~B^_oJ}qm%{@>X&>H$#*K5 zK@5EPb|urg=odUvPZthSJFPi=si=q+ovjpv{c^wv487AFc7EE9BCR=R!t|l3N~mRX z`g1t+J2G|iHPTt|20ylch6Um+TU1Q=MFaD_QnLS5fD_cp^~>_w{2%tMmr9xYwjYgN zpUrhjC~rZZnp#*)Ol8P(Om>BhiYW~YKe_TNa!6*(Q4bzZZ%F?%!pW4TLuY1%$)WU$ z8^4*zpp@XT_)nv|($oJL0$crgU0VI2ePQ%&2s>%tq%~W< z*V2xuQ!b4DSx7>2p}pqRl<_6#_RE!@xpCkXJktKNQCuQm>yIxDmfd@?gM&pqH@2nf zo=6KyJ&060d=eTZZg3VpnRE3O)SIUC z599|cKi1nXA_g&|`lXgu*1n_rjqWnd_EMi43>EyI0t2+X6Sz1_K}Fz%F$X+v_pfzy{h z$;v8rrXU+Cx@1_P+9gT%2}p6|*yZ`v?{&|MU$*w+oHxI;f>rBWB-q0NWQ9_A0&^rVeYKuXzVObMrz=PE`E=x{_j7{3A662}u9D$e*zs>7UdePB!O`6)YGekVX$cZ_0>;EY$59i}Q?l)$Z% zD#J$Qrt)lz=n+sxVsJWI%EU!LEX#9@BUo`CW5Nx`H4ZS$b8KVP?wDMm)^vuR{KtcX zcmzARjO|i#=_yzz|2afP_V&EYp&Qr7=hnFDvRYJf>4(jpfQ(o~++TaC-B0G<+aCwU zzajVgyB`bl#r{+OL-71}aoJ}Dqi2Vd~Z$K3iy|KEHMAt4twY5Z085D)(t ztvwH@>xyacbRSH2;$Ql=RK*qhw_E&#-RsEaBmREP9x&DaP(D9cFWrVamP;RYUVQc6 zMf6kc`M$?(L;r&Ro3jQ#iE|9_QT!8+bo|5_K7#jPgop6%U-k^%oWg7wKa96xjB5Lv z+WY=|8(x55Hhl@~hrM`y*m*a0CT$5vHjjWh7d0OOfGQpxfmAPN{v$>PRh;mJ%+jvx z(CAP5cTF>n_`>W@555(pO(CZjD0C_#)WB3ViG8-}j$yR)E@;)CT)AWO@-QAoKXV;#)7=CW(4NU?-adrw8?@H!vHtIb<8(d!OI?}+69Mo@J+N5)ze0%3(J2^ zB|=bLyT>_K@!_8$**E?xtM)_#yQSO&wl(;6t;PzJ`Yl(xwRKiBTk*Tv58u>(xbe5@UL8lV&R}-~;oFf$pP(O$R zZ1_gH@M zUzJwk-L<}f9;(n{%x#{xKj-tM9D}?srzU#{wo}E4FH&9Xkss+cZogYu%DX{%R(9>$ zPrG+~Zd`AkSW|wLmNi@^Q1Ll+mmxf6HkZ#iZN5@xwRrQCxrDv$k0l3V+FMf3MMtME zMqp5N30AsxvX6Q=zxs;3*=8u8F7_%Y0S@4^vX9ec< z$5r%@)uc4@5j?~uaOS6ZH$HaK_t$bf|8M~m428dOVQZJCVJfA%JcI{+Cr^b*tKE1CvD%`$(tXyAZuY7j}EEZQN325x0@>fJ+{l~oC8Q|FE zlB}};-BQ3v|5@*3eDJ9lo3PY9BS!#<#wi-i1e0SL?=d>D=meRsO13+csds#I8c306eK`{u0Yu z9-r@v+lqU6>>|>*#{Y&f$^g;++;vh493d>J3RH!lBt9iJYajWQw}Y#qmSnH@7`U)=uv$PeOt7u|>tIR;Y)!b1~xY104=LT!?;HUC%Xy1`Y zZbhQQas}5+g{4-faY{6VzwrMn4Ai3|{6gx8EHXb}Zo}$z6ausl97*&dN}3ey>CZ_~ zb^+e;?;-*Izk}sN>k~7l794=oI?Oiy`oAZ$Wm&J|`H4b7eBE4T+Tgme*~Beui4Y!6 z%hFxfVY^*je>(Idm9JTdPD84r3K2i1H%z@FB6(b;JBh{gxYtx1Pk@D6VgJlQx<-$wWK)bL-jy_-(An@3v)!jepzv!(xIYvi^R9=f7AAuF!dTw?>u2 z8nOyL6RO;17F0fs5`8Qb|0c$pJNCvQQz}bKXWP#d)$Rx;(NtBWaIudAXwX^PVeWv= zJMvvb5GETR6z`F*)`DAjW9So=?j4m?Vgw*?&oD)?R)uRSh`9u2qER}yIOQ4!iCp2? zoM-$ucVcBlZgJdci@;$j-Mxgsvr(Pfpyi1&bx#9*9JVsAWbb5vWEg3b=@u+GLcH;v zZuw7vyAG-7EZZtxG^Z{;g#CfgTd>?baOBfx!orS09I^qwYhUY)WfF%-;;a3UoB*}2 zh&d{L4v%InQzPdz62y`|1h!|mj|!|H;*XL;VU=wJD#0}oA{K;hgGlfw01$?-YYKzx z7~WTnaw8*>D3K6vxz3Fc!jgR%5sI8@n!;P7HBP`NlW;SbKKh~p)?SRZ$B?p^da0%$ zw(#KD25D)IL_N5Fs@s&I;7i#C??ciu0c)YM@L3y%DFjYk_^ zH_&L_)~H+?J~73jp2F1mTd_gNa~9&u7b3T8BKYFo2?Lo&sDa{fvP?}LCi6mZ^0B`P z@Q>wGG&Ce)!w^1r;#8Y#^3Qte025C{e>t2g^hR*gm^UaIRO=0f+IH0 zi1NP*+anzo0UsH3V_5VYLcLlCF3C@|CU3=~m`LAkMA!tImyEYw21o(`FnH(0qKHa@ zh9L=c&g=}3=9Op3$BB1_pZnA29iaV-NV)YNKhw#bYkU+snkc!wt;Oz&ipH|3vb^1; z<{=0M!YMcFkwI66iSt5^y(0!CWW}`u5=rVE2BQ~- zl#11kJHByyLJ^nf*@d$_GE(TIw*jF~EO5h%I#xP=@p6(+CG9qZz+j6rD*4K(QvPN} zz0-)!i=DJGbA}?%zos41qC)(9V_`y^peZyAJ9hv(8o+@eAmK#2mEchlU~#t*5H6Ty zS%D+>R9ATnwRSHd@%aHSs5EKQY4AT4x7rTkJir{^*LenK6foy3i8v;--xp(6Go0n5 zPj&d{C^mxF6>hF-IXJ5l1Z7NSRThzKb7ZmwQFuCDhQDg7RO^!mHvs~R)Qt)9pyZ|LgG4xkQ5f8paVv6K!|$k7}Y z%kvYwoEP8`y)@A&%f&h>jOZ~_hW#85Ld1!j#zFq#4?ggJ0M0J6Of2zYW$0JLw1nm zgHW3h9xvXan^E{9y6GTbML)>qN?Yc~A6h1G^IU~;#qRAdM+MKE8^T8CIgl?u+C7=Y zw>#cz?o$}<@WSgA$DP+HJtM|CiWHozt%#qoBB!Z=4W<#Tf$6e0dRW+m7bMcHO5OT)ea$Uvq9lkt8F<83!BEYz&VLfuY*BJ(M& z+2P?q$L_wo$MLoWuHVXy-z0qo;0E8g+q``b4#H3Ao9(#LGX2A6v#EPQZ}%57lapVJ zUk33&G4F0`0*hGZjefJ2>p+K^J+;T^n72W=m+7!+==m6jZ|SRKR%d|!eCwQCA^gN& z?OQxM1?E~I0N0_Oabe(z#KgArjDzg<6+>QaJ7^D^W6G4hK3sfz)7`RxBrKxkG>9(2Lw8L^MCjDAT?yX!R*3h)_-n73%58$>ows;`)fKB5 znT2(;O`oE!vps7J$FuXcGj5ft>dKkDHzq`7~R=CMj^R(g1on#5S=n1Z&i^i{jX_-%qTp)-lN2EVi0;){Lzmug4ITN zQo&Iq46)<^n9W`*x&73Tv{W57RB3>tP89Q`_8`>Cp1PB^yMOw9J~EQVYI1%7lQkF? z9Q4yRe{;r@39W)AQk@#9yyRA?MJEl`orB zLroMCGIxn@IokvS3y4+^ZE5Rk^ys*skQbK2asaMm5#71pJU)e1&lBDRXXR_#M*~(N zX|K5m0H(L#c&w-V_@!=H8s7?L=u;_TJ)OVmK&^a5*RbYOEF22PHj#TE%Q2IlXoNM##>JA z^p}bw46xL|K|hv3Z%m^m&Dzr67>776;E(pxjXZce5cz9ih>=tIJ-hvR^UsibOVnK9 ziuo!789o33HL$G?26~fe(yV{B9^=~fYuh}(KAY&99mb(#VI1uMgfz8q>%~lF)}PGv zwvyFODDZh&_d4J-mD8)cUm(N*fRzU(p@zD28$>Z;G-CzF73y4J?iN;V0oGnin`fX& zv$pil!}fX)EmUZ0^(}3lGnd_M51zd>7)+F^QLjN`nkph{ZXOJ(-&sV*w`y>hpG!D; z{oZH#Gtk>;#yY`)%q~_*J$o>$y7UDie%hcUB9Qe400Dyt5-db$!Y++(QkX1T=IY%} ztE?-phW1(clewWuRy!f^LFL&h>oe8eeXL4QC`OECtO8f_ zT={Ob+#){r(&Qg#)TH^(R(`E1H2|f_Uz+?id(}dy1z!uH=FrmQKl2C#+%V71gu8|r zOu|3vtvwN;F7|E=q8Kr1?6kIVLF?ODIBuWa<|c?br{%j^&C$HDat9RkV0|jZ69X(f z5*x2UQ=XePn?O$hSa3qRqQxY(+;~8duh~|8S9O_sZ@u%uN1wF#?2C3CI`!piC0*Oz z9Zn%H%ER&b83OeBnN%PvY_d7!$d$*-$FES4Vil>XjBbD9J2xX zh?5{$y%zJf?bve=YEJ-y462I`KJ?|$1Ip38yy$`TWP0E1TW)m1`h7KE&`^dK;$ry~ zAx(@LBmbiUg;6Yw(!!>NSL~Xs+sNhu77x?M;mig|7pMIJ0+q4<8{+Kgw!HU&vv{k8v)SZ>= z11iDNY}Yu18Ig2i5>hg93M%SodV5=nv|O+HuzfIxx_3Z_ec8zd-Y`+15LuC8B}$bk zSCPuWgc8*l7us|%iTGe5CYfhGs0WL3zQ|a_Nsz2wi+S62>^TUvQ2+!9_4R=DtbJhy zuA(bk(Re~%n9&8Q!%{Xk(5^$LE{}BU(W_6t0fUB&8q37I&pz9N)BJu)Io-_(cTv4f zmkHgxWp-zOnh(CR?Zm*sBeC%sH08NzvkCMBfCVR{D_Trq%Z&$AgQX#TH1abA3Xv5l zR-#myauuh_%hd1YKK*P)n`~iMGO96di$%O!NK7&>Ep6L$;6#B!WJQXVC{?ChMJgL1 zONnZX3vJpMv4}TTNX#ko^7wktKgtH=S---jWhS$4As?(a8w4^|oCL}0wV1bU$6lz7 z0wBns8chcu`q^i9t;dY|ce^TeYnYkL4z^FpsfjoVlGST5Z`+Q&P+I{IWKe?%eCQ{i zs)6aRsDs5~Pwbf=#+Xi=1j*{Pn73`mo`X45*_Tb z&Y#T9g}S70rUd{4fkQw-LBssG(qxHMT0()(xwj-{F)o=N`Z23~nQWHrW}$mYF1fsV zQ+0k_m1#$ol}$FM9J%s%`S=woQmjO&3RP;zww=$zK^*2odde_ zHF*D+>ax_&rM=|B2ON8LxWB^(AAQ=JN_G#s7oUCE+d_ppbnboZ{jsWtwJ+b^mUQEn z0k47gXX^d2dVl8r_PMcVz85ID@KN^f3cC{_|BiWC5l;=OgnN6hN3VICwrppo;N}7Z z3KAkzm~asyMTr(8R$Sr>@k*nm>=qKBg-4GaM>rSszrr|+5SggL(ov?uk_|6ad3ys) zWd)trAEnA{4&Ptir1x+1bg#@mxdvX|r}eL&(k8uy?d%jc7a&lO5TU|^ix4SFv>37C z5?|t#MoZZ(3DCl$$BqMM(vM;K_VTs$;>Mg+hDuw)hL@_my-{@7 z3katE!ZU)TXolr@flwrtC`n~83RM2J?)YMI zzug@8D~B0#Q~`~_;_w6_iAutTwyD>2iC#K0iTHG{X|^$k;@oRH+e^q8XOsg~V#9q`h;LWN))BSn9I7 zY}?gU)n(hZZQDkdZQHhO+qUhx)xYmM=bo8!?wVOMnYl9akDZx2 z7Nw7@^!Az$cfpYSp-vPr45(ya)!>D6>1-T9pl-8TJk#*zZ0J*S1wseWcF8ciLNi5oQyEvc#g9e^f!EO63+jN|~s# zCn|gT!?F}|^U3o?v&3pjP3P4b?iNMLbF=BRiWzt(g3cSqDGa#e9MD9NCiuQv71h^} z{YvaDLmhK%qqa(v(EtoBAd$qURzy*Kfg&qwF+y%=9EwUE-L=k`py@26_^cjM{VZO| zregi10V2t97wkcD$U;kY##!Ze$y}W}7hoIS<#0~Ea6Q3>C51$Kp%Uw33)bjmAJQOY zr?fKXAVouu3Qf64HYDeU38K!@GH0Ijq0X5*7^~**zb2-`WP+mq@N+;%Eu^)V6{g@0bSN5RwD^;V)+nh?wN^kG z>39}u{B}=V3k*72O(-;5tM75L94!ONOb{F6x$mIim9z)(7Mq%EZJPZq@$?i2GM>k`9f1~6_c2-u^H)W9oYD=J`!kz{~4;bGjq6D zr94DjEqPjX<$@Yq+Un)wuG7aE>~5ql;8$i08rJ%X3pD5YMnEQfCds44O?P^Sjf;9Y zYLrRVu_(gXSYxDux9Jhy8!4Dz!VZaGq-&x;jd*#OSyv+y#`<=-$*u5_(4Vvn+_*~{ z<9E9#_uZzqb<{bW2a|D^0ZRI}fvf1@Xs{tcYFCd$6TB;}mwS(<4ze%CD(h2ZZH?^; z@BHnbT_x9dokhb?pK>)x9}isIZ!Mnomr$>d4YZrdz(Lrk$u1T^J^k`Op@_AT`F`Kb z-V=nd7}r{$kD+v}yOyi$v{qNzdAcw+A{#SzXtt>19Qd86w4VD8nr=zW-CH*~CN>?N zCt;(XUOm1bjF*49W-;o(DlQ*wZQE1SUNLRoHR~h}AeKl}0{nvx%BAxd|1u`LW6S;X zMGGI+|NRYCxpWN`a*-Ly z$*DQh|31k3@ynWR*38l;0~0*ePmU&mBOI>eU@lp_teYx=ST02a&<8#|8?92Igb74+ z272tqFR}3(2|ImrVrmpgRJt1Rm%)Jodk{q8=`s8Vb|3^0Q}_yI&?ORSpF^__wJDrk z))_M=J{c@Pe0#USk%GtepaKXINZ>^cAQi2XJUMSGHVbQ+*z7NRCB13@T-ICZ6_#Z- zJbH`@%X3Q$D*+imFnP286TmrqMF`}Jf3bbzn|(7!Cl48-xIuPSDxeRZJ@{X!a!vI3 zM#RQg5yM5hzzDg5MH5Fi|B9K(%@TjcBN~lX$D>V7ToI~M4<#Kyc->qx1r~`vwrjS5 zq@IkV-#BXb;~(SDELVX47iS|;Ip~N58L5WEYje$7b=4a8++Ke4f`{z{hy`|k3!68O zF`0^47!N75f=Dg}*X*7CuiVN0vBCcE;Wo`=QMCV{_$ZO%kCz+#tOr(mIuJ;I!f2En zv2oE{n^-x>FtJjM)>lxW!NS8t)dYf4jMN#_Hj3=OA_iPp8CaO;o1^@~!0_+;8A1dq zWQ3vwD@9|4qs8R~2q8*tYK{q+V05*8OjJgkZ?KOPuP}a&UIzL%Uix;2=waFSTD?EO zU;!b5eFFT#sx$%-q{A`psOlWsQ_Yj`+r6pE;~q0Y|M5jYhvEOVL`0)#|IM!d%N~`y zmY@TGGX&GATEHe5kNmZtl%Wbn)XK~MHlfQH7v~vlzrWYAK;8Lr!``<)chWcx7yyB! zRLHTf9<2#m*=3f+{vWFgfCoZI7DTD|?`ydSSp3`Q+O-o=mKI_b8nRa=akKh-doB$l0%XTft3G5IRAR#3vFgZNHgojH`P}fo9{C{2y{ckU)+U6QOM1<&n zSd~Tg^YF9J2i)HvL|8zGkQAME$U+?SX5)3^i?+Q0ujm>MQ+|!*Y(EW=6`34iqW=&2 zg_72HaPxyNMukBBL7ou+-T+qjuc}YQ{)dRvDywC`p`t>{x|(Tqh27ESa6M4G>2kg8 z2q;uA?Wr0}jJOf9njH{x8r!ecT=6 z!R$APv=0olPmopj6jhHHRi1Y*^#g5J_m@L`hv~K>hRRfGHCFPfijsXOJnqZteQi6! z!~r@W12+GOgq1S?7LAIfQ}Eouql>54KbVSxX|>$G3F>XL-?@y_>h=m6#HqFRGsVeA zhUgNcgvu5FJ{7pTld$qxDF!X;$aK9dpjC6^)ZDyZ(KlL;J_~f-s}Z5`jc^2-4qQp5PfA>3&)Z$5mRptq9cJLW||=s`d+#EM=yhH zEed7+h99`f`yJ<~T%j{Em_+}K#n!^>Jr)#dysb!x?0N{X zE5_9o%Vv)q5{7NX7sQcPMb+PO&Uh;n%ECM+9A1-+#TkcG;n_M~Mox%nZTNWB>faF! zvaPT1m`l{ytT8O{Psp)QH%53YqI}9{x#ITeI-;1C4@Z_qADGMr!(UWo)Lz9t)?>98 zWLe-l?yMQTv1@*lr>+dJf2F{H3ND)eH+ikEl+dCtq#5{L-FO;{;FHM3V@FGr)14qypv|H==I})o{J2=TXrj3^ z1gt?g$t>kP{Q6+B)0zi7dt%^qp_KwE{Rb0{rz9i^p&Y_;pAQ_YFm5}STA;Iz`+gi( zz7A2bIqAAdp0ou%=$^*C9kwvpFBzPM+l9JwucFysa`T|3T1R|}B1%NjnW{}jeqbY{ zS2;)*h03*7%*>8+D;ix7PAz876UJ3mr&u-}r{lZ7?$$vjiZ6aQBeZFd+DPN9`+z0D zaFMP@k3)lB`d!pNDMFIogD0tGw8Vau1U^o`t2|^SRla;mJq+C%R@xkN;Ssx@XW*5> z<(w~b(I9X420|tDQrq|=E6CKm#ZL_NP=Wz_VfA88@E((mT2t1Q2z61`;xn1_0%^td ztmP`JL?QLK6D$N+eBQVU@5AT}xJx1*AZM&ZyV}DwA;i<%dPZ8&`9ER7(%Lm#el#RD z<~?ufJ*%BDx1aXR(I`-rZET2O7LN-WV1+8JOc%1mq?>Q&KFuH3Jc|ary6a|e_y9aU zN?vlolM)4lSfc)%rLm^M4!k)e{uJ4OS)JcZKPwrPi4Z6qJXrXw&Oq_dxO0uesxl=B zZNmtaSH!>zP^*krw?^Se*iCqh)R%i+GAUYOgb&uwI1w+ zq-=kHq}1@v@6vr`^l_HgMGhQNG<~6nd;klE8Yb4m3UuE7jZb2b@xjxkG=+p~Y+fE? z*;=t?4G-7!oGhIOC;f^7Ve-9c;}6_KdRSl3p#tJJS0D2B2f&%>OM#VeuJw%s&@cT)Xu%eQ7Gnf$UZ2B1X zSnq0IG?wU}NBceOCX3(~@AoGhQcvznzF(yhAOYyYA+Mw`pOv#Y{QG`CS2mnJ0jxEe ztIQn@AMH8tI%oAHE*KN_k)i)YS+Y4=UH;W+yf#|%ARehU2U4Nfe@MRVxy+N=2{WGh zJ=`p#EIom4Xf3`e6qt0bP=Fv;12ebAkUbVId3+)vwsO4BvfULpG+ZG5IP7HwOuVy# zXsdo;v0C*+yVnfLXCKlsO~lPHtKVk2rTXvxf^`SwA_ZwO>Mki8tf{HT%&LKel?23- zK?6*O2gFu%JDTy+wO|k>0s4C|fI>(Y{kJ@LsQj#d$?4*)J$P;zHjDOO{kGV{2)`BP zac*{gy8u3dJ5cpk#a$u7I`-ZA7OAg+YH@4j~naa5Y;G5S@~6 zy$m#E)KUXaq@q!^JzV%%4xXO6G-he=5RGXJsS=Q(XYsJAe2LU7vXMeZP2}Px}sf|7TouY>d2&ob256?97;sj)9(0%*g2DhE(`=n*subNl$lg4m_Tm*8p!v!&kWf_y8Q>Gk5DylQGF@VE%EJTOT1EBwa_$`~nRzuK)XL!J*y-tu z7=c-^BVU>bWQwQQ`IB%mDozb~op*xaye@fvf&u>xxPpAC*Co6|#v8B;6DPIkphFM| z7ctB${P_pB_hSi_Gl2qew7Ei^tv~pj!DdHjPdCR7z-&UI&FkajJWrv#XA?WFbb>dF zxB9FuZtE93IvYxfC#V-Y-63HASzw=^Z7`4fnkrRXADtLYv>2h&T21{lb%APoyB7R=^L&y@UO`u{gI@Ey8Pdk@$E z4Wj)a{3j+G0L4e!v602m{*I*oQVyDPT||EjEVu^;K*di^##E?d01M9VYe7Bs%sk10-} z>+8h!2Gg-d?6$}Aqb#i7;Z&@M?%@?)v-cCDqV2`hro${+b2<@K#>;qV3z2?n9!Q9jGU2-e`-SKpP>+j1CTGV$5BD&I zNxg9Gz3mKDy=5JP<{gt~9X*&;n+i3ioepg+!x8$;X1$(ZChW^8sfbsw3uS|XUz7r4}zGN|~W61v`9R3SiLb-Ga&QGZSGf=KT zNai2niNY8b8sXOu`8YurNf3eoRjUG!D+y9%y!l~PyBg6ys;PymOujH>-qi9EFB^XJWc3jK4(P4n0z@mIYkl=2S$)(UykAW=%wp zRo8qyW8QCAQtGV9%#n|1p$CSrs@Lgrcu&ybV?PUZ9ZW#OUZ$uW8v|g za7hX9gbPuO%vaiS;CeZ99>f@#SSf5)B(9HN?ViO*9Xmd4J}76)ZG7xz_E2Bwg%S051EMcvqB;qCR@gd&%hIYe)FK{n&*ai?*+4^^{#mtSqp43 zigLlx#_j2QTys8OQ5C-37SAB$c$eaC9NW`Bdv1F?wS0~`x;=QRs+t&m5;J^rmvm}p z`9x;lQkS+|Vt=rB?4q>p-bSA~ePnrn7_h~CVAxODi4BAmg-fE82!szCp$HVSBU6Yg zgJ~exArL8>7STmYC9j+oV-0kQU7ao&XoTDd7q%sqN4hdf-R&4x(D)w1(m*AnG1bcd z`^L+&r5~)J8A)lZvw8#&oV_=uInM^?uWhwVq6^ z`N^OxeTUJN(i&v`;nEEx(Sa13mw0VN$fjaZEnr@$30b#c?LyE6&<0o4{zHxbl}Ol{ ztA%YWl+)UPy`>Ayb*_vhcmC=gbo#>ZgA6#{ zuO)=AAPmcErdNUeBQ3^M0qkUb_{dkS>x`cc0Opa-B0iY8J;s4=4{@s68&D;s;z58L z;+l*_CXSpl_cYcAS~Sd%$KBD4$2x+R&nvnN+N>J~t+;6{-cXAcXUHn}Oc-|ZZ*}%J zIAM|B_k%Jg%KzW;#}s;Ipa6d3+`a8*KfayZZ(dFH_M2E+79&XbR#j%P1hu?{6PQLJ zcK0IK$@Dgxlf?}8Cq%rO;=6_%fROK+9)8+|U&U6*D0_{2kkYS4QvYP`0RADI3e4J+ zi6kT7|HYhx1^!nu%}L{Gcd7?i2LjYT8%?TM0UX-57ye(=_FumBJB>Q|cxo}p{r=jd z>PPZULItk08h6Lgx8f|hU9ecKHP4$2*`FCOeLSLMAk7ckK{k z)@~j6#G<=&leB|PfkH^yc-u{ zP=Z5jA77@NMLee3Q(D1>_AAJ+{^DZ-=zhJ82WPvhEf4wq;DaA%8Hhs+;fcvMw=m&W z5dmkR&D;BWN?rmgxiy80?rBoW7xmU#?*U>RTJMM34-;aoW%G&e4ypkebC!l@olOll zs*X*$Yqg>EA54mk=6!3AsXySU^tT9l$;&dXMY@tgGujujyKT6M7rN2mvkS;is?PyC z>QtgdvlOeT-IBH@J>0EOj$WYo^b5dQa?&+BsIO**#Z_I+9AlfWdHq!Z4GbSl6R(?b z?3&K?x#Qis7=837a}Ip11OxCw`KXK}lFqVX>*W#;=&Q*dT2W~$lBCf)#|#fML|3pj zV%8vR7LOrlFunj*aeCC5lejSufx=>#Uh$_%so8%^!>LO?G2LBP+^!#Uc+aiaORunB z0JYR+yJe~lz>hpn`c~Np)=cxu{+>fKK0!fvH{_=yNJfH@&s07aj{lGmLL3f$O&M@4 zO7QdGX*cIoc6>eC1HWS4aslsVtfndoWzqZbaDkPwbTsG#?mw~~fArBK0o$?)#Sa_m z>=rejNYc^HcW~?nTq^b~NOtGgm#2S)J+=?x(u3tptc)*p-4CE<4up@V4d+qD0(Q=g zEtlTp$j@MP8PZd$vAKd9IP}?yREhb9tFk>F!4=~7lJCk3E4BNW{}sBmR~o_d@nJ;M zt8pJO#0=j5sy6w_*m+Qp6ydSDGf*;QcEyy<+!FU&ej+N#HS**KH!t~g5cWG%nWLq< zJi$Cfzq0FqfB3(?`rwTCH|1yXu)>q$r{dum9>st>&}s*t zWgh;8Kq7A#&LES=JwCi0Mbl248l?gBNO_R4#Hw`zT9G98W~ zc&yh1!9>vVIj_=##)t6D?Cquu^{FE==R|O0HV>-JafkP19c8*F_j)~+=21W;AG=<9 zZ7LJq1j^rHreN!ksh@y4t(JLOriSt%u1Hu0}h1YS%bUQIBmZ+ds=2nWq}mf zHWPRQ$%r4$=Lce^!j*s*1kW-t|2XvV*e~%w-0jvQJEPdqOsBecRBtEZg6bm!QUl)c zP;^6vbEK5bo5oG%`spEsSDFYnt&f#(QFOJsFIdfR!GW)~=5CP#1(-mZxbKf7yA_PU ziRcsIHKjF-EvM6eX)-bc$BXmb>=pBmtkq50=8@`{@ERZnaC{dguILvd%AXMH*M3f# z?dfy1tYNCG^KvVrh*TDz2t#cxgW<^rXBXAs1yzJJFegmU0!^2s7Uac;YUD%I?m*}5mshsIPOkr#wr*v91(RReCh%DAcG8j zx8>rB_=!OjU*(OEO+pewdXX12Af&FZ_ZG~5^|Y;ARO4-&qv}p`=#B!MElef`U6;08 z_>%Enqa7Sr=0S-@2#p z?r=Os(I(79>$5u?AOT?VCTdmds}*e{+h!?8(lozbt>m9Bgo4t*P$zNqJRf}2E72n0 z<}Zozthz9L>mU_TfU%^W7(_8Jk@)EKw+;CSpsEB?d7jYk>1uI zcM}mLP73(3R#4}+&iFyVA67op6=X@<{kM-lkAE`j42vtZ@a@jIzkC)nJjLHZw7j!& zQ!0bH9ypE;XtXW)80_cZuJMzUVw!ZL(05M_b;%&c2l}a)f!rs_GfCbjw{sN)tO585 zsUP}kj4fct_}S}eo7<4-WkW6>h&Y)sHE(@4^;29LZ;pScvLn&Q3nL255VfFf2FdwN zae%WgTf`xW?-v0+Qz$%qorEf5mz*|S6u|C9?>`kr9lyhZxU_ZU8mt`WOvx5BjLbq4 z01OsVmZfm?St#7PE)cRGGGtOZq9d>rcG%0dD4H2sXU$dcah7G_1|XV+Q#X%d&kv9p zRNE@Tu-Vrc;@qKOLh?2j6gp{>bKvBxDDa#MCkZ0%Tr1u4&Lj<)OUTPJqd$|z%_vhC zERNg5bSA`ZIeAHS^R5>6PA3=Q1a=7k!*#Fr{94ZpeT@62qEGfy996?O!O0ZNG_}q+<#&xEo z`Cg=ya<8)UE2xWSf~%kTt_@G*gLDXi^t}Q|kdnVQV3AWu`4|N;I64>aE6&dsH^+%Y z2bJk&*ZSHCtmq!f4I78E$v_mYO(zt^p|U?SqbZiG7uA`NhYV#)bX*Zc^9cg&N?zrk z;*eML1CF~8{91oaoUKHLxHqvN#15SBYnGR%Rwiy;b|}bd=A#)WA;Ov^-s@;d>hmKT zTr`6QB=;QU+%LjTb2q!wHBpDY@VR5dF$=VubI_feY*lCFhH@0f+2=n3t=Tj7PJk^$ zbQSMW=Kj4&LZ`9WKhMf-hSGdQfE?bic1qWu@Rk}xY?--nvnbNcI8xHpcD8HH|BJ+> z&V8Z3v^k%3NI&Wl^)^3=BV5HQ%T~51P3Fg3U&nE~P}3WG0xHT3!`s!B=^wzu2iBuD zzDahk;^50}N!zXt=^Y}CyJTU^E_oCO30#(g>ssc`m<~;@M-LTPv{v)8b86?A{87N1 zL}l2|Ld1wp21D;~J-9CEhxfJkY|ra$S~HhTxA;_Cfkt)z5r0ElOJo?@D( z#-@E%uXUfhhfx-5I;1S)Oku6Ysx4&|R?i#kZCmP<<2Q5qCiUfa^GW)+c_2)V*6UI_W1Fjvt)o$hMd7+5_2NoJ{O0-4QjPRl$l- z9{}g8Z7mO4Xj4hx#bk(OW`d>BB*OT4W%QDOTsbmC`%Dbx<*Y{HWA798im-t;JFU&oU=*`j? z&vzH5F4C9#+}FWvxmRp2%VR9J8C`87v4MjsA7`GNC;n(RS&usl2N9HP*XuHtK_k8adDH%}G_;JV^R3&+N5pPh(Da z?Ml+YuEaRu-b$Fz_j5DA%@x_3Dym%8jC=#w5Et^{YL`MgRT*1@Ww@+^FXaH#f$vhfiKsLc-*ZH}S9G*ysP ze1~HfmFz&`+XJ(pJD&oleRoBBg(jDbb}I4fo@I8EU=c}uRHVwck?E7JnHg%81`(;i zGgjl(M=RKjwg&VzcBYPoT9q6RCklQ6JqEA55Pjej2#<4;$WfSNP|USKg^@%UVXNdy zgEna3H0`EJN*uC#&5?459Mdx5MCoDqFz&tc<&ypuv2<{R?ayoccyog3{vycgiqj5b zCy{0Tj^seh4mC~s)Lxb{I8`jVOa!YnF`YUeOeXBKEIHup5SfZn84TiPv|O2UsR0%l zK^@7silPP6QaN!$TtB=AFmQxGnAw06Qf6L0rnc=c%mJB7JZ=QcxST?EhoUE9_)HPC zQhTF|$;L6;C|Puc{h@{8P<(%e15-RAxDW+`WbDiR2QvDWmqO@N3G}1QY1}?z!r@RF z#TZFd)r@NPArfI=sC7?|*0h1qaONkJ&rh+D+;qd#K>w-d3frw&#u!>I z&&-^lH-fBJuYzu8Bv$8gFM=oXrx$;kgj$eXj07F;IB_Q;-#ZtHz)ChPm2-udpGAL4 z@)#jL`e*cP6Xdz1%W8PcD@vT87SSidyq@7e;CaD-v21$$0SJa=gY4P`V6^gJt!)5Z zaId9jow)TG7Vw|!Kc3fwpS{x`AyRO)&4w3nyGon9-z!(RKd0GVZi<|GaJ@4$u`Nq2 z?_f=f(s76X>=)n#V&F?1$qN0Rv(3L-$j>`Un=9ckkUelJjoD56>gc*BEV2K&b#(G$ zVpe0dIF~FtKBD+-z%h5K_DSzl=|_~F)Qz$!uHnS1iF@PFx%4oW^k7&fB&Am=kODWt zcIkbJ6b~>G;90kEBB40qG2<>_QD6+qRCz`QdXmkLs~rliMCo9xtdS*D)vZ@;Qdq;U z>FcPeBAdiHOUi94Vv3;QJ|xcJ@8o%1!cULT%?;#*c`@so-I~Pj zb#lmV{9q^z8Ls3Kl{W`grNl;VnmO^VOOdtqQYno{<{d+v;T0C`gJ#o0{dMdXi*O8D z3x8~+Hk}P-Rxpuf8osD&db$MZt96?8rfKKGM2&cM($)uuoV#*KkL2FQdXLY9HZaEN z{iJFcA6w|p#^Bg!mq-&ny)?cyJjd7y^pR6cP`}n`PfQXtCMl~}fF3?QbrXQ`zPOO; z{D8ueS{`qgMg){WjZ0$_h4HGW{_*{L5cY0dgRixx8K z+^aEdO}U#ox!8+J;c)HQi`dx}4CsXy+h;5&Pf0PKwBxH_7N6^Qc-?nHYK5|XP4<(( z=fFV+5uOA{N<^DS4+_2#XphqI;#4rf=LC&|%y%3~H&*M^zqUV6<%cvSK47 zRizIiq_7a6p{G47Qj)ME@^KC%adZ<!eB_ z&wb&in%Re|2hbZ}a&`A`D)9_H{ESOO$1HUYh$C4W)X1@Vl5!HpiC2`}u#Ac}^3x!q z#iRtT?y(lIemGPyJ_^?J%!!xOck6Pc5h znUIZ9LaAhj<*4%4$%Up0P{fGM6Ul{=LoHZTEzxl9yRs)Ul^9|f0H$9xG@O-2tUXJ? z<2f%Aw~#oLN?tZL9dW&-=BuZ$K*1&^YSi6MsIr)oTF&bDbL=O#PeQDm<+pE=yZX0pp8NeGC!f%kfq_6m zJ~JJTq>`Xukn|;kjiXy;uro$b0%4$**ROh6=$e!=_{4#6Su!#fIYR z*-{z85|e7vT-k&UMdgk;<{5+W&JdK<{yLfwz9t1qFT9M0QIft<$#8tguIm*<7FGER z6Xp34=EYoOiqHijcF8se^u1@XTE61ULDLEA)XWm%x?D+=aBjk3CcH{={6k4lOn+`NH=#2N_J_pF_{;N`v9u0ud${)A&ZXyl)q|iG zGRapT>JbF|UehT~9)`%>C9NeEK}@J7_EdZcD1~~r8e$WiPt|uLZV73HLQ+PMRq&K> zn-D!|a1xs}5^}!ltF#dCPb8j&7G=PwCx|dQhMeYQN6zu5DT87=b`wK5o}?%?jxx(- zG%IY^cfz0kGa$c&i&%0dEow4NNxZilqJV{&Af)*vD(tUC>aT_~l3zIlS#l5o`Rf>% zVulx2L6SOaUS`Ue+GN_eK^M@I7fjOdv>ymcMP<&A3q_*3kTrCm0ToRHI@H(`zcIT9)wHGu%Pu_9ou)dgC%)(?^)L@#3q7_TG&PNi&JQBg``-)jefj#ldM zYh&Wn2l(z7q31LGJpZmx0q|c`1vL(rb%r<`V-c#98diy9O(GP=@?i*&d0C>(vfBK}gcW{uTULyQKIE}F5u9Ul z3fcn;(6$Pr%nKsm3u1W*qHzhN^s#hFOXfCm zd=Z6FmZ(6f3Kv9)GWY{bDDWTR1le)j@B%8mNWr>0^76V+RcTN)yM0kLi_l2g`Zg0Q9-Qeso87Q1AgQo(L_x zbB^6NV8f~+@!#E#YQY7lI~E2pukd*7l)kEs;03VgtwQwe5yqhg#GV{ZSe=#2q=h{S4t7xHlM$bYlIrmB0*k= z61PxT0#UWo17o3eSqK573ln5i1Pjr8XI;i?Y33w7Woave7Ham*9VRMe0Zz$z!%)my z>1YucCXFFkZiGX9=eG5Y@pAQwd*^s{eu*DRuWBny^MKt-?qSto&6d3l0mLy&Z_C&u z$Jh;OaCnP>CSZB+;Su@vB$=KU#LM8xCtwT{m;(DyYThZMJD;|geRMf^pX4kdJUat% z2DbYN5_07s(wR0}pc?RU!~>e~NJdABt89VZ78#{kz1+dKJ)USMPQD&<|FXX*6a5UH z*!qNNoBw>7^15}q_~QDtuvFRFv>#FS$<=vZQTB;zi-np8O;Wh;ECB;Gck^>kM_=gE zF9nV@*>L}9>Jw?9@2d83tBuKA`~Ks*&m6v7-~F+O33 z>JJl^;5>+G4p@D%?St>JNqTpe2IHbTS*PRza3j%dwu{SDo6+jpYOTGVw@D%=%7Ka{ z!pVpEiZDU3t-%;6t11x!g9G}po0X-?Zr4~0*F;W?8ynDD3t$zpC!WJYwf8DosClcO z;AhNZ=bX)@BeaMku=#K#=otNyWzs;pl`xr2+sgap8pS;%FuYX|incx^EY1R_QnHO~ zfL^u_bOEMi2JBJ!=w%I#QA2puzx!f$dLJxQryv{4mh!$#FCE`4nWmj4DL*oyyTPF% z(Q<6BC5FdMs8q^bECkLCuoTkkH4F)B%XE~xY5ZZvkQj2$h1g@Rcsj5@m`|JZHu>(1 zR#|2eMhxsy#tv>MdR}D9&P$`fhz>r0~9LmcJ`fW-&d&aoJts2;^9UOVjW+wf zR4D+0uCpqaqMTGC|CTU8p!Dwim%^a$vfu+BRic)nosCSAcRPUrl-*~}ZIm^0_!1Y; zU}vtyKWPB;u~l~EwHvAy3YC$e2{G#Qs9KJta(BJ9<&b7MU?`me)T?3en^QG8{d&10 zT3Kkv#(NZk9VhiG7(^JzB!Vryc8Xn)vcD>S%kf8~`su+A^)A>=V$IkpWtev{#NX#3 zinHiu`{|7KZVU1%qM`hH>^1$>hp-f4wjpD32=v)c&z4KO1!(Nv+UG_r2fuN{gx5gY z#h%?rjpJP;utDJNIImlO-iga;+B}*ohd(KJvbFBCWM8#Srjv%BmjbEk4>;P#;dpnc zya|sp)8`EWceT?AV>tNbswPrqrw|cT40kq<`Q8yNg+T?l#{hfuOX_-wuhrC+X|2zp zxyaOy8+BG(xELnu;achr#M{HHL065I6Hif5XLD z_bsi$FNCpl8(Z7FseEd`^5(kEiF)s%t-&fiFAF)9`WOTMQ?*_U__)sX#BXZ84yEv` z{vJAfoQi?fz}|LLPap32!hNoP)Z6xE z9QJ1qp#=NN$s_?Y!>Aak-k-*rz|WIAZN@%2_*auhuglgCdsvBXh-Ls59YCCJ(Dv*v zf3M)x=9}FjsW@hAP!t;cEFU9F6SU=L2ZrPjZ_T6?L&p_ODVEs?C;g4zG7n-Vz{$u; zs`?o)%qx0n*iI|@S>9MS!w6rjhXL}%;N58XcrfV0e6Y9EAQOe5A7I@HnjOujt-~7UEE=CkSAZf6_jFZ`gqa^=f96C~;ub#snwEp zfq=7TM#2gw3q z?Ae3 zr1Q1Y0aQei7h_FOxJzKeFv$&MW;@Oe<^o023!o=SHb}i1zwsALWHn51WL_~!@`PnQ zjJKz0IV5%FxCYtCYc|Tn(Ph8w#l(F_1mBJJkrUwqNQm}TB;dt1(53&y_me6((dt}J zlsHMwtV676f_w7|wzbfpWR`HM5@xywJ;#ojacEf1&a8@5DuzL{wpB;6nt8pDOJ6+$ zxXj zQ3v;FDx9gJ{lrFX`HW(AGzHo+`&_n;=^_-+)&8!ZFNkFvE4v*#7-bZS!I;DGh<4_% zyzEazs@?&GKP(~r;LUir{CmC~NzQig8Rq5kE_C@flX{dAhN*KPuvtUJF@Yw&3G8_j zff-GQKXyB~bOP_n-5VG76FoZ~6?utEo(^s`es(7k+MpTlsSesPaOnPNSZ$)*&Oldt z1@+CSHtIDxa@NrCYa7T(P~!#_#EY-DPN1v6%j$+KK=#C7+z~E-@I2Lt*wGppD%=Kw zIv9NCK|Nq2Xu>h6>oA^)1cBOJP@V(aNksScyaAC6%rA>OP{F6Qm{mwbdL=q0op%+U zAq8Eeu#gX>w7UyLM{(R*lY&&n^KI3&PU93dcuHux1P{y}x>LnNk)Cqa z!%qd{k#)+IHYn_%Sjv_*Dc?{sS{ewEa&?+6B`B8{D*_>LIhAo36-%;mF-B_X!CxKX zJsJZRO4Qxw!?c-ODY9`&OH>bWg*n~`4xe~Tdwv5{zBJWNqb%EMX32rS-^D@fV_A90 zOb%J+gr|VL{~2RSOQCp73bLrLq;$gZhpWgIikc#qi{ZrnJY1VzM=BRrFn)R5=Y>B0 zVBUv|BYmUdDj~!>hH?K98)9#Ex6a1v3l7m;13bq z-UlV?hAv?o??d$5yY}rDUbF$x)Pp#^){Eu;wgorwf01=g(V2A7x=uRkbZqAfI<{@w zNyoO0j&0i=+qP}n))yNm|K8_Zol&E1R^3+3Rb#ICKF^JCoN&>~xZHmkb=KpIf7D&R zLJ9=X=m|Sq7UpJMCpB#rcYE28@1>ec#)^Xfx$gfhGsI|Qo{`4Mx}T}05{hK( zMcqy_oi%!nMq64nNCAt6gS7AOrDxl?8G!-5BV!`VLxL&`z%BF}yc$|sHEimHd>mCs z*@Qxj>lY5hyYDrgHefAD5NAc!jnJla{35SN{fmwb*FV(nHFhRM0#JD%7TQ&5T%4Cj znQWXZe)PBs7kk18m-DR=(WrD#uSNEr24ti)ZS>U$l$R56oWI1|Rt^903R;A!z&Cur zzjLxmDatyJXv!=XKp@N17l#A})4HF$RWgP5>e*qU78T3kLA|)Z5-0v-Xxa63<)W{! zi#(we6^=jn&;YU4-3*}LQ0l*?7ZAweJfh|##fOKa{bZ&ml7=o0Ln66)B2HayG8P#N zZk&wv>Itil81oA+BTm(I!zd}X-I*NVQChe$J{pW7_@1vm)Be0dkUuHbi~Nl|O!QJ5 zWuR5kj^UVdwfXm;tmb%%&6RH`U=j_QUGN6K2VC6vFCvNsC0lLhumO<_F3`TPgJHGk z$b=se5|+FoxdE+8ypGA zdjjPu%8$7n#tzi{bjqca?2W`@Y<7nDrO#2M9k>LBa5uVODiiOn`k>H_ww|#3yaJbL zsK>20)kQm=Vg5c=3-h-I0qUfJ$^Az{_0L8KnXmp8KWsiTSYS1gX}|mGGYUwOmdyUO z>lFSl9nwvb(M9zZw(aOmliToh)eji}+wa27<6YIvPY?dttIx-|7!c^JAkX-VgQA^J zeST^4cZ9sVLFiB1B{yYNfRZ>>?N^N{1DjCP8%w4@@Hi>GIzrAvFt7(c7U9pc7KNJC zFD$>kSTc0%i=R@fe_GC%Al5$$N>lS1URl4~Dw;2Lh^_GDVySpq!WjRdJGwA;zFu(j zVI7reVsELnVq2$kvtw)8zW->)Z$k=`;v4MELB^KoB1N?cP!6$^G$p1W>pfr-^%*HP zV2#&c#1&}ALU>S~6rB^7AP6M8qnEw3@=8R`zr+5=Q{c$TPUl|~r@4FFcBapj>pb!0 zYTuwU_)~pFKn2<{$W#;STI9LB(7qDtLNBom$CmCP48mXyJt zo*ZK8CIO0+rA67_QfW8=GPUiFA#=~BQ##I9bKR@Ih1{V*&p-`s-YeP-w?2-ir(qhU zm_EkpZ*`&N7|2RrX!j;nOSh}sfEPStl3JSfIo`jM4)y5>4`|7XLc2;b@ErEU$e za6K+TL|BZ9+$0JsVB9=4DrEp940aSfx&b+BaJX(0*kxwE*2_Xw^u7twgsIPBk6*oE zJdG`Q%1aJ)UsLr>4_CY-Cn+obgv8HAYix@IBZG)~t$l&4*p>UfCNC0JI|72=gw<6* z=nGgEe%zD6Pih{$O_7>r@rVJvcR8V8L?}qROeGNS3G0C#o~>NgXOwBX_$dw1norgM zuO!jNoz#Z++hAI%!Gfb@tYl$+Mr}kVmPsYvJi^{sC0=YKUcE=(1SFmnMxX6RUnwZA=i|#CoVL-BBBMFx zMoVc2Z!7#32egOe(+0Z@+PSpo=odsj3a+`j(yNZjpRi?>lkbZDAdxgH(b^%vDxP=Z zbUqbI3VdmZ616$+@tvxib*n2`XZdHclM2vUXm>;{7hEo(T79^0ITUyGyy4HPEy0Wc z@W}{139gxeF7^k}8L{-nLlp&yY+EWGncqAoGSS%BctQn`^!Q&wGKQpL2Bo;Zh|;B` zTL0%xil+UUGn5Hv?i6sFbWXx;J!HW|LV+tB$gOD zR4F5e?>4I`{Tdg$>*-qM-|c(r?S~HnAM@LO%enavjqiNY@Hw2!(ZrZR$vd-5d4rTG zSqY(Y>AcQM0o@C{Ccpeh%fW`9a3A5nU4HlA9sOcVHK=k5(Va-LHrA{989tz;F2*#0MwzMS{mNt6QBOYaKyE&S zcvNtZvMmR83UmH$|oLx6oIOCC1Wul|#%AoMDW5-nP{7 znUlpa0&2bt+xguPsjrEK=#ki?c0W`$qk*EzSP_9spHa{vcnXAjDot{!tH3V?U7_Gh<7j~iD)mLDQ7R{v~^J_s5o^3PKvseTq!s(3Xn^Uz`b)QV8z+wp=XJW;jTwdM8kkIa=f^UX>500@PE{zw&=D|X?c6d8 zs#);}JyW{bwbMKdP2V2VRX=z{OlBfZ+8cH6P#N(lI08G&0?ilUmakmI8M~jOB{qk+ z1`gPwQ>(`ykT(`Of>670dVyr$rz9NLmiy2xjX-onLKmuDubDeQ_Hb5SG5b?mb&ZTe=U42NdV6X z;-R1MNFxUtcE@q};M=2f4Dz6^o6;^v_uyRno#zgW7~mvSb08O$>cPqN98ww~XwY@e zY!0R$)p=kB?8ukhNtK71E)JRVGLPqu;$C;mm-Apk0VyxYab-JfyKm&ko9A8rSi(=| zd8UcvsY=6Rs- zziD|M6pG`_8xBN+vRMMZh!7twx4=pNDb{{bPLT)Jui`r&aRI;JcoaJ^PG6GMcB7atw(FB$4zMlYK zIRg(8AuBpYSNndG7-|f{V$1&($PY#2TMpfl7T8YVmKt1)#Z5oqeR*MJVQS38MV7JYzPd3r znVpo)Lq}{GmRb@Bc6>SjnPuVdlbRT6n9+`&Ixe85V&e0Ih^u4&;zYLYi)}m_$jsF# z(i7_kN*M4X8WtX$@ptUVOs+_ zx2j{y`CFU5*yt6OO;bI3)>0#7@nC^tXPG%r{PpZDDX9ZjI5u97)HWopfHZS-nK4`` z%;eS)eDQRE34%TN$|^q1A9vV^_f)!9R=NnI~8N-Dc=v9!8pjMP}dG;LLD1r8yqon+g@?jp$FIj&nkPzWN- zIdw;|NNmiOb2;a?0lq&=;DTo?$8Aza*1DH%MeA|K5Zk1aK!cJcBL|ThzBz<0#&JZA zHrx0TYBJ#8)4BN%hHr;_@iI4EBN|8vE~rz;y+>i{B;fflcM9ZGI$yY#tzYPK-6I zhBS<->6RhBBEtxS4)i}{B5O%N85zR^16cG8vrMLCA}8Zo3R|cqm)oMVRf@?=j>gyHXCJOe;O0apxNb>EgXEOU+Y6kzDQHm zsy!)S$)s-#w;{RWc-RFq9!3p3ehmRAZGQxC&QQ7$=^{uF+HOj8WN0LtbX^IW^AiVc zHMK(E3Hh=4`_<)({0Zf%=uqtWs-#S=uWI>r95C4raxo^jD2~l@71fpix zoJ|&fv*#5(fGe8Q*I-tKhJY-xfqA)A$JE8+ccl=;$m(F$O$JK`Q@vE;n{HlaYb~5Q z9{P>bH21qmJ9jJGN2b>tm>_OLv&}2Z7Q=j>vKn8dqp2)-&a(qYx^6D9Y^N!b<&9kj zF%u^ z(jd*eqIM@u7$bN;rG!G|7v?-7HA6uI4Tp+yV&p zv(iwn__c-LKqYDLj>V-t(BcD;-~9PF;CVj}$cL1{k0F4G%OF`r=}}|?FN^S=U{$x8 zODIu;Dp%@3BN~a#G@lO7!cLh*h*)M}mJTKqb%V?X!jJgtI}djXOZ8tQdVSRqoamd{ z+NyZ?17jLe{uWhU9O+>ne}07_i5@XeKnlX;J+Pz@3I9@>epKHi)l@*U;B&w(>z=+3 z6Gggigiu4;%9BI9Wrt9XK>r3>y{0xQIW8%m0Jw2L})C*4J8$L*_gPrP}dmH1zXfeo0$ON1Ou(ckwy{2kK;gF&HQ#qf|w#qav!QnY1uBGToL)!tE7{b5G zPe10a4rgH#!!ka%h>tUTv{H?|{61~VQj`Xp7aV9PoK`8q-J{58Q3hW4Zf*JD7al~@ zUGhn3m%|&i=sLL1Xu~5EV%Y-qMkZ?#M(hx=-d@%;f61tsd6v^{bmhHpHF*_O&QC_; zt+-Z$%onohdC)jC=^hvg7%f|ny-jZe%Q7$c;<9jC?w6#j7*g_I(;;v-IXKpNS9wRt zY=!jP9~m2Rdz4svHD_{=L(yGo?of>SAsp~q;KcsPf_oe0%7N>f;DS1e614eWa`+v< zwmAAb3bep)1veKaZ%^tYymt+lDWbKQMAC-#qA~aa_JCeTaUP;J0FZ;j6t!aHZ(vFM zZ+8a!cP};i#kxFIk*FxVbE!&*zmOusOKOr};n9`T?qK0M>#b-=NGd8SOiWxhM%F7& z?<=!^{JyDZ|Br0P|6fPzf2nY{-&Dc>4g3qr&{!J|$)qwHf0I4#IFBxBm;JR})=j@s z#UGQEoc}LE@f$oG*0<19#_3}4zggJc{~<|gG>7plO5;P z19X%|^F4ifL+A40KX?S?&*pnL0Z2p*fjW4H8VlsPQ=d;s=+{R*+rJ>yw(7!Sjpwb_ zrBZRsT94GDyl7JFI15cv6_z%WF&mtdYu~0dvvu7u9~xS1T}hrqVX-AKcuPqm)(-#_ z$(342$Y>;Z(&RsO&(HdXX+KGGnI-<c@o5q8d;# zJju+&ZF*$bmR(dr9nhEKZgMJTtSvIQ6m?7N1D~Nj!+emIp`iuiV~Gl=bo?wHG@K1T zf}0)?fe?8S<+R#IbyAn%CN~1}yhhgw2E5KDyUm!%mG!w7nMqou1ulih<&Os-yPb2( z5InvND?z?iGYbwuqyILjVl3mLz}1IXs+ljZhE?ZG0Gv{&`dk1 z9RGo1(DsJLFpsGoUe_wxOj4C<6Kbe#Zz$-l-c6I;FLl_xV&d6D=>0_Ti}dl|4GIHJun@vad##ZlKHLx8jahM_Oz|O@%a!=7X|>c4rM1CSwq> zLaG|p82%7%3urlvv42DHnyrztLESHMU}{YXQvDPZvy8%Qp43^1$Tq@P?&WFFhd7?` zn_3+t*)HUnY%*vYx*!r)E11oIzWx!#)#L0C;Q!2TmB?!p>*bM!K3weVyE|%&8ke1g;y)(<+H>ygm;*x9hG;G z?mq8EOwM44{SW*V?vc7Jx&ugE-uHDYMnKx?8V%oeA5XW7LhK#cCj*`?0C|qDA~GbT znd)xksPUc=sQRh8997v=;u~owT*y$b6cy7aH0sU$tn4v($#`!A)ZmF zoF{3{tp%^PRbI}B?mpW7B4^OL^b7KZof+|%4tMY`8~Mbp00$%bOS7tKNmU@=-W(??*kq)KUQpzvOy3uAj~{TM-~d?`v#Spm#cTN(fb`fJ8AbSDqa`FIIc18 z3_?W@jbn%xIrzE)j$?q;)SuS?rU!W3ud9p32j-8Fnj_6030I=OYH5zsQoo6=hd~c- zS(;weoSIye8AVaDoDq+&{Y}V!oBT5y-_>$j|ZEMZ>S8d_WaQ{rG<%nYB) zP(y7;4U>oBzuIOnXwqKWCHLN~%wxCpvAYmFw8kZn?GPL?R0qwl5KzVLTh{wO7omzi zf7u*pCAJ1jgT)^e%$l;WMy{*&c-}pS%`uVTty2vU5Q%sqBBHXgG7}Tl}H%T>SxVD?e?b)B(CfDQ^74*fACI(Gv{cRS=)Flgte- zm;K%8Kd4PU(asi!p5vgy&f}_XcGrs4WgqxffXe6ZW8ipl-Ogkw3|;G0rRm3Tr&oh9 zH1|Z(CZ8DQ=NeUqor#Xm##vm&N6=A-4IhuaHt=CT0sG19n68$M?DLuW*kT$iZW2BJ z%2qVTbBX>|euS=byUk{}>NR5*2dlkDEHk+?-J6f^&Q^{44gc?|Nu`}T+t5?MDln?J zA(H2^ZRxNFXZp0sub9gk3U6C=V>CMydDHx@Y2kQ_b72bEz3F<6^B4iRK3;lLwOXUD zEZp>US*#J1t@h~?i1i^8N3%H{ld~!qovn6%#w)Y=I-B#R_vx9Rz1l5fT>7fbs^R12 z;-1eSqO~dhe!{LP-pTE34Ys@gYcr0F;FW{dcx$Y?aI`J?3qrAmy-U*S-)GR*MaRNv$&hlYpr?NC0+TP5ub=A>r+fWy7^KD*`v?SyBQK=<)4|~ zlI6UO;;~B(1z`7I3=#H;^C$l{0i3phQ`FPIY|e3@@}yjKyTxvB# zh;&ZN=IQ)4D*uUsk-Rq_(p}uQnvSmDqgc_N1sITA&t1_sTGCV&Z?q5`CDQP#yn+!D zUiA-F{}E3zRzlem0U$t;l6Df~gC=VIp38`brwgiRAbM zxp3>Q+NDoaW_553Y9*igMc7n+LQ8d*9tsSY>*eW715@hrQdd)ekTvc2f{|wVtwBypcEY34zhs zq3W`wM(Dvyr4>ap|4|Xm6FpJYY(`|%tgGZBEuX4cofOceJvC>jQu6ZTC*%WDDvxhU>TzrlQ&`m}e`dJPpD-S=C%%wTiOr;_Io& z!+0owQ6%|IWL1##O$s5Rt5EV&8O^7n%(hIFhs*UGgl=3?*U_?dvenYROAN?OOFVu6 zU>o+cM<}!IwxPE4Sp*B;T)MFbns$z-H-6N zvi(((4S2=XTmUo3SULWlBrtq}^{#jMceFjJ_)sm`auGzgxk1(aT3-2?(SQ@h6t=iB z%dkC&|MF_ADzJ)qM0ax^o1JE2*aqs;mF`Xr_D*BoF~Ir%B70@QkyYy>)} zd2Y{<-V+3WZp!W-MR$J;FU&nOZ-0)JZS_-iH_{rmBF(rw#T1fhw_ZLxirpFSzZH+xFGy@oOIc|FVXy8gIJ$ZVlH3(IWdGmPmtmS=-~l2CU>u`n-Q!9Qr&DI=US4JRVg3abtWTYnSa7^uB67ms@%u>+X#9J}WA1 zH2Hj6hkGf_k>=K6v%TPJMkJ0QOX7Rw!II;??f-(2^aD^>+peaWx9h?-J+1uq=-dFy_tbcN%D80~WW z(fh3}>oxE2cpd`xdMC?Z0rI-+>oq>!1HN|V=f>r_vc6V`|E{s}ha|xHUBy=S`N4%m zs&@ZKYy0%e5ukxv1qR&%&A*=f6pvj$mF@vP$BW$pbRWCNK2bNj-9UE#)$4ulN0Z$r z-R&d4w{1FHnEa=Yx0KqkOO2V9;=hP$eOn)Zc-Lr)%8tfr2aeDWS^fQo4;>@hFQtPq z0R;OCa>`Xt=(*m5g{nxWgt^u*E7>08Zvop6XLnbkXaM-?csfq zo!`5&`$2%9wX5_&RIjTm{{h9<%~0Y_%Fv#BJz(KR`rHc(BF72jG6;eRO`nd%F+);NrClg`}?@SVuV1q%` z5z4F$<1-E7sGz{ilF3vm0SoqJ~H-z1?q_RDNftRXH(yI`H?DWSaM zX;IvVe~Ojl=J%p^{xOP{;qg(K=y%VQ9l3t3s&O!5wrdm7Ww(_{D@1=-9? z?EZr#_caR`(-Qi2Wpm@L=LI;k{iXLM-=~=3*8>3f8foT!28=@4>(#z3YA*R2V_3F` z?2Jx-92?kGem(0Ug5BzVed9vhoC%>1+Jq##9n*Hpx48B zhMrjO?kjjq@Og=$xc=C=pl~4kAU_s-ITyKkGf}oY20`VUTl*1M9t>IeD&qzZ)c^si zp|0}H1Ocq}6FL}mDu0V-b%LWiefr#JS9H6V`0&cb+?PF?p9E=A zXJUaw>LmT-kcV_u&A~~suGiVQ6q3SM5Dh(vmq;Q*1)c@|c)$TO@|#7&y9>>Fm>OWu zLpIL5LaJm*2zR~@vS2(Y2tp5ol~ez-(09MkESHyW>=BwgCXlrSj6gs3@2Zs%Z-F6R zOyo_Nw)y0V4Ro13OLI!?C|n<4~8ROUXUOsXKdy{#}~lbL?Jd@8f3oU;`r zeKw$(m!&9kAs8-WM^paO_jadb?A*LieHe<^^Pn?Z8JUv*{W0BmxHJ@VJvHA&A*>F4 zx~^<_RA^+&OXol$9eJ+aa+o=zc`CxCPQm$nys2krnN%uar3tlj?`C4Vj`~Nap>l1) zVxie~$C|0m%iyRkPrJAJaDZ#fJzEaHEfX|-LhB~p)&2~H(;O9&{U*U+~xhiow?D+gn=x0P+ecX-KrFpfOCmHC! z$R*Fga$D(cPxbs|$5|O`rgP%Xn!35mpph-?O!S_iu~sAS>9G=Vo%LQ>kt<5|adWpo zDf}A8L9o4Tx!z5(exVK6c4bhB$OM#?2mX66j4G!e?0(GDEb)H>6H)=20LUmezA#BY zT^ly7oNO}_|HAsDKD!ocWb%vnDsV6Os>~rqaliUNpyEi;hI({JTN#5%3Oqf9t5bA) zG}nkqMB1;638Ho;F=aa1XpYExKDBYBCD}j_Q`sy()%ir!M|bc!0C*^1eca4Ls!?7C z)Y|~0-8kAp#p_y4@i-G*eGCe`6dBvwbREria4uoRm>& zbllxfK5oah(Z-yP_-AYxF?%*>%D!wTOkrMc6c9C3wzKwTyXwp7FY$30{R6KgfubxK zzlXmn&IODwh(WRH+ss-!l?hef%^k`kgbtZ(|3iQ2gchlq+e!sess| zYG}jV18X&dox*FOme+BEn1?D@o_<ME@JvLfa~u0mN-)$a!_Uh@ZRXS-`SRws&CLpdys9!s0wieCI|~2`{+P1wmpH1<7t=kwr+WGiWwo?!RXS? zII35>x`1|aKBLGa>frq6W`%3(f?O81$H*Pu)NbJ!C->j*D$5s8jVuX^pJ8ySa90be zYdQtho$0(Tm?lFYp}e;FEU-WKu+{i&r{QARp&cX|T6-6KJjjv)^Z;b^YkzaMSZv_0 zS!xdLucryi;#HOOVC~4ACR|TqQf$1%+9=%bW8S~Hv7i}BhaH~d zTN(rj$G21PX-NEf_Zz|C4&vrFcQ=Z~`!}bsA+KG47XtUMIueCh;Fj$iLKUgSP19*% zq4FF{-e0sP`!jpfOeU)RnNG*QF!BqReazd&-6>sI?Ov!7~yMYIr!2%?h=;#aU$$)^`+dIwAUqM=h$r#ukGi58=hp>NI$|lJ9kfe|@ z#Pei!RqXls!U79e$Qs2|z2pGqCjEu@b+`c@;9?@~J!etNU{*)(Rw`WcBsYCNcu#v< z8$wYsdfZ9=USK4b#t0*XwI#a1xFP>>93Q#P3Qb5A(%tn7yc<;c`2SlBcr%4#YgfmHm}NBB5S&vU^aliLXb=5M*3Vh>sM{J?@}Ek-wX-+ceplVS zv|C)6%&x@6dH@6Nv{+`!rRfoOMNpB|V{>hP?_-)SA3DjtJy-7NcK*S~kHdiT5W;fufVa0(BU52Vkvz5%N+q5|$B)tq;`qi304k;dM?0b8~{pIHr!L6eP4A3}V<4-Bu)5pI15J zYw**RTl}h)#~#YIs1Ms~;f@*0EklB>^||$%77M5a`6xql@{}R$m_f>(PUlE6Gp_>y6)=}O#x#=NUX z*J`->ygTd&K@6LV=YsN$-HR$y_CBJ7(=3z?ex5UZ4O^-FYy85mXCIJ?yGJ3XX+%tY zT({sBF=<-OH5$1Rl8;`z{stjS?6;%Wk zR8S?%%fM$`oT*8a4Ceh_8_VmvdR#8ZqmDvmo0JH*dO@nMnA8S#jVw;l%`g+(lmEgu zh+Rjn$mDAop~U7r(8Q6lfz^Ei(az8FR`-sB9o*#B#d>mV-mR`R^ejDPWx?W_M{_%A-hn z3qxju1C%U%W%XPbO&JWzm?7d7i(M$9cg#W5?ZL(EMfi8MDSqYTihv)@fb;mDp!3#(Asv2*Uf3wbd=^`f-9)~4C#~yD!v?%@*@dKIub1!*vjMJ-DE-=7 zb|_ESOV;s)SI?f@f@9yd4)#`&b=g|09kp^rt7s3l5GH%XUbr5%X(Ri;=(uf#e@wfn z6R@E-2bmv~4mk+qHf9iC3=QhF$n?Jgbw0_}^@EYBe6bcPam%g57rS&Rx!6Ta_?bgD zA05gnip*N4M)|)|ltNx$y~-ZVj}@Eb8$ze4iC`0m9F>0h&*E9%vXPYtR6V=z_cu;A zRkb*Ebd!)t%Eor+EXLs>GF}yoFc1#?%?9Wfu59P(GGMOEuTA1afC8#5CTb|xv zzHQ_+Pid@$gGLD_)7Q6-xLOXaHBlF~X4I+qCs7JkJkne_EUj6T@l0B-w$k`v73*@; zY9)}Yt>MFPk-5d!sQjDmm1QQcG&MU=fjGYO%oR-^*bX~x1r&IT=ERw}I=eh*%FLxu zks+>l`PjAPUXs{1@XlySx1T9}8YSW5fAwHK|Frq?wDqGN*vHn(UeHI~iFFlH4Bqs<># z6#;(#Yv=G@;0jshz@XNh>qB&Wo?j+kz1VBMya;u_KufJeAIfr}R1yI(wV0Ak7%xJp ztrP!N;@f1L)*3Uu0JQO*Q+_I*FnYMrJPiq>w2S{^9!$6+oIot2BWI z3WpSIrXR%q<5|%^e%CN3C3z{0tuO7smsi@c`VAiPonP$+tsn$Djc`@z;3WZa>>XL2!@A#EhX3h6rpa;o~3zCPg zuP4u$Z+AZqObln8z2Q<^S!*tgj?sC)HMPP|Mu=x>|3Ng$(Zg8M+*o@&*o#cmx^zqC z#O?juvwYlY*5#syb`7mvUv32o9iBRn?p=CN=|!1`B_Um8vT#XJfl?N&6nimutpT)i zZuoUU0k@xm6VLQ%uXk`}P~4;D-&wHDtXE=mA<8LBWP2wY^)i#yk$q9NxuFTurZgYZ z=mcYgbQV?(zn9G2+|IwnnZ@~Xg^R;~m|I;gPM2zr;O$TJYA0wY(G?|VopU+Yea&p; z-aD0~h^SA#f!Uszul%43{CE|?gqTqCdg#;vGBtp+8fRyt9=HLpw7>*2WT8EYrT73; z>eJu#PMXLh60&276EFGmHk=O(yi2C9_`LnDuUVhOe9Ls#RG#5-&;E3c-80ijAnAHY z9S8lg3iPvKLI|hC%M}c%jv?;RLLA8n98vXsx3fQwj_me{XYAWN|8u?B)J zzWJ_qkE0OdsulgH1hk-+$@9s$Vi-9ygeaaRO*}1`pu=6ispfkp^j}jMOoEZ4O63HE zB`k-`X-l|cWB7H+12ujv_po9j%tCN7zv*K~Q`Ps5y2JCr0^7@f**#&z1lc3zlTbSevc*fH&H@8s>#f@^#6^QJ zPT|1l+YEVa3aU=5R0#BJ_puc_N$Y_JHfu(m2R3=}nmeE00KT?U7cisHyGy&ud7ySW zw?R6rq21o@~PhU4Cu`{_VWIOK16cHn|VOzZ}z)EJL>etnE8vzZ;R41 za|H(hLccP7*usvnkN(F8Iv2idZ7 z`$#mm4BEg48Cz3Vk(CY7Q2$G{zt-)>3t*&wZ;-R1x^>kRB0Zy{Yh%5g&5yCz#j`ly zxpsa`4H3XGv;(}~L}9uLY&D6rtstiyt5?=iHfmf#(WkpVAKU=>kRpqAv9n=>GF zCz@mW9Y`XKJIx)e)*KoisP}`FqEpTg#aLu@Auv=8JFeC|bSqxCUY`e}zATc2Ql$Ep zW2M;LU!1jMT%B)>`?+;3=Go{xJHx`rSM4djVpQ0!moBp8?#nQrNNUVPX3$2+)v0Q^ z%?wNyw%P<{7gD#etVxObEW+}eAyi6wciRcrKXTK80x&lah%27 zJmHjW7|Agq6wKh)Tbck?^H$!21G@h+b9Ro%FeMYYAE%6)D7%{uf@94iFo z?FGG*M=q9LRqowDR}aFv7n{`-f@TjL@C5Gmdw>ZEw3KdEZ?BA`ixasn;SY}lM=EN@ zsC_DOO6kp?^yo$N))^Jrrh&rbR;@s)Nv*oZ^+TR@%j1tDWW3GE=u7lrAg`E9G1y;n zFKtdRZPL`L%qAO+Gf&A3+tYSrM{BR9M_yeqU8|NH*12h%%ao{x^CN#co`FkpgQ68C zvh>1xW72GvQ7Z{GEG|~l4U4cdzOd77ifbyF!QFv#@1SM`0IfarzEAvyGv+VZH7us1 zuDGyf?XKhG`SxD;!?#MRY!wfWcQX?FWB(;oVEALldWwha=1T9IQ%G^dT@#*9R@yl@ z?hx)Jcl0NrcS$kF)oS$(_c0F}QW~A9)A|*dBW>`Wd`hY z(hm(iV)kW0eL?D?LETL4H;c4&jU|QY$z`Bu9}^=FD9+SYSO63M`iWoL%uHh5xCwc@ zV|;vsrAX`6ns?>JOG-VIS8G+*TGGO}1e0hpE8vzjhi`mto7WX^0Dti$tq%i+uhTDl zNSoVnN$%r^R>7v$iFYHd+rr07Jh_i&n)bF5V>@ZL$`$#c(;_xf?GX2Q`bjqm`KFg+ zCuHzKfIAmo(GczlPsjQ5USj3GFsd70WhkP0F z_qRYeZ=~tZUr}cpe8aK}J4fxDU~f zlf-UGQAMbrOn$|{X;=)1OrECSLtdGfzIWCTY^#u;=U6@04TgbZaWwRYON3eTP`H^| z*bM@Rh*d-5i#C5Iy`+d>+Nt4J$F4efKSs2ktXIpHn!{v}2L_cIZETid9acI?QXM^Ov zkKmCrHWG|^ppR74-5SuDRy>0>YU*m6SiED7G5@aaPjFmm$tmsH<+(*K`p+*0GaWa$ zX0(hPM)LJKbn4px(nk3sZWE=qKQ} zqw&^Jd34b3+XEl>>$#|OW_dbl$2Xp3wg$TX-1IeZzesAaK1N~?>7>?3Zcb127E6mu zZ%C_HEb_>G`F}fi{d(+qzCv7YgA7WwNfBq&i{H z(n9hY{_{xj*)y;OhoqgNjJL6ADHWcPQA3e|)N}!8Sbx&uNF@Fwg)vP!lu<=A|Ao3( z75M8~j?z9kx_Py5W#{n(xhPS3da&T!ipYe(5g}g>+nM_dW1}iaxgiS;sPX=SQqf+$ zJkNH1x&Gj6i1N|2`O(GmQ9Js%q3mPrQz9WGhi-CPGcMEK;pAAHQyl5eR6%W!HgdSH z8mi0SQ5cwn5<-F?mloS>vd5Vys2v~3hgX&DS^bpL-rD)ZbJ+98zu*U4bnakW!>VkE zaXRjzl^sP713`svUH*g;f zSHgN-9E`a{BnmUrgOj6mK5M#F^$nkBsc`=LC^G*?rbu2|GHc2?}LcuNlzt4h7V*(N)#NId8XE1IQ_>fuQY4N>d<+U78yG{`9cFj&t zmd`naAX{48btXbSu75e7Y-BE1NILORO`p|2R`3z(eu=%0yuQ0{076jBDuA}?n-QJ~ zI@$n}X@$qPwQ^gZ)vx!)@_!&WeSY|;IT79P=*`g0TvH+`%rXGCri?p7Jm`1Z zZ`Hr1m9$@^y0HNc|LBP?XT+msYB|;OnKg=^B`n!1_NAcUPD0^NSAq{& zl+#WVNdqY;(~+Z-XUTr~XLa~N-3Y%pVJ6Y5QjE1OZj>QPit1BGs!c#A*+s38~A<`=PjAFedWt{OPl@$AwPlw@H`faqd9LB>(38 z$y9c?ja7AJ0F#qW6;=1}V_gS|L^tCYv+%#{qL?Ch8_jo1rxuJoY(2U|D%y*-X7xY3+|z!T4EX$*A>%^^`M3=M#f;U3^%Zc30ukCX1X(x@p);ep-6ssj+C5;B zya&;OmmghK5GLU}uetT!27qL!s`#U_O0%#WB;r0|MNGG7E4|$^gKOFw_qTc}b!+rqw#~}a@z(@dC2(vT&DP7d!l1Q4!WPKEh87kEk8qIAw-427{ zPfTN%)KjuHT5PsZ4o5VX3&G>b;PVv=1e%3HH$)dB(qAX8C6p{6E*h6WQ_T9QvkCXZh38G{UiG0M0xN#kRl)?BO` z25fA|+1bIK!y^?=uk+g;T)5D2t`t36++@X+HCxXl3HWd<%__td2~dp`RHiT&(H zg##Qw`J72*7dY#YD$eFSo^d|s^Zi^vi3KiH_yQNn48X_=Kyj`cSS};CBE3TyF;FhMO9O45=D6tdbE6GKLgj zv>7$VjQd*?Cj5m-leYPAr$o4^tqC;6Ul0&efM7B+2r>%*!Qmtb!#aSFG694Vw}8;H z9tb0D31Q`%Ae^`rL?i2iXvM7|I@th(7k7f_WlIo)1`ZITYyx5u4}h3uR}euw5Mq(t zKt%B%h*fq6v55ym?6L=lLp%iHls!RQ;x!ProC)F)uZ4K!ED)b~9dt&{2AvhJhtA14 zp!4GW&;_{~#DBvPAXk9|#jhYCxe+8Rehpoen?NFB7j#K(23;1rp)2xdkf_)LU6t!V z*EF05iP>L4;y{z@Up!+=fFY8`-#}6x3_;Ss5t$2%eFL14y|C1B;EKHQGDtxKKSR)Q9!#+8sNK?hPtG#Zt_gS3#0b|o+%9W_A+B4b(!YmgaHF|ULT$b!^ZR^lGWibt`o#C?zrk7HX2 zSCAcPxm^i2kUa%)_!1l3jwsBXFTru5K?ro$5e{;Onz&RV6LgPPx&I|r)UK$F+n1o- z@j4!rAcH)q%Y#Z3fxM{C!%7r`yy=fmC4PW>f70>eSONLN&k?{@0xJmz1+ksrN+LiZ z>?G7A5)>w242u(4cwqK@iHh~vapMtW)Sx~n5DU<`O z$u*t?<;k<4{5cpc73^}U3n3A5C1^lJJRHTSrNjgWsB{j3OJy6k`YD1^e*NfDK?NdR ziQH6~@Bvk8-~m0;pa6RA2n4-=vb?-t*)=F1uc%I~i7e1-r2weT!$nX%d`rWH#eRc> zG@76?dOHWcrFVOrqJ{`oppw4NB zrLJ8rbT`hW=Xw~YmtF+A4~pqGK>&Rf>j4^&;h;gW7aFp^fQCUQluDcdjnI(MN|b=c zc$4v~l=cJ~GkKw`zu|4ZUwGO-@Gd`1l!JcBF`y~20ifS9EofS744RSYL9>%iV%a{wlZE;6jh4}-3=gtI1w>yAvV$XtT z-xl8^j(d}2ZK?FNG~GMPzMkjT7sWZ{@(q>Bxz*|swc1bX^;6o~*0BF+r`Qbu9g2GZ z==>@Fg9a{0vjTAr0JQjGx(vi|0O-EsPSHaTn@%tFfPp?60YE>5nSZ9g@1V}`Qu3>; zC@6>l0MH?Gx)~M#k^d1ATV#z1Y5@F!@5kZd=HaQaC zcjj_s9x=u|;yd$*1LhGYyt9%JIDHJtkDu&Nl_7(cOqp)Vl0{FpY%(;Q9O_WuTn!H3 zJf{yh9|}|OKZED|#qc0AHHtV%u?a(P$sDwoOLx)jGT4u&IHtl3HsDGP7T_vJD7YHZ z^6Yw0=lSPFaO5Q~(V(VZZ9cVCy$pV>AqZTjDhkd?SS(*)b68xSPsF#x;srtTBUG*Xl#Y%^bZx)S&d9nzy1olBV%`!z z;*Ta0Bzz=E(g)I{wU9Y7@X3Rwku2DX2EpZvSm9B;pDU^g4n7bV_$M#Xk8$D5;|#;)3jXn8 zH~$1txOsLBD<}}zxQiINC7Z7%KR^uJnVmuRFw@V*eTK&bl-KAx1sP+E-ZNee-ykOL zAv-_agTOC-F~%lad_UV{BZwV&6k=EMfY{UU6JlQz0f<9!d&H3>3~~HqJx*TKIrKjX zykO=FYU7PBzG97}RB zq?Lx}kk%TWLE0#GA#GKVkaly3UwM1u1@_pJa2%-6LpshOapeRNwif(^D85XRJ}JvD zSCmhw>MJzu)4Kjj!}yG8zRI#bYum4OoX^qSE*9d|k_wdOGf3dlu58f*lJX3E6j8)H zRH!taVu}zT85)Lxtk7@{$jWD80w!FFsiK;qQ^WECvKD`(&R`e;vR*|Q*&xw?Y;=SH z$%F0S^Eyp`z`$79yfNA>2uo`PMH9$297j9v(_t_)1KFuz0mv>(3&?K#J$i5%y?lw_ z3$&shz}E~`z{de{h~F8mfKLMC2>%Wt;Sqg7*?=BJWX24N4v^z>Xjxf_(O#pfIA&L? zI!U-RZL*ACuUpogoQByo23hX{him}Zyr~p+$VTMzwo=fL?@-A5O2I&WKrtUHu7&)B zews|-fNXw-9JJ8F2R`$KTv}=6W4Gb@XlE-OUxwq_o!C!Tg^wY-IZ4kKw018}(`SYP z$bJo}beIFvzzH zO?>A&h5Xc0g7|0WcA7PBMVG-9@rxahz>1;oFS35fq>UjfAbvabX3 z3W?t#x>@pipaYZJKFh9M&pYX)E-$C7@ipq|)-^P3YHQop)x`$_?d$711cM2UAf#|O zITkC3!%5)@vP}JqXFT8qFL>C#eLb0L>^>G{UYxsDu>-LAY=OWJ0kHrj{D>sgC~H46 z8r5xV{LO)D4WIg=W`F*^A^@Lza*qHA)dl6=Qln7n+&daHkS6yYEgD3dd!G)4(d9m% zN0aDtA2OiHVBAOG6a~S33`tX6O&G2aerac!#LcpxU?US`x~E55pe%9rAG<5e~9P; zGonUJ?~@R9=JWvzqQR0rWJUI}rte6JJ{$U;Eiqt6Kd>i;9Oy@m#FP^g=SR*&&waFlljw5gjG1LRr3Jq|I?w z-~?%Rl98Mu{Z2EMGeqDlV+$h#eqjF9EA{%vy9Cw+Gxk6T5W#g`qHP_jM z8)V&0Ht7~Q=Qg|L4mmHJ-4;PExyv57M=nd|YVvhTH7BP>ldJRd0T zK<8H}ROrbR>HG%8ian)7i8qxh^@=iOK31;W`c&wms8ne~s&vs*tF|#UmSO$)T)l3!2}>`S2zY`xXx}MCE4O|L^~|a-(sNfp>J5_uLcU z1C{cTdkTD_GCp(9fEX$(mU|AwQ91G43*ZZtmcYFP63HJ)+$$iNf|J4lQmL3U?lq83 z#bt1BfK2kguiRI%Xt8YWYdMrAm-|K@Es@WCtALi0ao;JVWs11(6;rwr?gyo`Tp9PH za>`J_{iiZrK&x>7t4#nOZWXHE`0aYPSEM*JpGV;_4``hX~a6SS!dw0tE zDs$$%)Vz6LZNY+c0s}W_s@Mn>gZGeG2&*1Ojt!%(%XvN@>m2DXCu8r*&{Hu0$ zV8BuSYR7n;gF9m2S2?)r zYMX)0nw~Dv z%$b=K^R+m|Zz@Y>vpfcKe;O+rPpfCOxUE^kY~4Eke9z)i0ga8}qGl76UaP%86mmMg zptO7g8d?JkLya-gju$Mfvv3Fh=tVe0hLMmBFkxZ@rKnS3&<>4v=;%I%F@_^NP3C4A z3(Ie8Y|Ig9wS(Ca&oD_@OgYMuwaG}+jscrvTZ^&F;)tNRj_TPnEqL+L?T|w>uQz*i z`0$~|m#g)Sy5?Is^;WCPav)gz7ze39Ilqb376H zeqAC((iSD!ZZI(LmxDwvv6h+J031x|JzpUr@|7>2Ju!r2?{}>cEI2cB9XSEQ1+oQc4M(#ClG8U5^W)oY@$#c0RWq+RL5vEZ-4UD zL0$zwI~h{!l#mPirmY#45w#mYb2M%Noi*;y+X4%M8V6cxXb3<{12qP;G*P2KO9u@H z&_d&G0#{h*H$4n9$HLhUJPJulQ3Vu8>{mNGv!A(6Vbq zz>l91{`~dWF2H~t0<{RTTbn)h>vg~ZpB$|4X_s=};;;Z(58B@6r}}w1Tz<2tWRQA%Oxg%Y=+p^`b(4Ya0CQTT$ zXu+mWKWD=foQxQupK*&eC{jRIw%VhV^U^G08|YeEoy~sxos|O?`7?B#Xmu`UoUw6< zOPrIdv_$zoc=PtpK?iL)D%83s^>pfD&pcBmQe>5WcdM~6qE6i{8Z;Qg!7;?dWQv8& z8XupP2oX&D;umKA@CS2s>e!{;qHO_s=%8^o~6+hLg z$*10;45@<_(geUV-k8FK38qPtDyB@)O`GQYX3q@moH||L)C<(<0jJ$RyWw@Z zHzGNo3-IGgt|a^1NL?0i#v7`sz!`5#{{WZTntB5}FIDLQKJ%F!D=_;SBCW-MMeniCNc_c%!GK84ofy=3SO1ra34h= zeH?{0#bCf#EEI=_69^VW5}FL)_=+S`rr4%Ub1e(()31`8+%p3Py)Z=K6(yxv3-xVy z-JjPrwOc`lj#aux_n}W8%-V$)`!axpwh4Q1v4eVO>|tQ|hll3?zpSTzLV9eboGk}c z90ltVVz(K4?6;63V^Nae_2QO2G*$o9d>PQ*Pz{bZ%7;PDH!5`4(5a_Ze%3)?Oa1}Y zK?MiEIyJEkV4b>%4Xo36_%SrmB;jb0I|QuLk)8(D=?eD%tkY+Gv!@soa#B1LlvEfP z^{}vhGcM-jiC8=|#7j$iyq)Km3l{YYSa-2?C6`=M@3PD0U2(;-t8Q9#%PlKzyJJhZ zdv@J--;M_!ILI&B8}aM;=Q{GQ=Zy0r*Wsm?Z1T$0I=wz0!`7#2n(n`5&2+S!wsFy+ zk8Aqd215Rx8};yK)2lueH^blrheg0uh(#Yg8d+V4ZC@`->EFf z!EOH1;p%p7SM>h_U}H33uow%l{;M$qihstASMn15A#(+BKNDO=^uoa8l{zbOYJztejTQ(t^Xar6e`567NC-ZkaVQ+UeaQdoV+NQ8Ab_Pm{S|oh z1Ng*;`+T`Z3t$4k)I)(_+a=&#mJF!dWT1qW1FAcanv5|t9>p;Ni+}~BL~@GKMQkIL zmjd*=VoJUU0>6atPmTgh9r7Z03TP=Qq0bqRl-vObh=Qyjy^6^cupG1(jwv9)%i1gw z@bYD4IXE8COEJ%=1tA;9w8_Y7nktwq+&qRbth7wBzt)#Wo-17DegMg(RA5^o9$L0R zoSwgyFKqQtlw`F-E1m{pNnpURnGEpB5ijcnG6JIpAQ^UGpksBU$t;R@{)fVp@YiHY zyxGwT91FO(DL_D~;u<59RE8eY3p!aE&hUqOqo@t_ie!N`Gmh!tvN!60hQ|rRvLaMs zBX)fn*hNL`N$kt2%MXML75B`4t{SyGG=2) zF?hOHKnHBF5vcnnP0E`H0#mVA=q*IZA-HV% zsP87l#z#R11}VGjg+J-uUQ(aMN$IC*@^>loq>(5SG_Hz)G!*wQ5sApLdoTe5uq+2O(=1M95j$kd@0~?bKN+af^jWv|BKsoNyACAgU2n)=;CATMO8m%t zgn0yu!F_Lkr*h1A!LocaXX^aV=G{m`^}i}e$Qi+WtOdEy#-;+w3pNMzF9h-G=MgDr zhUPN0#{n5ROa*ixOlHJ9z+_NT5y)?4#L3l-nzw^5-mb#611IpWayV0G< zxDaSa2Ee4iciaVZQ4|+Y2e-RR7;#yU^JOd1eC?LoD=k2@#s512a1oKMm9Tu_f@LWX zO?;AATDx*x8iMvF13$=S$u@w?`sI$EKw*av7OAMpH{^hHg?=j|fQonTu11WZfhpU9 z;+GSlP)#4!l>T27_(TNmPXasBeGWchXAigk_f)X)WDvb@LpAdzwNC&Tg%PIhPj z1}!ic#2zPbrhdw&Pw`Z!H&3cMlF@Hh07_OEV(!5_`-wT`u0zfkd!F29&)?S)4%5I1 z{YnvY*kL;?7z)a^cz?U?Vw}^AIlHz}lI=u6(ZH>5!7M3Z!qX?`duXAffp>7pcH`KE z(N&}e^5*bih=UmxDCX`K{Cnb_5HnxyM~?@0)4U7wq!OPG$%Bvg1hV~FEcs{2(Pj;Jhvu-6;0D*K^w$A& zE`5cOYUnkk>F>;bwutoyBhKvI3iBruPrc8GrcAaL@cTg0oIY6nz~dUtiEJ7{hO5!f z!X-?DxgqCc`;X>Garq(u55;I;w8YYX%#(dH{BcsS3Gk!1n`mt_>Q)Q51M6J z%|tonTu_0UEy9Wh#@X8bfUwdx*@?V`5Yju?%CGe7!-NF1W~bCnIT~|zy_|Zv5?6t; zo!lBe3Vkn*bk9&%{B6IJlN*BZ`PPdvS;H<3o^nn$KV>^KJsh? zfX%Jo<`B?)_Zett`|LW<$L4gZ?%F5?02teBE@lH*m{;0?pTR$lz+f0<^g)|ZM$r?!(?rvm$Ha| zYgR+Q4DT^bNNFgkg304@g@P*UHUQ)bi2*GkkJpHPrE5k->`jacz>!wZTI|JBCiqXM z5m$rp$K*hwlncar#iI%yRHSkUN{R9zuv}PzSEZ~gQuJqN>0>K)<3n9h51vKOVf6k{ zwTUTO7vPAL74QXBcr06L^{lqlHSyc6u(#G^9$6dfclJUBFTRO%VwdTiOyCDI!F1HMMIkULi>$>KW9_M648^!dw(&>tl3#y|06` z0)7=0vkVzki!Hq8+L~s5J7HoLCXyH)@V1+D>0QqnA%?DB`0#w#=ep+}C(3}Eu3P-` zX`zg4TtJAVF#v8kp(_X@tptn=geuVnbpaWQ;NAmDPtZfdvE`D?B{iQz7CFXX3)-#; z*1{rPtqGA6hfg#trCAiOn?7jEaB;dR^}=-%T?zM zE+?nN{G6}olFhUVUxDMk0KvH7bD!O1`xH6Za3f6oqfe3TGtguuCBV1@7cykvt&6?J;z zmW|0+07)Q^i*K@{&oniSFbF)g zBD7gqpVH8S06rKy6r&<3_+rMv_-&oA{D+LxKZRzr$Wiu6G19<>_U+n>qCDty-9%C2>Ft(0Q|lb=Kv&iCMt<~xm(0Az)HMu?QqofH-Bzxmbdd|%6wqr@7ck?ftC7uqw6@%D!hPf)^FZLG5Fz3m1P>D~g zi5-vp5`|$6G1~UfKR5?P*o4A*@(-`-)_A$!j0|l}V4*vTpwV61xPqY!!JG4EYvF#o z^Vyol_B}-~>@{krnGX~pJ#J|=gm}Gis-CrEpkcQ>$0KO_4bv4B0ehj(z)uawzMgWvs6D z7&8vBx}4d;X2XNr^fZ+$gu;!Bm>S&<-Kq;PAr_G!B=_XQ!x1LM$T)u41}@EcXRJqc z-Add2ZU958W+D?UZlN;*G4yRdgQDo(o^Xs2Ca{Bk5$N;iDT)q-L7-6{Ml4qkUkb@N z9S%Ev#qPoc8k)=xg8U4-em;2B^2Vqs!-PH&KYzsl3nog~JbXt66KKzl;b_$gR_RBE zmuLZpb_yN{=GkaoZNbxYB|+nkDSGxV+L`tz0fun4bsC4-p#C7CkR00LHVr=oMgEel zKDKgm@P;HK-NW0kol-9%bb;FRH0zuxY=W2$jrA`QMp0lpbD912Q)IYq%wr_&utAYH z(@^P&|0Y~Hb%}qn@F89rxRGSb@?c0zYwR9>CUHvCxn{X`0UiE0BUcGypbEp#sX&Ic z_aCrELs70u%l&r77Ru9p-kX5gBUiI04^<53mVP9JWNee;lza$6RxB z7fuk9^)K($akxgi$hr^eK#6s>ho?>dU#kxCsQ1&JJfIbkH|o6~-xq7VRM>~Y(7=hL zOx+jQ3gdBO-w+sMh}KpsTE}6D%)%a9rfXJolrtrCxTxYMx04Ft+Eu{GvFDye9l5`4Z=~%V8-8AQ^Mke8yR0CqJ(Ov^4W+Wz@eh$c78Ise{ z&ej^$mtCs00oIKyGOtWb2AK0w$YZVzUiE6#{g^-?m6iWtXNOKrE0!1DjpPtRN&UPO z{2u^NJMt=5cH?}yJD$_a)mp-rb@wvBD#|&&^RNIjb+GRu=^z->EV70ur1>^^JWA;JilkxjYC^sjs%6&$H`ss8SrlBy=M z^lRsduiBjm*f>{Kg~oob9>#Y)^sU#$s8$nbX<_=!i^bvkx(_To;j*KxT+Lj5OY~7X zNy!em8&00oqg2t_{Go;2+Tn`3hF%)%tZ=GKCIfGZ7F-{CLl>o2_73;v zf;_&%O~1;1ENLp+c)SNF9Q6_;-2*}y3t+6GzKHwE z%d9sxj~|;2O#XTKVwYt&BacfL_k@1J*o4NvomoUj8!m%SUu;2!OSXsVq$uj#CSh7d z%h#crpy79(EZekoZ&PksWjk*QYWz{9Y`wQ&Wl3_991dJ?Dz$d*%DYpSoxKs75ZQwY z!;ls^iztXQTF^J*bcCW3UXiv&SXQ{yX2XOS_8pKfwA_bYK7ied_auF~UTkEtO-CIo z%JOhOc-6;eLh&#ai)e`p?rm6Lzgmuzd*Kfben1?T*aL!^6rTzsWemG)MiUquz}oT> zKuY}PNp*b=JYUoC?USG4k0&s5>=U?dybTj5CA_`Lm2qMJ@X|SJk}}s<$Mlx2ZACjqOF$Be_B$hBx> zZ&~vG3ZBhTMB`Pce(6g5WVGLu#}%dV#<&{nBc{7Nw3`=)q)+R@6bF%QhUE*7k64aht@$GnrhGmk}+s}tY+*hr^x z=~u$)o8xL`dM9?Y&J|~1%I!$P&vpX)E;}jlL$I#o-QB#_H^exET9kr~r{O4$^Jh*(y_ite%p(d$JN<2 zofe=5<9_ZFf3f@rm>`3<~Fmco>l3tge=UY4bWlE(XPy>)rgRz20e;NB%MSkS!G8I8)(BXXB+e8x@;eJM)U+l75FI-oK+qFT*q0>@;?CQm-YV9PfemarLC$z!bi4d|9DwLH z%G7S#{f4qlQ{1+G77DUd2>pK*HC``%X$AO;5@uE_E%;o~`l+g-E_?iWJ>16S9%%!OyY^%C7lAWHeIev>l4 z5;P$r2%>gjJ>}uI_v9W1nJLGR!(4-rVCkckrL6XtQ5_oSptqNeq5CMW?XjaEd?-<6 zWzi<%$@T9)K5x^MoY!0As(=o>qOy)mqRW+9!4>Efcjzhk&*7)N_kgDSc=5wj=R`Cl zg!p50l(>4p&WNg5>R_~SW>J*ufJyQL3{7i92pkqbuK{^_<46doafla0_8I< z>&NEP`RKkvN%PBLy<^LEwe>!@RJSCEp22HcksB^jErqH_n8!(*nCyE%oUUMgE{lNd z@<5jgaeU)e1#(r!97_^TeA2n|yOFkdll(GnQ|AGj+n1AX=Y-m4#%o2FcCON9{u|AU z4No;DGaCYx3=0Ubh|bKAEn!$rQ4IV~K1;aVQM!^-!vN3}bXCyPo*Gt@?)T0Z7r>t5 zIPu>ln03RQIADU?Wpq;%k)`)mi=k1DUL#r-VX}om1^uYVb&vf#^7jm{^i@M)V+DgJ zD{c#m;Q`!k58SiI{?UQAg6V}XrYcts0t|h2la(}@Wn(Y09p3bjEt3qQh#;2kvc}&h zIvVp}sK+B74mxPz@Q3h&Bd`UYd=I~WjHPX0V#eg!-g}@i0soF1DEp!#GPSU)Z@Jiw ze(<2mm17w0XIP`lLRksYlLw~TfMaB(orgYq9j(e$U)bn|HDB2N#g|QRq$*9iQoasz z_v2bO!o*3Sf#a6XURueiuvO>U8C7JT3j+G{(gHUD;(6>A0ErN0mHtd9w1AN2@ zcd1>7gJjB+RXs0YqdX>FR)P90&T`%iR3RFa$dRlBFm9RCV3IUb5n^5_C6< zR!aVlyK~o4#WEjk&V%r+tseq83{gHMiD|v`%M1w$XraEtZEB_ZdUeV>p)+$xF+fOv z5^kt-rJz(87Uu=Ly5!0u-03CrTFjxcI5dvD`>HNRsJm42<4<};M%b8fG4#jNVM zY>0IYtg=H@27b-}v0cmWaY2O)-mnSquCEYW?pu$Rw6_Ebc=Yf$OWNP+;Nx-=>S*g{ z4w+CY&A&V?|It^aGMhfh|2Z6Q{LIZCPHy)^jGr6l-PK%t6yq0sHa4I4*~iJ173^;q zHMj5h<}&}qt)0Je#{NWB+dtQbiK*i@a;b@%jqA$J%g?U*EYP6D_n^$dVF_mt!!y7L^w6*p+{xh_X$3G zTdVTk6|pXXMVIm^Z=?c35rTcPSlTax3BVw`N_>2cPflpG!LLN*2< zIB95ZK^?Hj$*Xf1a-XTNv&@IymVZCof01ZR_P8L25TjPX7I$? z@6FgR!Jgw0#}J@h!qX1Y^JbgkUCy4V{jFxZykoamUZl<0qi>SBwH1_z+e0r;+OZtn zZGWRVlO8ilICNb1ejEb&s8$d3O03-;Mp3rq90pI#m><9K=29YBA~$J`(%#X?_j zi<(MXA)f^5LRZZdy7g>Pu{eIKaWZAGaj^_f?}N}>cg*izT~T;?TUWLZuaaGy4$d$DUJE&VrqJr7dEfA8WyNY$oA10 za=Kom-cA*YH=~2>6NVN3o#}rVHj- z)qeGW1G0Og3UQ07AG=SlDO2A(2q<4SRp#?4gdn7zZ(dlyw*y#m?HUf9n`#AgJRFhA z@3pQK{XvBqNE^N0Q`DFc$9DHN^YOzYSOYJVcb2?e`oc|={+*V>muPKA6VZ0YiJh;N zvq~kE;clsT)SR4CX;wcgf_$daHNdhJx?{}Z_sPuJ-N}Ys#v4Y}b5E>8YMw|u8D?DT zBk@0X4_JQ%<|yYZtm=ci)1s4;S7A&}2~5suYY7`Z(BcdS@Pc==a#swucTK%lh^FoF zI+vo>A6&$!)VE!h7{(Ptfr5afgLC zh@9_XsY?0}S}?Ti4gL@QcX&EKI~}R|m(xwS=vingZEO6?w78C89&KQA&HcIcWd^&H zKD9~zA%j-^A2t48{J+sbmTEC?ev|^OFxZqAOIGS?;!QGQ-JiX}{rY`k{%AdzR=Ui! z0I@U=fs_^_>{;DjwRkKYUOd-ce(%~!LkUOL{_(3KXxOh$ACYcT(eQl6%xWv7s05c` zkQqyr*HI2F?A{w=qU7QN_?WZ@a`i(mzc%^O* zOCyLqWQnx1xt8BlBP)ON&Xt@W485W{{4&c8qlI~uE0+|@+&zo*${ViV1Y6?gooI=+ zssdAI4q>%SC1y^p;iVf@475G21RYN>i)cyes=lL#Ru%`dfeRU3T3fI!OVbI9U|Gzv zVwqqTRy#L~gt$g&{Xor}Q#m_ci1>`TDy%KTf4OPaH^Nm{eR)xH&0(HhXp;5YSY2kR zv3di>S!Uss!IU4#&^69}m>S6Pc6``Ad+K?&)el-}&`mqG47`T_QK&bO>)A zx3TgAgx{&o)8hc7D`QYczREwSiWLGcr(n_nd^vPL$M)Zh0hViakqwSrH44E;|`VDJ2Q)<7_E)&{mkghx=&m14< zw^pyg)nTSZh7cKgvX|Cd*Mi@r7MgH7E&0nxM#PBbxSI2z1%9#A3@Noxr?5sp6@G=Z z2}9K@4x--*5vFTZoKh4f>~^D&Um;MoAnVnBlYv}X2zlx#?`s_nG$Vr~jO~+!AFKx5 zNNeh1MQ(a1FvKoJMntee_F8N#oiMLJt;Vad8C+O{20H;mBmngi^bF3uZkK@JUHu%d zJbamz`wCZE5`FsOtSD2hXOF$BqYpKS)mQr+kKA{c{&n!GjFw~t_N~gf?Ho;4LE^wg zzXDYz3m-x@K!E|;Qg7<0D-D-mwfC-EpKY+AwL0;rzCgJldspL0(r;ZUT=%O04fOt> zc)%UW^}3+zRQX`Xr>0EzWgDkJ9Fe8)0;^)6sbyc9@I60t%u8s8+@?`n8UuFGHoD$& zfXrE>1+37A9iVfCGNm3$`8D&Y%w zvhMvcRb=sGxnb$ZIE)IAbk1z&xOB|Yvn0ApK~~K6c!c4tA{TkJ zrw!t%2iTw(d8+&cAf@uY5JLlhJelWT%aNxy%$TaF8$DXSGw0OC=ZHD<@}<{?`Om@q zx0uERjsNM+de#LN!%XzXe@?~h$<@###yf83(oWI)HqR*6hBpl0LihK?dKPPRb&?2% z{m5oc;P9o4Y5V*h>~W*dsp)foS_vPG_m-r&HlM z^4(vJUBbbh4@4Y0A`OZ_OjR7>#zDp+T~g2 ziMA~?cdT;GR`njcaK+qr&0r#=exksDuqEx&cr+sMN<8V!Duzd}o_R^MmwFasbaf3L zgW?ZWvn)-@gb%dabAc~lrI>;jJLI{rPeEvztjI^d$H-Zvw3SKPI?8#oePBT?Rm3~t zc3!8tt*dW{kRap%D-O*V-p09|DcvYxTh)6aoMU%fQkL!+)7_XGj=!=m`H+H}^APG# z@2rcE9_Sc@4X71`Z%#5zJz>w$FCqPqU%nel#nqju%tRCy7P=Q?|JI#-0_LRytLgXR zdf0xZNm=~McAqu7J*<(B%pJ6KHZQlMFtXv|W?bxk`xdEaSPMFt%N5clgtLKF;rw*VAIG?*lIK#u zoyO-1?E)?4YoJ^3l=XpnRVe)>cb27E*&TS~&-UYlk{6z^-v}+RtEM-+T7{}Evc=$^ zy=Ax*q%0S6Od!UB>S}FGv)kB9+i-ujsi4j4`Acj-uT)D$Gj`6DiDont0~(>5bdoop z$pcyqx*vxO`k>q0ogMbN2++Y(K1ON)mBD_ox33EW_Di=dE~8$~T+bM8Xmye0w6ND4 zv&CWVEQ8Ouq~Z`j_W-zNY)*dTZ`1E$4T2M|om#4Yl~G3dD+#})@U#5aYeHYQE()+U z_;)6?`@!gviQnKMT(7RUJHa2^fkUorLONya_2Llz?#rPgmAfWv4xLOjcb1=|LuK0y zo3IHbJvpy1|2$7~m z%X9fn0s{x#3Z$RihHR!stSlU3J|}~;&IQ{~UWU2IoCL2Hwm7t^*(ZDZ31rtFQ-*Z(smO=ZmLi9Uq__O99BoYCwjxymj+r?F}i4ry(zVS z1_9bqj#wBmstLY2-d@Tl=k6AsETv-sEswiJ%?0SJ?#9=6K(j-v1if@R*QdJ`vV~g6 za-2d~c08<#nI3+@f!_-ai>Jdsn1LKnGpAVIGW6@b-euCR=%tkRbT@2qPr5=cYOL2k z%X=>hMKGAPbls(3=ID2==hm=PZy_%y)vTx%6;ZcE`tYCr_CtBjJG9GLX7L2JhsW6M z+FlQj4zb^dMXSY=Xv%4tV+h+WJCn@IB)w{d1Hq1|L#~KUcjTgqy0sTXTORx`8nzT? z8TMhj+e6tsQa$Vru&-fapeT<>Kn-=a zqjyuGv~B=3K+3=s0oev)ArR$Uo+cnO5v-^vI8~p;poOtT5+z3;-Cws9W zhUje4u`h*aWJHfqMa5kgqBV(w)|Rxzage+7?Ut4RSG<(1fB`SGKN#X3O<`ZQd-%id zPD^uk?cyEZPmfjUdoA;ZF65WXgo%JKMm9>QBlHDX*FG*zWE8THMkuXjiZEQ$kRGa9 zAT$_uPF6CL!8jW@6PDG7bUAhtf|9qf@uK4Nu7G&xOq4B`kqPBxAixG zf8A@GGZQ-mD~;dP3f?lX`nw_8GOIE!rN!$q04&q6G*IbipH`D=)x+WI6dLwic63xL zjn1Jek!`dMl$6K^Csi(uN|Nr2*H=1y*-@>+H+`gfsn{Ai+VxEB{$E=TG=XlLV|ht zJhH=V8Qe1hZxosouWHm!O-5nh%C`rz+mp_J+!4ll=>n|~cqUll`EV5u_xRf%qIuYU z(YZ{u9C_NKD(eJVGh?tn6}|n;1=MUbOlRXY z`4r4CKlf}?Q7odeG-xHIwfbo|}EJ z^*gD>bV3L!4nivGmq z4!Kr7u)2fiVL}L6?9qZ#`ok7yzfY_RZOztL4}RVh+C#h^~FBaIseo{WYmE3%joz z!`^9>#qSYtcu&ZP=NxF2*dob?2s;yDt&da_rGvr=&0Rwv@yb0Bfna_lx6rf1^eE;$ zoSb0E9u!ZLW`2d#zQtJ7R6DSN&+ImZ8#*Ik)NBoLR5qw!m_evELIKlJieTHi@8d}! z``en*G77JYsJ8)Rj$dci_5U-Rt`JNE%+9ny6;Nd4?OSx;CigqH%K;G();Aa%|NmQR z*$qvB4exS^Jn<3yul+X#mpY&gi3VaT;mI*5ST7$0N71}yyE+U2%;?SS2m2ro&#G^d z^+eoXB(9t6epZHGc#JYzST9|6{FC4@|Owss|n68#Az26M~v1SAXO6XqGKrSX{e zAJoq&w7RmMf7Z93o^@Wm;D$_qNbAwfyRH z{pDx<0B7jG&eG<}1|!z9*3Z|J5aAHmjA_fRToXjAmKoe7ti;%(=Otw|6}7&U@!`B5 zkNwc0VeZdmoi25Y!>Lfuulmj#bm2#n7C+V$N-WHg!ROV7DWlALE;GYnuilJAc%3uA zJp@wQYXG_Jm3311%WhE&hZ|Vk=;fEaqrG2mj{>DtqcdT{Mxrq1>whg_Vf!cK{f1$W zp83NZWwHRJxL_MEsi&Yn_<>pmBF?qTQJ+{(MaAj#T%4+%p$eIiUe z$}4?;@VIi@&s)`^+_LdAH*lEipJHhD_aDx!T&ouI>CP8RO}1T1v0)A8{Y? zB-b}~f4kglf$azUkcR?s!EUzZi>SW#qUxp9HNXEK`#yAc*btZNp&GR9piiGuo%;RY zS_5pf>cED%gyZM`Pv@`RXP66+R%gR>^vYU4$8Q*7vKum7H?1BT5wqPH)>~RblPa>4 zkHPJL)#4T6Y-QCLDrne-WuEi8#&!6Jrm^IqX;x9YJx?bnI&N)+7)y-iC{Z`29n)va zWd8>Km?o(PmT#JE%VfEz4S;D|1Y;)&jONdR4<>aP9=B-h5_~ zIRJZL7RR{kF^OE`D|#IaE-hbDp4w`xO?F~TnI2i>o?J0+EP!Om`DA$qID-8dCM*-? zb<5@Pm=EtmHp|OvN7%PGbm_H?j7B?~bDL{lU!zNXs~3o#$|}WB!@^{$rOMT!Z;US@ z;Zk`Xd2@vU{y~0My+8RpW zxiiMf9*e!1{pH%}k-MEgf=>_JZC~xw+b|i~GS6M}?-bnvPr2>2uZW_{iF=L-6Ev4E zyvnQVe9dwtMZVCJa$P*tlb|RZLMxo=>#RE0o+~%Gm@jv((G|uRZf2HF%ul!kK_pwQ zeQtZkvW|_C{pxyLcw8{mI#x$%2=HxDs7URNL9MSn?ak=BmD300UbdLXe9hO+>}m5z z&Z~)kK}T{s&_K3-&OR(nf3=JxIMrF0n-aQs7*ReNP~*n zr{AXGrNhi5-huTNi`)(uw2n^~)Q%iV?OLEHX0J#RD`uZ$H1l3%aF5el&aC#ei$?71 zc8^jq1zPWdFHSk-f~nmA-;^okth~zr=lwQsUEIV8GCrs@KElv1S2E~ZkMbHn2tPCq z*Hu;wH#IIbwHfUae@7rz*2sYkriDk+N3R1Zs~goC09Z2gT0Xog`cE_k>-(_=lx*wo zp&)<4<>e7KBCbu5Wb@}IUC*{0Z{5_E@Y7X$5xFj`rZV#T&rK<6pO&s}{Hyc!+F1f> z=|~DKa55!%iEwu9cBj27$!eg1BahA>0&9`8vz+}^!Pej4(=PyjhaEmz)eQDt;2e23 zNBHmcE2jHzM7D~4+33YKIIoL)cv5+@Ni8U2(x6KzT6=5sUNdexW#6Vgen3Jy_F+>$xaDC_ z!|F@b|1WGv)OZ7!_MXS>eel>p6LseMlEuC5aV5%cE$=zSq04Vb7Xu|Glj8WmY{xN* zJ8qH3&3E#4+lA#kxo^LFZ2}g5@5{~{x_M{lM6eY^6oT`mgN;h2W0Di<2RPU@ERdNj zP!Tr))iirS&1SZ9EQcQ3_*uK1e0l1yW$`41QN=1ti7WQd>LHha4Ou*1c@&7A9{UWf zO{{>%5z&9rq*O5<&Nx(PYN&59?LL%L-{tuAgW0Ge*D38}qUu;kq0VAZi?yX?$)8pk zi)z-uxNg?*NZd>=n&WMu&KQMn!YY<2ov@UKIvXmWe4(?1&W=6qW@Q~KIAR}z9Nx`} zjG1FTndwk8lZd+xc+aO*hX)3!vy;IZx@~dtO+GS2GYXrC#_%fg06W4~cy7GpV zG{o6h3FV0#5C&&M_IX&wNK^K)Q<_Ue-3JcMV{7(qq8;2Zk$DReZ59Jm=>GNzG|3d(H@s(=?#Ylsd`$e(Po0(l{B@lGRvSkb6G<<8rFdC zGX`nx{u}jFiP@QA@msaE+2wSKI%V739BTHksyM>^+G{r9T9q?kW5>x z%gL%3$beohEoEG<%L3aL+>@puo$4>5HH2oh36cvI#~dFysynXt~}zn=gi2Bj*8{ zoXw&={k*YUV)972WW4e^q8lwKe3>hjdE8;eF^~>ZCnFpqWXN@5F6~+)iHOvuFySSf zYZDHdY`NPj9zlN#8Rg&Ny>leJqb-b|l<*7guR9@zjbDxF`_5Ua2%6a!`Z` z>}t%I7K){U6m-12A1k6U(C$ipYd%Li;T6-Q5pnuO$Qnvh$y>!rK>@2fj=N$--9 z^nLt&fux`5i3j-6%GhJndA8L>=>lZR#8f3gYLf))82jbY`9nn&MPte3be<1x>YgmG z+1X`JRfPPqyKmA8`KVO^v3b;Td zF;3NE01CUYelw*uBKvtx5Gr@PtSJ|po~smlR?VkvB{PJ(vM<|(Y3!ve?F0&Wkvlc1c9y0Lz%TPPGbo@4na3+ zI5hzK%#!kxm-A7F0bUog9z6~7gRNV;5lb~sk=}+z)=Db&ZvP)9w~-2OgM@UUr~FJZ zQ!!V~<0=a#5>r+imFWKMXxm-o(}E;I$>hr-+6AWyyWkqhhtLkv4chG5x3aM-c!L{wnQzM(zgIm0JNV#{?l_s zP)ExBEg@zIyI~vuYd)Aq&7;7k8>odT;1WE=kIczlGKyd*B>V}fouY#*v2`}aKBoBXsEz51X6Z-8{8@e3r5lLARHOI zi^7Gy(u7M9L{|luEQI?X+>d}mWvz0Pr_&=SFxjeE9KSw1{lhwOsjhTsXSeyOB!9o|7Hqb9# zA&`Xe8?P-NWsA9TbS;-$z@)!(BBQ>f(A_o4LuQDm*map= z1^%t)P#+r^9x3I^rqSEiMoSLjD&V!&`65-5JTh4>@#2~b^7$mlwcI?~4L&&^!v1zD z$aVhhij8C)LJA>aotgR8=;?4cSFXA(MOIezy|*eZ)27h)Cqe3oZF=;z@ez%}JW|4F zux`Shkdn2@FeiW?EN+o+VezK8y(O&=TByHrR6B}(eQ#-r7Q`lX69UgL zf~ufI@DFMh<@9B*Nw4ws?y(1j0{{i4<}~u0y1F80nGO^dJLVGK?&zY1y0CKAEX&D! zxSm6sA%-&BQ7Z=LBb5>8VhAAh5fpQ7N`LbvG+hdEb2R4+&}FD?DV)@TXQi|?{uqhar$HU5jv8v!&ycAd0x~kG;%ukj5pLX zODCo##_Ni;XG>;Lj{S#AXXoF<9V|CyU~)2kj6wemGti!d5SMs>{GLY?9)TpK|2U5x z`)rhhHf5m8m0yD1fx+>?v4N2#lToV=Z=LGtzO^4sY^I`b7xZX zhugbMM$J=WRct)HGcm2E#!w5KhnLyUZ=o6V(@CTiYH7>KER(G~rJ1cR3gOCDCTm1A zLawPMZKisxzY-vSCPOA9l+WExxgEpga-h7y1xi(ah3?5?spr1uFW+=if z6@ha5^jn{9md!WY0FiSnRM+dpM^jE+pFO)L(#WQiJCOOVfIfzrQqg%b7{Expq$Xr$ zz9l%_q+g5liLdNZyxNBILVQpM&6C6R;Hd3*;e6_WzwA?HO=_#lORRZ(5R1`!DZa8J3c>$I@s*Nt5ku;xbED-@wy?MxRfkA zZI&sWK5LOI`HMZzN4w`yr#`fqro-;(rI5FDubHHu_^IJsQ1Be}_W>puWq02jde=0g z=ow8H-80-*d$5Fm$omcUPJ8`Fs_J^R!5kDy$NpnHXK1kZ(7&Y0o>%KjMV;gQ(&QHG zHy3HdAF&+J3@J1qn7HLs;QulCF#nROKdk;SldJ|bc1hAwB}fpY zZP(n{59g0r`s)fQ^f6cX(4EVJ+3fkkYeWCIh`56mKKgtjZE%0|;eP;gV6U-50yBh? zvLHoEHi)_ufjD3Ia*KP+pS^lU@A@b>4YwRwoi0%AlD^D67=Cll+R=kxx$o}AQ$XjKJLhgr5d}7ysi$l%6ak5icOHT8N`>LChas!6cani) z{;upScVK@C$XbO}L3u2eB9;?eF3;$-&Z{Gvp&UH#-Q5N+uOF&tOVj}>a*j26KbaWV zgkx`S0IBe_lA0eV2MhPf1-B?gu4nI)1Pmb~z0NDJK`dr?2Yu2*K;;`nbm>-K(l&6} zm-Fzv(co*bKImmh?Kci6f`Dds0a>6v7k-<0gOWuSA}`oJ5mV&(v_YgJ0!A;k5jkD( ztwFlquEc2;u1v;8aVV2f?IGTB!7D6&bEqgLX-xdampxp9TI$EKDR|+lS?MZ%($Aif zed2iZG7vY!J@A=YbUt@((Z%P)Rqj=v!;3Covh#WNtDIr(z?*XVm%V-T*D*4{6}*+e z)4tv_Dhb?u07V=P1%c|t_EN=I^gm_7udpG`pvfnM{Zn1BL|ILGekpytY9dQc{B)IE zco`tKQBu=);9Y)p&9aWoA?u^E7lsO7 z-z;t936($E4xL|=9kHK9+Dh<^@2=_EiJ&k~=qc*@+J3lj@pKiniwRqLe67nh<2ebQr_a z?g+1%;&jpzL_XA=?YQ#ogeE$EKBnVgI`uk}TXgCnp%Xa*Ya3`} zmkhAmU;uf_>GI@d>3(i0lMRvtZdKAmGk-%GWY76vw6*+!I7sEPmA+F=YUJ+wP&ZU zB*e@k?#scqHwl%QOz^3H`1Wz7TE67sWZ{n=tWL3!7ErPyvnsv%?A+Yret_Iwtrq=T z^}+I))0Zew$^=lRr32yQfJetT^ z0^n}|&$|0Dw&>x=`L%OH$9Vjb`_X9HYKq6lA#&CuKtslWL$eU0^fh7m3a{zIi$c?@ z2Q}As-^Y?iKeINS1MB8{r~2NFz%o}8-JgU>tOI2Dnk;bLNHi$|G>}Tbdf)X3<`GU) z1&aF=oE2nEw07+fXwO&G7hl@R>o)YiY1*2`M*FLfVg3QX)IEUt%g?F4g|!!01WFO0 zX@w>!iOUZK?vl=kO$?h=SXqx(I_+Ez(t_tB7gn%PuyYWe`NDeCNiX^L)A8rki7P9i z`!KgSWm4-KWzw{#qX@TQTbKk2s?X0ho%Jo~B2eHk<@iRMJ$&L%GL4m~P)=!qQ zKl2fEWd`}~Ddg$uk0l(s^u|$!%-?n6ZR)A-9ihMGW{1vk5s8}a_~3*2B=P$lvv?Oq z$L_>ZM+`X`G2;`LVv7P2JdJhpWl`+=nH1gAr@v;lo=}gmT^a&P<>XwxCr&TvwtQ$DD72m>m}R%-Vq^~QQuG{@H>B? zwW8jxvg>L-AJR9u%t%(~5|r}ry<$F$4UiC59P3N^id;@=dlmB%7)jX&&W~;X7T2DD z57j`TuqVM7RHw>{$=%ZSu$ub0ps(mtFSisCM9HLqsC0G5wMUo7kU_y9_UFPgl9Yg( z^R)jT;WqW-Yf}Rcr=y4$YN*7j{;Ysg85qJ!O%@Pqk3MWJl^mO(OFU_6%I}H7wjF3w z2=EQ78Fd`5a@?}3j$&3IQ%s|2;j5M9p{upH6m3UrY`0VW0@d+YhocnBO~v19Z$?#L z4A?gSkRNHpOJ_4!6>No z2x^gs>f31bL($Q0G@*uFJwPi8jFjhI4)JYlr2t>3@5y#)um2=|kBjSc{rLPixTQVu zh+6XLz);EKN91NjxN2*@47rO}ru4agym78;;3Tn5*RO0>$`fDfnmk^NbZ2iey4U$g z=1|G=hty^PrY0D|*yxsXEufKLgMIkpUoHv?MT;Gd7bc;I&-e<|*sXzCToVe(g%b~PUk4u$vg@?}7 zrBUkIA!#cnPQCeT2%%3i`Ly|aSD2|l*u4Ahs~ij~c0%~wh@OgJ=LAWX5oGj?UW!cF zHJ8sRqDUybu9Wv;4pEuCdy36im5X0%1M>VgN!)WBX38cQjt9dpD$N9rjRTXX1^V;>5?5T7MTd;aBI zY0$?3Pj~dNNZ)xQnw~e+nmE;2(FqC%u1?d$9@e(EKdg!8 zJ2PD*b)&JCuxLv1vK5git2H?U+faH?_BCP&<3=3;l+73nctnt?=IQ6m@*fT&gPv=| z6D@{e|Hx*=!G-y}FL-qE$;tBn=4v~Lop0GPOZFVdrM%;=Hx>}h)nmKF&&e-#T|LMt z3_eTkFaJ4T4;qz>1V4EjBMvkT}-q<-Um?82)CnwUcHH%7QUj5lAkWeXFCS`p((H{EAzu&)es%g#VpCnf3fwL9w|lFfKV>{^^4(8Gi|=-k7NX?&TUfMBUgXcPu#Nit?<~US60|tU!msbe)+dLaD5f%2s*^C587%S)IY+S4i~;kgbBnhIxtKzyc?WSL1F1K$m|6_cBJ_u}u*-;d3C@Ak6En%mui2grx> z50T^#zz@Z|C1`G&c+8R;D?HxPY~zW$ab#9^a7wdYz^T;9rEPGrfGM%~tnTTMEXP53 z+yFAIsYw;Jv0S~a7N1-_dJG0q7R;24vT|2Y^OiAADL4kmuBhk4`e)Bq^)`K;Q7{rQ;!L4I)w_Q&!$K5R$q3`c3U?p1snlzHo!UH*ULw zpKNF7)e#@+Uyr&W-5k*G*$-g;7n^uZQp}45Y(EX5g(E4az!-Z*s#g8;JZfR7Nwr#L z$>(QENhyGJzSmUMw02O46I#91QN>{?;Fl$})j@`5h5#u|x4(Z&DoYC}npYOiWl2E! zlpXVJ3q(FO=vE8!d43rYa@m1OHRdfoH7{KtFYIn)uy;;>F~L@rn6JT(c( zxnU(aekH|L2YyvzLu%s+*8Xv7qhn^AvCPaFt`7tB73K;_6%0*w+Vq)_C44m%Z0-AOAb_i2!Yo$cdT5BdXT%@Wg z@Xx|Wb|DexWz0ug@;_6rE63 zpNeoI%jZ>D-y&`Cm{pNj=8k2rI2?BjWx};7NXJMYVxe7^2z4?YR>D}FbkJhTTps?2 zWi<8Q^w0f}8k7QksBx6}hk_14-#7c-UiG7dSNEC)wsKoXN z$e!$EOeo)1D0GnGQ<}WH1^;ptC9n1jDf6XD9%bihIY%A2z?)AOg>Nc!ma~u5Pr#T4 zhr=+j3tC-Zv!MEBi<{+OVs&$dURNe#EmZf$m%6zhgHnUwt@d%*sv5C{Bju7W8#@Mw zJTmk;u`+q(D29XBu$o9E>@SQ&dM#us*+NEmg*DRIDqL7%oH@b*ZB4l2T=lR*6H@uI z3liibPk$Darr%u5E%IH;&A3@oUw->mlT0uuW}yUI0@W6tXfz^Bd|$Jbe|fXGF6_gg z>+AmiN6)eB4|Io7r_`PmD!vk$WGxjYaP|j9Cv#&YE3WxC?c~MyqxS4l z7RO=Ve4BL}5SBbRbLr){aJJhZ?M0=5Zx9JZ53WJ}`9kMH&g|?;tyS9A^Hzdq?A@D|`r~wpZnW)I*bJ{u?h_tQB~3wwddVuZ-j`CT71Utv-Bo%X4u{b8*Y-C=hp2 z{a*PU&xZOo3x%X$S5St)v~Y8#B)UV*dWlA>e)$gNaFytj2q-_>^ye+Q@LW=}$m4D< z8*7ct$0pP=&QOAgc?sO!Pn+5>}JNO3rjvKGGG zbhjy-Z-Wa1rbC2L1R6Lpm_A3aX=qz$ej&BuK-;9$`*d8dOad-Cf^Sp;2(GPgsVzK zUgMmU^FilrwT*V)y#94=%+I5>;<|379U3iZPbu~6MicHb$inR?pdXrTO4THY~rnZu52sO?o>`YLD=l* zdHD2W(}ZRNWn3&+V)pgys^T|9vKvJz;>CMz92Z}_a`3w>Lb@dL54klyIKC>b;i@Ux zm7eh--mokRg1{Q_46c__!a1N2fS)_1*>Xy~>y&nj;-=?XofoFf>J0}vxiQezR=UjC z9i8d7`ddWmhS|o5Uqw-6kXLA}x1&bA29?g57G@UCkd0rnT2_yKNsF+u87?mfzfJZ3 zYHqw_0G=CE1l1B^8H+-|kcn_6-h=^=lzD(WfCaTEtAk|Wt%ixuN8_W~w*QDJW-B-c zX*pwzY>D(+J$k1syIMnZ(i!auJ@csf6-5Ywj#Q zit#s^3c!xQFrW!QQ7=x<%<)!vm?({=b7{5cOH(*2Axdrhe*Lf6>FGsa!~pL>BY1^> zvp_CtxJ1eNa_Z>v(Fg4w@?(>8a%0UN4-C|oQR^sxQ=1dG3e=t9i>?EPxQD_fp_ly` zKs(uDvAo)Vd*R-w1m_`>QS{`w-m$Z-ju{aRl${>Ayq=Fwf=watQpC|4JjzX*6)hcjrzbF zc_Lw829oDLTpZhZDA>tk6YIQK5x3J7VO<+^RD#T$xr1fap3Ng%$f9>1$v28bDRWYx zdr-8F^%uFoYd34LB}@7kuHUd$u|QOArv;cc7XWe_z|}jhq?eqP%wLl74X+5IIpu@! z$O#l$GR2EQ(T1#NW;A0zQWX)M&dT1bbqKc|4=(S9E@U?{9zSLPHrzvziO9(Ga}w_o zW7Lzc_;>Ut?z(>}#9?^*Ty}Z$bJ(&oyU43L=z$7y!6A0+zx9e`dCES!@X+-#`XgR# z$ZK~A~S$>>QgVX7{`iH zoCPKUwpBKJPwN#*LF3s=>1^hubjsNRN@zKA&&DWaCLw$QRos5;WmfAjw$UfTEs#iB z#)6V`V?nA|iGb%G^TFPTEXLEF91f)}fE9@Y*o>-QB};WS;ej6Y*5|Ng=XO!9X<-JK zl!Aloxc?dyOY@Yy4iTZ7bo!&l+Op?QIUVAO;8H+)Z=%ZO(;<#S+vl=#ZUhvTDKsS> zvRu5oAt|YRI1WCUlqlR?8w*Yhkliz-Qa38*O?g_}t-idtyAOr!H%07|j;M0OS>i|s z0dgA@t9L(1uAP=GJt-3$W9xTDsK>kz{&FF^X9&)vwNn=rD?}x=H}wn-sJ_c#oG)WA zProE`Pc~DHjmJ!!f6yn3=r+pwr(tmQ!=3({WyOzpS&82iO-FtD`uUccJC|z9$M&8j z=H08Uq20bwQZ*P;867f|h++>`M#jiHBSHp}lG!7yXppo2^V>^%&Kx zlS7CZi3H+cB4H|1U9)B}@~7<*?5?;BZED0J^<)(o=-FGcQZ3#V*q8I1C4V4l+`D0W*1y0VFW{U#c`w$ z28Vvw@L&v`T7;ApgM@HosZ~*jpcH=MbJt}g65TQ#)EbXfO${S+9g8usqwxWy4NBu) z%Lj@6Y&VTXvp3_!s)Iol+|YIE;THeZn4G(wLHzf^!7l@{kodUe^K$6`_}L?{`Q;+G z{w4OETLd2w%8^JOK?H%D_)9)_8e47Mg&MmcpNiPFB7mU*V2xM~G`@VBi&nH8$dv6mhi($l}jrYNi85# zgGRL45fmG$uF*?TL9jMrNfFmhzCUqFv>{z5!{d-cSTH*ja(&b>kxG z)s8YErVhfc3_~tT(a5LPlM368XJ(uuGAquecnP6&&bEZm4GhiRNzGoLsZiJOa6tVr zX^7r%cx8x-0?X^kZ<4c&@FiD;Ar>WRg(ugNDWTO5Z{{|92Oh^3fAzK~ z=7XEX(NEupm%ee?m38fD=H6+7=34=?RoP^iKTX3LlI>@s^Sfr52|M+itm`YZB0~r= zB9G{6_ViN`Sv+&ft3#!*r=sQmYcHNu!XG=6s(*1QRsYu39^7hF$KImsm#k{Hd8WfU zy+NrS9(;~M#dK3#72*adZV-`FvY3YfUQoepx2r(5ou72;v?l57@!U1rwN)anl+sYY zPJ4pZ6qr#jeLH1vJn@NsR|s;lld3r_IAOwoyH33}bWdYdVAB1~^z*?bB7XoNS z4VSUG*Q>Y~<1(gUNsy*yS(t{cz<^G)EWoK*7nU0@V(vU{6|jrg_G7SPfRRatG7CgV zba%Vf#JZkZjd#Brkj?DYbbVG+O0csv{okRNfi(80^X`{Rb^~JnORVDEF9OBpmV;ie zyL$m<#cm^iY2@AZ)yvhlLlD{cyLRKh+P^XL~2dCV`@W=-lB(YApH=I)})lhG>1& zuS@idkBx7`5Ab*hIFE}!aJldh@Zi6m8C)dgS;|44PgkPjAs*h0Yi;^#%r~%H2LfSx zSpK0LKS@C5d|~d*P_2m>7N^Q)I00cyFGfhik@E7kW? zTsW}Cw`|BSZ1rbeepPw?6g1?`XGDHoxl<;VlmaUL;Fi)T zKk8OBTsT;NC6Y_}>L^ZM?vM}Gm!(Vx8!m)bQ9gU4pgNxVFrmLcVVg<~R zKfmoZa~&DUK%)gTSsw#eK>DSx%z5>lHs%0lh?Dw8+bLcj?}#_XkG)QPExw5uL4fT; zi|7owNLiSN!*uM^cgI}`Qw)hr*c6*wqc({|%7WYO5Y`5T6v~w-MHr08su4dYp`(xA z|5h8b$Qk5d-e~vfpyL4(d{rk{`W5jlVm$CeSK9-`4x;v@PU@Xk2oUycMdyI@ot_og z%B}17v}51WPB}C@Ff3OZR>JKo&55h7i`$f^U0WLmh&C(BH6a-;ojn-J!E5m5jRQT8 z=)W-27W22`1KS;1i=KP z_~W$G@rlz($?BPogk;TBLc&ZDD4%X0CGByBmy}4Luu_whiY6_M8VoAWC(;sN1qWGm zFv=;`+pPO+;2R@lG4gNsN(RJo^!^*tz)p&}tym*NuS5W~A>I%t# z!KIMuRroG##AbwCrW+n@zyg=KWyiA9Z&fhUPaY$bHLnsfo@G{K6opEM;aPlGdt@ZE zgAgeZr$9$kWKZQ;12DeQ8PJjZQf4O0&XVS4Q?qg@z_zcqKKAQ$GNgOS!6N4{zg(sN zYdBKLU})3;30Y)YkLbT&oc{)wlfQkR*1w{#^U!iEu5i;vxNDNRrSn8BlR@=2sp#V|BVnCx44t_)9V2xND!eQmm)|rrz6sKVL z!mw~?X27bg-NMMAw%H6-GFDj$n+eTMIP7btvz0p01hn18AcdLzY|l$klMdX51+O@NLhyI4|!HG%vDfGv`LE2aS5YS>-O}%pdnVWRtg%9(XV#fsn;Q}$g z=F&nok>6>P%{WTgl9v2|>&Oo3u!(S9&d$D+PprMTL?{|p@v5rA5owM1l5Z8lww-;` zKcMG~?t6i%;=i#;Tu@Ov}3NsO>WkMe+#Trck zH~NLrAU#U!W&m8($|XIamlk^Io6zBUtb5VHsDjCyTRC^S3V`s%Hjo}&11N9@NP{(i z8U@xj433`L)qg!eS|vC@AOpf8rzegNnFnnS)ZVKevQA&X)mebB=z*aLaQz!e`oYzG zBime=>$^_rnf&~Vy8rgjh%iJ5o;!vM80(3VoSaV))Ccjsy>VBIij?w`OJ@@1K z`rER}F8f)!OV}Fv+&& z8rx<&I6@rR#%X!e@Tvwdle`su35i4+zbRiBmLQE*OA9xnN(HPf;+N@;Ur| zyI2+R$Uu_JdVy<(gKefFh$_<-V{W*gReBCH570UXbd@YjMDCc)guBcho5&*U^ottE z&EyZTpfyZnoJ}NFT4myLvs7Ge1(HbKy7|bM5mbtNxGyqC-tGibz0|$0to1Junckw1 z>us`PQgSG#%jjHmQo9R~%+cUo(C|Tgu5f_u7iqSMlEU4O+l=KZgyR|69q@RoSgJBh zWD1)|q_hD^*NcdYp)teQ6!~yZWR`vgnlO-VU29Gd#xu+1Qlv0%7Y#%cR7sUsLC%(T zqdnBwI1mA^ti`i4QN^sS`}3M^f71Zp-rG8mMSqPBPBz9?njlDt!{*AdCQOMQi4ANo zwBWU(F3-r0tX$y$$1l=Y#RF|B8pA~??Xzx}Mu|!zktoelnbIZ{sdPZJ*G){IG0I6mIJ}ZDK|o$JE6>bq&CUCE9RcCU50f<^{&HWID6vg_ ze@VLRL-RbaIZBbdO`vijDp^iUq~wZonix)ky^N_sS0{Yn8X~IWS&! znJ9`9yS>~Tku4ip(VmMwI9ckv&ISJVfBAP{epgjtfX-rD)7 zm|+wu(8#kBAVKyGObEp!R!fit5#A7TaQJu% zZCndTQ{N<9CL)ue>Fmc=U&RAQP{(3EK5Kl;KkXIe%O+)D30pQd+qULa!mtda0f^r$ zDnFQ{C7m-|JL9WXNMvUw$EW(6cUDK66%_TMG;T=~Y&UCC|0umI8_rEniT&|8Q!^vV zA|m0%>QP64Yc;I|8@%;tV=Lbvu$&2Wz=u?qJx6b+gE&%<=SC82l;Mfo17aebp(4TU z#|Z+7Hc4H&Uk1c9SE^@StoH9VpheL$qv&bDzAFED^(-K2uJTUST=XwuMz>;|+7`HR zZ*csdMX|pmvip>fYMWsOy;jkGHr~sc&iK=$35$`B>N7NAc8afO`~mB*m3yl}&aUFi zFgy=rSoAkYr{oZ8MX5*@rZM=XxG^KYCwK`T}86# z(zXQ}Z|7$EdU@G4J~WAjaBKyPd{QKkzFwJ98j{N5xM$fK!>Am^(-upqygH(;*#=hrK+@z+>yP+!ALT7?9N?1Z80RgRLS>(>IW~7ePRnWrM znOAQaaYH#dT)q9E2S5?BoNfc^txzq=M)$tG>?0w52W;YRu5%0yr)g~T>eFLSCGML0 z4U(Bu^d2u{4L}(;NJdhG6?`JOmM_c~Bv1F6x-2-<4IA8(W@Ols1)H3r%g&v5M&v@s z>?(tRC$NdJxC$|l_&qDB%M0aGk;;7h|1KS~&xYT+iqI&Lch_!`Oc{hQf(5P>yNz7l zjI+EEI_nrPA6yxx;bo+b`i|_!&%+9(zXRR}S3GHHZ)0H5gihmqP66z*i&`8_MlvJ= zb05B&wY2|JNeAW+kU?EZ3E;7h)b?1| zB*2yJ7}&mWe(+{{`{1o}=LOe0IAI|p-0Bd1n3%__szMq-(i5}j)|oS+I~~Y(_w;Gu z?T(7j@Ufb@@aE9$Pd9eg)`anUgFUoefD>C(v^Xrc(IOZu1?xxi!BmV7hcHm9$Y6xhQ|Hcb<%ymEb&I|9lDsj_gUU4)!{5FeEWK?{%| z7=y}_wn!0FJglhG(OQvHy4N#W-R2x7a}h8W1f8kCw*19B! z)-Fa#3$aPF5K9WtbznmwiEEbi|1?pwrQDNMPo|412HinVX`8=o)lL7i$qJV_|CSC} zMNHZJ+)=`I&#%3kuX29dzizR2_ixZHA5MkSw7X^<0}6Lx1RNY*CZ$B3&#yOd_dm~t z?7k@T0IHqC_0Xt(9-kZN3IxNlcJ?H*kT6%#7QfM!7|-=%_|^!Y{^!1qP>wzr+-zb+ z5a|sRnpfaCI9yxljgS$r0vR!vn0*qODK`RU*>F0M<&)sSJ>IFy{~y3=6E$PrE?0Xo z*)zu{m!rrG9EnUrp{X=HfyxA0V)iODaNO$R`ay(jQcaJG>Ek#*+|ZK$YyY9Y$Y%zj zj_43~EZ!ATPIV&P3x7GP3md^48~>e{yF+RfEwLgMGfPt38Yvc12Roz<))IF`5I0y` z3c`b-DLat7i2c(ax3tBkqT+Lwi)2DJ-N%2Y+(@PQ_!545O>q2LMwYIHN1kJK#GhzR zL{8ZF7UoehsZs-#D3;@KJQ)xx;mU6&vV2lJsK@8AhB4$7aqHmdYF^`PQz0Yx(m^EC zQ5XsxN1!kPZh3yl0{&L9xgVIm&N5|zm}}+A*honp z@De%@#)As^zW_`Gv>tn8ca={eJDu3wWbI2?H9r$q$o)mD2>4pg_B-3JKac@VpMGbg zbPG&<*~cPhlFN!CaMuojl)K^D*>-U8xA`l_uP4OXc)-`? zM8?%*H=OfMX@~js!6L+z-a`V)5Q6#kewCB^7&naeFt17qpNy&EbBI-BJ_TP%qCC$0 zk!^$dG!vq1e0x*A(>g1S>hS%Bt`$~l;e%N-yr(Em{l=$evgwPxrY$1Vb0B>G&Jr4} zBoL~Fx+I!EHob=P1#lxe4ipLm^w$oGJ-1|JdJAU?EPWqExlE@35v)(OrsqzWh=}~d z=L4zD;+X$5W_p%v`u>BGh+YLeFRnLOH2^`j(OWz&Y7IXe##s&VcJs<%UWRyUQ9H|) zJmtKlvmz0;C>tr`R(nbNA+4G@Bw{8bwNf&p+hx_xB4K+!?}}ZB%rOMKMr8!#uqwG+ zQl&7KORE7Q<1{`Bdd&-0cO$m3E9yL%qb9#R zCm0y=Yt=DGhYfguj#?H+B0apeuQIO!@A^y!ObI4yxmGA{xql;pDYvg@C$Y?8joA9| zTE?hz0aSzxnWOtRr1_*(+q>u0hyd`x-{`T+<$P%=X=!`(hDV~V0%6oORJjzq@TyQ5 zC00gjQ~(3$6rL5ABsPmRtlDR|FlEx$id?x=scRw7 zD%e_*U90SJE7>p}q|y7PP&ub>oVrluu|USXLPGYE)&K!YH) z-q(=nH|`5i1z@M-9+EVQRlzf#^zUEqpm-RFgEOTa=qB1BR9UjUwr!l(hOfl@j#paM zfLX;XX;{sJQUC4?E~6}ea2!DGbEmGokJz43f&Cqz43@-_ep;j&T-bSG^bQa{IVUTW zy=ubZ+wv;+S$FkmtH;0!`o{Y_nR^JzFyZLCZwVl@;?QTAE6tv!FRVN5lJq#f5e^@T zj}O@!5%Jumu$o7V%6nDZjK-zZJZ^=hCadz8`Z(J}Zq>=cgkkX`2$E+BkAEz5MgHm` z7X=$j%+Wp%^5?$*YLZGtX0`0X;m!0&5y%}azy{nlSpa0xA;A2DbWoNA0v1KBVx13^ zp+lg>xoH*bjzg*LGJj{kg$5-bMoDinIhLY)fU`cN+wNLE#somb12FCQEpfAq0H^JN z+JU0iQk_Y#>K?&Impc z4q9SDPm!E3;RJ&~L?zHbp_WEVp(RDd3>|Mc?tUDH#h}dQC%p|T4W1-zwpvjrNCv@0 zS9j+o&dhPsvkaYg@8aXp-*~)@jZv3>>Gs+qUT)SK^(w{Z zp0C{!l#nrZ@`tjBFU1OrW=y)QI&bAS?&BM;+`QsnEpeO7Ta3<$Oxw-ciwNB)0rC^N z>A+pKdHwJe_BHmPY5i?BDvzme`06GU)Rh7z^9L0u{OBGc4H@M=lo)_ zxROr|o=U212iDl0T}2m~-7lWK7PYp>F_<-2Hkh9lzhnD);A|uZMv#b+*f{BEV@&K3 zz0uf4#4!>VD;>V1HpeJ3W;j-;CyYg&v^Zr+BUQR=Br(t$t>E;gWKVX=3CcXS$Jfk5$c#!3$P0uH;PqOd_MBF*PP zh!mUI>>|*T&^A#C?D|xXH37kKrclL2nMcQ0=MhCE=2|(AV-!n+HN~M8RjmM<(dK^Z@dSyG<7Y#u00>JJ9TO zp4uxZ`C>%atw_3fu|TQ2t3c`E1w~RUPKk8s0!gV$SQP(SU*C2-)%RL_Z*QXD%KlOI zS^~hC7TuH_;y6DyKMyF~OO}gTH>nmbDsdr%{yx2!3QKR`L402yzDgAmrZZ8+=3|-P zwoiZd>e-u^o!)E|(?TwX>+P>zMV+gh{# zMxIj#0zZQ{vaeHn)Mq2tC#OX0jxe49VneHv@$W0&bJKnhEB@y7L_Tl!x&*cFlm*c>M_;%K+Jr0Q42iyAqeKe_Ueh!ArL-G>; z^bYqrTftQ30+OMTu97Q0F^m!B`*B7ag$62-rLvzou_<{`aAyxuYxV$Hz%g znw1k1K6Ly5;5)$}%xAFtJFHJe9S8ut+438|Xh}r$AT!7PPI&Q~%P6mc_>v@1Pq2=2 zw|>{fOz*1|T*tWIC2#*p;pIv*7(0(`ty?c8u`9JA14Ja1!Rcf;fvpm@)B1sz!#DU; z{4hFRY^LLQY%H3=g65pqr@mfFGTOw#A~$dH|LnPw6kqu7MRkxxx#yy1$?BOWOr04_ z4EA*%99?Wt8u3H;RA9^XqZ_%oN&#gow8N}2;D^^Ho^ zU`91H83g8|Q5i$8-^%3YgwSBsJJPuHD9u9fdNi(Y;3jpe>KW=n`7*~T>y6yeU_L1M z3)5Sm)~dWkp>(U^^vSsbBX=`S_ue!SaZrXcAt0ye6Lz+iebmz=;35V)^g9dA<9Edm zBL4jLNsC{Y{Atd`$h%^Ik*WHrIk|W86L00^?!&T-hg_Rdp8@rAC)9!R$B|5pQi$X@ zFcd~^IGWEaCdS=`>&tHpD~7>K-(A?hIND&t3k$Zin>&O$Ze)!8xVVJELRuMg zTlux?AJQ=m3Lp;hP((-PVb&Pu|E^G_vi#j|t?1Gz;^1RE>6uC<>CEH2!MtH2ZXhx! z6qvQx-a!O=Z3H`c zNkwf{%s1*hLeHwXa5k@&c?Zj!ksu!x4?>$z#rh8y=kA3>1w=ea z-HJpO2Gg)PQ+Z>AY_#i{x;Ibl^ zmYG7XE0#$eWT4_AgmUxWZ~3l2#^egP?f0xSHg9Sgfp0!f!Q3rxEV*{Cppo4D?uVlB zibbuw{?=jXfBPGhj&PCBdWH8AIRjFRzGons;V;uFcrIB!z`2*$D?~oy9%)qmw{J*V zSzdp@YQj|U?T_yK#`^`OuQirq?k-SDs!tklWhJRJ82|?)zVOt$UYcc zL4605Fy~)mTlr5g6>HU8?wcQLQS~HA3`Ld{uoI8dX6pX^GZjz1XE8akPdWKmP3q~I zl7Mlb2Vdh^M43i!IpKA)rez#wa4;@M8T}gs^`{$gx zdm}$@{S+SVZsJdL3&$`p9&gLQby2&YoKfG>(TTC)=KEiAz=jvO=kJ}ri+wM8o<@1L zAwBY78!0noa&-cd))nCAVGFUIPG3SafEd5$Gm~NT^TxA%&cEn_q)!vSF9WIVO{pJ= zV(st`^HnWb0%ZJ)Q@WRRN$_SF80-w#z>EBtw{g&h{BX3JBD+5(=A}v9tD}N7OTZw5 zi-E3-_5m>?+dzhVC;VsM(j4yLlLmX1m*2)KvD^y5N0W2=T@oAmA_7NMQmdy14-}q} zt!mP`>9W}rBdvs<0-7^|Z6MW~7ctQ0OQ>1(3W6PlI6m)R*#9ZJ<<8Ll=r@7X_GKWo z4b0~Xb@u&ASy8)y!M2JvwWi zxJN(UVA5->>Yay(lJm&S!}PYc(Vvhe^QNBxZDVcpti$uj-1WoBS}L2?RBo8m2Pe)s z=J_f>hZ9@k?3Sp6`nq693U^+DoO@-HP$|0Cmi;}gg`fTHd#lJnICuWuc~G=F<}>H_ zLZgvwv#l4p^DjOawQi4qv(1*C%T)a(Wd$GuUv1sjVcM|H#p*SI5q!i*wN}&jrPp4%8A3U7Izq&;3 zAS`!w^K_YnX?d} zEpI(HZfM8C8t0KM)}f?!ll1I_cTC62n@TfCC8N-qTVBN4>xA0kFpjb>0Z`Np{rOU` zE%6lUp-o)j(ybQ!xAeD7ncpW`hbvFubIytrx1^Hkz1g`w2k3a>+XUO=)I0#mr(PUb zo(}L8vLXhm&Z~`S2n+t5Z0PK|S5Nv~u0gAQ`4p>am)MM=FfqDZBo^hb_cxAlqRy6N zSd0N1`fPzlW9>ug!64$;nzS?}hu~=-I{KKA4}G-|jWREl9PIcZylMCj zOHKPmFc^p9%FrM%hu}-6wfCn7?S@7Qn@56BLml}?70X1Fnx+SeDbl?G`F7kWB7uF9 z*KipLg5363MCPgT67QWWlnNEAQL!TNXh$(;1Qya0l_2$vc_qsGTw-h+f=4y@phzEzr>{*D)dhyz!*v^wi zZN#vS-dOCZIr=ti{LI;`3`e2+dV?h0-dDPK+V=C!+>^x^Y7byB(do{kXwmh*hYK41 z0`sW0ztQxaPGGyF`}DW9Zd=K3&WvzGKeBK+E-y$fA1ikfXote0hB0ViZ+#GIq=R@= zu|%Q&D_u;b6Qs;%D)|+6o>SWjHv;{!fQxVEANL9VYA1sb*l8ZM?`A9E`(q11rr4d1 zk+4d$EQax=D`L&3f^{G@9vAphmPI3Zxhx+1$weRyE`PsQCMLrH;)vR%ttT|pLuQQW zfy7LKIIw%}c;m{)V`9^JU5UxlRtpKmf{!QXH8Ssv2v4bJ9-ohVTAWaLA-SV7G4IrI zv5zYa;3Ifd)DDkQSLGatVWPHoXh55AJI<%P7DlV`I3Oztt|sVNYJOFtXH15;DOsBJ z%m#ryc)LC8-yBz7&iAp_Zu%CEv<$KhbPgB)nQ83q*=eNyDc2dH{+Vv<5OrGGtq~Ig_=~WhhI91C4%k& z4bkl8%DAD=25H$57g(aiWYphOAPT18oHH1Ubp_@mTJ`LWfsuD}-a zQUNz0enAC9l&SUJ>PEHB-e4E&&@rep_A}s1er@Q7{;kx}SCYT48SAfv&g&p=|Dzmu zZ`0VZP$Z8gi(a+p+1JorfUX%o1}k#y_fPl73lEydRa)xJU5QYlhNa)RY}#VfQb)mA z#?~UZUhwBSXP$KcfjOei+^p2Tcw=J|@Yw%PCDP3HU`;jOc6m6`MN=$v(33H$U7 zH5PT+r{wANKI=PNS4&`o&BS9qVxs%;5E_iphr z{|p}0$c3FL%&@dE$M%%GuU^tOUY_QyDmx3r@)rQoHtNBo+7%#Whu(2>FXu!8s6T|S zaFBGohOoY#R(Ac~?aRc7Q#06Rw+cIwrk7ZtoyyIqAEuH29NN4JVpNxeIzopbYrBbS zxvh4a=Lqpj--Y3%sb-2-b^fk;6D3zww*m8D>26E26UT!Qx05#ecKMU^tl>?-Mpm7a z;V3|?`qsZHXVsmoV(6Zc=2itFo=I9Kfwy1`uYp}DHZ3f5b{MR1hZ7;^L-V#D=EE6$#W?w zy4l|36h?EIPFEIWv>lKiRA)YVwP$}+0$1g3_clD+JeHqciXxTAnF?vS?vk3^N@UV@ zA(7v=zxc5BzZ3SZxmu_tH+iTpl60H5>d%_tVruy2Qs3J-)!l&^{l{z2zsenYvUe^D zj0-P1iH(TNq*?7Z1P&SK6EwU@-oT@@0=YWpQ9HUOy4%;$|F7OITHKAz$r<;!p&NP+ zt)0FnuoXz1`+tcmJa<#GKk&6q@OmM!qNi<<62kUOwKj3id5pb@Jq z7;$beiThc-?|Yz$;-FdaYUud2;`w4lz~{jPI#)-YyAoGH3%6hjgFQ|(?8rGfica** zXGEUO$JFhel?#hDDOLJ5x?!!SNlRCdVjF8JXA?oJ=>s5jbuf$?1T*S+bvC%H;Rb*i znY|}_YPLXjVfIFhxR03f-vESnckgy?%HEs>{3hZzZ^Yl!dS;lBewA4d4X z9_qw^GmkZxMLa-T@Sh!nr>j{BO_;ycr5VXuoXl_@84w+rB?h@45JYO5OnS zI6uq*cpi{*d4#ju_>MQ7*YNviGB04y2b^YDsl9fVo(}_nZZO!z?UT#f#b{DF~tVM2n)bYSm`dNN{+Cqs$3%x;l;U zuKG$<@vY?HS=686TSLxzON-g-9vvjyVYRFqYVi*L!lA^Lmnh`VgrdUd=L*X-`wtO) z(F%@+waBK;1-SLfKo)5*yL*_N^uz}GuPy>}q$6qO;MY%QZ$Pf!f2DsN zoFB~b_xT}Wnm7Qa`s@c1eb4!xJlWE+&s`q*rm8GA(9p7RLI0ub>n-b#A?pJ-9`xGSTofc)1)bl1wF`2d3!nsBg zP0GW3JeH2LMQ6a7;WV%UIygn^nU>7gfngn(y44F_^y~lf_;c#{H*}QRJ)$}K+vSL{LKeSnAOkhi_n){_+?rF^ZY=*JA-#S2z@Bi3^JpK1DZZ=DT(0QT`taMmdk~ z?=A;+F((*jGV|}Xwvl%3m2~#q?aw>-b?_S!?#pwtiOpUy{&FI@c_NxdJ)oUdh?|Zy zXo@cq)2Nw+c&13!q!lciKCbi%xfB<)6ig@c+R&J?NebL(3P{kCm_}wR&>%(14(SDM zgUal?q|wmzdw5sAa$gTTeRlce+)7jK#jPx6&87VOS8AY_plo&rh0r|QcpM+7reaxq z)6P2G@rATX9raigFegBFC|LlW&Yy!&S=V%h@eJ36^c1?*u`Ez%kORGlhXbTS_i0-C zFNj5n;fQ^No6HMQj8L_Sl@#f@>hi)x65_)?xkd#6QIs5H)x$3^689_z9RoW~yHU5Z z&BPaef=l8Fwi$mcpaewhW_ds|RdE~K>dcSeB9Qd>d<3()BI73BN;WsS$lQViDFI9v@+XZF{)bP_P zG_{JX6JWXbD=i}cs9Dr=z&!F^rDwR7XCsl#KWsYaEwnlwNAg02Zb;&O*jvJ01{K&jBE;jB@ zbV`OMOEffI-TbAGTCGoUTFIK%7K)&-iygoy8*KQhcl~DjSW%92pQaqzL18B`}>)} z>88U&m^7glXt>tW?>*>@K1}ZS-Uvj0rY9{&?Cb?NE+t*zU>XY9dHm#z*_}p_CPbt86M4ML zl?28d+XMskjs1;!PYb#W0N(Jyolk%hy zJ?a2Q?6cOr>>3Jx_Q-XsY!N_)3M3y(wh{1w#v~fefu-2+1W=f%&QdA~3<5936$Jv* zNWiHfjzZ``y9tYfQWB~CmX^BWUa3%br-gtoBqr{DYi_v@Ahybw?aa0>jl4!c&`1^C z%*KfJ15UfgBceE|o5Q>EbAsrzbhXdYI@2c8y3;_(=Y0$#hME+olLM}U3PufM_Wdlq z#LWBHcGkhRiUBN+H}*H~jhl@FIWJ}ba`tL|QfHqs#l@|~ht!a-#M(B*pmiyLC2cGxme1A* z>a|*CttD&50t+mJC(jlZ>J|qP>86Fil+Gk2$)(>*;NI2M+0B2}T8_1&O4zu`g26)h z>l=IUOI_>-5&g|EH`pj^28sexHvAPHpBPH$0@>adr_FqFPhJGEn2FL;WYViuZ8fCJ zr%0t&9xW*zTUDTtsw-Iz5pf`{E6#T)A6_bY(28gk|5B{HtlTi#EY%Dj?TZC>yWG0n zYCXxWmk0b&O)rzF&ryqgcVbZ`+5`UQNu(=j7D!$Ti`~TIvV&PZ9@?A_@R+x4f(i?n zMMZ(4Z&CE@AYYeCm`!`Iy-DR=#9n0fZ~P%^J6L-2Mi5wPuo?nZ(!KL?*6@O05*ri)PU6-Sf_3_kWGI^mk_!`0ao7F}2erD47%c0zoR7=oS`8Gc9u6udgC#nQ_E`Lf$Ql^buXZzgs7 zdgha1G_(|eNhgeQEU-~wcEBpkRBnRR9;9^o``&f($B0B62(SV@lOJz=Ggz;`@2q1G zLIGrP0`C$s?v|Z(Q})6L*)W%S2D=B4#5~CfuQPO2{S$2;Ip>(!(6tvvHp+nzNjk8kY?e|B@_Y< zp^?OJ=^_%Cn%V({ENA)M;r$u{#A-Ur{%SFEJc5yaEsZpO@LH#v`a97rPtA*E&R^~! z(erH#Wc&oxSdbIE?-w&a=8r8F$)s7?l(BQn)Dwk{GDcfb5R2m{)15Q{-R&XLF*XEI zT1*R933Qc`aY_=FETCYS1SpKR%frW1oM3z?fra`nsn14geo()ls0WGz#hC(2HK^zbCCQwLvUSx!q z7RV+aDeC5C(QEdy$VGwb4Ur{#5r^>CRf7wFCO~qP%3+^efR)s){o88D6FAK8>v8n% zefgkR-Jn{mb4*Vgnx7GijQ_(Dc!H6t5PJk`xD{BzpXuJ2l8ExWHDL`WtnB7oIoYBC=eE6umS1lR}gY*NK|=G;NoA#l0yyt3=K?a^>IDJT;jaZim|tnuJ1a%?`R}_Ncm?L+ zk~k`jCRe4zwekD`m#Zs#Nq~S@Wi&Y}MXvB;2b|tNZGRKg=B<|4^B(Qr|D8{O3lI~l z4W_DE;tXFkJ!7Kr+a>shn=pvPvGKgC%j&E?@m}Qyvn${#cyCa7eZ)3DSZgp!xnslH zHY+3o1tzxZ#nA?ue)wSuc56VVFXXl;0W$a|w7C4&4(k+S^lr$Pe^cK3=-)jwC>%u>(|=XthZuEu}gF>KWhFHp|8hTN>gD4*jA_sWmR!0iwcDW zue2onXIAXwLc@lLPPLJ1ImM_9!OlDcAtAA>;fS9x&;-OVTCpBs*wTB|oksCwD zz(wQFmVK;-BUw$PFc1qo6?5#;@Ak->EI`B-jr!G|A&0rMII)t=C^z8oflLbGxT)#N z0a(gsDGqYux`Z&1(k}7=%(>KREQ+D*h;}`r;%jR)5OVsg^d49p3|);g1gL;z%T^z@ zCEEwA)r!JDA3>Ed09x{5MR$dkIK7{)B3{v10WiNRJ1ZMM^H>sa4}WnYCY23XS=57j zr9uz7EF?m~S$fZXb4wHv)TLn34m0k3SSoHcSd|52oXjev5D$k1k1r)9(FQCmPT8~M z7GkG~h%0<$9Q=KPU3S3MlQM-*Jv!+A=#q^mbw7u{crAe@d%8--9V4}X@MK;lB@>>1 z%9thNik6umIHVw5kWrT3{Cm9o0gNQgIvJF7c;0mrmXsS>ZYs%~O#eqrSwTJUpSGnZ z?K^$hwMWqX{ljHas?0L=qcT|yMw#%vvg`MP_X9H13P(lOueUx8dHSENE45tj&Hxh0 ze75#TW_}i6a5s zN+@)LtC9wf(`W8q=L6PDj?kH4Z3}0V0DiuM=l9s^%I7?!7ZRkGy4;S}e!nel2UBq>QWC8Q9E{SEIQ97y$X}$FVb0&iSp{)tZv#*fR6KH;k6~xy4}Hk>9Ca2N#FZa4 zU*Y!i^K^zxi`n(=;(d9@>)&?sxYh)j@nS`V3+jvx!dxxcQ4-3(*Ab-FF7TP?b(#r z`#@Q^C#=2tNqFU=YIr+%5?l#HShw$5JoDw(v;%Q=R@>Wkiz#LkkQ}~!(&BAf39|`Y z33&UG#ZG*GTK^uN#W4La`!J9Uc)Q+0->@Im|M-%{^_s)whXFL=UsYP|4jUS7qYk?r zk_&hQIr4vCMDilC+M}kj<3BfooW~t$OVpXK2LNCA=)(A<^TDCxe${gse`VfbF@}w;BGi{Uxa~ z3zaD15tvjmG39rg1b$n9I$%yaiA?y+(7r^0k%tAU660fdSxn3XZa0N(&1!L`c4aK7 zK$DTBj&K+xq9n7my4pWWSELs2XXPA1Yj}}S9vWN;8~Y*gCBz5F(Kt|CI8U-aj5G~* zfs!$JWVtMsL6uTUC~2d9{zo!=rPJ8Ke7u-)N^1iJNW3)}yIQ`qtwv)!W@*%?E%F(& z7zLvUdq8FOdVz`;r8sK|s<-ojHqXX`1xdbiX1B%@MwyZa9gKdT*EM?VLLaRRY0uY0 z>bc#BLWbvIxqDOkZhWMZp-A5$cz?Z#@JveZLFJJsvZ1^YpL5GcFep&Hm? z8Y_F9`6=!DTi9z;jZSMcNutZLHl_>6N``-l%kms`2!Eu?A|vwuL&5IJkF(YWS>3@0 z^U3fsLo^creY=&ettNef^Jl>GgxdI*kR9gcT8_56!#q}yXVRv=T z?)!l|b;i_qM&EGK*mTmmXTBg~^94#`_1~2mo8F*IjVHevq^fdqt5VZ#xjAxF1kX{IQG-2m9@CT~*E^;=V&!@O}FQL{$!eI;M6?xuIm{ zq2|K!hK#G^+^|v$2sd0M&x2i-^Z}IAY+MJ4)HwPq5F~#t^X+;$Y~UW{9tk#ltwQR@u+)!hm9WM; zq&o$$k!$5r-@u*`;W;7VMcw5(5TLizD2&M+yjlmuBo(R#v8>l!6Nmgu9ePk7{bpD( z2%H{gu>3sPIv!VVzdY|anR~W_$Dhe8c~1*Ib99v!7gE;>8-)cYE#mNySxF|x20Be$ zlhm|22Dk$gh%os|5*}xgp0Bncn_C#O-(QISG?C6j4Kim`fmmQT2 ze~E7Mmj<1XE_qX5!e+iqIx}N0Tdyzy;kR=7d;8t5i8q@EHp%$9mX1t9b7yuYo`S>T z$oL9u6;NH;MaUX)e4iVKq2ho|@B>4G2OZZ)Rv@VHep*^5H#ObZlO3O)-rBP4_6_`WJ z5UIT86DB**k$e)x2nlWBhaj;Q!&)e!ql4w}=$$yNx}E&_)W^?RzFWHZ@}tWe)2*E) zx6E`86Fe3bo*bLJ9E_Ua)zsAHwa0E277-tI2I_&g2)1PBUMz$G&*)Z1J4TLTE*(cJ;0a8KJa+6i&p z7MzpjEq|pPivQpIc)~&pAN7J=8R##zKi!4~-7Jd^v{nUxgTMpyr?R8VL|hT`&_Vwk zC9qZ^<89XUzq4kse>j;13+mBX(emtlyP<~vn1f!w7wECAi1+#IMnycx8{u#`AgO`H zVS%s_&L9UAd!q=XB{SX&Q2OTquXOLw0tf>KCJcn>N?pzVx;Q3BQOP^>`@2Xm3l_ZR z!8{O#f-q6ICz=&>im7&x7F2+gm!67pMacq{inB|h0Tq_0(ZClrSt`sSRHh1;|J#W_ zsoai~WLz}@q~?hw!0g_eGf2}6)0`6w%RAL_f!4Uwgzm+uw)UfQT|En{!|_uo@7IeO zy52E3&)Zr#Pd=1&gD>FvpE=O>N1FWb&wZ>easd9)fA_k=5*70pZcRlu{xvA{cP!>- z;remc;M1_(&d5z-&9$dZq?9_9HJEBan%=m_)!Sy)q08$~A3>EIc*YR~))L11Zo?9o6ToLbA;lM&hho2xA5 z!z%+|Y#7ooWo)``@mKS+x5x` z_q*dydG2>b&(Kdq8hS5=F}bF%{}i}xuRVce|CtgOi~$F+JJkc>dh1X)7&6`TfNqUK zcTB||6rIzx5A0N=VX}{Q`lxn54N~6&_z)RtR+=~^9aNxf#E^x_jOteQDxK1sDC4XA z$o4)q8AThlaV9*&g^Vx`DO1NY8-Ev>yp!b|BV%0g@bsIHrp>gEXLu!tS_(B4_r-pdi0@cY76ZrTm9o#An_GMiDi^9TajViqP|vh@kA{~1 zsJA86>|s>X(c^fV`k8oCc*pxbKgzY^CE>Fm>;d&DdWg(qPpw#lK^57@*!lz!A91jm z88m}t&5QeD7z7NQweqCE%~o%!ngXdSp)!MK%Bo| zXU8O`Qd5=saF`J@Vn)n}88IWzM0E0b18uRa8XO~nfR)9SzW!b`n_ue{(Xu;hqFUB> zMz*Z4i*8x}p#{r2x>f+bK6IpK27yj=iH`s6ejn{sZ@dUOqmCaX;zn=NkNn3fJgcr01jBX7$t@dYAs#}S@W}aE!x6ghmqW$K(^N=&tj{~6Q5GN!KC{=ZpLZ`^ni3wIM306Ne-sS{f4$Bh|ql%_N;>|Jd3~r|ZTwjT(T_qu~t~tsKJ1y_AKhhF|0Hw)@`}Gsy9pFu2(TpA%)&&W=!V+6E%nV)eG-{w z1Qm*6(>)o}Un{2?T0>Mh6}U3UltDKcDIzZ0)43zDl#i0id~pI&j zXOafLoQhMMcZRa5#=D}13`UINwu!ljQr5%1oy1FZ{3~~mzY#$@U}Ralt2{AnrhPoa ztCI&S$7f&oivoy4Ua6SvY&goPPM z=Z|{Fzna+ys|T?dya|1uf=GU<7~gwVb#2eDkX%>WtDd_BULDpPJ!X#hCX=Y0}04Aj`)tcr$)XN zX)i0vCCcLS>q8uBBFR?)Nq(mY+$x31DMHOfCo>~ac7Ihhw89#SU?cKQmNAhK=at4j zA!5oqpM2Y8>TO0|i}~C9D$@aADs7E2Ow~+x6Fe*`Usvr=YzvdC^x(hBJ6V?P6#rQy zL-QFHXfOz9Gp_DnT;1I@)mA8gidDCvnsj%n0pAz%j`zY@uWq1UbpH%b| zZmSJ&M&fe`PaNVFcw&4sUj^z(HF=KIXFa(s29-&C!d6NcSfDaaDrPsbwp9{$PQ6Gb zW!)UbJ3^Dn9bNUhr3z<9=#nm9ewV;JYg^2 z2cH1{A579Gyx{0|W@@_Ig$aFhWhS^;%Nk8k8#iOSbTixu@ZG8;n2>547_?oh#mYZ~ z@jWo!3MRCgrsP?SPbo0rs1Uy-3V`c%sOH(%?x&Pr-_+=KMRDMEH92HOt8~8f^XF7r zw*qO&~NAq_bJglL9m{hwHUpVnI z#I%|A@eHqo&_tqsjAYUEdPE)n7FSe z^f(0ys`R^*=M!3};gZ|?$WYWrD?xI~`Mq*J1_g^d;4@bKL`!X!F?tH45tSRPO&SAjUn7U#3cq<(G;RmZSgAteV=gt? zX;6;!b$pgFj$z?`;ZAB zryCkn6IW*?C^%&>DoipV48RivYw^>U?%qML;)6dz!@|`)uLbxfnWby?fWLDMRO}qS zOO%`zONM})@bpO_3;O*|;MlW%i_P%HF^}(BL|Nxv*`}A=I#Q2B@K`+*$8;x1nwR}dmE~j*LnHiYZQVKF;eoi-K-xqPN+wbd4BM?vFMVd;{fbJ%2dkuE zKo<5hHH?aBGwt0BCiYa0IXWA2bUo&1x}GD_to91~Z>a$)?{vkq9V!&+R0?%5NZl00 zf?(uZ(@oeir-GT>T-&!dDPh znN!l)NW5teoYA=&D94y`YamdI?^&=~#@(>;8cW{EAZSQjkz(XkOtc>PKn2%pT<|TG z42G>Z=R2CmlzlTbo3K)5h^Dy3UUFzIp5%Aa2ZG@8yy-Md+eHuLW!n<6Em!ZmeWc$u8yZg0#zsCb7~;IEdlz^jn-F{h7FHcrW{}Lp1ewvPvqed z_n@B$$dD*2kwQod)T~G~&hm^Kh#R^WG;{^>-DL0fK?gV^PGU56);Oqk zskdh~#2tr-JIc(C@7jS>!iLikG#n!eC&?4gn@+*lVZ7Xqg8Y8FzO3ScjS64|KWh$qSA;2*4;J&zlheiK~ zzLEtimefW-UEJ4=sRFh|97_kPTZSNrE?Y^TGV{O)wmvRDO}`NW^V3zrxHSyj$qcih zBCXT2!(o1UR7hlMQdndrrb1Vt@DQ4dN<{b(LEXQHSBue-t7qXCLzZt+((5-z=*Qo= z6^!U#He}6ymnn9{A2kd1odQ-t|x)D~u<@gsD&$L)1-iEEuLpGo?&DQa$HYuIv16 zxrIO;VE{taLAVAs3(oH;A~a|Uf6hm*8x`xH>8`h@qwc^Fz~@@peX&zLv`d4T5~#LA zE>Ne;sf$eNh8_z>SLEQzv5Kr4CTr@@Q|eR(bumWWRK|ifMVcuM>XFvatD=8Y#f6O# zu!A4~aR5TCVw2$dULs-wgas=jORhB0QFp}ggB5b_%w}`O#ZsokAF<-w?ZLv9<1#9B z?r=TnH7eHB-Qr@w7#F8hurHhN9N6-nzUREJk@z1u2mRV7M}|SQac6M4xmC3%N_8f+ zz7hUc+dq$eZEY0&&5dXGzn_=_c}RVTFg_C|jDfo7qHf%=V01-RUK+;VfLZ%^!fl@H zcAxyj^yU&tNmu=C-R43aen6eRO8sd{3R|~JD@9^GRrLN|5su$7KTx=W#SL$*%jO|?mi^jB zw$1p!prB~q$yTEi!j4zvoMOb0j1;3T$C#rTdk4lH!}z0_1e3*-8^qMRA@8>S$thFT zzg!vOx3<|rbliSI(?={^IxpD3>`$D$aAK9bxN*a!>r9bD7rW9;x}jVP!@5g{W}k6F z%dctiYPb+h6lJgObNeQE`KU1ry6h9o%`J$@!3u&BG(<=`qo%GfC zgL7}SI16%qdU85WIUk?0-s4$Wkf&Pyj_DTx@}LEd-+#Pm;R!VF%8KheqaU}O{Db+2 z<|}ky;~f64EP!!Ia%^oUGJ){03pBLYD2bjOKzKl;V=oo-ga?$Oo*h7V2vM5$cesxC zzGna^Q!{f5flwrtNM&+MD{C8tQl-{tb$Wv>+ji{Qv+uy6BgamhI&<#Ar7PENyy-38 z>TO9_@Gj(uh>D3zNV<@cmXVc{S5Q<^R#8<8Gl;NWfm1@Z)l95C{k0Ic^?LbCjK^Dv z`@!(%XEWFK>~^a3m(F<{h1Q)%aP!O8@aIY_`~OhM7oI^#xsxWI`SNC&eD&`RH@JEz~wlL0TI6uzzRsJx;q`ae8on=J1uEtBh=4}>3u z&@fBA1MnRD9P7uR8L0sBn}jHTgmcQ929KolhwD!-*~=*21gy)^Ryda91wxTnqNJ>% zIv7^#V>$zHLABf-xVDJt?u64hxwaSg|7p25?AhJ_gXo7i4M(~o6y>L(zkUtQc#|(Y z7<2OJ+|2}^3#TZhBtZia1Fng*U$zCJQYL55N>HnXfsk#I{@g_6@QWjXJ4G zHiPDra)DJoKB^GsR0_Dt8c-$hss%w(+*Cb?UBjwo(5n@FYU@B9jjJ27T@RmZKbReq z{<8I`4<|p0RgH4ycP(h~vBh5N|K*SuH}v)z2FS}ERRhuMY^+_U_s8Wb4XJhc z;wU_vow27-X{=uM?jcZ6A;1VOiO;5RG<(E;zQlOC!+TgS5%&^&PS7FvB-kK6>&MY2 z*KyBh13CJf`q#srU`voJXcJ@#`UHalNDvcT6rU~Q=ymI;hcN+CKqDXt=n59r1}H(h zU_-DdxF!%2*b1TrKu|0AQ?QT*(}LfEse*;kpsQe^8?*~{3En1%73`%ePDc;$a#*G{ zzy-lh^i;`?ks_=bPKqfxu=50$Vmfhs;SXgaRvrb?mesBc<419~0AmTr_dQPFf3FV+ z1E}G@ZFJl&{zY~M@YJI=G=~7v0KxS26>JIXa<^dRTRj&{zIto#0U-}^CXYKgqjS$% z!GW@Bgv^ov^CyO$keW4_9Y16iY^}crV)HtVBjL>rXViqPm4|s4+MAkDMcR4fbAx;X zyjifP+Diw0QwV*7d^qupdXH4y3Hz~!S_dCOSLd6qDN%SJY?;zp4Qte&i`u+q;{%F% z2+?_Gtu?qTR>Lu<5`*@`^GB!5C)1ZOT6he}YGl%E+dXlPp60=59dso5Ysi$ks%lq| zp|V2CVAQN}F>xsi9Zo{QgKB}QDxc^@-NT=%ugXhF_wDeZlz56Y#adHRwN{gcvPdS^ zv}ioevdoe-n8k9K;LvMad*|VlDRk_hU&cQroYA9*ERd(On#$U zsZ*Vvjz5S8P`vPq4%Ad>VD6Oj+Rb%Z_MD~qIvgR^DA~l}(XV=7rM*_g+IUI5Mr#a% zIm^!7Lnbx%c*>;Nd(Bljxk}PH=uiQ(yhTN*>+|6WA{Od~CXb;hEPG=JvrQBiQ3|xq zv6NGgC2;jCpO}m)b-p%ufs5H;Jt?hnMsT+02R)NY(k~P`zfBgj274&G>U6Ed^l49* zY7hQ6uif!Dua0XbC!D4F2DW7$fO?6nJ8*WYc$w=x>xnlmf!^q$z)B17d}!a~L0z8@ zSUAiCqQBz}NrM9224v%`O(}awPx9N#j}j|C{*?IeL((gkE9To zTrrShFcsF*gDlv4t?h!olu5s&Z>7s6fs6lEd-&jQ!0P@jZ>zqO0}^-Knljl|O_hao zrToClSpbvyXru6IAlxDW0o}UHc$4#HxAAuuC4<7GYCnhg&>Ay5xU&}#xB5)Ps46Cq zJtwNNw3mL3Y@x-Ls#Dotr>glR|F*3O%jJS#CwjhIX9FSOjBh@Ck zf2>U!I@?)ttOENV2X&H*NU6fzV*DI3ibB)g3qHxXn$G={= zYpoCyW1goMgIB{`xuwnyRcN>tJ!h1%a3r7D8tF=mS-oF?IW)lvgG*m!w{ntd71Yy$ zGhH@Qqy1V7WC^eY)ZjVE4oI8K(r{9S&AuIMCSDI|n z&Awya#mg|JA|pP$>cQgss}F2kh}YY)*t)+RMdZ4<*-SOCfdIQPc`mJl9@EzkSm`AP z3C0IAR%I7T9F%@f;jm#HaBa5&@N*FOhwA~d=)88+WNT3m{aN!a%CFzT+S}W)yt0sP zJolDS*1-XStNiz8*T>Lqh8hv^HTsvApR%A=tPMPodsF*Ryp7`i{X?y4py6jx0{kQ3 zFU?!~zN(6VR%Z5Mb(+xX&)au%wiyQcWLN)L9zb)ztQC|%AN%`_v=!SCgGO7v>wW%2 z@O^$S0{1hKLq;1p;PyHK)@+`7* z&+>g{IRMGpXI5BWS6EbMIl7zsr2x9S^bR1a-NsT~E)_Y3Gkp0)l``%eJm;UfJ@-Yl z!a4sexO%OhYgMyD+m3s&xm(&Qer|1d7@qX39U#^SUws}9Rc)gfRhj+;N$(IaaRRdM zsrkpBPTGEx4F^ z;7chzdjGZId+LI2{5@p;cH#54UOIVLZT)&|B|rP|?axX5(feq6^o6JY1^-*BGZjq% z*z?|t-To7c)XJ|zjBksU=3AcO{BQmH;L0?S+!GgnTjRmC4=-U~HK)efMr+*rt5xp( zPLI#~OZU6)1P?ZgLZ12{_dB$FY@@!T@`E=$e(>{KvPp}958p41k;`WR*~#ZP5UiDa z_jdzPg#DM3>vr?i8aeaL^2|@uFYv$>-Uu*&MC=t;zHAE~_iUU$;@Pk~{qz4dUTOVJ zP7f`XkQr9;v%UWg>f0{7iG*( zo(&;!e10<%n%3KwW?iQa{Z_#K>M$KUKNs962E+%^dNoVxrxhI2QU|s$(Pv96ZQDb8 zR!ZvpR1m~Nag*OdAPf{8Z#Qlt^27kvaG2el9}>MnachYXaD5H!fzHKQ3$m-Xmqg(g zCt5Z}duKzC4v8*P7!ZU*=<w)l{rXC|(naTAzRwk*F&dh{Lfh-NA zg2eGY*X1qt`6`lnu{K>*X0KVzJX}2 zmRB2Xv1`5$VPkxrOJvnP<${rWOI%N{%1ONu%6hTV;%DQl1k6~jR8xjDxvJo^Q5gfd z1LmydF0VQE?XSQ@Qav5g{x%ymT9QG9pdfIrZhJsjWv*xILi7QCixOLE%b3-mFKT06 zNRe+)x)}?xYOjQPU7O)PXKuTPCJ)&$OY|}6*P|O8E6u1vNU(73t~?=3W3HvdWE=fk zGTFqI?HZ0nB*J(V<|x8u!_L%^`1V3Z zjIEgZvJ27u6FyC(;KC@SLD)BU0{1J-+{{ z-iB=PdLgu^Dlen=1r{~vs$p@zcNa=5d&J~ISn1%mlIbdoDUOv5@c5kGp~U`uiV|m~ zgP%*)qIh)Psl#oTqSr&=D_o|jr~C+|D;eu6$3<_%g!Lq4_vR{QgFLFa)gr5!-`u`1 z7m0&f`Ylx6b(xy=Q254vPz0GtcO^SSrjMG6i%&wyOX+O}nK2@?kQ0Uy$LIJey28~F znrE2h$(7@&-0}VLHq4%;JpJEms1l_NI2{>Sjq z62@^udEPZLUY|k+LF}dQ{8s52Pa~3F>6MXu?RB1;Qh=gMPBF}!&C3g-u1?oGGTNxb zKxdr0NR6pd#$gLY6&uUvZkpEhDP$1DUJB3KTGz8@$*=S@lCQnaq$vfENuD{Ij|p&b z=v#-BZYnTH)f2^6DK9JCp2aFBS~e!zYU^jAoKUpc>ZDCaX@6ECoQGmCBhXlV^_(Ed z5N`x=3ylQbVk?tWpNp>CD>M@a%>@-=q{4SW-;DN9FR=owUCEC<>Z#;V(RtI)aa9H? zTL=J!0Gmc-iN{4HuX3Mrb}W)LTgTL@QouLim;MJDA)b<31Qr1JEqhz+Jo?AxS~OjA zq{rC@<~1K!aCi9`+1ARm*|kqAWkW4XyVT>b$6v~&sIjLEpGgJ*&=|?ixo3c7*orcv z%I)+@1_pNF%ih)!aq9H+Sf|XFp~70xKHx8uo)LB@42PvY1;MC5^$F9!7aLBp3MNX*-2eIMfaKdI4DW$1H7OQ-eO_90ISMT4fpoEFj$lCqJ#d0IVaJ-76VrW4s<@ zKHXcVuM19Gqw&i#&4v(^KViSOo36Vtt5xjQ+^4X@1wv;n4Uq>HKo-;OoUs_iDWI2; z6$HlV;T-6~Vis11YMij6iOS##g`}7M`oajjvVsVnMd+%a0+ZLNk|+@eR7HDe&CwA4 zi1sk*2>qB8Z-R*LO(QAx1vnyWEOBMp9;U!U83#TSO1&W*H;jbDLMBI> zxW@kjG@n#F7PjR)`R%M-_iJb9W+qQvN%Lp+Xb?st511pkd)0Hb7;44^m*N}?DeueAwuMx;(IfKwC=h)6yyVo~;LdSVb z@grFbf64b(#RLmDx>*L^^3muh%l3WmAx+5vbR2oQ%3dg zw$z4-3>>BPe(0~%;Qdx~&1x>~gs*^(76~euCFiDk?nop?Rb`NfG>4HQ|G$&o7$Sp9 zwDzz7y`E=jPR`ITT`LiG@ztSLrua;HU=7C{O`pCm>L^Fn)=6$Le^$np|GgdDa&5+rA9u&ru9e`g}0NB zDe---7}@M>6anw1AC2FgXb`lfVTg2(+|>v$e97F4#GO6 z7Q2)rF+sYb&h))XGH^7V74+NA*!Pr&SUKhKndL&>%E(AivV)jC2jfubPxX*$kENr&KS5B z$*icN7;2iCBNVqUeN-r@rqi;3VOhFGwb%aM)Getd@f9#aA9%t;zyi&;4)|95gNAI1 zH56cjJ%AqNu`_}vWB`Z>+AjC&>xcLX#pkjy;z%a^pL3OKjsD=3?=4?Oda|O7Uny}+u%o8E-tM;iyf(v5t?no z#~D>n+e*w@g0ZZR?W-n*1*-Ng2(*=65iBQ!wh-2P=lzbWd7S2{h`vCrb`3RYQ;=W{ z3J*QNaE2Cm^;tFNy(9_@7g1oK4Qg7I9Z;N+L816*VwRR)&{&xoxy%4Rx5ojMx|tOj zgW4il9#xzkyZl8e_>8?FtW%6X*aqWqSTRu5`M#r=;45?H(?LTUB~Y@fvPj5c?bZJa z34c-yXz=m!;n+-&s;HxUz$*Kohp@rei>1kIB4K#z9&jSxcb)22pQ`r<3J#%<9v7PQ z6f=>3w8xk#IVt8u~m+D0(e5nNtwZu5pUlt&eVnsxBzXi8WK0()9hOFvL>nht~nCm zG^$OC7U;Rqt>p(gAN0qxU7_CNnm{>m(EZrp=xYJ*hFA`CFC5;^_Y3qvGlKgX)O}&G z^(`*|enZ9f_(?$UySV7#9sADBKw`t&8TpSGo9b0HLDt|j)==fkIZR1at+YZFZGeBb zP<||I)oVXuR-a-xvo;$r#T0VxX!Tl5`sOT(WOGMA8Z6~|TgpQQc>9$6zB>si;3$h` zDFqp>j;aFndyZ&}Q}5vWe%yXeG;aSSz3jB@TOJ;i)LuE4vI1(cs@&ANg$IBYxI$tI zh)`IfqC&u_K-B-cxV&;E1j`yR8~uc z;e#%a$fPJhHbnt4fGDezyr0@=n-s-gCt(EPt&`aO7tf1K!9Z_Q0NpiJfa$-Q-Cn!w zvIE<Ji{CAOb-v3TwcyJ!FqO*X8mO#PLAerZN5Js@by!9#}A_E%C zud7faq&aom;v&rWsxV_|Frg3HicR&i{H<1w%zL!kq=cVNqPMWwU=Q0lf+AqQIILAI zyntz>6>myP?b;Mb4$L}KiJ)Uzflgw@C`c)ZGcc#EOKI@|mayidL$sWK#vMGl-D~E5S+TY@;g-K0@bRl~ICSHv~YSNCkhh zb|amc7eNB98hjuU?An3vb*wU7XKqM#U}kCs&C-x8Fo{{0Q#x@;*V#3To=taBS|Pyk zj37(VkCbHhmgUWg26aigS-O2NGo?b$gR#ZT=bsb+Fo1z5GlO~9-#F))STHAu`=;ioHxe(Re>PWmSVs*Qa? z^93h8mb<8*CkBpER2=OoZvH{Sj_Na_h>}-HObJUY&6r)m1jcGvC~9P^ne)$^C^Wc6 z0Np=n z=sT7H>@|clP`lV{bq9FmRjuqr+Fy6vcD2wat@GZ{$ul7ypqK*TpL4zlvSwfWD)q(ax$xr8mGP zpbyJ}t*;oo<#C^SY`g(F#3o2+vDx5vr%vs53NZ36~-n53NJC76X!nnCfa)Ek4_zK_5 z_wF;_dl$Z|zV%RwHXf_JHXdRDP;>8USLw*Sj7q+oApyjPHghs^cyB$1b@Q&67nw$t z5xT|jHoZdQIKb$fMoU9!%6ezPP#RFlt`c?qq?TkuV~8f1g-&NjpQ zsQ#VQ=z5-cwxu6cI0!EC_oU&U^SFo!?GyC-&L5wz+tcn~`W2H+WWC&W!twJp@UduI8x-g)Q~! zzY)kY`cQ;XW4kn~*Pe6Nv95vBi@_RQ?e(lOscqGM&uLFCXf*$Sbq+HT6J~CK;4S7s z9?7RH&Xq@Jceb20!9NYlB>{8P$J6h_Y1LyLbSvq~7>Ei*I!%x{Pm#Aq$_ zX+QDf8lN1Wa?^~w7|?drGby3EMMZM4&L#XVZCVeF!^RsOduAf_bc8WZQ>KM6X&bgRUrtw%hN+af_sAQnZ3^hTUFz-FY-#@X*w8M| z64fydIak71p|u-X7`q!=?(@6oV)6=#p4wgHS}hETzUY{ob&pTuX*0HF>>IRQWp~2x zESGvMSO+@qcTnq`uIT4q*;hW<%RVKUB`weeV1H6)9v5UbMZ+b|evV=h)JEp$FdDzL z=f1%q01QZgiEn5ELU4bToA2^=NPza41e(X`6XZCtismNH|91{5TAajX?rPhdrM@*KlNy%X~5%83rQhT@3fKAO&RvQJ)`N1gzC=#LM+tcjM_7f z*FBT*%u+38jwTn@>uVNVp1QN-aBFm*6^C1+`>a`<>fL6;poYZK*w_%pF4CO$>#G!Q;9d37c#}Xt$obT zrrc@%bQZ-93!uuh7z9h>t?{4;k~RyXvsSoZ(L$OX7b+BQxiE%MtA#TJnl0jmugW4p zlvNgmWN)%)3U7_UKm`1C21k$xHy8p+EL49;5TQWb#efKTmD?s@i4AY~H#r7?wT z4+n0$bTYj}z024RPi9u?u*{e4m&F-DF3^10XmXMI%fV2JHC-+u#fa&a%g0fP>vp{Y z%1Ei^BV#BfnywHH-B(7`* zZZ+|}Ys#>y8DEQbZ7;r(tHV>*Zaoa`mN>4LrqvR=^>J|2e{R6v;O9nII<0Y;kg3fw z`-!O9>~LwE-$ZYdG%Xg{?Jz~XX=Y6wJ0fp7x)}nBX7$ZYIBoMNN{OahKv7CG*&>om zw9$^j$wV4$2~Nzf*<;IGPPMLEVRNZ>-f?1wtx_{>T_MqI8yFhtmOJTG@4ihAcct5k z?o_4APP4ewyYCE_OQXB9J4fTMyYmRf8oK}`6=}4K#B{q3swDebLW!|9JNwM3H`5-1dj5%fh_`K>zv0)(`=s2xELCI zXBjs-o^`x~_->trb&j#~3ZqPR0ixI-{rI5?+IBI_U?N}zdTnssB?i{6P`mokwduqV z$h$5}lA3h68*j-rlJ}>$qiRYNCLislOr)1?J{2gDSmUX}hy|KX4M{K4Vk9($XoIQ4 zhy}EJOha0DnnK=2(}EE4HJG-f;B?;GOczh%t;zH-?Wb>(Z#x4rT`7Li8Cqr}FhYOE zAo$(lWRja1SC36DGiPeG!y^mUEJ@mFX9b@PTBQlbvqdN|!+dr~g(R{Mc8As<;25j?KEn9~r_IpjyMWOm!Zxp@N^p4Z}*FIABNlm-vKwm1gj@C|4 z=R50lkktFms!n2Ew7NgnLsVyy`FfE`4brP`w|+e8zOEZIZ>Ym_!yKJfIgLWqWRCSl zaH>r(-Y875e%stP#?oPl{l+O8&9QC*w@D7pz76&rtU#}IF8lGK(E{83B&s#Zv|or# zC7A3tT&ZDtn+D|RvB7;aENvFqHk;iaqdC@_|6sSjWlme9YqQL;CEAvw47UP>*Xnlb z99(UtwvA9`gyD9eiVfP~Yr8z{mN{*YhNb=C{=t+PW!OP-hiXzCRXR>|^4uv$mo+Y< z(r+t+L`H)Ng9AhS7IG%^zA%Y!-;c&y7v=uzwG8v|Ys<1v!Z z#SDwk9Sa&wtirLWZSssmI8K%>3UR69=EM^lZ@?Po&PaC-hovjXJlw#I4JR88cvbF#vS9iDUH=(Nmk_eknYGv9rb zawGKT3Ra+(M(+7MuXzc3c%L^*JC%HG`Lh=AYSaN=3*_pu%4tDVP3BlH7^m6z-#!En{F~eqwWDS1sSrVn>TB-Lvji07Wnj^iy)NmN=BRDt}r*e}y0gI<2xDnMAvy$BH?|=~Y_aQ<)L^m4j9R zR;ZUpm7J<%tIo3NxwaRJUZSf}S1Ya#SG}Z$S&h`*q4yC&ZOtG!wZQrktj$=vxlVUo z*Lsxo#_G5B^|ApgzqcQs59w^$5?m<>~oDsj13<9eH;{32CcCiCm=(;DVF0xDK%h|%ebi; zOfwx1OrajD?8i%1Z-&MAP|6J1;kh$x9hTUCoF(o81n2mbyiLGGBcaa;Q!phG?=qFFfK?z${VEq%Ko;8JcoSsaB>y^{+}fyLKgiZ2`*U8lt5lJ0uSpHrb_ znku3B)KKKSs%=KXkn$<_Idu$im1$sj>r4|&BGqbIe1X=}CbBi04vDeqbWv2LrYDhX zv72}Xg&x!Aa5tO*-CL6x!fUZABYnoq-2!XkYbLK`Go{XqKq8CeEUWBiMNnnLHkVn` z)SF~D8$gy8>)f(U&yLNm+v^-qInHwey35abmrJ+%vs^2=4f9~-S?R%N-k5x1`Euq5 zB9uS0AVFb35&T8ci5B%)bibIdVu!|;C@ZO3im=pqkEW%qOTYA_UdCsct+K#ncgvZV z$0@&AAvZFkV!S0QWpL|huJW%cRaJqiX7(($=U7&~IBu#do$Zx8@E2_ z`edl-QS-ExB4zswVW_(=a84gB)(XR8lWn>-Fczbvevh@&=)`rqu7l!LRJ+SMDPBc& zx~_{tBcj!5-9$D3A>Spj7Xf_+~k9l(dhUP=e-hy7T(f)#P*yLMm5kbVG(r!z5N@4A; zTc*-WHrk4@{#L<+Ld~~E}Te{rDZo)2!; zUTO$OfgyDq0`(7dr_|7_df^@qgDA^AtlmLewkM3?jloFdPR3E40 z%#(*nb;3CXL5ixB^i#Hyn+iZM)n24h8sId$(|UKvA??s~FdWkZ&A`Pu!+1up-D1$p zM3ku^Gj-;ySwLCMvcfZ~_^jb1XM-g>TPeHj9DKjsMyYn21G?uNi9}oqEq4cw&o0+& zP7oXxX`{Y&m%-pozx$l2v|>74=0c_x*6g@@1PTGQcDs)yMKLd&_q@i-J( z&4Zp{p3TmCK&BE@Z#ORtDZgslJ;adkD7Bt9l8{rr`FxI*VqHWwAIbFB>4>*Xgkw7N=^L<BXyZMF(s*mK zau}I#gH=EXcs07NQY2JoRY(f4Myn>$%Cy)s6odDcdyb(HslOK>eBQ=;2_q4#y&43i zWV5}35%X(xUoDGGvHf0?8Rh$29g$9^E`=}A{T48@3DIO0VV2v zKONQfE8B|ST2q_-Ch)pxGx`02!f&3og$m~um0PB3waBg&^42`m+Q7G2Xj|Q`vVDC2 z*d6ZoU(TjuLZ|2#wZOt2lMWsaWe+_Ojv37WZ^9$dM`HlS^u{n|cr5-{*|F!wg|NXP z9(TOYoe|*a>{sX0<2RE_z?6`$i-ayAyRz=8J27eEFG={5GAD!Uh9`M^iqTYRk&e^A zD&>+kWI7lXw9>1kugc(*aUv5*rk%{znTuv=V?JxT28(R6VPuQWj@#|V94JiZh*xWh z+3sMJ=&{6lPDE7QedH|ep0E3FxejwL<~iF#ux#BnxXqiR(*oQ15LKFFHeZxV-FGN+|d zHIv(8wF$;cgP|&YvkVR0G9P7+mIG0slYF_&@_iLHE4o!|ujI9-lq$ki3wuuL<#DfY zs!cFnEljZi+dO*BSse<|>TPCOuYs!7EZe1Qmv8*5s~5b$sUc#a%0M?HC4isMjerXoE{V{(6n;lj2){n`d874a^(d zZ-}DaH0LOfjd&kW4^yk!>qT+F~PAVXUpnV99tt3XoKBmudQr5f_9hfCEDNg@4bUn zN80`qI(F;?%DhwKsL-pxfurEVp}NC_!p=m~99?JlH=_>_9RrU17_}^84o7H>C}bF` zAhu^5!?<6^!zDOgC9Uz{nCz_EEYr?4I{)4UZ~W;5DhZAf+H|qorTi`%NljE~o6D|} z81I^vePYhU$-9nYmPB-tBF;&zlio}Qp^4mXAY^Nynd~v1~UWC z{Dt={a#{>WCD-FWs2o;e!3)9)@jXI?Iv?#Xk_=Wd%vk8=;e^Kz2yVQ$_*i%jMN zk)xGCzU284(B@BB0EB0O`+~^}VQV$Ze4#J}*cTS#zVNs`Zbcdw#nNe&ZPBlb$+B21 zV4lU|&`R(W&tC$O!x9sAxGagR(Knt;rf48t%4DfTvT+6+b@2P-aAv`i`MHzN0CMeg>awQsWm1cShS-HH0a;=hEwPnvt%=Vn1 zk>XyU^)c?{pc?jGF->q-EgAb>Ye`oZUA=|Q-XQFAUn5PuZw`3wEkhgUy;IZb{kV^k zKDBD<)%@&pxG#oUZ)SPBEIq)5dq0N@uGGC&fCtu7IqO{XPk?Tp=>^)&n+UQ6G@a=RY2I=sz9@OCAl8P`N zCu@F0{dx~#zHlT_aI75p>oL-WV*>CXxXBB9jKcs6wo0_vX|KX|#LvkxbHuB&GbveU z2$$_KtYO?uIblpqJf{ZUuZ&`F)lOY_zLBSCSO?m$Idiq8q%=$WJA@v%WX!iEKtW}N zB(Y0-+hAcnR* zzr(&2b<4nirOdiJ3^u&Fn+0>Z2(lg-YtC||Q~d`x2maO<0g&}aMRqlhJ3EG*xTXMN zK%Kt;mv|F!i8mRFGo9j&KnAb}BkF{d008Gvd<7i?fCCN`;10eo1-49>7q`pq1dk!U zW-vq@J$ngE_?P2vgD6A9L0Qv5p_w;{W^fJ!#>wAjC(|-;E(MX|&asy8vT&AyPf$_u zKC+1$YWC!Q^&nuY_ffhJj@;IgtpsE&xd3*D5`;QfX4ooIs)(^bB~T}flhVve5emslymFQfQV1JYmh#{#=`=_^ zYp)fBv>|7<^*QxNLNV1}<^%>QDQkO7IFlOKpmL#$01%)+fCT-DOLYf+UAbscm;e;D zTxVhwCoq0aUdc#vuT2#u(b$V3%`nXzP-{^w--LeL zhuX;_3jc1?-8nVd@Pi1F7Ka+yW{-ZsQar6W+S_jNrNhs^4!HCL&GUX-q-I)!*C>L@ z5JPBJ6_PG%M80M>Bp81#JH69mM8ShiW_-nJCXH;ujwq^NhrKD$Cy_IhO8Ikk#bQf` zc4n$Fy!>Zc@jEC~#zLKCnECaRM(Zt=@@JNUjMiO-%=aaQ&9+GEqgI*|cr5Jo4^E|& zV28)n7btMrJr7gtlC=2jK7(~%2V0Lhl(gVyM!hg-i&0#MpbLaP4?$ZDa~6WO7!?aa zeS)QI!N(#5KtlvN1iD62`w+a%l?C+?3MF{~-~t!8zy+LTODaL2%w9qTfj$QwEFh3X z2FmOu2ZKO|%n}NIuX#|w+8Sk_2`n7|cHe!%4g;(BajBL=+$*2Y-sttO%QeccX-r8f zgN_TLw(v8-og)XBsf4SPmZO7Bi}pKVdEj_ zqi}lxwxl;`i&>L}pe?4X3_*?c2#Jf!F-v+1LIo?_P?2iy-2jf%gmBlq#2juf=vO0s(O;}YU(cfuqw|J{hXcHv9z&d7H|Wr-C1E7edzv|(BX zj(-MReC@p4^vygMAK72{xJEMuIu8Z@`+BhFEmE!`mU+z&b4u{>DZB%2A^IJ7H2^+i zjxTSPVX=ut(%Qs(Il|>Z_HTTPy>zjD>oDy~CE;Z)mDo%Fm@P1I37rZ zE)AMt@P7ocAyrzw+d2cft?EfV?{+eQ1KTSlvdmH$uUCo`hAocMsv}K)W>xFjXmJXz zlrxz^d=5q)UH@XdV%E%;;rqIeEzzRoFV6lV`mE{|GAqZn?Rr;LYI|)jdpqNS4|X{R z8HD2vO>tL`@Bin-lLiU#(8W0+O`t}hJw+?IkMTcQW1$P&= zTwy&`y}Tj%N?MhQG-?d>90-82+O9hUhZXsFQh0goq(c>?My3@KYET8dw78mzU>L-Kv{)s6*7Zt7AiKHEv+FbT zHF9On#hW)kp|AK-HW&Oe60?n9{X>xOY-kAZ^NQRq&iLyjd3Q0&o$e z*nSw;Z;uyPwCm-?%ariALxd+3ge0S`5_7A#@gd0~E5t>pm%h&Ep56fXilqKBCnrO~ z8kU!L)s8+%Q8;DPrTK_mLmZ|y=ih77?|ELC$SfHzCDon$q`IlXK@vQKL8*syy1|IB z#_NIuaxpUg)5XIh>x}qeGUSMNZxVE<5aW6`Xn`lpib$-$jlyTa6EQQ;;R(YjHR$!X z+nH(}1W44P6%{RHy;XO%GrJ44qE#p{Pz0_}w%d zfAFw3RXau*bkBhvaEtrlAidL`!+}VA+nd8}FnXJVP#Jyt-G7+1r+I@0^6&*;ZdKZp z;(gd67n1(>CNy~Z6<~bcfdlpMTCULhtpB?{u@i=GX!xStihy$;kNI~9prv`9{{7*z zE93R2@xlUqYKV{5hQteEvWe0z&xCdNS&ojI-98ZO5g>XIGp@CmiULp446E4Lx^Lyj z+?sMMP4I#Q3~i&QR*{7OeC>gInV!)u=7(tSVa~Y}h!`(WuP1X$-E~UP& zD*RYRb3?=UaN*_!NupN&!4SA86K9|)EhU!1TBm5$Kx)DmwojoH&e$4>r3qNM{=SvV z$#`K0oYr(e*%dzQtd4Z!mxsYgxC4~?ixD#_ZBM}`{lUi1G_S?u(K%;fLt7Q;FBsL1 z6aHfG{Y#NtOm>eU6X8j0rl9THFLVRjO~i&QDG!63#Ifn(cDP(Z=M(W4pCis9jdvsw zZq2g$vRUs?adve`6u-ebQcM*%1={3dAZ(Dzd({I*vBuyH63!%0x2+DzVqa zq5{|41Dg#1Iv#vGceiESPEkdxs7jm`KeBuO=XOpk$h6%4m?ON!NPPcTCRx7@K#;Yz zEZGo3C_`M3E;JPMGh`w&;7e^&>7>TJ%R5`|#K55$NBfhgCA>?2`rVJ8%I699*63F- zFZ{*M#TuMEx5&o#;BUx7E-Aq7*To6y`O~&EhL4yu#udVoID*0)T5YChTboBcJ z=(Qefok=NL&`k^)zo3gwlU+FQ>w6LgG~x1>G{mdei|hz zf0PSO33?~a^c?S33>VXMSJc{Y)mzkDmbUU%-IHieYA_@vQ&dJ(8aCLVAkwNzrCs5V zzL*!yIDsn8v>AOI3prgz07g};BZZa`mI)Br#tEW`U~FFGSxK&Oc#ah~0xruOrEDZ4 zpMZ7UiqbMq1e=+jP476Hy#pdaODDQts>)JN^EROC#(?eqmV0MU8)g2J2&$d2u0QaU zIS3<@t@n%nN)WZbQ|(Z0H2dk)VEKd8kt-+WXK!s-FE}EaGXsP3;ggX|(L}*<6jhT| z8%8HNLNb(F^)%L%sj6)2LNjZIsH&Ro=1|`X0tkVfR6{gS#^BP|I|F@@G=TGW3xej2 zSr{9jdAC6u9z?S0Z~ZLKvw|cmL*yC9@`BZP1abR#;F++6VGY$p4Y3Ae(VZmO)YD(* zuy@|1XX;$H)6COL zrdPV)=v8ZSS#A_y@%DMkOKIdOOFlk9uhcl&+aCy^l+UWpz7@RvI|&#u!pFqt6MZe*>_l zgS{_#1a=bcQwZM*E#;*dwWAP(SY#gfYiyT&ZQ(h#{O$KB^(c=O${B~E zaE=q#?Z6)#J{P{^#47{+&n1IffIbotst^fX1!x}+?g_&0dk|=>Hi2AgN{SDG4pH)e z-H(7v;dkR|C5-cA5`4*s$c@M)aK&p1Rl-ASa;G0q1U+2?%Ap)8r5wUJB>2K_%vWzc zc+l_Q_enwsE67yUH&3jcIL}X#BOia|ZHi9)(uhPZL|Q!l=zQ+P#Sc1u1;#J5wg<)- z)j<*}+@KiLZutYBv5i;n>R0%B^Y>JOWBvuJ-2tzJ;Ncy=mwJ<2*M*|lY?Lodi*B%t zaFrmc@{o-dxe$%plkYQJwAhR~Uy&m#g>5+({9cY6n=&vsuMXw65`Jjh`1g`_7NJ)d zVwmewUYpLf8I8y?9sK@P<^316LDH#I--8~r&_xLcyM`Z2JkKbv{P|A7{+{=DvED7K z?)O>@Kp)X;R9}*Xlo5E*c0)t(^@%F3J>j65p#cXui8IXclz!1PDfog)jt%nauKu~& zHi_ggvk%=sUg@bu;^5v2WWawRw{Zz%K=h-rGS3uFL4yQLL zu=EO}KiTq3|Cs`%>-H=BkT9F?)4!#+bME-hhI{Udzufxe<->gvV*USZbAIPi&yK^^ zRL>NMX}tX>bkSZpS9Wi?O|s+rj)rGD+{j(LnqS%1K(5JlYT5g_D*X48B~3jG&~Cx~ zcD$2+A1&8PEkO4s)}dy(1*rs>I`h#BfasyOx8*kArH_yYe*nHl_8QKExINh5QtNsj z<|8qJ2aIQNf`px@(Nlri=Ke)49nE_zNx%9`uQYrcd9~~3vb&=RW+5fytGAPdbAih~ zMw3rr6>=)N)TV8UsRI^$iZXlcxv&WDBa|4b=HN+wcC5l1mJZ1u6tHup1Tdxo#~{UX zltx0R93*>#Bo8$V{_(|T|$c7d?{}lYavRZll zEBNvbE$>L{d-&Hz-?gd$hz2$U&0=sG|K~Q(5_!gB7JcG^-z?TH4d7uQLIA5?U^rZc zZ;mZR8fu(M7`Nk7W*pl3D^t3196feMzah{*azd(2L|G zVYZM!hOU%2c+IBq=82F3t2M&&&$@!Xbvd|4rbB%d5iNF180QS>PKQq{ePL1^81#Pr z`y?@(SZe}S1IL+}yQlA#Q%AJp+Wyt+H*Tnpu+bc$yGczH}ScCB>`SnG`<}zS>M4-vaJ_~yVhjw z61n|dYSkq*k`S$K%?#!N29llsqh#Xk3+8BB{cz$0Z~2rbd#l5}nu@t@=< zhI*kD4W${&2J6mVnRu3_e`~@zju7P?AgQNebTp4d>v)ZGzyMbWd% z_^}psKOT@W=Em^aM6)a%O^wu~9!XQ4g_Po{bMyI0CChauQxk^D**#XqVNrK7%+yf2 zlx3>xnR*1VZ1I>iRv~--9K{7?VPt(kI3o`a&5gpI zpKMGay8eg(5vlJPH*DDxF7#giL-9apdS#WFHnF@~Tp7PAM?~T<$wLo*VJt57UXO?z z7!B(z?k*rI#%ghG2Gh%S%L=W2_?dtN+2vx3F(hh+uBshO>KTYr2|TN1fDwuBAhIS3 zIn84|Du{!LErs%17%UuCbJL3Iz=<$=EHav?fnX%G`>O8y!V{nyWI9VXew1>D25Wt| zc2BA?1G<>5qjTxBC+W6^rABPDHSL{zgUiItRUsHd2u}KtxG188(lwEL2VaVfr?@l5 z&qYMMJAQ}5t6morcxzoEv(hD=g!v7TSCST9I>`6LvW!$0rMcooT z3-jZF??3L52xRzBH!osL!x-paCX<3S?-Y_JoH3n{6 z`lZDeF)F2TRkS^^S*X7gZ5W=8W3Q-N@f$nzY|B=6c)>QCzu1N;D3jgr#u(*cI=XzE zf-<3hu=2B|K4`_Us(I+bGcY|mdf^%RhBpQ>4};Sm4rWM(Hw|fi9`K0QEx#t-d%)BX zwIt#7w^srt%Q`-V(?+5^SE1ibrLp>gaD z!{2EGtnM0q4EwX~46Bd$*HA$akK^;wXT4i4dha!OWHhCL_&;uwzMIvhi> zW>AG`s*k%e5f!i^FV6YEISC{_6>u7Q1|rVqOu*Vnizzi{R%?kq>VLeyw+qC=ISC|Q z7RF6IkX31ly7MNFc&5dtN0NK8t(fSK8Ww()c+KN+l@aA95?J)%6=FO9J!0Y^!d2Nl z77{bK&sMR0bY{ev~b{$~8 z(CI91?Wd-5Ag?&QcWs0#a0PC`8I-95>1z`gWNy+pixX6(F7>rk6uS;%IK1K70NO~W zO#Iqan|6$(hNr)J)d?`bsVpzXu3qo78=|?%{h9wCJug)S68T3(wc+nD>@cIx?;dM_ z&m8Lu2p><3QByRGt*gIuIEAmfaOU7`>SL_4<;(HJ>&5I<5X+$%{{wY~yfza3X?d2_ z%dAns0pKaS6RE1yAEg{n zAXkw@(;vMsWm%6>AEiFDdO%iIAVX0E)hr&qFZEXHw^Ywirb<-#T=^-df@11Z-%#>O zRQU_#hn;?ksn3vu&6Y2eA1iH1ojoW{G*KU1O&|reF;GHAwKg50R(#SJUC%-y1_2FG z9-dM>Nsby7UK$W=Z*d=B-g2Utnn{CBil7NV2#vIErPw8D<$7wp^($$$39-9_+XSzkHsMf+F~>& z1Z^=B9t1Vjh9o8mX%uk^1>q6^3Iq|rQuc=QVy<38U99tV>miCIU>F1`j{Dw=?disA zJ}_k~ad`;D)(0<6OT)pswsM*7r8ig3QQsCm%o4pegK5;~Jf~fZ=`0T%SrnKE|KrP& zw90g8I04kY^EYr0se)!7m9qgWset4uZulpD*vP6PWR1s&ogTXmu+QQ+{${_#wt4H% z@`{~>Ek8qj-_DjR8B5l(TJ&Pa7)zFGq8{H(;N*s*Bm+Za$SL5w+3KXVm?$ep$d-E- z3%A6>Ve!4QelI}EH;YlpOUv)@N7;6aPd0QlJXnUS2=u7x4d06IwLJWzIttOnlBYWw z?xh8n<@|nl)4QydoDGkDa{a@uaDPBO5wrmhGD?rmj5;J9)Fd$f#e=V~ zVvG`=M286`><;l{pLVg`C3i?>8oP~e4&eb%*~wTr_L|bv><|0E0Z17BM1NnsFJ?Z2&q4pgPjuLq-1hdW=Vpj<$UwJ{BjVMr{Li zLd=f*F_n3klKDIlBI`q>Dn!VNrEvh1gr!!Lq zUdXf>ECty~ipfa&2|xT#n7+~M-ZQgUxTiLOF1H9a{4cqCqxs*SX|!zin_$S7WI5EG zR0L}`nu0wulQqX`Z|&)hTp+c_Cyk_4BOlNeNu@Qs9kavf2v?y@qkIa_Xo%>Tqtra8uqnaYcoIYHWl}IY-rnrQ=FT%PnNjq;!00F9&xe2Sgai^irKFL(qI^Yc! zdl7%z2dmHvD8%=J{G&sF4$t0FTgi5}%9_fR*t>?^0!$}ith^r{&KMH6i zu0&iL+z22M#T_6tb%7#`zb4e{2G7gOt0ly%GS3IAZ2+EFo>`eB`54<74L?G@i?4&n zR6`vTguLv^(3$&TWbd>QbntX6n|YgATsCa1U&gG%z8l9=aF8ym$+g?o?Km*MTotWb z9HC--L^E#G`U_pJ_DXJ&M=%o%1LVPShhQkeGg@Vc%xWYMq>go|y3eH>b_V-QsicQl z?-Y9{;W0=gKQG7s}X?vyu@&H^{WsDK-8 z>>_c9qB)ilalB%Ib!dG}MY4nen`I^oCo-EcjI?mVArA>rn;Xtm1X;f&H=v0K)@6OC zH~%fi_dP2~rlj227rtAFuO-7slWJk#(hH9@e07?8!e^0B9R7p@1r}I3<;ej7f`37% z8~>(pUekY937aMH80we05BJbdK}Eu&wNHg58JX_OUei!DQ*vF$j_(+`B3acA7+CL= zu{b@Sd*GZ-Ae+7HkQ%LwlFIXerN*#<*-9LG4V*6@jm>`;19F~ z;<8M?v(1z1F1KQ2rzWkl-S!%KKRro3xf60&5rmvfxC-z?RH+o40u?fw&XUDA4#;o` zg0Xj$x@dGdALx1KiTfn&N_)eWUQ^&(MlY57s3jGKIkNdPM_9f1EOBr@W#fCh}a4uKCfaKM4v6s?^?d7dG# z3Q1N%u(W_>*meQ9i*0)pswlecIhN&AdxOkugDNXpp-6F%Ya>+jjM6)WI0|z)PEd4J zmQ~B*Pt1K<;L7M51|o*BS!@AIW*ZMsY`Z0=gx92GX8$`Tt3>_tlQ2tO^?{qc$AK|H z5XRub5$xP%`$t=e)z;BT2=j;{XdJ!`Z>Ok;WN!LqP63MZ(B5nbT>oXWL5s96M-+j* zq3l+k5}uLvKshRub*m*I079^&g97kWSkvi^U+^A&V+nxp0AYq-O0#e6urs@yD026K zy=mR_%Ppc|jx&v5@BaIDswK5w4t)yhEz|gNf(fiu-oO_Xq5ah1d_RKpBt1!895KeF z4!J3`7WUsoFxp4o(z{Ccxy)uICT)Ha2moVk3^=M(RgcA$pMver^|YZ8G(>~Qw>IW` zy2vH@TR!KUFBbwFd$QP=g{PY$92b~-!2YuoTfwcsscsyIB89aU_@_>wz_jfTPMfC8 z%kr44s@yo{LQsYy9Fxp2Ahm4EK#Q?OTop7qz*+M~%jutke zm0BX4%Ch8c>4tY=1{w^jvcEk}8&$Q2193a&R5kaufwfCzP3D*YU*lrV8OqWmhAO+q zxC7pgpM0OqQ)IfbY!o+z5UF1Df@@ma5floFj?1mVjxP43g&^W?q#s~LpeEo_^eO*%0|W~C+1t9 zeE9C$ZX&Cvpg`z?`qqzWz<~)N32J1lLg1H1Ny~R*56FtAP{luw1O`(wQ$9a0sZz^d zbyv)_>&vT>QZ0K>+w(?KnFQErquoH_d03x!W~+R87mu#0W#Ku5P&cTn!nbCDZOOSG z6t`|}S1MjWj&);W)!0CwXmyxP^!8=CU=)S1Hd0Gul?9oNjA(XZH1tYUfy^~KRU68* zX}F@kk*IsmV#6$@^#z`#Rkf0^A#G@?i@46B4b(gTM){$hBsDVs7bPNcZZkng=d@4+ z%W=%s%*uPz1gX8Z;TD$|)6 zdHbAy{D)bVXyb$g1bE0eT?lM!5a;44{o(}y;B3T=LP_AW+@WWYx311eEN^$(ZiR9k zw&U5!?465At7SO76N;G>q?jB zldMf=%9Vf7Z-HVb29AQN^mexu-3x0*I`9`|<;r-RW{<-hBJ5WT(W3liXfe;*uBgYA z1a!~v3XYONxeDK=D`?jE3l80(T%~U-OHzU;zfY?Q+8R5^ zszDzAm*BST(IZI3{eoo~y&4wer+=9?PS>4~50zFZp_du22T6a1pft`w6|iVf8wSYf zpBb1R3&kD%r1SeWp3c6U%j;s*+^rtqk2$P?%SV;$PreKzn)~2%M~C1+E=ROaCg$f!oh%$WNPd@EZ|=-2k9fh za)U_;=TR}tJWjs|QR*O1SJ*n;N$b;|^R^_#3~I(6F({?Lwigt-IVY{v)s$2~_Q=}| z1b#$qPBxXh6^gTex3X712Pc5%9k1vtNNls6aw&>?QH{3*dgpW7?^#8Dii#;xeJ!Ej z0jKAW;%=GEHoKHE=Xv3HP=+IZuvOS{l6mSa7i|1|Fu;Sh!u$iU#<)ucYj_K9VnL;(9tMB zb$@^20Fa}L*|*BJ*R}>aO&LOkk*P0f2_ga6vAORvyaN)ByVZJP-2{=8VIi}_TmbB= z<<{QJfsomL%^`q|H@Dzy_#5G3Hu&aGj7O1J2{={> zSS&5oh(wOCu9T7l=0acwB(nB_9g#Ti-F#ezLC>BnWk^Bi!EoHzpl;hRL!cz8q__v7 z+2how_KQ+DMi=b?isi*96&ITAR}V`SK@>TfgzSI)f6TeFi@G z3f_u@n)`*hSbmp{l<9pmJzvN>`Q8e-@w{53=;WmiSw+(X(i4Fgc&Kv4!o^f^NowoG z)bg_zbh?~hV<~tr-R>z<<|2WEkn5X1?)O@U4=iE26`$SsAZmn)VkGQYxM zAZcajXcHe05>Vv7@7Dof4>J+%bF|b$kQz1gsG5`ouzB%jVPsYjB4Arlti?R*L&U=PKC( zB&>A%Kzd6s00x>WlEvftq!Gj% zHR9JJPfpkOO$+L#rVT0N6>ptLdZbelL}~|CQVwrP4a}?f_ec;S({7ULJA@c?Zy>#h zG^b(p5nq2KH|-}+3l0%BaR^{X!dycHnNli`RxWXJ_VJU*4X<%T^K2Zf}P_Qnc5|LYp)$y=tL z{zWC^T7mQ~)}4kqPZu^gFpFCQo76W%Vs)Q=;$`)TwHKt~QQPmDF@DjLli$3)j_nCy z_4M4=SZQt%LTE$#hDbcvf?#NKyAgEGj7DU`b(T&3*a`l}6mrTsf(aV5q+J3H+1pOt znrYaYO0-t4*dKGRzZzK9edd?MTUGaMaLkKas8dz8Zb?-YK@&H)TpxWQENd3-RP_L? zJiZTj8l$%=ZZy=ok{ymCWWq@uE}SeY>wfZiCwwB^Kt)d8&=lZK0MA3_4mFytg%hXp z=yW`xPJR7qE?bhF^D9cbH6$R>;U+}iuyjl23-NL=5aMZP^z$ff_QUIKPeQny)7@IB z>ZIU416N(-?MgPg?8f95^&gzDBUZ+AqiwhPO7pq`zCWKiJ;aaM+chF37dC=km0Wi? z*bTkVsv;4p@2D(D?b4~49sVdg3PLlbo$eW=aG5PDJ}+N=sHWn=mU5@gbvvDYe|mZt zI#0k&DI+zKitgksV|}x#oH8bC#C!Z*dg&T|p?;dCe(G0c8g@3!c9{o!aH9LgZVhSs z%gr+cD6?u&Y68?Njf6nw1sNu9-HxkjonL4)1)p7=__Q--3sQUSpIhL0p~#y-X=n=h z5wLfghq0#VuJM%TSmDrLq|oh*dhWFBFu=zQHn=+q6_QNV$PO~+TiZfT9OqxjTvAIX z_woz_MMN>L6o?t^#tK~R2SKBm4f3JH{ASE1kN`BNjBstCDBz{*#2L)9R^n0hPSa)j z_ccmE0L)M#v>whG$QA(Z!caE6IF9;fj{QKjx**`uT9B+mAYbWVt2wviB9cUbl<2vK zA*8?n9Pnn!95Ry79s7)Zo<#M=I}Y=lr&1a4de;5~)0hHm{1X8Ted{$5P;OAyQ?)keH53YSFxl+;L|e= z=ogaa3+CLSm)8vVZZ-+}C+lDqlZK<^?N=1QXN*w)fV8{7D179UBOK)NadSS@m|+&J z+BX$nr>p|a+nr(td2X6)xWjW2U}vFl9fcw<4W5085>UnO{aa_oN+nd|iX$kf z5@w9~pz=bdvdsbjNBBCbo*{BwZ~i2QJg*bdXoB=~VFu7_M2eVQF!w$UjLuM zM6SJj3wa^)1>OqqSrCfM@@ee z(0!^Et!{?4gLycuZ}LY0E$ZXIIYT&(rU8p;QA~*=AQ=EARYgdTfRQszE<@MpMkU?% zv!Va-0Z6=5j9Dk&9Txclkk=O{A8A@x*B@+p8J*6XDDf(vD`Cx~n!Ke0PEa-S^Zw=D zfg*1lSI+dW<{62|6H=opmsZBcF;82gk*$Su5p%;MLfRu`46@f%%ao`PGz2fgxDrxX zR}FwH5oWSDj@+-a;9jGg>}8_EjHQnZ#cgs z;hW_cc;vSeAltPtz+Z~td~rXT5t@=M@VvQI##r3xRk`VbCMZ9^sP|W0(F9GFOKj2Q z>T)$ATmU9c=b*>8yvBFEPoD7P*WGN(yrcG>6EHG3;@Y$!6hDew`U4Iyx{vrERP5zP zAU;M)=%x{j-woDx)BEX3+LSwyK@ED4L1xyVx6BLV;rU$fn_>1j7VrP&Ge;F$ z@Ou779OoN@hQA4;o7I0h~?T1PIrt<~#g`sqZ6v0tUh3LH-G%NyQz|49gcI;P0kQ2)RWmt_s7x!qU%BI_TaVcxBQ8Bls{%e?p=o|Xku zaFLA`yBm4cD06d6L)kSt5{QUC?!;~UMEiCwM#*EugSR#k+Mw6wo*LOP>4+7+wXvv9IdpToZp zK!tP%OLch%=|$41@>n>vf7<>GcqE4cZn6Jb^aE#3)U}10bNAKg%KR6=ahp~~kwKRA zEmcaSro`dxcUC$5K*oZHtQb_0#NilcSC-|XhU#$XQ+18|3o~owb9D`qOn30{b>EJ@(xT1?6h56Ajwvep zPClBp70DWNPD~EPK2G2UD5vz;pXj1u&5U2kM=y7F&8c<=JyS}aTV9?3dC3X)UKssE z0buxY$>*alhHuPFKT^p4%fR<%e?$P z`fcMD56-Rjqe}xF-Zi?`5`pB&9wl3X8oM}T-yHSL%p4?FA+wkU+<&QycLKc@;{N;T zbRKYZbSqLFXsoR!nrT9oulAU3$vf?{#5=X4<{r)hr|D5&>|{^q=@9u`3I`^zE(C#6 zvDjD~q6;s^G*O-zH*!qp17Tx{wqH^suT>hV&DgAHR|6PO*vl17chIag2Gf&mcVebr zZ>D<^V&{fGUZ(37zzk!kVzyXV*mtwn{&~qGY+5)?(ycf~tr*GjU|g3FX9GPizTg|JT@;DB0y^T?{ejBv^=!*WAXLk92krYo%o@l2khRAXgM+WI}OdwBu#hdxI^<^)7_NvkYz(4@Ii)<#_a-We9)hPe3 zzRL%mpF?|KjcF!syB#82WuUJC<#iTgwLKGl17BV;zfVZuJ3DM&x()VSeJj3?_Hcfm zRs%B(J7u_(3;6&$?JuzeOIB?+hMFV8ip*%b);e^%ejp??iBcoQtaiO>kdmkY^;+fH z%+*Vk%XC+Tu`})A320NFZZlE~fKg{R7q|diiA01As=+WhSpn?%vKtuJl5_J4KMka<2kEjf4bZk+FjvtZJs7 zyfm9_QRZD~AbNUMf+=n2M*3XGKzJVQ&hJqJuCxqQaLP|49vDgaFL?w(*EFi; zAJHtPQVdU(%2+A27+!85)!7+^c7_Fkk-R#aL^F9_7p{kqluS)H9E`@RHFpFD4 zE&7zC*>scdJ(5(xNZtw>#NEoN^Y56r^Q06!EGh5G^xi%}jk~03d!gfx_hi&X*i&@Q zYCyD?$5K^gQ`E+ItDeGC_33VfSy2v~%UkFj@JGcJqYz}wYs|XSZVdjfY$Dm7pn5|qIKZivnJPb!TlZ@PwT<`VUz)Q zF8Bt5oi~Z=KqCYARTv^L(bd~zCGr_ylzutn_F*q2?E9WgCTs+T5qgTXKBZVJl^h31 z&UReSxu0A0N`_a?v5G${37@_UHeWl5wL3)+cz$aJGcRXc&p9uBZ&<`f>UQ)+1%!H# zmherMQQxl$0plC*H6OnHV;qM20IUZA4p-OzUn()?z9dumNkRktB|jYc%%e}RfbMgK zG<5qqDT@k{gp`r9quX1hOqNQfIa)6w;I!$Kv@zyWr3lXW(kls72=n8veRNRrA84hk zprWRxs&|j+13f3}MFjTQbSl}{N}c*@)mFp#jcdk{mhxaQ4TEncbil&qI20)1fQOeU zuh@P-{O_gM51sT$1lQG`3XT<1Zz{E2?4kgRT1?q*UodaNe@EQlNI- zdyHd(5a80(scVSXb&)!x${00xn7tPGte#{8^}?2kkh}S6>#Ti}YZZ_Yt+U3}*lAX) zR)KT5Mox|i*(2#l5u^qnmLf3jK}CYAo{(3HOa!h=HJAQWfVI5wpAQJ;Nk)CnIUtOS zEcm(f>xOP_{ZUQ;FwU98$)ot3$@r^Fe^KVGNW0s-nw+j%Hby99SU~+WZ&*S7KBWn% zjqvy_A=OTg8MM4e2?CCv=@>^R$_3ztsY<{=QX&dc5eL}1Dshk~BXtA#$uP!wn;ACp zu1?8Z#*^Ne&J801T196XWuSSV@5s?7B7*o5I?v-#tU zx)EO;>uV|7dHZocyh_iydk^T{JcBwB@)yQQ2s$Zvn>4f670%~-4t~t|9v%2`k}j^- zTc9)R2M1y~-LO8U1pFAD=I$+~q9(gW{7qr>5tz?Ukf=-~yy=U^&8bu2k7(G}kp6;^ zUukA7-N5i#KKSv5Jk*!d>xpcE=O25pR448;i6pLvl7Ml;kGLt~j=n1^dSeOSg4d9k zdjr`qDhf?fUvQmR)GbK8QPh@9f96W-Tg==81AdC#98X>XUpkO^i$}l73h3mxfzIXC zwI9}!*SK}<`WtXM$Eiykd$IdY0oj(rHR9(%VC%Wfs#We>XM|tlc$^>qaI})rlCZNh z&KvJm=;*~~@U`M3XG;~a_)O+&#Ywwc4q-8auN5ce6bbV|QoKp<$Fbjs?D(t5jXwf5 z$Uv>&0EExY(gC(a2I{M3$iT={4MZN!O+)Z!uQ|Th0f3Box;I8HflVR*^h#3O2kjOl z@3dbwJ(9&G^c%hV@j4;=BtF_KS#4ao^3)-aKWT411R0^P_sDXTzFJ0ViUq{FS{JK* zVNx5>6?S&VtXK;zReM5E2{;zhtJ zU;s%#w!d$Rm&={mF}wV4HwKC0LX?}+d9d8dC9d!?4cja<^QRvN;3==ttSj7XpLTJS z6PmRXf_vPnS|ZDA4;B7Vr*4$k1SwO`$}#d6Z|PybrNv=3)m60iKsdTc7#PcMq*Bzb z6`?d`Tv<6+AOBKIW~7!5rmTnxMy8bdwq=i~%Z&Npq`S{0Ce_YtzM4m<8#G?c#B|!L zz12~BT!6sbdzIq{2*R-E!=I8dTJX$-NhrGLmk+KFE8Y5Iy#geVTzsMeT=}e%ZBUNw zLLw)%NAI}FcrF%?GNiU#fQ(Mapjkr0E^kKL{^J0mN&mP743vE`Br6Cvc9Fa8BK4;c ztuR_xYZ62Mhn;6sMX{pFhl$Gb%~8<^DS2ItU7Dq71Qjy||G&neKy2!X%myT9G|GW% z=NX!07N1BxG20{FY!lIr(>Wou2eYut0nsr$^VVJe*|4F9xVq^ph0qP|^EB^jZfBGt zzzqYHeDp39HHzg(Y&Izu3q`evod*xU6120@Sgj>cyGy=3?B!M<;cyfcGScA}XJtI( z|JhCX*s#&lA9~E8#uF~o2*ARI%kzCnO@@KC{s#@e(R5-)BkpRpdMM+9#XsXPsd(Vv z*d79dL3v@*)EJfKYib&-Eu4xYk47f8V!=DtRMG^-vPY31%F=kR;uDmVLDM6+hL>i# z3NP|$U5j??0p~PE&T1nBrMz<1`kEW3q*6kd09`V|k}Qq0g_h?vtvL4xF7?t(HGqYh zp~&onfA5g;;6cS#H5H5o(m)C+DX67#wyFf?O484TX1gTSI&fM5?JAd38wTdp4P=FOnv7iK_-0F`FeyPkB9Bz z)@GXK8G_n4+o4Yk)V-m9V*0bF#UK5*%1W?WhOguUV0krhW5W-_S6^U&q7U&3Kfvnt zN2_6F@ux?rq=}|_eb`{7`OM}*Btq<(BT$a!aJj)m8SraXIf^j#2rWzi0e?Hco}fJo z`ACv3254$RmfbCv`@XG@R5l?lan)R0EecWI<{&|FELA~qf~a5^&jYIon_aDp*aWv2 zA(xVP0P&gs)mB&EpRlsB;zgS?a%ERTgWY!5un(f!|K~;q7={Y-&ObUSGY$Xa0t{f_ z_)_?CoI#E7=@|M@>ya!2c8N6!0FEaeB*Gz#-#du^LO7+-vUvR+O_+cevhIFLB zeW%&H*c`M?RWlvmwQa}q6a`e9U|Gt;SQ`3*zP3X742xbEAfY1hdrL10)zB10)pd>o z?%$4Y*xw;6{3e62a~FwMP$B~>L{|>6LPqaf`hr%1_tZdfc=eHE6hnp*_fd>=iykY%cby7u^j%PU7A4Dk4`2@l~3$3rBHt=iSJ)?gBP%+-6&RSERQ> zjmcN^+4+Fn|7t%S8I<$InTUEOx__>GONK%lWr+I$nO6{j+LU@uQ zh!{L91${yJNGS4UBL=N(Ap9*WaNJf;b$c>fa8m`YOy*o1sd`?;;9S?bN3|RAxOVd| zTkIq#oZzV(CtK9wvVsO&^6wIXlUNlh`{R1_MHT>~q{DL3~Iv;SUwzX3$;z`!G z?1p}*-o6uENqPZwKTmaHW>%}m$fEauyJNhM%&NaXgs$xE1+?M3u=K0*e|VK>wT^-g ze925mwtgv}L=2lNd}5k&-i{SKzBJL-q|&#HXl|rQzO!7B^#Yo8-e6|3nwBon7x})` z)ukD!rcI8HmD@K$^bVTmnt_{ee6^Z2B}VV2XYnb>CdAPfl~fqo9DLWh!W`zD^#Zor z?zC}MeMxe5wtrCWmb^+a3|H5MW>eNp+dd7-yxO(1(B)Z4%2^d+bWU2BYfI0F#w!gK zB~pJYtJ3KZcWmeuZO@Vg;YOLJn!jrP$dQ6enjwhH1?_Srxssb(C<7hFfn)AH)Z;?_ zxYMK)5>GL$L->^y9zat)`)|Fy*($usGVl!F&xHxQX5>1%lfd`Rpw^}Cz;2?v- z;|Sb0A2_oPR4#AXyx(s2$I3LoAyPXgK^I^IZ6_y^rBq&OFZ-~!sP(nBTClpbjp{fQ zrFa78osZGTWD(aGP28SRir>tFBqwm&yy8g?hpXPkM{ZWw7pZ7dR3P;efsiv+ zN+PMUmrGe`R*I=zxq!D#Wg5+{{o|jNSh{Tn98N)SCaTx3%rPRX)`nj)43vS@B)5@{ z@zvOohO@osW!lv={?m#Hewo8&=2#uRK!gY9E7Yjli2_A!W?>={@N{ls^2wgaTQDHN zE(1%wmu~DLpF#>S20OYC2z$Fm4@R$_69pYBTZhXtzl%dUlusvgaMn0N=3EfhEwNcg zptQC33cZ>=OPMP}SEh)gXx!Q#jq|;x{LzFe9Xxkix`>uhs#$5=mgv6$eS5Cdsg0W& za;!kBb8z)gB`Ds~v)AN}TUeRT`*|(FY4JSe!S$sdEwPC_1wK>GO=v{IbH-I<;#HMK z!YeO~TuV@-Z0g_#(f6+Jr=#}v#QC(Ofs@3_S~vWO0>`M-T4f1ydQMxaRf0m*vt}N! z?W07sLRJ(xL>YBX{iP}-X#um8rHcwkF=fn6%pjMw+Gt6&H9(yd^Sk-6^kRegW;i-f z@+(JPOIl0~vW0bF-U7-i!=CfY@j4y6tSEe>0H!Dnu1X)9@TMd8r;kAivd(YSCc3kJTh64U_ymNp8hOG?VK6t_nsa54RCW}NCG z)|5^|=JYHR*;;I^f6cZwBQLtNlsq%&4%B$iY-d;_VPYOUX@tWIqmdB?kikJOR(lTp z`TUoMFU&80VXmPwa(`oz8Ce-4luAn7x_U+sD><=f1U?#OjR|gFvPmcyXYXI?%SWv1 z5gWhRiVzXI5d$i*Jt|s2mP;<&eR?suTknuXmc7XXC#|esW_)g4Dgf4n0w8GSDDyzd z77f!riK+EgEv(oZTmNg(a+IfiYKorj?R~(A|^fzxrPH?W9p*6KkD_ zu)S~3f7wrG2%<@R=v7C9y|5$b5c6zRt;*}gy4ai(k5ASglsdb^H;nW1sGw=4;}i*_ zA_v}a+~3c}sLdZYH=VthR_R=km035MZl9HL_T~Fo`5`%i=jqri&M`!@36W5y zarOw4Ya|&1j#`fvGi~cym04#}a-=V=$S8UwzQGbwQl8O_uQ+ywqiwnL@9xyT?&!}j zS*%%}?#*-W-(Kk31qYdL6n%-V2FNhLLq&udm!o%wq@0mu+wW6=gsi{3du=&bYUgQD z%_AZ}1y|%i>er?m5DoB!FBdSQre1zO{k1Jiumn|LO*QFc9<;i4V|?+BnuWwUQ^ditjfN@NO+?O_DprV4-aRQg1YJ1sx2pkJZwv zth6l8XdAkfohSSOiSIgmVJZpy5(pNmni-^N5{lEkI!6aQyqDX^=1tjEz#D3CP7#jn zhUXEA!-->(Dwc@zCDRJk7PZw}kS{ob7BRNWL&exq>|M@Y0Lg}7u~=_-MfaCMt~>aL zSFVR&a4kVatTBL)0cCt>DaN86AX$*J=Qm627izbTq6w+0nxd$t8|9mxU^EY>309|j zP8if2&Wg|D2e zd`{grVA621YWyYn(V#hXs&0lAdjdx2_VsnHvitPcM^F)+4F=CUS)!YCu!nPotT8yj zA%sPDBcJFJRo?DXt#p0{e|kl56F%EBdeP&4BlHbX*ILUo#VX;x=uc6hP}XZS6S{xO z*K2y^Z=hgL@OKkRju^grqRNlo9d+)vn7@)yK0XG}X$kqtjP*%&t|8z&INSPU;Dn&7;Y-W^SoKcBt%r-uHjJsnNwVk#`3N;H_#% zr{!0}_?nM=!FZd}cO~SdZ2!HVeXyTdwmaLDEA`yl!;XX@0QSZF<%loZu`=amN@Z=J zd~lUEYS26BM*E%zNl32mozJreD?j>P_weae(wE~W#}+b4Z%MfA zI4>V5*zg-;Eef33HZ1y-%(5aF^j<>dLhz*Q$=c*6^WfAA=h>mAE-bJI58>mnQJ0TN zPVCG+x0vW-xZ22F3!C$^i4(rZ_O3MswZir1i#{7Kf=%h48n7KX^M|$c`B8dxSwOKY zp}fn33qNVNjWS#Zgl-j^lQkI;X}b)2!K-cEvN@SIXs;ZF^B-v_j#7>IGZ)_lv&Z`8 zLICFOU?i^U=DfS9XH`@MbUWH$&@>^QxfL5DBr>|RA_4og$7gRawZ4*L#>~Wn6qF?-g?@Ps4LErQ(5l$x7J$gr@ih|>!F5vqijVn8xk)}tfCVWTUDUfaBwxhPj z^n+t%wah-785u&CU*l6#4TY23xk5v8>r;19Q{TS)St;|qZXvq`R+tfqi&}QUNxBqs zw;8b9s-Lfg0kWC3c%_!$ZHIpSKDU^mEtIt@MB0>{P3yKA#3&jKh`t%pY@esURKrn`_=+;LROnb1 z$a11;AQRfAKM*c@bvBiq6l}E-==#6cC#DC=RTbBUQ;A-~Q}0!n+q(>WrdrZ~!R@*X z{QiO(HR{>SP89BX#_)rF?NHS``}~#&=9_E#Zr=(7;@Avna-X;nc58yMy&NkcarPlFK>ZAU$9^yT?lT2 z&6lB&-ZEsy^f1eHY_#A}xW!_pQ!2SLcca6y?EzdBMf-D2gMpZOjE*aiDG{5w6tgTO zN^0Dei|IO!vCL{PiFKRwGs+akrW{qP?U75Yt{aA?A%Blca#n zaQYiVl!;mg^J6AduPK8pKp9Si#PCO+Is+1p11cyrg69>1uat)d#Xx-c5^#r?Ir|1M zBNP#hbD)0Olv-V1UR{0)^;=R^chokstYOo zI`muI^Ptq$#@71Q#@6cc!b?NX47vjgRhs2zlaY`pwke7VO) zti~;pM-u6FQ@?V;h|&Nv^A*^qdW=)xE+ivzk3$Z5+4a*dWvQ7OoaeTAlF_y09HqQ; zrh?=XeSqABzzMNw0I)PLCxL>g7IjWAonO)hDM{X+dMpN_yF%rZC7QG0lq{R|Ws=n4 ztNrP;!_!oMqB6w(eK>#(xDmHotpahygcS3(er6ADrlQ~fvl z3wLnS#FlX$KLeEvtjH0gT^?3T>Uzt3F)}hS!8$yc$}8T!b>bb@VE4mAl_Ve#qt62# z4Ui^Fs^hw+`6LkR6E$nMx*L9hF!n4b}txa=uj#TaZ;-wM1 z*(+dYcrhqXg*cIlNM%@^DeO?2GIGbQSh*LOjtSR})s#)*Ni`MPIL4}Q%f3z{2n$4# zOl{2_QRjmKq2^YrKB(1P)36lN1|hP+y6$S32RUv$Oj+F3KsdsbT8wO)20xZ?m=Q1c z#qDFLPuqb{8E8-)kly);5)iT;=%J4ux}BU+n9r+)1AsgZsD{&sg0kau*a(Y7`O)DyRYZnn*X%Y}!5ge(g<4id zLfZ(!Tii4iO|1ReB3?$`A`;AAMrC2LEMc@&;^VKEphHaG&8n>&)Y1lG;EJ6W8irC) z24r`cT3RBiIjMpmByTn!CNF&?qsH?|T@|IPvOjq~J(M>S6m|at@kjz2KiiFUtN~Cz zvu8_-Mk|3~^?_ME05-mp)L0IW$08Cq^411Q^~hVD$@ULFX0d4#qO5<4>CuL!C7(gv zSV_Cg+Qb+A#o!;_;7707(icvPM;3V)&|>X?DpH@9rQYRckc$&BuzbEICKOOJ!pM76 zq!=V@xnSMY(h}eKd^yX8Yl0deekaQZ#&6(Jqr(-rsCUv_3O2l9bUiGzOS?yraQ)bMH>}-;*D7vW&hp2 zoq7Pj&kIg5O_4fGavScfi{lC@Dj|OI;(Ilu#x|m_PP|yQDvnCqR0y^uZZ)PCvp02H zx&QVS&F!LonS?$BaJklMZ%g<8x1T=o;|;B(0`xMcPFXh+N26lbk%dzKJ zwb9#4iqgRVCDRG6Ll4y` zQTgnOH?_Va#>UY;yWpbtWr@-Qwq583#Ob>F;3FO16lro5`|Ohb-T%p4)nT9}bSh_m z5;*j8dKoZ^I0X{V0)NoYG;SK8|H6SNL1Q60oyKIcD>H{C)=hD%pJK#P*1A#K6g^ zNy+W48WBOong_-4l|-M2he5CygUNNr60vufAovjc!gB_)(h7hOFssoYu7Pw}QY7S? zhmLb&%jKcFCMGnMlb^)+jif7rV6pJLEY4LS7A{5ruU2>)WuZk~LO1Rta{K1X`?LLb zzNdPr_PnMvtJQ$jIJ06<@J5t6Fivo~g4RYi+y?s`3zGhN`3oGTLM;~W@ORB>8H2xf z^K)tz^EceHu%)+^!~q9BWa}zncLvFRK@Q*3i>|rdk%-r8NcG@tMyp2^hNxZ^Z@+)T z+j)JJ5YZBYS&dvFneS*eYqb)4oqj|j5$8dvRDj^}E|?JDg>cwFf9I9%7U@mw80fW) z$SdM39dfjUgg>!z)nMJ2je}x6nj|G>#Ilmx_fs@a2sd%K#>aF6??J0T5cyi}IHSn3 zpF#o(l_wGjbcAtZhkAU>pWNs%XcZJl2JsZ1D?BL_Hl>rsU=st}#eL{$RJGjbaUvfx zr*Rpys;cH66?Aeq-jbDW2Y>l~3OQ8IN%VWUSRW@3S_M^6KMEU+uj{PV7X2 zkVK&n;4l)8RXTtDh_P)ft8g*f+y5r94vN*RZnt2k0v%TO;`TdhHKFlUJ?rfq6(r^h zl%*n(=!`HcWR=c>$B9v8)g^g0nMh?WLMnaithjg7NDL#(Vy)Iye&|)RN@vMk@adD= z#jFyJFPYO%XxDjloxRVH(~L!QnFDfFs<-FpaIaAKsLp!&pwpSYfqHI}krh;@JaX+8 z>ngwCJx9CE&E`nSb5TH>@P+R=+D&4LmrIz70a|Fh05$<^(4f!J({z-M93|vyO2@D; zoyqDLCp}ruQdp%_EaXyg->sAytQo@t@HG&~VhHB=Iz6OVfEYeD0xv{Pkk~Sb;h7=N zvf{~o-X(t1w9HC@5AO7E^dm1x z)Xj@u*m;6RnAe_x+QB-0JdA@qZ~pj^8D?>L*o^LA8xF5yBK9g2!LP*I+SLT);tNc$ zzYv-y?!G;<`Ua71aAUvKk?`crFc&nWTp56F5HozqvDVM%e3L32tb>shj3 zuHL|MrDG?b6Oq?2Duodm2SLpO03t&$5w$TbAtCre_$q$%RJtNos8ZKdC7!7VQ3Q?^ zL`gAh-YrA@?@ZxyNX@Dh3POR!|fxlJ^S5|2O66SKj z;a+bF(FPcWA_eJ!^s2;EXxA-W)pX(c5RJyFqY6r^999ko8K)~xLn}H*(yP;e`wIcV zFi8Bpd&)hs`?pFdh|(v0sq(AA|9PB(o*25*03NMg8AH^B1}Ug~cI&{$jL8D)L?jp& zw!RP|aL7)qHA@F~yGQZ3D%Ig%01Tu!rc{>ln^HoV@%r*oj(amViVvA?uy?tRk0_K? z$`G2WXEMvM_WS~Y?fpnmZ4#Bp1kx>jQAT473?h566QLPRxX)JTleiFwTLv8N0b2dh zG|?%KK0$BNDY_?3F!C14Iswm8_n@evif37#sZRipV_+CBx@&W#U23adM-ycv{4_NR z(|WG0u^amSczx(mI0lc$AtEn|=^5lXo%?@jTo~J)`eU7?yOxI#w?AF}d&cVc){LAU znZNUV8NX^bw+baPPOg&)W0z6@p^yH*eCVFp)$g4L)Vsd_|7WzG2L%~9LNQAJ0PfE( zHppT{(b-I`}=!2Rp25x@nECRPZiwuPg*$bRc?0bB_-YPH_G5( zMim}@EJD-qTioPD06BQ%i%LbOzraqje_;u@^Z()23y*5y5ZrT+#R9h?#cP_ zZ?sx@W_EgWEi+^b5V_QfN2F$2)YqNO8zg%D;E7j+2-i=zDIAMaa~Bk$gk%qG(L+)4 zwai_5MWIc@7MiuR-aL7yWU*_r+V;=mQfh)CijZL8@b;9x=yFUELYUC7@VkD(7uDw3 zy0)6Up90c}KDS-}qw6c_=$8$&XzH7HE&}OfdJTluZoT}&xNTZ%JE6#CyqUv2S##>< z6{&M?BMj}Oi)dWrPJs)3YvEWk+x9!)T<_)6319B_ai3whw$MN1dPv?C((TOXatD8( zlpH!fxX+uLN_^Zaj1PyimHh0wwi>nmEc)TVB_BL7-77MA7H-D4?0@ zyF=Sz$nb~=)WFI;_XOQ9@gr*ckz@VOZ_HDGL62WPa#6>wbT9V(&U9uKc*$Wj^-V!r zNdqH}-(#%AK5`qy4P$MChW)BZQeW$P8EWebR(DgYwX1YkYp>^q&*Clce@Go+&xmU_ z7+8$kw`ankWZ=Sm*5Zs0a=580VVLF3tgBu+2y+& zZbNgmNbs*kZaRzowXHr7mD?HsdjY56*eLHh_4uZaeT9pkoym$8yaUm@Lct%=b#r2% z)gZ$29Y6W*Pfwthi3_7**O)Fdr1)25Umz7fS6OogFUyM2YmcsCnR5N)o?sm(6P+Q^ zNEW*Z7nMcU(^%ngmv_e|L?gp+z9^BNqC`!paG9z{g#6WGmYH#?dA!=3>0QG;IIt*n z&gAxun*`68zxU$w5i7MvnlQEHHo0=dINj1TJCAjdYc@|GVR4Jg1AskLr9CB8w|I6IWnW{AJ_p;CK0O`Jo2Z0Ow zE(T!#zA_9>?OlHv@S0wRWhp=5{SyNZx~b=rHy^sKZ_$A^^iFngw&|&Z!xlDM(>R)= zW05A{N&&-INTc~e<5ohOkJs6)cQQ;pv)sQpFmPhJv~GJUiP#{ViJr|V z*YC$3a%XmDih*O_-T9pV>6NHaajTNwxLC^X-Q))9cGc^n5}|x!Dt{LEL;w0HK6d_e zo-Z==@qF*06BKaeK56c>=y*aRpElCLH@vs$g%MpDC)qDg{^-?O&&An#Nd$G#ALH#%nX= zKn;U4^KQn2Pm~`Z8FmOYfv>hbSdc)`GH;=EOWIlOK2V{%fUf*VMMD-KZ_byl(8%iuYM+?aNPEz5Jm3PQrYgM^hb63|eitOq= zOIqc$KSux#11_$>7s}v2?2qq(zW06fm`%FeL`G2XAbb&2H({-qo?z;yX}jzLkOoCK zCZDz!cHnhsMb8(^9;(rEPFF}Hl!pf#3Ji?JQLl%o;cd(FAbP2g(L*#r$rMbX%4U^n ze(jdJ*m)ZV1|^7T3<8s<4ttc;kJ4IHm5G8QwkID6V>4~*w>zW8ygDXXpMb&8=_fI_ zo#OhV=dBDnlkKHNU>7=khlYSXdV77uN)%w}S}}S=00k?UD)5tX3gM%%LQxWQMDd0% zG(plm66)moIy4z2f^Bfv^nwp993^wEcqaJv(4`tZg;Mpnivp&Ec~r~;P>6qgmy>Qd zy_x`~2dHNkt^)dj_4>vZ)p#_Bm=c|09iP6xRLafF3k05bK~d>(-xq+FIg06OU77mM zQN^0vGPj%#+hYX4P~s1$0-y2b2bi4nebPLdDfl5;`s!xY0!CM>1kkY4%qe<$PX%rl zCS$GpH7*|U76G(Fy9u6-UQ3kTT+VOAuV(v-v0r%u?h~NMlI9bHr5}_e_K>&<-b7$id4eUdiCe1RVkY}@Ie)Ms| zu;(y<6*b~ldBS1aQqWtr9Zxg>8zlH^H`Vkw%~7;RIT42B%(UE@hqA3Iwn_*2vOSyWd#>mm85Tvei% zNFFX=Z*GwX4fUuRzJ4X7KCTxe6Bvz&-jrJvMkUPZscq97j>}l`Io1mGhtPQx4z2 zPD>MDGlF^U=8{l7I@q|SY#v*fJ?RxJmk&pHNoBx;58ZRa=!>1rWMNue7RXyKxqqBhpNRvdtrOmpU6$0~kZI>zs+BN=?H{^}clV)TUqz)F{CdpfD zH20)qFz?w-=!XIjvYuR-82<__2)?{Zx7>ka|}^U<;to!d0lW(S?%g_RUg7&d#L!5QyuCWF2k0AYf);wNbhB? z5=~n^X&;K4r9jnut}%VpMJqz~7r&+}cQBc5;+T(Qod|4R=wmiof&0LP6^#Dq|0UO5 zb(Jm{XD1}*w*wsLSj`at-BfK5pcAWt|G;*HiS5$OVqF)Hj>%~iX6@E>ImFoot+;1CD@fbT6{R{*^ICv(&y*hv{K;RTmIEA{8UZxenW_&8%o!f8IMVn zRaKTtRe&U1BF;r!hiFi&G4B3+HVw7dv6yfI10n$8iZ@WOKJrWDmSse1W+Cs3OgB_@ zR3dyqV!uDnFnMiwx)x;MQoVVLMSRLYK?EO6a}^_CV7g!PIm3v%yCyJAZlAeOXxzF7 z`|6BMnP}^z(SDAkxl82C93XmU3=3WJ{w=8;fWgTuA)<=?t%*wwARyK8 zF0^>gkU}TsN{%5-RNz_hU}_$yWK-H<-qQr}yVK?v)ZWkM)sjCWU7K3WxJ=a8G|Nxo z*tyq0Rh@{gCvgz=2v}x8fD<6%s>-7pxD=(Sr4p2dCWos^!>4-*7d#aUt%Pg>h(mw0 zK%z4mW9pc*hWi94kH#k_SQV&IQWb{N6XEt{Gmw}EG(9H9jqxAR)pQko@Q&3cQu^gf z-a%U~PZjEUvQcehSBtr+7+SwJY&{J(U5;g*2mcR+oJX|g@ZSJT%4bT&#A<#i5($ls zg)UyYEb&x}4T2@+?Ah?KiKI076Wkesh+tXx8~CKjQI;airGuG_kJ!H{tR;w%nxo)N z!ye0tnfQn)`H1q*uqkev3WK~_(F{?_GV6Sv2NP4p%t}gyQYsqAb@w_O+_OyEeI8tz zQ2%g7t^NkUbfKkEsS5S=H#PO|7?7$?iI##q6Z&O-%M35+SHt3BCZ?A{N*m&6g(QH=P}zj8ay->TG!AoZl>$cz5{bR}SRL<~nVF5HA-}GU zT@z}WFwy9@TJ`*-QsExi zzPcnQj~%A#AF%uqIUJ6sLExtov^7oI;j%MBk_-cMSmO@FLEM879+anod#s@em->e_ zsl9Fb!k*(Z1QoO{q4k!+ckyMhM0ZtSu`T3R;sISUDPc=MYT9HV+;*Qeba~gO7V;atO!#~8XhsU+-99%T&<3a z{7YE~Z8IT4%78iVokS3iTQX#3IJ|(gHyLJ$MjEgpXt(JkAV$fNnc>g^QeKlUc^M6; z0J#l+1sBt(@IF3;=W;7THM>dT4r)2EHbwlIuNC?xks(<4i8VPnLUh5JqyHb>euW8^ z5QJ^60%g8dW;98mg5?LvnxJ5ruazZDQn+BbLfFI#*r;O)t)z`~=-jRy3QW}#0!35`D^Ycp6MaZJ)edk<53c=ROUhYJyNb}2623?v79XTSTC{S*z{VOc3ioamzDRlTT z^|;|z_(RGlnDJ*1&i!qvX&b>KoHxY;i-Dm(GYEKSL7NGJ-NYq5>&U@EU&z!+n#!ZX z9=@cn-)?x8fGIPVE7r&aKBxl)sRp2&6Vc3t)Al2ev7SKhR8&LP@c`^$6(idR&AO^( z3%V`|;$E4{-6q0NjQc+j=NHvbkhuI?MV}*2z@F*&r=w8xnUhUQL z$j++VI#iWATSpd^2$2PNt|G4avWDI+Pm`rnb{WTUe6KdBX%aCnw+JT`(&NMh(ko(c zlxSM0yKv=;V%vtuJxp6F0kTYL_|2Mt6GZ?FlS2hu5NI>)po?iEZAeBSjK6)>&ZJ%{#X+OyOSEu}(p+5vA>dKA zX!y0P>#{`)9)M{}JEeB!bMYX2JElwMTKWK8LT?EIt$Kg%I2Kb^0=KtGR#1W8CkAJq zvsCx@;r^6EgyP44zq?<|VR5d#?poAP`T4HmCUAJ)P1@&}>xZc3Hg5ZApNA5Lqo>wo zf$kIAW;a!IGjD1kjG&*~Dp6~$ul6dc$6X`MpzcqBc~0^LYDlR|ES6^#(l)6|2n?~e zpY}P*&t0Bo5cj7*X_EPZcjp6n(jcDoc&O8teg?r_^sDb&eoU-*q%nlPzoI(UHd2^= zv+f+Y$$-{%(uh8$Q-73_$unF$W&-}j^70F%i!#C0!H=A}-V--K+yWD|w@#c`LX0Tt!z%9X&xEg>J z6tanNGMbSf31325@hWi@@(scE6aB8A3rcsWxwS#C1;V~3f`^2(fOR_0AiMJ{#Mo^G zEWj^xce0&W7J{a_!yq()#w1ZSCq_(EB7%d0=3vYqWZXru$Z7Zk+xD5yf%0p|J_9V9 zham6!s3?LV6w<+tgu4OJ91j<8?CoTZ-TiBG`;>Ao@{n6`&{4p4I}IABVSyTIDPyp&5=2F4$~AdoPm+McOjC4m zcfBQo?qrWZ4CNo{>m69FVmwq|QUyPo;?ryX6yq=Dl2?VYlatIM)qLN2@rDHTPnP1k7C$v7;qQ-)M_ z418x=yBCa2wh8aKPwWYB|Lx&Bl@O@aEHq~;f{BSflVPcssvP+FFab{p7x_bQ3&}-& z1oi{G*Gz!Dn@LH&^6Pe$111PCL4FQobI0vC zY|zZ9Cd(`?s-3;{&7p~OcZfMg;~p<=vYxrcZA=0>BS0PsuZ7@eu{wxtzkxVSXFD?? zQb5{Bn1Ct;lQl?0CL!PUK!bu1wpXh1$4>AkI#{<0fIJO-bLIZE zym(5Mo@-0oViK3V1=F(KHF>!*?%X`$Rm=J(7TDUmr|Cgo_C>fY$2QYQ$u?O+>VqD`G8-J7%a- z7G#*4!0~8QlBSV^nI>O!RB{Uj3T}nfcs=IkzqAaJfH1D;hftIu9zlzLJ$=S){3XTH z0I)HI|EMK(o^kNpA9ukBf(qSL1HE0nV%$l~_g;C^^rzSV;ME^>YRy=oMDf6DtSgm1 z8kwe%5hM+g!wIrzNh@?wl7WjVzh>Uc`5i0@1yDX^ZYK35QEhv@a)>mpUA}wB18_eI zZ&GXPyD=T8rL{dtm+l#urkqb$rmkC3CeoC4aV1l!rTsg}WSY{!tz~+vBfBOL#lVmO zIVEx$AS2>{4grK#fi;156MJIRpY7iW5k*n%@Sg3hggp@6#4UvI;)Fg9c=2y|R?9p6 z9glt1B}Ze#rG2!{I%@qYy@x)gj@$_&?5mswP;|PnVsRozWwZPFGR8sxJmC9b(T#4! zq8UZ-aiDs_+}6Ozor4D21J}JG-0{U)Snd47*@nX^c`4~l90;fhv~gql{t--=)LEkE z&Fa6sSpYc%{kh1f=^9UeHQ8HPy^eei9mXQ6bqyJ+6F5Gj`G`r2vvrXdbbTM0GUibg z84v>{T>v?N!Js@M7O?+Yo4r_tf&GP(Ux5AaUbR~O{>&gHYpvcl_UN?cH+w{7f(%dB zW8#zq{X#Ga3fS#YyFKJ4QG}m+US!4Ny=r5TvH zX?SWon?%PE)yfO)0~Cts;!8qd6)q%=&**mwp z7q`ZDq*I5S>L*wI12r{r@TbTx?T(p0W#9JT<)Uy(ym>mX>MgdX9zlEG6=?qUyGn zSzEQw-oe_vzrRn%vuZ9y0rTa_A_xyD&1MlVsW=l#N*`k<(TnNr!7vg&qCL9YZJFN_X(bY z^1a9o*dD{g;4gR&{4n$X^Su7>mfic0$F-x(SvqG0+wWU%?_)8?rip8#t3i91H>%{x zB&U_KiQ`_ka|j{iUfZ+7TGvx~EkoNk%MTW~t8#aJb$PPQ_aS_3g7-diEd|2Xpuwwa zD@tDg;WJw;PdX~#U+HNF&n*@&9eL&l*p&$=|+u7Gt!Ng4& zeK7NUz?A(a{N`B&T)IiB!msg4M0&9Qvf?cuB|nD$qD2NPXgys)x6@AA-geGzf!>T| z)#q>bCci=NDOyth)goc?OVZL>8*Z60q!KXIXT1OJ+>bT?3qEXPlC0FLEg3)Z_SKpZ z!Xo9aA6Z7XPIRr0_b>n4Fw@ex;#^6?;4>$%%lE9%YlH?GKTU0TOVQTU8)VGt_PKZY z6(zbHR>*LXG4^I|Z-;Q~m1RkA(IXs47-)ZzK=ygy|J90R(nhwUl?RCup(6%#)R#bM ze`TUPZDR!UJL=(K)H8aAIYi{Kohb0}@;3R=%JkP2GCpjnCKgaa29M2>ubGHEh2~(8 z@saHf()hdQT!QgxO7aev;VOnUEy-FO?#h-WrdybaCa7?GL;xU=?L~{aju8b4R+E=j z88QBj7g^V;5WNvNKrUDn>r$63gpgAj!j^0cURL-E-mKd@6nx5O*_8)>&)!^!_?}tS z7xjdWv#HPp^-=WETBSVmMTY$j4PmTH|6L(G-R6&!{(L(4zI6Kk64`qJXg_iBc`6Do zqAC1OXc#BZa?8PD|9g1!-}u!No_v0woqOpV=gJA5|3CI!)Z11}#+rXQmrvb#uzLIA zrQZV#EZEPSMoqm!;d{25r*MYSCeUpCtq_977A}pDtR!^owP;5tcDjv0XI9|@ZChs< zMuh%A7bs6Ksl)1+6p>7XP$$PtUvO5I8DD|sO5E$c!RR{S87&6GK&{=_nin{l=Lf!} zJ@f$Q6P!q(yeKzlq8PynTM*6qCBBa)N|(qnF1<-!mLtHJ5pnZ%6I=sgp!%H&6Rlmw zLk?XC!V=+nV&>!9aEjgAKozOq5)K(mxQP5;$X6mE8wCb(@P%F>#pFl4a?0>7$C(4& z-3;WF{sj9Z)sJ&94|Et*1S6K!)F|u40QTG7_Lbt0s_uj2Pq4tS>KTz04v?ShN!0dZ{Is=-W3IAiKDrQo6N47_I7B(DwxBo>tWT|{^-g5D$1=U;djR&U zYiZ1Tg1u@WP%F$A7Wbr+i3jnDY11gjSb%|_!+A{1; zD3_<{z2$oVl~>(TTH7aGe2PzMm1Ekv?19FGoh3$k)L_9$ZPLIFISel2@^CO9Yql)jc0g4<5_`?CkHN1TgGG3Vx_`x!ezDzJo=Q|^F(}? z^ZP9i;d?(1++Y{8m-AEX>A{Rz)oRuxnd3!O!VwyVb$j-jpfVPPn`jTu5QTS~^dcTTH@((Tr7 zt|`tQRUD;1>_jgPFbj-NT-DOj9H4!xc_qm`o8jo!w*&pLF=XvzasGO;3yV|r#KDn6 zjn^9CAbOvbr`p@iAi)+X+)Xf%%CjkBY4-p*3L#a6wPHZmX_kXfD=84NSxb+4bC*BZ zEXD1j4R5T+4MmY!y1ltlpe@r@M4A*ZOOXO+OkI(-0g6XVD#2pGFffh*qa>}El8)r8 zt;mCnAcMDjZ|GFIj&{^z3OEebf{`cjZTO-!5hMzb1K-W>dX+*hK!X zeV%*N)9~tv{aaqf$;}-#DwU+8Rih(w;~xx zAxgowO2Cb5J=|MRpuHQGto8eK*=xBaw{w2a6-DvPxu%xID_dR%{j~QaO=sY^ZfGp@ zl`mLyc5*Hji=v>nkWbQd06z2R^(V{w3TAvHlLrt`V*Sx$^Roo?w)IJxj&JC45=kwx znN8o_xH3Ee{WSa}*9ka@Bq^kQ!RDR1LYwnZ&`;M-(saleqMfpC(JzU(Q@yl-sZ^d_ zE|Wv;v$-4LI)nHlR=drq=R{w5aiPF2JG9T@ZiMRq>V!ozBt7MgZ6;!MpP#duWGfIbAt6C- zx<#Y?;QH8aI(T&pF6Bv*A8h>5cYBk@Xw)ulT@}`U$zim0a$BdrSGC-$!jn2+fqZx@ z>`7V`jS-hN zgkb4)OdoSGurVtVRDbxYB88T&POXAKsi910w;FUtxb-~UdUeZ`<>$tELz3iCa@tb< zkzfagV$vBpSJJGO%k}=CYByfoF07~Tw*h^$`S9g<9Cx>_`}Cw+cNg%*V*P!-4LH}X z(4r_@n^?0FFHVDw`+Bd2bF+nw!v1~1oDb{i<81(N7Y!)TeDJcGzzs!Uo%%q# zDuCRKvy&*idPIaWAK)4NES!VTA#cyn{)7FpUax z!-2Wo;O+7nO*TggA3`U<%=^%p=7HYUsaHS8)xv89s-ifHi>S(#tl)dRenuX)wdpLI5PKE4#5yfbdFUgCO+%y#EX+V6mw3 zMjLK3J?(k5ZcS-{2AJW6?@UhCb!*q$)%|R;gx)3 zasIBw*-69i13c5DiNQa8f!1p&(9@XLtLyH;@Ag~Memmqz4VgfcJ@Ku zom)Cd5aME+L+Z=k;=+fm@BSkYego~?CUT<_bn}K-4be6zIJ2Y zl5s}?c`50*2yM}_31ud@TenJ7GSfYfF2Ck%nkB{`IK=O36#CQx4k-@j4qpTEVVF~x za&tLrlPOXl0*eU2{z7n$1lit+{J@-qFYuAIdOJGh(ZphNy79cxTu=Z2quq+*O72WQ_7&Z= zn`T+!p9Ui$HU+L3k37K-8aebJXC$T%MM0m*gphawEnGL zZ(pa=>vqef>2^CW#Zr{nrU>k_*13cb#c`lkNtH70DC09bmidaBTih7bgj`#!s-;(L zTipRabt#pSgWac0x^xzF-7rj448y7{m|9UGdvgA<^-o!P|Jq+J1fF9VstQ@fbb`!E zp;)d}CnuXW;QNs^w+c1u%Qai4e$PqRZFM_RYfr+6PPh32d8RMP)%0&Mn{8{+h*g$hGg$3SQ@<8D<)V?ckCpwTx$7D2bH6ma<7H-O(Wzymd+NSW z$ax2hmJaf0P1nM{QC+tqrm5Loa2@sRbwGFLW0{?);2RT6jV7O2mxE^19Y)PNW%n^4WD!CTsw z3i>wIR!_fG>QOYjgp-;1z2qlX_TbNvU?kuWK}oz5!=y6ZB?kG<_nf)|Xy~zqTDB_g zKjm4NM;>E8uNwht2-s=c+Kafa}G#||tf zAcf<Cu0&`l0P1Mp6`KL&UniaD1tVOe9=W&qEp6W;l#flVQ$tb%bD^5_-l* zVlF_jfJI5UR|FojGOxYAX|egJ21fjUwt#a$TMXNPB2t_a;eEcKeIOHaxK6#GW1s=F zBbRU;&1i%e!XSS-^=s&vM5P;G7yI7T=*m zpIvubD}3*2K;`VZh!$XE>GcYiWQJR4bQ7uLIV4us{+qAgsyd zf#9+Sqz7B@&$}L5M~@LVIY>d~%PrBV0gI4qJebg9?cy12?qU@uTPA5OBvA7E>n}O{ zAq);a{K?18B1pWoqefOm>Y>k&2dk0&t=)raRb*f`>4{g11c1L+9%*oVaTGbi0!Y*8 z;gJ_0T#eBw(WR|5RF}fR7glXwYu zM)!@4W8k4OR*oe@J45I+{o-F@duA)nbvapmA?~jJVOG(qx))Nu_7 zF=Kq+p(GGUP4(vI5xZ8Wzqu5&cBwQrOzFzYbL(0QyI3^wc}<5vKX(#vuOLdTojNyd z$Jlwtz2HPOW~!>1vr=@e*laD3#f3EHWW{2p0-S-SMjqDB=l@?Rsd*( zUbD)7qiVN`Ap;u(=T8}C(kX>49lh0=-P(Pnf_{Ho zhYMXD>9=`@>hj21uLdyfH7$==OkVnTU_POY2J;A>#dc*HVpL>vI;(mm?npl7sjS+| ztM2I>(VA54U(-C6;dj-++S#6tJQePg~1d{UUY5eqC@wHpCK4 zkbQB04YA#?S($7l)@B<5wx9+aA_%& z-pUWCy4~USHJK(Rr(105_#&ZlJjVzVYcvXxB7Sezhuyoe?yPGwyqbR^`=5OX6vN+T zvr@=MzS~!k+%POTac0L(6L}`%7jG53e0^$qa!0dRulv)we^~_|t2m(Ic(F;4J_Gq; zpR&Y`VA}a!d#NG8{7ODBx2Ef>6ths7-^gW9TQQ8q)WAZtKEf0az|Q(bOmP*gtr-P% zQWl7+65+MOW;)fCBMh?))ge-lH5^FN{*}xu(A&Fe`gG!`%gmS{v?`DrgL$}Mvqa!P z=PBKIC!-OZn8z60yF=4>A!BQsMehHGv8;~VD1{xL9<1A@E)|A?*~n7dqnuDKbA8wM zIFR-B=$OAlsXf*nxx2Xx&kVvDPlZ?1wNstlE4d*qHOoh5lkYX){j0!bngK`a59Z1V zL(j(kzxT*%j*`W|s&e&*b7Ns+TL+m$78mtaTg+EpO{R`OhkUr*GVuglX>JmcsJykj zs{`qQYQ))MZ63YvRWlr-XBi5Ra4>G`$niKlGzz1Y#?X+cWf>v2+Rv^nZ!$r@l~Gz| zb+Lr)E*iTX-R{&-WM`=_ANDJn=@{#H_(PfKNW8ecP3{)GAfGE`;XJ%;RrFkOAON;^ zh*XObbJRQGF3{E0Nr+>`s_`y1y&~a7`RblKhH!Df_oa-VmBw=z=8Jw@ufQFRbR}H( z^MhutmN&bNyaO*aszo1`^T5YLG%xv*ww=4Di4VaDPL*e>S3cCPZMag=dbIW>Jn4las=V-yYu5cz0bP%X4!J z%PK0$Yu!o{n630otvB1$fRiH9*okfHDDdr1j_1NT60k^^?>?tH=uxxB?hl3cKZH6$ z>EYQ{Z?$3WQcb*tQ$ecx9@weUlH>XgYF+|W9Dnn4k=4vbY7itx&c#!w9_=l{S4eJS zweIVB?)nSr`q($+7M%QK;zqO2X5X;^s#^rc8uZ~AtmO?KZ&MWs!go>>p$ZM+rNihC z0HU;iwhk*2g)xOy^kmH(w?02}v%Wi}`JlAO$GR(6LFH{`ia0OVZv z{k{xc<{{e55?tvBMhX610C|V+Drc|oD@v8%0e1CA;1y;ceg*JpFJOlEIeSQtg^?#& z$-OD-R0aFxU{@_SqG4myD?b?;?E3lg3v=cF=QIB`AEeJJ_1c*0G{)hI&!b1eRSJKB zu!PeR*VRpog@e@o=FvLEwR#17Iz#&Y``E_5q5!b>>LuVaJy*<3cJV`wv0pFHJ9R~G zul7$l;WF5DO6~pP0w^VHg}ZRfEfRpyD?52pt^$CnbVWyPqX++w`ADS7x>wra^!WG- z0S`-B7@C-Um1mjYl=x(wn|%-e9Ir9t`Klc!WbeH#;$Q;z$9hfspO&FDwq{#!ZmDd~ z7H#n8`|aRzj8-*uvAR=h_xttK&QgVCCazW|z8}YiB9TjEO8v@gjtxTmF*9(@ysoPS zJ-PU{Dwts5VkncJ<|VJ7N3oHM@^I&_bgm#bJGa8);cX4wfypJ66&{NIdwyyk?=!jO zg)G`FbbnW16WmG7#!#)?^^=|wx}CA_c8ZnBTDP{BbWB52O>sY)W|C5huirOk0*bybWt`KsGD#}{n?p?711kOOr6 zBy!Ha=Px{aU8_P>DtH;|6^bQkhOR0ri1{4H3oJvZa??FjcO5!;nBpf~Iz znoG5evGj-%>5pWUEhJKS*_?{iYwxObHC^8Y((a+jP;s{P-4Y zEXVOYhp-^CFZDf~u~27f+Sl(8Rm~-GCEx8In_h$v7)=H!!JQH)W>T|(T?R4d{_k&q zqIaauu&PCt@h3tT5RTr_Pt#hLeOBU*J@gV3I#`8ZYlEET)SJx?M>`qiA;dm zf)HdM1+^{{Zkkg-lb*Kq5_Ty`>8V(#GX#=ot+O)Y*wNVV_M{ zz0C;nA@%K>HC9(+wh;ARDCA6r0aTaYRFoc zV$`sQF{p}dIF&&R3e?YCQeUqtzi~`SN#4VIY5tr_M2?NzVhx_PW5A^j_2OlV>a(jm zeV2@ff1@G{F@kO^^@T1yX_qBrOt+jZE^T9r@Si)n0xR>s%bvN^^xm?N*7?Ha(1z0d z;>ppFgLL)0V5ilS(es%fo8X2&Rts8qY2}d{m)~~@(s<+S(_;R#)^U|)dhAMlD?One zmQE2+UXVffTupIx`~u0UFvyTXza*V(REuD@cMwlu=-0z*hUlfmt=ljZ!pt~ zWMd=N6la^D(StYs=QF|YZZjppP88R#rox&ptJH?3=0--+_W?{Y6}JxBKJaCzY>K{7>>7md*LM|kWod3(srEWo6$s+E%TUyH$zF?mry_51a2{(r;{ zR!H0-Q*Wec5OP8p_w@RJk<~h>8B!T%Pb^ukhfyGO&z=eXq9A-NMXK^h^BAAgjuyo= z%h-rgkAk<<8tJFhjkhX8hX(etRcP?}8vMK7gP4Scp8`0$rKldsEX9AWzXf43M1TDe z$)kja0Q6`j{(XVl1mYCVbBwhyR)&U2#O|LleR1r-miX2+ba?o*n_IDAnu@lw{w0Ij z!m(8;MZ?5>5TTfIN_Kjl6P+eygBW}VDqC_7Ke9!_Q<_;KIc6)xtMwN@9dPUIwDh#xrilPK!g!gw7Bgmd!0xiN>P%jgeJlZ# z;cWSsW&uUx9PPb!h+3A13<2t^Lj{S8g+jGl*+SsjL71!5bF0rbNtZxg`e`{|V66{% zY&#vqDGAa$jHfXEfZo}>qg|-gbX!GT>baZ9vNmJ(xdBfJ>M5N>aT-N#ZtteG&#{;u zs>EN`{UYM{lm)03B1NX@l&kY-j+*$&Y$S^Tf`euw+Qd;V1YTcI`y^ydM0_W zLd{pFUA$x=vKn8?CNT+|1_T-W3H3PPf@3-??0vZ<@km6Ra!alrNMunjpg7EJgjtES zC|JOzg_=hL4;QU?sR$odVZ7J2&ly#tf{oE)lc)g-HN0X$BvMY_BPE!O`GK4kalTLM ztGnOK8z>YJakE^es2ePw-VJP8DS*{8d1>N(`9mFFK~27Vd}OO{{|)Cf4!iC?Gl4Cg zmP3h5Y+(15!zvqBMhrag&H`L=SjZ+UETR}1u6Wa7i-|AGoH{0BEVPMdEK!|pQ-m>d z`MWNOstyO_kB@KEN{2dupbH@?f}U6BAzKAKz?j1@eqs{{!Ey$&9PL=rHktHa+yUNe z(U8$;b);;vuMzisU$4_@8raHkt1)mXzuSHs4kt6o7^Np2_aTw+(#Cjf%BRQ|J9E0M zbh&YqG<>7_7y+~rL}kNBjY@&v#%y@Ny=`nDH2G&T5vha9q5~IJ2O0L+1LG~4gjWY} z$FnXcvMTDaRkg$rsJ6CWZwHq0MX3b3EnBDp?mRLYo-U-8{VTUk1XqqtaElEAd+G;NJx6Fj}^aQv)F z$240lE@A6iEM2O~(b-l}2OT(D1!LnQlygF; zT0F+fB%lmfaGpE#Cl8j^0@lD>Pz4k?(3SYx$wkMi*Izhg{$|;sqadZ$f>BPh*qUew z0s(8fe<^pGoHZi%!Eo7ei$`Ayi6?!V4lg2LalkwD5{+<&t~1LkQg4%d)ce+-hoboX zS(x;x5x9eo#{jC6o8LUJ5dasrB%s^qS^5s_Gd_H|)A_?m6<8vH3$9h^X5KgcC1ILP z*&Zx#*7kMx`(9Vp9oFg6*|yyJO?|Y#Ah4}jSL+^icLV7;?@tqX`9k5Oa$;YCCsHYJ zr%v~cnd%yOqT5RdeB*`q<){u-jR{kO2{Yq*?c*heBW$!WO0A&9HL6Ow=D4C)|(x z?=l^4>$ieCj5c6m!R)5^chk`$^~>KmZ@i0Nu0PBTJL*kPE~IPI>6_n4 zM-x}xfp^q!xFnw>iZH{gTp>(JYeDjGLPDuj9MAn1lh13K15`EvZ%=lZ1PxR6D&p^v zP%2G~*M9C7hbaz-!F39Dly^r|;`7U~Tn5Oa6(kC0>sntHK+iY1b8;o24hN+(gQ5=i>-hTGwdkuW_%K2OWBX5xg?=vDpwbs+t;0J2G)^bN3{#b z#8;M8&LGz8ap)+iS_(XiD1f!xp%9i$JtpusAs)AMVakIVRG}9s^W8A zgeGXt2R}8E(gWRTs(Uc>$OTok9DDH`F`VCE7lpL;UTyX*RyG7aRRSrq#eOrBol?%L zhiky?q5n~N`@8x1qP;JDn5}OaW%E|LU5M{X_nIF>Mp^zM-A)KQDfl{4N*zumjJg;r zLY*h&LzFS$qL|`(bm_+>C@vi%urh|D#dtiKC=`k_>$IXmENYtik!CWyuo3npY``!0 z3|lh%-tikP>n`W^Dr?BHe`{@F6eaPJlVNJ6r{@z@RfO}i@0Vd3n4P1{opV(hg|lY& zaxt4~F@%Gs`;GwUD=FcrsP190ehJImGb7fAQjn67D{7&npw@4%?9k{UCqxrOJVLD! zQY+|oi3A+N?Mq;_c76o6Zv%4OQ|=A9vociLss*jV@KA8qX0^S*bN$+a%mYH|jdfb# z*xaOuaKR)7M6_5i%=>#IUV81u80SI-GltHQrYY*($BwyamX*vNrVZ4DBxKc#iM4W; z@NA_(5fXAPD4}npiCOKnr3u5#r*z%dfV6$n`T2y@3xk;pUCMzUy3(_FW4t?GAd;0S z)OXs2EAhs!kl&r|=0bBDnrclZ*_4SM89yvqzhOG>>=$Viq$E2pw=qkH?C~~G) zjUt{SU{KO;nw;JZ|X&S?x?Cry%8iSSrqXI$g?1M8QU%6 zhP}gCIlrXE;Cg>AxXT@fKL*x?`JBB0&V_gew5U)#!TTCgM7vTwa5 z$9k@b&wyHZk6(MGEgo8+{odyk)EJGojQx>I>SB5olJRT@k0T77pVE;V=(icTQQc2( zjjup)?$sO_)2lGccy@ycLBTC7N+f$`XIIdTINs$KUIDJJH(6YX53!s5T)}Ski$5x< z=jEE~5=~*nJVxScX`r%VqP^DkniE!fY`H$k@1CsCr>8r=cfsrOW8Rc=q?nxQ@a*4Sodw2E-@hIGG8VoJ^g%PTKEeR~N z+b_n_F2#rx`+UNW@vB0ObICBh+7NGGy@X*aNa&6PH95)NrS!rGsgfsSVh>N`Hyfp%=2b4gCFtTVt7_k|}EEWU^Y@vob z%#w;ZZtAXO9+|;)E9h3wK5af?kMK+_`S^?ST}=@ao{!PFb+V-W)Oi*VW&QS+>->|H z;d!<8)`VDyk@@vQS%CO?Tj-pzfN|V1?F_2LBBc-{#QLwZ+!9q#EtQd!yS!lCR2uQk zg1`zsOr}Eo3ij4^aQksx${EA`iuI0Fv;P06{>Dr))!eOrh1)?q(fCc_Yal%FVgXQ9 z=(lEI{}j)8C(*3pI=?@9P(2|*ZMyKk)EIP7=PxiYOFRO={!KZD3=9AG!=sMxcUtNH z#~sO-^|$T;wQS(`?&+P7}8o0V7>zV&6e zeX%&m=oG!C9&T^KxGsKp4SH_l=K}iFKtZ9p7x#m1-x^(1BF}TI;L>=fO}3m$u5mP3 zSiQIi_?ERz(Qa{%&!@S$I*pt*mR0^^J6}S_NP|7}jv@2$j|BeR?rV-io+!ve7q%zJ z9yVGzy-`c4jvm29W0jybt#>wNLz%xW1UmgZKolv&9VkZ*M7?DcdF z!OtgZT)Wt?8Gjyf^o`b(m&CQA*39kQsdo zK&6$iojyHXF*#1Z;VapYPV<;n9R`C(WCQv18D4p#t7u3COBg=)u%jS8#hUmj*r@t` zm9b-NR5T19XcC68lBp_z!Rha;;o7TL$h!!}Ua@@wK@EHmC^m^s*F72?o;Kc?*X#4;$w)#&~=)bGl zRvU#P&~bGqg?_K1Zd+RpxSG6bs=0}zz&K1DjS|2pF6`{P=#vww^dZPdiv13U<&v{- zgRfeHt9*LJZ!YptH9xhBZ)|l}>K&0(vCn-^1u8~gixS> zT=d*1TS^l?v#;^$K5q1(c9$cOAD)2v1j?6DC5FaeXg&_+p#Zw9@cHG`D|pBpj3VUY zSKXjB7>hMg^YOOIX0PyG>tUQ@Mby|RG-1xF1!|z!Yhu#3 zqbPyW98NG4l@DA1T@L}ELg?7bxhjf0O%qfu4uqTc2Iw2D8>XoYw`gqHj&AkZbCL&Q zE!2Tr6xrvd|H^xJYN|IFe((pU{j24L71cwm_@5_fqQiNpI3e;X_$S` z=LtnC?LHJ#`kDb1Yk4-|;j{vmPQ>w28Nz_TXR{d(T>G_wDr&-vP1j_oy=Q+@{7QKd#TPjwH%ag9K%NGN?>J;4v~+EYh?_a~NAZt*-W5 zD@$TM1a>wK!e}%rbyBa6veW-lZ5m-dc94q2QevyklS0ZTr0%}z9qj$U4ur>E?(6G4 z)uY#f-?=8ZH6foMw~SgJ>E}P1e$*Td7n&%V^NTRQ-@HJZ3x}(BNnav~O`smO+RTP^ zzv3T%5(`$W7>40{ow@u0lg5IAyh`Q_@V1h4PX_0X?>+VH=JK2ntaXRdZ8 zky5IqwaubJy2#5EG3L|9HHx}v(!Cx~Q-;tMpO@X1WqX%tgeaZqyVhQn4$ow#lZd$9 zw9*z7uVh;Rp@WD`Y%5wVo%Kdb_ke4hK|lXq!{-@0-EQ@)KSGcGBgK~@Wp-m?qeiBE zG0-HOQ5igsaYkqfP#?Y%OooE^GT>m64WIF9Jh8=+GlDlblc+{DW}^m8%9k}niCmc? zifE~XvMQv?#cm|E-B?|j()R0Tt_}G?Vwn$hj>`R`=zL_x7}#1)s5AH}bY*^m7^D&lU}ZyJjW9Z@Rf(c`1WxU!A}b z3*bLx{&+WY)b5bIgC&cV;ow?!Q}?;9y9RdSZMV#jwof1?uzRxQk)B)<3}Hz*r@6Ku zU^g~XYd>z_3mug9>VV_PNeZ~NW?ItRyzq#VExJ0=eGLWU+=Fc@B~Q8smGw(vwJJ8} zFjc$$!b6VotbK6zP2VZxO3l*V)l@`IQ0BYQT|&)3x5y+aaS>!_Tiz&Lzmc7bmMO;B zU`@O9N+YzDMk?{lOzTeOdSY?g3LYnuU`e_Zxi~((hzd;(k2yX<>mZA+jxX-&mTY20 zX)!5fS-<}FmMhAJX5L!)uk9jM9>p|v;vLOhQ@eGp!x8hsKd*L`wYPui>32J}cs_ru zfZ`s#cghS8o9kWm+FtEBmp~<*Zu`Vj`04g1mP1Vs$v3(gwBxEnUdmv>$BXzGxLIAL zq`jm>s0rf*Ds%DT>F@55qtYaCV|Yyox@n`+oPu?e5T!WZIcen1vX_F%b5;xmBb|H=$*3D*^X*jH+qc^FrHL8N zSEpP+QKlFo_lzpdoi6rt(#$flM|V2gP{$vykLPZ54csw48+U3G)-ElZ#q`x7A#{F( zEM2a)nFjvYF>r_HDZDm8*C}%pewscNX|J?ez*6(F5IS{9p%pZ;w!;i51pj$!!uaX$ z4bRpKvqNh=OlQVCNXD*Y-hOg({VRW7h2!Nt|LATDSA6bls7vn9pWIx3)(lh}zJc}x z7p*@uq>*^~(SJ&5kZ~SaBc|i(@OQU0OQGO-)78Mf!B94%{u-MS(05Xl2P2(N1lu?$ zsK!5>c*51{@P`6n6s%p_oU2l&(u0Dq-g75z)+`7~h&;My{%$K-)s0XImDpCog8YG! zWJmJeW2$-58KkFD5KHnY90cm__e4Ws!XyWi(7FH>?Gu^kt+eV@~G zuuIFB%U^@ZpyTs6%MxXMNLv984Lqk}xE4&VuMNBC_6Fh|)MgbWlDzfg*StVe;I~n9^-u8Twb4dI1VP~iopCkglCU!vg_Ws^Vy&Q z-2f-reTSx2;rZds+{+C!GX(|nT6)^cB741Djz-gVt-qtq)?Tf!^IuJNX=qoup~y1% z{{Jp$_Q;kyE|*gzV5}5^*Kfq0P_fCsH3LNe@Y@Zy;iGkszLU*g={qnGtG=szi}E}1 zhrLVDLpdFVQOt6WZ7!><0EJQ zeex!q5zm_ozWzKt2`)9GKo_k6(Cj^PZ5N716rXhG2i*wabc0BgVog+O$-9Wn z{G`e-Go2+rgx05VEy}d`n$o8<0?9&-Yn8?1``R-1g0a|b8KU6lz{{#WS0sU@X^LT3 zUgStTlY$9`C(N7tC!fARcxQc1gj3YpigSPU%g#H#d#VM28hO7a(q8N`gFDpq!@d>2|2%<)U zUM|S3>u7pbDDCf)-rs^wE|W5#+N>u!ik~RCMD0>p?Kssqt=?Ho2to#eU^5gU`g*ip zfNNs43+W?Cf%V|pwC+I^M{zQoOk?Jn6L{+{;PYdce2d3gN{PTD%6C_^gTkSNcs8bR z!J&BRe-Ja7=~AiKRAR8h_$0>e;9v>zKG5dHsbt%?Qy=@O6~;h=*Q*j0m+86>OSt41 zzN1?8C`>AZ@}vSqwfu19J3aa5=YpvoKc%(XgHnv~jmU{e@_qLW znSYlzp5KAIKuyyrRy^ZN-nFl$kFK5o@$ZcIoRx5<=mS1{Itv<_PSZb7PmVz6M&M@S zMnJlc*bG2;a6w3`CS@aQm0+hgEu?5xfKXtsQau-Tj_CKRjVu%Z#p-{rKRB+W&i5!s zHx%pOcWO(l;oKkrlvZtbXY?i~d}Y7n;~;#uS7`1~`v82lgVvptFD7KpmWI`e5BFko z>SK_(Fkjy8&VvSQQMJ|ddQB@k8AzD_Y(dl`%&sktT}p*@+P0yl8D=nFbyQUuda_y> zP;M2Y80!!(#E`bdsW^^a9xD_)#b}`q5`U-YAPUt*8qrB8LeOv!+<~P`93n-f`K5GQ1(?rK8ydu8Ku2zOlB>$TG-AvN0wL{SdENUNZfPrBL$}jr(yRgVcaZ~= z-LrjtL+3UMtC9=TzVjmIYQ^`8L!pxXOSZ#_=%wd&!O+WE`Y)U$Y)w<#NnhY!vkBGH zybRV0^=;^#-nf({65ZC_VKVcC3| z{~uNBc8hvjjl8M6Rb2a9F#^9fGJmITRDX@IGwVt?)N%oKYbEdGa*1quPi!zozsV}$`0 zDn=$4)8%X+u7N?JThJJ5*$jDbq;_o3naEPLI*~!PDy66@T9#?H<6i5&eG0(ANpNox zB%~`MnqjzS4fZc%xS&h#ki(`s#Zc)>xhp8xh8;%x0CKWlbgET{-!v>)DzzljY3x+%qc~nN zAC`)aiCf1$Xx(AX=edsAc(pDM%+au9pL{c$k9Sq!DU!O=V7vCnval0wzo=pRp>F+F zGAu(^U8@BgRKkOtK1X+X#5h4SSo4UHOE81s@os)K%Wmt4TZwQmSPePFvT$bs%GLbSbJz%tDOXA?y5Bh zf_;TO!$dI$EE4SR%nZkZu-9&|%h!LPH+zeRu3r&B>8@GS?;ZV||9>xm*J(bsbb$`4 z87q9V4+$kaHSgO5e>^?gF{2OCRj~7V6l5v1ZuRp)TM%X$As-K__^Qzo z^3$lYtZAUc6}G?qz=zQniSm5#}J$uHL+za;P+MX%%43GJ02}+i&-?i}z_h~sPl;tT(NS|3&-czJ|rlD{!`+=hg zEM?lnQHu3)9Lw7Txg3z-|8vJgKz(0FsBy%EJzQ~kRg#UC&}noH?WSG(W#wcaZ#5EMt4Rw&$J zAvTmU;cQ$gSb7b)(o|TulH5Vua%%&J$vyH^!C0OvIOwu0zT;ZLlqQCfS_=apqZ2HC zRz%rvLeGa(cj17X*Otd-Vx0xIGodZt4X?y=F;U)_B$%~_PER=xS`P*h&@)bwJX!tz z;XDC2f|r-Sz$*b4Wx~R@)9)=fc6gYkEgn;BzH&#Qw7kG}46tM7)tf?lnoTBlEbo)s zlVD*O4_UDs_#)gvzFJmP!C%uFgj1Ode-9ssMS8iB zW?#ONp7%q!av>$e<-4@?^2;$i2J5wP+I0~?;P0`rcZT<*u3iKH!OyY$X$0DkN^S%e zb$^+~i({;u&#*<@yq;&PrnUuDv$QwHOni`Kt%L!aqX-QdkKynB0RH%g6aJUXZbERR zW;dKI7aHK|d14;~F1z4to!@pvbJHt1n%Kz{HH|0c)f4g8j zZJ!W9HsIH50hZukrSQbBw>vYP%b??eY_OJQT(-&TQ&BlO*i>lioNO~;x4Q&)050{Y ziTjr*1hLYh#N(pBDMrV?lUw~zzRoAljE`t`43=0Fam^`3#2ULLM}RHwxn-s6kEi-L zWCwBx$a2oj_k{3Mu?JS#pd)V7;+O9oZDjF?m;T)Hfy}szFfkiFV|&){p;}+e_o`y9 zDKCR=mU)mcUr-?&>u(2p_}c*<#PGX|f{pN#f3_+rixHx8KB{bBGjqC81~>XS9TA59 z=4K-17`nU8KSrhi@RhhzRHIqQ9)3OGvX{)H*CIdzSpNaBq5%yToBhd0E2jCGOoqC8 zVu#P2qz?GS-gAKznlw{vr^{8?<#d=*GSK8;f@EH^Uhhewmm6_v^2(>vh85F5J5F$q zx5u7CKaOff_T?h-b+D#cxetU_lTF;KuKS3nR?tS%#;ByF=fve0gex;1tHVDS!GVte zu{c7pX-|gxnF2T%0rkw-BGhG&YhC*^Ocz1aK|SsO!wL#4iJ)CmZ=6v0tanZRe(T{yBr=9=OpuZMT!bDQVCbzY#KzNogl{Igyn2+ZqU zc`ihN56xtHtRB+fkb?^sxhPP=hYlAl+AbSIO;q!9xLwD=0D)@lt z8(H?VM(#6=a6#fUpX&v_=eedG*RPFvT?F^8gen)@7vfmm6KSIi^Z;hT3yWRoTL=$W z=LLGF%WT<>W7~KST+2Rdf$zBYZjr9$3;FM_Pyn@$1N$MI3pSX#p(6DnziIDdc3+YS z$dBX^ehi^`#o&in9j>wgF;f+TlP@uVS~TF+Rcl4#a*CpHnj&#;sn9Gh-v}nNsJ)AJRjHRee>x`q$`W{<1*=v8G^C%>>wej zs=zO7vob4eJS*iTV;rUc$hNjVGuGYx-SyS8!dbQdACx-ClOz8DEmp+C&97w;<=qX> zoMe$3p)@Tp(wRO8O;)LQ#N_L9#}`V#ZI8IMa!B~kaoB$VUvvhL=K zGh-05s@uATqwfYpj+2X%EZq=#n#batW)9Zm%MeK+YTAM#;BthD8P2UE@%%gDaSWH4 zP(1bE3KA7k=32_5!~P{$pWnh77qS~4i3h*OUh0oastT>z_fsYe*XS{4)(PwP8(|Yl z+>Qqky3s#6(D(?zhoT&Q>tkHE3&5c`^#tsaB~xCR0J--KZmof3U<5$pw4DZMpv$$P z^>t}f+>WsILV^A*v{p#06=Sir=nEWeJOCJ@qFYehDo~UgP*7D_(jO0ADE;oVzp9tC z%6aWy7Zp?)Hq$Yr>33W$;S1$d80|eLKNSAw1z&!@&#el5L_1LQVOE+TzIu=X@@oc4>hO}5 zO<7?oRsZ;F6}pHes~>-YDv=-~gOZolOH-|Mv;|0T*8y@BI;3(iY~vzixetTeIGcZD zuRRPgv~WNS6|0-1kiJP(ngiz`lVZWtNH!`$5Y%( zM$ObtUDQm?J${&?=r>H5NemU~4Xh?fo6;6yU53T&q9=;~re5nDGHiQ0%ZOp+y?W=L z2eON-pZxknV~8Pf#A%ycAKNKYev60ZPf5?TY zIV~R3G}fk8mpspx3}^5X6R^Y?7;Qq5SByE|6(vEtf;uG`} zj;WeSibQ>n=MNDyEJ}*45OWpMz@b&lEy95Hu|2TEF(yh<|wyP*Obm=@L1ZY57umF@cuJgXk)>`R?AM6J~73QxWpenECDwntGx7Brss5X+9WUH^Pv-2;OnICO%cuhnu%}ik;N;SyG@& z*tOr9e%JY*T|fg@HcY&j1R>0xZq8Xwg?Pl>W4w}5e95YfL z+Mqs1wL~<_XKCH0dHl{XW2n+PdZ{D`gNZ@a)l86plSQ!oR|(*=+#-&Wg1QpKT>Ktq z>oJ(n_h7kNK-qv61Ve@pR6&a`lx^ekgvc|q(J&Ar3T0lBO`C^!g`gP5RjeViGk1F$ z>eLgMwPvZ=>}zZ1i4AdITVWL1>)G0gfxY(U7AD7T64B$fZZ3&QAUc--?zQ}uyHEA_ zS~$CyZD#sbauqZ>oN{vVVSIT`d6w7k-KnCMj6Rxh_>~r_FvHG|DoXYB&jkQZQVA#a zwE)Uo_Ndv+?q@;@#&!sx@)qmSkqrYF1miVp@ssh9m@DTLiL(?>=+ZP>gW#P}3WA(r zMT#Otk{Nt(i05+&b)+9-7{zletJj?B=eO{NWGibD)EMFWUjGg~3dfF{k($BjS+oFj zz#O52k`}2J=(5oWaeao9kDdV|dPKun+SHVv`XCAT! z^1`F@hpCx-AFMd!NUOOCF5g{Z3I-cvo2+*^*C1Xs&BMF7DzioRc1}8sa8T6GPKR#( zy@g;F_XqgzcmMl&u%6~ z#bjST)+>#{^E(|346e`p#t9M~RC{+$@ThDab;XN=+rvB(@yj95vJAN>f4Y>~-V8)jNH4doU!&Vc^ur497IyUF~C6L|LZhNOaMsTH(Py^?mrTI-_x9{|OI|$-7 z3>h{O&F+ufJ4cN0RE&!)VB`Fl46AqJ!2z)9!RH?(@{JUdx z?5-D7Rb2h#^e4Q~XJ+1H-zPm$++A%$%KEoQ$=|{9YM<|}E1n-`wE)|A<&0B|j& zzXsNkxtlG?ZO>*L4(Afst*!m+^U)4jYB6kS0EN0hF4Qm_rL_^QA;E8DAcr zW^j|LRp2-lWUOQ}g0(GtC}f=6dh}3rpkmr1g#%Cg3tVzw9tPmkoWc380X=s~serfVwA0)R?l8QtI1eaA=E{P6DeI)De z8sGbcGf2dzFRG#2q40G^qlE4ZBVJfo@-&r<|Nu^cItn0Yg-7Q|5p3N#8}ph!~7 z{m|FPHCEW@Qg~T-rSV{~VSH)?>df4Xr`VR~TBJvsPyfe^40R0OI0$=UK#%>ueW z9=WFn==QV#JoVZOp&zus6Ei@#C_BoIsm?(hQjALVCAMve)Q!nqx_*+VqT07^pgX-kmzLZbcu_j|awfCyl;I(^|O&KIPy6u1; zRl4mmZ~HtxlIV`VSQoBeCoDbRHGhGqXCPip#Yoia}w9@`7OlIbq0x8*hnXT^!j|IGwVoHj~`%f*>PyhU|mcbU}!Z@ai49 zv4Y#fL(A70KtlnaFY5ELT~8X-O`UVjH}t&T7nF7{9|uWbLB2P=5_@C!jkm7a-l#eG zE6^40KoOhd7eMU~?|hRh+SFsCse5xokytH>%DHtRkB?{D3cL~UGm({87eg@uAxks+ ze_!U=l0FWitO1WVu~JP9#1yWu)W7{85D4*zU**s%%YaXQ)7mrCLc5Knp_XQwW>+pR zIwNU!`kdGn-6u*c&yozsR%4`Bz^SfFzQyu_qxxvhJcF<%r`qi~)tYB=@ zFZoPr-~(GncNdGlfL~ZxV8Y5i4>Kq&cryDpeyW7OXYcGwn@)0)-RRc*u9h$(feo58S&|GzX;>$s$-I(fWUG^R zjd1zAoDvS6HftIXQD%+&)LrSUhFQ11jb_Z_vpbC$<2fY2yM3%xU#gbAu}Yd5SJr?F%5?(;j0s#s=nk zSfjL#kzi@-x+trfU02F{jS|v>nX1T8H%up}W3IMx2EsTp5O5}2heT=`&lCeRO}H_y zm?fH0$_-#6Lk?n*q^VDR`Cu?i1BroD-vE~13L61`TwS#k=?36cxG`wDUrm3+1Fmru zuP>OJx%1j|V)%K&t6=-NH*DH0Suv+XT7i&5@T<_vZ?GBXS0w-76 zN{Ucc>9&<|4d!)Ez9bK+!a0X3wFTkqfb8&u&7^G3exFX~Clis50fwYwyI}vHIsuAY zlA|cH@$of%y=B`w7ySGu1K*(@G8w{Dkms!CnLyiFM17Voi@YeSG*O(O8AZ02MQf_+ zI@(5eXC|dMRh%0vo$Wng^3zpR3`65EF(KdOl7u9A5mj9|nXj9s27||f7KPW+#4vx$ zq(0_=M)O*mrLd|JVsoDK_Sjfqn$7VAVi6cF*gY? zYJ`C`zHS4n@RMZ4Cue^06{pMmySHtZQ0L0p-p*81V9wq9M)o;|b7|v#W{yfTyP9Y$ zrOGaF&s%CmvtlyioX+;}VaBgr-cf4HjD5zl2oc<+A}6u6xztKiX(JfD@~^b)C&1p6utx|&W!xVV8D`z zJBnq3TWox5bCbV5B&@5rRC`&cM$`%NDjXo~il81bflJm+@sN*{=$*Xe^xI5o_(_wJ zWV0}6W{I;kjf@x6fW-9o>CvJMcTFucqNSw>)d{=?A9T0K{ddmR!|V6-;cSf-U3Ii zNm>c&&$WYIo!(K=$^yrtNSE z6OsiAX{?WEZ+Wo>_yR`|2 z(+=kXP%De$`SkVFt;DSu?5w$;nc=V^Ax>=}rE!L)rI({xv}%f?;xXDgh=8Ma?|O~i z8i&*3Y6kQoS}~*zUKUOw6dzY(#aA?8%3a-3NJAAgW(==(w^RQ4S0@&BWSr!5hPgB0 zZsOU`^E%HxQ*P#BPs!^H)-6k8xyv$ljM_^Q(^Z|}5;7*n?5~4~Ih~Bl<_fOQji_Mp zF8z4qt<$9RD9>XM(?D0bAyW%8Q`X0%TkJEgcpwuv9^dy%7nRqq(Mi=qI1r)5*JF~$QS}(&P$4<+;$~gWk`_>~?9g)9v~ z zOo1Iz5_He-;~4FtGw5>KMcZThtemMP4;yD`&Q8bKtE&yiCf8~96h$*33@qZqrCPyN z8ArIw@o&26EZb9(9!g%AVSYa!h&>SaR8!OZ*34X{$;hOFzkKVgw*DW^vM5=klcMyQ zSrHH(6&1z7x7Hqu55OBIU_US89kAxalACwp2wmsADVEWIOWNk4JIRKB$@e=BZFSrH z!qz(fBZqLwg1_MH&gC(nBRROcwuTz5eET~QwmnLCpH{>zXL9nJ(G~Mi;-Be^Uub^p z%TE~P6zQ4GS^WkV- zfC%^J+g+{yCXdpoWxHb*ZpAO4fmszRVNRAAE+WbqDN~mz+o2P~!l)L;-1@&>$%^p05? z!`9WICxbO&sC1#pXu>i%yOlu1I{)GsSuX4C9kIm?u=&D)m&^dg5*d86U1h4O@HD&g z`<#It!5<6(CH1@tH?@>dD?RbW-U;T?uM`1FrO`)^-k(JQ&=gd&Q;=-tQC`-~$ynAk z-Rd9=nlNOP^nF29Y;rbd@Qvz}RnxXDT^o#xM8QZZY*VcHrm(hy6PgDyiow|dA;^)V zd2V61YnmgusA&R_c5!qKJFigRP?{nHH^!X_r70;W5lM{)T^zc890SI2xa(t%Ysr6A zC4pcC&0WAs=}w6@v9V1&EdWk+@(`cduoTMJ)qa0p1_jvVhtg_g$4s~-PN`P;?#iK# zKs!RlFaDy$>Nao_kCfkZ?J4MTWyY?i{9xl6xv$#6Ay4yB7MyG7$I3_F-=BVCl~SHf z?DDB{6@ar_>C-(i`s5bDkbF@}yx;5f)@Hv|ipsWh<7)KLv=zW3(qI3=slo8an`%jb zBgAD0u?|jf&*Ts0ZU?}bh3;1zH{KIjpj_gUr$0ClnHAb|9B~d&UG5ZH)#qMSvo@+K z+=Bw9C4-jwiJ+jQF!kM-y(FeQByyG|8}!NB>G68*TDZc!{zf^vXnTcHXK1Pk8E70C zV?d$8(nj7XyFbr*SQL03(GHJgA>75Z_Rx9MbWYSwtEeReuL{$BbGekaxAY4IH?vSM zO^&d2LOHiCbMqEuhRDiXow^sJ3W{!t#w*Bh00ieQZZYw!!n^y`q9bG?Ph8S!zx`HZsdq%8%(mJY3El` zU#Xi{6A&QPlSamP2w@U?NmYONng#ATZ$lr)F0vq&A37-C?nht=iolmWb_&=du&{Qv z>nf1xf8Y-l!R3v~mY9X@p`7!34+>~csM%)l!~n%Y;*2E{LR8a-{p30OrM+n8ke7kT z_z5m0>5KyToI5S65I4aXLy*j5gf(rWXCU{Zm*Wl_&B0*f1F+q_hASHz)C>|LIPaS3TPKb!d0xD??H7f;bba0$mf;VpK zbSxf=;)z@-AD?rNsjVz%89hi50RFAa}p=T$If`6UfmpQdXRv_f8nCnTks zMp00-nN$JcsROq*4ox-keJ<_L%+}0u_-_@(g(}~2oE4&O+;JbS_?%XbpMf-%zx6C9!}Ia0-YQ?{s>U0%U5f$nc6 z7EA73?3BwuAculmtl7G83G)3(|6gj$F|EAyGL!!1iqn-JK;6=^68n+x3{{p(vTj+K zA9ol)?~cryreO-&`nK}NRXD(Ol5L}tm~zn@zR;^65IBV!O@CBOpQqI5HFc zdfFzFEpn>RMKs+HV~#KJh!4z;mD2(nR^7gGrIvQNCNES*blnV8Mb=#uspPLJf%(cR zYv2F)PE==WeEr(U{9dRkW`~_gB#Ru=j(#f?1DvJ?NmUZPdi_UP((E<Dhf{sdOoG zK&~dI7h-@O-7sb<$M8J_GfW7n8wwSMvF)|7tCF~t_Hsjgic0)^4&yns1|JYz{$Ix-(m&9xG&ah-PxetvP#T@02!BOjg+s|->4mx?WSm}#L)E{S5Iaz z_{GZIByh1uUkxud!Mjoe?#O0*L$@tRai&sjZLJg8I6JV1CYDK~n%-V3iEIMYuQ@3n zQprn?1n|J{(0p7QHc;TU*BlBj8_|u}<;cuWd&cT4N=cVVCYna~nrO}5ngD2-x+2*F zcL<(tstr=8A^Jv##cuZl?UF%DC);wuy0S>J4UtMDxpI5Quu~8sn&Uy>mSd-C`MrWx z*&fS>ZJ))ad7nqrWMV#)l9p#ncc!RaEyg@z41nqIf~*{q1Ymu^VKgFp3JOTMBqKk$ z){2G=(_(CZ8_zPG$Qkvz)MJ;w;*jsijVgP8(9KP84~9c`(y#{%u8XZ#9k|tQT%AB4ZTTvM4%o1b1R0{(!lFVGU?ifQ+uPvqS@;44uD4FuqmNXGp zOq;Nr6d{Hi+g>|LAZYy#<1lDgi;(!;l|X@rRM_RYtQ+&48Fc%_1ukX1xs{dOwUILC zz@1#dF3#*)!nyi%9gkc85`}I@scJj{<-J@sg%51Uf2^V z6kdO?)y-o!#n|Nl7VneN+_UyJ@UxTEv>{C>iH{z8aDknCO_&y$(&CzTuZaU!dHuRi z;?At@`CRn$-1s@uFsfOaHOii+YpIFXgbAPQ_W|s^LP%TSS52AeELN_h$G5@|cCu~* zrQZ4Gv1prp^VHFbHXjIFvC7Nr-XnXh)`KBxk4m}Kz8%a5gRd7Vxx#>De=h*UeG;16 z^e?XHc9QJZ5jWm(-eThwev|EOHzu3&Q{4EQY)kX$uh!nskvPVLtjc(o#j;fX-AYib zSR*gHMhiB4)Bv>~9^E(JCgoh&18&+xw(IG+6PF{qhI&63WJ#&o_U!ezS{8TfK|Lhv zeeDuCsD%!c87fDELgrO>Xj92zQZ|8$M_JSXmG$54L+i$_GI3=+X!1{#N#^hWTQ_CH z*XKFB*Ix1*aO~}uJ%@_$Rk?7!iB6GHyGzp;fbxU%i4ytr-EH&N2vSvp?CC6CIX{!F zFYYPf9sy(U7KfURc-k~Kx*)b%D*V$j54|r;JWw5#UJm~0XfC68^2~F1d_m)H26#zClgQGQxY>&sLoaP#e*p;B;WUAQWek-n0n#v-HBkgds=OY+CA(E9)% z_c|`<_2`lj)#$m~9h?Yp94ZxAPif#&k4D*;2sFa!PbE;%ZN_vGD{Yp(ArFm`7YaN) z|B*;q-IRm7GmUzAxSq-r}OWS=#LY)yfFEnzm9mbw<&0bsx#o^)bQ|vl;!);nI%o z@1I15#P+eJuri>etz-CE~W`Hn-j8rKbo zHSdbtK;ptqXV7FN#*pmqdR0n$Cxa{OFR7)yMv=4LOedUVRG{n#J!_LhmU~p&Grn09 z^0x*p*i?b4(q47)_#u5=aI4dd>zD%Kyi7e+Fdfy*=kn;j<;tVicUcvm%U7Oq8 zFm!gY4vpk?w{}8|N*{)b5<7Uwi}LkkAU+L-3`X*_ zsL_j^47ai2W~MbUEaB63g=i=MB#2`~?-y;-!<5vI_R_qXimH_7hK7TI#fq$mG(nOS zPo0th+_E8z?P*OmF(42EkSx&X04c5-D73h0UCWr|CEbNU;+N*0Zsyyap>7giEC3D@CG`Btk$C&%qQ6Oajt@py z3Kz*-;3dPhEK@P@Nm$ASKe1aX88=C0w1#BDm;D zAkYZ}@<3oA_+G~GzqF1!Fh7UtJ0YO@bME| zNklk+e9PTrE_cCjB203yvxa`GTei9ZsgKNns^`|>`X;bj`zZa*bp@T|I#^fz1WVpf zX3XG++;lYym420+>*ulGfiGmp=G5Qu)0yIl(UX2XyVo~ORTbGjkNxwKu9B=%l?3h> z0C$l#Nz$XtKkF-M#Ov}605br1SEeJ89}^8WM+=;?F>-Ohd9EfziSO@-%#L9CJq_p= zkGYJ3p{g?7%gPbzyo?c?Wf6}tj5TRXq)Dy70GK*!N?mHw{jm_gJhdbk`x2Avsin#i z;laVA3~<2dgp3u=IxJ|KhLYjHw*Rtb=k8Ve&%raMhc7E(6)77%LLbtSEl$#`JS8=oU*eSZttU>; zTm>!q;1mD7d3{2<`-$L>koVct>5${}E@6SqB~s-Bt~V~cNAX@;I8)tpis_pu<8qR- zL`=GdQS4B<{$if=6!Lx^wFz)>RuT$j;Z8d-S!?5GUq@`*BtMCev%$vymOmej#Hp)i zxoW|S>H+^R%mh~o<-Pg#O@&?6d|yE$C?TIDdXw0W4B?{0%+#{mKOtMYixTURzFD{# z1O|El13Y&Aj8oSUrF^dKSb{ctv z0Wk#akK%yA0)4eiAY3G{j|SWQAz^i+kgW`PD)IK)*%tUq1!JA)qEaU}R^HrB01Zrt z@x3yUBy2CwO6&b<)0xEmO?JuXZ$Y^Bh}KmoV>8ihwL$`xU-($ZWg&{ufG>w9b*X@L zl=n)nY-KDVmLkb3Ww-CbsFt`|Wy|KR^6KdcDZalSUK}859W_Sv`2On5UVII4=h|bp z`L&wv4GgnGB}i=RFD(d^1#em2tNOzA+JNcJWFFP!CH7K}QW^`dH_Emp8SGEIQdsqmaCbMcH0=K*7gHf=Ng10TNC1}-`k7OkRG`Nc5xL$snKe{_JwtTff;1T^(T+Pp@{L1nY*G@Zb z=N5~^DeUuxGd%d(ICmR+)G&e*x(2ZRsBiA#-`y({(s{UsuDLd=J$( zT91}z?|prPJmzS5`GbGP`Ad7<<0Aph89cE;d;`OrW7ETJPazYFO(wkH9tA1TfwCeW{XXyCQcu*Hc=`}igw#_z+>>wdm`zLJfq&SVkuyX$*62w+bF7(DPrZ?W z7c}6d+ZapRmLX#Vh8V_szL4j(OOc;F)V3YPfvex>VG-&oUB)r_^Z7HvfnE)rOdS8Y)HTqHxa*OvskYng6yd?Uvbuf~6z z+h0E)gbvYm8mA#CTkk0nm@z_$GPe9128`8r6vF^MV+a|D4=~p4p$H;<8~!1{|GMZZ z633mzkiXy3mYRRRySR0C3~wplQxEq8qPc?8L~0fm?hrL~m1QsT43D-;1meN0Kh;#T zPq)GspY%T9I#R*ny|~!(xNef4c0%$NNmL2A`BN(PV(sxaH!(~K4XTst7|!Ovl{^x=yQasB`VcGcc`FgnI*K{wXS>0DJ|)RigQEccApqn7$TttEa*_6U z6Hyyuj^}yT4YM%*TLA-(;%9C3hVh`1Zi;1JNdhoE29^W7&S^beNb6~xYwCs(6Qyh{ zVj`X^)Pmh{9!{i^UmZ`BC(5`Yr#YE?3Xr4ZpikTDq(+BRb3w8oCwNJ%(cUF#6XCP^ z8}3v3dH5Qp=ex3oHyrKT$93q)@fv>hz^yILjc;n_sICw1H0pQc`C(f$kkOCB@H#!~ zynC>GU)WEGj2%j?6+k(&d*dzq`OmKqS6{nvC*=4ox-Y5{)oyl4I9YjdmDH?og0nE? z<1`8;WQ=Jl$s<9_z+;uRSDJbhPN|fnoST$nDcz@7fvVX7xUXcoHOG-8r%>=4D3xr( zu&f~sLX^$@yJRtdEsIiO;J0-h32%{@sOvs;i#Y2T@r_@+^Pm{62^=#EWA@4xHr>YxO&;ae_dk5%YX zX3V%a8ZhOGwXEgm{he2q+xW)-*p2l|b>1NDJYPIj0rkMuYGoXE|D#eVGUw6EKQWYg zn177IDP!N*m-p}T7*s;KgFZY;3}bHjqeT~`ta@;+Rz8w^xDnsd)lAC&2zT=R!Pq1-49O+? z(v@-Ta-p-FxO0g?5O%<&Ql+g{xw4hQCE$s=XbtMBS|0AN4mweZ>$2GLct$KVq zVqET!z-r21B;l%Ge>QV;{jZTdALH74OFD^J6zR;Ys`Qm5a7-U^ud=ZkpzQ z1fFErvjUlvYBP4W(_me35Q2n~0^>Z{=|4H^-svADClp zrL0T!`d4C=>{xP*vE`D^(Y%snS0jLS8Ry7QTM2%Ib{$!TQdtEW4dy>T!_>`6Cge`_ ze;mWr*qw4a&2TfI*eWOVohY_u##W19+*(}2b~?Sq1_zHsesDCG9oC-)mt zJ9LGwKkq2w0e@Ol0njcwi(lCPm$Q1>A%|%=&NQDXA=aG>zm3-H$sgB2+(8HpQS4EG z3|bS}gxSWG{rVc%g;#_q_jwVoMFlzuq4pgSxhXe_X(&-DA?&Y~nICeB30pD0?ABUw zI%OnOOU=f-Xg3YMBF>?5=L;)QX-ZJgEGfB$HA4asw09BZfcanGiyaFGrKq!E%9zi#Vf>HFvYAM1mCM-K{%H;OkX;X@Kdz<9Uq`z}tF6TKvmqqb1NffH3{FG=Lo7LFP0q_)6&MYi*1VfB% z=GUB%z()-@ObrWjNCG&AG!C&`4HU9z7){6>Ld`k_mtxI_eK&^c%3*xh)qS1VPPr`U zjGgV&zlNS|ZW2dBOhFR7gygkGr6~C8dsbUy zpo8O#-Fgh*+B4Hz=oZ>eTko`;_R2(L)|X&%HZcYBlVQB6Ao~kb){FZk0Mk@o@bz;= zO}x8VPRA>OhpAl=Z*~EyHq|wk|xUrtzT`%gd@rt8W^_%v|l9xJw2KPZ5FRet(Go2C`=^N`S zDbA0{Y~PIqx9x+AUnCsuC29M%Dlu(6iSCXBw;K;(CcbCyboPNby?>x0Ek2SNL4%`p z%|>)&4|Ez$u%i<~bana!%u^aKmJIm4Uytufqb)+z>g*`3?C6ly0s|mwXPP}wJZleW za9L|0HS>Eo+dWoJqs_Nty*RFcALZby{RG_V>}X}~d3v|pC^B&I>(g^IPP4R?hH3bi zDz0lXNk*K26MefmWy4$!x0%m6Ak);!Xvt`_XmmmZYFs>CHYxR5Y=D|J%VtA!(lk-3lTF0n~caanwKKCqo9r|+Gm;?Du80#@e)j>DLrFRW8~ie*OSzS~_9gT@O> zYoDPSRob*=cL4&h{1VuxR`Dl(brsDbDV{>N_u<>28N|mmj4j9m3Do~ylAYO}r$uf1 zt}SrQ2@IQ~g^hXE0X3!=pYM;v>2gXSC2RE&o^2-nci4!S(V$h=QA(cUhjeAXRZ>oG zFM%rR2ABN`$F(=Au^@CMy^AiQi|*FJx#cd28HgUZJkeh6lO~5%D9fa*4%XZ!$&m80 zb{<9j^=WPxw=J@>atv*XSR$IP)B?4j+|Fh`W*26uc0Ku+R{bs*Q^RImsCni0bT?PB zrT)!#kRKcy4ZoGDdsxYZ3grm3$|xxG>pE0&^i00MuIDjYQW6RZvqCl}Ctm$IaE^{d z=+&QVZjFe9v}a7%25$(lR^7kHU|Ns)f-=2J6ygN?GIm>NdhJ%`*=TVO`*XJ>(5)h5<(61p`N}-BE zyf~k-luDk-J{y>}TXAvs-6`T)+lq0DP!7)NUf7@e5^gn7|KBv)Y66>K{GJd|sXBig z@$c-(_ajn5yI}d$1a={1AYub&K67wG!ujJzMQA&b0c6nP$?~MS&USe*F#h$<(`NQogrys@GiTc&_}4hihps z8|oG;JM7%wRxD?r>kJa*Odae^QWe$vn;tJDWQ}1Vm$`>Ff-BWZ&&NuB&?`{hIIX-~ zyGxzPtC|#9R%n)I8OIA^EfgS0kwk_8E>jj{Q%EUUz&Ym!8*}Y5kx*lNssJ@W%D-~% zgZs)@$~HRi6ld7%gf6Gs>3q6yG4x-Ff=sHWSM5!tJH@hD?F+UrU2bJ0(h%h&ziAh< z_Aa$L52f_U3en}|IKUL$Fu9*5kW%EQzBy5+dKgS)9Izz>#RTKFbqqbB?u5V9B5e%A zuXHEtjeh@oNoG&x`cpHbqwccG{@_YVfN9Qv_aNY{>ACl+;qVUVvw;{RnLVz&u8UTE ztV7mq-s5)b#!u2TskbdOhVhvFT>bdNt%}>Z2aU^#s~753qoMYB7*WjN?V4jN>YQG= z8SEwNWOo&-HBBw7MI*bc*bl`^m#ZBZd9o+`=LG1Z9y+FyZp+m50A0^D@>=ADAoDU6 zAN9KpB>#J*ZreB##4s)=07g^kfVsqDoLNi^IIW}AMptMxttQ5xn9sl|9b)N)Y`#ER zl-|KcpCs4^(s+>sM$7spt$!#fh@#WYXFe-2FwP5w2-ZbWDpHZXg}G&)3WvHwt-=_l zzW;E%4lcou4(duD7`e6lIC`yWQoSI9V`hZKc;-LBHa4AU@^iMk?6%r}bw56p00d!- z2)Djs>`!rb>thcGP|dCL6VQ|IwdVJZjys*U;}7cag992-&UJnId!QyvUl`|n zVe!oog3;2@fMgHHgbrt2lvq zj{@3mz=whow+*lRpd)7(hfJ->imdl*whWk_`s$POtfQb<1NvAF4pUUC8VQem)VhNM zh+N3741Ndlft)*@(GTwRlz+_(d?)>`T z`P2nU_T&#kuk|12zk9@^QZ8=zl);nzuyXt6F!{Zs)JOUV1plZ$l1C+dilR6${lXJf z{r-kY4mKWWU#KX?Z&J^V((B59otKjojk(0N#BKYGYtV2& z^&t4gYM|iG!)$EDY|PdoM-k)mIi4!7DF0A0{bW2PBrcD0 zE)PZV#OhpAOJZ7lOUN%y%BM$0++HNS1N_e7XANEB#)x8%phk9T_3F|i!q09M#b)|T;nwnjzCAA^?|LzAz%gGST0duy zv9EHB1BU6Pmvr!Dt>5tnAE;J4j#`cvoA~7OlDm$aOCPs~oO=6TQ&Vf6-d$!4mJwl^ zT8VM9D9NjlnG6TI9{aW}T)E{qLb-)!b8%vDEUG}S8}f~Xd(77;NhoDyjQ1+7RHq&R{Lqz~b? z#i}hrB3HR0bAFKjVKNG$|Myr$?}MHb@(=!i;Ucipx?#=ksrFk^*R|u!pWc>w$^}AB zpX;lT6`4dKSF2S zE9Ayb2(oUJ{S?%Fx$Q0ztW^ALGXxH*p+@RBPbIkOCD?I1r8dv+KTWnXl2 zmj*scCNN^_<9R-RRq^ee*>XZn{QSu|=0=K9jyioLqw#e~aQxzFvo_V?(pSCSgtKQ; zDR#L+3Ywk663v%+x{9i8%&y=zZMf!W9EiEFBgNfWrBsr8ZV?5!? z=48@87LWL>z4kNsB|9RH!*}IRM|3mSXpA+&=lULf>?qxef+ITicdE*ZhiC7Fnmv~? zr(y4V5FgKawT@&4mT6it@8r3S=$IpJ!NElCi(|{bpIuR;jIFbh&>Ss~d@fRL?o#5S;u|wiIj%G zDB(&$50=32Zqb>dMx$Y-B_*rPlX*NFZS$^aTl>hs@#+6vUOIHH4C*a&STLH~JzkYL z)OgDLE?UJ=6Kb+~#gQSQg_?m(X}hH|Kd;;czba>gV;Ye0TRU zIGTVJ(H`BaiL6;WhjoAPgDagGx4-&b8Sgy&iqq~zz>M|d28InCNuES3R@qX42+&|Pm1~I-R5?F7g2}RGIE6z!1J}e(u@$YtbxEDtr;_3Bez`xef!rW_p@w&(} z-%4_*420tR`LJ0()9Ii44-T1^h* z@iM?ca2Do1G23y5?`Sl+9lOH{vJfFPkuC(A;bC0yd{_Y-Dl9z?2d5mFS1a(UTvlHk z^eM-$Gn|tya=@ED>?!O&zI>50vpEN5Ci8lsqiZmDG~QtV)$AGHQ>3)1rO|lYj2Cuq zAr+-$Gx_n5dzVM^wpw#?d33T9nF$Bv2^?EvbTo^9@iY{exgz!yR3(7W4p-#Yg!6om zb3!`>ZeX}tgVS4^9|rXH5O}mVEVD=!N_n=v^O%A`8~`56mN~dv|{n; zI+rldxU||bxGixQSwq}K{0QtebSp9ZJ@OgEBJ&eoKE#vYPjd2-m$hxX>+o!H)|{+rm&xd{sM}CI zhEyTMZkC8W>3gDPg%CDfq*3@q8rSUPsZ2s27&IcKla;C$Sei4bNs17nddVnhHpS(O zt5_gw53w&+$j^D0fj4Ze)i~5QONRK4s|Bh$TBcM;sOn8oLHTT%w7^s{UqN}ED_6)> zH&$d%PRoM~vnrIOJ<(U=M2T&{xDEDbl>A#x22=l$jh1xBMw>Ip2IvyTZPccwtH*jJ zd7F=uC*)M~&gbo$aGq9ytO9(as>e4kbfbpVch)qHIXpb^;Gx;ByO6u*D`KY;X=7A4 zHe%skGMSl~cx|zj@yYO!df-RjsdpwYMA;Yqbuc%}F$7Rt5RUBRfm&6~(c^A*Zr!&9 zjyy5oE)v;$P6$It&BN_9Qesic%m}b_7T5|p4pFr-f~x9Dq#gXm00Y@6zm;rcJRYeO zYCZ)L8cfsE`M>KMfIVZ#*`PpjKmp@{QDK+vYv;YIH~RAQ{#8oaX>)m~R?Xy1Ph>t1 zmsGVTUDL$h;C`V|U_tX2klona-NZ&sIj-q_P^fzFJkGIQNw99U2MlRI;X4Gcl?I*z zoDI5*w)|x42H*y@0*CI00lflWO5aK&muArzTX`Wg#O%9}Shk)HK{ppdqW(TgA+r7qWgBzOh!p{cmzk!X zPllPo_eB4L5&ar{a0Z_=YDAEfRxr&0{j>;*p=eGemW1SbE;+KB+l>PXBxaV^O8<$C zK)&Zb(C--q4C<)(_V_^a*QSHeBl%p&Ks|~irr<@wu!JkyPm>qZYTd=aVSdsRgXVJXsiK%Q5T$b2Q37&rxu$f6xhlW81@3NOx1P86M7witp73C7}65h#wy zZ5%}gc{Vn^FBFwBM0&q<@!RH?`-8ea1_?-msV9%r56zK!voou~i-v8P|Qcx!m+WjU;0WcCA*aG_v~eIzdC%PI0dnyMeR981jR2 zhIY4wiQA_kU6AmMIfn@g5hki^Bt*;x!4D5GX_~N)i5`UKQzUU2oSzI6xcp`&g&(QS zh{LFhb)?W?qR0)fC*t;Pn=VoK%Ev=N$@885%&rB81kEji%+4ar*Y#ZA4l~gN#=igg zFueA69^YN5yxdqW_s%lbTIBe};qZ~NgY1`6pw+TrYq|$87n>yFImthbW!l4UBe%Xh;)~B) z(dY7+d|~^$B0&^W&^FYCd-a4s63Z$@pAjBY2ZZ_ekKnb0s1=um=d~vXJR?R!(cN2! zXo6{SkZHLT`G0{5BasUgOv_+WE%qj*lc>2$h`cGK<=4g+G}uyDRwB_za_8${}- z!Vn@R6~dZHWkl|z#Ib4zT*F49^DwnqgWY$GV%}Qvn-++ei^2A;v_umR91C9pPetA#7N@VLiNvQWP-FTdaU)Mmcib_Pfl4w$i1v zwbIhm^n&pXL$|Cd6Pr4ZrU57q2!sL%0Rmtz08d*{y}4JaL-3{YDpk!c;Qn`>97w2DRV%9O?D8(Cgig?3>JdM{EC% z&;`5R;#i10=V8;q+0lHLgaUe**R6us0-vdBuACkA3F4q;HcGFbC1EX+Kh}v^kpu!o z3L*`vd~{gby$A=2YtrGlSr4k2$=R&JgX~_XYz34%wNiJ-EuvDbKfF;=EBHUni=a(a z6K%_p4WVd|2G6S`Eh9>pW|~9=k3l=XWS(jFrA6K}IptIHWw|X9-#E6cLUK_-r4Z|T ziRnKpzXrTm)->)0eJH;8E3*WLtHs6DgfY_+o!kCd@|oo&lRttG9R5%P?S;qlfW*lp zF|&p#Rmb9RUG~Q;nXl9C1jT1ebJT7b@m76q{gC8~(E=V!k0h$b*=c&L$bm9ma5p0G`uBL zX(|Bs_GEWlsOm6!CbNW16UB~H`lJx+jswnoDa3AQW^EqZLMq!2q{okcc|)^Sczt4` zC2*N`XB7uHcxgR9Yz>9LD@gG zR{JNGzjEv0tk&oku+9}-T@0Rji4Pn*sa5j!6ijUG=9<{$btK^-r`NT|dL83pPFskNQl44t7X(o!~K9 zxjdmBOLr>KMVH!X=j|^!Gva8!ls;8jlCK=cov?g(TfLnCEK@@)j@GI_{4Chp%e{yk z@|az<7nQ-$e7zpBBczS;HTq^~-k3(WV4KCZD~h(wXB9ymWA~g!qucemUusXtr-P*t zi`TFWjD?a93{?Ta?RbI0?tO*r`ce_JgjA$gTw+fKhg%y$`Q?j)gUQghmYcYb@kyL< z=dQWf6SR6l0eRqit}_hMRD=3mg}y_WEJ zH#V-HUkixER+rtLUfY@g$dSRIDJ&ACe!1%B!Bex8z|2Q?w^G|HX4?YD;wO209_L7b zg>hlGSZroPKU)HT$b5&Ks!)zJ^$Y!kgr4LV#*PX+}p7G-bxkOiTtstM$bh=-Pe zUQA@zrK6c+!PP|-6ZFoj*qP5I(2TX=lxS7;jX814-7FuNjsujTZEr$1?s{#?iNxK$ z)1R-Nm{05$^V27>#*7Hy`4e~S@6v#Q0-CAEn2FguBy*ZJJM&{#w5o?{1j^-N%%9mH zHo;tR$|tr%ZA_R92rSVMN~)KGnmoep(=n(AJk$cwzaFPdT0wvpRb18 zub`Jr3n6+7~vwc<@K}d^m`vMV6liNt8?jCAn?S6b-bROM7x6=7^Ub9I$cVyqBm~gO- z$MZ11{^Ja=`R;|kXySU~rzFT&0CdQu-PiQv!!tLjsQx3wM2 z<<@ZAxl%YNaJxS$EbpU=#Y zl5xwS(7;E#uK4wYXEw($%x(w1ln+B^JB7!S^@hGB*p^BXX)y{^gWj7b^`gWluu`I` zruuQ~&3DSfwGAB zTFSgGizUKa&=^B9B|`x;l@j(boxeV%5JgtBqiK*-c}XQDonbTwOB;Bs5Cr%2)}eLi z$Mtb(2??-ib-e3w;((!y3D_h!Q>=ydbfRnNy>wM&m5`tEVF(qD=lm6RnI_@F@u4{= zHNLPGG91tOE9PVHjT*6vwoEaj%Ci-qrcsIDSdUva2Hzb)QiYvoLt1yNr&{4Bmuz4*>t&pyY;usQUnlwZoaze9BsR@x+}0 zs0Sv_rs<^qLKK<@U#C0Wu7(PS@`JU?&5`MS+*I3WEW#|TvZ%xDp$Z(TTNRc5B6KpE zcwQs$xnOj|D|dt%n29h^GZ$Iqp3bohb7|f5l9*hi5rn}g65zn|m?LZ{-_yDM?jAOD z{MOand}!JiCamg63w$^KYP}Bt=ZuO!K!tC|bdtYFIntUhNECDpKLY38{j)PVUnCdj zCVy@67vjhRpZi6{#~%hg;Cf?dsE0lGsPF&^3%2p{dcdgKOmu9Vri9xW3J4y7dsuS! zZUlPKU`yp`8)k}F5GZ4TkGyvn|L{%-3oAN(*ETwJ>?SIRT`QPa;{3Q)>A^BE+;s_0 zJ&l1c>@7+365p2OP!~s`$ULQW&7Udp%WXTN~M6t#-!5?8GqTUkd?0a zy_V+)k^Y=cMUM;`y{yeOwGEG49y`yfe0;l)=!{zd94P!W=mzLbY z;d6w@X5=g7++0UFV5tsXTI)(-!b^T9T8BdUE{9bc;mqqXK!D5FR!7{okw9e45jcx8 z^P}jQ9$6m1jWgqD^`Kuf_k?ey@U*VHYo@w9X#Ss@AjspLm(+5*83g_qNI?FK@@ndgqyEERg5TY*%3X0-PYn| z`$83X%@fWwu|(VcVWOzU;$x%FJm&UpmO-%^L-lu-CmzQ!5E>`C3{9)N9p zr|1xAZI>CMHob@th_jQ^cXWI;7wVGDu}s)nnoKS69sr8bNy-Xjk&8&2Eah!3M!Q% zf3GSnw2-Qi@F;!miUfSIM^I|HMPX@r`r#I`N>Fi!eschkz4^gLM5(zTsLy^!2P{I~ zy6?lhE#9TEtY}%rxJ-wvrb?PFh@}(=Oj!VifLc8uSH@zp%TVe%Azq8KT75_sOBG31F82B*jAd}xKv^E#Apvyq`V-E5)d(=j0qdirYDsk#3YOg!1)ystiZ zmlM?;Ee29?8D+JC$j_bE?ia8ll(kpggF$8Grcw2`R;ocm6QPS^+@zRpXe~v{3xxmH zWEAF8XO=pS%C3Y4FI-}8?e)^yn@WY_(%EzlC<~$~=q3g50+Yl%(|xt!LlZ*K)bdVQ z>$p3Bh8tn1|nT#VVawS-ig)sT&tyiY?ps!o*zwf4lNo(DT39&AY?5wI|#W)a7=4!8^oT5p=A6H|9}pQhV`U2eo^tT>sj2@?vid z4$)E|!Noj!HT6MR&poHu#;dZ93nLFebWhNy(he}%`7Dt3Y1x;~_2Adg?ImX#X7vU^ zl0<=3YqAKXEeNA?4aZhyT?n%KfZ{<75ycHOm4e@Q0FzlL`rSCiwgT&M+F=>9$TL^f z4eK~Zz>BJ)-uh33Heq;*wlGe_{CkwCJ}6O;f>|Q$I_H0S=-b2%Z)EUy3v_B;y_W-J z`Uu!Gxtgef-?=88H08Q0VMuUJ19Wotet{7MQPEUdX1iE2tV2v< zQ0oA(Dgc4adgeEN$q54={IvYBHtO(F8|EP?T0`s~4=px>!fG7%HLD6iuc~fOcAK|0 z`@pw-_Z`2z6#0#Pc93Z~NipVQRDK%<{>@Fy=9Rqs$%)zj^63;j;a2%5p6s)5&0Us| zrm|;WbQGH^Hp4Ju!m)OUdAg}6qowC}D_M0iD|w5~Tn0cE&VhMgf;O6e;lyptM)c=1 z(76j|Mzh%J2qR1nfd=9hQKBg@;8_$M&p&j4a(5I_{kkb5H1(%_b~CGia>U_(C4$Wx z20POA$o0>wBoocsI_fj?jcs#Ep6cY>(ef`k(J~hbqheJaE&u7XQN|mMU58WgH$2YQH_lKPs4j!D&isQ#?H@7+feT*XED+VeI@f#IE8=z`MRr7p0 zHUODQ>pc{hFtQ-`yR*s>o4-G{S554*ai0Og!kwn3$&T$vy={rDor@YFaVfC1$l4Dm zSp5K!4gfhhC}E7|6qW6N1evjco$7$Q2zO#0=4_Jh-A7#W{BR`%xhs+58zvqYhKL-; zTysS!DbW4K;8(o7_ow~H?|+XvUX0)F-G$wih?i~I^t4yp%3p-L<}YfL5b%Ee@W|BS zEm^ja_W<=^VUmQP_i4O+!yb1xc}M@W(j>PKJ%-6v*Qw5M6D}z}8zmIK+|m~bJKQRnwlA4Z?B+fOzk2fyDKjlvJ%PZk#D``HPQmRUWW#v1)&>S z5`khs7!88zN=mHm1(Jd!Hm9y;yp*-7eq`;%;m!J1l1zfkVp4v8IN*M3a6$o0TOB`7 zp#1mPC7X^*w$<*p?~S0J7rsAM_O+ey1&qi@-mwhKaDg=}x))}Oxb9!+U0yic?A8o3 zs!&|az^WA~f#04P58c}EcplgHuz$Ycn?>kvnLVRkTQ10oX;uc;^Lg^REu*4?V`U;E z>FXN4pPxzkSrN1N=_ZQUO}EF{ZN?x&>zypooJ&t$l| ziE`OLlt8ZOf&@f&{5pB^+}3v)vL=7~-46ohI4ob(#6&xC?WNQ@cS>5nxz;N^?0uqi zy=WwASf^|rAC-6SsWQKnH})-Bs{M)+Epqkh^Hfb0iMXojA{5coh0u5))R;+ERgCme zT(7n$7Ad?nD6v56IW)KF#8A3HW1UeJoPL3%Dng#A8IP14G`U(^Fgp2)CX%lh-OS@L zugUTZFEDnjFihvxEQSvxu}i`{CrUI!Yk;w;?Yb9%<OM@s z&YsT%$d_U6G<;yV-ANW5u7%>EV7A(3zNaT9BwPN9#Y=o~YH7N!_J9qMQ0L4lZTIE7Y=??;>OYOmY|$E2!f5;N9(`k%z;0dZ6V$k#sBtg%s z(MY9{zL)DI4|)ghyXz8R6vw}ct^6JI zEd<=}9_a;^qrHdy-6O?iIof;p-#u~)pa*6xvRdZTdq=NxK(OKw$jf)VV(Gn~EQEX} zB5jksx#D$mF&Dy0cYa>)Bfj^Or?+x;NXcX@_e!63G5E1}fI?D`dkc2KH&7LA-}LCF zDyUMqkX}p7Ox&f^e%z#Y4>S}cz>B|1qgX~}7?$TWO_BIY#bjZkXwT`G@sR=_y?%0u zqQraS0-)Ks5;#-FdeP|#l*#)H0*T+7JCe>v&y9?ns2n%y^UaodB8~pRT%Ts*iX;l` zrEk^hd;KB*LrjCSzFHtPLEYfPn_!AH+waY^TM+V+|JZiE$S^|fgMVlmK+u8e!Ct1R zcls&hZcr9Cs50cmcm!7FK8LO*YKL}fwf{3P=F#*n8^y-b+<>$NQ7EoBH?6|Kcqfrx zo;-)WkyX5C2z+C)o6*uyKUG&z9KVH2V2G94&ySBe`QeG_BK~`|wo?#IY~4IV*55fi zHue`nUhOaa0r>(l;N@Y_jYPVjicy07v_>Rw(V!~C!!SkaA{zVtylpyFWhBz~k5M+` z-;5rTsA*1eK>jb(5`?KGo-1k~Wfimw#@WT(^Gb8MXEM+QZ z$cH|63xqQ7Vts%n;;zNCRmEJd96IkuooQJyzpOBQBl^h`6X<)^6=OGx;0z_}&bv33 z{ZNbP1noZ(7u*+p;&Uj1h7Gxx>)!2JhI0eAi#!2?{X5t)1HI}lcansUtSU0!+@VV% z&kMYz%PX#*U~6gn07B2QOe+*66>94q@SX=WtzlIegrw!?aL-pNlLE=oQaK9eHRCM6 z6yLXHQ5EpK<=INH?H$nq+HR)_F=7g8bq8i6Vz2f6{t2U=Hp>VBv@52Xn)h1xMSWt* zqB6!_Pk(h>O^1m?^*i2hhBq$+*`9!ktc*137Y(K@9~6vC=ILBsPj0T3DKizewz?n2ipFWkbZ0Y6L%c!+M~y469tpx2 z8-mMhz|Z1#h|_o|QX*(@a#-|YnBY`Wjw|m5o0?!MZlgD#Dfv9y zP&o>?{`B0b-u!{xEe4R>0*RH*D5^hoA?e3gd8E=H116M!vF_heHoUbH4SzwooB%hy zyfhW0DuUM|*O1?ld&m#S4dj=mLKhkNv;ic^fSPs@=(VqG6rVvN9*6cR4<2qr_g2|G z5-fC$qfE~a?3zw@E=b6@Nd8x)LRi>HD{mDi3-exHq@~9c(}fvfsS`H$^@RUDmlQp= zG#W0lbLuwh5)5b5B0J1Tv+xpmwwlDL!v~Q&y3Ze-S%b=pqct?IAI##G}Oz zzz{$UH*Bx9if2F3L*ZFiDrJK5K+sTk&eABOKtBN1G(lXJoPx}iD85(!7JIXdCQ+<4 z0RI_ki_#0UJEa#@{0b}-(&ShDPrmnTP;!RS0E0S>nknDmQL{49POd21t%n(LkgG z2Eg-v@BZ?~gV_V{&86;KP*3VCwEoGdK6oW27PHWji;?g{TJQZFiudDo- zVcu;f#$_`K(_*4WQirr~+@BqB3jLOA%-9FWZ%1x5XF;`>S?f$#nj(k2|eU*KZ1gy!g8uGP1bjO7(~UaeC3$Tuf)8v z$dpV?P3nsnpI!~)_EWjPajKNIgmFXFY3rfvJo?C4US_H-gaND{IviWW*` zgkW$@7HCaHh$xSy9NyvpiblHV8H@wA)(lqBLPS0O8^j6fKr6U)`$zdN7c_f2(-+Z9 zP0VQabN#dZ;s0M*_A{zyZ?30z@2iR5(MXMV=NF9M8GyPrNa0^+J@E+g1@dLtiLMGM zq#Ga3jNxZd>?uTy(>$hP|Cr5?RwFPbDQ`bXXN)fW9KcK*{JVu z-LZ3L4L=>70gjF;|WR@Ty?VO1i+D2u?tLL%X^0x>?GjN036Mx8FqI{p-hGG<#Jhb<*XGJ9I71@*{bqd8bERa=9+n|QlEV3gUzq72vH%1S3t?v1X%quiQQ2_?Vs<`1 z6?olwan}W2^14exjV2=Ca)M3gG)`i4@rMhnj!Esvqg2=qCc2I3p13;K~NkbA*#jY8j~~ZknFrOc8vT z7AOcoN`0wtD(P1o@aR(%ik5MW7#;Wm*(~dEx%Q!8_KkNNBVaHD5(q!SwuI-}Y|&R{ z93>ymy)QrUT^e$DIyyeclPtZ$V8GMZ_fW@5W=LRC0R1PGO^r>Y|7?UH1_Lz*S}!7X zmBgcQ$~~+2aB@EliJE3Q)m#_yG-77ND98tldg{dhd|I`bqcH` zE%rr#gBDJozYF%<_B}=CyA=Xc(R+#T^K=LdFzZV|M(#1bIJK-VRhC5meAJh+uLIXi zjE>#(r|j#{b*ZufK{7ert1kh`eUZB-%&RZeXfSAU|E{jLG*2w3t1)ZkD!$m5^O?dB z)d>#a0CY2<)Zcj3mjBGxD{3e8A@~zPlvE~Y!6Ein+9Fk8klpIA3DcS4A?YQhLV@Oo zZ+0_-T!&S2uY1j^a@X<7tLrTfGzw6hyVlA`vq46&S2M*dvAlyC)YjEwFHh|ov-$b za+D%O=9=W%w&}qOx!iwugOgUWyH^CU9cO423DU~|u7(6<xP9zZ6GNwp0@3EZo-7?M-)_>$kjxN%fY7Hz0C+yo-XctXCp|TV_LX1G<_o6lL*f@XJ6k1Wq_r9FIZ8vDmlu6GH z4~N5{Wt>$l6&|+#_x$U@MV6Cf=LxjJ*?k2V-ipVGIxPX$|A|JKfveqcr!CiGD^opn zc`_I!X2yOn$BPXQqBC|UmZ?cU)%&v=^ps7XOg-4Gays|c8N;t^Hr04b6xS`&Db_|V zm($jg8a|(0_A^`qtGC@(F8^2G^s@ummdvOUt8LO_~d^Jh>$oW1HR4U12MV7ryVoZnEgW!ocvIa@a z+9#r&rz3?)N!OK3GFmX5YSaDQm}sY#RhWt7nA6m9?IB4@`V;M{Lg^&cmAi5LIt)uR z#1wv&AXpySjIp^GFxC<=qnIf*c3${*E+KEluD^y{>?g+v!shoO+t`0iAp6aio(!bG z@}+kzU&4->&@dJSg~keOHNZ@BSOnEx*`b;au719hBN;^`2q*+0jp@Ruha&`qLBGV- zXJ)-#Y4)AQiJ=Pu$$%BawKN#rjK|3)%}6|mn6)%`E%ceoCoD~4&i%*Y_7!1=AIw@>YFhl!3+&&iRDcq9aM}gvz3PlOXUGpD zen8pC5IeHZM+wUNfuxLR3}{LVua)kIQf4(%9MB*oId|N6K)-Z0=9T_oQa=n&m6!B= zp7~Npj-1xrO;W>-g;t=5oVY(6Zj->eKLTW|g&(DiwttXK^KWZP7!|W#C*qH;NKOo> z7Yi4h*&1+FCLs<4wmd`|-iN^e%#ET*llCjdSAuwE7*~Cg*K5q1MsO}%xLYO_mC=b{giAR?=P{0!5p!d>fu{0sUp^B_ z9aR&Wzg(S@!j$Zati@_oPqng$8&F)8TDHV#C5sy7?14c;4HG(Kz6yOcV(8Of!5QC{ zlBI6j+$fse7zw#vuF>d&@Yc8UW^4M4b?}io*1ru}w4v*#T);Id{{q!3bHnb;#Kh4Q z&MVKcBiyN99QT&4d7^#VQi@RL*c}Hd{3W{Z8x4z`S1*cw1V$gf!|ZeWMLx6jA9AzJ zzf4gCaw2(oBw(~52n_JtZ`X*%zA4aWryO4+hfj5aa!8-#KxGl49!ofF*|myxX{__% zUb&Pj(B2l6s-tZz99v$=o&0$4YuAl!cst0;kLsoXj+{DV^7bV5KS5B5w zy-=Jbw@O5KmKLa;(L$}iP5hO!cyLuc3T`HP1znk$OwamY?_gzlW9M*JZH1US0+3;9 zgLV~GnJBsm~7`J zi?`JU_W+cjbX2B+NX$|hioSkjY2xZ#w7*8>4OKK2_Pbs1`+*qQBQ8KIiA(Gr9K4PE zvwVB3{rx1Ct#)!BGn-+0m}FvQ7x!(mO~8}uvopke`Z~V^gl7PBy?H083xvhyRpJqy zj!TZpY6@|1N-Yqdsdmu5%`q3Nf8kR~pUb@+>2%-)yZ776u)NcQA%(WdWIN8pY$*%*Ff5Z`J8PU3*>cL1w zjohpAm5*Ag%)sy&YpE3E_)%M)FKo>|-i7U7m>FFZ>b}kvK6t^ISh|GN2Q1t4;IbuL zRtcIU-DiV}EpmXeYL$wrYX?b{LLP{DE@`Aoc{+AzA#$;u$idw;8i!lUC)xUJ(Oe6O zO$Ce*V(K-SN-0cawYHQw&IN0Xo!_7^zNI`5S`s2yo5WggE;3r)S*b`|rqJb;{`%_b z(kVN(2(NCb%r0G@QFqv(Ri>UfYMP$yDU{4AykcN332NYUDuZ3Rzi?yf0KkOY^G87H z$IsQNh#D~T(N6` zdMz75cb}_DmZQ4NteTk=_CD%rH=n(_bu#MMHdwy?wdgaoy_`Ie+Rjm0Y@wLN#rFxR zL1jlpjAF!~kIR9;B;#gDE02>2IbldfPy#T;`GnkKw4DMN3k0ZOnu#8S_|J=CPY%^} z#epfyGF64OC-rmG2gj2CGGVi}^4*zD3yisHldRK=2ocTkrFfyH>$<5)xpNI&G{9f2iEHm~+4|YkXN={a>c;0<1UICV@83|G-t8y|iwyZELfU0bd+i~nSLU+>b^tn5B^4QrO z6{IDroq8c+aXNc1M&_pG3h^L8UzT@J61|-x$f5M1*jPX9_M9F`hky^qYH|r5QB{Q{ zoLnYTk{}p7b`3>gKvyTFav`#)!Fg~>h7gH~P#Y=;Mo{t<;~}xqfSIq?ivnPhDH&e@ zL!F(Ti2#UPu{I9u0=&o;cB%vn?^@f=pM#A}Ouk>-8@L(*eiJ!~q^$IskxC7>m2PFB znoEmKB5?Z(~VU5{Aq=KLrT<`pSrKsw<$%% zxYz^_r8YV;mk+vPNi)zu&{>a-eUqFlZGLYMrsU?2Bg6lOe$Ij8w+tBO*jRI6$T_p39nRu zi&*3gDBJc1PW@E$0;+@Ch-4j<#WM>K(JEl$p$q}dRXSRM03|4IM!;w*3ztw@=d6P{ zj7}h66iSL7MIl5nhM_Pnp8msN!I>~}bGmZZ?UiL)0gqF{6bz8B3Z%XlUD2rJY5T?N-Dgw#kwP!vHeF`k5oD zH1iYNgl+Z5{1 zJ6VgK=hg~OUsPz%m&8(dIl5r?RPr74y{!5!DUK?`TwO8kE3cR2Js1D`0L;{12|VTQ z?*fbl&d1A%H~|JGMY`PG*K}T@fLmCN)eIxbrpE)u3y}}_2O-_s=JeoSE?L}}`Rkw3 z%@ecw?GyzA-VPf|zLobaLx_*+UDg%_O$KCrSuMYPT7XqmCCsp3p|BoQ$evqCXPQ=S z0Jmc|*X?MxkkVk{Pn29=Qf~NQNP5h*v$85fl&T21;I%o!av>=db461e$Dn3s_MtNo zbg2r%=`}@;E%JI#sH5#+lMDy8*Q7MRxa|yt`!CMSEOXYD>7*H|m{_dJgb4+O?>=_ER3#=6pLjf|64gx-U`qVJ(@Kjwhj0Q>Oakm3X(dOed^@tj-J_I-KY*j2}0t z;jU0BwNfW{*#i;Bf!(s^?`qG39R$WW;7=z?HZeHxcT+OqZu*&aB=a*zLt$k%HH|V1k&DtgobGHM)KNn~V;qt& zMycde6{|L;u6M-Prw1OY8}Vg)dFHB4*V5E%Wi(sgzSrwTZ#+>N4YS_NMJOLJjweoj z&{L?CEIyXxJ$8Fg?*6^2VO|{2<ylRyFGS5-Ls2LYcVZvo65+ zd)=jd*667TP}47KJYmv2nx~dPqV#?|ibSf}JEXlgaG+VbuiBCMMO5|dcR$)!Sri(P6K^4+E4)fezKS20(&3)>(>*c0QphSG7 z0FdGQ0hbThhNhT{tb)vT&}9U8Q7a};YNoF@b;%e>{L(s&OAS0t-?2!<_7F(0APFKe z+;hKJC>nV(>+i{6NETL&Z5jlmyW`VldYpMEzR~a2;GoUbPXZbN^w6;%{#CIN?Vhse z&)$vlGvM;1%d*Ol3QggstS&Fn>)6mLJ$l&aUg=9YjA$zJ64kn`R|m;ZiuSi#j8+0X zkpV2GQjkT)DURY+LZrpL7_&gNAsVHJ%!7SjYUmgCp0C@BGt!Q+wzZe5(H=M%fWE4A^%l7uQsP72T9 z@?p(@u&8)$ly+1W>`&To8tc0VS~0nmxw2P!0`tbV^Z$gx~Le6faBc+u73PNRWx!V7%Z;0c@fe7 z4CswIf@hxXJ(#h@5;`I&FOvF>eTAI7@(!0@>Db}z)jq1(O9OH%YR$AzdPuzZ#UZI{F0^=DIO}~8ob{EZAyv$5Q*E>qCM%1@d5}%%% zm+mk*f!(O+SX8OWLk6B6>S!F&khbx(lICd_t)%6#Zf+_TF`9{y>VQNJnbj_h5>1X4 z>~)};=6(qxa+!kBMVe=fHIh4BpAuC0O*^#!R@5!)rg^Z#r1Q*`Xx#y`urDWll}(0o zkz5m6*nxJi(a@#MSwF>3*q(6=6%y$%YS12$wcXIkah_pgrS|-$@%$3 zaQyiWb2)IWTP)I5q39w0uf@(n_z(1$^B`{)FZe~C!o5)^> z#VDqLw#?d1MM{_z-g37EVNG;X-Jum5T)Xfa2Nfvtumr2I7E7?C$clN*fm-XEGPoTW zz4G#dGw5%n>gRR!`tSSB46alxGirxde##PHrZw3W^%$>N z;1Zljc@BhmdChh$`aJ)7x`onue#+GKf5D0ZD|Uxr4{kxVX5u}Z;}k4{d#o0zT~lWE@x@Z<`?iN!PQ$mG-7Cj5 zyk75!r{zCx@3okj$27g(?1+`;FI{vT_pE#$@TNvW1^>t07dui|FZ}hUM?4+yVLq8s1z)zO#$6+*Dh_v&7W*a>`8-IrmwA(=VONeDal z8}~GzNaLIa(*@z(-E9{jE0K9rrA|XkXX(zt{BxW}^C*1n`w_o~04~EPemE7=a}eXD z%z^jXRAfG2sLZfdWrN55Jit{qdo|@{BL= zizlgRgnl9wvfk4~J=mtlQS$uRF(f&{>7GG9)m~qJ`s(oMo5#`` zRd1Ok^lN99P)` zgwGr$R4W;Fc#Qy6>nKc#mL0hhrXUftGn(e)zs()FUQpoA@|4khE2GAt z3%rVaKb1n%byWuBHM^lVRuVBaSjuW8S~>M-om-c?OE!y~*(kt%t5QiGyy+4>gXQ2_ z58W!q9ZR}ky!v^~=%o9)FCe=nW^_?&zCD~yBVtNp@u83SJf48iDK*59dvuQ5L2;UQ ztt@o%yOp1qLGJoyd%7W^Y8h1(M%{ktrNiYi)U8VXgMS*%bcl10+^|1I_^FQv$@6QU z`PTz^UKfs1dF6+%JAL+9V&PBrp$BTez8jOoWlfJ}58VYwd1uiW$p$gjjyo9EGABx5MW4R?Ah3Iz%Yam}gRb9L1W(&?X{LThAbD6t9O zL;^7^8~#2q{rmXDWD9!1^wC#_aX$*QGF<%@<4?2g1_>}AK!5-R+t|^qM1F7focoqd z4qnWGu2*NV?g|j|&>)B`2|4|a*yMT{7u=?z1=}7icu++P00BzJWDBix-h&4LVol|05hVD z&w+1n=Fv7@G{r!D8H>hmBuEMBCi(vWuwuI+9U;t#|KEX-pD6J%_S6K6Hfc~s=dETa z<}m&6_NRwAF%vDYLsFWWHo>K0;(0ugxopaDCr24)4?XC7rD``UXmIo;lF9kof-c(0NYqseI& z_P5|n;U0QYX_8a8nu3YW<~9iHx5=1rf$k_4he^V87?a3+!M4>KwepG@J1t#Ff?V)% zo73C|S}B!KU?26Qw@w;@p3EI@a7I4AlN~Y4O=kxCaLt;GL@`#t*&a~hRXEH^HQ+}L z>zfD@p%06F`o^UTq*NqSA`c{vf?AvjCv?T|E$+&hF*gi^VqtC8p52G#PH9uXhbGU4 z$07h?3h^c6esf;lESysGabT#sq+^Zmx|&oecS^FDUwv!-6My)YO{EZ|f?vKqy>(cf zu5NGjSU-I=>v*n{m)&0c3{b>U%5r{NQ(vDopIh+*T?~ui#_Cj=AARP7+qF9B)D#xl zy>dCT3F{Y=o+BN1f3e0}!$q=}`ZF%6;+2}O&@dPs#2~hgin&-4WysuI<^kfcq6mO7 z$^tKUX+nD2ThrFJDZ`Nbgodc&!Ss>#>bCxCeD?8Ra@qHy=vMN#( zr#Z1LUm&h{lfSrpcNVqr1n~Gm4u|bxj1T*-q)Vl>aQKr;WSDiQ+szGdi^&i~5NIJ< z^Z;ou62t`Xc)=z!_P}yOUhz@7a9bm=wYan%zENRdS-B8QIUuOj(8KVHp$9dmxIf2c z#)318vgP39Xmb+RGX|N~{rXKJXf@?{btqi!6Lk%Ooyc3J-!){a|N852={;{PY%E`a9@BAjn_?)E3fu8_Unm&eTDFd3rk1)-tB zZ+TUwlS8x2Dl-yz|I2VV&X!~>o+WizpfS9!?$Hb3bE;JFsYt4kw!_!;WX*$vVA|n5 zqabIGSI75+!0ziiTLjN6%$XDCys+)O`+kfqglAVFS0l?|bu$3B@%9k>Y&xBctwpsy zT89U39QK;pN889Z(7}m^^BbQ=mYwHbZp?lQIYW&V-UeRv!wP7T~ggHPqOlgz>TE&>NYT?xNXpfhxhMLM$7^fbcW3_|svn z$LNf!4-RrQMhJ}hHcf!`ORPs<7&#Bz zw$k61_QSZ59!p{P%AE(3S`g!Bnrb(shh|J5yG;U8|CW0`TW)3`fo0?~WLu-mi7d?6 zXG`bhedu3SKSWD$V|$=X@~)yQPD5E?cM5OLCHY!zv3f)|u~6`a7%7qBxPT_-otn97 zF%e^NoP}m%nc^7GIcxB(3!Cv^`LY?CEo!$KQ&SDJqLuVoTJ2^xFJ2FUQnSiJMw7@t zI>pV6MvAVJdt5R^HlZnmi)b9*FMifS)ZzQ?m_&g#|F-DGs96$869Rb3C= zm%7l`W00C`IQY~KX`(Y(9VtSMAb=}Qx|ppOdN1(9M1N}6#rWEpj2qMI4e%8!TYji8 zg+=x@p21a|G5JE%F?$1NT^<_ByQO-=O7X<_^?;J4YGlQv@rj#KnaH1?w^B^b4CVk< z;MEo(<15RfrUL;_aHWvB)cVPn6S<;jR~0Mf5(xVrOx4lPbf2qWz&+x2! z^gsb`F*BH6G;D1&c1F*9Ll=$o(M_l8;p8&B_jty2L1ujkF+iC?(C(eB9U=jCC|5~&r))wZmLp@6Oa&kS`#oWuB^qZva zy1y$uMUeBZ7x=3gu?yY3p2;!a5=+W~Qw|<2T87tTOG_7BJ-cQK9^l9L%mdSYrBAls( zUe59LXdyih)Xe<9;N!6fOKrqn)GvZ!8x4O@HEtC84Xto6?Y7Y?a1;}LE@?P>P=I&O zWMj$3_@80@X=IO|4tiy#+#$_`P8-`xIU2b@WeX@nft#anDps6atle`s*HuwY-L`~0 z+GwRPH5Wf|PwZiQD)-HWNkD`+r(0#s7=bJHcTqrc*OHl@R!+;~_)xN9?)h{+cKJf-8&ki%i@A|JrK)P* zioUC$2?Se|rUk5j1g?e!sH&+|4I-X9uq~13GU#&k^U-Ub-lnErPe7d~>b<=i;e8Pt z_YQQpJ;N>=>ggEp1xXpwm_mh)jPqC~f#v+@p%cmh_+ z6E;l?HcXlp?^jzBVx!&C_j2aQlv zuGas?yxRSfv2BDMN0E6Od4-cGz?>&0bZ|15p2L218Jw3AlN( z@qKugBWNSO0({gm&kL0@gn5iAX4h5@trgc;qcD0cL`hvsr|Zcv^3yV1K(boPS3d2j zbLqE?`riMR3>IbF+3`~tZ}nG7PPQ$yMocJ{8lKI39z29$Cgu=v>-*gtCsi{bRO+z; z$)Pyzq~7X;kS@*I*rWMr4Z>$oC1zpt90v?nAkuu3BommbN=CO?3Nv5sf_i}z(IC{= zeSlFIt#nZKdAzR$$N?NhJ@RSyv^%uqa-XSL4N}zAgP3=R*Y<4!{M4U)5A@z&>i|yc zb|1AH2+<7Mh&PgtBf8}=nf+q_z-{C|(Ekd#Ddt~{By8JHu>TCbidSD0abC}pwEM+8 zRsEy*$#~~fd_MBb1aoCBEj~xn1f0js_T&8Y(S)jP4IiJQCQ?LRS-!Fe=_j3jfb3g; zoj7)Km;TRRCBf(4y?z8Z`zmk9@^|yh_y#TwVMxS%p>g=i0c81wDVW6qEX3?7?9wML zz5)ZbFpGUWCC=82Eu2i}**G_%EqWZ@jaNvTI8RLz3Dk2c28X7lk~X2 zl2~+jPS_u3h2=KK&w?}#!6_ni;hIHZG`pgu@Njl{=Z)6E&id}adv7eSJ3r>uYxn%M zZmJ|#%adHq9f*I!g)En(`gsWW1;OB zGMbKKwA_}BSu2zepW&4paIyK+NEcJKdVl1L*rF^9_dvOj<(Wxf4~YWaOp$~7LK)AL zN||(V!5UBr3*THFQ<*#*yY5EwVxQIFJ_!8K-SpJycif%zqZ^z5d2`rJUAQLHWfHpO zwu{|mKANLx@zzBY$fI2O?#|gD%~i#nv*;qsv}$oKo}PK>V?~%tq%q!oq~s zgi%?#2mFY0F$wyRAgXH$2LA*|N;gwVz-bMvi^_8<&*)S{@qno4+?Yg?x|>y04MY1U zXhr0W7@Y$yHnA4?V$Y$^ztCJI-I}>l)kJFuih8^DBK(bV<&1KiR~42t8Aq9Qk^*H| z;kvHW%O)i{4UW!?n9!G<7VlSvNVQ7Q8m%ovHpe4j!rGbxxI7i=RuM%a-zjR6$X8D_ zjNVxVD{VobDUduwiXNa)S5S&Oz^%9c{mP1+F$+qCVaQsv^{F&z{c~dyx zO&vC`djdf=U(BO__W%3jW)sB!SogEZ7(4Wy&`?ck-wA4{(2Nw?cEG1vx{VOnKK zdIG^90V|-CF8%7UI5634-niEj$qdF^8kL*U!-M0rR-Jj!&uyrJXs0Jr@0+Yy#WbtG z{VVvIKT%MeA@!i?H1}(=YR7wX=G%?{Xoul-2S6B%QTk0m5<56Z>b?#Y^M813v2bBU zZrvs=PaT>Vjj&mQzkV;f_RVinBcr*m1)nF{yVN~?cmLE2vt?{t#T46cbxpa2uKD`q ztFK(!$`S3A3`MV5MsgL*Ok=^T3#FJQK5h~k%R(>JZ}xsdvJ@%?R8aD{pq54+5?W&i zGU)45DioWjwxz?6rrJODa8ftB3XZsLXj=eNCqr^}Mc0gswGP}o{uW6piRQMWkjQ`{ zTUBWofOPkpWooUUF0#p_7HVn#R4y4>j4{6oOR>xH$ZBfC>%&*U*b{hluFW|SRGlE$ zClN1Vw7755@v6oK8wlqc!i^Z?HU5g@*5$LMqH%08moKAe<4fT4DV)Q2V_QmON0V&b z(Bu{or@^I;K;VW60ubj-4NS?5wiJz<+i-8oiSRmZn7K4AV!Ulr*EKR}F;`V-R6Qx` z{i1L#r)Su=>_prZbf6==Q!oq^SWm$RV-Q?3lo!*_R?^++-d09VMmzQyoY?RCilnZ8b3T|P3%f*_3!o~AB1Nzg7FiL zzZCc00Ldp7`IWaXgCkcL|NO`7CphDuy4v`A%V%#r_Jx*@4hR5hc@ts8%|OpNL-9mB zMI0{GQ=(QC?4eIulMvo^=xSHbLAe=d442Pe&k z9e)FOr%`P+W0MXpjHRi_!2mNKpSvyT=m(&$o5c|3t9UQ}o(tMD zyqR%mC#DBL(9~2Y^H0`D>STa9zgU)48vcJXwe=hyKgQ@>m z5qA(yQ~Wf9L@p#jHG?3@+ zi{q0bnW_ZWc-U@X`EQZv8q?90@SBLpvX*lZNrXWc7-d^IB*0?B7^Ams@E0vcxpirC z3J1JfPk>S0WB-_|Xy?7%mU;U5;`IQ#Vk4qfKXb~Dw?aT+)Hi+&RkjO@*EG%AkuZB8 zeTSzH#{l(j$Na3hHSB72Qr4nMC{-T-DX2}$*l-6dM_k4p4qI(U-y1UJeaAn~PC~k) zzde(;zEuMi@5=n$dCvdynt{7x4Smdo;ciMMd*EHcG@hgY{ygvRs1h(>qus4s$5u}< z>^U$G`>_l2ByS%o6C>m7{5~DWP1C=kuq-2J=K%Z(?#f-9o7Vf>>}R8YyRsU1wEM$T zaGaKsQVxTQAHnHAGx(#yj>KzzxB%dHDxE%4Cnc+om&!AMO7MsuWDM|;>IkWr$UUza ztHZiU`BphPi9p)qvLB0pnW5Bo0%pKB_8rAd$to7{CBHy;s3PAW7B1%^kTPPQ{_l&w zQ?C5ymCPKyb!Fq9=jBMIdhYSynZY`w9B|D_P(!ci6s7XN&o@05d|@u;DFR?NX4k=g)>B^()qE+!v5xp0 zut2YXe8ZZfoNYw>MZ?|dJG1m4L$|S!jB?}1MIn{|F^k?o@BB6ymB&V)%0=MX)lZW7 z02qppzKt65PF{<8{c}e;G=O}g>P9&ZVCFo`8Xub0G0=;DJ9I8nixJ_cRSo`QXfq^e z|5R;jWvWeftQ^ zJO@^l@?H;_tugUMLD5L)LTL71-nn&ADdvOu;d=Yj?<$E$7fKt7<0agK*Q%-yydQ=I znwM)fIw;TJfl`!Og8!{RMcyhQTE%v9lt4RnHm>=)lxTnTZPwld@Lm-Mv03((Jxk6( zqNeDxc6Yjg{zX9(w%{mk@bR96SUZm%GxIV+0f1$>HwaA+yQ%ejNdaipXj8K`E*e_k z-a2jG&=Uy`a3cgh_>F*Fl%SE*+}!+KE!W-odI%XXgG!K~Kus~Nyqa#D#By!=vw!n) zsdwsWfpR^VZhbThP(2a&bi=$}d9%gqzy@2`*$BL#NxmNH>L@!WJ7!qyjdcR|9Kgbx zp|m&A3auvd78rqWOF{4$3wkC+EYQJ#03aSz)+)8{UI4ug%BZ~hHh`j(NgJX7T?yyX zE;vn+?*C`VHI=O|nN(LGO#=}Hp&(W0uAP&hGp}z+r|OOU(Ky(QtjMaeLBjwZT0jdz zd1unR1=cdG(NqjKjwYG=)BSG?a51Q-57a~G0W+xT2qRCd&AChevJZLmy^Gz*gpv*@ zz>NSK!8`soqq1Q!G8*NO@VZ&Z4MxINZH8Ze?Pdu6F}$%a zZ3Gu&MBF29Z+!)X-QOobtiOwCh~3t8eC(VY0^<%ZgtfF!g??FT0VpdQ5oSnA3i<&e z#|Vm6F&YroiaJ9{3HcEe38#Iq!JmH9AN6KkqDetOgDmLz_(?&7c}zQ0xq49=lfb4ZwA`c znM1(N1&)i(Z#y=`JG4M%(TGFgVG4(T(4ayacr1qPBX2?EPb3}c!k~bJ>85y+VyGr_ zW}vz=6eo$EZvaLxxkkk?2%~)jd~ALT*J$6~+M3#lpg*`UEtV^0!3HeH@>%91W+wt8 z&2k`H#3n9HJaVZM^B!+CBkcq3A$%}7ZpMAH>$=eu+&QTreXZmh?S9;;Dq z-48?9OMgP}fZ8pPtp_x<$!(A3K6o8+_x1jKRPE08O10Lkpr^M1Ro14;kF|ZKfAnu| z&!UwHFUbeZxbtBKg$pU2j>_L2q{xh0|8&MzCeW6pk9{iH=njF%c4c%!2t{2Z6LhN{ zsx|YrB$aDI$HAxr^wR&icR*bpm_}Khp(z%~3@zpaQ523qP(6nvYF+2iT;-OgHB<^< zQoY5>2{L4|dO%$45BI!OPovrN-@JYr;Gu=zern5=gGFMYq7KrA(lsqTr-b1fh} zwD4s~k{d=)J(p^7+LzR10^PLm5zC?mh&4y)1#`vR1KS!?KDNNnXx;#7;(1MU62I`@ z+&B0e1l{``mDq&>HHE(EDF_;ySz~+%OU)F1)VySONKO1i??0vQWFe&bbPSyYZ%!d+Sgd(pdB|k~E-P=cLHJPmZh+1WH4x#rKu;6cB-#=NI{Y7@abA=T7GcW!*;+OyX-PKLiEH)4b!g z*aaOjOHoRo%j9B1`Y}Qud9&`{MiF=QPW`Ix$yjrX%lVzjZ~X6}tjpIm%xgX=IW==~ z3ZS|m_AqlNbdH$;-SitXN?r6^Wl%Sh2C0CoQ5(L8f8$pj8_t*?ADY_9zV+hO1La{o z>-%pfR>$(v17)ZfN^O3!Yc0OJl+FN0K}UH>9}dT?N(RnAtbe z3tSRSAT3(UpL0OkcUvR>`~06XxSQbI4}Xj8@B6zhbh>Kp&TKa+|6TxR4s9q;RKeZC(gW&3!)UT z0>@e2fW5$Loy^jv1uilfW{Oa$ri}5}mNDhm2t>V(7)h+wEYcAa`iHn5Dh!ofa!+Gn z#i;Z0H{MsKmg^=~bSYZ~8#_kBp>L7avp+mZ?gwN&x9gl)S$3TyBEw7$HiY0QKx z%}y1oN?V7~Oyr7=Tc>m*lNt$7`kJ^XqnJ%x-^Ve@Gr*)bgAqo5k&tl`$ix)2r| z@a=&G3HaO?#zWJNI2JM`fk#*ru^_yUBbJF_#Pb|3Pt2b}o7Oy(G{~p{WG?sFqW|B{OB)YK12Zm3>;BY4^66~>G4SuN??uA zxprcygALAMibH(L8uEu({S}_Wf2#|AwrQI9=d z5QKR6r<>BZ+bJZ76sP%GbU*Jlw?i2vz6Ft2kAfGBW8vg`w73HYiP0=Clo0M_)cwcd zqe1AE{Ci(-Sd7J3gT+W(&O5OISL$3zu9||>oGhSmq-*ZOL9Bq}{~+H9{`ugqf9Np) z{C2xKae4w%LSx)Z2d_Z*RmwM^nNkxtNb$J`Fh@2(@+rtWiL`R@fi_%_V#8!rk#(6Z zP~=$13vAI0)~X(8wF8HGw)u=_aSu_cSOXJ}E``c4W?$oGc5bnZvG9=TuHM9i(~VC| zc!5{B2j03?w`NvX!F5H-wTNj)J(N@pD)J7P;MNunAW{nFO%=ZhkmWJt5C$eN6nfss zhIhERHu(2r*H})RgyYDFX1Cd^@ z>)qRaEWghC@S4$W#9h^b1GP{`dT>NODEwyAFa@f!^=Dbkq;2IPNt&dux@u4-JV~-> z$w@A|L?vNoR3}{~Tyi#Drc0QqrDjRcFecj|*rYvKOWQq+d+l^>(w;PseH+0-M13hvavHj6+H#cjIPAc+G2iJ5ak4SSDqtUJ9;kN$F^QI+|x z9n+7&O|{=B)MQ=nU}@a|6{6Nm;G?xn&ni{=#eH)wLa|^7)uAhw=x##K&aD^|hrQj| z`b)t^P%3pB@a&{s=0mHPA79FqiU`-HYi6;fRAmYiBL7j(r>?sKGA~YYEQ#dmworir z*gQf;9yelFk8CHRgoG;~HFA`7l#COahAx>9!$y0%ByF9SBzxXeel@B*$K#x(J8X%| zmPsd6)Re;}XZhTtF(^k-gGF*!gz~sEr5SZWS>Q@ndg|1~s({w5bG(r!;;H$hwg$R25YT`0jWaP_6JVT}`2(@eeQO!SFHC1SC{Y`$#*bHEa>rG<)yG$dfp**A?6tD0_O zL}HOpJJb*qp8vZ@{Pc~tgPaBiC}oYeGCSX(BvsRdkDA)&h4uNo;pPoyS-r{31W$CK z`QvhBjCfG2Z6)2N^!oPdGCvvjIgzPP`86z;J+iq zrUL{!mC4ByI6W4<-#;Y2%i1*aM_|E)#hB4CsnSEL6N!`VivHi!zv(`<+%rGfyp>Cb9T8x*`l=HRrjKjy1 zqQ@asN~Dfp{244qn=h8J0hM+Ty|n%kWI|^4?g&<6r*yJ2keV!gqZ)RD>;0}gf>Ef04vt`Gb4?g$nVAar;50j4KNN?EqG-8l|k&vv=;tUGZvT=D& zjvyX}sa;mFz#-|Z9tj-UxB@30g<7wJ7VFR&Qcq}V;DZWRprr`(6+zJ>1VKw^$yH4gH#Z!@6iWf z7z=r@Xm-Y#bt1!n98(A|guw$5I-P>l7mA!istC0ZM0dgBhZ&2!m->i$(pqGf8Jx5M zB881qse9~rg3ghY*SUX7im&Jw*=GK(R`qnwa4e%588aQl z4YF#Q?76pAix7GOj88?y+K5?ar}y9@Q9Dku#gvvNACr4VRp;*9<8at1Vawf)$LRH! z65Rr0k5G7%jqDt*2|KShAdaqifDbLz!vRSs5l%HpYKjJ%y;IjSZpW_1ow8vQ+{LGH z;=$MC^mbKMxnV&$CI^Hnsv1f%p=v$cqYpqg7xG{k+KlV#lCIm3)&qHcCBOzvAJJgY zGpOKVw{0enJ_N|!uc=rFd7jG%2$>{MMB(|6MTsKr;U0YeTD*`4OT;rStbZ~D0hpho z4TByq?hx?h_tLK5k1*RE(S{vmSK}HxDBc+vk$HW*};{QwiQRl-2rqeqBc&T?(-P;Ph zv9o2S!idK$!$$+;_39dXn}hH)S<3y)Ak>t9fDb_kA5cY-1llYsHzW9x2jqsb!Z0kzjaKUAKk;%xTtQe^1EF~c99VDj z6>G;)J)F`7A@H3gJ-Be4F7a(zd!=7RY3v=6QnFNjB^jS34l(RH)@m1T#KN}Lo%cE9 z`2Ml~kJv{ki-@P44?D}o5FDM3!xyvT)h@@fTsRzwMq^$M1S6U7s&;P=Gg{gJ-uDoN zS!m53+)S$++JTTW(-TG6|1~o0RTXkWSn6=?u~Hes!dWq9pPag(tLIr3v+B}Y66;Z zz?JJ?S~-`?pm31)wyJ=ys+x9tr>1JUka8n$u#0}e1aeiWL?qJPGwJ9cZSx%Rc^>0i zj<-Sp!Ae7jYzKQ_fUQbpx+=pQ^ad!>DLl<4H5T4iVMM|Uwo;Izw8pWVuwaZ z&4(FE!p$D=4czJCx&QddaI3XwS;CedeKD3Kn1wH25Ny45b#r=VpPo2yQA)aQYhM3Y z{@4Sh0B;$}9)z-o|Q~G@5Ja5L14*2dZTlx7X zo0^86odNtLxz5rc+8F|;VOvwbx0r^IQGD2{7n z;3aqoIbsaq?<_)c!)m1PsXeww-5pmgE1}nJu39tHAvKGlrUr8g6`*E*ma*g2TU=XwLWc|Gza# z?cW?~!^qM!Jx15!xW>uBV1jc$52#L^COVPnjFHo9Wi=k+JqNv@b zr})ag8iu~4+TdKGMB72ef@Ro3sFlIXhTjr`6U4Qa>Yz|H?2^NJ-Il{ao5j>``)G11 ztGmLJqJ(%6ydv(22@th|A!ra~i2fTJUVoywwvL|}gJ#&DC)xx-1ubH|JSjiJ%gC=gp-bqXZ0LwxQyO3X+tjVDS16{JFaYUFwduC2B*L2-fMR#x1 zxJ0#d->%Ax5Li`7FhXDmlE`yHT{~CRelnDR+fI243n!GKJ3Uz+mIp1t#P-4nE$vO}0KlFA4Q7Q>r${ zi*>mrG&h40;~3)N!qbDUE*;7?*N!Z7R)E@lYbV^r3DXSuy5h7fc7 zj%|h@_5M}MX}D)(I`NdQJbxxXb-f>jcEi0sNFrwXY!LEw+# z3?53D6a!(o(NMNj;aTl_+y<TFMDUgcVq7oW^s2GHhd(f;k@}e8mIlxkCmCp~DgvYg_^7(n=MX zNcPv#zB{(}Qh`Km$ScTQL9K9`wG=KZgg|k@G@eUhiOybk$dm-~_xKco`a^?Y1lkA+ z(WXf?4%0NMdu)>`og7bOHp({mx}3($2Ru19^n~R5|{=l^Xj_ozXm*@O6KlYAmyWQeZo~<-b^F3uegGQ@#0LnH|O+u;ZJ^0 z--kagf^eSvD~}WmdT_X{_=^rIN(f$CK*}x2G9y+1(7qm?UamTaiBWkUKYt1U;)wcD zmJ;$+u0_{x@|$x5YVWKptadW2VFC$yDP6H`GPk~8rG5l3z@BOmHL+KEuR$sLujiJu z+ZXVH228L3!Ud!fUem27bz!QtVDC0H{ui)-Cd%{*Ix6x1-;TZZ@{}m(keVu7IyO?| zGM8-{FK_9*>+E(6?mSIxWVzEe}{)9;gD@)z?W5D|^!hpwvQQ(WZpfVd~(%5!b*P-(9>&AQ)V?OXxd1vPM> zzyQ|oGiwgiw$=mgpbz=VTt4 zkWD*5Qz&=Fn@T7k3!NV7NVFLs!ooowZfuBQwz0~Ugk5L=py(VDY*z~d6$KPvSDd#f z%I!^&i-55=Um(v_P<)L7BRC667s{0-lVIh`9kBYfnShXa`}x^_$Clh;;TRZsL(JwD zDZ^n1QM^Lkgi^A?iKdb?jzFTy$ZB4y!VF$ceiZzhLvcOpwbfzw*w4Ev$Zg_U<-z)C z(VgBW=SXk%R$I%pSV(bfK!N1NR92Olvqn6SX)NZg@h1N^?XAsV0xb6?0gWkwbHa4P zI%Tc5nd4$ZPcdS2O3RXZ!(l<-5g#6Oj%uh#qI{Z;Kpyk zB+b?vvz_&f`WK4U=E>61!QZVEWXm$~9e#Stx+R|LGG`JXYS!3z9~1LthjozbFkb}Eh@0q z0s$Db6E?qW6nXhY26Wf==P1MAb%=B3PpTAGkMsy`pX~5W+BCI2KeG2{{2tX-yo0dn zFbFb9pBSCxDoy>D+TcCS8g1&l{0iODXV+>};~Z*k~Gn3(GxLfyu`DNPFE>XhR7lLAth##hTUUN9mEEuXyz9a&OhB+Dr zxCQM998{9J0>L-8`nW-lb0mpSJJ{#K^W4UNhkr@-g5)tg{T(#?D17hz|Jdln#4By~ zu}B>FRF5MY3F^a702m*Hj7 zJjIb~q>xjBiBc_pqe;|d(QyQmyN~@Hr>Yp%A3H0{XFB^6%rDx$z1lmNCp}VsL8{f) zcM>NE%z)VI)|k#Ig3HXmk7RHmex=zd$mHI6eXU@lajf5XgbtdCAv;oTOE+qTM#06f zvoZ#c1MrOrbG6d@|M%Czv!VaKiP$4xzdO?2cW3M#8G0k5(`_9KI>K%jo#&kl)4V%6 z=??@cymgaGDpDD9bIqx6gCRG+h-YYxrtI}|3sQBeH*QVErLrvq6t*trMYCszI_k?S zd!{c|7@{tKt<&&=WLc)SrJ(i9fR@9zvg_kC`|Q<&_Q^)l9n{pKj&oU4Xkq`wnu-1p z0m}dm2vyIZ9g$7|!=HhjmYBhh;qg%N^p=bB(IY;Xt~>)eOD+!B*5H08q^kfd^S-Gf zk5kk+z`tickK&AkQcUCq=?>Pr|>h&-oZ zu+5w@N+W>0>yUk|t?gXAJG*V4e6tUsAjXX@pWVTC7i*{@yB~rpNyv-!+Xnz7ax|w| zwd$-$zX9$&PmaK*^0HwXIQ(+yrKT{GE7lx=j7CpSvdq`&Nx#*F3E80Tj@jQp`qu;* z`XGqEPeQHk=f9#BCW3k|9)U-1fpsw@@3ItYl3#);D;JMux`eoZGnUd6jAv!h=Owu= zMb3w2uLUorrXmmV!srzF; zSM>$(A65DoVE$0N4gY?FqP;hPmd`2Y+YqzpGhcE&G6!x-p;Zntag4qHmqEcwSivHTp}@(C%mI631|EgMv%6>U#3wfZ zK3314lbDE}n?ePxg`&aSBxw)i+ynrI)Am0J!!9dIY{Avi9@%WVRh@Ij;s}^L-WTOj zOtDyKIpbIq?dI^XR>M#utjs&#hSNAobc?A-ZpG^O%B{U8I!$h>%k*As(PWf66gks4 z&vA16+5e0~FvqOtsGXY5T;KPCbaslRN@&Z3YZ_lEa*<)^%-1sY9ra>9=d)YW{RRR_ zzmQ*GZVG&5p?8b-&CkoFg_%3tlGi!Yk7ai_e5toHQHFqDwmg;GrH;TOT9R!{U^!6% zt{*3wpSs4XYMOsVGd(+h3XOT%otHS=N0eUUf6d0Ns z$NxUd)_91o;z{2b3n?-IDr>|fovXIPlLkx$KqpBXuBbD+UnpbVFO2Mrj}3k)Wrf|C z-2qe90|tSaVUgAYrq6U)*KIbaS3#XXXVMODU1+wS()^DvG_u)ZHnbWaQ0 zv0JYtBTLHymaQjuR#H)Ws$o3)*(18P?DBRK$n$1V45Roge)hh%MwWmEpA^k1bvX!~ zP^c<4U{p1?lTaUCJq#*-KsO1Vr6Zd<%b(4rlF8RsQ(GmP2^w`~IBS~U+GQD9@eqSP z32v^3E=g|?CoG~T7V4Ubacw@qOeXrTTGm^g-`#g+z;J_*EMQD};R2`RqH;>cDc@fi(OI?eJ{27UIDGh^8MtH2L<+$<-4*Mg!d>3Y zqzMsdke1XiGzp753pm9Rp0k{>fEEYVd0b)O#b9B_->9VIYshG%?mst>xS(wB-u-LQ z6>E0h)<5Q7m%+893LH$Kh?Kx!V{+d?YX=(z7v@--?MsW{CO5|UT(qT6qacjnk`3> z827fS*w72-=Bv;Kg<5do;2gK~dS>JnE3vU?@+6ESKN>M(ozjYIzfV;gq9hGBx3o;| zp(0IV*q{JTF3u&HRxJCh$rqF}HtdXBfwWIiiDOibXAF$TO!_DziQ=$h0x2LU)3nFh z;_HSOe+9#+zjXOhIr(uaD#Go3<_8arf(s{*H0;s$pY~7*7&rPsYteNhZwT#-UW#so6AMF-XQx7$HAKF&787 zM2~~9_o`y8#&}H1^eA#{2G`-b?pjZf(-Ik>oL4)DnYFx=FlW#38iH^xE(fA$F{MyU zARxw_r)XWV(C53txkJPF!clK6flD}94cQS>;>~E(*xL_Tzn6{Y%7HW1SE9w&Or^Hz z=jx;g~^i6L@?7dTOJ^p%v9AKx(t2^Kx@S-z5BAE#Y7_a zGS@u2=#iou=piH-<4e|{xDq{G9&rS?t)551s8xW>99%vZb=Ip3*EEQLp#^>;`g?a0 zHdlBeyD1dpSHw!O!nG7}@i{Ma9?d{W+L#+n&K(--R|R_2jQBSqlX&@jY56QDc~kDG zQ|dm??IulUJlJKvdBwXejzlX`dB3+V!2{2iKlb0vxX6X}QkZOdwoexX(09$3%^Glb z+oo&|MaR;E4i6*ECqwviT3u^nA8x~s^m~ZMxEDWzJ=d@$VyAM=Tf8Ku*kR5nf*(-m zR3=9^X7_|E(la9l!Sm6%CwphdI%w%oQ4>bGL+J%JOx7(ZWl4rvBo9@V2IY*owUE** zU$i7`UGh1@WswCZ~4eG}BgI8CrQyi5NbRDN z?9@))yLeM~%0qMDTWW4p#DJV5kwJMiJ2WdYaS==iirmJb>^b2dWJVTaWx6WETPq)2 zV<+Q>4cP7duB14WMhJQ=kg=1AhQK+ZLpyDyYj*aL>A*Jw*EM6^IJ2y0O|E->{nKVptS9Zhjo`+6BV4FYP*}X(qD#zSKZu=nG{c%jErBbi2hQqm(HxNqXB=@sZ zc#r}S+Y}E^Y<8y=8IY9!3uf%S)JTmOj5ByD%N5ne1P){shCx6Zn|BAHQR547*LAy( zpNrqvfHXp!h*LS`wCz&5LefB-ZKr_sN1S*Bk>CfHl(zR5QmEOG!7zau4Lw%ydWdBq z8?uS6X+VL|yA*!GhLZ< z%8q2&wuK>TZ)|t2>9Oo$4d|gj19OpH9W)ZidrXIv=e%{hp3Mk6zvjXlIS}Ne)!lx*f_Ow&NP1{rufI6xO6dv z`qV!Y)l4TC<4T~u)Jna7-LqUuaqjSdo!EKe zeMDGp$b%`DvS2D=2wP4Tr+CItHwv+X_&t-tye&6$YIz=lh&Bio2L&~Dn{1dgfbiW7 z=NFU}Hy@!9NJG?4jTK|kIKz^6T&P3qb>XM`7b>~k-=Bp_F|v_ z!X0mID>ju>G73UBD@H(vv4A z(!SMaj-&5cbX+EYTOX90-2WTmmlzCZQdyeA1O`cE(xV~N>|w-4{%sP+Hq6wUd64J* zs*C;@9#&ior?~Cws;Bf8G93=-2@NK!ZfSvv#z}P9nf8=F8jr=jo`f@)$!7{h3BuI; zL2B_1Hoo187${!CV02Er&R2`{v6};PwxxPmW5hy-#m9#Q+qx7QCm}OtaFeYAIGk*_ zC+|!pL)JjWNeV~_R6vEapLErHY5M6l`{a(Szr)G@|Bs4uAkm5gw%eW?#rUCN>wSQ} z%P{f4(Wz=kGs)LC5e8R2aW=zoBp#oUlF3nvL2cS9&y164Iz>`qm+GbhH+8BJAQhSc z9hQOc^c)D@(7^ft`M4(_oPm;2x!K8z+DampHV)x4n+5^MlDd{G6o<+rjd@*0tR8yA zV`Osp(t6TexB&;#(s-nbR<~e(Ix1pR&oUmqjg%*$l(~66_5>12b%kcPizqef-Dpei zG@PezvbVLZjT)T4=&>$PU7=*#CQ_r`jV7WgI8T2zok*pqgLcn~v{?ex6_#PWKx#gg z5ZW{28W_Y0MdMKjH{lcwt%r;?N)0X{C^q3dxfW+?8g)=GBMWE%sw-F_6pC5tKj;iEe3`7_#eCIavCuo&jH>@jz?uVt#iU=@oQ>upExY%$)5vCn`2ZPc59P#`tpo7*Z zC2@o|su2kV1haOBs?cDG(8mahD^MqOu61g4<_haM3q{rxQ_;H1vZ6!>hsX}&O6wPZ z|Nlgi>KXw+zoqHE$<@ChM#rLYOk!h$gGoEsI_~W@btbCI+*I=-@YpSGP1QX1QGQ*= zVyT2nXLNczM&;z{fVNw8W0BluLxp4Zv%yI6qLk!(7TSco$`VWzAxs-Ci7^JuLs1Ab z5+j5%LzPw_g(l~BUBi$ST+@!Jp+@%(K)XqnPA1B)7`dyN@Vgr7g&W$b1?#DX>d_*a zu1>BOS?Em>IBCY^fMR2&rQ*13Sg@8C?k<&dDQ{UMAME=x$&{@7QB`D;GK3H_ z(MTf)+*uYFIijgmT1xMHSdkP!ztq{ecI{^lUNnV#y23-n$a)479gFqtEO764PVw~;rsp(+nYEq z&TZIA>ryxz3hC9dM3c=05B|}1X;OZMU)#elY^PzTi+I5XwF15 zu-RwhGGV+kS(r5~rQq_F>D^!wdm*HZA!UI}a4{L?$fT)jMzB_)hO3E`5-!!N)*>nt z?Gh3)ixN27f|dNWr(ucN>1|)yB-`7Y+k@jXh_C6gq`UVOO!aiSZ#<=^>LqKcra~TL z3vzj{wd%#r*bYLm4O6Kh5ci+e+tl_}oQ*gecTJH|oPQB!5Sd%af0Mf`qG%!8x8ST* zU^n;Z?Mizq5@R`;w^V7ofMrrOZL4~UupOvWHzzsg=K7J*0~$g}DN$bXg|^^g53}YW zLn}Q-aBMc#8?kCmw;kabr$Ej~9ScD)is~Ox?`Eq17yW8&*529Kz7+{i)>j4qq29X` zekW~LrSxEWGyJq+G|B(6w!PPsHA6k~&N4Vlz3QU(WcYTe_pc8<_fCv;iSQrQ6sDX< zW&P}LWq{rd|0xwcC+;UVGU|a@{g`+yXQXMWYKBqKM8ye3V5FW2LCKjc7es|%a>i+k zf^5KMXT)%A2Fy}V&4_2fLM@0#NRgSg(vGza?%BwQ5=nKF=R}L46;-OTk!3;VSV5Rf zWz*rTSe13x_FXra8yFueKyLS_gLkT6h2fLS)>vMI>d8fl|7H)kbCV!2wG@n#d;Um_ ztdl5KsboLI4vyV$bWZ#~#YS#EJQ&Bdl7h3BpsnkFJbm)-wOq({HZFm&UYyw5jC8Oo zwcrM}%c4uqnLjpex~=eU-k*M4aL{B36&U{i7v{{XUpRr(>F*VIQN3_6)_I5tC6hJR zaPQpdr&wW_m^(AAp_NSd`+hh0mDRt#yWMTqZCw=i0-ySRXJQ}|mEcRK5($)aoK{85 zAvv&UthmCOHH2Q~Mj^c2GbG6yw=;v)s>ZN$)s6X51&bNAAiK4-+)w0kp8Gh2v1pNs zfEBvLSPhn`M<^GPaMg8(AU!vj5j`c=p1r8Us8#5vMpnDb1Nz1gWBSnkAfe>rlph_0F(VSm9A zzW?cc`}woGscx{(Jv%&3A{CwgqCsooc+GCN$Ng!w+#c?R?Wir@L_N6kIw4sR`ghHv_vI$7rsT{V2U-LKRtCC@5VYL3PRSfC0ZXCm|Z zr}~**;K`)hpXd-S-&3qwwdPKGnNLP}CrXzT_L+)(w=Q|$7<*+t)yi>upmPmcYW;5h z@CC`i!H4NmL&Ajf1v&ULeoT$yS2k^0UsZ>5DEVOeQoeo!mo53*eZRlR1Lp=jpCJz+ zV+Qyw>ln^%K5o0Z+>NY!6lOZ9jg9bf|{j1QZHm6(KeRB}&7XPgDq9mKtM1u1{XGsL707 zmxziQ(Mv4L3?Ce{#>F`X!Fx>DaYz+Y-x)ePJ<`n@ihdAtR#cJX?wE9Uz>$0f?Q= zrRzQj_tw~e&NQz8qFID&#s}Kn+=hdkREK-FWe|*;dmGy7gYiuL`d}VXk`o&<=T93qWHMMrnal5k~%9c55)u z!Mo(WwngzH6P^4ERxm8zCE;E2uKj3_hIzswecs7Dy(*?6N?@5u)iw61$7fHVv8dr0 z%PjKi;CL}$OAV&5C{JHsZMP4`;}JMVo+{@2mvN->ee}x97_-O6%2V)Htsh(9iu9dm znt5mHN5LV4Xs|@*UPd6L3MKVDjn1h%8Kc#1f5qU~vRGymDGp28m9Ecc{Xql%WTU=t z=eZuY`#U>lI1WM|`&f2H48_Ltt*?SY)35Fzj1x~_|0_x^@r{CjjrpTv8}#Vo=pN>qWky-XRRoQ zGjI!`<ob18#g7ftIkIXu+ig_$>mM~|=O^D_A!rwn4$9J|u5E!Fwb6$+ zwRmsH-k0k!ZMkIehTOO<^jLls8;(! zky!-hwAoUUMlRP{ptGrwa5}KjV7vu(Jg@4yrOAv6p8zB^9I(8aCs4mqszo0yAWLKJ zLB%;mLsHkSK^4=I)2Zx~H82j8Cnv7ZR5iphlsiilvqo}m`!JR+pD@-)2p%Um0MDx% zeYp?^S}?P5pxn;o+XBX6qzgBb)s(v0Sk9Z~a1;p!xWYQ;iSkkCan+>ky3VFdH-tVV zIM4MP(6>w|dO*W@BxK%EwxGT}vXIQRy1RLyhQB=7-~ZfuxcAza-+eYRat^$b)OD-e z6ok!v81eIZ_ryhr7#7%xq*z*D7wKwQ{I}}q-FXx2^j^Zgw1&{T+IuzH8|3JDa6Z$i z>Ro;&?3%NAK>N~{DC#lmW6>?e3Uu2=!4Aq>75yhkWstp!?!**jZ0M!_yMD#g%%QMS z&j)jp8nNbFF4tUu@f522%3l5DnHh`wos%i6f)WvB`J*W$tt;&i1|~JpCTkcM=&Q^P zXWCU|Dh0D->Pr+ou8GxuyA^wCkVvuiV^k5-Fd4J3LS0^d~Lr$IkDJM(;uR+fHyHj?O;f4#y_-xUR-C^5-HJwQe=QuOY8UWs$8+O{P z|Nd;v+>*xQ;Sl5)y?v$53d_b!iUy3T<4g$%$}~W1gstP5?3zxhmyR%+s z6?CWV6WUV)&xXX0udfahcO1V;DyOuSSzKh|A>z0)oLFY4*bz}spt9KXei|?iGC-0$ zeT+GizC`WzZ;h4GwgpNKG$$jI4jF1P@cOif(Sr5{(!|dne3w0#Vl=*W{eg6goR< zr3Px~fg;0}`@(V*gXNxRnI0mlC}gUWG{?(~$llwON0N4E%T$X(=)*3pk*Sg85ct)8 zEj<8{i{b;f;9b?QQ2(2iVOVL?LXNaz&ajx0*LzhGDhfDx;30o4O13EQEJe;|fNXWw zoW)zSBF;H`O@YdXRRS`aF{}<6MAMcJ0V%maa#SwgQ} z&K>p%YC`wU+oTgAw85O>?v1X1Ix9wF*sqvnE;g|wHVnO>+ak(3TslKIJYOt?o=m2z zZlOqvL|G6Z=V6Z6F!qv7Ss2ak@u9#N+=^U^YJ`K-Ys2|r&Kj=siU}l>xp@pTf+7f; zu5kNE$};iI(TrNjZm!ZoDIgLuff|kpc{qFtkL5~8TNQXP8-Spu;jO^X(9-Wh8sl- zXru0i!r4Ril8PI9U&Tvh@kID_Kic}J!`{9$(%&cdZ%WZ^?CRe3e{N+NEHlkTI5Qq> zKljKAs)cb`4yHNviu?b8n_=r9NNTWqRn^RCD-nB|+WUl|vXY*b?-u@MB9YF+Lt0r# zvgL`xS)nE~>WtVjX%~VJAq~T{QP-AJ0ecc#W}6Km(fqG3SXcvK}9@=%1zGI z`QQ`yg8vqHH3Pb?BLusg0Lt{&f|+-q&zG#MxH}&E+%O>0>+CFig2}-dlhNnz-aUc7 zp8O#NdxXt}U<_q(grMj^26fHY6hpu_aprZ8Qc1CuuCWHnP(rcAViW>5EH>naXBBKg z0$pnxiE_~>%n}e%rW?-1QuRn37Q4%vOn0Lu24PM~*IE#eu-qicwTsogau8 znelbx_1PsZB9NL8Dg(t*=gL8_0Ft>}DqH3eMxy`8=Hx9M=90MEnO?Ff4Vc0A0ql;L zuC7S|j2IQB%U+bA6j1=pFvh;7Yf|BEP_8zo*h~%&_dwLRH9vkmmlXnSrKF}Npxi~u z8OxC1IE{cvPJK1zm;o)<3y@~r2ORUGq2zoTD(S#?j|BaJ~1x>POD&r7BDFnpqGC@N)Z_0|Z@Nbp}1PaA+^$u&81v8(MfYk+s@iTNNnH~wtK~!*X|GDF1U8kcuCE}qwYSGoptbx{a8WWa>K`yPZ*1-<3zq1)praRwI5|8L z)%7xgXGh{#esxib6l2inFjjV+st=wN`nQ?+1Vc&E6W%P0(S$G|bxX3w+eNppyvsIU@UN+wc9s_Ef^@bUni6A}lQ@$P2w0+=|ju) zOLd*HU}Nvq(e*xyrj~yGvG_*Ws#|7<-#9ZkYW@#wT`MoTD~F@ZbxWrUZeu|}lB+8d zhN=P?&#g~RYl&`N#9wJlkNKH{+w*GUaTMf|1BHtYjN6i9xpknuJHj-FM$DZ*7G+%| zqfK(8Bx)nL=&+x)>1@sY&bFSPiOKBrc)NuDla@ufJC$$Tq~WC_x8sHe@-`o#iKOH! zjzy+GA(j@B6mB81Vjvl*#kMZ4{1b88ihQ2y?>L0T%^THUrfE1*;w%;i3@g%M7*3P;U1n;|@ES+md)GqizPS_a+z76H_lw3c zh7C$NPckwyP$njJ!`x8$jQG3%YO!ovTO+Sf!ACR_c$ZgIXGM|-SH&2g?bjmU@17oY zh0o<1ifVYBBKHyZFFIih)ii>Vq8_mw^Y|h z5-UQT6oMkF`Jhagu(JQ)m`xY5dHKoKG+(byugVdK4mH`nFH=zC6P-keFI0~rGR7Ir z8B@?HiuTFD&L;h?VWc(0)25Vrk|xtdsTQOrCz_XlO#DTgFYJ5Gpz>Q1E!EmW4OCJp zBtvxgw*(@$kx8G#NE@;!=2I)I7bM``)-4#%$pZLps@OEtX#r~ZL~(P7QEOpjNh8il zQq%vEdueTW?_nlZTLHB3UU%0xWBvHI&jEP!7yKs6>3uJL;Xa_cshVzVAm#zkT@6~j zkca9pR~JtXYn+>Sl= zRB>G_-_W29hDIsv>%qN*nYflPK=nLr)D8)V7uEl&9{g(tr&!1_WixF6e)m^yw@H@8 z?#Ke+UU%TwU_tTW!h467?W;J;U*PztzhdIyf>*8uC=OYQ{0+d)JXf;J=vgUXkIeW+ zIg_3dCwC7D4(S9WAr3gz*>+sd9N=4%+tq=H(=-J3gwU09BoX8vt`Fd^zN?AX{KJM< z=W9a@1J0xYdgiLBQu#`LA7`W!Zw>$cS^ z;rZRPd|%PDR<)ern^!1lD7OXvSQU4EwYPQ(Vs#}C${CN1-@?QK% z2^%U;4korw#{=z-+O z?oD+rw|7nM47*{&+6U)TsL)X-*9fwgDc!@{wy&@PIJXZ)?CRRya7p*|!iAR@(&MhO z9Y*suGsMlrg=vY+r8wPq8S=0G6_5-`Gf^L+V)m`5de$UxLrmR{1M8;a7hAc#;X0-( zb*&G^qQI#ka>v@0<|N_qJ8)f1sKjYI>s_dF{B1ETzu@(t;c!j-->zu^hNVzE3MYW%{*+x9P0@y+ zB$P&vh&2s)pivXAR&sUk_W!_UZpEkA)xF*S4_3f6q8u}`48?#%%J|>CTV!nWsqOs3 zYTPo@ksVo{d4MSbw8^%DiJK4!sB>g9tb!rJF*+poSxkDQdAhzZHICzG!Z6pWjN(F_ z9@EDV25e8H6hX<8J_$^9U4bUpv;e95@;1q3bApvU4smxAhz9^c3!{d<5dI9I7(Fb2 ziGG9w+UBU)CmGBK6&AchEcT5ui>G3s=3DE_IcSy=*M#xLMweX#31G5mDgzwYCLL99 zKHG-fxN*IK1+NFItasz?|Edc;XzqiHC^=##k3dwC#-}_N$nvsye7pF>Cxbnyk+hiY z$~G4Vw=s#sOxgNk=YZxg$4hmPcNC{sWkaDF=R)q*C5G1ky1sAjf?g5ENh%wKHB{SS zY(}+NMpf84%Cu9ZK+FV68H{sp4V((Wp;%9dz!B)azUQTog5doG>)Q3H88p)eKwxbs zxBCHWLy4EPN4ExE968*fY}-c#RJ>Mfv|1izph84Sw$e_A>KVb7C4)w` zNaCVO$+c=cM!VF%xj92B_e?O%_7|gjCIT{<{p6o~&kh?cU^S!6R3g>1A*N;abMJ;E zSxZQLwp4nKW$z3I7vHaAt4Zkna@JNJ%0bctv>UxK9u6ab9Mf!Cl%OKqlyX-n+L{Jf zE6pyh7t&+i2m9|e2CK2}L)+f$8b-AslnAE{SB9RuU{v#p0`YV_9^3(pLv9yZ9a@+!l_v;*JDw~b|OHXXN|bC(LWBNVvUd|(eQ@87;%1MOYE zNq4Sqj|jggs}QWe?|po7*G;Ra$?XZw1{JiC?*_H_U+D`&jnVoB0gR~-2fO$ z&7+v-(ZE+LBHT>N(A7paH#sLR@*Ddl1<^Hwz%VRn`@CXmW5)NFCAe9kOKfKgN@7@{ z&Y@Nc)0w&4P5B7zX2)IAD>JY`mDeFZ7Z` z@GDm?b@%GY$^PKZb3?iV*w`%aC9uH5IhbO6{$1IYIXMl#yM0#+S_jfq` zA-6{EVrcv15SSQOTSjS>j6fKsR+rQ5isDkaYie#BSkV_`xCpcw-z^QM?g%PR#a4JP0e5x?TBH0BjSS4b{}vzTQu zOWD!8-sfLZB@`B@tvCx3=-h;hHK6irltgU6-)W;p95akp<`?G=*tt>ERNyfR_ zuYBwYxT~U4nH}JV3S^oc)Qv!UEa20L>$NE@@`a1WV6K@2# zxFWWKCTh)Ub$SM@QjoLb+<6wlR~oOJX-`a*q|8Z2+7wQ@E+$FQw4tSzJXyXWuE&bP z%N7xr1aVNRD7%H79rYOeQaW=JH!%jPbXtsakc1MO`j)AcEk$u$lq!?Vm6b+g-P&9r zep{<%B@OC|MgH_{^d_`x+Kxc#Fju^e0 zOg-e4nV6(>he58Ua|XYV?`v9Rnu*x;#DPYRU3HbZf^K!#YTmy;B2j(+D0lhR>h8l2 z&1a^^*Endg`4v(MAWKenpaPi|gJQgKrIvbDa;^AAI#-h>?%CrzypMYJZoBOkTtcwlaTKHL4Y5p=Y zBB4RPcUW2;xu59Q3PzUfa<5ovuZ_N>wyR^buUZa$1yzb$Dlw(zyioJ%cQJstp+_>S8pGTcK)KN+rfd8;y$X7LjlggtQa!2jaI7$vUUEg)g0;DfQ*z|-X89<<1a?uUSG&*FRVKC=R**%SmtX3d z;6b@7khEjx?XBxi;11uz(9|%TitXGYV;cRZ7{hp#-;v0y;6w z5tDmcSS-lJ$sxTCOr)7gNmr@UgNTV4yT}#qDvG8g6-IA&dV{3nmt8T zbt-wIfq_zK*crbZBa})5#FP8&dBjmNE2r37Ilb1x3kc!Zp6qAZ8qF1k(GNzo(k4Yn zXfWO2HNKx=&)zyXR8U5I#q%_o)o?P*{>dlJyc<;;*e(^I=lTb{S0J zK@Wq7`~==)gv!PlE(<@)kSb4=>KG#uXDL+%x!o;SwtD7t`H4JXSC}9Rl8V1_OqS@< z&w^bb<6to#4gW{7y!7;7>WjwfG%VwLhPFw4KiQ4R=t(to(MkOSk-g-B_H}vRA;u1q zcnZ%HuhB2l0OgulV0uHARxcV86YVLHR*}xWv{o=7X~x#_wQ=g$Gz(&Dv&Z?{m*-QV zC5&pznbuO5;n2aOB-MWP*xnv~u46dD+S^3Rh!ok%xwda_%k~gch$k(V8Wr&K%fK{K z+-0JPCgB9+p9DB)8{d)J1dAY+T_>tKCFHN?94$lm{NHR1&kq8Z?;kR$jy>*n@5JQ@WPL+c5QiHX6S zmPRKmKA>g1?02$Q}nbXBUlW~d&xaSSpt&!dc?X|1PH0!+(HAvs~7 zRknOt=Hj9}GmWA=emzpMB}!Bh;>0Yg+WMuArr}h%hOY5?xzNbdHM?Pbrhe76Fv1X? zB`6OuONeZP49zX=fgUa@nnnQ{7 zvF;^hoG3!(FfSsCEu(72B2wv)!1@QQF$M{mV}Qd*C_-QYv8${GB#KN_6x45g6f;mr zBWkkm^w`^x>2tIE5@*>xWrq(nL{demOF4ZA-E3{}gez@S@YVWG&R>H3gT(rvAzUp=i)Pe~u|4PA!0wNYbO*g|0JI;I>v zQ;i01$j*`mS2uJ23DHe(n)Fau60-k4g1Phz7Eno=CUdqw9NoWuA-^DleQQAH&751# z2FLdsM+?!eML*dK(`1+C#PGel+w!TZm_*$J?H*{;Me)JNP>R)NTigRCW+iTQAq*=A z1Qu2?08&7$zf~1W@{~|*#rAa?BZo}Byy0UGUUAD!S8t4uT16^14ZXl91>01mL=raA zGT$q#%2n~4h+0rh%a$0PMjTz@EJ6}?y@~(BBoFHf*}}hWJs0MgQ=z%JjFY(co=XyX ztJ2uKnn!5vjE6!IMu?f**D2TAEHz4ECRf&0a%061CoFT=FoNI(g!k1wHxGb=Yr$1p zORH39EHgf3`65g*nO>UFQx)0=p(lP$Q4Uj-R}w%XvXB;;2n(xx$eM=hx!gfUgWyDJ z>3g2AO~O4wlyI3&<&@H624kVxzB8OKyk3x>Nn$sG!+J>)VDaJJbL>{!z8R$8AN>6R z#RDHbrzf24(H>JEp@X?iZ5k{=JVBN-rH)XJ|*zCZO9+pRi; zNpvN24xU+#hwopa(Kpxa2{lhMMhn>xqF|6>gxI-CZ3a}Ag4ZuMwrowSGMCM8*kJvs z-E*x&jmL*`Wr6S@6JlTwvs5LPao#bE1&>jx93ST2g8-ZgUnzjKs{%xRgVQ{EoTn3O z6wu1|kG>==e^&U?aRBdr=<5AaY-#C{3t%W#fss@%F%I~vUKSv>Ru6c$B8C;fgpN}K zzOnCDi`8#}154*4d-sD#Q*7AP%$Z$?k_X=HLkP@oMBbF4Ec9aq|Bu{Ve((1C_W*eP z;|-Bw_ibK$2@GYtAvD!=RRx$t?T6vB2p_myDyC#yW;?t0TVthETlaSlWUvB?8U{{% z&m`f(A3df>nI;SQ5C2=YsjimV&%lKD(2B?g%5mnJ0@u|Bq}7&ssXrKwPKi0BiTR(O zJkU*Bz(=uIM42@8=rEFUk!S^hBic|z>Imr5x0nszy+q#YH_HWkW2Nfl1bat1T^tT zwf$rYDq1z^l!^t1G2wd_zU0E791vUNTT4_`#wg+#Q>&o0$+IOTOmWX0r3@VmHJX}q z>k@iQo}l-P^>#`^u~0A80i#RLUfmr6pRT$G0P3|oN_J#tpxX?XU{BR1lx9v4p+ zc<V}|8O;lcWacBp)vfzWyy_&7w~tJ z;;q>u5gIVULPIn_gFWdFON(h5luDU+JjRllEcRkaz;<*jW`vTu3~Kgha0q#{A}p_F z$)}POfvQ#~oqgrw9b(qo@)&?UU~cW*zT+;%Tb@^^hFhgM^;ol4f;1B2)^BqG*soVf z>k{i%3x}HcI;5gULC9jHH2vtU6Jc|$y~zR(y1mq>hVyDpyJ{~yF;atTXFRP3+>RD$ zs;=pVWf_qyq>5gknY!xhn4}}nR;4RitED3YCQeft>?9REzg5;GfyEG0VIIfa^NFo; zUqB%>?y^-J-T##_Ez7OZp_Iie(3R-tusK(<+;wjB=ZS`oQ_kuwjVDSrI6xkE=Y)G; z-W=*@KW~4RDQA#XpsCMs$k9^^ryCDnS$Chi*8Z@t;*8kC&AHPn5!Iwmx>J^6hC!G_ z1-NY>v}y^brf;ae*c81|r{d7%>`|}Mb&VX9w=OVjkor@-qiw9qucQtp?{um-xK0Hc zT(M`k7=2=*xpO72GBeX8)E}u&cW$!0{#;*{WTMdeD?|A*V+_~hJs8vbG6S~P*Bi|GJmST_ z!@zn8WN)rERi77?UAe~d`kbZgxx5qX=J{84_Sn(zv=u>T_SU zz@9f?U;+3`=*t$`!50%jfp7e5I22+>`%M2thPI505>*lL$cC#YuUKHu%ku>n0Seqe z-+T(v{)ZZ+c7p*bBHs7LKWu84OTv* z_rLw3$G~BG_LweT?RtQ%k2Z9mO zoQnZgFdq8Xd^E0nFy@Mstl!W*PVwvq&L?G2zFM(o3(CvnL^*uArxUM9(|FykW}!Ymzo2#|(bv|_%3#%wk^d>QTFlOIM^ja2WzD?3tA$-u zhY_v8EAEg}MC1hXfPyKYR9o9K)@%h6JGC~YQZBPb%+7F8$SE|>>KZ?3)~dTf6zzQs zDduS%H3J=i-r(&sT!4-k6OO2;Kx3^tyz920e0-7lJu`)MHj9!Q4WAHsOlmzu;J|tl zEs{+hk+uO;u_eyl1EylGW03^(d$#L_h4TeYg;s-#@#x$ zC9_V+CMcxIFQ_d3~G_O zI1oxoH(D@9h_fsq5a za-_7}l;c^YFM4m?jQ7N;8c)={lPK69yt)?#SApPwGDzE-{_A0%$q6^`g-;S zN3s9gN^)K?-Nc>ILkSuc3fid|obayIv;jdI45GP;0KB$qddo@(V`!DvoF$a1_>p!h z<1hEbOZ%geE)W3c&9SJ^F<~_ZE0Q&r@E};g8OSxg3-MaltUwQqvb;w-oKKJVsqX&r z^cc$Vj?$AT9twglI~H`~@3>36MTiZoIler=U(7B<2Um{yL8{n=ou9(b!*`Ld66p)x z{(WWS&VO@%wtv#U)qfw^ZuXCFeb}G$X>is*8Z__s8Sve%dC-3k`i}DBJvA+In!I26 z^)A1j>dWpdUM<%Oj|eLGf88G(BU!o^g7=rc7R~0B3jD*aS+iK7@1M%=k7DEzI`!6a zJlLa7B6ngZi3Wi%h@!@{HaOuS0KG;yb{XdO&%{t96mn zwDl`Ds{!O15m_u4*3=iSnsH{FLIjh z`ITQ64`?m_#bXX%4uWre#|xTY7#-z7~$B zB!*Oxj=BDXDI}_#2m$9iPh_gf4xd~xn@LC&Z1n@P5eM#iD?5IlUE^Yb3oPLF;VL6- zi)O7^nit^+mjS7&6ncL!uf8JVemJHEcVePE>;+LhnI#edYq=hv0=e-Jf<0^mcoe{# zhV1~etzyZy<`eo4fuzHD_UpGbUEO2^VB@hL-~SzKm@eC~Q=S*eua(yUeHfot?=L-y z2^g=%MO9L2n*__rJJ3j`Z5R||t$)C-QO`ER2e*x$tJD6@w5P^*kyB7Pe&XYFKh288 zqSpb3wxX0(Ymr&@l3fyj6jbSVtIB^~i9b2w8_IRLPu9~H=6u^lC-pm zak6PHu83E2+cc_kz8{|c_qQ-l$?K!2~y@pI~F8j_Btt3`0`GJ?1a!>oXHk4t)lRl+%L0LtBZo+*j z`ioexP$4lCtCUOc=msk|>D(El_C4v#W~={iGIP(P^Ht%tLG&SKr?Y#?udnR^nWE(G zeT;zfgLp)>W_9wt@mUh7fA3=tQ!HCIkDWqa5{T-0wZYu-e9sB07k5u0oOi_lQ*k=w z0M)7GTgs<`r8=_aNoI+$kYksIY@lQM|NY?&T4JWNOUE_SLv?E_pkDkL*4LE&Wp-|A z(u~^J*^4dl!MxwJ&I=R#8CQFGlh7O-o@_mNsv+i67?M6lR(|FV{mOO|}$C37JoEn-mCWY+tWN%aZYSy0MKg}Bd&@Y=Y&`@4@7oS|rE6jllD$eEY z{l1f3%LnvM1W*>sFv7xVtKV4*!`wP2r{ojSn{bQ?J%Fh}&BnRJBu!rUS)#jfZuD}v3#R@FMLKi%#-bTrW4bDErvlv3u zR5_w=A$|7Z-&U%8Oj>Npj$GX+t%~xR47gd1j}`hzJApjbqYv!i)**I4L?%48Rlk4g zq<5?S$=~g%QM{YPlX3KsDRgdJG+0?NnKgfj>5IU8N z%s32{;7+t{Gz|-|s7HF~I;ce;`L{?}+&XD2?W zPxxctPJ%EE;i-=qSZ2B7Q6Hy%$>6lIEMz3$G)f2a27o9-SL?d0s~9uCqS?7)j7W7zMNok@&5XTWnzYQ=zDONT- zQ(JiDdET*5rlKZb4N(dkhvel8?6?Qk>;k$>_l%%7dQqz)9_5^#$eb5$kY%E;Y`Rxo zWeumYy|l48-ec7zL()yltn9pDN!2j*8%#Ts4nw%7qkttX$@(z{@-#>q;e9{=g4!;y zA}gTGt|2O`*3lI8Z|Ew(!bb8RHaD9D7bpjQr63Kbcx~%*fEh|CxDt93bFd``2_2CrmITqp+^4(Bf;n_pr7Yi>RL!oQ&dgv?^YXs%F%u3UKLwP6X z0tJ{+OQcUJif9JfU|Jz8Qwa13NG6l8&G?RE11j>m^X_%VY2+HQqEM8^zgSEjt3d!F zTSzJW@3ZeqTmyBs8FRZ#I$GIf-o3Vc9p{NAD5g3(oynnN@Kn9sXenPCOw;!&RfP16k@rk7uFyf+mx9Ij`xCh>3tZXL?Mk&dh+V`=4w?ikn3o zS50+He+a%kIe+ydVI!t_sl(0W@lC;$bI`*0m-V@SeOt|JVhBLiaG>pPdk}{vy(Btp zd;cXE@q_;J0BH(bucGof#q~!|n|nl7SF!_Jp`9tT?#BQJA7hj1qIw2A{k5BgutB)L zcl1gP2LqFa{*wT}H9VyQZ5p^x;E_QdIrKFgASB{0D2wIWDS2L@J1_d!)+-p+!;w75DRy^B)z8>$ma2p#xlI?ImiGti z#<*kDrp2My*V5N-Vg~^2#{}k6|L=lRH%cf9iV*+X;|qTXY=Y^9)5s-Hrnk?R{*8mh zY}4BxN8iCcl^S~&o$gE{t7_b%KZCMWzdZ0-S9Dm9ktq|!{kb@IcI zA#ezB0_YZS6vO*OI1mP+FYmd(2UlKcuZUNfX4d|kn&yr>l8R1F@HDAVb|r|}W0yi_ zJ>R}Nh{g?d+lA1zpD(_;9k37DLN+6mR|3R!d|;Rt8kKNggZKxgP ze|gM}vD+S{llcvxNR>%$rK(hFF=XwX3+D(%CJiv7e?`L02Peg>j(xI&+c)&4QZ4?lxop~8JF5&Ek{RD zsfs%9o?25Com4l~efAwWg&`k@&(dr}9k#0wgiW3g{hnjt}-a$7-?M$6y9RZIK^ z?7nsW1zPAw(p86rcmTBQX(meEf2BtNtcRJguM5Vwe~ga;liB5m9)kkrX zj|mI}!Jq^{7{CEyB$vEPqeja+EoCPCZ`hByMyw1=v6Qp}^4piQBL}b(s&S>yDLa@l z=7-HQH7uh*s%vH>scqV-f9L|Ky3JF@ArQWSl9b(;C*dTJw$>ktQ1v!2cj>q5*o#Fw zTGnElhGQA-sxukWLH7Ci53BF0(oC!VzFGQYJal`b9~P}6&^ZD&4F|Vgo+!@-h$#OI zFC~H=e>7Y9e!qc~?bZn%M7f*qQs#ka2}u1gnyT4!E*6;nZg{R%#zD4z$pI1XfPyj$ z@Hses{-Q!>q79=$U|rJ$G-Lj=%mxWOZb?-<%BZIo)p#|PNmumuO~%pFc^HRvy-axz zat)yAKIfEn6fj=4w`QqkPQ$gk2Uo1b^k`h!P>0H6e1$3g_kqynJ&nPrO%ra$-wu3I z=L-!zO1AZW)-6KERTv=zd}TP!Sf(;_L8$MoQ!*oNO;1Xcql5nMyzf<}0JTy(l~v@f z387s_w&EN5q=yOXl!L-FwN_hHMZWwipgEk@=_O9lf@8IU8suq z9A>*GlzL{`MJ_{Kz810X*Ww^%)@16f3b`{kPBoX1Ltq* z0Bp^8W>!KeZi)j?s%V#GMrP!n8!vW$OOWu;FoAHEkqRBe*Kb4M60Am4>ys}4pX2JL z?=^3NGhe4l%2swxi_&RPzbrVb+6lfZx~uEDl#P^Y10&(N^dGd|$z+NIyELCJqSRHO z*cigtsg2yVw}YHSwPtLYe1f!!u()J)R5L)FefK*ejkoqkz%Z)vho^2a0m3QHUg41N`^lDBQzFN=lXV z2T+xm;sKwpr7akoa9R`Lsd2A%I(M?T`q&C7nZ&SgAA&?ZwhcQ&JnV@!CX*Q>l~{sf zjsFD;$-yBO=d&)k4(+BhKd=U%nOY9Z;NVT&^9Uq3?V{6Zw2~0R zf%dXxieDi^eEw|TW-di`^=g403ItYdlA5hCDoF#k22)Hfc@mf0B{b++$nwlA^LVEJjU?Fk$zzJ@5(`=LKsBAH4m zm@YPl(6Ah2=l!ihEG`PPG*Lh)Bf%90XhW7S)N;NA0Wh$+k?Ra^8!x>j9E5Ts87VX> zI4I~~NYby^K~KJE6-E~&>*oq5`A>kEcmQi)Fuq&UXoe4FMx1cYHW&ha5SHozE49LS z1exZN8xxDU^{p2tp(t}g^@kTm~9kz$foEC?>1QD$d}>=)xOt|2B@s={ z+CTNng)l66p5E`h?#4=jP(9f^eE5Wu<6xERflg8S40Kw^st4!4`T5QUiixh*%J2`< z!k57)?B<8+XOYlctotARa-w~AV?sxGO6HPe~cWIBUAk+*KBV zl0wSp4)a^FnLI_HrRMEewhQ>XZw;lig=nriDriF6Ra<*1PZSeZ&T<4!aRNLR!|5Ho zA8_lI*(uJwKG-9ar6tesVThz?Xomv~5gJ@n(pq%BT2!irW^~P9(D5=YCJA%CN4^A3 z@Jv7g%YVQjV#A7;3dS>(yTa)4P=J6iX<%a)DHdP)va!J7Vd1A-mDOy{j-{l~PwH{Z z^9}U;k|$~8)7J1_Eb3D~+eGBCs^tvFb6ANg5qx~b`_Fjw?P`Cns>lxTilR-|*_u6L z_;8QQ9@PwW%98vVvw0sbg}Tih8>UN!)2!7wXro-cgt*jK`PT=d#MtM zJJ-3}*BVF#y7KlBhx3FA&SlHon}Mp|TDM)ZsUpBSx8Zr#(2`QAF0MhZ?^BRR4^EK# z^6grtOpX%U9f`gxI_31l<7zn=OYS&VcSH%F-;4VIxs!dd;6i11?dGmUvrAWLhEh}a8ZW&O~yg-zSm5PuO5Q4kB zFktnhh@5npH`WO`#~<9TUb&YWRicNuIjZlF7F>8=cDHzXg0%j1c9$z(>$wNv7VG|f zy;{D6uinoPA522$t)0!Av@LRDmVc*R0^2oz`1i%|?)pfI`o`ri41wh1>V04JZ%)GnGkaXXrsn;|Aku;fp1~*c z0or@}S@&XbERhDmhvNBprT{{oKKqn=;so# zJ9bS@u?D)2(_J4m7ps+Eo4#}ezM)LiU@YZY?>E-J1&~w-;D?kszzj!(Q-vce;Tmu{ z#G)D{>@d#($^@LXH}+Ha4nbqYD22fNWq)}SVn8p&s`G)k$5J8*)v0Es9oc=xW>W#F zge2NSE*IMnryv;~o$AZ$w^sk5)neCV_q15P@C$KFVm+A$P2V! zU^cM*@;0SwK1ZwZLZ#ThIg!5!!|B2CS|M}?Q>`MqY=@Zbp6(ih_N|O_ozc$K)UnM~ zqC~Dy>P)?Af{`yg;o1~Ls-z)eS}kY$(U;e5ku1Ut*a|yf2FxIy+>vxf6RZbCu~DDy z$&F;NW}jq4*f7R7MgNb_ zbl1&+Lk1n)rrW+fTN5Ae4&ym zOEYycy<}3g# zTi95RO3fvlpvp;k0aujAFj-E!5hAy)`-uBel+3N$9!{yMiiybqioRe8rKgRr z?+2YP!JNcUgOM$j)Yjh~n*BcH?y3v>MMm<*hp%t%AQz)=u)Swzw?zM$FSN@mVRo^7 zu$kJwogcdS)s3e2ngMq9^vssvZ}soJ)T>8Vh1PxL31iMthm>mWX472NW3=R}iS6>T zs`ME*lxj`2$-}}hdgBPrd;(xuwnR`YaV{Wg^`uC=6bR$2Z>?q?)2yT2`dsNqGo4Mh z5=CynE1JT6)6$jel`AJsz1W-Kt|1`cQrVJ-32REp*vXUW!GJ`QHI3voj9{o2&J=}w zl;pI+79M6q|GjMVebDKgI*k7L%e`0k<`Ya{S3aYy6WMsTOI+X=(@;CDJ<<(d;e!(bNTA^R=h@KYt324?xk=?_RvWyQc5&_B!-e zdu8eOvmIdS!S@?aYo50ns`7yM5O9f;neHe=9(Myv(1XkC-$xOB2y&J78IlC7IUy#- zwxo>fv)uo;)Sa4#Y1+r2@z=Vyf6um%`8PX%^T_uTo`GrZ=@|GEJ~oie{aFhsdZ6my zHY5oO=4ha4_@YLl9`Y&=MFltl&rVZX4Ls%qpg50-KKp)v#Cf9o4YIO)6f=0xs>;BY z{R$odW3LcKpTPB9olEb?GpbKk-xkClxCD6s4qW@#3teu<_#EI5IG_TorW!70jlmx0 zz2@vde(;;NwM+pnq>zFO?(YFM=7fr10L2Q%51Ii-pMC#P4{=bdD;TW6on`QhtQlDM z8zc&g=}o^atltF%5L^0L(s-*XJ2DMyE12m`a;M;tiqc^8FN+%DeDJA~y9BOc2;+?D zrLWG}iM6ATT7*vKON?Oej^e(%au%VZ9dvL&-zBRKEsx{&Ad7f4?dpE!!kivq%TxeN zxCD7w#sLUWygL$q^zxa*!S1Su@2uE8F9$|u$M~E_)rllODoJu~QSDkTyaOtN;BJaJ zh`f3Foz#${%~fDnL%LICheMvR7y#07P}5#>)^SA>Sd2)rQgYX9I6wGJ9OTnokuyj# z>$Nj@Yjr>;^*AOm>`q}02+1<@8&I%m_5lzIKuG7LoW5Rk&#*r!Ylo8rhLo`)z`8nv z%yzYNa$vgojVoCxC#>k_PKw*7{%7LDZOONONk0q7HI_4@nApbL;q9su$U;?I_Ql&G ztPl~Y75hBZ0#}}_{{LC=vn?lxw$@@ErI)xb*zLT!0bR+Fs1ynJ-LJ4lmHH_{ba6Ej zetNfpu2vgV`fP15sVA6EWg$+@ByR7|tPLi0?%IG=_p7xA zpDz096R3O123;c@#Q`90)6`e&U&m0CCb*0N6dI0f*yeb6Px{lr8vRCtbuS&mnf?`H^s zAQ?pGU3;1MEQzsUkAhPn$WeMeUzF8Anf@yQ+Nlg}yOa?2NAcqa2#{KvvEECxFCeMW z@kkf~UN8i~K-e!Ifbq^xN1k9m1>!ZoGBStY&w1skBVQ1chni!JI@W=>dMr65St1?@ z11M;5LPnv$E&*RGvY60@#%#e2fFVMV6z%V8i z7;Ak*zc~qrp{%O}ePF_vdS%48jNn82t@@>)KGc-qw~ER}&%LVLNFJxJK> zC)i+->r zY)DSWY=)tNlC|qXZ_yr&l{B!{Q?X-+V<^=zg`Ab3v3)(OUGlIlGAZ%_9>LS7uXZim zyGqO-#({g!rtgWW(o6%V?ry&BVAc2v;3EM7T=vFS?)@t%=lr`#6xh? zW6;#xT}`TXY~ATwqK{@?5D~3pX$pc3u>B2dVF-e?u@JcUmr|+7H9+64nc$Ee?|^_B z)~kPl5M8ZkpBd71=+3O+msK6=Kj^PYiFb_cDs*gKpF_8@EDQ_E{2c5-V!4 zF!?PVmH|(`bjYYcdz&i63%{q&yUnVaPZuu0`OY&~4yd8s#`n)OvKZz!zN#+W z$=Ex(*DrNlzMVA7fqgfGX`}C(?($z%JJ#6RVERtbo_}$yt%w3#dz>Nf9_z3{S^VQ) zDW#=7lKn+pAs2UtzgPUVm0pC{%WOgj>JZHQB)Tkt+UE_aRzTe{bwgLPpM|m%E(9ex z7WV8et+R9OoO0SkGGGmv3dr=rzTFz6^|JDlh_bY>Y^nk8t`N2$OM)oyKpWz+Z*m}v zWyVPPEti$etuxBO%^!`ku1#FaMPu9Q!$=`KHPAwG`=z3a{*{^F!Vayk%W?rsBGM(Q ztV1TE_+@94F>F*--$fZT-U^`u1WJIXl#tKkjZR2cev~ zFnJH$<_DN65BCe0s<+-aNKBYIzMOqa`<#^%7^p`kSph{8fH$O>H-g0)Nwj@UNjzx07f-q#w z77bCYOo5|r3c$df*_>gQ?|DN`DIC5u0>xu>6!Z~5!zohpIL%V$Me3I7EX}~oM?p-? z@iS+W*n*n5RC$@do!2O>{jXmdZ)L32Q=P=Gf0~9S*-utaD6;+PISF0*E5B-oOQe_~ zwc;9@S>8ciT}fvO6!Nojnuw)(@CBQjVvjhL1AG%NDyh-fw8hmgPzvS0JkxePP}*W*-G4_l_} zDWTSQTCF63+XYis2-%YxQ@$mkD3Gjo9htPj$&xAoVn75?L}$(iX6y|H$W*G&Eax2- z)m9HwWnh9-UDolKbdIN{mK|87OistAuuPEIak81CE_kKfJ%C zgP({!>{T-(xAo2b3D!Mc`*w^|*SDRoo~|AEq~em7E7C1H@Sxv6TzVy8V{6|e**^ZN zx&1iG#%L<_Nf)FIxBcVJxy#jg9Eet%aq{tV!%sGkUjDe|>5H!toHs?IMjqp8PCAg8 z&66T@&T7WLJ_zJ*gAyWV^)0}FEwoQX5-DqkR8O6XunSm|xqd<_M56`Cjk<-!Y^S^6 z2O$aRjyExTwSM-cE~p_-MHV-2*_;X9j;^=*$?0Ww!}-FG?95{-c|J7q>=o(m=5)o8 zQwS>83%g9_cX|WcEg1ian$Wg5|M zrm}Op?e4_XSj)pmK@q=KeHX}$XHyvrawQ$k|2ErFLmqH@Se2-v)=nc~o2jhBuna{) zv?>_Mb5wTh!Hbjy4iOBLfRh}Mk-plhw@%@`FyRl5uzw@T-;Mv9hXK7O>%c_`aGp^h z9eclNPGE=?Seg?UL53z!cyae)Q-GGRF?Zp#h&iDnWjQ1XHK&&> ztd290hr9t5l-L3%WR+Hn_O;D$w&`;(%!%EJ_@uj#^@$-8PY3@n`!RuscnW2b{giF- z=Lf$mW~FUaMX&r9$fD%V^XY87gLfCi0>KCFLh2P$dfCcp+QodIbRqXN_xFh^y-dMf z$XdpnxShGw_nm;biV{7lVx*+z-v%R^&+$-!!cL8q(5i0_wLE45{%aqdnElrfi=5oO zBEWVn9fG5C-ywbL9BN;hA;Umr9cP6K8na^|Q6S|nQulwxP;}=Py=Sqt%5SnM{1n_!8>{sJ2>F4l%Abbe zlV2E(0&GqMXohKztWEfGCc20#3^SQT< zqB=^m+2ABy-#Pa?6QV8j(~U#mPqdvwI&~-WUF&QIXnchIg?oQzA1FBCo$3Neb}{+9 z5Bhsx9=AI-hS(as$O{y94E;MPsQo>HG~YlUGHOJpTomspV^bFxYUC&er&q1Y1K z?5w}ZjMftbHfuqP)^kK#v!X8PA}cY9r7#pc7g~zRPN>>m{OJqe1HAm&pBEml2aTrx zRo0UCEc;?*c;qNk#fBFjH(f9RFKlT)asg0^Z==b2c_(`un_-~H`;)u4^Bt~Q; zP1Jdk*C{}>6kS^8=w!@hth|SrG9{|Tw)XEa7&Y{`L*sy&`p6KE%U=l?se{zTwT9nNP|)VTmzem+Iq zq9{Nr&L1uYFc9wmm0x}*{|!h_7gs{&8$Sa?Wi{d72*0h~AN?VpJ$X(7U*GW&Z~^Tg zMHkeRA04T&9pliu1FY5*A(SD++(AB>_ZC-=#7yEJ&s;%y2jaK$I*u3fC}3zqKC}Sh zw~ZDAX1s;f*Nx-;0X5j}s>DGCii=1v%>UseRkoAJvS~3HR_lf24c|xeL zA~U{^yvvsmM*hg4$|1Pe9^|%q1

QxmzJQ(f*#SG?83jcl0BX4No5s37AY+3z}PB*jeI+*8S~NvcIx> zO9Z5{_V{vmx9li3w6l|(z<_}w#3E8T1uDg$wxnY1(T&Z-;@-zpAVV?#+Lg<(T)1|K zzdWcq|EI#@VzABqZ)i2xuDHJXx%hYDj}Qv-hfLjZjD$1=d~QV%}+?;(~rMFr}2 z>p?+01&@CO;bYBGbjid}=^f(`YZB57lm^S3z)D$nK6w57ed`4n%0kjQ1rtBB{UxA@ z8!mWrY2o_0oqNCJDR_O^`ftBS9HQj%tq($bQut!U0zi%ykU7*I%*xEfOoiAa5kqf? zU}{CJdJG|$M*x5>a@LPGjj{kB=oCZ&6ll|15C=y6waS1F495|oy*ds%N5`I=x zm864q5v5as+u4?PEvHrj#rl}@Yfujdca@GyE~)6dC(G6Hp5^gES?{v*XixFD=$2kg zyjylxIb=NN?44ziN>1qzt$1TC-R?bqrdP^7p{WH!|LI#QJC&uWkpaXwCc^HGl<6q$ zB2ntbLM(6^-H$I$#wt`M?trUz-Cbz2q2QJX$91ZKzrwKJCl`Z@Z#Z6bTZM0YA$Bg> z;M%?SRZ+n0g!sXmDq-yR;*8B8#2We@2C4|RHA2bLLm;-j1AZP8#1(mGv9XesVK*5}vwo|C9y;N9p=jwi-R0KaS*3Dc zyweY5Rjlcp#Bw1PMAzqqi_zyueW$|~g^92C3AQBIvUL5`zV>ndb4lJ11@p_!Y-Zm_x-eb;doTlqh zLdEgh_jih)#A)$lLhHND*hp??Jw%elE00z=U50fUIq#*}rb9`$X zqzL+Bs;>e%_5+WZ-$4WImoOP@hi&d4tgc%b-Ue$r$!smo;J^t+7Wr(LN=*>@T_LrlzvkKqzzkl-7 zFMKq%1#n-YjsM)=wgay6$jVJZb0@x<37MH8(O}%JYc0fBin_Z>$8yZ809y$_#-r0# zik^^wJD`yy+Rg!x9n0aUn^TFSPbWLEQ#4^C0fP;Ny8=aS*DQ!nOmP-4wF1y@KIr<% zOVNUt$IN};(vHs-ESqWT5@WfACdjnw*2}lkmVAt2ORT^94cxits8j!#$5By#r|7O7ufLpl{BwsnUQMj}R!I{?(%)%imjs8Dny-()4I|{+ z`!5g&HqEP;dd@L9YT{p^JKwWNidF4cONz-OOm-YNAzD*pX^XFblH7T;L3b+Gn({H)6)6x&Mghlu!G!s)YC}M z@?iu_yx{X4$j)H)Z2)3AVZR!jlqsgv z4>GoH0gEu?RSM3ck7bmxZGnJOkH9hXrV7G|h@T1yVGQ_{@^`8NCRG5PO5v}qLpaht z2o;C(Y6Hbn+O9@k1H+G3A$+HHP#BuWZP9QZY+Vm#+z*qBwABj`K+D0J1p(}Nv=JBJ zKhy)tSJ&903ov7#9DJz(pxnH2EN5s0zEv8+Iv1={DIDGo2gdI#{|vcAxEk=)!v|2S zV}Plnz@-&nqZR@7)>DCRlhk7HH?D98%bBGbz}gN8Ro|P>XawF2OGBw&3Mg_$N--+b z6Pp}MQKA}oc2Ta=Erg9D(dmjJE0Tb*Sd`^#Rq_;}?H@JaPH5 zr{zn(yyT6$@5f2jZ1&V;CO$kZZ%F?};g{&rf+hjb3B;{jgyksOae82S&$KUW%~z}J z2CQY4Y?=3J7K;tatl1&djo{%(HBs@hC2ZN2yK+yHB$i?5%g*x;trgKn$z+xQOM}sP zV0R*(a}F>uW6yP->xSkz4vG-&8{%Y`frIuG=&12GYw1>{&ES|19021)nzeL z$SkVlc>K-jyYqRQ&Ev`S$rc;Cm{LBG$WP$6zEQ81ZuN>^r!|aMvXv8>C>9A`0b8}_ z?zaUU8<0g7+Jh>@Ug}h*`eHtq5hz=RtQRiX13Det5DZ;Ty>?Rek~qTvOF*>0c6Di? z+2VPon1zK`PLfMf;^9Zb);RLf`T}~kZ)rOck$p8W(58V#CheqSpL@eWqp?cZcq)o( zx<#5r+SMr?-`K$>UO4f|!7cg$XRf4ft&I=%VJjd&w}i$FQw$Rk0j-u8$HeYVh~cFr zas2E%TRL-yZda%3)|}M**3iuMG%6vwKw73~DA}eYrrE4}2nsT$=qb&H*P3vAse`Sf zVxd6BmrHfGlBxAFnFypyq-Etx?UG8pG-rXu$!v>Ou8^`<%EXj7w1?lAy$lnMv2+AQ5WdomMil3XjwIcLjdB93BANBov+v(b2F|T z1dU$ZV}?3jBMDfs7<)%nvmnVAUK?1^dXQ`P`*%r<0+)s0cDEEm=g5I#W*(H27Jj9zo%&$?DC0(hUVvuKvl=VCz`R3`dzYa2bN$^tEGhXjTLaz7ed zU281cqh0MqdxCvuC;32U+5Nnz{yp^dFtq0uC|O*!T$W^V4C5TpIxZF<9}_MCkZ*1# zUrCe!XxiJT4zG0NQu>vOyrJ*GK5L#FuDzxniWQHJPTJZe?q4=;ZPEMk`*A?3;6Kw~ zZL6|BJO#ib5zFEh%R>6z8@&X7BP<{cy?;khM|VNTWyhIw1shyZ#)_s_6E92Z!x)!V zIMpru78g^g=i{SI6lWuc6GUO~MnQ@^&oFJ40;G#R)6qQZ&Q2WtKLsPJNB2;? z_RJg4Q?Q+yVd_@I+$BL6N~p)~hZM`SQuX`)SSHpb>{{}D*Qlvy4)#_-cSn)S(W+@o zO5s$^3|3Its$%nFE6R9SHS5&ew(A%f0C}!tR7P~QaI37%XEojxiaNg(RnJ`%!Ddhr zPp@O{oe|O$5XfpgdVh%DhKq5|C;aO@qN};EHk5@Id8&r()-_uL%77L(j|3x&+)IxnOYi_S$ie4POBMVwws6~O{}Djx4z9!7qzF?Kl&bhm zl#V1(hMmOU%Tk}EW|+$Km(9uJ>ryj}_uw|9v8tr_ ziP?C}YbybUALd7gQ$?$~_I`lRI+!zwW$Zlx@|uW^5s?5ZAn0h%w51@n={7%BzP}yK zBfU6|y?8XeK6b{?{PVQ~rk6QpU6=e-+L&q1 zBV#^>3{{*3V#V*E7^|DdO_!m<#W5S-MQ3%sex*_-O9mp%K9e5!Rr>eXWP}4%AIj9_ zFZAbo$0Zl}Q9H-_MV4E!Qysh3#2*}?;yP1*y%^pSCqTFZA3!FPhu+yBr-Ka9T#KdY zNQnaT>wcn~bm`D@Py5Uf>O3I6dx-@<)blIJACzwZLJL@gKZ(#$A_E?A`vf5p)1z2= z@?pYIMn?x>M^RW{md5`XJ|ZQfP=`O?pY1n^#o!2WH?D#6q)0D3ex<+0un>zOFvVl| zI3!1Y#rVqw=Ny<18=u*YM@Q`b1+8dM@8~!W7ojd3J1WWPS@rQ)$v~#Uv2^6c^mKIE zJvOO>9Y%X|5Wy zN_H=_0t$7octNe|ZKTh-yj;SnMUh7`owm-lh zt%CZuD}DC_vC9YWKo4CZRX!7VD73s*7muyVXBeHC{q?8%v2^4a8Wc>bCnjIb6rDNn zO25d0E}8H0uz`rbocMWUqEC^55*LAl&qFa>0v6pZUfB$qeTIm|yReep>P*b^8=ILC zQ^!aYS@GPisy1Ooa#JhqlxTurAI@-bV|$N}4@pz#8f24Z5mNNAfDd6t67Q#rTOs(Q zKaFK+kd=tU46DtBi&%gu8d$?EV!M?fn!tS2gbWN9#zXh8!ZgsI&YjUJ{5^nfy7_GS z)Ujm0dPOVD$V19i%)8JJ_(X5vD_J&uuS&j#;JXB*Zh2rKG%d6ks1SwAMdY(yQljT|z53J@*}W*FEp~&S@jF@vVRgRCpA28vDhM%@U)x zy|n*_&s_cc>+qpd0+T9|VEl;k!hZDN*2@&@P)-or&-{veXaCq_tEzeb%neVsW)rww zu5M9EH%I zre#EBA}QGZ)L6l;9{7zwi6Qh{gtMz$E0z>iyAK=02N zdXVY;n{^Y|&+8kY6W7^4H3##A(gTyH1Ka7P_e5`GA5w_$duOb6P1D{B$%RBe*3iIt zEOF6)()N;!OaAL=su{eV>qSlXkU{rPLvM=y$X|>QbLqG#jE9@BgmnOS@lG(i-68(9 zFB_=D5KO6%_CE%$VsjW2P=H z9HSj5Yaq92Mw^gM<{1kyV;9HqG7PB~?CVZC`WDuJCG|ogP7wW>b`Y8Q{b8u^RCpG< zFyP-5WD1dgOGn>VpZh;4hGaHuWq~QpTMZxij-kEokJi|lSaZZWOo2iB?xpM|z|A-# za(#o7e+>XmxHXw4RUq+u6#ZoX{|?w4w-LuHn{dw#rywQl5P#TR=9(LG4y=0SxM!*n z5PAtB^gf`z1Od7S)V-`MAo9NfoMBk$`Z%uvh~5Sn=D9GeU#bUWD+5pK6!3nPJz&^# zeC+0oJDK@QDuinbHn8~-(_1m{fo|i4*n9z4AJY)n`>kLdx2O=Tetxme^=+9hG+}z% z$Eb*p1O!s~J1|6_;co z!x$_O@bQ=O@WK@M_&duTSPT{BDGqJGKWev}4Df^JhYN_b%B_fM3|1y#qHyXOXzV^z zQo9DFs@-*j?zFg7S~01h8t|Lr7W9a9c$caNPjr80$I8uAYQnAZKgl5Z~IGc1r(j)DK zulitv$?QI@pMwLLtA@*hP+SQv@FM+EY-UIa>|K7_OvwC>hwyuM{r7~_dG`o>)f$X? zz-l>l;c>{<_Ft6(@d$KL$!htAM?5Es{I`bnS{r-q^+6h1=OO&%oIsRH3zj@^mm%)#SqfFAb(+_P-2Dt129R^FS#4ezOrF~@rp?jsU);$V@9i?8&1A1Hf(vds zo0!DfgWww0*Jd`8!%q{eeedo8Gue>lXD}QFo%fo@=FED1Tq1c(`1>tT7#PqQZJ0ijR!P&KghnS%FSfxq8ByEKhA`bf|SZ>;9lO>QJ z)l6>PaS*Yd+sr9c>|}y1tVV#GRw1_Z%mlCGQ%Oi+GI-Y4nMmjK*6*A00zfyLb7CI%M;Ls6rX|6@*Qt#NLccaRmCc?3760c?a)+tWX8 zvUvvWmJz;V?lDv%9y)|#dyLWTjb%~m;l_iX247p$7L9w63XM;rANo~t5DA4p$O?1g zxMAF6mVGD^9b_eP9>EPhrU7Iua$QjE?m8qaaGDmmk2g;g_bhV*1r*Sbh7#R4rIaoP zR;P0X@8%U|tpv&qK_0?rZYc5JZ{S6rs*`*|FUvN{5xYHWvXtKFnd<&Sfj9qsISO-j zOKlFku<09SJ`8rx{>N|;iBH6qC+hWK@66CAw{^w+n;`m%=r|bG^i{?77Vud6pZ4}@ z8r1h6@f8EGil77D3zsRs6}5T*2SY$JC=DP;4g1^|>V~odUzuwRUMK(e}X!uYyMS%xsv zEHc;3A0x0JnH!PFZUrzBN+yb$(=AYiIDjymxop zh?GUFy{CZ)e@odB~%0O^HoaE38{qO1_V>}X(@yJ}YN|y5eJJ?@aLlKx~ zNRbW?2$Kgv4VIlWkD5bxTqM|h+Y5Xp1V1%GB^Ad~_EI0uBIF>L6|SJIJ@D)kgD5A| zj|RSqfxGE=gn`?E*|?{vqeO>Sp$TyUB_=87ou}2KK2wATYsW%&ts=8IOc(ls^v~{( z^tj*M2=t)&R^FD+kat@jrfm?i&iH-4KT?3OLC9v~S0BO879fz_4iTvQj1QWTS?KXV zS4GV~Y5i{H4%8V?YSMDvS)fFT_~;aqOtGbd1D_+@x;3pa_u10GtKvBW80r=oh3x_IriUej^=XJw`tGxzj)P!y$@VsVU)3 z-*8_Mj2K2ruDxj?^bJ4?N~Hwcg8&7*@J@PR{Ni^ZWEk9i(UqtbN-+s`6tn_bEi_a` zh_D&|+Kzc1+$_Z7d6LY>mjZ#XDw%oFzK3fi!)4`-tf!rFfxtS=D+h(`2Vadn?PJ=1 z3L%UH#*qu>5AR%+;OCeFS63KT=0fxm<=n_N_umAlt|%_jmd|%Ixtj#o(+T`=yh`y`$Ie$js`?`}$9t%RJwMEZS zAM9hDRk?ljKLqal&GtiJr_}W?PD24PWFPgxJ_tJ-G-j1aj1@O1SAf-8)tT7u4QP;Z z%_4SpNSsmcpH9971#;vAEw$ZuXrBUS+*hww*lQA%!57C{Cxo6%qRuc-`FDa!?$b3{ zQ7YQ`03}$M>DI`u9l3d>`T3<8Zw8V7@c5CB>t504#5UjDMZdERO)a(ry9bEJ1o$n6 z@n!lq+s^_U!~!`I;SQU~?j|5Ik`l=4zMC~4?vg`AGz`%aGy}}0B;y*f55%@w**BnC zdOf#unfXHmfD9V)9M$hp7r+yUE0FdQ;m@rA5qV&)_t7ag0LU?idJ4^{|G;eRk9>0| zhC*bXhoX1Wh4sROf`kIhq2I2cC;#KY1CW=Hhq?UxAws~hx&`e&kPKU#p=#IiD?QxT zommV+Ui{#c&+F>PoIRaqC*XH&q@{Xq&+-E_`FICFWQ#3JHBFZpnY42HM+>b>XK&;0 zoJlTp7p{+orP z-JhI+IW`QE`|Z(;8>$-LWK}39vzR1xs__r`S?7~_1753@iSDC=nMFUZ{MLkia%-ld z2ExrkVSlJvHU*{FYOU;#U%S_c$01F%H2DaZAXF23H8t^`X#4L2Y9~?LZ4!y)xTL1* zst~Hq5{AQ6wy{m5X|k;9636jT@{$}YAUYJC$|3gA+)=0FVoHkf=LEnfl!u@az?&ff;1`c0eaF| z1wt}eBQvCND&vb}NfS4dFJhK~S7suTNsTZ^G?FS!+#J402A)qjMWouYd@nDPjO0s$ zC=s2qL?19D6p??EUVKCtT={A`7LTW|1*YeA7}=4PoKtgjS%^gxVfAJ8{fWqM!LU~` zJ*SJ5fWKJ#N6Q-JzG0NN)>Gaqvej4l4*>ESVu;_Tfjn9%zOto&;cXuIHR^lKnoZCs zmgkYfpjz*rbS$g3R}q8H^;8+=xb8ZrO2p8^S4}SUaUn^9!!S3nGe$Vd{P$uXu%9EG zz#4Ff1ay*$lbpjBi&-y#OSL+UAC8x7(Nx#W1>!!WIE`u!6br6{s(pmLALrkT2mose z*ThjN$X*=CDW-tqZ(#IloHS(WACq!?gbkf^Ofp2CwxM%zqh8{gt`H!*-u3EA-u4&zgjS$0wVqu5c9`OEJS$hA~wYhQbOE`KUtZ zJ3Sak79TY|?$}o?!pmgA$;9ory-cm-^WTM)ZQR8s?85OG<3d>@I-UVo7!{($mkyw> zROOq_ELeAuBz7V7RE%AyL^cWwnXID6{?h|wyv%$&;<4Le;8Pe|JYKfX(6co{U5>6Y za@(O<1jOZrDfT^t8x)M$j_UDDx~pZXJP8G4oT>F0PK0acVZaK6wfLZRyYct_pu%Qp zRAN1;!7&Z&9f+d-6cgh-0Y!!rAt9y9%6XXxBNO_vxx3Ei~p z8cJF?;i@GCvNmlxzDdz43jMv&Bd_=OEeDH-Kax>A>_Tm2TsmGAj1Ani@cg4p97`DPUT$}I&fz*L8xt>C!Nf>Sn)@(QCzAn zO}_@Wk<;Pg(uH@H2X~QxfJd){m&cU%`IK)ar_DUDoLe>?s^`+T8=sv?z{N)RQL07F z3Quv0yHKe6!k@nuXw{XUYY^%IHFD0s*)RE8bo*fVcC)lKB}5@5Kf|&TeB_nJws2{N z)!tMJ+^e4rzrEp;j{ITM4S&DtlquV>ss_|13*w%q*{B1iSZD;1p zy@+0-;}4J(T6Lsc_rv z$ezf^|0(3_7eZ(cyO;08?CHH>W!BK^AfunU!p>5x;W{}c?+V7oxQ&b!uk1%-GXMht zmLem@Bc~5F4H&csSV9fd)KbY%;p&?Od^F^8Uu$d}y))!Eyxx{u-e6A_xhnRXQ=`i9 zlgw9p5ad-gLf0vL)^})H;rb)wy^Zf4c!C!jcc+*m2;Sx(*)KB->L>{TUY6Ni)9b>| z1x42v_MNT9!G=t}j%MBSyBHm8@q-I~348>2q#8u2=Wen5m?m!A2;0-6knR*JdGSEp z7gW#nRwy1T7pC7aO&+hLt6_YdRhqXN<5H4Do~BXlsksD@`hrYp>~ot`SgOJZb!}<@ z11hz2J*UYERg${FA(L+iY$~W6Y}YDCatnTvsg7bOsZhUH1LH{~sl?Y#DRZ2QLItnk zO@jm#Q*kEI~%}b-tS|RM2d(QpzN| zcJ13Omrm+9r2wUQ3mDLm5g#ChGxt|&%e4We#aW!Tj-0tshC!FAPB;cR)%*MO^R@$< zAY_VB0zw)EZ0)4t@9(Fdu+}JM^gYeqQ42 zk5N2c6MXx?mC#;MPJ3I8H2X-aTd^ z$vmi_Bi{d^yo3BfuAAbKmj=V9h=~tf>BmPyaXGOG2=jj zW(YwTVUu{*ewGn`=l3c{lqnV~6D&LlOAPsl4zN6xOeqg3)FisXGKyBAP}ouTNGnlQ zYomU0q3~U`AKvchDRZ;yg~{tG9YS4Q%+wj1CAfE!7BpS>^QP>Jf?_@TrQ!I@6>&xS zN~h=kaB7LVW1`8gN4sjGlf8O-vob%HUz>#@ffl3kgWbz<(9uKXB)0N|vKb+|(Eb-1fnoRb#LnCsK)%0K|)zWR1WW{VNGA zl4PEvAmkW|Y=X2VuPu2;7K8JNAa+qKC*%N_g=i`F(Om_mL@@x69j{gF9?n73oE_iAq0$ZEOk z*MOVv4JC#Bue*}DzOYxj47S~HuQMJG#>Ws*liPXX0^WGpzozZT{sA3p+Y8ORI6Y33}Y5}2|^wxoePv|6q;UMz_O>Kj$p!z@DxnEW>LGvihtim zECNj&XBn`y6gWtHNjEUvoQr(j#=I-QK$35sFkMuAQ)Q7D!JO%j#)f^AWct1F9g~^| zD9r+GIta1`Qb7Y|V<3Nv-4CjLLk18buA$qr9+D)*aJ;VH6q<$&84PBsiDwSYg$Kzp@av6x=|mun|ur$Y&6mLLy$M4%i7OV!4@PPU!pVw~HHYwAB_MV-o|5yZ&@_!jFMFzT{zEvvALPXj!JN zDs2R(7zXSVpl%>|#g?Sj#I~zF{ndb)V3!h64)SC5;l&UB@*_cBD`{1`9 zW`=(`l1#p#v9hsK12~EsyW8YNwUo^-F}4zORa50Aly#M5o|hDz{}`#)NpwWTWotwj z{0>Lt14HiL;6b5r6D+HkX(!IC_eHAgcK9URO@)X4i(;95L0+mc{Ifv?Ct)cZ;FsT6 zhi6@DHCxH!x%Frt+`uQ_W7-zNkt2{}vFv$j-`a^y!PTGFVWXR4{T5c-oFvQjd!>S; z`L8vyC>cgBXQ@2Ti@N242@++qzDPXaaWMlSiPrTCktNd3Zja^l|HrD=u`nW0Jy_qTumiCfkI(RYO(&m80+wX81$^aa;Jy?q!paDhy=m)Pk)GLk zrZ7j3K+e_);Fjrl^GE@EB-Oc-fp;PzYuLTGBogzoH0ve9MEn?Rva{ZZpa{dA8cl5p zsAV{dnMSFa-N=_DkYVpgsu>#&iZPS`|1EMP1N$nY192_BQCk(CTw&nT$YNh zbDmgwD>as#Ngq#Xh<<8HJ7JtN{e5#-$-JI8B>%6f@h5wHkDS!^m-w0s%=38bfLT2!e_`Oxn&BGr{rA?Xi-YgS+uS z@2K8g+6=0H_z#m82kB(Vy|N;x`a8?P%T-khxDXwxzBcDK(d{SAy=#Bu+25DX=4)mT zyR=vKH%suF+eknTgo=% z0|20T+_q}ULI!~Wat}g87&{vI-ReA?N3v+iQ^rR-(3^>fS;H z7a9oIKGIOb4PG*Nr7-A6O)}dj1Y;~i6C|VHk?kP}uych3oK*{ml#NNmW_xt-gSf6- zY~tuce%ig|F#U4kN%ci0(@JZ>?y42LJY7ZB{7e^^by_e8E1&22DF|}3nWDCao2h26 zYDzyb6AItEapXc{kpdWzF0t$R*v!xr_(>ok%c$LaWi^w zQ*x&G@#1Yz{nFa)PJiM-sPDEA3^d)a%`Pt#BzXv%5)OX*w^A(-%?w5F4HS3aXdXs( zuv!aPI5^Lt5Vl+()CdcrA`3Rh!Da`*PfV48eKKvBgvJ$<<1G?X({vSbFb}dN9`Tj*+rAR=qZuUGA&lgLJPd>TKI(%9ipMSzo3O8R9TwvrtG4@M@POh zhY!aeNrqzBV|0D~?J*9PWjLrRkmp53WpuEJ8-QghqN;d*TfFS}oPeB*QD?QhY3}FLXGkQt7c(%bEiknKiJHYjUg7Z1tm7^<@XZ)FI2wWqrO5tJ!Nkhf^ckU>bcBbfg#aFHGuPGt*XL+())^RTV z{B+OgJwux^xf+LxEMJ+<pbw^wU&(14f5?!7BbR;Ki^^2q^Gix!19k%frKA*$VsUMW~-%j9H35SvYWO@4}G)- zA5<0CGDdeiUNwZrr>8~Kg|MVSq+J z${Fl;4jh+da`t+bCBgrdjDm~f1^Bfv2yQS2xUH|ndN^Jbq9CU^n+YhjEVl+gZU$)} zG(&N=(ZK3J0j z&c529BrTK^jNRj0JtfF~0!LF23Jkw6Z(-|r3;X$P2|)m2n25_Cz`XOGb$=&=JvjMX z3TTUX09#A*8)_A<4Ua9d-KJ0nUSm7IW3DN>I=j*RYXboR9TYt%uUoTt?4mgBcE{`c zcTAC)qHHllUU_EQBWnn>J1S#wU7M)a3|oEi)Q)fq)d(f~+o~L1H$@rzlEP+xVE4vR z?d2a|G7bvyT3X-icZBln5n7_6@^K&o>Q+%AW5S=b7FD%P)q;r`6UTp* z@#?xszQ8LIFT*$vte}mlftedJqfJUs>>TaIDn4euT3}3RU0f^P1UKWQ-J8zh7OY{k zLQtU?!2t&{l|`+BVHGkSB+nX`18{8aumbYNK=&nJN-=8_VyonJD18w&H9nf!@FN+{ zn>+l3mM56GQo2Jc8Q6t+&$`xp90@wC*pA?%XbLc6p*DuL{R*xA2%vqh=O6u{2vu(@ zZ4+YhVzX1TSQ=@6F;lZICf+#wNv=0B^l-!9+t~jx6IzK}MGg^1e47&dMiGyZyqCpt z4lzx-V=O zDE_T;MP{!(x_cR<@~%<#D@8wlu~5zM*m4{wSu54kHA{CEAW&FZQ5ktnpB(^a^RFhG zj1p|5gCS$iVh7}!5@ z1{jpUi>55T4}jF1u+X|#?Qi++aya<>wM*920pNYNRLC0*-Mhaw>2ODS z7OrFwekyaRHQVfXzOlf2eCyuezJ{+SYvz4#aoIOmDj5v`y_%bc0!BGQ*?MzsQ&l2g znQ_JCUC#Lq0U9!fJy^wa_+*Nuax1Er!73wYZ-!kw0?heKn!=`=b2Jd~F-Ht2u=DVF z(;Tqrlg3dZ6oV2+_4aW;+O2tx;aOH?ZEQ7eIreq*JUG|0C;>@gp<{n3?E_#!V!A5o zvRs+5t;S_lxgw!FwxP->yasQ=)9?)GmbJQt~cT^+=5Al>jQG_^5_ZUV=2Flgloq7nKQS$1%e+;;Ve!T&AXQap{fx4^w%z9=OQG|{ zO{&e>Xycw-<~v_MqbabO<%Qh+f5hGDRb93Xw(A)pwAr)uUKynCAifI zUh%;e=Rp>m5=RRM+A;0ScD{zkp<{PSjP7QxCxUQB0T+?9eiPt8t-u!_9=P%M$}(kX zSN?`zBRrzPWH)O&ClNDS(-hsUTH7*96cO630!Em+B_RiCb|@w2(43S|E*D#bjS46t z@{87s0q7p9-UJUyG=C!-Vt-Py;MV5U&D5IK(lsJbWD#T0){!s|7uFL5QDl|}(;)$j zg*&T(S6fFMOdcg!pk4E>Gl&f#X+`VKdi5hdX%fc0H@3Mx1CIah|JMDjRBNS@A~)S- zG*ic@u!JY$c~!AEPFD&6PJ$SL@3*q`M_L_aa_>M@x5NC&#_sOF$$PsR-52)u&ZA{> zsV`060N;Y1JPP=JcXeP&l!*+{=>P*<@hWrFY99&MaPQBsfmv=E8*`biJd>OwpcORQY@?rX=7V%HUg$w~m6|>sCEMK48;! zC=p6vSzTNj^v`MyR3l`KeKsy$0DLm?cPPoP06!4UGn)Hv= zEoZV2kUCO-i#S$YQPK&v^EqJ%*vb*2$rDJn82*DNE0TXlVM&GncQ_jrNYo*LxuSqq z%@U0Z4l>knZNnfChdybKZt6st<5aq+X*h4z+)W)18@h!8;<6j&C8lt~^H135*u+>> zugP_0hxDnVKJI?DdHy^I+g;Rb@h*W?k(fL4I*45@`>;Eo!Hu5ZK>qQS zE7NJ8DaxJ8C}UXaa4`sZ=S$zCQ1B>4=`12=x1VMea;N5fV80)&G!z#2o7-G9W9*jx zEQ+2>7pIHN<;i@RE5A^jb$be1jbW$WghXR08hz&!Hu)75QJBP-7LPBdu?HXx{Q zk6G8gEo+_C2}5W+kdWF$fn-ZpK6nBz`Wxl7NdWnDF}q#BB#3w3I!L-%Mod`&p^iJl zovdyEYXYd^H0cEHwf~Bc`^87KZJOA^jgz~DVdD|3-W*u` zpMV#^oO|;W8AjO>=NS&ji2kYhs9r8|c{eGIP)JTP+a_Nb+ID{ZgN^+gOfQ}AHPQ9U z*Ba~GuNGXsn*V9G2sx}%&w){MC-d8`R&w%G424!++GsPXYCWI7sdZzi^}laE^h&-O zUnTuK|5t00oZKg+`1(tg!LCpt^^M9t?`;&&uo5+TY=A#xJAHHL^pGMck6GIF4pP@L z=#%O6`-*=JeViVbDVSn@5>VtSs>-B=EpAnRad9Di3Y;zpy#BVVv)9^)@On zZcrfhEx#VdC0#4Wuq=gQ1Q~1VNCLNuXbwvAC`|9;f{(-^`;g*ML=6jyxEux8hHYL( zooBW<@S>!)QXW&kiW6YwQj_wtdDbR#D2c|c7He=0KXGai7hYZG18=;1sqKt9HFC%j zGb(&IxZ1vOdT|vg^Y@a4@lFh|z#g}5Q*E*l%=N13(^I=zFPq}_@xR;|rk(j#n6uQZ zy&?W2xia$7b^*{@mHo*KgS%3mY+X1mZvi}73Yg-!Szl8z`SE$bkDNx%AV-OtiQ~iy zQHgxF&(8uJ3k6IFqod$TY(iiXH)uh}F+V^HLA7o4`J?lryJ3~|5W=ldQRsH{jC7r% zSaXbEYJ|FfweBFAz8e;ZCfilfxqlKsDBI4rYQ>U@qv8d#x2Fo^lMt?bN1QDCxR)&qbGHB z8qIckrP(2RL0(S}|Bg)KtfzV_4zSg5+5Uz6bAE73;&mjz=?IZtW^opAoCxp##`5Yg zC-Te)eEqZnX?BRHt#FLY|2Nqcw``;WJcLK~Ib;~U(~+P^d&t$B+1-I525sPKsbXCo zB!<2e&vENI7kytiUn>ZT1WL3|jbN;f!!~u=L$1&U69kH0oBBX8uuSTlJojEjT=}Ll zwo6TW)-J>gHth~w^%%B-Y}j7ak4~w37D=-lk4}4pAFzd1t3Q^km$U6K_91f#Q-wDsklePn=wK_JtAe6t^@qK5<7= zzD_}gwasyJ40i3fv?!_{FQ3rA{4`_r=O@10WUXe_R^N>GFi#n6V!rQS)GJQES$D2E z{99Hex#@E#k`s*Jn`~Zh_s7E#CQT|2rTIiHkdR;}A01&|x3hInEyAfb-Y_}VKN3{k z7pn={{ij|IUL-hWtGhAldzdZhdcsGt_(?Q1#IZGuqf_mkWf_{PSgAdtTS42N)F+Pn z83Fr^F-pTWVl5aFtqXI`$v7WE4;215%YYs}=4O@_bzQY|RTejEIE%GMR!f;KW9H^5 z@wW#-cGADpMWG{#pCz23#&BcD=BpmsOpB*?NJKhZSN@2^*admkts?9wEEbpwUfJhC zmYInXv$?T|8_p3x*C}#mECArrU!kSNZ&5S;O4FxpS&W^<`W_?lQnQN@(rmr$rMMlo z*|+Vy7Q82l^UVsHscc!Ak+WTbeD0xtuFsXJUo9f=mbZR-ykILj6+RHobk$6!Ps5h& zS7J`>aiA=3*m{kMvUP&RW$VJ zNp1~(LrqD(T^1xUB{dCdlye>+zUNq~tUIo=&x4v?I5=bzYZBLM5;X0&(AGfFtr0PF zRpybPYHB1h@-cL8s_3u{P!R7Zm!u-w`&X*$#@9+zAsl<|hcxu`| z1rF1_+CW{mAbG6d`Kq_@whqhnJhpNed$AiE4Odzq)nKFVeD)B*IQ*F@LR)WlUg`kz z|4s^p{f;s}^z?ECCGJ-KRc={B%}p6+*{$Sfu)3lqHS|?OL0c}Y-yU^&{Bo(#562?a zufGkNR2}H864u}0E>SFa#e%D?Poq?8-A|--pXyHZMQ53>EcSP=c@YmiAj>Blx=2LZ z4O^Eg6i_>niZzz+VH~YW^mq?OmkW8Wx`4dA8fxeY^_QN1@%ZnaEnhQvv7&YQOF|JH z(4VNRo!f%fJu!~dJsI(z=&V%Vu(SF91U{>(+WYNs{u=0^k?32nqzf+xmS{*|l=Y?T z5{w^K6H>>V%>X5aEA>pOa>tL&l9^Bs5@%R;gGIV+Q2#X3^%Ipb!pg=Qwm84vX6LU; z9^qm=YCX_zw5ArcIKQBS5cec*-0!H+81r+f$$&<7d<-VDMB7C)%WE0!19HspGz#}v z%R5c)#fK`T$4(AOst4!rdlT7C!6tGldwRg-JvQ*IhWxdM>WUBqblz2Okw7=@+D%vX z!V{vJB;wfJN6PbHZN~&h-HM+w85*82*=rewVr;1eNx@00;3YUb>t#gj20BdMIUq2J zInd!OkevI5@X^bL<&GYd3DsQ$7I24rY7iEiZj>;nPz#se(G)ln7Cr-7K3Y36BQWRI z)bFhHXZNMb_1MGVQPCB8jyS{#xWb;}2y3Pv2)u1`@ScwuqA*6v6c<}XgjyDUu_^in z7RY+>w%rl;bzD=F(jI+v5wS{G0ZjK|NK5UM*Na?%d#kO->WyWg301}$>2on>xm6D@ zdELAlB$sJhatP?FX;pm&O*K}lDq(@_E{9*qX4?#9PHrXhxDNA-wP8wi+fVz);LE%( z3QR2k^#o^Xj_*dtvN+nX6|0TtACg$q6rQ2iw+ndx`Cv$cZr-mf?*(J&X4d&gm^}(oI(jm790yg7~oQqFy_T!XC;hj z03@vf3$t`}Xn(JE|E|=~u%}{eQwAYJMb@N5nptYyTzzQ*atMjI;Vj_ z=yj8mfG|}QO+&FmvLnOb7YrK1_8Iqp)&OZUT|^ry)d!QhIbVE?Q-}q8zQUod;?Ho~ z5}tNxT5A{qNa2k;XR7HzLO|{6P$1+L|`&CI26vThR4c9Hzk%PR3pJ&%@}tGSES9G&q2MWp#Pw zdDPH*oCx0b;_6{MOY~ot2AROG9MOm&Om0AjCACsW!n2v8T#bc^1BmCRFet zq?v|pAa(6NTv0NlH#m_}Q~F!Gr8K-7Nl3Ge7*eihc4N`02Xv5tL(xUPHP<>kvAcn5 zop1R$?1n_<%~%?jX+(gE=P=i4IIirKOtmpxXNm}(R}&OTT?Sp@o~I<%)Ds zD$(25?)IQJZm_``Nlhav#|deg>e1m9cWc$jX8dyYprJo-#A}yRw{BfqhoNAJme1ea ziAeF_f!66dK1AyBge+_sIF{LJ9@Ioqv`f(D{z!yzJFbP=&KgOh6HiJswI$Ri1BCOD zh6u;ZPrKN;J58RBS>Z{3Mp?Opx*u;SN{hW#z50@#^Sap;>?Zpy@VOlZEKY*mhTWUw*!A`%5J?{QuUAwJh(T!;? zhl1DsUv_uv*me~KvW31I#em#~+T7Me-&1;fr+>DpJ zu^>2Q+WAz>1O|*2sC~y&S7;& zn=+3RwS94!n`EU8-Gd9y_GS1~hErWA0UqK)1wtzwd9WBY$^H5Zu8iD5fdFVPk!w@q z8!YH(6EQu6VG0QtTZ!#X=n$ZZVGJ1hawQfOrIE?FQ08)_o!*wpaeHaIeX23l>)p9E zJ$v$q*RvqR=CzFhZjOh-X1K(AR=qXR>hyb)DqNK}=fiSu-HI@R4Ww9F*GBs>JHwB~ zGW8rOvyHa=JxtxG3IciZ__Eowb(G*1?-mxgNh=+8DqWZpkdiO{IZGl>(+`&kwW z%0ulk1dSkQUjm=*7C)<;ZO;t;CBDkLUodL`49H84J&yUO3r8gHMDEUtU+?@G!}?P| zUD7lt^ABYdoa$dr8A|C8Lqvhqc(piU6|`H+udLvMTo`4|RCcyoabP?r-fFz>*)}ZHPu>J8#9J!4I$5hx7aBU>f4r}kF$=y*ZJ9_6H$qS!nhQ- z2L?o;9{l`|7gup^%xkbprP&o|F5nhPQ4Ir%lG(hZ2IWXn;6x(?j!nR`QYo>PtStgz zIb19R((vHSp0jegzt>e zkJ@ThFP}aGI_(AT`n)Q}cnt%hffR~^tmdTn9(tvdK=1Y33P6x}5eMZ$G?0RGkku8j z{v_>so8XQqtxW1b9TR)`s@*$&g92ix7m*Pm%|ce3pVd4ULxq+COKEsmbA&-hWAYfu zzw(CG&c1=(=**hZztmxbgn+uTHa7mu?dcGBuVdx7&Z4Zys<|w0!}})!G@Po%0_WNo z{`nu;^h)#Z%(@qaHSL-rP-wAG_|CcYdaKppZ<(BSTNxR#CxL^QKSPVijlWuUE)=(E z)n|gTksg_1tQR_>sOmyiv#n0t>5+A+BS-1Q8n*>VE|%hY{Ff`$e)De<Oz^gJs*kzvYm za_fV7QpD+5R)(^s3hbN$ds zaDzLWsX)vv5k+h6*N_vtLTUCuL!yT9$qL@%|)1X2$+d<6zf9)^dzg=VN%e*G|qZ)@&zH+%3 zyfm--%58tNyY(`gPt_~`)?Lkeh+Br>s0{#>Z*f&d%~4kW@& z3HD8ZFc0*0)A{fOsoz%9=AH*k3@PlkLLw8}3fx8z%muohDHzF=xOM9EE28NHN&&TV z&2;w3K0amrkp%)}RJ~`Wb#mE|yrvAGG$FVMkd~og-`OGm-|&YhbT1(E+bf#u)6Zsp zJOoB-CY?WD6cw_Hx0p8uc*(LTTI}%kQNYcPTW%g++;YI)FHgfEtK)sVqlC)Iw4;X5 zmVPGGf<@Hj;$-OmW~{uT{euw38RW@i^1Xx4Kesmg^TDy+a~pR6vf?A@cEd=j6cBg$ z%w(W!(@Pn@?*k~K&bwAZlP@Y=C5lOv9!#mw*mz>5$rxC1#l1ZXq5jHE6;ZN9UO!Sy z$7igS?dJqpgRuZ#KUV>w^;imBg6~F|Xx{>;igK!guw;0;C0Wq8H1D=*H92xN^E0~| z`U|CZZXYDyac*Gg;j=N`dr8x_9;qT(3B2i)IZrNb4cix*ssp<$qp*CP;tD3~} z;u=_QGh$6H-!jGvnrSGpSF5{x2fJ4QJ-kf$-E*EdwA)fZ(F@zuyo}%W7Db${F_LIBNR!rC8eF8 zVC6AYSTAU@z`|I7ub;~U&w3UyML^ZN5H<9n4m9fn5(0<>!Lx~yA6Iio*p?VdhEVti z7*QUgHJ!jxGV}UHs9>4ixnL)znhC+I{uR`7!{i^bmGhyAn=hY4EY(rNc`h3u64{fy za$=tmc%hOm1Cj{ErYN@T6HyR;ewu;B+^^+-O9rJhHTP=6ze}d3g-Sa~MeV2%M%7=R zhUVeYQ;DM2XlH3Xtw8(`Zk<6XeOn$sWTRJx5$rBk14@n5eE--oR3^DNy-N;QD3 z?sIh5AbrdOUESwF=Ei#)-vGY4T{P)nZvNqevF@)h{Ec^l_W+c2pQFPQJBBaAS@(I6 zDb!^Gkk);Uo?ovYdIf9U=T&B~ed8K{wl4KP;sUt$95BR+%M>NPIy@pN;TN!2LQ#^! zh%5@u7Ye9DsS)qVHa4B%qmW5!pv1p$!vKuEj|8OdK^XwE!a5d9iigrc5^P0m?i*TE&upf{t0wk2{V|T>F#wVXTjHsZv7*>^rOujibk5ttx!W^lZbd*PK&I z3ftxs+o#8H{b@wO0Bz`|sP7R@KXr zymk_aRqzFe7wcD!iX_cKid{U~qL5w2;e>K_nTsS%&Ncf4&1;1-)3O#iK|G6d6#)EJ zVm%QX$XL!&Y%{M0Jx1RZxwA{0Q-4l{$iYoC^*t0K;(i$NiNs3HKRP)zRon3-AMoVu z+~R6Gd4!k$Jg;x6mSOWUIG-mh4?Q29`sednb@7eM`>y?t^}%iXh$3Ah2zqs|6^1*Y zMmA{>uwlMZq~@j7>g?zckk906ygYeyZF2CC0r)t5Sp;eIFB9tn*FY3gz6&-hPsIRp8Z?7o}Z&^WIpH!2-+Mmm2{lKG~&ij@tG>f2@61R$dm=Mt}8pn$yK}ppkS5jQUq#qg( zES`(iq*FOo_+dc~J!pSaw^G;JxN0xlzB#~0PM~$YRce#sO*lgipMgrFZ*ET5gFD7t zlo!A9XR+kL?AV)wpHCVLvop50-5#Y{h-K%5X)92FT5wtnC&aF*8HUpV14a3^rpqR$ zM~gP9V^$vrU1UrsqTz|YSTQ?mlNQ|F{aq-sqQD`j7cT)M93um=uedC|rG~_5Sy8Z1 zXrqA#Hp<3R<6~;--2RYqE5Oex(~@(_T_gw6vyw7Nwq?S^Et7kNF=2vpxgf=Rjq!{E zMafcRUExJZAG2~7mh2>2*h#Mt9$`SKKdH0lo*R7}-^(tl!3R2xoSRqqSRSR;>*8u} zc|Ud~00wNRTbm@j@1#LG@>;&?y3OIiuUpYl#a2v3DY9iBUTqwRK20$Qge~jE%i|`g z>=@}kzBB!XHc5o)h`_^IZ>KjCUME297$}StlG**;Ir5QZ^QP?jyD!D6>|!k)3=Xh_ zIXDl7eS$ZQy{Q3Q%>^+6Y)sJ=C`pYX>xv?Y`j{2HNMt9qET`3uKI|}*jS#f3S0Rdd zYYR*i*cc}$HY+hj)(*!qd0mr{0B{*zkMG1~sLVYqM|=iy7pWkD5yTx29plMzu~;T4 zR)7>i>~rXzTy}+>=XeikVD>sh7?ZO{Ys+;t078?O&pHL*X&5wL9jR)ax_YMtk2Xbs z)$CZ@z5%tB6l>j_D?V*}GH+jU{WEk3`;r%$^{-)vr-)KU9=i?+ZHw{TdBL;PTu=|U z0bxG-&PJmirzUp-gnh+V?gI*L#*{ZtZLpe2VYAj_Cj zGToD;Iy#7+&0t7ed>M~QdDx?9R%H>D^+u=#ox;P58(|zg9mnvfcx3c?Mza6k2yV(u z&&GGgSrsd&)um->GBj;!gaLE7I#9FzQyQgs?x3hgBsYCKG&~CFPhBVbsF!Z8!&WStx5`kA$tQf2w@hAd&g; zxW2{%`rMgq#wvKja9qLC3)C@koj0u*&%(PC4@Nv4bAT>e%+T(R{1iiMNxtAp0*|5! z2f;T?gKWc6!!rvex{i}ysg8kp1JCl(YD(}zKY}T6ZrkdRXVXZhkXU%>ejm*Jdzm5jphn<5B~DUJ!uhki)E~ z!37H2P9lMJW+ITC&xXVKVzA|>^`Crr%eP=gJjeal`|tM;`h#r`JrpKrY5Dy!tNkD` z%**|6i;3ooSNgmCYyAU}qG`y4CfYIF zbslVSQqSxH;Rt1ojb4FHnl)14HYHpFn=jh7qDms55jbbUJhmUBi|E zj%nfgtu zs&L)%*f=1uY^9a}0qtf*^??P96SO|qHjx2VWS&72tg4#f&>^Nr?!LZwL(}RXZo^m! zUW(V_+Ek<2&jbOZC247T9b;y=?I_R--_&%rgm8XxLvbR=JH07dQhHfIOwt{{K8UXE zl|+ug)YZYBF`M9=)9ipC1>d*+jK$Ve>Wp~N_=oM=TF}OJTc8*MC85(Ghv>iJJ4OG^ zmrUPtZ)H`*cfm#Hsp1;=$&28TL~1bf7gQ4>Tb|jqp@TtGUL^SwBfT5YS*%<4?uA`9 zk9epU7d|4Rp^z4}39|!=3h&Jf0R*BzOS2Na&I`eJy{Npwh!ppUBq8E#X!YxKgy*>( zcimoW)$KtQV_|Zp$mxppU%^zL<2$6Lh^YSR=~|m;1xu$8*joJnC3jR0;L5O zJ(;fcF1u&43Z8=$joD0Efu3U>foFH*P&X?80`e9(1M*{zt=Ayq0ovm>NKFYtr{f(dO`7xKQWPWs)z|WCv}hc3dl3n*MnKLo&nllv{ALp!^0v$&TjBc zQWq_BOZ6L!O_tV5o-4v%?3|ZKaPW?IHUhLl=!=ew2$&dym?FT)N*WMz#D4llTyU8x znRF!NbdpFI)i~2T(KsqJ8~pDpKeHTLee03i4bb|(hXP($``?=Pb&erfqgLx&1@($J zo2fON)v+)9Dy%K=WZoI=g}TCUElW4vtRpMhjvSVy$7o?uP~Fb}TbfRY3l|Mg5+g;C zWucP?I*7xGq>IRpJ_Bu78PTO_@_ExOhKY*L`_dNqu^8uJ{*EdZEv<$_cM7s?EB}Wl8Q@@J zSQtSnO>vGyq8t((Wb5Qh5{tK?7cyLJZ7&j(-hUU?ku9C=D`nHc=EOO-?@HUAY(9%x z`$Dv?fJTFaynf4$Y&OG%NM4oG=S(OYltxg~ys)I#a<`|?>kWhOcKr}_oDiICW_i{8 zx3$)p0C@sG_c9sd1SolwC{l|h(=|6lslnsZ_;fKRy73Di#!!%@S%#|n%80IaNj=K^ zT11ajJp0;my3+tXQ))r3d5%{1>#l8!Tpf4mBg^r8KdJImiL^Mqu_!CqkDDykIu6Vi z824nlIWu+KRlH(3-#m-Da#nd=k5Uyz$g-oVp42<3V)A=i5Q`E4 zsrue^4AM>&)|)S2TqIH{k3i2rnLrsGjEY7YB>B$wwh(DqElHrFn!l)usI$)5)IyD& zEvF!O>!M{v`7^nKzv)oruHxL%tR8ob|IK!1zY5IJA(}biC=JnXY0I+-`AXa43$^xX z%Zg@O88_#wiV}&D{C37cO4Bek~=Xs!phB5|#rDv(#w{2E^Boey|ZKUGvdad3tDM~Ai_J7tnM;s|*bjwLvkh@k+?4AcU zHHbQmVS4-so^IQm-A+DHSj-8W=LT5iJz~aXJ0@%Pbebid&C~Nao zwcab9dnum5CLK#U{%7h_r_ADT;Ja~^hVN6IFH-BnrSpBIlhviOWN~O7M1zQW3r z+XYQ$xGhig5S-x9N?Q*NzqhU$%*IMNXH!&dhKAl+tJ=ef z>xB;Y(oj<_M}q$Cpi?|)VEG|Jp^lXtFlsq(M8X$Xfw1Rmm+1E$CjdwGogZI5UH0X9 z^wMzp#dyDZJS9xHSz`Doo@}wz23c4PW0kemzAOJ-vA@5NGF)ecq$fftu&SXZFLAFS zL7HUU)RgEU2r&Z`{J9UYY+>e!P;@4%uIw{SEiPCDW{1%#or1O;lr%vN9U@3KB!5N( z33JZ$v|hYLIe_vFc#GU(N<~U7{Q-^8LtqG@=R!a{9CQa2D0a0QQmo(CIB{r7VF6Aep0h{5W?ryI&Q(p+oLe8>#*nU1hW+FQ zw?h+sWi_aq)#}yBn$oP7sYW1B?I~;g`VXeEeIR~TXnkc?KZLVl`}SiC=@a{AGbK}u z<^uD`hAY+F5w`;#@bLt6DSy8y(Nyi_P1VY(_IqEJ&pl(0W%(9j;(G1o6@Cdk&AP^% z6y2(092(3E1gUs9SR=N8gkfnN<{C zI5uWoMW2UKaQ*b`po>rL`2(KYIv5x!X<}5ST*L~i@;vsrf_mMWow?c2o@%f9t!W&Z z7RT0A|Jx9J<~s}2zRpBA6QukH-&`0TbN^|_n}xy0$SD`KG#oTS4}qbWp34D6!$PNO z0hX}ckYaV3mm+sOUsraY1k&j4sHlbs92XD}Lp6lS=<{_^dLBm>pt|?7v*CDA0;ZQRaZO8V z-2dzTeiv~6Vp4+4p9Ds0%hycu)T--n6UcCaHOLoZ1*n4l5xHcV!e9MY5OdROUWi@L z>azj6l+j)!A^$W_Ov9}B1O#*bVh*HheIjdY?M5N9N}w&~BFHe9AL14)(sbceJq>kd zw6+|XXx6IhaIF)uTmS?JI;PAOswLr++-ihBDvZ{aubC9DRTcjH!gK&WZ`Isx$d)&b zH5c6I!x|-(^^S40m6{R;{yc^{9KXf@fQXuHDwnfNhLw5N^hVMue^P~>>)Z4nPdsRN zHhm(Tu2IXjx8)v4xzBN8BV)K(W?2D#Yb_ew)z$J0mrf6S7J{GhH@984siVZ#K4>^8 zvwpIBz`8IPypKd5c-aX>fJZ<0t9a6C_9f7%W#25~o~sM*c4%KO-+7DPX11yYO+!PJ zLe__;cYa~y3Cc`QRB@DuDg*SGR~5Bg#2EZ18-ZwGLt3fwMW+&S!0pLC|X=c zWb-7fI02Ox?0ZP8L@_u=z)LdAB$xybXFSI&4lspxCvQxv{AFVO;IU*+{w{p(jBI-8 zV^C7!*H99QxmjMGy0yDX;L;^HCYcV0#&3DmiSDX4%ullT90-b@XUMuG2^z1!^79Q& zjzRj;{m|j|TnTZ{=W#rDGUReBlwnUn5TzH(Kq;1YGo*#3tfOI=5Bmdf zAPD=3Z#*|z#D;@0%O)KxTvbue_H9+;t@JEpNqiB^_>aJIiy7c88a>@(?l~9^`V&fa z9}wd?p0U}&w4^;9H#x{-dg23H2p!ZL2dAvHX|Su%^T;iJxMDz{>tfj6^7NiY`^ zwsli@Zy=N}AGb&dNwC8PlseAe@z-&)tr05m|Gi?r@q6i?l&v8)4}__B`cF0xH3)%Y z_6l~+0NcmnVS;?9hq;0a+<_IS7lII&Ms3^vF+P<*KIUTa3QxCw#MQyjW*BIz$R7)^ zAVsYbc6@91!itzBP9xs!d_-lXNy_<|`@JMJ|7~J^;lr)9Hi3M-0Xl0Qtw(+c*?;$4 zE`I1ptr-!5biR8&R9Ro?^a6LnDOIt8AvY>)-(jRc)qt)W>727gC7o#;-pI#Z^$mGGs%hRpsecZJS7hKiE1+8nj z=>yC?bZ3%HAzxko!2~TsV=L>^JVNiIjc`Bxe!`@ED{>jxLCn&JfnhvHX#oYDo|HGj zfr6KIig+V(7eS(@kRyZ*Y;YQ5BCL2qzDL4%I&I(fZ;!8J^K6j&MfTTQ+}tDH>ziAG z6SvNd23vSeD*EM1m~(r!Ma9rGP*hCq1-{c=0Js7?Pm9|Flz<|m)@jxwVbW7Ri_u_C zrzo%{yCi&Wa z0l6*+$dtL6-+sS{Dfa@^hMja{+a8vSLhpU4(KU=SXOv<&!Ame+JImuSr(-xI@Q`Ao z6{NJzW+b*?Y^wlrX(ep8qJyH<&eHdIyxA@VXRdcrUT zS?h$v303G;*1V(ZIc9Fsh)>smSU^T!w$ivFsDBT!KH4Zsw2KAILWl%GQ$(!ks#JRS z|EiVg0IySS=f20$^g$hx2}w~YEboN^(+~+M4DZE|O#&!3ihw{7xB_bs(*UR@X;e1t z1LO&;HL?&$K}ve6?rVSy!}Ih3jsXC*n71bH^)mpK_I%E?Ovhfi#D{MsUP&cjxZR@B zv5%wEXBe|e+Vyq`L8Qb_rqW^l8RaQBPRu+p6>q2dgW$tW4M6Ypzv5t+%mE!O#gc5m z<{{+Qn{lg6qX<|Od<Nj#ke&iPG53UJ3<0CJ(1CK`VP0-oJna?>X_xeNIhNCAwZw?qUg@7 zF4$kG#V!#q6BV^&Fgdr>ul;LDVdq)}Pe+rmvr{AvlF>9?Ngpq~-GORz=H-HDzvy*) zz1Jq;M{n9ho};j^7s^bND5Oxa6*yFDA&?m{HoU21jFQ6Ly$xcl2!T^2YZ(KZF)22RXn=zF0&Z*59~z+l zQbWb+c;4ih!i*9ry?hABA44rEOhX9JqwzOwBx%4I=D144JFPV72^Ae zH`a)d7PM#;_RM(^Em*J4)9Zxcte!q?1fg?P&*0wt!OgP4RUOb8y%ww(EuFTSySoHB>wT zzjK_O#Y|b*148X;4@U74|MZb7c&$qIb?Vw6yk#ZR_q3q5bJXdo;L=^HnU{!CQm+H_ zXxvGK)mWwygv1DlCO42o)-ZRTEoDE=nf1>c)nXnAco6))gb96s{LM@^%UbtW_>qXf zJ{(OF|Q$t4p^+iJL2LUHafilk|ZVwkw51c_&;dCCYVxq>-DQ}01#FcRpD z7>=GH>Xz$}p<9*kH-D^In7JU*n@8M8zM$Z{q8%t39$E3uU2%$Pe2cJCWz(Qq1ccj9 zPmf?;Xbf=^E0VMSu{`WM)nZ)|V7}9GDjKLlr4ivbgO)O`1r1D4akz!1&OFISv5dGp zUZA#tf4DFhyElcMOS^U@Z^g;HcMoH{DH|elj!S`({^T^X6j2{~SBa>3K($(pRs(t! z(xOo;QQ1U^Fq4cMYomsbtq7VjCMeh?*$4$?L5S}7q}D)?g15F|ixS5tSN=I)*lv{6 zzo(S~fRK`ki>|xRa(LidMorPM-r>rbNTh5lVB~YMg&?vy9ON6)o^w-kB_>vu)CuF# zN-fU-$1;METQN#M+3}pHI|oQQ8LedHqv}_C5cP#4iGshoLw`M)BIphZFzrjAFzfnC z*)#@B*TSq|{QVZg#E*FVEM}_zP>j@?oktY2S}9tbBtSN;Nma4Q8i?Rw9x7$PI3sUh zJUO<&Qp>UxkH?#^R8huhX~?P8LTo^QjQLLic|OYUe5H!v#J2;et^j- zyTbYNA%Wt%A-l>-b;bW!sBWHvrLM^O^BfL!j}?i4!J8T1jk|Fta=9=dU19M-7L{Es z4oUzjIf)pnGHff?PSX}y^SWH%WIn~-%T!YJyth;{W5FZ6=_UEbh2>n#;sXPe>EY~G zee+JX`pJLfk)w|fG5!_;v#Og*p2sj7$Gh>}&>@E_^ZUFyvprh#pVWUUGP85F8kJJv z%>YeBh}2@8k+s&&H<{8??eXDF&emp6H#2mi(?9IGyQZ-lNR&0BR#*;MfAhvJn;!@2 zwljk_;o+Uld8;MSUccYT5VVe#cH5eWTE+-(s@kHA&H5>RTc`qwr)Un%E~;L2v&MFsREj<6d~wxjx{In8-POKJ zD#fLWJ5*YA);D$mn7dS3$ywRfM}re5luJ6l*kY`0JMj!)9{jo9Bee})cI9X^Qj+y! zJNlXE$X%WfL%4me$}&M2Ho`E+UY{g8WgC*za3NiYa-1SvRg}mWDHv~I(~YZ!o6t(k zf@7PSrU4lht*4-z-sf;=hmW>lLqsYsq}R!%>7RF}V53(@FZi{RMxaI00Z?yp-Nzl@bN7!q`M3z5^lM_7xyX_OtXKB`&Z# zvkh*URJV5#GX`zmbVbt?**we_PID<q765OIR=mWSNN+k&( z23pIhL+2!p&>5dTdog{v&gg-a z1qI9CAq|l1>)O<2PaAfwS$Ss!cQ|x$qh`xOkGoLfXdCKal{}`mX@HVr5yyzj`g|yd z{PGeg{i~3y&&M$hwyXK;c~iRTO~i7Gp6=Qt!xL!H>mlTvXil^w++;@_=bG#_Z6Z!u z^qA~nXLNJl^Q%iag0#A_cq zrk>M)eEZ3S4Y=w}w5IOI6v4~jo*S)P~}9~*~k6J&MGWP^@>ADLP2_R3*@%rIt?E*sHT8qOr#u_2Xi zv!yj+Ck!pKYN2vxIngHrmZ~3O#&G6nepP?qsqCUq^W>UEg-c-x33d@Gr-KDq^`&Jf zUoMn^r8ja-<*uR)r=3dx&nBoCn>+R^pr$b`Lv*75)W9%~W@1Ma+=3gG6mU5+gSV7` zem_N3Gdw1zeQuH52VFE%jR1imiMJGz_Jq#X`T@u)8QXc-w`CzZE z)vGh`eckTh<@`bzs?2BqOH+?_Wr6mt-1S$dGMvh5ur+=`=0hy1a3-G=v#2bxvy=kTcv&p$4>-I1q zIe+u{urCb?j#XL58 zOFFvVh7|;UfnZ=z%R-}cDL)d*02hlQW~Zlk{A7O0Qs62qSBKD{!Su*3{&00(u8kHI zd$O?7;2x-UK%3n>1pZWFW&mSZA!rigsUMUN=gSe^fCjuUfXARCorCJq++6(e%e-fYKvPJI|Q=2fK zFChHi%PUo~n)lakV8Kf|y52^UWhFj10jaV9iE>J^yL3UlR9r(!%E3ksMeag@=Fg3I zj1cF)Kb6}=>MD5jot@_Z*0y#T6-SVTre5O2MZ!4-eG~kc9unR-hn-TrZ3$%YO|!+cXL^YXF=sc%{Vzz2jLITs>%_?nujgL1f-> zS-oHd@_3G2??-X%(GL!IsVM9!^yX{EE>UH7m?<#ELJ9#&D$k zoeNK!7zk&h|B6Qo zk4{#$A*)8BiMHY`p_F|w{;@LvtwRwxkd<#j@VPH3I%di}QD`10EYZn7svWM{gc9UV(E6axfWjRre&oo4OzLdK$u$dtah3 zU9)l2@@2qU)qyDokjf4)949C;nU$&Dt%c^}`Bd?SNGYwcI;GNg_6f)Z-%g96a+BP$ zE6p00l*_cF`{(n{=uzi5O=F8!FvGVSlBX@Iw-30chP+ajL08vZn%C4)c)|%c)W=^I zu**W<*GB&Ua){r#Z=GEAp#1a2s%)vJQz$%2GO>1#7P)J+M!AR|rum+k_S+NEqw8$z zQ=tpP%P{(XrxLf#v`+8mGo$tB%gt7Sr=*hRh!SvCy2eoZti%}|@&+72g* z7zVsn7tOsJ2|>EqjwXbWXyV@> zP`!!m3v*YmOeYu)mf!z$kYM`v(7W0z0TP~;ORm{4xLfPu#r2nz^7A5L!~3^*2+m_+ ziO4<5@iob9cNOmAfiWJW3lDpXOtd+>&Q16GjfRyUGQz=7+MgN(g*t7%mWDS+@5UD! z^B3soxV58$J*5pgit{W}D!PaQL}7smqOOM(i)C}1&fQ3bhTJWPSQapk$U^GzNZxjH z?7721%9YYEB__ZZ2-rzMT#HQ?QhrtR8`;$h?JvCaR(@{YC%lKZet7KsUQ_8WM=&xV zFm74oO=<9mpqFKu{fYuTxR@-VY_@_ps@_DPgZZ^%`!3zo+0WeU)pb6BFxkE5 z__5Psr5#W4a(Drt-F#>0;yHLu_jW$0makWJt*dJ+E3ufrl5VAYg(D9^v2EXWU~B1- zhLla_N`OC<<>+$yabS5{$LFhVYBULkH2TY|B4%DV4<{o3nlm~1_Hc{k3-PDU`&LH( zKw|!%S8kN06#$pJbJ1*BJk=ku;vsv5Gu{{_Qcy)DZIv-w9=R<*0D&AZEl)wIdMe>? zoDSl8T6^)@zYnunlG4(UYoffr%5{X*PS%Cb-!$_ljQk#K4%YD@)i}{O5lUe+WHH8( zO*qS}D?p5B=;eHwSpp-eSAr)fDBLVw&W@o%P_TAba~ahwJ@G{?Lp+NTCsSZ;8elvz zfm_Kwuk>!eHcwal3uA1B=0d}t*`TsKuor1yh#s&h+yXgB$KSJh!n^OJqKeB?|k zES>w{TC)qh?`FF^tX>+~btA5y5$EB+)TJ01@hG5F*5Jf(Sw$0-$q>D=Bb1!@MBNe2Os3*eDYK zyd+>Ee@lU(K-LN(y5;E^K~yB} z{`!0Mnqrtp%lSe2 zZosW=%~pM5X>vFl_qO%zock8#N#NqPZc8mweotQsKaJ9Y8{L-LD>crNH@mHG;i4=0 z2yS>=JzSd5TUoTlF&CyC13#lL1v1T)ZF*x0P>Dg!` zp|ao3>b=f2zhg>BTpO;tLIBQ#vJvc0XdhIigl(al>3%ZBi+?!Vx|)SYr*XWDzOOyt z-^~{*{sWG06~Q!XaxBICSP`XZNGd}xKhZqySy<`3==4{}Ci8g^43H#%sW)xtASo%p zGH{bM7o2X>xpo&7`4*a+u9f!6G1`+qxt-8Cas)<=P~?=z&uL&iO&u8}rmig#A4vC? z+-@~TA`-9XnD?7os|V0D(g}GgsFe05n3`-jM>l) zAhN3h!Ftgep^kQ&DM@ho-kxH3?D}clul9gr3!|Cwsi`N-xZENL9WH1&v9wt*5EC-&BKENo4P_sx~ zpn4z`cu|LiSd(w2ObM=&mK=5x<}$PxPK0LgN`=CO-Q{xm#LBGi>kyc%#PIbC(T#}e zwga=9*$%Vw%qX%nOL)O{rq*5aM>Dg91zX=bhIiUI(oHkd5_W@I?*-U7S;@iwwZ zj{|sWAqAH3bZ z9&g9$fi?v6Xlesn4KA)6y|`@BRo{0Uv+e*!4T4`k2GOt<1Jp4k+HMsIJTq~VnvAtHx-01M+FC6Y+xQ?xSayq?h#*cPxof84kPU4c0t@) z1r>B=Wfres};wHAx<&v#7dyzCdydLG(WuS=9T2lYFL?h#EEJR6wW2T!YbY-0DpNn{h!<_Tg{IZ6>;(KNKALW_dH0qbN9XZlS=?@bKcb*xoP z@wo@PoYhHk%=}MI#+BWUDoUErx?mYzwKeH}b6XSaC5+^{+tFy)&|`pNzg)6QJ96;z zSQuY7C#MtFe(8}{=RT<&owh%|Ro9a>yB5)rC7*fl*|3u%CAPTR3z%*IVqHPVEHFDh zds+ln&xiZhu{ORKS1~NknS_~X69vuC%`OFBM93j_ z{Xcc{brb>anAn3c!nLV@-B4d*aC(wxdts8R3Iw)yXx^2%jEo?1x#{PuA{}TxCX$m= zY{aH?)sUKDvy(L=vN*-}VHU^~+8XN8l)5N!*N;)HOn%2<4ALQ-er|CB12s9H!X zD|I&*?iSZ;=a0zlobfyZW;w(2?*%xb)b}huP+Q@N()W@+3$Y(W172pU_01&n@s$rO z2D}51)2wIMo96;0*)Bf|Xir}-$(dY@X*jP^NG&`U=U>lRrZJS=g@vL)%<)cQjYkk_ zSac5AC#-yAz7DZTU>iwR7^)*w04*N)k#6t4G?w0lowmBL!TFohzVzF!lQu#nQhg9A z-jD*@8EMPw<4N1O6evfcdQ=DktC#B>pD!^yq8g0E{BsxEtf^1tCi2%3keDdjf#%oH zXDeYSX^KZ%bVAd$KvW&6l-O+A^maSo8?^?dq+%zx?N=I+lXH9+klY<^Wa+T9meVtj zHtq3}i2JQP-!nUn83edc1&m6g$u;S3j=Z~PB`lejmoN3t2;dxeJkoo8#)T%W3Jd;u>wC?JFyDcA8(etcl-@ zF3zXZ@n~)RcsbL;+;6RY0@y$Vqj88G4yggoBiX^jq|-}VS!rcQhd!&vV_-lG0`>>& zc&K5J{;Oq&ZB*8NsrJ2FyO3ab89Geh9F!5XYDw0CcCPcBGn&|qs~z<(A)S z%Q+%^W|aReY(Uma5+~GhwVcHI3S!ks=0IH+>|-#ow)F-Hsh2Q43fWF~^2*$D{zw7H zDQki?wXlk(M}BaFitU&rLa1H4$68=_!n!d7Z&=rzLy{Uwnrb>OoH*GB*(8vdagHT&b#eXjZ27*cSXyyB- zZV9t#!TXQ*os{&?7E%ch7%c?iXlaQA{n6eoSeR?DCH16!GmsueGJs;$Um+Ms;DrKK zp_3$*%VB~z=;7E+6W2ZJBFEtM-h9um4e2p*Ww%rRCNXdj8_4X~O=q{ef2TAX z9%++q-O>~H(L?oX$=ABSHgpT#CXI@OvFK#fu836^_sfYu*ltB))}+Uh%8+r9fh|4Ln&IV&)$6i*MzW;6L^3llAen2$Zr3 zkaf`$9hrM2GM>T^7i96!Dh8#CA_cxfU#6%Vii?{sTzVO?h0+Tlcfe7stuP2c2Z@pc zYW95a#dKG!0&3|XPqm_JQ%TZM zP`@;4*f3b&EU3E9^WWie7}PK2DxM`C2Al?U75P1xk>fcJYKzMub6N*NRZ=JH589jv zwaG%)<+P53+Dt`mSBNvAHWfN_Zwwp?l^i*`$dPSoY)m*SOL>YtOi(En3znc7V8whk zoml@;E)R4j^!@(o`AQ_;M&-^!tr&GbZ+zbVg?)8hq`Lk%K0eB<#=bmkZF}%m7mx}) zyA2pfb$?CD_*)tinK$b8Htt80=#r%xPStmM6A+Wj4cb=yqKyK&JM@uRdO&v|JO(bh zj+s_3fTmyFilj!PN7s$u{lzM}v-bjQla_3kY1)%H$gMP|5hE6JN|pv>yjD={famOx zUsJ{-<)i;AMCm|%b z%GIrOvubdTi=Z|39J&j^!m|0ZL8qZsuE`ANnFa|kILp>iI`)1xC8bvG2#!l+q855p zV(Vvv*FwU%Yi<%}GNIyl&(6=(P_R-b-u)G@<2*2*LWnkNI=?*L!Oz}O1uQ?j%3t~a z^NRXo*S+}!`{l#E8Fg-)=hSB>a`*dh8oIV>KRRZD|Jnhtkarj2Q-*ds{cRDB1v1cRqI@>$M7 zS-c0=MR$l@LKLHkY^&fHKTgV)HqaWjUyFnwqdiTPbK~pVjAohN6#y?S{_9JIBT3-?*}x?pt(e)haz!7aM!w6_t5sNOg`86X4?><#2Ol zX(VYd4MQTYAvIAbB@TSCtLtztuwHGM6Ku0 zv<|JYk-!DE+A6Y6yq#}d*P}Z^_jTs)rMxwy)&bf;8kE+pcAFD$@ZCD&09!z$zc+21 zNDO|vmQ{o+4@>JK?8m@AfTMNh;iA@yp>=|Wo^{($Z+${ewc=}4s>kQ%LO<}eA!j`_ z8dx*rbsR$scuq50p8@UeMi?(v;o8k{x3cU%LX;7u%<6^7KtQ{v4OV06+L~v8m5i$E zgOVrXXLiVL-C#~#m~BjGtH)Qd^Wem7JQH_8(vj%UmMJFP!0H;7yPy_Iv==N0&Up|# z(+KDU8EyY$EQ7m%Fr4LunV_TH*2bM$uc`iP6>eTo{z>D7l9Uz2^uj1u(pD{W86m+l zg@B&Cqtt;-XP+&Bskp%uo-AA#@<53J;r(FO=p$&9)#&3Oj_FVWmfwjB2OwQAu}ATUKo5pIi?NO(k{T> z53=6F$oUzXq_7GUiwmRgZI&_;xeuRo5rUU{9zH7bV|GEL4M5}MJOzlD1V3y^W}4Dv z3Y@V!E8jUj@JBrG@)tkT|GbO7@)>(BFpmWh&6#AezV#`}T5WDp3KP1Kfxwoy)Eg0h z{R$wkS@B3uP$P@2UyNR^q{|Qz#7*$!0?4#X#Bl2KVWBAs2J8i)1+n```iuHTSOyE!wj4xE#hBG3L>W)gEXHV|Zu63;hGyytpX)-E zssmkQfpfX`>1dPZw6Bgg;77XO^d@2=Rg^4co-2m*m?W5@#HJV_qLkyT!0%<55>3g| zWuQ#NgjO+1z%bJWANvqSZ=cGl}P*Xr@q`sL+!S@@38 zb9uH%Yv%OJ`*26{(*iZoV~blEzd|qof;^~h>B5?m2CC^6L)=Q_ae$}L#TF-g5k-YA zohW)1G!v%kDImhmrzTJdzyf^;qh|k?6)8z0fnA0SsRSx@k%8c4i%YIE2i8t1+Glvi zx!AQO77yfPWnOo=(mhFJJC8z`hfO27z4~3%i3)dK?tK@!w4eTAF}sv{m$g3@PNHlq z6KM(tr5x8}g#e&zm{kHJ4;q?9OlWNeHg#@xP(Jv&AV4UnjL+79UL>C4qnE}}HcrNG zKT2iHUter5WuE7ldW>;(ZDLD;@KDNejJUm6D2Y-P!VHLu@TPf;X58kcW$>oaU3kfS zFidd}n-M~w%+ST|YU?&^$ZTL*)Cv%=ds9n15UgW03M6XrTL#hAj+yW4Y}3YS%emNO zn{QPmRjM^#LE-|CTgx*=`pJ!eu;@EO2zaba+`W@erdCC{PweF236O2OAq309M;VqJUK$$sc=Q z{h}H04o?ziE0j-piv8H{3*Z4yw06Md|hCs>ic6Xk2k$%14~3xnVi9H260kaTk; z!n8F4Ca`n%Tu301-bWRVFUCCvHA0t>@q|lctz#mCgOus7q%xTP+-GnS;`tn}!3k{N zmRjk{JL-fBzP@>2Dm*uT_Y2l_M8)WY3_Zq}4lmNn@f6sp3A>?(mgDhg7WB-0_*J!3 z?ii=_EdIPW(Zen4o_Cud(PFfD-{nS(k|m^lRO18Vf~O}o%O860pt_wO+rv;>5JRa36qOf+uY8@T+FfYzl| zZbmo^fLit&WeWf;)_<>Z+N-dtY}S17TeJjv3+q?EPyf#Fg#m_7YnOY5IG8KJ6qmKv zeruGne7*9V08QG>xKYhPeR~J{bPcG|1*s|8n}R`jn=!i1SbwYEAAfn@35*eQ<~zD0PJ`; z+X4Sv)};aG03bt8N6h95P*R~fpG>Tq=$@vw8M{y5-aW1TY*1M0R`g2o^ch7iAfV$e zT7t7?MCD61LH6EbQzw_3kZ_$INon3H3y@d`#Uy}(I1*GRE3NkKJ(c>@H|D!B^1xZ; zqWvrSE05K%g3z$uN}lsYpb3d-_qOF@l-fJQv}(JrJWxG}Ys_N9=)MK*sJlb}HuhGm zrO%63I4G}0s_5vv`IG0gGw92};IY=Zuis!O=dzb>ChvK~mQe65YX2OYD#1OgY=LRr zJ+FyOXG%vRu=n9w$2i&su2p`q09o46)kXi$O##2Q2wPOoW-57%N*575vIJ3eo+(ZC zNC0j>9Cxgk+9zoKI78SD-aX|-5i2U0m7gV`fZHlBsS1p%0dG=yfr}o}W7Br4RzMiEjG1_{RioGw0A32??p&f+zW2Mg{(V|@ z)!SxN3v3E@KBLPYI&UFY#yRm{%|^G z5*U`>M6}(ReTMDHtJs0!m1416Os!oRzcPX*Ye+}4AS0RC7Uc%c@*gSlzJDuqoA`xR z^kDI>Upil=3Y#C{wl0X$xiamqq5#X!(mda9qrjS-@JFgA5vh;g?l+)%-a@dE40^B* zx!6Z-O)i#45Be8;6cEwV9z|PE+y3~avFjc3`~>c;UC_x5;dVaZ#)N)Ex7u+8+= zZlNHw`c}MAQc;SY1|0bEtVB_|^7E2ds>IRVSOttukNTX1zj zt1c9WJ+o_3M!_#9!4w80YX(bi0?;?6R^D3;fW>I%41>!yrP>U*fM{9SuFI`L-n_{O zaiVo5CX!k>rJ+sui)+@oP!l*tudKRS;H>Q$??I4fMG6!gP6?v>LP?Og^ZpnD!2CBD zif`b`DNVYqliErYX4!1MB4$mk8$qun!Ai1n$7nC!o}2qY`u2k91;ete zwQ7B+JJBK9DjIFACK}9A1l)y9G84!zM7TcuYsDDOaoDU4d3k4d@-}VsZRrSkj|%93 zHq2&jw3Dt7!Uk;aahR#onJgwEJ#eafZIot!SnLfD-Vzkt8FTzvwNvWf){8zdoPV@$ zpm$_)3;1oEGfb&@}X|kssNT0|Hj{%ISLzOo9fq$IGvKqiZJ3bOafYcmt5yp;)xIhARq?kA-f<$ zpvNK!HP6E!2jnK{46tUG=3(I)KL`1d^5f+Bu8Y|MZm&jM&7ZBwEx2GF!3+lwANy4* z11fR+=T+N1$i0l@GARD;g_o->E^RSsM;&jV=5(hJ-rUS_o2;ujXAP%1q4Z<%<)w$8 zswEKyfsb=duQp=((+nfSY*z1tcB^V^J`tJKAY4=z6l(EF0F40RF=r-YXyCcnQ;jV` z0DV zNdZkAb)g0pGqb!gxIg|&yLt)X;;_}3)yzM%U-a+vsGw==??+cVhf3pehojP@cA!FPhr@GSY2vsmeDyhXgv3mi?fa4(Av1z@KFN34-#SB(~+2_+0 z0A`J{QaD?2849E4KL!Bj6-3ss9hsI}V# zSS8H(e3=>E_@(~_Gq#}H4SBz^DF3_pb6?L!n{Fzb zG^LdESm+kYWZJ+H0#nVUv+2{HKpG1<_tjY11otV$=ZiMDC%8|t9tvN`yWpo_MGS+4 z2t4u!j(^{twD&<8PYEvj6Df-H_%ko3t~xWc=gavTU!lpZ_xnuF4T3c|YjakHduAvn z!eQ@Y(3kTQ>PpJ3`By~n6_a?5zj!5+bJ_*e%LVIg8OU_Ov$b@=OL-YBy<8ODNt&zM zM3Uh_o9)&Z6S&ezLM3MKT0OVPE+%zUdmiEq5v119BA+BpF@9Dy5G`awmqw?6W4j=_ zAx!{FhvA~g(H+k+E^RBkVCH@Lsb5jYWhtXbOSN0w};`jK( z2|M;()n(`JJ9^)umWrHJiy53$roVKDgFZ#Z$acFskR(DQgTLUxq^ALyv9`;n%`vNJ zmH4Hq0SI?zx3NzU4d{x%mBAPB*sMJOEiA=_xgD{N4|`D20rFGQV~Zzg~MeXa~-ew^it%u&0WT+)8Mu<|fR-44ds@wG!U=>K9l6!v=7z>t< zY_A{z2PcQF&-pM%auCN^wun(!1>kx3hBgQ$3LuYSHm5%+lGpSzpQm_s=&R2cpK>NW zgU?dHnQ2u2GiVwswTw*%4?Z83Gr1yZCAKX8i5m4@O+i-s9e(kMMD8Qoz$eNBL;Ksw zHt^R1Pt6X2&)g6FR{ssnpNG+{S}Js1O{*6^^(qLHmA-)eT*u!z$Xru#Y zjm)Gg%X(wK$3+3=yzzwX5KTgLK-IYI#@hURMbjZ-izgr7x+_eJxp5hZam!L78|kSL zQ2uU~np*{~ZH>gBoQ_yHih7Fqk`A#cWu&J@K#{vyD(sa3^EgI5ld-+UzF*MI#;X@KMRlKCY$g zU6*G5vPKoFb8o7&fW4dmYeU9NEm&i^$;*?0kyx$6@zEuCX5QDb@0P%KoF65$6min! zo*@zOP`#)C0qEDsZqtTO;d}YJ&E>$h-t+$pwn||)^KO0)wOps)P zx1yJxITuIY;V;cEoG&h1g|mHk;i+-B%Be|^m`~SEo8y8@9-{RI2RIx$sgLt6q}|@W z+#4zKd)wc?Qs6(p6CF;Cir$@`ufp5x7+mUI!ks@W}xYp$@S?MfA>6pcblP>oR zNl1apX_$F|VDD80mU-B=!-Du!v)$l{3^|Acfi{AN z%MTpLK6bz`{kHliW78ya1m=fWD6@slQdY@(p9m-suKw;9>5CU9G)+D|Dk_gWrbp9I z6dL13>_mWFXN|71-=`#liw~e+K!G10%r`wTMn!qy(V!#}wq~}r)O{i(A}{n9Rx9G; zv7`a#E2}jb-J{%{tPfLdOcGccNO0I}Ut+rB@=gnShcvAHpaPU(=9d4JuK%z42!UG* zF#6zY+QH5f_)1p1@d!8f>jX?b7^2&Rf+%YSaLofUO0lIu)Jc%G`d9?!J8kuCQC!mP z$84o52vNz?c^=F9tdSNVA6Q8Qdqa;<;%>g1@Vbd~G%U8bSiH%Wy@W-+yI8M_1&z)5 z(~s2ajfm2CdfO<`#dNgZnFeS15~T>H)*VLNygzxb-JGT6$m0KMruO4Ys+YvheM*># z>Q!%S%`r`2GHnSdiGw*2h$oBi4=*CI=#Ds84N~f8p2LAYtEXd1LN) zjLI%HhBI{;=4_kz#l9ZtClvj6k^>j*ylXF{TVOc#3;fRr2bY!}M!rG#L}R-=sZHSG z$YE+ht|3Hp3f&u^tZJotk3D=_Y9VOC$UXWO<#!oZR*y0&*k59IPAy9J#7uZ@&=1)=p_`7W+YYp%u}D=!O{@96ZJCcqCb#ufQaI?&Qi##r z<^b8pa6XoZ3KSX*4`h-3g7I8A73PBUhy6LHB|9V_qEkQ+yCn`fh0{^|93W=7#2$CA z`_=HT#u%UR6u7#=l_EIwNxPNzTuAXwLq!v229+uZY}`4Supm2u@$Pv~Ya!lg$YCL6 zfqE)n8*PQXm+(AoNvHgeHie$GN_Xz-OjzN08U}cH7%SJ~MV0fCxKsy3*nuFW>!VHxZ_IZ{jjduXjsxNlCzdC&CL z28=IR?cJw>i6y_Uw&wh^kx4@!=l?cb)8zacTcflqg!q>XgF1*S-m1NDroz{HMj2Mz z#|jyOZ`o?M(M>3ek?oL#yik1-5cIZ~Vdi8`;HcxDy#wR@3#=B$rlSv-I^6H58}Ah6u@C zJ-OG~Ghc7y-4+oa4CE)6N|Xh^QUqUb*?Bz-WiD<7m|!E+^SWG4Z&N&A=PwV>Vu4w_ z$=xO4U#5(T?tEw}0eJYE)0X+UjmtYZBV4<)N?iWmEDic%52Ns1a2S5b4>n8n0YZzShg-BRbg zAFCbXtI@BWk;(zlWm|j~n*f`7pZ&SNDCM{9lniXld)rk+YK78w)b!2555wP#JO1NC z493{Yk$0uY!=8~^4}0XZwzr082P;xe_Vf&fNg7MuK;g9{QinNm2pdbNzY4EbL4&;p zyli9ACUPt3%-Xl)I?;6`m~$X>btr_;8xr(Fx(muiGqx2Yna3U@br57F@gV2~54UP* zPl1X+b_(1OOCAWE4F!CvFZC(*qkW{Ly1(c>J!V z64+(gAbd3`&@3fH+Q7iC3|==n5BG*{Q)IcHTqri=tp*Rqw;;RGs67Im$(4D3u56g= zF_*V5?Y$V~7XgHtLy)uq!d&kGbMavIutRKEa#+ITJB|(R)+TCJ zye5vfYVi7(D!J)1ofw_bZ=c6HK;$W%8p}xff=qzy z=sjj%wi3A%KzTRg7OMb*9?V|5Ba?~qmy>49O{rTRKT$TFSTH0FJM-`RfLp0uFFLlz z7t#^nkTmrtmx~P*tl&YYSWw$&)E=461kMa*H5vn@MWe5P0KB2d6 zIHErCRxsj?MDnVTmcvD!qxK*=lPh)pBW9Ymk%Xjp(4#af2x)C6o7dNkAS^p!k$qXKcM=+)#W`0xO>Exeu~tR=qU(;hG+=DLu0oUHRNH#qp~jF2D-VIvA%{b&&+f zj)W5vvzzlLtJ}}mNe0*bzg*F2MhOvejwE}H&ja86C4UTGVK!#>@N@~Sx=29*lIdialFDU585Ehk5YEy{5CPK@<7^aH_m<;pERU!H z4I3eHu6x>$HQjVg83evkB2=wqA(_e?-EoaPV<68s$S?q`z2}BLnlUYB<>`H%&x`FA zOdO`j7UjI&R3Ut`%_0@8gpX8rtgef@AB-hD>-jrn$?0gl;Lg)O%zU;0Ys#&wTjvdW zycY(#`>LIr6S?XvV$(8yTJWd}{x2pxuUb2k9l!Qg9ZFIQv2ib&D6c_1?0pWg4A270 zP&g&g!q-HC92p%$5{2@X#>hhuc>-|+RhD9Es-)6p*RvOdq*xrQ4ch<8taP_W<%iU# z)*0whw;LZXdxzZtgGU(tm0ewvF0atxe7&+u4-x{L7E~4VV06~>jgeWT*lez3WpETJO9Yte7p^ffT{KXPK7k-f&SnILZ# zt=PrW)u@~Yu*nDxfv1wLbf}=4juk_% z?_Z6T!^j_|Ok7?%I^;FYa{Ssz_4fFHIFvYv8@An%cfhL)t4-s9=ir_t`94FIm0E#Qdlzn6 z361SGcmmU%^667H^Ni;;w66(wL@taX+Z90jAun6%r{vT3!+60Kw$`OlYdn}}H9MK3a|pTiXP4^{l%)DO~x$EKB)nBVL~x{^qy9`;U7Z4g7j zQS(J_d|Nd@5A7Ny(~~ygCNF*EU}(c(pch1*SzJz>SS+fUHe5Cc1ItD}CFXYq6VB*- z)#(GKHRQmEHUuG812Y;m_D_Om{6rJ{n|_`ygU-uk^w&aghpd9Nc#6prG?8k zBI;IsUZ?Z5MkmcCV4BAalI@anEY7%%4&!lPBF_>1_L|< zXS3)l@R11-pd;s=>oR*{fLR24bX}OBH9Zyl{g>m1kL|c$J*(GPbJFvP7KWi;>?=Cd zU!=Y?`<&;+LFDnVHfozX2@@TzBMS)1VyXbJuT_NE2wcAu7=Ln+@Mc-Cl*~X#0yqyS ziwGZX9H`GTn45?CL{byif8$+r{C?5;Au8fOZ&F`CEQ7L^g+J;G4>RHGrln>EqKPmd zoMVDX5-NF!R{!K8k@|pl&f%eSD|s}65ZXjo_WkZt54t=4{m|tTz7^biac`l?SKs2e zMcltL5E(hb$3bZ~M}gw4RM1GoImqDVaFB`MQ2S5T71kRGtF*vgV>sZfW%MU4-(-3} z{>Sx6z5lbtJ*m^F_n&+od^6FIwd4>382M>iL^!J zBV`B({$>jIdvY5|(0(rBfc_`Fkhp(T=3y7$Jm%2bX8HEE(Y|mmkYfhV)mKADE&%Wb zObjq`a2W ziICl0S7nX!<_%)IMzM$|ILpc2mAo<;4wfn@q)0FL8ev0@L_UB+ercLs*2> zScgSe6p`m?3MC;!!v9Vhou$m&WHgMN}bk74@0tw9K?Ed#iPU>uy@=-)>u7((Fw@%mE7z6@0? z@Ck=9tmo`a>@t)4gO47>debJcKR7-6O~>!SUW4)$#0Z*Wz&*s_ZpT^NUX?nBz!VI9 zcpHKgzA$XIiv_h7tVXY=)Y*odLJxm#T=v%^3J-4MQl%L|3;WCRRU zPz@PB>G+)ijt9hRp1ZO!zf(|!mSSP@ay%X1k~xG$V;{vy{#J2;zv!B|a^^Oh!A4Sq z@6npeTJfGYYYRE*YIM7jL^%!TkvPc^;m+&Q$MtpUVVF7?6fk4S+J@=Wy0+;$12vk4Em)5h zCc-$RV&gi4C#a2|9uF5=HF&Xo^Cv9ZOouLa!)_Pcw(f?7Lg)gv0ZkP6V*^rx&p;H``kSC@53aHvD;`go1>^xR;^YCwOWmPhc6SJ zET)SjZx_}?w@o$xRJn>#P(>-4A#he0n#?nMgbu)bJUuoTo@Fa?RFt_ zWIi1yEVRcN+vJjm;&1Ere2-tI<6^)>kZT0{gWy+2BZJR(u*C1Z_lH`y2Woy$32`yj|zM9 z8qE+yx~l9{yRD+*$Hn3*8=ZiIsgO3-^a8s!Pny=To?xs~h9IwmPlNbw2+i#ZL@1#c zsG1JsxiIMl{u>>@S7Z{Eu*ySWStbA&EA&0e$@Mv>o>`BXSlW_p} zKBGW6>Oj=_u7-oiX`jjaLG8aPJPbBJ_k#B`pYRvQQhBc{^8UKNE#WSXV8bAE8)IwsPV*CgL05AXm0Bhr>@gBK} zS0E2Lagl?I>Oe?*GL`=Lzz3JP$S+*)fRMPt-*NTE%*wN|Uw!QeZyummp#oJYHUb(F z5}-ZEL7w%VwTBAk-V-;1JX{@`nF~1CVh}@1T6>8Jy#4_Vx?XZC4qPq+&l$fvvmJx4 z*egt+0=Tw$bGS`63fMl$2(T{{5M8N&OgO=b17&hj`i_s{;79fo8@wWMGm|$q=pWWf zLYcU>BmEz+{2~l*E2wQhrrBd5?v9b^)w$6FYY3JX1-?0YGQfi2rg#z_F}>&z_S2e(Zj z9PsgR=riKbcYO_`b0D|Ii@pX(z@Rh$(C5F4A=Q(fzxI38am9XTM)PMan{o){GyKJ1 zh`+~W$T2(=mUsrQ)1c>#Vom~&D;W3T8FkUqx zt=)#rvm8BY+QyKD-`Q2m8lKX~%Ts{)U53IAvNjso&{_wmU?nHvu}3fh;$`F|p5PU! z+Bu%MI;nu_Yxfaw4uA&mUDegyR~>Ps&8Pngc63ZmZ&23fV~N`x4`lNi;O|r0-(jkm%#w^?v71k)|q%h;YGP}LTN=Nyj!6bfP4Z$z`X$s zoZu)+lAOyq=35N-@Zp}xtLBWe%Q1gbE9Szc17-&k>uPLwf_75~^I$47T0O-}T<|l& zwaJ8iqWbKxzwID+@VJ`e4xAa?Xzc`7+LQSOfqSX5QRX8?cq%NdIXN^fX;Y`kp!fIp zSaBev@76PBP5$`M#O0l_g@##Y@TKyLhdU)uW%lJQ{_GIIVdRw^AsY{X5gZn3KT~AK zH;>i=5)N4u6ImN5GKQ}bQ(T4eZ$<~E==O%OQ-z&deh6If6#L@4Ma5E`aqj%DUuI8g z!MHaW&GAF!27+-atyrBm4xq*63BG}5QH&y#ATh+a$Dq6gCp^^ND@a` zjHXk;@k>BA4Wv2bN-VfO;#VI|?uj#z5vVztuz-Z>@5R2~IVXP!YX#c-)^4-F1Jfm} zfOdjbb=gdj#-MbUEg&h^ChmcC%`cF6rcw}q)wwuUBFape z*t-`9W|t)6T0l5qaOQy~VQI^QH51vn!A`eP@57b-6CFn?lEFB;!16^;uJID7Sk1n< zTNZ|=n7onP>rf!I(DUiAc-{YuPgqQp9IMX8927CjE>*JFs~Guv0Au*#4`bwM@ck=y zAxc%xzg<>dUe>uYmT98^Uo>8Oe~j0<)n>CEz**>{PxIp#)KDW_J_s$eJcE%a?Go-N zEdHN?(eQ#-kNe!Z6fSfq&_N|ETMdE+gH9I_+yIRDEvWtN?2k#gDY-(G1p`shoofJC zV~S(d?LZIgy;~Zb=(;B39(wNShY4UFW|J_haWM**f}m#dXLTlyS&Au`O1ik(1Z_%D z;>OWNr94GL2OEM~Z)U3XXLVH5zAWlGx~W5B!nlP4@{I({OX|0_ni!=z^{inQCZ$G| zk-0*Z`=dy@IhV8ke5>F&2HWkvlHqvy;-8n%#f{rd3h~X`T%7(*c$?_oRW$CMN!hQN z(_+>S+&C9|wwt4G8I5$es_KcYsG3c`iBjxp4A1$jm*4ZXO7!v2J{ zPARkmHVNVxHCvxycUb0&)}wG8{vYWshSAE!5N4nM4Mz24qS(>106uwhz_kj)y^e$7k=Ip82ll4jy6PZR`| z6i~>R~1bL}`OFH*x3=>XkcDhdLpI0j}A za2Q-=iPh@@LU+#WzII3lXO63eEr6Zg#&IJy(CD(><@%7dl|;uO48u$^9l_` zB@z$jJ%AQo? zDUgg%*BAh535YR>T{_dJ1+Ujf{LI80jOHPRag>M-N4U`Mb;(eOSHFLVNruoCBE6A9 z|FNp}@%oT{V^B6*Mcy)kSL~g7Q*K+LLUiTkx{5}^HK5?*aH6UXSzBFQt4NZWcKTi4ra(YUtbk(Dosa1twz8>;`)yXA_jnW{{&0Bbs># zWQQMWi;9sh6>H~!0ja>Wkb*ekApUUUGywo3a4$VSh#tg{kdO4>jer zv0#;<2@zYRX#$~?HKKC^UOKgBhH1B0e05KYScM35YaPj;*QUXu)Oe@~m}QNv<>ut{ zWXdIM7-g8eD^RZ)vQ$5#NXCnAPAUUlO4-HXo13-ihhigWZ7j3k#-b@YZB#nTHixM9 z1vl7UI{Iow&(lH$0N+)lHvE6ZB=7~rwPg+mCXaT|$OJjS z*p_tOw`zBB23O*lID<0xZ1E(#yr1Ycq0&jr5>QOMjj_)iqYa}INPC` zw_a&48Ge`HSR;d(5w%;P<7NuW;Pr(x>N^DE)awl?lyOe&nqLnp_Fnou6_VORLzfhU3)sF4KYF3hQyMVJWkDWxv!45de=Ma8T<3 zPYJC^Df%eIt|L=*NLH{Zi!^(`TUNb^N`A2Kx@b6YyD6WfKe@#Ktke8xmo-bca~TTU zhFY3t;O|T%G_H9T&hx)MZiv?Qonx0CeYj zgJYjVSvk{j_?Wc!D~OB&!IYM{&8#eg@i8Jh4&ak(m?Q#O8!`ksH^TDV8wfM(RkNb# z*tiV*{*~pjD4%?)-8Y*V7GQag&Wz$LTLw#`L1i~f1D1N)lt4k;&1wF6^5R>2%smhF zQ6i)L>`3~Dx(U3J>hwPA(!Bg9h(1W?rX(4?-6LYQ43k9C73T;zah zFh?0_^oTGIhS*NY+{1GcnFX!wL{yO^0l|_H1U7~8tWsgwY5RHOECD-?q9?7;9+_>F zo*?jK3%3xz5dPx$h8@MaLperwakG+sqT)tAxNjM#GD~G)JvRFs@lC|>&Ij>|>FjDQ zkw_(}mB{QGYA%WQ==;JSo-8Zm9ig9j2yx_lLLUc}3cA}oo5!q53s41Q{lf6Gvnv+H zppMCqZV7az8@xt!vxn!Jx$6k;0PMGPdV|v&NagnqR>0jmZjD41b-HC%#!2__5FFNI zSgmp#&aBP#(>`1hWu00_A!w;DaOw*3p2y~MlmgZM$b8}FV@pOunETaYvffnu#Pp#vlu-;0gG2sTs_M=hY0euxl( z2SnWkaNhv)co-P%6S60q|D6C!@P#17qvxsRVh47%8+~Zk&b*miX``5wl5pj=R|=Cv)@E8 zTk(g}bqydf=aG|3kv~JG>EB6(jC-dlPBuri%Wp*+X)|lz$D{7I&mj#<`YawV2(~Jz$59t~Eo&Y1>U zDv$W}YZukWgZ+^8CN}SlG5x?=Pb#%S+jr_@Pu1xZ4ajc^l2^7Uw=P>8!d!$tLbKVTGP{k@tW?y~hNQ&wuYV%khGR|Z&DohO?(_pc*}k1gCt4M) zXGCJ8u0ug8TBPXvY7he>AC)pdtB_-(Qb$-u!oSg~^AEP=iN{lWX5>Lq090nSdSl&K z1)^_cK4Kn5gh{>=_|VImhb0zMl#ItjiD`zeYNHC@atW%<-W+GgS*2g2=KFtWm`Jp@ zj2?~LLat~LEDMR-LufeHvV5(!P2n~HB7ITQ19W%nbKdM`3jXQnI<<3GX<>f>B7SXX zE;`H5+g$9Gz2@xb>IUPR{&H}FMm^o`%4=Kk@dI&V@6ppcl6DT zkZ?f5e)AGU7NHC!o4ztbnZ&g#hK3K2muhT#gsGT*Zc~5ZTAEQQic^P!ZA@G+c%7~m zc85RO6!8b$HnYLdZl+fa?#ks{;u%gQiGkm3XdL{j(w3B2=; ziHor)nN4XTuVnP@n5Stu8BN+|D54%CBp&wmdpZ?!YmS!;A;pDw5u6wh)oQiGCXbXF zt)H@*jZH3_rSUOQTu(wC#*?#P?vMy0biaNWg-h_N2vA;2iJUty5m?p*wF$uhQbPJU zoB^a@_`yA}ToC z*>vdp{gce)9?yn)iQ~R6WnU={L=R1>EA>KB)jVxJGon40Q3FP%D5PxMMi=3+u}Wx2 zVO`hOdis7gu<8CfN9WEA(CZ}#;n`!pnNS3NSk!x?EKes72zY$b;e>jWkD<;+2BsyM z8DXDC*1*^7k1*l{kcYrw#hAZ1{^b+i?d`P9obBWzBAvXJ4x_3>TYn!v(fy3~P6m1! zeDC9kllaGm&-5co?PObopAoVK)?X_SCjlF>!*g?Ac(D?mz@@?PYw8t_#?*L$94_qadTQ`GMnC7JG9R;j#r(nk3^5}T%!gz5eV6bh!%0Ho=s%m9_Wr?g;#o2y+@kW zRs~)m;k0SFA#`~Rv)`g61+S$%Uerc3-&&7!DIk%WcIbX@cDzf9@jL^H!h($i-ye^Y z%(2`goGi--MnHeGAV0}-*&V(t`r5&tAKS-PaKpo()%?mTQmM|2c|89X(1in!fSbNO zZWWqWEkVHH0lhe`pqom|v9RtoYkU z3(4tlUsGPaT-BYG_AugZ$c^5FXghwsSSnYl8%du@dMO%Eb|`mE+~FPr_@5LT0uyokW3vhy7QrfTLCvRpT+nGPjoutecKz zRJ9xu|K>f{Pz{c&U|a*sG-QTxbeGbRgu+fqhJ{_57gI_*`oeN+l2kQ?_YGgBL?L1_ zhDC7)x2kow4`(?w!FefGUV`PFu4W{c5|aH1u_3RM|rosr>bw8xR#$Rg@^Nq@BET+nWbs zn%T?@-~wO1XDd{W{B;C`jbQ716@|sdKD#>*MS43MLU&qBLbg{S33d96k^Nu`eBj|)t5RHf{%XoC^at_LTTf%>v$q`GFuon8B8`vEs`9=mcltY8e21*5 z>$$Pg4En}4W?|*)K~ah5;v|RtMVh>L?40Ju=|IR!^IH8tfG7;4OYY3RA~pAL=n#R; z(Lzg}If9Dn29zaWS7ncAW&BQ`!eEb7bhx(x8MQ?0P(e@-_5qH5jsbR9*8HXb3e?sa(^}iuwxxl+^d&Y-sTz~0e+;XP58(Bg#|?!D^{6f zP{gWpKUAU}90@T0K)f7au(gcfGXny!W5BGLHSo=*$O9!96(K_eGP)NsWUm}wZU|~y z44HH4Pcp^&^(Ui2E;Kq1D0&2lVQ>o3XE6X*C8PJobQYa5y^AC@ieSN?w^)cJyM2R$ zE-t>#Wz%|hkuLb{+tN1lvlwf1Ej|aVE@wB5n*H2Adwst!Ov)yBQywgRxAd8RUZiNv zV5dvRULXzLctR`_yv&P;IKhPrKU#80qn ztq5udIx^?fnPf`!>rX~QkT6*iPDv6XV3P__Lmm`1C>iAGqc5-KT&pFSY~A^|ZMg#q za}SY*HbnB^U9_Sx=hIC^Nts`_49&dACx{$a5LTpiO4KUd1|oo<<4+T}x%dr*i9Hlw z(sSIT#`FDRr+>hT%|>>kmR7s%T?VK?Eo>LM-8pNT+3_)yd;!pue^Xquc%(KP(kOK?CD%DN} zpO7_iTTU4~HtD22Z^-|a$0F}LM2HLLZAmhNWimv}Idez(0dtgs>!-b@upB%fSvFQ;IAKspk&y)5)2|qV8A12K#`&;vrwc0WOFGBO^BiSA3~5TlZl>?$%J>1O&PkeO8M-X7Gy=|GELdA$DB5LLr{gJD(USl`^CxEH zOmDK)fF2-2P>8rsi0>q=M3u1g0BX9x7QIH?v%!Qz_WlW-^nea~7RGnuBsd>E<6{>n zv04VWpvA@|0`#8{)Z`)=um@meY4H6$b|qnzz6iC_wJ1R&F9Js5^B6+=7(nekDo&WE z5`3kr28IH3WCXwQRwMHZZkyy(*$iNqoS=xYQp#H!pWxOzA^89B{{*(x&<8hk?Sl^M z#%dm;IbS?ubne*uq~19{B6|k=pxz0?zP}lM-B^aD+?D?#bZ^qPo+!zOj7K?hlX{oF zI5zp_K`%Ioeo~xTEgdYtwm&i@qGa$=brP1I-`^57t?JpZ-bkes(YQU#3(G2sc2)H4 zBnqf;NeFcj2-#o$iSb7Zeoh7Q&-}d#Hx)51p*Hn-I}g!i*eC@~w*J3a|QZLYRrTv`l96bO87j}SwrOx2kVQStWeeLRH^#?7h!lK-4*7eM*9U$2+XI{J=@&-o6rUQ)y z!jYk7SwndC&c@)RSD*n7Pyp~fwuJOt_D$%413rB5hk$aDl_5==H=rt7XTn> z$Oa8wV@eqNeF!=k7}3NJ2~l=A!{OjC1O`McK1J_S%tjCMjidh-d*o>Al z>$Us>b*H)B+{a!{+H5hVk@>`Ber6zx{vS{ zD*_9UI*-6)t>l=$aLpGes_zfX%t=f{&F+-J7b_NHOTEsA7n8|#Ur58GR6j2>Qvr-))UV;4Gev}%rXI3P`aPz0VOdx`6scF>QBkiE}}aF3%@2> zmADV$RYG9jW3!a|0+IVPUyc3Iuzy@S%^QN;{~S47O@T_=LQx&mRW&3zi^8#FQKu(o z`(3(iwQ7unJRZwdt)^zNvU<+~T`PnqsWbHTvVN~p_xsD6Ykv+JZe9o2o^6?9V_K`r zooj!NrN!34Z|kxzW4kX0uZ#$Uz&p*|=ZHVYYb6*1rM87WE*ZTETvs=?cl^dc48e#( z!~{-&CcrAiSzu_T=;qED##%;@H&r=t>{HxWa0c+#HL`+Gl^4f8h2(V`80#9DL9m+; z7Qq|g-{W%S+8S`Fi??0`&Yw$Uj<`JZSfTZIp|3$4BaX&`iw##`k6ZPF zI9yh4$l&W5!1flHVTu!7jj#|BfgAMh@yqG6VK5?Z5Uy+J7SLsLlVHQm7(zX8e)xbB z_a%3hoEQqF2KM-Pd9M=GU~D`*WkT995bGKk1=$tokqeRSndsr|?YYGE;$T%Jz_~hT zELYMSsb*xnRgh6^NIon$z~p{9T)6xXH?HfovY*-M+NbsQG!F zUhghDPB1Q*jj(@FJC{;Mwu-s}di=qodq;Yq#^l}!aS3#~bH*m8|t!3UUS%q{!g6to?;}v|A1#7_+ zc{PyR?4Nj|NNKx~18mD+eyZ2XDf-Y)Cf zKlOa^2&LY>5X+ctTc!g)XvEmg0r)#uDsy!rKwAXV%bVKr7w&`$mfikg@xdzGv>YV z5h`V+J?0|fAyX1Lq{igdo8MZQnR}3`%H#n_6^jkYei1bUetb{ycV0EmefCUCCui`_ zjNFck6ug(ok6++IN{R$Be91My4e`d=H$Ip5C$ylP&fiH7pmRS32YVlQ?xpdYLGVm- zdq-2-Uu&@L7HcUfno!2CMN2B3Rx8SR12ONm%KHwm416x1r@EAe9YH0aRYiMzVa(wd z4|hg6me`T|JJ6OgW@BNGkVm;{uL0wXGw7~>H(|$B(zYZKNlv)Dm5}9D41};|~D~zqIU&XZ@=mm8wfZRqDiI?zF(YjWqM=`Y$jk520 z`aL+UO!I3B`QBI~>hBVJLm(vNtW2Ln%StqQ#jW=J)1%AovKz;c+Qh;WffvhVXGKx< zDl+q-@O4R|m;C*0-}N^N5CdsSl`|ttvv?KiI;1g-EKT4TCWknNxX5|0NUkg2$L(`_ z9yl8e<@N85zDrEsbq5NPa%noIcIx=(Nysp*Ejl+k>7j^l4%1>HkKZVIWhZ)L?Uit3 z4aJ@ZO|OJ2WSguQ0^h3k=DI9f79w1onFxg@_GaWb;q}>fe&jm+_5L@08PH{?S2JPpDA9!H*ve_lI$mcLuo7 z2<&898rkL%9!KiU{GxnBD#nFr)?`gLH5DR^2+>J``g+e zNrS^EAsD4}q(|HBS_$u-US06|rZ22sUMW8MR*WNZ;ZEK2*OhT{yuLf<j8S&97e<3O?9P-0TtXt&9Gi_|d~3arFOpN?;A_FGetJGkIi68MXx)KpX+VAqWA3 z!)TP=yuM>sEhUnYyxeq_o?)9JLX3GHW1!ei)4K&TpK&Y4th3BpS(wQ%Y(jDp^19=M z4n@!nN@ATKEFhv?EkF`0E+8j^S11h_Zo^IN5*A`YDD51DNZhB+|6e#95ruX?6Pevo z*`Jf~O?31;JBDs~d-_zpnmda|O+LU+q-j2?))U2SIZ)-_R4j%(A*JMK3_3SdY=_qy zdL-9m>JsAmAyJ;t?}3q&6teP2D39y9yo)QuC`<;(hE+L&bq$~=7nCzB_DWRuF+ zuH%)*9P|(*&R*~B{W5_bkAE}vyJyzFK4IkcZ6w4q5rHYzFhdtYmqHUc^$_if`M%5KE9)ciLi}{Oy=lB!2L%6b|HO>HrERGr8iam{+dB-2>Y?fE%9?Do z7hDa9^{N~10Qv&nSQxlcY((LA#d)EuYU2e%;Fw~U?i6gS0zsE)sMn$-8*7tb%Ebj^ z7sGn1CN$Y+Ftf?*a)E4UzLpfs%l@XyCeXKq$flc2sYBMOuP9*RyW0(N(w3ll8U(QE zdZe0;j1s&h4+oXj+;G2kj4~NzRb8Nfy^`?ksce9v19?on#a-3Y6(3jhL);)Q?aK8ktT^rH6l+a7$L# z$nr1i{Hj%jD7~uY!HI7S;f6?3AJ*J4_t%k4yBhr!fgNs@woB#e2ta+QS-i|0R#NSq z_^lWw-@MY>AyQlZxT^ZHc_b^JsrdEN9#~=5p@K@Uc;qQISIFyG;IE#VQzKDjmLjdS zB!_qH2lObj^4eUOzr|y2K~t<3j|CgVx>0+bxT)9Sjb*SMy$0vkr$0xUK?bK3JJ4)x z%xsLq$Wes^*A%4|gKW@s$JxS#p6;dFXfX9Z>U~gwVHbHQFldw*vGFE5i*-5&u=#CC zS#ZORMdt*-Fq zc0s!+nNabt$#rQmB)+PwF7a7_KDmBxz*wZCmFOim_mbo&z|NE}y)utD-kdAOmV$oJWavQ0+LTwp!>HU>+O zCHekgKZa9BM-Frf5N0r`xD*;sCOZuVUW|}w`6WpNLnXmcp+AH_ zx@>olpac@qr6t8uvanPQ!YV6xtls+|u9Kgc>~n9y*x*#zATz;HkN_q3qyh9WM&v^n z8#?}x7?<>7vB)lq`P8Qwa!l~gz;fYtlm(U+ zlf}_ReQ+e#S}Ra%Yfy7xTP|?;0I64xk>*mT-)rO@v>tb&)})tJg%3lSi8X((A6DuA zS()(-}t}flt>RNX*X^cp4oIub-w=Z<2ZL z(K}W%vxD0kw_xu>T>RXnx503g^vZJCMCFG+qKi~Yqx0-$nNsS`8ZIMu&fgmLiQ?|Q z&z`$u@Xk5qt%<(lPh}MgAO?O#2hFO|C#!%Qmio0egb>bwyAA;XPXCrsh&Eba(cedx!KiuG7S6E~sydIXNO45E#n619jy(%GHkIk}=NnxZM z>;h*&y5zGe8c;o(rb%;mfUvHA*%$ZOZf_@RB&0l5uEBUA@d-hz(Ty-oKS;mI1M3k#%Y&)_^+yoNns=_Q>M(m7Wj1X?wsJephUlEv0^LHvn!VPBfyIWT) zOQm-YiJe{s%69=~MWT<`uVqI5_$|sJla$E%a^}Do-A;bdhkg9DJPDPapJvjpf+k`O8)fCtg`fRY#Kx7nu6L0{OXvq^3e zG`#V$x9gwV1Q%9stLb^yd?fNtYe7N3Th;R6K4a#%e(7Pdduu_vK#8nc2B!Fqq$WU= z5@_Ruf-?R~0dSeRey#0LhtUnNL*lQvQ^9zXe0o4pcODa z)z>xavsh^CozRxP-l#@;dkfRg>}ECgeFQG`H3E3a@c`+W6cUbhlOFn#a>>(V8FQu= zG#X=Euo*T8w_(}-Ha)N7`YE-9JUIv*5X-sx0LyWZXSN_MM{wP^^{q}?_RgIet;GKP zKtW|_aXPy#a4l^`@4uEW%N?G=IXt=NbBStYS>j#MCBC_zKGwRnzVtUv6^EGmS(HM0 z>%RwtKK_%^@>CnJRILipWcTWQ@Q^w*-8hoHCXNv8sRxS;3Tgax-#3@cUT-uR; zXf@+CgRZj2n`{*H~MMRy>}MsOWsM6;-n!ErOty6O<-dB_P0WYk#eRU=Q&(G=4d zH{%*2a}YUKw|88*9Y|RC0|yj6+`QTT+LuSrJ6B#u-trnw%tV9fOi9VXBZH0Q$i@Dt zCdbE_E>{3(UuS_=LP&PABaF=oBU2Gqf{+GeK~| z3aDPt<#$0A4TDUCJhb&Y&~{|nksGG@zT)a-@AL%_gamhR%b1lm-@AHYH22bq7JmWn zW37dmXrHnaznQAdH>96s9=!yUvu~<)5AT<{dWd;Ngn)yTZlbEem=c71KAzVR5V`n> zj!)hvXonLZKp#`I^gKehKFT7`&RQ;nTyzj9BlxO^_W=AO5e#cgT4e>dY-t6SGcR$C z4T6DsSzx|Z+$@SW^77blvM#^8rPAXb80#BrYinxl>qP^@#!!54Btt^WtS#i+au6sZ z_;8O_Sh_1eb(mj-=Aviu_cu6Z%t3x$fd$@r6|#}z}Lux zRc)SNt!#6St>yYlQ>5|!`qA070*IXw=C!gxPO-#*TDoZJrDN z&mRM{TaHlX-g2m*F*hj6&_~FjAdF2l6gWu$0(#ZsMGg+HaYQ)^iuU?R3aoigc^g9? zd+(JHR}>R7rZT0dZH|_m)27HX1;vJRp=#obpoT*j`?j*1O081-rICHDR>3yP`%i(v zsXJUiP_saZW`WGyS~zpF8Ut~)KGz4+p9u3TI%;a5rhZ4W`6Oa&Oz#bxxG;dF$4hdd zXfNnv_D*N2?Tb2IbK=wz#?}jn%_-&LWsT{!RYNpP+qBLW6dP|vb_AuclZS9CG{x$b zY##aDLX_uHNGX4vjeQUIk-6*lBo|6r6_o z41o1YReEcL)N83n)2zp~E}dD=(PX9kU&H_*a$+2UlJfP4=M?~KxdVLUMGw6TQs@W! z><5`%CzXG6)g9wNb-alInRGo@=*KVQY1bPz!l2j^7NTtbpqX;BKP9@w-mR=mzn{b` zopE)4Z>D*V@UFxvSovNHBzBg{b2M{_H&sUbNWV-6W{^>HvMA9dj0~(~)&c@CI*)Pd z4a*5U&stUYkC#9K0ali?ytrun0)OC6JtUXFwrc=cu`(xsQDAcLzz=7*Lk>k)l z+sF|ZP9R2&L;*!3DIrEJjI_zVE&K~3Hx<3mpDdvm_z<=(RL)&l<`;4H@%O;uT#} z2wnJ+5qEBYW?;TphOmgCKT**}h>$|#nBGGI)*4H<*#91<_;}p!L)JI6vHQI1voLMU zXvOLnO|Q@1w};)2Hom^+`(OXHd6$q{@pFY;D8J$1xYzJ~1Ld4r$KRluKsYVTpcCyT zpJ_s9>qa1ZtvA+fE&nm+-9V%W1heZ-cY^=Ru@SP8PpNK-MW7-SH+G{Gh2=gllU-~3`kQc#DBW6?1!wKS8 z0A1A~IhVzSTuyx$1sQK9z);#xFn{qEw#_!cot{t60&Mmeplbur%?>?Gvki!AQ710W z>((p&S0X4Vi9rN@o0r^gugu>bAH5=qD1MzcwK$>1>QHkLp4ha;g{Ug8*` z!71EImvb+cm^anvuA5f0QWErli7D4yB%%Ei!Ji%)>6z)4>xVP^^ZEBO7u-?%rb!=N zyYN*(&d%S(-7ju=sXvM@v}QKbzUg;1whTWWGu?0UW@_WSD#wpoAYyLHjFlO@XV<0A zw^O~#v{wDLKy}-MqVz)GZ&F0xuMMaOXmu9G+A+%n5RwPpw!*_>9&Xub%d`{;GF24< ze+$RV8MfmFttb6a*v1D9?h?3la;s2y6UBUPsXh{8XbgjJiPs<^GZ0J*mlr31I1n;k z@_%eL#Cn{|u;Pp+mCUr?Y^qQsZBXVL@TpMR9Ww9e9ByEz27E0+x4MvVCBD=CY2g!> zN?oaci`*vRlXUgw3JEOAC=U@U_Hk3G)WK9^(}RC=XWK#zib>_!6FoK_pA^xN&H0VH z@xTh}#>aGBY04l`0G>!O&*t$Xm%8D35YB&?MF|MZSOB>ig0R}Vq|Kz;j<N0?7U4m1TQ6@1VM+ntYo+mP#$Uz|ytiLSoIExbr6$8ki zsPhhK2EbRRleP1@X`DuBwQQz^RGxk0v+V_a+8)XjL-y9;oL;^ME1y%9$H)D#cB*Jq z0wOjsD8diT@DMCKr5lv%KsZ5>3Y!7t*Ziaeg2^r@kQ1@d)BJJIhfSp5>unNY;Om z?EBidUtq~(#Ubn>D@t(@;W@x5y+fsdmyNcgKu%BYsc!4@UwyOwKZpObc1r<$zwvaF z$At(vZ#X6lzBX~@x}yhJXI8=~Zk8h}5))9AEFy}o2D2hycC#beGSeJYU|)n?gUUky z^yjnnbbTzNYde&dENF1{__} zPr&DB6%h$okY(OP258&trA;^J1^`PTMFJ0k?1Qv$*>#$w#%Lk%y43?)1pF<7dr#iC z!}ThuG2Pzjx>YcSYI7T2r|I`SZlCXRsQ~%EO!T$4P3g1Oh?N|>C`9qio20ZE(^Mg0 zcB|i?Wd)Y|#`PNVh140%90SRot)gsMM6eRFE@_0pZAE&b9}Q6IWZ@JDxYEiMM*rFoHbi*7Pdl3=v1=!3XNHYG-sJx~i z=M#f@m^X{x?`V^ybGO;lo4#G=l!_*todBCO_I~ z|Ld!Wh3nrP=9epvR@8Y}q7m+3;=qQipaEFNVEVZ>=9p5Bl3~OfLeQ(FJhWKzq<4A9 zl4u7H*s{KL%5SiVMuOYi8;ZJhT5mFY$S*UB2SN%a=BBE|A>vlBSfPv-i2eOgZ%57| z%g07C->nCx%;yf;@<#$I#lBJIW&9i$>BaDEq1fJ^)J)%m8+YE;Nq^bbu}haH=&JP0 zVKuf8<`!@BD%^@YYga-v*38A^@(C-Mt%=7*u*iRI+xG3LUoHy?SgG?#lSa)Ez>U*e z-Qln!27K$)yZgv06VJ?SwZx)Vh6l$-C&oTlJHG|dV` z`{|Z*WpYc)U}x;zDgnQdLV{~J;%<1?z`}*Dmc(J`Z=^)kY$ZSpg$IS&$K`&d48uA^ zh!Efw^6J8Zf(I5tc_a9`k>^Ee&7{`ivN$)b1vv{$V=62aYikQ)zgF1@%Udl1xq&XJ z%7`?osNtrTlS_pd==>i;Z&sjD&2$w_MBi3Cis~fo;;g({nOLqYCD9J_i5Hai_YW|t zw*~OG7%n(vUv*itYWODu>5B;NsbJgac1<6&=EMx=qm71Pcy z6$p}!3IO7|rqZr1EIe=0MlI?4so0hVV=o^QHM%2#Fi*+8T$q^R$PH6bH5*P$9daKE zvV=3fZ7g9FIjciJo;u;wO0^8XthMe=SMzv7-5Ez?^nkHWy)3N-%n>mJ#~|HpHJm~i zwn1|Hif!B{ja@Yj1vwVvkM6A$T&B#w4n*^TOTwodx9Q`&a|X(ov16_BM0Zrl%u@v` zkTGvnPsu`oGo5|F;7Wz-C)XEr+?dH0NLHLdu809vT?~3A5H1xTVnC`&rsbU-W(SDE zjO&EqX8-A+{8jTZyN8NMjsX`pGiB%$m`kuRk;|OA07_{CnmxZgKAd2f2_W&n|$9=BUP7<%}38SsIrC+ zcLAtdE1E~CDGQ4296uhK3H-QbeYx;SZ#Yh6MgYmIZ%jxa$Gd?^tU=FS9Z>-6S!hDh z_IW&qEe|D3ycVgc6+kk(HWCiddB4c6Y#a1!T~lC7ezdB$N*EjXVFw^13^9t9`bvPk z81rO|Gl-q~fsi>QtV#=PMTbE*`+(lG#qw6eebHM9K#IZ7daRLE9C2tGlJ~mbIt1GJ%XL&_q z{}}AR=v11!y*pHEhBmgzx?tiY^fl``jKdfez%GD&72A->2t$mbr5*yX&jL1>_mL_X zIKZAqo=MOEKLsFk4g9cilM#j(MN2&tV4t<_sjRMu5j!w1&#OdZpAe`Mgmqq$3g{a3 z%>V=&s=Z$9d%Y$p40ek-*9+JfEkR{1{$Oux`P)OCor^D2Raf`<7B0;v(y_(GSntyi z68VG)p=msrW016fvpw?xq{=#2mmkreGxY1gI3af}m0S4a0tar0N~E2Z0Wsi%EX3nI zgRn(@N*p>)0XIGZV)pG+M9nI+Cue07y*u4@&Y-H5+pXa}DA#!4QsnpcvnD&b39^bE zA1@U@$hJmq)lm?ag&Y}IAyFv18Iv|UdbIORSkC)6OAChaP8TR9LM}Rs5;|Ii_VqpG zu}So8uf*XPI?NB&orsz%L>xEO^Dmf3Z(k6Fd z_CjKCiMz^`t?xjdVIx$v`F)hHMWxK711h#dFED|m5eG^Y$$PtoiRArXu9Q28s8s-Q9ZqO)LR5gNdqdTEDgfIj^4}lIaJWIn=S5k7zNWj`yA4nF zr^-O{u+B`_6e;uM6_PZ@6~%+NwcRl`Y}A=Vu!>o5}?du57>YPaOWidS{L_*$f(& z$^uYqW2G03*j^*NFfA`#TZEzk?$G(1KXj?o( zu^P{FQ2h2-L+md*_P~&e6AjS{H<1$HmH0B+4)BH%%?INUz^8@ zQC{5a-@7@nt^>sfuX2V;E~eBxO%v!#}1znH(Xv9wPeNND>-K!=fZ!6_oUwWB&_MwR=LjyHXcXX2W|e3@=p) zV5#w9;V=`R% z1;w-vvYyi4eY`<&5iM|0x7U^pK;^nqbOF@IKrmJm$69i%BsUMElYLZ!y9=1GeiKp5{-RgNuJp&TbbpO6DIF@YCy zFgZ*>&k`GHA!N?|8em$XSEm^8wT3={0yMF*FFO2C+X*-BnKZ99KnX@6$?)x=!8Kj< z#fw#V&VoYA_L{RY9L_ChADC5^5E86DHieBgITc|mRc>o!vhc+Trd1wPjA!|L>FHLR zL@JQ7%lU=YOG@m53auSFA+l=N_>CEtl6x@wlnJu4g$>2vwkvBK<$uRaEEKJ*p1yPI z&gs<^5sTH_hRw~mlHXLpsbR%0G&?&t)!E77venpKj4g{1eyz%XU1MyK306^5(&xoW zfNcTJ8l`w*R=vcjRIduhTM)JEAbdI6en;myw9yZ^8g*{JZsew$6oZUPDGnAn03_Q~ z#b=@%!3Dy9yBJB5hQ4;3nATiPBlk|tQ@kbte|?xmiIrC;7YL=!JShu5V8R*wyLLF{ z3x8S}GBGdw*a|OP!6s@?kD<;ci*Ey>_WpU^!?Eo`z&E`{BqupLa`G3nF)eO#J(^P~ zrNW{DfCSrgGSitHM?%5#K6gbpEXE z7Y|P61OCSd#MS@UG}~Nu=l!jK=;yyfx>KX|m#jkJq}uSfdNz;fp$lhjUJ0vKymrPK zxqc6v>~`wQLy|;y>PFPJmJrEsO~RPVEJMA`f+HGF1@UH>DlHp%u0q7->E`nxJ19w} zgLk&6=~VH_eyfzhleLf?U+esfJ%mNV7s`k$64KXmkifn+>Nh^?&4>7C%>|CykP!466qW5iOgMjhv(b#&H-;BW-EvGmfB8e z=988|+Iu6o+Z;2{4H{kH?kqMq#NyhPm8S&heKeDGnijL%2<| z0es37URyVAOD13@G}CFSQAlLO5-bd^p7uR(@VgJrAauUz37$(j{3~L8@GDtj8Zas6 zcH_H{tT!{B$`nGA2{wre(dHG_u(IF{?{1vqKXkk-o+3HU1zQx*$I|pJRy?4SrRga4 zC;(<|q6`l1wF5RqomWb#*Uhpty(|)knPzF4;+q0s<`8CZa4!bPoRNtc+;_@74$)?) zrFeo}cDk)Pp5yM!@fNlj6b&DtEqj*JXKWCj_0ac5-#;boB~UOA z*CGiEu*VM6!>16BOU}CG0ZB^k?D@F50PuPsx;+6{XqERrMd?k8|yBvWSAA>Qvl?a`FyRu zxii2BCK}foG{u@6bDkGL1+g%C76+YR9e;n*h;NsBi;%xn+5qUQ=>h>TSW|}pbl0>d zc)wK8mQC-)!_;jw!mdh+uTcIUS)g3>>C>k0wH(J-RLg&d`q)r#N-o_$sG@Q@s9wZg9r zjeecL0i042k`K@6(}8Pi7bcLjx4pMWLiCLH!anSx67PM19*li_6`bHodoZ!A+!vK# z1}6X5iYDW}BNH&O+}>*#u!%)Tt~LnMU&G)!{zbN?Jo$RZhf2g`Zx_XHcKWdzh6aTe ztGST47TvZj*Rkx4WCOr__P!`YwVuk`cLtiDB&kW=ELC=79KZwJG*!nTcE`}oQ+52s z@jl%|Rab*+>w}(ANzL{4tD^O72YTOe;PmMxtU3n&N=sM4`qzn&UY9)C&5O-FKxtz|rd) zhYYmkpygJM@ib@K-L@Iw4wD*i?jm&5di~cMcVhoxXDgKncOWvvt`7T?tMAVpMl)lQ z><3H9ly0(gqAvUbhb0ZEA*DZYQkHkOdbMr>{vQeGD=s;kAG6guk6j-TNx5;S*B$DQ zXKLD9GTW)&QW5MOz;G%twpamDl3;mE5Dp0fOX_52^|F~dAy6%2W3ZwwE$fTWf=N1~ zRhH#uB*A6cV3gT+iohLf1#PP5iN(_?eN3>$Bw5_)$f{E|dxKGo%Iyx&RdFw- z3Gf^|hgFjM1R!DX|5*TPd!rC0Mks+f?}-F4cP)xb$yj~j3jr%M`rNo5o+ zg#nUv0Td7@AenP8DGvsQk7;KR>^sOyhtY3#v>x($*DakpN`*@2bhrWN8ty};`eo{6-vR?iL1fDJU#~<#2GjADZ!KN9_%qJ{JQ5@&mwCOUTN-### z7ae`$Gc)6Zz$3e_1IEyKIi|Z&;?CbTecE}U{-a_1hhlSxSku$!y)hKXL5W0uROor4?MkEDI-oNd&eO_CP~vVz7a*wb*>inUKu=67HQ|ne=zx_Q>&_$ja3V-}k^y3Clj1ssR8a?TJyC8&{0B?u%hB zkzVFUm71f_IajJA&9KEW2KX`u5mI4=o7lG1{Nj?bvUkk#yJb1b zT%?DY+bF~LWa%typh?Y@cB##Nxn*jQ8MylcYII6@3W|KKIhZ;Y=$q_uPeOAwXHsL! za7Nz?5>fAUNi!ENefd874_CQ|V0T#YWKmFP;Q1xt<$dqn0GrAvmO}Tq5d?2k;{$>N ze27Y(=XC}9_$wR@Mzk^z{Hw*t9MxhaA~h3qaLy8<$!kQ49l;8(`ADnX?i?@St6m4u z2p{MRyu(DAJq|PH|RWd6MMNJM9E%7vIt9K4eV#6C}okW z?!wcWrr!F7}(=U!O1hC9dryGYVnw` z@XUCR=X^30n(S+=ab{Jhr%bBY@4Z@=a7WVi*8V|82x7h`88&Qt2rSzwKJQKRv$*qp z;Vfk^pm?98X+dcg-FZn1_v>UE&B)qVEN)NAc9`Ms01*zlauHHk?@8oT8SO8&@jK}@ zL6B*WG7mB2XT_?}I6*TkZwY`0u|G2eCX>)DVuhGoSApC3;UfX2MtZCf}NWt%10J z-#~csD&hV3-_g7_+#}r|dR42ePHW;jbpScuD-J?0^--88?DpxQ7kXepug!!J zNq_^})KbU$(+BHi-qD{60;!jnET9}cbO__I(}%fa&4daz-ThX~gbT?WR=SF-bc@7; z;5041+;(12qyy@G35P6Z-yVG5wh*q1rIGo!g0$=h@rCqWp|GP9sxN-9)AnNP>GKv0 zL-BrsUer5BX`@1Msm*UZ!O}IwF~nSXw`WuI4~cUOZ}zTT8*|6$oxF3^)YI$kfelRf zQrKpoG^QZkCpxgru7-9%4JY9U$U3e^eqW?a0iT&-^b`d&cP@5u{X3whk`SzeB>Td8 zAbxpy|Elkb3llzYDKS<)lNG*FumrJJ>$pE{{*0t;t2Luhm^~^+*NKB!+(jYd_4~5` zctD504+w4$Fc4k*;mw&-XMgZ}uYyDWSmCT#?99NYPcrvkLkT#+1HIsPHL4jAGY(T% zLiqh0&x124&p@I_}E3dGxA zUa0+JM|U7AT5`yRQg{Li;`5Xcuk8Vk1yEbsY}2{`qpgAsyzV49*xM5_Q((n&@Qn+T zlf};7m*?gR43=j?(>Dy|4+f?~GiqD+MVt_Xs|#Tl?Q6$C(+0}W1HihNUE2i{ z2d;|}D&%qW+d)Q3HFaR_GmtusqrN=#%PKlW50~J}H z07Ha|Mrt(_r`E9(K?H zFhgjJbNodF1ve+8iXiSWU(PXUI#*UU83E}6ScKr2X~r292~EY$D4_rH=Jw>JR>1Pm z{F;@RUnq|f(DFPQ&0Mv%j?x~oSQ}#`yRd#o@IFI8thk8DA<$(ocJ$;9pk?wHzF;M? zn8P?#pRICOF1B*Mh{4d+#HYnYL@*1PMV$FrfrJ!?P%Xve6eD$DQRHBX3Qtlxm81$F zkj0psoKJd*@L%HAs$b0=+3^4A-h42M;K@>_l35M}vTVkf(vX@QU` zUAt5$lq|!5e|sH+)oxJT8~r~55I>*xG0BLJ1a8bRyD&EW%LEwN<3GagPCp70#0KBv zXIa71-=id*wSVwex8@G?jj}FG%)qiOE3qfgw>e<|@_WlE##UgtV_6JSj5CbaOU3bp z4T)5dvLXTy^f6I&_5+nq^8k&(bOWuG=LULx4=Lqs@X9T{XgnU9uj-hTF=GbrhNWe5 z78lm*IePS-nYMZGroroD0R3zW0~}Nfrb6>(o&AFKQ~?*2m}cq68ep;UoRUZWBBGIQ z0}CJ=LZ?;E7(Y2&0wm*HjC8qLZ{H=>nuj^&9s+hNK~XF~j#(g;5=l(D&MT#o)Ja5| z>Cbhe@1}?>E3h)E`~Z@(g_?fL*tqiV2f$}*vV0P1fCTNpu%yrPR#MVZ4$Jg6v;q3Q zhB3h%>$-4Rke6`h!_N(2WATFE6Wx5w-4AQauObPXWv=_QCcENM!8t{juP z>7zT|g1cK;1>~}rH-_l!+>V-X6g#l{0j3IYs$+!Jk|NZes-~NgmHENHmbuj_S%#JE zUJs!s2QO;fdGiP9l5jD4`ul>D1zM+u&}SDtu}#1BSAkeo;dHaY%goZ9?8VOR6RZEz zlO426jqcgq4eMSC%Tiw(zkA)B zlhK^3H9vOa4m=kJPzy|@hqr?VhMm#0Ia}0KZqAz2Ge0dWD=jT6Dk?U&3Olq>o6280 zdlNPr>JQRIMuS#!c#?a!`_rjg9EV%lRXiU&U&evYM1^SXF%!{fwZrka>6&Jt1glWu zIAoW!Mip*~G0knw&~8PqUr$#}aInf?Yiy(}uCKu~2v;NN6uYM8 zsX#Y~1byHlXk3Ub4nDAMM!mY?>*0k=wd`Qvc{W`V;(mRbCqtYCclm{gJ;Y=YPU)l;XZcx97ndsz@%RTa-+lUu*eQ(;z6I~&=XjT{elAe-ufWK3!j{BZaZ zNH(kMn*C3I{z-YGYv!j@Qo`f|I+AC*OoZe$X|~KWBP&W=0>+fdQw&UJLj;(GN@$Z2IeQ=-_7x z$d(h}qd_VH+)>+Z*Sjmt9d%sX@ap~B4G4Po=4rkTeWPpt%xb*ve?O=+dO`OlruBFE z>DOn`RM2DFKUGqd-%?I9&z)yt=I)bj*_Yrq%w6vt8w6L(KxE}z0Z*n*_s$#PDX6mrQg2!K(rHjG5_I^u& znJM!yG>m*_)~wjJvwLZk%zrN0F#2<2n4jq8cht#QCuet?80p|=!XLU4$!M&0(#8Qx zE2Ib4kR|R-{keQT)D{lU2Fee<4K$@f@<%;WLhx>xMP*AAqroZ|S z#7FG;sVEi3iq9ZYZL>9*c!LN^O91gYy$n8ijL${e|L69I3t*OH&7oww;mxKLVbo`d zPu@|0|4W(GJ1qRq4$XrZ%4x4-)s#D2q_D1}z@6iU5vyIoYPXPsn;<65VP~>NS2>Km zWBY=!lj6dsAjSdv-*y9i!O~mGum2*%IPmVn0eu{HLL(9507et^aoCyI$v)}qJMGCD2w?SEMseUVoawE`6>Jjz`7u5>Kcbi_xMJLdJ;WqxPc`Cz0nP;sA zF3`Z>^o2%V+z^9s)tK#gKRB1~ASkd#xZa7VeZY)wjy^QYOl#JY4n?zA@HN-YXiUy4 zyN&4`d-_|m%f%pX)nCv7zB3iM=-KGfZo1NTa;zM4dDIRvfo{36XZ zm!PXgT@Auck%+Z?#N!L^NsJ*}GunbQ%x#XT9Ky)tox=cn12ES6JZV8Ir9zM^s!_uIAzmZ2D zw@+<{8da7AK92zsa%^#EB+EdMfX+o%q$TWOp+&xwOU4$|ydDCZJ*j9c{Dc;sRiGV- zd|66?48OTab$m>3_w?xw>Ff>oL+6^7O$$8KXz`AGig$~@EJ{=S>zm7rpZTll>-`8> zdE;Ay6rS6h?w}2J|=|0bd zfN4gue6ffD?SvnB$VbpQEQwW@;1UK&^`kHFEPYb-u@~PTdV0I+ez-P3n>&DRe>9%) z07J{ispta~UF?dE7(#wKzE34LM6{t)}+`TiXu69 zSXd7p5!ogGu zl}!W|od7yv7u;UosrJoAp5KqMpR53UAlXL?`&yVxr4eVIuKfPLUYLze2=MZP;-sX1qMdHeg^VEls?S-{W7( z|M$$T1yF=+6^0OnwlK~j57&2{jve>OgnhT+Z5Y$Svm#X-|CFt<$M_hTt5K7;T77MY z9kz%3>r12JjN@#P%A1o??yT6-|Gj97=GfhT&IRd_CD4%gnW%}PSUu)H4=$T&Z;aW| z6Y~K)#Zj|7d&vC@yuhFXgy8mZ=UL1cnwii(gw@YXp)0UZrA0|@j2X6a=@invzK~Tx zj&^8q4NZH%9I^*+7Y}Yi0o6>MutUSE(#WT8ZIHEFHy$gpX5N7!U1yAVO&!s8$f~qQ z`&Dv9j2|#t?6Cy=0-7+%+bx_5+dI7akr1cae$uQ2rQ6F9ppPI0JuKF1Citb}AECvT zAE;p7u#1LiMNi&Rs=4MB6@-*Ak}MAg#c4Ztd4r-?V;SnlH`uEaKsPu_FUiOnr7Be& zMiu=Lx8~ftE=PTKAEni10gh<>Xw+#kxx7v`B8&e?2cTpdx@;Kb-wC|i5At)reGA2L z6tSXw%|$$G7b#y;Rv`5i6_^PN?6Pj`58>IgG&W;vk`MX{)nVDTY2LDN%&^J2m~4pg z2EVa~>v0@Q%h)3gLkW`Hm_5qHT&98;>Fds3mcj9RvDZ1sjrDQ(f8dcx)^YLn0<&?>3^3V8s%t;(MNIo$gp)s6qXcIfFo)mzaw zFw=I+z5&)T87LWw)lOkY{iPUpJqSSA$xh^3J^`>9lx5!kEU&ME6EOV3*axzu=-?J= zw7GmTL#f@p$P)Y)%E^4?z4mh?(6I_m(AMC^c+{S|qJtl1j^p;ph@+$b)XxZP+NUMT zVf0z&QkFd;A2xyDb3CNQP;0{1rswX${;WnM1*p5LpFU}Je_yO{F^T;jE%c|DfHBVz z1d!mXol8^ye;NQ?8L|vAQzZuNqC}j7+26K{Vc!(rsY#c>7XBoG*7wRL>{&zRGHX+w z-Sp6ii82?uLEphPAv!81Fx_`-DclSXCFObaO`)-|+v2y~L#uP-57|EzHm>&*=GPPe zO8uh~+R5Mz&fwZ;KHx$`SLC*1NsHv08IWFsu*s`} z*0ti>tfW-K=K>f;woV-^_b%)VGEgESvQD-EeS32Qg}U3=8cLW#O}flA}(QH z|CFMDSnBxrE}#z^Wx$!m020d{3`zpB%poE|JTE3tePf>X>_2_7l6C4~T!tf9AKW2d3b9o?wVlX1XBLx`!;SLLg{W~ zA(!m#R1OZ8*oaQl$xE470W80;6C_0A^-GqBRg3C%O;r^`1MRLGz18BeEw%%~w25Sr zJp0e90ewuBMKiCk8JtfnxX7I3V^f`B=0%YCM9&%%5^)vZ1_`R!S3R8cegycBYahYmE3Zd@n6hZ+ z5zQ(jsvL~0?bJQYBAChV4Gp5no>&Y%yByK4Pm^)BRFM%x$nmeVpAfC0fgO5UicgyE zm_z{jHGs|7)f1?jVS`CCv?83_v3dhrK#T|~)`?10C@3uEOU6X*{7!t+RM~{L_j6k- z@5mUT-~A8vX&07ZnbPsdQuQ=Oo^s^fh(Rbvs^M^^N&pHtMvPU;m7Y<}d8rb{95+R6 zG2xBP4nsG1`CN=C|Jw>Y8v*ehM5M%G{;okS3L@o(xtPMgPX#PQ=eoSFf98$Qb$}Q3 zGSfdAfYT3JB>{CmWy#O?66iWnkn))7$=KM=L&D13*QhSq%sgw3G*2R! zu6(U+D{pR}@y@>xxf;051#0K~(;Yx){4EyL|5+%}RIP8A(xOnXXr{68EW#qGQJZ$i zo%t}*$m?!6MI!(J=XLtUngE~u-EBRUeI8l@*tp)mStfC|1OB-o8^|0xpVYPDjN#ei z$+ulLzxdY+9Px=HBlx>1WD%=Nv*W3WS3TIRN69H{jEd+7jF?r*KGaJuef{IM4zNZ~ zJ-BE~|Fqsh7F5hQw8b8UcGBONMe;dnV7nepJf9kX4`N{2bf?1{b>-3+Ofkt29^Erg^{l! zFEuyU1Nam7!;(lz+Wo}x*ZCfn%E$O^(DFwQP#YoqYMIoM=;6ItK(B}I(^kH*_OSE^ z85Cg4yN7~jedoFlVaxbry=Lzp86I4S42y;7!)6G)F?Z@~(v788Cu}G*8UnZkUInvi zKqKtIh~B7&mz5F0p?@kt2V!pjbb`%N4DoeHbG2o1m+Ldl*f!-jzZo`?*N?zV4nuyY z-ictj?;HRi1?ggJTtkr{&dlccEGC0YeT))6Gf%>)W=c{;P(mn#9C;JNae&-W+(4k} zA6me*@OQV}_wDMxK1>fQ79FAf`|*P>=w9NTAk}%`rWV9(D?@d(lm1GDJQ;KP9o3*c zLy4iB%!7uIQtEXNBN6vu=}Cmm0mx0jP4Y#G#BXa1c9B3jt-CWJ@1JH6VdvTf1W0+J zSw$xRd@7kKs$@PM_k9&lgBy~I`0)4`sHZwQswtJUhwvd$da=d_E?4gVd6eP~IQdQS z&t8z`L3AnKT^|Dzjsa~B<7Q4mf%^ofe)Org80?gVZ6_&`%;5voeO|{_jj~?uOruIcyyj0T=83shG`aemtCJ@y znkDmE7ezJ^Gnpm0s&Jg6g%r`=amT!?Y)Qo~_4nskh)XnVg;C5I^mLTpa<#&`N}GFs zV>P5Ym>ZC#S*776T*0cTh$i1#YDRLp!yn{pum-3X%H1x;bKpXQ$)L$9|trS_|jN~O>SbiLF-1g1#4p~rI3Xr@L30x~Rm7$Pt;pM*#* zc*uMAWe6DwDHiL0^Aa^9%szKo^m7#95CP7pDoQCMFEPwvh$9!IXa7F+`WTuJHDoE zLPNCbypWx51)j``=FnAOa}M3n5WVJz?6YJOX7Hz}LK&f(N>YFAJjP?!xu&o*eri;p zZGFu#2wj?DPYA8$yD@z~n$cnf{7uml*E1PsTk>e`X{ju-q?h}{0#V6^OpUw>HjI~? zE9CU-c>G^w>SlM7x=tnIIFU$^w?DF1Ul(=!ElkN(5Z&5R!2cW*&(?skurpawYU^oO zmt<|ac@cBaOxq$&YlVWkUmHv|x&tsi-cTv4sof@fJfUrFKDTpdhPKfR&CnU4x=z;F zHj3;vtJ!1{G&+;>p0lHX4H@?fm)i5dzsvd=(TO6HiD+q>)i_S&L4^P9TK5W6sA6I% z5a1ChI#gVN32>T5v#vL*3-QlVTW!cu3>M`-sj6htVL1xqp8FTtEbgD$5WMy29lGTg zYxtc#)#PGW&o6_-t#zR@J*fP@l8P&TE*~^+qdmTI-pMJlykdLa2%2*fMHSIY7nLFI zpv?ffwf*U@0VYvUI`za=W#4M>i+K5$vzM3w7wNoNv(O6h5b`l{GouF@$EUr+#6jW! zsHeu_sQ8V@d&n8&H1f`)QVvW#ma@?G#tS^tc#D0=kf3I2T5mDRq5 zdc~!=I-IqUkchZ|Tgb937~X}qX!bRGV&(4&b0=>U=EsZb768#yC;5BOa(kU_@z%N= zEuUS4f9^_u9mo(jc1*xBVjR~2^xb{A2kfwE^V;p~uA356Ge*{JaQrbA0A_~UxZ`$~n( zu0WIi4}M{&V{R`Quc0)10V?024XR|2x4+ODZnd{i$wEQy=65Cq>d$2UDF(BmQ)ixY zW3`Y}JNh`Xx~fQFMKmFd_5OcS5KlWhhc)5QvTgV?z40FbTAfZGB_^d;chph>LGj!6 zFT22LTP5xz-U)+8iDjZe6bTFdbQTGf4imQ$cN52mn~44Jr@IjFA}+O3y*W~hI#5ku zN>G+yXLKng@`M>){v(p#j4Vt-kk7_I5hh>z9Nx8O;G6Ex^?mqULO^>rsQ0A(?F4xe z7D#f1c8{I)=IEb&T^L7O`T-}S4%#}kct##)z8VU;WuXeR1Lk7Pkyn#M)fRU#4x#HB zG4{Ek_;kNBqY`qew5ynqrx}D5gYnSgu5P$eN|hHn^{jZ_5bs-fV7M zNvh`1QvA}iGM{<7FTo*3`)?5QlyPLIIUL})Rf}xF%{hm$UcPW<*Vp-^W8hdQ_sB0v{9UU)CI>}pFeRwx1|0K|-XEQ_lo{WdIIFh9I*G@$Q zadxqI;usmk-2TKQS1ggc@n{OMxge2x#9b_r7pvgb1tdWc6fi26>|@MZA;B$B9^|^> z9_Yu%Bl_rrSsQa^l1WHNWV*76Ttr4V(3$H#sL1!PGZ^>c#oj}LP5i-w8Ic0SgXQf( z>+w8n

0Kci0iSr8{nERd&f9{kn=vBfGJ{I|z`Ol;k>W?9Jx)g68`1AG4Zl_A16x z=^Utc-@BiJ3-03RQQE`s>tCFTU!K+g2@y&Rl+a3(8j&k7QKiI>V(z4IrHj1y`TV}1 z>5_pzSE1Ql-a~ZxC@y(scYuS#8uykPD`74dxIvE3lP_D8mGI7_EQt;Exz89PH(inw z0Ltrc6>AZ%_b3ZOgfEBq6p@}RhK>-cyWAj6-Z@t)B&sSK-9Oebs)+2oJ>lLNZmQwe zmj_c56L)T9vOGvP;A*wqZy)b7GAOhrE{B|?b+cuAk_VnbwyDM=bvV3gX{=H)ku54F z2_do>?-ikPdvNZ7LfLX%*_Cja7WeKz_f+jZ3;{6!32gpu`Qkm>UiSAuPXNEYXTDj7 z;t}*u&7ogF2iXMR<^R1++Sb?q7Ug68fM4fLi??F^#|8PFyRf-zlTu-XT^0@!cOCY} zX?8X1%8P;|Z4Jr|BJI#BFr)Fk+hQ?70;x`TlH{jHq*CNac zk*nglK@2<~0kKBSbecY^yl2B0`bfsmfk1pPEWWba8hjNM3A!~gy)lzgFE#wvg1t|uUSAjmS0h%Rk@I@kv zvRgY#TwkWL6=2L6!eNM)n0ELH-7qxn9Qq`0)6je_&Kmat;v{WnnjTFRg6UPnb%Pjq zKmy9z@3tOdZp`D2hH#oR!h~zThqW`01UJI80vmu1W#-dC5o zm%PTEhbffCO?xJxouqLeQZw73uK45_TIiSP+(f8CsJFAA`pChCT$|cArV1G%tJYeS~_iuWCgO z;;!2j63uSK8)#_GQH-PTTSM)%dvFAUrPcOPA5>Z8CcV}tq!1I6@XAUbXWB5c5R@Pq z=Da#txi$rd$UVL5a{;&lLb(aNW^lMFb%uT%0 z26t`@-z+RTRyh+LL7gU)(sNbvH4A`#a^yCp*Jd-jX_-UA@05qgr)=udYtdp)qY@xt zVh3=>QpGX5s&aOkS%a~<<(Gff2QrZB6do8lQf-n#^gwh!%fPg1KRiP4bn06JX3&Wh zdfg=)RoHutpK~3tnCWgvx#hXQE!c#)TB>kd|$v z=XuFQZl_KxnoI*;k)PYO`y5$Esk2NP8mbxOP?LAKzWTY{S3(FRM$Vh`2<(yCme(4H5>8wKtQQ_Cu9~*<+FXlxZ)A{PtXU(hA;0sJB3ERL1DVk_&(CoRwDemPEMmE zONmBVVqOoCUPgzaI&DuGg%cVDhtn+7vHizh#FHY5;tPfh2q*Dn_v2pMl6k>EUllJ} zZG~+`?NlNS@y%CB;3pdXTSL`wPaAj63Hd(wtpZ7{N48pWfM$ z#};AMuew=OTmipKa;@4d!h8UJ_WsB72A3a_b;JA`1caOYZGe4CLrcQBFQlbhoCA|; z`08(sX}>rgf5JMl39(KxbnUawb^zaOF@^;gouh(5SAd9ic(mN*}?VH_?sB(F2;#C&uXO5L~jH zI_44D1yF*{jIIs4Bl|_vv|#WzO!lQGuE`GWk{u95$7O{o(YDHp zYJexO3T;pfv(OHUz7D$SD>IZeaScR$d2nRI=YJr2VOmzSZp3pdT3gv@-RoON$qksF zu!)JM)=DVN+$o$kKOn;vb9ho=tV_T=0@dw!YO;d8%U}R2PY<5Sk>C~g0A2FbQc{Tv z-u)}N4`@beGNv-xry5kxva6Uvt!Fkw>jVu-0L20N0oe9SMuE7)=Hink-lIj>>>inO zmJxwCoNUL3idcdw8&s`VGf@<=)zmGWM4>vu;ZuT18yb3o%F@Fq7kF7<0q!2Gb`Jy5 zW|oE{D%H{)QPnmDA4)ElJcZ2(+s*_;XM`}b;7(Kk@lgRgc7O$vQz1@iEba7-q8k5z zWk763)dE!h3Pq2aa+O`epPwR>DUKlMP~_IOpJy`Kg}|4|pqRnhZKYO6i{;ips5pZm z0ZOPsR3Mr`OcH#JVMm<7gA^)Lwz8&M$qz-yDaL;8+j5~8T(jHrfN39JGFA)w8PBOL zx%Phh+gc7UCCe!60qff^Bp{L|gUqU^foq9TLQ3NH#1+8EYj=oRK(inMdON1!uDU(c z>g|5p0h_TB{;vTB5wHm}r%>ZKdy4~fi4#5Pj6{=XZf>!NaW3=Bt$-*r{h2hhtTZW-+Z&w9tTm5@PxC_?rX;n*rY zI8TD&M&QH(xW6{gY|kpW*xDCiF?E*!)Bqm!|I{Ymn*{bLzp;-SFuVMhC#gYX6%r-( zD*y-(JP8(r(2E1!2$K^mB(Iu3IH??)l3r+E%$uK#H!7vhPd-T4+RhzSC}1y8?sYe! zMi>9M+h2&eXG1%F#T_YRmJ&q zSHBzlxVMY7rbFKe%`vNE;8p&`E@_09)vq(@~1?~_um?ZXFCY$xlO_aaUfzlc!hVf^Cpy)gwl~@`Z=OXa;v0Sz2i${(9}q}* z^Wq470KBF2Y(CE-E5ZG8l#}(PJRcoy&hAt(9&P#-zO2M~+YDZC0k&JOTVz@{luJ^r zVxo+`l6f$$6XP2?hFX!Yw_5c}i6gq;8VktZd!Oa6e4JSAwE_DidpGeRN8REx)-?oQ zW@cC+Z8t!zRts=kPM@7D{K({y+4oi0MsRiVD!_?6`Z8|8i*Um4_jypi5wrQ9dU~++w zb3od%Q0&@X+V;NG*7;E$P4d~e^JubsCjq|TK609YbL^T&bJ zOCS`gmO1xPKdJ}96$rC!MlO>|zcqhgH40abIb|Pw^*6lQT!cpMfZS6d6j4Fx2@UR9W^(GciXa%jlasy$ zF;_SEjA_g)hPMWH#dLvry14<$m5Rb=HQbR52XK z+&yH^tuda5p-^4%^W&*8Pfgd>s0&=NL!fzdh{Xt;iKLZ}Ve)WP9?^FY3TTOrU!Z4j ze2vzhajgdm9EA-F^a+p!x~}RKI?Xi-_wH08+A4glLYHFiF)M{>Ty4o=N`=1X?qvy_ z11>?|FyJG(jDSzjK0pf=Uo!$DgSA3nshP2((6VpQcV1BCh>N4jI>2oi_U(Z#gjyq6_M)8UXP}*SIW#I~ES2-J zIZE37P%6h0`$Vz3ZIl%R}t>mqdxxbhCK6$>{d|p9mg*}yuDiu&?N|V{so2V*-Il%w`A`%88tBgbesl zq3J0rQ*TDWCRIzK@8HL6dHH@;(&bV?eEIB1+UyZq7c7~uRLoNMq$+^RugFp}cB%GRv zHNCkN7EuCL=>7k{RYVhLBCD9eo9BQTy}>Fk;FOgjN<0@r6a0mZ774&_6!EGfLaD@9 ze6l+MzX1e-r)3W!+#gP34``@bjvgfmU<^4UlxzQX1he<%Xfwc@u`*&Dkzm~zMCKd9 zQK%!F0gfhf7F?%XAI<(+%u(&))>zY*Gg-vslJ^wsQ>2`M~{Ie4yogh->;a)FX~BW*k|KQ>8}S5^|+ z+J*Mc>?LjI=@=@mR~EoHQd3E`B!WZ6X~5d1&C+>`yxhD+i)zvkia-AZ?uiWdq|zC#H`t`>fKIM4l3k;Lzz-nfKdR*Q5!OSq+G$IQo*g(yH8w0A7E5Hy;Uj)HS-vvj{ z6b6BOdI*W}=_3@}^b9omCV4W46N9!C4nZk+3=|3hlCnjJk@7(VQ@=%wp1Okss%Vr{ zDh;Vjy@5NC@VB~R1Cdrb5-+Ng4X1kr0!H`qjZ9_I}3C`eJeV_eo!0R zokLTp-$RSk6VS!!W$0Gvqv)XxBlHS}MEcxL^h4v44&Z*qpvH*A5NT9lSZch15%l-~ zqsZ~e$73?HxJ4RjPE0D=)CPpa0#R?^pZh!2dTl`|uCA7gQJDfXqzblR8wd&!xj< z?HOZueXvAvIy1FZ`Dl%lUb$$UXQs5tTcgKIO0aO=HdKT8DaT0e_pQ4*mnsq$4g48V z(6*YGk?3HSv-SFdfunj=wyJSM`w}>w{IGQpx~m7et*|aV3`ofLMz7@pk3K!EQ>#vC zXNQ&cnFEW$Nz%s)wRzEIgWN-t<9 z-xkC?IlGP(ylRp;Ybbz&ZbjimXzH#8lBf7^N!i$hI(|aa;r7j?m}k&?1T#) z^fW)o+*xXQC4DI`vCO!#$ysPT`D|Hbf!*!}nVD^#!UF2&JeXS_et2u`~` z&r53Ow@yQcjn`kp|AO%o_J0BKI$Q%4DDkcKc%cS6 zJE{6e*Z5$6?$}@<93CbRNn{F@MrSZtYz~*l7YOC#6%>_}RaDi~H8i!f`?pu?>c!MI zFk#Y^X*015b3E~+&8Q%%sH!DkmxiV-Er7O;E-=BWeb=qLf9V^548cYaC=8B3qKwfP zEDlc~lE@S)jm}`Q*c>j8FG$GmiNp!}L#eC-|Jy`iYTL0B6H_zJ;5K9q?je5-g~1U> z3&i16HbVPLLFx$QsM>f;jZb;5UVAE0DN3{$4K)%g z&dfML;8L&vqg|JPcl-Fh85b=jbsjxKY< zHPTaigo_XvNYkm4ltZm<#=y(TI~x}$fJY=*%_wN{&vm6KP<1(lRlRMl#4XliLA z5qCB`eed%O{xoyUnxk#7{67b(l1DR*CPW~jMCHa?6J7K%JU%`1*2VhRKuKIDROm1n z@(XdOSh8g~?B5j!r{|orNLxdZnV_Jep|2p=?#IH$!NtQTU`j~Dj5v)_<}6sUVol11 zExWX^960uRk8?&sMnOfZg^q!Vh0UfR6W|lT85IdB897BjfAWnYs;#D`p-u2RK}XL( zRGezrRxP=rK~$+$qgI{BakFaY>EYJMQ-_z2UqF+fW-WF5EB`0t*a^~c4;TP~SkfDe z#$a)H!YXd*fnAb9rO_GniY>|(HU2k}_xH3LB+Lt{^2XUg9j?X-<-9EH1t`(A!9LBXt`ILt3AoG)7 zi_PKk_yScmf?{~<{6|_>Bh!ITJs%0Ou>TM0!dP<#Ka^%Y6=Hcb@MXR=MX5nULA>)HgQ@^jZ z&Kj7B^gmwUtk&PA&8%ovqq)9owJch)oU$6xM(2>Qh^QFlgUpCDMiPs|g9Tzy)E;Eo zBatX18j0C@Erlk?^dJrnqlm1#E=}4dMaoo=1&e6|`V23cDRT>2v+eEMnWKhTA$K01 z2krSQGZidUxLDC*acwY{FO$Vmd8EtCkX#>?Eqh(;mAk2eBsUU0M$A~T+w~%g3>fxj z%7lc+d~3qrt|N=c(q<&x{~Z8D?d z=Xo;Vi==fi3AK2 zLWCdxr#BaI6!O3TwqXIM*s44+2_@9fLJuR%u)+?93MhpM3)yR4`1G+^MPh0V>lnj0 z3}A#7w89XLPzE3Q1iV8tL`XH>Zw!XvH4t@qXAt`u_|87h5j!EuvkNb7kPag85?wMkz?k5o{beJT=hVx%a{X`{| z4x>16WX>gM-2=Y5zVT$wWyzk4l)Vi*fRXjo^4#=-F4x*%=U1w=dZW430@|G}*y|6V zAv{7*3@19P#mBuTlwmnu5G7erHQg`~>q{NgI;nK^-DLggOC1$Xsycl=krJ@qslZys zl#qms>VFTE9J)fn=X=h;5Ij~R_oNEKCt^5Q*f@2(loEMPg%xYncIq4so4(~!*EEMO zg%Q54j}Lv24?cAqE6au5Pa=Et;N#9ZJieeVdJqpj>5FgQz=;V)1&%sD^{5zpe39p* zQpESbYjlS5e4$jv#c)(%)9{sAqt)pRwnj1uaRh7VB_R&OGo;&UfKC!J9ChQuRS-xN z8iU2*3G(l?nk+Vlis$C>-QNo{+yFkVv^6Z}-PZiXFbtVt6BdC*Vo}Ag7%VoWSlUu7 zy##&WBpxKsd?GP&x9QB&Kw)~`zgXah0_(@JQE!9^segcz);gmwbaPNpzsoxx;{z+qQj9y|<> zq z6Nn&*Org@~3?_@s;qv$bRW*WQI6+c0!*aYJ9)E5Kbhx>Dn5UOF^6_>0`Ll@Qu^>va zqPB`_gH6kJT+a`}T)t2quh)O2TB|pjt#+p?Ua9kyR;xFfTP>j7>4Lrf02;z01jTTI zq{cK;xvp=Yq9iM-rW>YZJFe#kVH9_{t9>!uJ}!mXg-vGw2+h@|yMGu?T#$r$ydd_; zYey-nrW>YZJFd6%gD{F$NvZ~3G%p&ttm>xi`e92voqJWgJd=KKPrEMdU^rsNEXNC? zB)7HeB!+3#(o5>0*9neGJ*ca%Ba7N7ZHU3M`~Q=Yme3`9blc~d@OlbS_w-YJ`gZo~ z&mxY;f+)#~s_6zBbz#Saqi%N!!d$*kER`$OTD{S1wL9Hje=spQH9a$&fW)Hak+)nV zy1Mf3C%c1+{SY1@C{_oW5J|n81Q*G$950BHTsf|*RX0q_c3jU7!YEGCET0t9?Q*3` zzMW3Xj*ZTjTD@;s{F_UE=~%z5dGk_ijpn?5iKN_`-`VB-#b8(jb5U4(Yma+z2;PJG z;%yn2CJ7k@6%CyXS`i6ZSDcl#mW6xtz7mHx-Nqiy5G2K9v8A;t>eA%RDQ#6dFbrn8 z3X0tw1W7Sj?416OI&%j*EVPzac$voyl~OUTT| z+uS%8CGK*a8T(BgOE?$N(UUhO6eneBRWx)m=!{6na+Us9J;(l%hZVOc3w z007{#g4Oj@1UiPm*3uCIinQG4byhyqlbTAevvf_GbTf(G_ah$LHR;eLn-}jrBoQ2m zjGypyJZ}%baPzKvOq%D+C*0z#{YS1AH(c!$x!M%DIplK2ueS*{Id}wN8xoAZoTuC3 z4Ll8=Xd{gC^eKIaJ+;GnV}KwCf)i|rEv>W3Lp=raaE2f$CX1bu9XdNzvdU6XZC^$+ z+b8Fddd8PqO9x0vr{arK>mDHqX67g{Rnd>a;%YJ1OC$&8vs3c8X;?4<`5I zH`Z+*vL8Bs3-dUf`x?vXmWfN;nF+=JTAmM5h;J=6TXMw_#tIO+QP@4J@lAc}5HkPc zGBPRTVP(Ux%69PiU%QTt%4_HJQg=jvCD}xVY{g{CZmDc+Lbl2f)Y-|PDK)+S?uwfq6Jo)(QIwtNq2!zqx z3Qh7*%++HjbCAbTT5-mF11!lbo7@I`BGf9pQEwe9BDJc|?uR2>#;FVU=IMsQsXEQ? z>O23F_|&40oNh9{h!BjhDu6LeB{T$#;*z>E3Mv{p8LXSJ_VvDgI`jUfG2b_a zlg|CsZrrYflV#RZUx+XC)RvN!@^_1_kM$o2SH6$O^rD`or9VX8m(%R=!jt*JFI?uwdbY^}%p=fzY0PjjDU_#T76RCk|5K0Vb`Zqh>GbIG(mpp&G<7$YSyY3d+( zYVyp9o|4+ysj-4bV08|br&I%*rI^P8?Rbt@)RdPq`3x&sVB7ok0cW^xj!oOsAYD+= z4E71YrPk-=0U~$=r}`|e}$rpRG8#L}5Z`MmJ=0&S_|+Bu_Fs`u)+MYSz(e1(~m zlp~-VqfFvku(yxURq4J;V}!{n7ErE)0lgJM>TwIC3%7^|w_0}ZG~%||*vqGSVUqo_ zornh8Y@7)(8%j2VpYY0yXd+MBytv`=;!Kt+10`>v~FG2((5R9N$)U@=B#H8d_ws{ekK?1KYJL9mpf!^gq zo*Q5O=SuRLc8(z2{mnTy@Csf(_n-(LNT#+0&BlyUtb z*LIqBsj#`W(LaS;eDIVYB9PgZ+6e$H<$SH5-n`z`#L!>JC*826B9G`^-|C{{8lUd& z5X#gKE?3M$V+8eQ)}f={ev9y`?}OpQoNwt0ySksBA{YhBC!k2&#fnbDHQ-5#jCi?BwpoJ48bU6Yk7K^4>G{B+(h@O#{l$?^9mY$LL`RSFQ%Mb$q zAy`E0V>UX`0!eAVWoN>+FtUY#HYs_gbOYGpF~hXa9%Pnju;O*L)8vM&P)-KyhFN8Ji$=)=wEj(5|ugewq)VEHy9vSbw=oyHS441BQuZGPfK_xtir|N;sB#K z$wV*+!3c_+lA4yDk<>584pKS&L3ym^IfJ(?bD&IO?Nv+5s6uUGWOqY3}zRSTm3PMqw?8%x?E03<7=f>;WV8H z@8;+3!Kk*`qL=%ruZ7O&$A!cF1Ge;4AH$f}7aqdhi_!+%+bj=kS#3P_{CZ!<Bu5T~1%7E%+X#gAecw&$%xN3;={+1QiQ5S|4o@!Lo5FKP;$iFOZ;m+8F7%)bqh{bHnetbRq?XO?FLvsvt*mtN0 zY1((SK>!HBBHuDRO{l0ACiZ%{gCGckAUH)~f*=TjAPAocLrO-mEYE(Vxv4AKY=n6_ zZ}Rh!qn-y|Mlk>of)P|qO^JvtA&P_Y&@VcCd>fQzcl0e|EMHBQiPgljn=Eg7xCXJF z?LoJe>^R@vkZrvl5d=XH1euB?d$JplP<*O(QB&C9{prjJnvITa=|J4N%n+hSKwSWzIGZ~fm z($eD~gpu zw=C_5;F86Hw(2b|e+WPn4Hulr&+5QO`9lI38#E`C7q9S>=Mobny6S2aF5lwO%(^^R zR7&N@_bo_G%D048GSv4bB=?cSoq1JAZ7_nC-hyBvWGUqa)#`+c>x6NP$eZ7*I?le; zxm6ger@8uwn@+1Rar$B!M83xzxcqR5+~gIx+ zo2%PuoBhZ$q|8f8HFANwsY6_&(`7Q9)8Cb&&AA|E1o8lVqG=g<0$*ToGu!Ni@jY;A zl}CjvJCS%)gGvSo7Q~QAaa;nH$kDs!%^R*!IL6E(8j>wL z>VTEa`uRxx@mMm37uJ8|e8OSobYFlw1!a*+OUgj@JUvJU!%LXj2_z{I_F8ndRQ{O z)_masvFiC7=P}W&sk{U=SmVNij8Yf2f6qbm(VN0#X_f>DYdJ5bKD}(0;P9;l_-QgU z$Ct``)*)tVvWn?7u}4S5kcls|qE_+?+*aII(5H!fFaC9f$~Ie^)HLzWkn{;U{+oPd zOX|06KlQI3`gaWw!=VFLA6q#NTz%}&Ge8UmhJ1Z&V+M}o?nz~Wb3cdU!6Q#^P(6N} zthD}K9xD14gxs2@CenPc{BOSe)VV4XqCYywomm(E(~RR;NOigD#!&ldoey034BANDYr1oq((4leDdbB8DC`I)X(El7?)G&DgAXiiWWu!;!;MnOqb0^+AQfVP3CAk2uMTZb0# zsDP$Ev;r{MdzF=`T}(bKxw%CdIF=C!+VPZ(ADCrZ2%C zerin~N*G=uJI{bn&#RXHy8TvK!}W69=XosPn*sFXVM~cUgSsRP3g`M66<36Tdx>@a z81fz>6u$DSAi5Wt9=D5m~N{z-Klgy3sAX6NfQDy}3vmi2{ z3hym&x+%&sO#(-Vus{8Xngov!W-f1NE*zQY$Djj+vsxw-yN@e-nlP18kHEGr?@Eu% zOX5qllj+$O_eg_)2nQblMct};1S+k9WuRg@`@KyV$citkDk_sA8!-$(c)CS&?W%`D zE_dCXmZ`FA1RuGSFq|MMCW|eta{wR&BPfOwB*kR0rESA?001EvL9yHXy*0=3*}nIe zVC|8#+u0ol^(jQ~QwM93WPNRtsL1*W!??;w*alqyFjckVrSWVh*4LY>lhY(CSBJ7Pn^JR_i8 zQqa|uB6++;u~n2JW8PTsj?gpAiBJPUJwZ-EJwYA8FoYsPSwf*Ofl!_>gKW3bOTcsE zUw6s??!MBXaB#o~AE6wfT!c6TkPR?IuqggDFBT2;T}W_T+>S_bwtkT1uBd$;6{7Tv zDdyRCdzj!kJ!ic@QImVf?Oj5BIMP6TBtkrq4DR~ftxeRXI85IIlr8S`Q@q_c>A$yL zD!Tf^SR!A%ud*N$UMY+cG#vEx-`iDGCfv#HrThG$h9dkXLqm6r81DVd-w}#|9shd! zHvpV_NJh@*S!831_wkrI8FdyZ<>Aqk-od*7Xx6@w1@!dOZvfAC;xoY_RF1PqNZ~=yhEKjpvy+g%^?n*wK zOD-RDJ#_1DvmuVc>PrP}MBTS7V4zN(50xra4e+~#v)R^fV-BIa%luV~>*F2GUui7P z!2}rv0|*jq9O!G4P-yf>(J%xG3jzaxWWy>NE8J7azB&~u!%yW+YN*PA$7ceeLm8h+qD zX$`!;XCf})J5LGH@;$G{>W@MM7w_JmuFZ;m_~XyNp@qk@6Dya^PwHE%moIQiAMC-D zV{zDi|9YC<`Ov9Ehu!#(`qPX{WS(?;v`3NHBBHJvd^$u#UBL7+{Thetm+_kXp-%2Y zn4jqNM`l7EPoaE=NB@Ug;VTA%!C){LOg9(|22%|7pRJ~K|J(J3E3UcWwr`T@Yq;R} z&rnrQP;u1c}X@!GmxJ};3j_L@Z3z14iE2XDLC`J$n`+!*>-Bdngc zbbaMtKT@%RF8RX%QCD*Go7+r3;)Xll&ax9|u0-x4E{cGpBccYp3xMws3UvA_#;*(aKvujD+SIni8~6m;qXG06CcKfHKhrAdKQ9Q?}Yb#R<)1%GMgP zbq)ZL(v{5or6UtIhivtcbSfkkf&zug%B3`55R9N$(rS>?k?<_Aq_sd=C(6_n6iZq+ zAp|8$TL|gmx`Eb2n616o%QmjRl@~1^)V!H+;#S0zHC;FC{QX-_B{Q8KiG3KKtQ0P7 ze~o595F*wtS3+vKWqA!5S|nDhMq7Q-8N{)kJ*9pLx0xF*9Ik#6lT6Ou!5%)@PxBZk z{%DNRXKjqwQB(2uIBVWT=G|PIo8;%yrms)DqvK7s;A!3@I^qlCc|ogny=vh)^{Vg? zG1m#ktB_A25E2ec!fstA8rpS{pzbM4djKE=BPd3Y6qCiyx!vOD54XH|{gJ;QF3<~n zViW7-vCWFRwb5-MuX(Qk==OqG{n~$iXQqA;ZRu#=+e}CwWKXmq7(p?dASot`z0ps{ zYc{%4GI9zkY8qNPdIlMFN5mwgWaJc-X{uNEY=d9~-LN;BBARnX%3nA$O5gW@F#E}B zYzz#H3A+0%mY7Y?W)wFJ5`%$E^hUnSsLoLk?>jmWgGebFE>p?Gl@-GYl47#h(kcT0 zAs9h1oFFMCi!H4>fHZ37cIh*-l_KBnY7vM@NXaQEsi7J3>nvmy6vz252XT38fujn^D55H&8 zJ-gN$yX?!^;v){dmegN={W0uXVjoY~^$8^9IQX+&H6ljm5dGi}py@k&hlJC;GwLR{ zGz?xA%BG7R8xr!f0Fk9nFWXQF;wp$;KMjy0j>n-sElXHA*U5sN*Ta4C`0ghuRCW3+e-Y8E0RYR2z{LOn literal 0 HcmV?d00001 diff --git a/site/fonts/katex/KaTeX_AMS-Regular.woff2 b/site/fonts/katex/KaTeX_AMS-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..0acaaff03d4bb7606de02a827aeee338e5a86910 GIT binary patch literal 28076 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 G2<`xUL{2yW literal 0 HcmV?d00001 diff --git a/site/fonts/katex/KaTeX_Caligraphic-Regular.woff2 b/site/fonts/katex/KaTeX_Caligraphic-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..75344a1f98e37e2c631e178065854c3a81fb842f GIT binary patch literal 6908 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 CFgb+) literal 0 HcmV?d00001 diff --git a/site/fonts/katex/KaTeX_Fraktur-Bold.woff2 b/site/fonts/katex/KaTeX_Fraktur-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..395f28beac23c7b0f7f3a1e714bd8dac253dd3bc GIT binary patch literal 11348 zcmV-aEUVLZPew8T0RR9104!7h4gdfE08HQj04x0f0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/site/fonts/katex/KaTeX_Main-Italic.woff2 b/site/fonts/katex/KaTeX_Main-Italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..b50920e138807f385d0b0359f4f0f09891f18406 GIT binary patch literal 16988 zcmV(>K-j-`Pew8T0RR91076^<4gdfE0E4su073x(0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/site/fonts/katex/KaTeX_Main-Regular.woff2 b/site/fonts/katex/KaTeX_Main-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..eb24a7ba282b03d830fa6c63ee897d92a5188736 GIT binary patch literal 26272 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�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 bkH82T%!~T~dOL3iZSfI!+IWoKhyte*`46Vs literal 0 HcmV?d00001 diff --git a/site/fonts/katex/KaTeX_Math-BoldItalic.woff2 b/site/fonts/katex/KaTeX_Math-BoldItalic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..29657023adc09956249f6295746c8ce4469b50d3 GIT binary patch literal 16400 zcmV+rK<~eIPew8T0RR9106-7`4gdfE0D43K06(+<0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/site/fonts/katex/KaTeX_Math-Italic.woff2 b/site/fonts/katex/KaTeX_Math-Italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..215c143fd7805a5c2b222bd7892a1a2b09610020 GIT binary patch literal 16440 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 G>;nKVNojrn literal 0 HcmV?d00001 diff --git a/site/fonts/katex/KaTeX_SansSerif-Italic.woff2 b/site/fonts/katex/KaTeX_SansSerif-Italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..349c06dc609f896392fd5bc8b364d3bc3efc9330 GIT binary patch literal 12028 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 GG{*pT{>~Tx literal 0 HcmV?d00001 diff --git a/site/fonts/katex/KaTeX_Script-Regular.woff2 b/site/fonts/katex/KaTeX_Script-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..b3048fc115681ee6c1bc86b0aa158cfbbf59daa3 GIT binary patch literal 9644 zcmV;dB~#jWPew8T0RR91041yd4gdfE06`=G03}%f0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/site/fonts/katex/KaTeX_Size1-Regular.woff2 b/site/fonts/katex/KaTeX_Size1-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..c5a8462fbfe2c39a7c1857b9e296e62500a8a8a5 GIT binary patch literal 5468 zcmV-i6{G5RPew8T0RR9102N#S4gdfE059|a02KrP0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/site/fonts/katex/KaTeX_Size4-Regular.woff2 b/site/fonts/katex/KaTeX_Size4-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..680c13085076a2f6c5a7e695935ec3f21cddb65f GIT binary patch literal 4928 zcmV-G6Tj?tPew8T0RR91024p}4gdfE04S^g021l|0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/site/fonts/katex/KaTeX_Typewriter-Regular.woff2 b/site/fonts/katex/KaTeX_Typewriter-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..771f1af705f5cef5f578b3a1e7d8eff66f9b76b0 GIT binary patch literal 13568 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 G0ssIW + + + + + + + + + + + + + +Configuration + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/site/getting-started/installation.md b/site/getting-started/installation.md new file mode 100644 index 0000000..65eb5b4 --- /dev/null +++ b/site/getting-started/installation.md @@ -0,0 +1,25 @@ +# Installation + +`python-naming-linter` is available on PyPI and can be installed with any standard Python package manager. + +## pip + +```bash +pip install python-naming-linter +``` + +## uv + +```bash +uv add python-naming-linter +``` + +## Verify the Installation + +After installation, confirm the CLI is available: + +```bash +pnl --help +``` + +You should see the help output listing the available commands. diff --git a/site/getting-started/installation/index.html b/site/getting-started/installation/index.html new file mode 100644 index 0000000..b15c49b --- /dev/null +++ b/site/getting-started/installation/index.html @@ -0,0 +1,1129 @@ + + + + + + + + + + + + + + +Installation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + +
+ + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+ + +
+
+ +
+
+
+

python-naming-linter is available on PyPI and can be installed with any standard Python package manager.

+

pip

+
pip install python-naming-linter
+
+ +

uv

+
uv add python-naming-linter
+
+ +

Verify the Installation

+

After installation, confirm the CLI is available:

+
pnl --help
+
+ +

You should see the help output listing the available commands.

+
+ + +
+ + + + +
+ +
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/site/getting-started/quick-start.md b/site/getting-started/quick-start.md new file mode 100644 index 0000000..8bf9501 --- /dev/null +++ b/site/getting-started/quick-start.md @@ -0,0 +1,63 @@ +# Quick Start + +Get `pnl` running in your project in three steps. + +## Step 1: Create a Config File + +Create `.python-naming-linter.yaml` in your project root and define your naming rules: + +```yaml +rules: + - name: bool-method-prefix + type: function + filter: { return_type: bool } + naming: { prefix: [is_, has_, should_] } + + - name: exception-naming + type: class + filter: { base_class: Exception } + naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" } + +apply: + - name: all + rules: [bool-method-prefix, exception-naming] + modules: "**" +``` + +This config defines two rules: + +- `bool-method-prefix` — functions that return `bool` must start with `is_`, `has_`, or `should_`. +- `exception-naming` — classes that extend `Exception` must follow the given regex pattern. + +Both rules are applied to all modules (`**`). + +## Step 2: Run the Linter + +From your project root, run: + +```bash +pnl check +``` + +`pnl` automatically discovers the config file by searching upward from the current working directory. + +## Step 3: Review the Output + +Violations are reported with the file path, line number, rule name, and what was expected: + +``` +src/domain/service.py:12 + [bool-method-prefix] validate (expected prefix: is_ | has_ | should_) + +src/domain/exceptions.py:8 + [exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$) + +Found 2 violation(s). +``` + +Fix the reported names and re-run `pnl check` until no violations remain. + +## Next Steps + +- Learn all available config options in [Configuration](./configuration.md). +- See rule type details and naming constraint options in the full reference. diff --git a/site/getting-started/quick-start/index.html b/site/getting-started/quick-start/index.html new file mode 100644 index 0000000..278d122 --- /dev/null +++ b/site/getting-started/quick-start/index.html @@ -0,0 +1,1171 @@ + + + + + + + + + + + + + + +Quick Start + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + +
+ + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+ + +
+
+ +
+
+
+

Get pnl running in your project in three steps.

+

Step 1: Create a Config File

+

Create .python-naming-linter.yaml in your project root and define your naming rules:

+
rules:
+  - name: bool-method-prefix
+    type: function
+    filter: { return_type: bool }
+    naming: { prefix: [is_, has_, should_] }
+
+  - name: exception-naming
+    type: class
+    filter: { base_class: Exception }
+    naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" }
+
+apply:
+  - name: all
+    rules: [bool-method-prefix, exception-naming]
+    modules: "**"
+
+ +

This config defines two rules:

+
    +
  • bool-method-prefix — functions that return bool must start with is_, has_, or should_.
  • +
  • exception-naming — classes that extend Exception must follow the given regex pattern.
  • +
+

Both rules are applied to all modules (**).

+

Step 2: Run the Linter

+

From your project root, run:

+
pnl check
+
+ +

pnl automatically discovers the config file by searching upward from the current working directory.

+

Step 3: Review the Output

+

Violations are reported with the file path, line number, rule name, and what was expected:

+
src/domain/service.py:12
+    [bool-method-prefix] validate (expected prefix: is_ | has_ | should_)
+
+src/domain/exceptions.py:8
+    [exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$)
+
+Found 2 violation(s).
+
+ +

Fix the reported names and re-run pnl check until no violations remain.

+

Next Steps

+
    +
  • Learn all available config options in Configuration.
  • +
  • See rule type details and naming constraint options in the full reference.
  • +
+
+ + +
+ + + + +
+ +
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/site/guide/apply-and-modules.md b/site/guide/apply-and-modules.md new file mode 100644 index 0000000..3a8e139 --- /dev/null +++ b/site/guide/apply-and-modules.md @@ -0,0 +1,169 @@ +# Apply & Modules + +The `apply` block connects rules to the parts of your codebase where they should be enforced. Without an `apply` entry, a rule is defined but never executed. + +--- + +## The `apply` Block + +Each entry in `apply` is a named group that maps one or more rules to one or more modules: + +```yaml +apply: + - name: domain-layer # A label for this group (used in output) + rules: # Rules to enforce in this group + - attribute-matches-type + - bool-method-prefix + modules: contexts.*.domain # Module path pattern to match +``` + +### Fields + +| Field | Required | Description | +|-------|----------|-------------| +| `name` | Yes | Human-readable label for this application group | +| `rules` | Yes | List of rule names to enforce (must be defined in the `rules` block) | +| `modules` | Yes | A module path pattern that selects which files to check | + +### Inline syntax + +For short rule lists, you can use inline YAML syntax: + +```yaml +apply: + - name: all + rules: [bool-method-prefix, exception-naming] + modules: "**" +``` + +--- + +## Module Path Patterns + +Module paths use Python's dotted notation — the same way you would import them. For example, `src/domain/service.py` becomes `src.domain.service`. + +### Exact match + +To target a single module, write its full dotted path: + +```yaml +modules: myapp.core.utils +``` + +This matches only the file `myapp/core/utils.py`. + +--- + +## Wildcards + +### `*` — Single level + +`*` matches exactly one segment in a dotted module path. It cannot match across dots. + +```yaml +modules: contexts.*.domain +``` + +This matches: + +- `contexts.boards.domain` +- `contexts.auth.domain` +- `contexts.payments.domain` + +But **not:** + +- `contexts.domain` (missing the middle segment) +- `contexts.boards.sub.domain` (too many levels between `contexts` and `domain`) + +**Example:** + +```yaml +apply: + - name: domain-layer + rules: [attribute-matches-type] + modules: contexts.*.domain +``` + +--- + +### `**` — One or more levels + +`**` matches one or more segments. Use it to select all modules under a path, regardless of depth. + +```yaml +modules: contexts.**.domain +``` + +This matches: + +- `contexts.boards.domain` +- `contexts.boards.sub.domain` +- `contexts.a.b.c.domain` + +**Example — apply a rule to the entire codebase:** + +```yaml +apply: + - name: all + rules: [bool-method-prefix] + modules: "**" +``` + +The `"**"` pattern matches every module in the project. Use quotes to avoid YAML parsing issues. + +**Example — apply rules to all modules under a sub-package:** + +```yaml +apply: + - name: services + rules: [function-snake-case] + modules: myapp.services.** +``` + +--- + +## Named Capture + +`{name}` captures a single path segment (equivalent to `*`) and makes the captured value available for back-referencing within the same pattern. + +```yaml +modules: contexts.{context}.domain +``` + +This behaves like `contexts.*.domain` but the captured value (e.g. `boards`) is bound to the name `context`. You can reference it later in the same pattern using `{context}`. + +### Back-referencing example + +Named captures are useful when you want to enforce that two parts of a path are related — for example, that a submodule name must match its parent package name: + +```yaml +apply: + - name: domain-isolation + rules: [attribute-matches-type] + modules: contexts.{context}.domain +``` + +In this example, every module matching `contexts..domain` is selected, and the middle segment is captured as `context`. This can be used in rule logic that references the captured value, enabling context-aware enforcement. + +--- + +## Multiple Apply Groups + +You can define multiple `apply` groups to apply different rules to different parts of your codebase: + +```yaml +apply: + - name: domain-layer + rules: + - attribute-matches-type + - bool-method-prefix + - domain-module-naming + - constant-upper-case + modules: contexts.*.domain + + - name: global-exceptions + rules: [exception-naming] + modules: "**" +``` + +Here, the domain-specific rules are enforced only in `contexts.*.domain`, while `exception-naming` is enforced everywhere. A single module can be matched by multiple groups — all matching rules will be applied. diff --git a/site/guide/apply-and-modules/index.html b/site/guide/apply-and-modules/index.html new file mode 100644 index 0000000..25a33ba --- /dev/null +++ b/site/guide/apply-and-modules/index.html @@ -0,0 +1,1316 @@ + + + + + + + + + + + + + + +Apply & Modules + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + +
+ + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+ + +
+
+ +
+
+
+

The apply block connects rules to the parts of your codebase where they should be enforced. Without an apply entry, a rule is defined but never executed.

+
+

The apply Block

+

Each entry in apply is a named group that maps one or more rules to one or more modules:

+
apply:
+  - name: domain-layer        # A label for this group (used in output)
+    rules:                    # Rules to enforce in this group
+      - attribute-matches-type
+      - bool-method-prefix
+    modules: contexts.*.domain  # Module path pattern to match
+
+ +

Fields

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
FieldRequiredDescription
nameYesHuman-readable label for this application group
rulesYesList of rule names to enforce (must be defined in the rules block)
modulesYesA module path pattern that selects which files to check
+

Inline syntax

+

For short rule lists, you can use inline YAML syntax:

+
apply:
+  - name: all
+    rules: [bool-method-prefix, exception-naming]
+    modules: "**"
+
+ +
+

Module Path Patterns

+

Module paths use Python's dotted notation — the same way you would import them. For example, src/domain/service.py becomes src.domain.service.

+

Exact match

+

To target a single module, write its full dotted path:

+
modules: myapp.core.utils
+
+ +

This matches only the file myapp/core/utils.py.

+
+

Wildcards

+

* — Single level

+

* matches exactly one segment in a dotted module path. It cannot match across dots.

+
modules: contexts.*.domain
+
+ +

This matches:

+
    +
  • contexts.boards.domain
  • +
  • contexts.auth.domain
  • +
  • contexts.payments.domain
  • +
+

But not:

+
    +
  • contexts.domain (missing the middle segment)
  • +
  • contexts.boards.sub.domain (too many levels between contexts and domain)
  • +
+

Example:

+
apply:
+  - name: domain-layer
+    rules: [attribute-matches-type]
+    modules: contexts.*.domain
+
+ +
+

** — One or more levels

+

** matches one or more segments. Use it to select all modules under a path, regardless of depth.

+
modules: contexts.**.domain
+
+ +

This matches:

+
    +
  • contexts.boards.domain
  • +
  • contexts.boards.sub.domain
  • +
  • contexts.a.b.c.domain
  • +
+

Example — apply a rule to the entire codebase:

+
apply:
+  - name: all
+    rules: [bool-method-prefix]
+    modules: "**"
+
+ +

The "**" pattern matches every module in the project. Use quotes to avoid YAML parsing issues.

+

Example — apply rules to all modules under a sub-package:

+
apply:
+  - name: services
+    rules: [function-snake-case]
+    modules: myapp.services.**
+
+ +
+

Named Capture

+

{name} captures a single path segment (equivalent to *) and makes the captured value available for back-referencing within the same pattern.

+
modules: contexts.{context}.domain
+
+ +

This behaves like contexts.*.domain but the captured value (e.g. boards) is bound to the name context. You can reference it later in the same pattern using {context}.

+

Back-referencing example

+

Named captures are useful when you want to enforce that two parts of a path are related — for example, that a submodule name must match its parent package name:

+
apply:
+  - name: domain-isolation
+    rules: [attribute-matches-type]
+    modules: contexts.{context}.domain
+
+ +

In this example, every module matching contexts.<anything>.domain is selected, and the middle segment is captured as context. This can be used in rule logic that references the captured value, enabling context-aware enforcement.

+
+

Multiple Apply Groups

+

You can define multiple apply groups to apply different rules to different parts of your codebase:

+
apply:
+  - name: domain-layer
+    rules:
+      - attribute-matches-type
+      - bool-method-prefix
+      - domain-module-naming
+      - constant-upper-case
+    modules: contexts.*.domain
+
+  - name: global-exceptions
+    rules: [exception-naming]
+    modules: "**"
+
+ +

Here, the domain-specific rules are enforced only in contexts.*.domain, while exception-naming is enforced everywhere. A single module can be matched by multiple groups — all matching rules will be applied.

+
+ + +
+ + + + +
+ +
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/site/guide/filters.md b/site/guide/filters.md new file mode 100644 index 0000000..454699c --- /dev/null +++ b/site/guide/filters.md @@ -0,0 +1,178 @@ +# Filters + +Filters let you narrow the scope of a rule so it only applies to a specific subset of names. Without a filter, a rule matches every name of its `type`. With a filter, only names that satisfy all filter conditions are checked. + +Filters are specified in the `filter` block of a rule: + +```yaml +rules: + - name: my-rule + type: function + filter: { return_type: bool } + naming: { prefix: [is_, has_] } +``` + +Multiple filter fields can be combined — a name must satisfy **all** of them to be checked. + +--- + +## `target` + +Narrows which names within the rule type are checked based on their role in the code. + +### For `variable` rules + +| Value | Matches | +|-------|---------| +| `attribute` | Class-level attribute assignments, including annotated attributes (`x: int = 1`) | +| `parameter` | Function or method parameters | +| `local_variable` | Variables assigned inside a function body | +| `constant` | Module-level assignments (typically treated as constants) | + +**Supported rule types:** `variable` + +**Example — lint only class attributes:** + +```yaml +rules: + - name: attribute-matches-type + type: variable + filter: { target: attribute } + naming: { source: type_annotation, transform: snake_case } +``` + +**Example — lint only module-level constants:** + +```yaml +rules: + - name: constant-upper-case + type: variable + filter: { target: constant } + naming: { case: UPPER_CASE } +``` + +### For `function` rules + +| Value | Matches | +|-------|---------| +| `method` | Functions defined inside a class body | +| `function` | Functions defined at module level or inside other functions | + +**Supported rule types:** `function` + +**Example — lint only module-level functions (not methods):** + +```yaml +rules: + - name: function-snake-case + type: function + filter: { target: function } + naming: { case: snake_case } +``` + +--- + +## `return_type` + +Matches functions whose return type annotation equals the specified type name. + +**Supported rule types:** `function` + +**Accepted values:** any Python type name as a string, e.g. `bool`, `str`, `int`, `None` + +**Example — require a boolean-indicating prefix on `bool`-returning functions:** + +```yaml +rules: + - name: bool-method-prefix + type: function + filter: { return_type: bool } + naming: { prefix: [is_, has_, should_] } + +apply: + - name: all + rules: [bool-method-prefix] + modules: "**" +``` + +The filter matches functions with `-> bool` in their signature. Functions without a return type annotation, or with a different annotation, are not checked. + +--- + +## `decorator` + +Matches functions or classes that are decorated with the specified decorator name. + +**Supported rule types:** `function`, `class` + +**Accepted values:** any decorator name as a string (without `@`), e.g. `staticmethod`, `classmethod`, `property`, `dataclass`, `abstractmethod` + +**Example — require a suffix on static methods:** + +```yaml +rules: + - name: static-method-suffix + type: function + filter: { decorator: staticmethod } + naming: { suffix: [_impl] } + +apply: + - name: all + rules: [static-method-suffix] + modules: "**" +``` + +**Example — require a `DTO` suffix on dataclasses:** + +```yaml +rules: + - name: dataclass-dto-suffix + type: class + filter: { decorator: dataclass } + naming: { suffix: [DTO] } + +apply: + - name: all + rules: [dataclass-dto-suffix] + modules: "**" +``` + +The filter matches the decorator by its bare name. Both `@dataclass` and `@dataclasses.dataclass` are matched by the value `dataclass`. + +--- + +## `base_class` + +Matches classes that inherit from the specified base class. + +**Supported rule types:** `class` + +**Accepted values:** any class name as a string, e.g. `Exception`, `BaseModel`, `ABC` + +**Example — enforce a naming pattern for all exception classes:** + +```yaml +rules: + - name: exception-naming + type: class + filter: { base_class: Exception } + naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" } + +apply: + - name: all + rules: [exception-naming] + modules: "**" +``` + +The filter matches the direct base class name. `class MyError(Exception)` matches the value `Exception`. + +--- + +## Filter Support by Rule Type + +| Filter | `variable` | `function` | `class` | `module` | `package` | +|--------|-----------|-----------|---------|---------|---------| +| `target` | `attribute`, `parameter`, `local_variable`, `constant` | `method`, `function` | — | — | — | +| `return_type` | — | any type string | — | — | — | +| `decorator` | — | any decorator name | any decorator name | — | — | +| `base_class` | — | — | any class name | — | — | diff --git a/site/guide/filters/index.html b/site/guide/filters/index.html new file mode 100644 index 0000000..08b7a9b --- /dev/null +++ b/site/guide/filters/index.html @@ -0,0 +1,1347 @@ + + + + + + + + + + + + + + +Filters + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + +
+ + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+ + +
+
+ +
+
+
+

Filters let you narrow the scope of a rule so it only applies to a specific subset of names. Without a filter, a rule matches every name of its type. With a filter, only names that satisfy all filter conditions are checked.

+

Filters are specified in the filter block of a rule:

+
rules:
+  - name: my-rule
+    type: function
+    filter: { return_type: bool }
+    naming: { prefix: [is_, has_] }
+
+ +

Multiple filter fields can be combined — a name must satisfy all of them to be checked.

+
+

target

+

Narrows which names within the rule type are checked based on their role in the code.

+

For variable rules

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ValueMatches
attributeClass-level attribute assignments, including annotated attributes (x: int = 1)
parameterFunction or method parameters
local_variableVariables assigned inside a function body
constantModule-level assignments (typically treated as constants)
+

Supported rule types: variable

+

Example — lint only class attributes:

+
rules:
+  - name: attribute-matches-type
+    type: variable
+    filter: { target: attribute }
+    naming: { source: type_annotation, transform: snake_case }
+
+ +

Example — lint only module-level constants:

+
rules:
+  - name: constant-upper-case
+    type: variable
+    filter: { target: constant }
+    naming: { case: UPPER_CASE }
+
+ +

For function rules

+
+ + + + + + + + + + + + + + + + +
ValueMatches
methodFunctions defined inside a class body
functionFunctions defined at module level or inside other functions
+

Supported rule types: function

+

Example — lint only module-level functions (not methods):

+
rules:
+  - name: function-snake-case
+    type: function
+    filter: { target: function }
+    naming: { case: snake_case }
+
+ +
+

return_type

+

Matches functions whose return type annotation equals the specified type name.

+

Supported rule types: function

+

Accepted values: any Python type name as a string, e.g. bool, str, int, None

+

Example — require a boolean-indicating prefix on bool-returning functions:

+
rules:
+  - name: bool-method-prefix
+    type: function
+    filter: { return_type: bool }
+    naming: { prefix: [is_, has_, should_] }
+
+apply:
+  - name: all
+    rules: [bool-method-prefix]
+    modules: "**"
+
+ +

The filter matches functions with -> bool in their signature. Functions without a return type annotation, or with a different annotation, are not checked.

+
+

decorator

+

Matches functions or classes that are decorated with the specified decorator name.

+

Supported rule types: function, class

+

Accepted values: any decorator name as a string (without @), e.g. staticmethod, classmethod, property, dataclass, abstractmethod

+

Example — require a suffix on static methods:

+
rules:
+  - name: static-method-suffix
+    type: function
+    filter: { decorator: staticmethod }
+    naming: { suffix: [_impl] }
+
+apply:
+  - name: all
+    rules: [static-method-suffix]
+    modules: "**"
+
+ +

Example — require a DTO suffix on dataclasses:

+
rules:
+  - name: dataclass-dto-suffix
+    type: class
+    filter: { decorator: dataclass }
+    naming: { suffix: [DTO] }
+
+apply:
+  - name: all
+    rules: [dataclass-dto-suffix]
+    modules: "**"
+
+ +

The filter matches the decorator by its bare name. Both @dataclass and @dataclasses.dataclass are matched by the value dataclass.

+
+

base_class

+

Matches classes that inherit from the specified base class.

+

Supported rule types: class

+

Accepted values: any class name as a string, e.g. Exception, BaseModel, ABC

+

Example — enforce a naming pattern for all exception classes:

+
rules:
+  - name: exception-naming
+    type: class
+    filter: { base_class: Exception }
+    naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" }
+
+apply:
+  - name: all
+    rules: [exception-naming]
+    modules: "**"
+
+ +

The filter matches the direct base class name. class MyError(Exception) matches the value Exception.

+
+

Filter Support by Rule Type

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Filtervariablefunctionclassmodulepackage
targetattribute, parameter, local_variable, constantmethod, function
return_typeany type string
decoratorany decorator nameany decorator name
base_classany class name
+
+ + +
+ + + + +
+ +
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/site/guide/include-exclude.md b/site/guide/include-exclude.md new file mode 100644 index 0000000..1b615cb --- /dev/null +++ b/site/guide/include-exclude.md @@ -0,0 +1,140 @@ +# Include / Exclude + +The `include` and `exclude` keys control which files `pnl` scans. They are top-level config keys and are applied before any rule matching. + +```yaml +include: + - src + +exclude: + - src/generated/** + +rules: + - name: ... + +apply: + - name: ... +``` + +Both keys accept a list of file path patterns. Patterns are matched against file paths relative to the project root. + +--- + +## Scenarios + +### No `include` or `exclude` + +When neither key is present, `pnl` scans all `.py` files under the project root recursively. + +```yaml +rules: + - name: bool-method-prefix + type: function + filter: { return_type: bool } + naming: { prefix: [is_, has_, should_] } + +apply: + - name: all + rules: [bool-method-prefix] + modules: "**" +``` + +Every `.py` file in the project is a candidate for scanning. The `apply` block's `modules` pattern then determines which of those files are actually checked by each rule. + +--- + +### `include` only + +When only `include` is specified, only files matching the listed paths are scanned. Everything else is ignored. + +```yaml +include: + - src + +rules: + - name: bool-method-prefix + type: function + filter: { return_type: bool } + naming: { prefix: [is_, has_, should_] } + +apply: + - name: all + rules: [bool-method-prefix] + modules: "**" +``` + +Only `.py` files under `src/` are scanned. Files in `tests/`, `scripts/`, or other top-level directories are not checked, even if they match the `modules` pattern in `apply`. + +Use `include` when your project has multiple top-level directories and you only want to lint a specific one. + +--- + +### `exclude` only + +When only `exclude` is specified, all `.py` files under the project root are scanned **except** those matching the excluded paths. + +```yaml +exclude: + - tests/** + - scripts/** + +rules: + - name: bool-method-prefix + type: function + filter: { return_type: bool } + naming: { prefix: [is_, has_, should_] } + +apply: + - name: all + rules: [bool-method-prefix] + modules: "**" +``` + +All files are scanned by default, but `tests/` and `scripts/` are skipped. This is useful when you want broad coverage but need to exclude generated code, fixtures, or tooling directories. + +--- + +### Both `include` and `exclude` + +When both keys are present, `include` is applied first and `exclude` is applied to that result. + +```yaml +include: + - src + +exclude: + - src/generated/** + +rules: + - name: bool-method-prefix + type: function + filter: { return_type: bool } + naming: { prefix: [is_, has_, should_] } + +apply: + - name: all + rules: [bool-method-prefix] + modules: "**" +``` + +Step-by-step: + +1. Start with all `.py` files under the project root. +2. Keep only files under `src/` (apply `include`). +3. Remove files under `src/generated/` (apply `exclude`). + +The result is all files under `src/` except those in `src/generated/`. + +--- + +## Summary + +| `include` | `exclude` | Files scanned | +|-----------|-----------|--------------| +| Not set | Not set | All `.py` files under project root | +| Set | Not set | Only files matching `include` paths | +| Not set | Set | All files **except** those matching `exclude` paths | +| Set | Set | Files matching `include`, then filtered by `exclude` | + +!!! note + `include` and `exclude` control the file scanning scope. The `modules` patterns in `apply` blocks are evaluated against the scanned files — so a file excluded here will never be checked, regardless of what `modules` patterns are defined. diff --git a/site/guide/include-exclude/index.html b/site/guide/include-exclude/index.html new file mode 100644 index 0000000..d8bce54 --- /dev/null +++ b/site/guide/include-exclude/index.html @@ -0,0 +1,1269 @@ + + + + + + + + + + + + + + +Include / Exclude + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + +
+ + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+ + +
+
+ +
+
+
+

The include and exclude keys control which files pnl scans. They are top-level config keys and are applied before any rule matching.

+
include:
+  - src
+
+exclude:
+  - src/generated/**
+
+rules:
+  - name: ...
+
+apply:
+  - name: ...
+
+ +

Both keys accept a list of file path patterns. Patterns are matched against file paths relative to the project root.

+
+

Scenarios

+

No include or exclude

+

When neither key is present, pnl scans all .py files under the project root recursively.

+
rules:
+  - name: bool-method-prefix
+    type: function
+    filter: { return_type: bool }
+    naming: { prefix: [is_, has_, should_] }
+
+apply:
+  - name: all
+    rules: [bool-method-prefix]
+    modules: "**"
+
+ +

Every .py file in the project is a candidate for scanning. The apply block's modules pattern then determines which of those files are actually checked by each rule.

+
+

include only

+

When only include is specified, only files matching the listed paths are scanned. Everything else is ignored.

+
include:
+  - src
+
+rules:
+  - name: bool-method-prefix
+    type: function
+    filter: { return_type: bool }
+    naming: { prefix: [is_, has_, should_] }
+
+apply:
+  - name: all
+    rules: [bool-method-prefix]
+    modules: "**"
+
+ +

Only .py files under src/ are scanned. Files in tests/, scripts/, or other top-level directories are not checked, even if they match the modules pattern in apply.

+

Use include when your project has multiple top-level directories and you only want to lint a specific one.

+
+

exclude only

+

When only exclude is specified, all .py files under the project root are scanned except those matching the excluded paths.

+
exclude:
+  - tests/**
+  - scripts/**
+
+rules:
+  - name: bool-method-prefix
+    type: function
+    filter: { return_type: bool }
+    naming: { prefix: [is_, has_, should_] }
+
+apply:
+  - name: all
+    rules: [bool-method-prefix]
+    modules: "**"
+
+ +

All files are scanned by default, but tests/ and scripts/ are skipped. This is useful when you want broad coverage but need to exclude generated code, fixtures, or tooling directories.

+
+

Both include and exclude

+

When both keys are present, include is applied first and exclude is applied to that result.

+
include:
+  - src
+
+exclude:
+  - src/generated/**
+
+rules:
+  - name: bool-method-prefix
+    type: function
+    filter: { return_type: bool }
+    naming: { prefix: [is_, has_, should_] }
+
+apply:
+  - name: all
+    rules: [bool-method-prefix]
+    modules: "**"
+
+ +

Step-by-step:

+
    +
  1. Start with all .py files under the project root.
  2. +
  3. Keep only files under src/ (apply include).
  4. +
  5. Remove files under src/generated/ (apply exclude).
  6. +
+

The result is all files under src/ except those in src/generated/.

+
+

Summary

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
includeexcludeFiles scanned
Not setNot setAll .py files under project root
SetNot setOnly files matching include paths
Not setSetAll files except those matching exclude paths
SetSetFiles matching include, then filtered by exclude
+
+

Note

+

include and exclude control the file scanning scope. The modules patterns in apply blocks are evaluated against the scanned files — so a file excluded here will never be checked, regardless of what modules patterns are defined.

+
+
+ + +
+ + + + +
+ +
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/site/guide/inline-ignore.md b/site/guide/inline-ignore.md new file mode 100644 index 0000000..e3bf64d --- /dev/null +++ b/site/guide/inline-ignore.md @@ -0,0 +1,83 @@ +# Inline Ignore + +Sometimes a specific line legitimately violates a naming rule — a third-party interface, a legacy name you cannot change, or a deliberate exception to your convention. Rather than disabling the rule globally or restructuring your config, you can suppress violations on a per-line basis using inline ignore comments. + +--- + +## Ignore all rules on a line + +Add `# pnl: ignore` at the end of a line to suppress all `pnl` violations reported for that line: + +```python +x: int = 1 # pnl: ignore +``` + +Any rule that would have flagged the name on this line is silenced. This is the broadest form of suppression — use it when multiple rules apply and you want to silence all of them at once. + +--- + +## Ignore a specific rule on a line + +To suppress only one rule, specify the rule name after `=`: + +```python +x: int = 1 # pnl: ignore=attribute-matches-type +``` + +Only the `attribute-matches-type` rule is suppressed on this line. Any other rules that match this line will still report violations. + +The rule name must exactly match the `name` field defined in your config: + +```yaml +rules: + - name: attribute-matches-type # This is the name to use in ignore comments + type: variable + filter: { target: attribute } + naming: { source: type_annotation, transform: snake_case } +``` + +--- + +## Ignore multiple specific rules on a line + +To suppress more than one rule on the same line, list rule names separated by commas: + +```python +x: int = 1 # pnl: ignore=attribute-matches-type,constant-upper-case +``` + +Both `attribute-matches-type` and `constant-upper-case` are suppressed on this line. There is no space around the commas. + +--- + +## Practical examples + +**Suppressing a legacy attribute name that doesn't match its type:** + +```python +class UserService: + repo: UserRepository # pnl: ignore=attribute-matches-type +``` + +**Suppressing a constant that follows a third-party naming convention:** + +```python +# Required by the framework to be this exact name +default_app_config = "myapp.apps.MyAppConfig" # pnl: ignore=constant-upper-case +``` + +**Suppressing all rules on a generated or protocol-required name:** + +```python +def __repr__(self) -> str: # pnl: ignore + ... +``` + +--- + +## Notes + +- Inline ignore comments apply only to the line they appear on. They do not affect other lines. +- Rule names are case-sensitive and must match exactly. +- If you specify a rule name that does not exist in your config, the comment is silently ignored — no error is raised. +- Prefer targeted suppression (`# pnl: ignore=rule-name`) over blanket suppression (`# pnl: ignore`) so that future rules are not accidentally silenced. diff --git a/site/guide/inline-ignore/index.html b/site/guide/inline-ignore/index.html new file mode 100644 index 0000000..fb93580 --- /dev/null +++ b/site/guide/inline-ignore/index.html @@ -0,0 +1,1185 @@ + + + + + + + + + + + + + + +Inline Ignore + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + +
+ + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+ + +
+
+ +
+
+
+

Sometimes a specific line legitimately violates a naming rule — a third-party interface, a legacy name you cannot change, or a deliberate exception to your convention. Rather than disabling the rule globally or restructuring your config, you can suppress violations on a per-line basis using inline ignore comments.

+
+

Ignore all rules on a line

+

Add # pnl: ignore at the end of a line to suppress all pnl violations reported for that line:

+
x: int = 1  # pnl: ignore
+
+ +

Any rule that would have flagged the name on this line is silenced. This is the broadest form of suppression — use it when multiple rules apply and you want to silence all of them at once.

+
+

Ignore a specific rule on a line

+

To suppress only one rule, specify the rule name after =:

+
x: int = 1  # pnl: ignore=attribute-matches-type
+
+ +

Only the attribute-matches-type rule is suppressed on this line. Any other rules that match this line will still report violations.

+

The rule name must exactly match the name field defined in your config:

+
rules:
+  - name: attribute-matches-type   # This is the name to use in ignore comments
+    type: variable
+    filter: { target: attribute }
+    naming: { source: type_annotation, transform: snake_case }
+
+ +
+

Ignore multiple specific rules on a line

+

To suppress more than one rule on the same line, list rule names separated by commas:

+
x: int = 1  # pnl: ignore=attribute-matches-type,constant-upper-case
+
+ +

Both attribute-matches-type and constant-upper-case are suppressed on this line. There is no space around the commas.

+
+

Practical examples

+

Suppressing a legacy attribute name that doesn't match its type:

+
class UserService:
+    repo: UserRepository  # pnl: ignore=attribute-matches-type
+
+ +

Suppressing a constant that follows a third-party naming convention:

+
# Required by the framework to be this exact name
+default_app_config = "myapp.apps.MyAppConfig"  # pnl: ignore=constant-upper-case
+
+ +

Suppressing all rules on a generated or protocol-required name:

+
def __repr__(self) -> str:  # pnl: ignore
+    ...
+
+ +
+

Notes

+
    +
  • Inline ignore comments apply only to the line they appear on. They do not affect other lines.
  • +
  • Rule names are case-sensitive and must match exactly.
  • +
  • If you specify a rule name that does not exist in your config, the comment is silently ignored — no error is raised.
  • +
  • Prefer targeted suppression (# pnl: ignore=rule-name) over blanket suppression (# pnl: ignore) so that future rules are not accidentally silenced.
  • +
+
+ + +
+ + + + +
+ +
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/site/guide/naming-constraints.md b/site/guide/naming-constraints.md new file mode 100644 index 0000000..e79ef48 --- /dev/null +++ b/site/guide/naming-constraints.md @@ -0,0 +1,218 @@ +# Naming Constraints + +Naming constraints define how a name must be formed. They are specified in the `naming` block of a rule: + +```yaml +rules: + - name: my-rule + type: function + naming: { prefix: [is_, has_] } +``` + +Each rule must have exactly one naming constraint (or one `source` + `transform` pair). The constraint is evaluated against every name that passes the rule's type and filter checks. + +--- + +## `prefix` + +The name must start with one of the listed prefixes. + +**Accepted value:** a list of one or more prefix strings. + +**Example:** + +```yaml +rules: + - name: bool-method-prefix + type: function + filter: { return_type: bool } + naming: { prefix: [is_, has_, should_] } +``` + +| Name | Result | +|------|--------| +| `is_active` | Pass — starts with `is_` | +| `has_permission` | Pass — starts with `has_` | +| `should_retry` | Pass — starts with `should_` | +| `validate` | **Violation** — no matching prefix | +| `check_active` | **Violation** — `check_` is not in the list | + +**Violation message example:** + +``` +[bool-method-prefix] validate (expected prefix: is_ | has_ | should_) +``` + +--- + +## `suffix` + +The name must end with one of the listed suffixes. + +**Accepted value:** a list of one or more suffix strings. + +**Example:** + +```yaml +rules: + - name: repository-suffix + type: class + naming: { suffix: [Repository, Service] } +``` + +| Name | Result | +|------|--------| +| `UserRepository` | Pass — ends with `Repository` | +| `OrderService` | Pass — ends with `Service` | +| `UserManager` | **Violation** — no matching suffix | +| `User` | **Violation** — no matching suffix | + +**Violation message example:** + +``` +[repository-suffix] UserManager (expected suffix: Repository | Service) +``` + +--- + +## `regex` + +The name must match a regular expression. + +**Accepted value:** a string containing a valid Python regular expression. + +This is the most expressive constraint — use it when `prefix`, `suffix`, or `case` are not specific enough. + +**Example:** + +```yaml +rules: + - name: exception-naming + type: class + filter: { base_class: Exception } + naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" } +``` + +| Name | Result | +|------|--------| +| `UserNotFoundError` | Pass — matches the pattern | +| `OrderInvalidError` | Pass — matches the pattern | +| `FilterError` | **Violation** — does not end with the required suffix group | +| `userNotFoundError` | **Violation** — does not start with an uppercase letter | + +**Violation message example:** + +``` +[exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$) +``` + +--- + +## `source` + `transform` + +The name must be derived from another element in the code, after applying a transformation. This is used for relational naming — where the name of one thing must reflect another. + +Both fields must be specified together. + +### `source` values + +| Value | What it reads | +|-------|--------------| +| `type_annotation` | The type annotation of the variable (e.g. `SubscriptionRepository` from `x: SubscriptionRepository`) | +| `class_name` | The name of a class defined in the module (used with `type: module`) | + +### `transform` values + +| Value | What it does | +|-------|-------------| +| `snake_case` | Converts PascalCase or camelCase to snake_case (e.g. `SubscriptionRepository` → `subscription_repository`) | + +**Example — variable name must match its type annotation:** + +```yaml +rules: + - name: attribute-matches-type + type: variable + filter: { target: attribute } + naming: { source: type_annotation, transform: snake_case } +``` + +| Declaration | Result | +|-------------|--------| +| `subscription_repository: SubscriptionRepository` | Pass — name matches transformed type | +| `repo: SubscriptionRepository` | **Violation** — `repo` does not match `subscription_repository` | +| `source_object_context: ObjectContext` | Pass — name ends with `_object_context` (prefix + expected form is allowed) | + +The `{prefix}_{expected}` form is accepted. If the expected derived name is `object_context`, then `source_object_context` passes because it ends with `_object_context`. + +**Example — module filename must match the class it contains:** + +```yaml +rules: + - name: domain-module-naming + type: module + naming: { source: class_name, transform: snake_case } +``` + +| File | Class | Result | +|------|-------|--------| +| `custom_object.py` | `CustomObject` | Pass — filename matches transformed class name | +| `custom.py` | `CustomObject` | **Violation** — `custom` does not match `custom_object` | + +--- + +## `case` + +The name must follow a specific casing convention. + +**Accepted values:** + +| Value | Pattern | Example | +|-------|---------|---------| +| `snake_case` | all lowercase, words separated by underscores | `my_variable_name` | +| `PascalCase` | each word starts with uppercase, no separators | `MyClassName` | +| `UPPER_CASE` | all uppercase, words separated by underscores | `MAX_RETRIES` | + +**Example — enforce UPPER_CASE for constants:** + +```yaml +rules: + - name: constant-upper-case + type: variable + filter: { target: constant } + naming: { case: UPPER_CASE } +``` + +| Name | Result | +|------|--------| +| `MAX_RETRIES` | Pass | +| `DEFAULT_TIMEOUT` | Pass | +| `max_retries` | **Violation** — lowercase | +| `maxRetries` | **Violation** — camelCase | + +**Example — enforce PascalCase for classes:** + +```yaml +rules: + - name: class-pascal-case + type: class + naming: { case: PascalCase } +``` + +| Name | Result | +|------|--------| +| `MyService` | Pass | +| `my_service` | **Violation** | +| `myService` | **Violation** | + +--- + +## Summary Table + +| Constraint | Value type | Use when | +|-----------|-----------|---------| +| `prefix` | list of strings | Names must start with one of several prefixes | +| `suffix` | list of strings | Names must end with one of several suffixes | +| `regex` | string (regex) | Names must match a complex pattern | +| `source` + `transform` | string + string | Names must be derived from another code element | +| `case` | `snake_case`, `PascalCase`, or `UPPER_CASE` | Names must follow a casing convention | diff --git a/site/guide/naming-constraints/index.html b/site/guide/naming-constraints/index.html new file mode 100644 index 0000000..baa42eb --- /dev/null +++ b/site/guide/naming-constraints/index.html @@ -0,0 +1,1518 @@ + + + + + + + + + + + + + + +Naming Constraints + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + +
+ + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+ + +
+
+ +
+
+
+

Naming constraints define how a name must be formed. They are specified in the naming block of a rule:

+
rules:
+  - name: my-rule
+    type: function
+    naming: { prefix: [is_, has_] }
+
+ +

Each rule must have exactly one naming constraint (or one source + transform pair). The constraint is evaluated against every name that passes the rule's type and filter checks.

+
+

prefix

+

The name must start with one of the listed prefixes.

+

Accepted value: a list of one or more prefix strings.

+

Example:

+
rules:
+  - name: bool-method-prefix
+    type: function
+    filter: { return_type: bool }
+    naming: { prefix: [is_, has_, should_] }
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameResult
is_activePass — starts with is_
has_permissionPass — starts with has_
should_retryPass — starts with should_
validateViolation — no matching prefix
check_activeViolationcheck_ is not in the list
+

Violation message example:

+
[bool-method-prefix] validate (expected prefix: is_ | has_ | should_)
+
+ +
+

suffix

+

The name must end with one of the listed suffixes.

+

Accepted value: a list of one or more suffix strings.

+

Example:

+
rules:
+  - name: repository-suffix
+    type: class
+    naming: { suffix: [Repository, Service] }
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + +
NameResult
UserRepositoryPass — ends with Repository
OrderServicePass — ends with Service
UserManagerViolation — no matching suffix
UserViolation — no matching suffix
+

Violation message example:

+
[repository-suffix] UserManager (expected suffix: Repository | Service)
+
+ +
+

regex

+

The name must match a regular expression.

+

Accepted value: a string containing a valid Python regular expression.

+

This is the most expressive constraint — use it when prefix, suffix, or case are not specific enough.

+

Example:

+
rules:
+  - name: exception-naming
+    type: class
+    filter: { base_class: Exception }
+    naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" }
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + +
NameResult
UserNotFoundErrorPass — matches the pattern
OrderInvalidErrorPass — matches the pattern
FilterErrorViolation — does not end with the required suffix group
userNotFoundErrorViolation — does not start with an uppercase letter
+

Violation message example:

+
[exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$)
+
+ +
+

source + transform

+

The name must be derived from another element in the code, after applying a transformation. This is used for relational naming — where the name of one thing must reflect another.

+

Both fields must be specified together.

+

source values

+
+ + + + + + + + + + + + + + + + +
ValueWhat it reads
type_annotationThe type annotation of the variable (e.g. SubscriptionRepository from x: SubscriptionRepository)
class_nameThe name of a class defined in the module (used with type: module)
+

transform values

+
+ + + + + + + + + + + + +
ValueWhat it does
snake_caseConverts PascalCase or camelCase to snake_case (e.g. SubscriptionRepositorysubscription_repository)
+

Example — variable name must match its type annotation:

+
rules:
+  - name: attribute-matches-type
+    type: variable
+    filter: { target: attribute }
+    naming: { source: type_annotation, transform: snake_case }
+
+ +
+ + + + + + + + + + + + + + + + + + + + +
DeclarationResult
subscription_repository: SubscriptionRepositoryPass — name matches transformed type
repo: SubscriptionRepositoryViolationrepo does not match subscription_repository
source_object_context: ObjectContextPass — name ends with _object_context (prefix + expected form is allowed)
+

The {prefix}_{expected} form is accepted. If the expected derived name is object_context, then source_object_context passes because it ends with _object_context.

+

Example — module filename must match the class it contains:

+
rules:
+  - name: domain-module-naming
+    type: module
+    naming: { source: class_name, transform: snake_case }
+
+ +
+ + + + + + + + + + + + + + + + + + + +
FileClassResult
custom_object.pyCustomObjectPass — filename matches transformed class name
custom.pyCustomObjectViolationcustom does not match custom_object
+
+

case

+

The name must follow a specific casing convention.

+

Accepted values:

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ValuePatternExample
snake_caseall lowercase, words separated by underscoresmy_variable_name
PascalCaseeach word starts with uppercase, no separatorsMyClassName
UPPER_CASEall uppercase, words separated by underscoresMAX_RETRIES
+

Example — enforce UPPER_CASE for constants:

+
rules:
+  - name: constant-upper-case
+    type: variable
+    filter: { target: constant }
+    naming: { case: UPPER_CASE }
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + +
NameResult
MAX_RETRIESPass
DEFAULT_TIMEOUTPass
max_retriesViolation — lowercase
maxRetriesViolation — camelCase
+

Example — enforce PascalCase for classes:

+
rules:
+  - name: class-pascal-case
+    type: class
+    naming: { case: PascalCase }
+
+ +
+ + + + + + + + + + + + + + + + + + + + +
NameResult
MyServicePass
my_serviceViolation
myServiceViolation
+
+

Summary Table

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ConstraintValue typeUse when
prefixlist of stringsNames must start with one of several prefixes
suffixlist of stringsNames must end with one of several suffixes
regexstring (regex)Names must match a complex pattern
source + transformstring + stringNames must be derived from another code element
casesnake_case, PascalCase, or UPPER_CASENames must follow a casing convention
+
+ + +
+ + + + +
+ +
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/site/guide/rules.md b/site/guide/rules.md new file mode 100644 index 0000000..a084b59 --- /dev/null +++ b/site/guide/rules.md @@ -0,0 +1,210 @@ +# Rules + +Rules are the core building blocks of `pnl`. Each rule targets a specific kind of Python name, optionally narrows its scope with filters, and then enforces a naming constraint. + +## Rule Structure + +Every rule has three required fields and two optional ones: + +```yaml +rules: + - name: my-rule # Unique identifier for this rule + type: variable # What kind of name to lint + filter: { ... } # (optional) Narrow which names are checked + naming: { ... } # How the name must be formed +``` + +The `name` is used to reference the rule in `apply` blocks and in `# pnl: ignore` comments. + +--- + +## Rule Types + +### `variable` + +Targets variable names — any assignment that introduces a name into a scope. + +**Sub-targets** (set via `filter.target`): + +| Value | What it covers | +|-------|---------------| +| `attribute` | Class-level attributes (`self.x`, `x: int = ...`) | +| `parameter` | Function/method parameters | +| `local_variable` | Variables declared inside a function body | +| `constant` | Module-level constants (typically `ALL_CAPS`) | + +**Supported filter fields:** `target` + +**Supported naming fields:** `prefix`, `suffix`, `regex`, `source` + `transform`, `case` + +**Example — enforce UPPER_CASE for module-level constants:** + +```yaml +rules: + - name: constant-upper-case + type: variable + filter: { target: constant } + naming: { case: UPPER_CASE } + +apply: + - name: all + rules: [constant-upper-case] + modules: "**" +``` + +**Example — enforce attribute names match their type annotation:** + +```yaml +rules: + - name: attribute-matches-type + type: variable + filter: { target: attribute } + naming: { source: type_annotation, transform: snake_case } + +apply: + - name: domain-layer + rules: [attribute-matches-type] + modules: contexts.*.domain +``` + +--- + +### `function` + +Targets function and method definitions — any `def` statement at any scope level. + +**Supported filter fields:** `target`, `return_type`, `decorator` + +**Supported naming fields:** `prefix`, `suffix`, `regex`, `case` + +**Example — require `is_` / `has_` / `should_` prefix on boolean-returning methods:** + +```yaml +rules: + - name: bool-method-prefix + type: function + filter: { return_type: bool } + naming: { prefix: [is_, has_, should_] } + +apply: + - name: all + rules: [bool-method-prefix] + modules: "**" +``` + +**Example — require `_impl` suffix on `@staticmethod` functions:** + +```yaml +rules: + - name: static-impl-suffix + type: function + filter: { decorator: staticmethod } + naming: { suffix: [_impl] } + +apply: + - name: all + rules: [static-impl-suffix] + modules: "**" +``` + +--- + +### `class` + +Targets class definitions — any `class` statement. + +**Supported filter fields:** `base_class`, `decorator` + +**Supported naming fields:** `prefix`, `suffix`, `regex`, `case` + +**Example — enforce a specific pattern for exception classes:** + +```yaml +rules: + - name: exception-naming + type: class + filter: { base_class: Exception } + naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" } + +apply: + - name: all + rules: [exception-naming] + modules: "**" +``` + +**Example — require `DTO` suffix on dataclasses:** + +```yaml +rules: + - name: dataclass-dto-suffix + type: class + filter: { decorator: dataclass } + naming: { suffix: [DTO] } + +apply: + - name: all + rules: [dataclass-dto-suffix] + modules: "**" +``` + +--- + +### `module` + +Targets the filename of each `.py` file (without the `.py` extension). Useful for enforcing that module names reflect their contents. + +**Supported filter fields:** none + +**Supported naming fields:** `prefix`, `suffix`, `regex`, `source` + `transform`, `case` + +**Example — enforce that a module's filename matches the primary class it contains:** + +```yaml +rules: + - name: domain-module-naming + type: module + naming: { source: class_name, transform: snake_case } + +apply: + - name: domain-layer + rules: [domain-module-naming] + modules: contexts.*.domain +``` + +A file `custom.py` that contains only `class CustomObject` is a violation — the file should be named `custom_object.py`. + +--- + +### `package` + +Targets the directory name of each Python package (a directory containing `__init__.py`). + +**Supported filter fields:** none + +**Supported naming fields:** `prefix`, `suffix`, `regex`, `case` + +**Example — require all package names to be lowercase:** + +```yaml +rules: + - name: package-snake-case + type: package + naming: { case: snake_case } + +apply: + - name: all + rules: [package-snake-case] + modules: "**" +``` + +--- + +## Summary Table + +| Type | What it targets | Supported filters | Notes | +|------|----------------|-------------------|-------| +| `variable` | Variables by scope/role | `target` | Use `target` to narrow to attributes, parameters, etc. | +| `function` | Function and method definitions | `target`, `return_type`, `decorator` | | +| `class` | Class definitions | `base_class`, `decorator` | | +| `module` | Module (file) names | none | Supports `source` + `transform` | +| `package` | Package (directory) names | none | | diff --git a/site/guide/rules/index.html b/site/guide/rules/index.html new file mode 100644 index 0000000..3e8afe3 --- /dev/null +++ b/site/guide/rules/index.html @@ -0,0 +1,1357 @@ + + + + + + + + + + + + + + +Rules + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + +
+ + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+ + +
+
+ +
+
+
+

Rules are the core building blocks of pnl. Each rule targets a specific kind of Python name, optionally narrows its scope with filters, and then enforces a naming constraint.

+

Rule Structure

+

Every rule has three required fields and two optional ones:

+
rules:
+  - name: my-rule          # Unique identifier for this rule
+    type: variable         # What kind of name to lint
+    filter: { ... }        # (optional) Narrow which names are checked
+    naming: { ... }        # How the name must be formed
+
+ +

The name is used to reference the rule in apply blocks and in # pnl: ignore comments.

+
+

Rule Types

+

variable

+

Targets variable names — any assignment that introduces a name into a scope.

+

Sub-targets (set via filter.target):

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ValueWhat it covers
attributeClass-level attributes (self.x, x: int = ...)
parameterFunction/method parameters
local_variableVariables declared inside a function body
constantModule-level constants (typically ALL_CAPS)
+

Supported filter fields: target

+

Supported naming fields: prefix, suffix, regex, source + transform, case

+

Example — enforce UPPER_CASE for module-level constants:

+
rules:
+  - name: constant-upper-case
+    type: variable
+    filter: { target: constant }
+    naming: { case: UPPER_CASE }
+
+apply:
+  - name: all
+    rules: [constant-upper-case]
+    modules: "**"
+
+ +

Example — enforce attribute names match their type annotation:

+
rules:
+  - name: attribute-matches-type
+    type: variable
+    filter: { target: attribute }
+    naming: { source: type_annotation, transform: snake_case }
+
+apply:
+  - name: domain-layer
+    rules: [attribute-matches-type]
+    modules: contexts.*.domain
+
+ +
+

function

+

Targets function and method definitions — any def statement at any scope level.

+

Supported filter fields: target, return_type, decorator

+

Supported naming fields: prefix, suffix, regex, case

+

Example — require is_ / has_ / should_ prefix on boolean-returning methods:

+
rules:
+  - name: bool-method-prefix
+    type: function
+    filter: { return_type: bool }
+    naming: { prefix: [is_, has_, should_] }
+
+apply:
+  - name: all
+    rules: [bool-method-prefix]
+    modules: "**"
+
+ +

Example — require _impl suffix on @staticmethod functions:

+
rules:
+  - name: static-impl-suffix
+    type: function
+    filter: { decorator: staticmethod }
+    naming: { suffix: [_impl] }
+
+apply:
+  - name: all
+    rules: [static-impl-suffix]
+    modules: "**"
+
+ +
+

class

+

Targets class definitions — any class statement.

+

Supported filter fields: base_class, decorator

+

Supported naming fields: prefix, suffix, regex, case

+

Example — enforce a specific pattern for exception classes:

+
rules:
+  - name: exception-naming
+    type: class
+    filter: { base_class: Exception }
+    naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" }
+
+apply:
+  - name: all
+    rules: [exception-naming]
+    modules: "**"
+
+ +

Example — require DTO suffix on dataclasses:

+
rules:
+  - name: dataclass-dto-suffix
+    type: class
+    filter: { decorator: dataclass }
+    naming: { suffix: [DTO] }
+
+apply:
+  - name: all
+    rules: [dataclass-dto-suffix]
+    modules: "**"
+
+ +
+

module

+

Targets the filename of each .py file (without the .py extension). Useful for enforcing that module names reflect their contents.

+

Supported filter fields: none

+

Supported naming fields: prefix, suffix, regex, source + transform, case

+

Example — enforce that a module's filename matches the primary class it contains:

+
rules:
+  - name: domain-module-naming
+    type: module
+    naming: { source: class_name, transform: snake_case }
+
+apply:
+  - name: domain-layer
+    rules: [domain-module-naming]
+    modules: contexts.*.domain
+
+ +

A file custom.py that contains only class CustomObject is a violation — the file should be named custom_object.py.

+
+

package

+

Targets the directory name of each Python package (a directory containing __init__.py).

+

Supported filter fields: none

+

Supported naming fields: prefix, suffix, regex, case

+

Example — require all package names to be lowercase:

+
rules:
+  - name: package-snake-case
+    type: package
+    naming: { case: snake_case }
+
+apply:
+  - name: all
+    rules: [package-snake-case]
+    modules: "**"
+
+ +
+

Summary Table

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeWhat it targetsSupported filtersNotes
variableVariables by scope/roletargetUse target to narrow to attributes, parameters, etc.
functionFunction and method definitionstarget, return_type, decorator
classClass definitionsbase_class, decorator
moduleModule (file) namesnoneSupports source + transform
packagePackage (directory) namesnone
+
+ + +
+ + + + +
+ +
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/site/icons/github.svg b/site/icons/github.svg new file mode 100644 index 0000000..905f426 --- /dev/null +++ b/site/icons/github.svg @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/site/icons/gitlab.svg b/site/icons/gitlab.svg new file mode 100644 index 0000000..e919c7a --- /dev/null +++ b/site/icons/gitlab.svg @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/site/icons/moon.svg b/site/icons/moon.svg new file mode 100644 index 0000000..93f683c --- /dev/null +++ b/site/icons/moon.svg @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/site/icons/shadcn.svg b/site/icons/shadcn.svg new file mode 100644 index 0000000..bc0d1c0 --- /dev/null +++ b/site/icons/shadcn.svg @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/site/icons/sun.svg b/site/icons/sun.svg new file mode 100644 index 0000000..7dab98b --- /dev/null +++ b/site/icons/sun.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/site/img/favicon.ico b/site/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..f4f7adbb9f079fd6c702ea15ac88232051167fd8 GIT binary patch literal 379 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC&H|6fVg?3oVGw3ym^DWND9BhG zJq(Fes|9`UO^?8J-fj$2IBI5Oe?wK|8E-05C*eU1)6r@fnUm3e>4HS%q4tJ&}> z`=m5W!>1|BYaBm0Jp9DVHI04S>iJvuTu9#kht=!TA>Q9lwAY9$uG*t8i9daV*uU?E z^Iu7;ESSf(>Z3fH + + + + + + + + + + + + + +Home + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + +
+ + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+ + +
+
+ +
+
+
+

A naming convention linter for Python projects. Define custom naming rules and enforce them with a single CLI command.

+

What It Does

+
    +
  • Define naming rules for variables, functions, classes, modules, and packages
  • +
  • Apply rules to specific modules using pattern matching
  • +
  • Integrate into CI or pre-commit to keep your naming conventions consistent
  • +
+

For Python developers who want to enforce team-specific naming conventions beyond what PEP 8 and ruff cover.

+

Key Features

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FeatureDescription
Rule TypesVariable, function, class, module, and package naming rules
FiltersNarrow rules by return type, base class, decorator, and more
Naming ConstraintsPrefix, suffix, regex, case convention, or derived from another element
Module TargetingApply rules to specific parts of your codebase using glob-style patterns
Inline IgnoreSuppress violations on specific lines with # pnl: ignore
Pre-commitDrop-in integration with pre-commit hooks
+

Quick Start

+

Install:

+
pip install python-naming-linter
+
+ +

Create .python-naming-linter.yaml in your project root:

+
rules:
+  - name: bool-method-prefix
+    type: function
+    filter: { return_type: bool }
+    naming: { prefix: [is_, has_, should_] }
+
+  - name: exception-naming
+    type: class
+    filter: { base_class: Exception }
+    naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" }
+
+apply:
+  - name: all
+    rules: [bool-method-prefix, exception-naming]
+    modules: "**"
+
+ +

Run:

+
pnl check
+
+ +

Output:

+
src/domain/service.py:12
+    [bool-method-prefix] validate (expected prefix: is_ | has_ | should_)
+
+src/domain/exceptions.py:8
+    [exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$)
+
+Found 2 violation(s).
+
+ +

More Examples

+

Variable Naming — Match Type Annotation

+

Enforce that variable names match their type annotation in snake_case:

+
rules:
+  - name: attribute-matches-type
+    type: variable
+    filter: { target: attribute }
+    naming: { source: type_annotation, transform: snake_case }
+
+apply:
+  - name: domain-layer
+    rules: [attribute-matches-type]
+    modules: contexts.*.domain
+
+ +

This catches repo: SubscriptionRepository — the name should be subscription_repository.

+

Combining Rules Per Layer

+

Apply different rules to different parts of your codebase:

+
apply:
+  - name: domain-layer
+    rules:
+      - attribute-matches-type
+      - bool-method-prefix
+      - domain-module-naming
+    modules: contexts.*.domain
+
+  - name: global-exceptions
+    rules: [exception-naming]
+    modules: "**"
+
+ +

Next Steps

+ +
+ + +
+ + + + +
+ +
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/site/index.md b/site/index.md new file mode 100644 index 0000000..ca3fe50 --- /dev/null +++ b/site/index.md @@ -0,0 +1,114 @@ +# python-naming-linter + +A naming convention linter for Python projects. Define custom naming rules and enforce them with a single CLI command. + +## What It Does + +- Define naming rules for variables, functions, classes, modules, and packages +- Apply rules to specific modules using pattern matching +- Integrate into CI or pre-commit to keep your naming conventions consistent + +For Python developers who want to enforce team-specific naming conventions beyond what PEP 8 and ruff cover. + +## Key Features + +| Feature | Description | +|---------|-------------| +| **Rule Types** | Variable, function, class, module, and package naming rules | +| **Filters** | Narrow rules by return type, base class, decorator, and more | +| **Naming Constraints** | Prefix, suffix, regex, case convention, or derived from another element | +| **Module Targeting** | Apply rules to specific parts of your codebase using glob-style patterns | +| **Inline Ignore** | Suppress violations on specific lines with `# pnl: ignore` | +| **Pre-commit** | Drop-in integration with pre-commit hooks | + +## Quick Start + +**Install:** + +```bash +pip install python-naming-linter +``` + +**Create `.python-naming-linter.yaml` in your project root:** + +```yaml +rules: + - name: bool-method-prefix + type: function + filter: { return_type: bool } + naming: { prefix: [is_, has_, should_] } + + - name: exception-naming + type: class + filter: { base_class: Exception } + naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" } + +apply: + - name: all + rules: [bool-method-prefix, exception-naming] + modules: "**" +``` + +**Run:** + +```bash +pnl check +``` + +**Output:** + +``` +src/domain/service.py:12 + [bool-method-prefix] validate (expected prefix: is_ | has_ | should_) + +src/domain/exceptions.py:8 + [exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$) + +Found 2 violation(s). +``` + +## More Examples + +### Variable Naming — Match Type Annotation + +Enforce that variable names match their type annotation in snake_case: + +```yaml +rules: + - name: attribute-matches-type + type: variable + filter: { target: attribute } + naming: { source: type_annotation, transform: snake_case } + +apply: + - name: domain-layer + rules: [attribute-matches-type] + modules: contexts.*.domain +``` + +This catches `repo: SubscriptionRepository` — the name should be `subscription_repository`. + +### Combining Rules Per Layer + +Apply different rules to different parts of your codebase: + +```yaml +apply: + - name: domain-layer + rules: + - attribute-matches-type + - bool-method-prefix + - domain-module-naming + modules: contexts.*.domain + + - name: global-exceptions + rules: [exception-naming] + modules: "**" +``` + +## Next Steps + +- [Installation](getting-started/installation.md) — detailed install instructions +- [Quick Start](getting-started/quick-start.md) — step-by-step setup guide +- [Configuration](getting-started/configuration.md) — full configuration reference +- [Cookbook](cookbook/index.md) — real-world usage patterns diff --git a/site/js/auto-render.min.js b/site/js/auto-render.min.js new file mode 100644 index 0000000..7504ac1 --- /dev/null +++ b/site/js/auto-render.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("katex")):"function"==typeof define&&define.amd?define(["katex"],t):"object"==typeof exports?exports.renderMathInElement=t(require("katex")):e.renderMathInElement=t(e.katex)}("undefined"!=typeof self?self:this,function(e){return function(){"use strict";var t={757:function(t){t.exports=e}},n={};function r(e){var o=n[e];if(void 0!==o)return o.exports;var i=n[e]={exports:{}};return t[e](i,i.exports,r),i.exports}r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};var o={};r.d(o,{default:function(){return p}});var i=r(757),a=r.n(i);const l=function(e,t,n){let r=n,o=0;const i=e.length;for(;re.left.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")).join("|")+")");for(;n=e.search(o),-1!==n;){n>0&&(r.push({type:"text",data:e.slice(0,n)}),e=e.slice(n));const o=t.findIndex(t=>e.startsWith(t.left));if(n=l(t[o].right,e,t[o].left.length),-1===n)break;const i=e.slice(0,n+t[o].right.length),a=s.test(i)?i:e.slice(t[o].left.length,n);r.push({type:"math",data:a,rawData:i,display:t[o].display}),e=e.slice(n+t[o].right.length)}return""!==e&&r.push({type:"text",data:e}),r};const c=function(e,t){const n=d(e,t.delimiters);if(1===n.length&&"text"===n[0].type)return null;const r=document.createDocumentFragment();for(let e=0;e!e.includes(" "+t+" "))&&f(r,t)}}};var p=function(e,t){if(!e)throw new Error("No element provided to render");const n={};for(const e in t)t.hasOwnProperty(e)&&(n[e]=t[e]);n.delimiters=n.delimiters||[{left:"$$",right:"$$",display:!0},{left:"\\(",right:"\\)",display:!1},{left:"\\begin{equation}",right:"\\end{equation}",display:!0},{left:"\\begin{align}",right:"\\end{align}",display:!0},{left:"\\begin{alignat}",right:"\\end{alignat}",display:!0},{left:"\\begin{gather}",right:"\\end{gather}",display:!0},{left:"\\begin{CD}",right:"\\end{CD}",display:!0},{left:"\\[",right:"\\]",display:!0}],n.ignoredTags=new Set(n.ignoredTags||["script","noscript","style","textarea","pre","code","option"]),n.ignoredClasses=n.ignoredClasses||[],n.errorCallback=n.errorCallback||console.error,n.macros=n.macros||{},f(e,n)};return o=o.default}()}); \ No newline at end of file diff --git a/site/js/callbacks.js b/site/js/callbacks.js new file mode 100644 index 0000000..2696e7b --- /dev/null +++ b/site/js/callbacks.js @@ -0,0 +1,266 @@ +const onSearchBarClick = (event) => { + const dialog = document.getElementById("search-dialog"); + if (dialog) { + dialog.showModal(); + } +}; + +const closeDialogFactory = (targetID, event) => { + const dialog = document.getElementById(targetID); + if (dialog && event.target === dialog) { + dialog.close(); + } +}; + +const onSearchDialogClick = (event) => { + return closeDialogFactory("search-dialog", event); +}; + +const onInputHandler = (event) => { + const query = event.target.value; + if (window.debounceTimer) { + clearTimeout(debounceTimer); + } + window.debounceTimer = setTimeout(() => { + if (searchWorker && query.length > 2) { + console.log(`Posting message { "query": "${query}" }`); + // https://lunrjs.com/guides/searching.html + // we should append a wilcard and also a boost on exact term + const lunrQuery = `${query}^10 ${query}* ${query}~1`; + searchWorker.postMessage({ query: lunrQuery }); + } else if (query.length > 2) { + console.warn("searchWorker is not defined"); + } else { + const results = document.getElementById("mkdocs-search-results"); + if (results) { + while (results.firstChild) { + results.removeChild(results.firstChild); + } + } + } + }, 300); +}; + +const searchShortcutHandler = (event) => { + if ((event.metaKey || event.ctrlKey) && event.key.toLowerCase() === "k") { + event.preventDefault(); // Prevents default browser behavior (e.g., search bar in some apps) + const dialog = document.getElementById("search-dialog"); + if (dialog) { + dialog.showModal(); + } + } +}; + +const updatePygmentsStylesheet = () => { + const root = document.documentElement; + const lightLink = document.getElementById("pygments-light"); + const darkLink = document.getElementById("pygments-dark"); + if (root.classList.contains("dark")) { + if (darkLink && lightLink) { + darkLink.media = "all"; + lightLink.media = "none"; + } + } else { + if (darkLink && lightLink) { + darkLink.media = "none"; + lightLink.media = "all"; + } + } +}; + +const onThemeSwitch = (event) => { + const root = document.documentElement; + root.classList.toggle("dark"); + if (root.classList.contains("dark")) { + localStorage.setItem("theme", "dark"); + } else { + localStorage.setItem("theme", "light"); + } + + updatePygmentsStylesheet(); +}; + +const onBottomSidebarDialogClick = (event) => { + const dialog = document.getElementById("bottom-sidebar"); + if (dialog && event.target === dialog) { + dialog.close(); + const button = document.getElementById("menu-button"); + if (button) { + button.dataset.state = "closed"; + } + } +}; + +const onMobileMenuButtonClick = (event) => { + event.currentTarget.dataset.state = + event.target.dataset.state === "open" ? "closed" : "open"; + const dialog = document.getElementById("bottom-sidebar"); + if (dialog) { + dialog.showModal(); + } +}; + +const clipboardIcon = () => { + const svgElement = document.createElementNS( + "http://www.w3.org/2000/svg", + "svg", + ); + svgElement.setAttribute("xmlns", "http://www.w3.org/2000/svg"); + svgElement.setAttribute("width", "24"); + svgElement.setAttribute("height", "24"); + svgElement.setAttribute("viewBox", "0 0 24 24"); + svgElement.setAttribute("fill", "none"); + svgElement.setAttribute("stroke", "currentColor"); + svgElement.setAttribute("stroke-width", "2"); + svgElement.setAttribute("stroke-linecap", "round"); + svgElement.setAttribute("stroke-linejoin", "round"); + svgElement.setAttribute( + "class", + "lucide lucide-clipboard-icon lucide-clipboard", + ); + + const rect = document.createElementNS("http://www.w3.org/2000/svg", "rect"); + rect.setAttribute("width", "8"); + rect.setAttribute("height", "4"); + rect.setAttribute("x", "8"); + rect.setAttribute("y", "2"); + rect.setAttribute("rx", "1"); + rect.setAttribute("ry", "1"); + svgElement.appendChild(rect); + + const path = document.createElementNS("http://www.w3.org/2000/svg", "path"); + path.setAttribute( + "d", + "M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2", + ); + svgElement.appendChild(path); + + return svgElement; +}; + +const checkIcon = () => { + const svgElement = document.createElementNS( + "http://www.w3.org/2000/svg", + "svg", + ); + svgElement.setAttribute("xmlns", "http://www.w3.org/2000/svg"); + svgElement.setAttribute("width", "24"); + svgElement.setAttribute("height", "24"); + svgElement.setAttribute("viewBox", "0 0 24 24"); + svgElement.setAttribute("fill", "none"); + svgElement.setAttribute("stroke", "currentColor"); + svgElement.setAttribute("stroke-width", "2"); + svgElement.setAttribute("stroke-linecap", "round"); + svgElement.setAttribute("stroke-linejoin", "round"); + svgElement.setAttribute("class", "lucide lucide-check-icon lucide-check"); + + const path = document.createElementNS("http://www.w3.org/2000/svg", "path"); + path.setAttribute("d", "M20 6 9 17l-5-5"); + svgElement.appendChild(path); + + return svgElement; +}; + +const onCodeCopy = (event) => { + const button = event.target; + const code = button.parentElement.querySelector("code"); + if (code) { + const text = code.innerText; + navigator.clipboard.writeText(text).then( + // change the inner icon of the button (inline svg) + () => { + const svg = button.querySelector("svg"); + if (svg) { + button.removeChild(svg); + const check = checkIcon(); + button.appendChild(check); + // reset the icon after few seconds + setTimeout(() => { + button.removeChild(check); + const resetSvg = clipboardIcon(); + button.appendChild(resetSvg); + }, 2000); + } + }, + ); + } +}; + +const toggleLayout = (event) => { + if (document.documentElement.classList.contains("layout-fixed")) { + document.documentElement.classList.remove("layout-fixed"); + document.documentElement.classList.add("layout-full"); + localStorage.setItem("html-layout", "layout-full"); + } else { + document.documentElement.classList.remove("layout-full"); + document.documentElement.classList.add("layout-fixed"); + localStorage.setItem("html-layout", "layout-fixed"); + } +}; + +const fetchStargazers = (repoUrl) => { + const span = document.getElementById("stargazers"); + if (span) { + const chunks = repoUrl.split("/"); + if (chunks.length > 2) { + const repo = chunks[chunks.length - 1]; + const owner = chunks[chunks.length - 2]; + const url = `https://api.github.com/repos/${owner}/${repo}`; + fetch(url) + .catch((error) => { + console.error(`Error fetching stargazers at ${owner}:`, error); + }) + .then((response) => response.json()) + .then((data) => { + span.textContent = data.stargazers_count; + console.log("Stargazers updated"); + }); + } + } +}; + +const setActiveTocLink = (id) => { + id = id.replace("#", ""); + const tocLinks = document.querySelectorAll("#toc a"); + tocLinks.forEach((link) => { + if (link.getAttribute("href") === `#${id}`) { + link.dataset.active = "true"; + } else { + link.dataset.active = "false"; + } + }); +}; + +const deferSetActiveTocLink = (id) => { + console.log(`Deferring setActiveTocLink for id: ${id}`); + setTimeout(() => { + setActiveTocLink(id); + }, 500); +}; + +const toc = { + forceActiveId: "", + currentActiveId: "", + observer: new IntersectionObserver( + (entries) => { + // track the "topmost visible heading" + entries.forEach((entry) => { + if (entry.isIntersecting) { + toc.currentActiveId = entry.target.id + ? entry.target.id + : toc.currentActiveId; + } + }); + + if (toc.forceActiveId) { + toc.currentActiveId = toc.forceActiveId; + toc.forceActiveId = ""; + } + setActiveTocLink(toc.currentActiveId); + }, + { + // rootMargin: top offset to trigger "early" + rootMargin: "0px 0px -60% 0px", + }, + ), +}; diff --git a/site/js/copy-button.js b/site/js/copy-button.js new file mode 100644 index 0000000..283c8ed --- /dev/null +++ b/site/js/copy-button.js @@ -0,0 +1,21 @@ +// walk through all div.codehilite +// and add a copy button to each of them +for (const ch of document.querySelectorAll("div.codehilite")) { + // the copy button can be found anywhere in the ui.shadcn website + // ex: https://ui.shadcn.com/docs/theming + const button = document.createElement("button"); + button.setAttribute( + "class", + "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 bg-transparent absolute top-3 right-2 z-10 size-7 hover:opacity-100 focus-visible:opacity-100", + ); + + const span = document.createElement("span"); + span.setAttribute("class", "sr-only"); + span.innerText = "Copy"; + button.appendChild(span); + + const icon = clipboardIcon(); + button.appendChild(icon); + button.onclick = onCodeCopy; + ch.appendChild(button); +} diff --git a/site/js/katex.min.js b/site/js/katex.min.js new file mode 100644 index 0000000..2270ffb --- /dev/null +++ b/site/js/katex.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.katex=t():e.katex=t()}("undefined"!=typeof self?self:this,function(){return function(){"use strict";var e={d:function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{default:function(){return so}});class r{constructor(e,t){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;let n,o,s="KaTeX parse error: "+e;const i=t&&t.loc;if(i&&i.start<=i.end){const e=i.lexer.input;n=i.start,o=i.end,n===e.length?s+=" at end of input: ":s+=" at position "+(n+1)+": ";const t=e.slice(n,o).replace(/[^]/g,"$&\u0332");let r,l;r=n>15?"\u2026"+e.slice(n-15,n):e.slice(0,n),l=o+15e.replace(o,"-$1").toLowerCase(),i={"&":"&",">":">","<":"<",'"':""","'":"'"},l=/[&><"']/g,a=e=>String(e).replace(l,e=>i[e]),h=e=>"ordgroup"===e.type||"color"===e.type?1===e.body.length?h(e.body[0]):e:"font"===e.type?h(e.body):e,c=new Set(["mathord","textord","atom"]),m=e=>c.has(h(e).type),u={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:e=>"#"+e},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:e=>Math.max(0,e),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:e=>Math.max(0,e),cli:"-e, --max-expand ",cliProcessor:e=>"Infinity"===e?1/0:parseInt(e)},globalGroup:{type:"boolean",cli:!1}};function p(e){if(e.default)return e.default;const t=e.type,r=Array.isArray(t)?t[0]:t;if("string"!=typeof r)return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class d{constructor(e){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{};for(const t in u)if(u.hasOwnProperty(t)){const r=u[t];this[t]=void 0!==e[t]?r.processor?r.processor(e[t]):e[t]:p(r)}}reportNonstrict(e,t,r){let o=this.strict;if("function"==typeof o&&(o=o(e,t,r)),o&&"ignore"!==o){if(!0===o||"error"===o)throw new n("LaTeX-incompatible input and strict mode is set to 'error': "+t+" ["+e+"]",r);"warn"===o?"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+t+" ["+e+"]"):"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+o+"': "+t+" ["+e+"]")}}useStrictBehavior(e,t,r){let n=this.strict;if("function"==typeof n)try{n=n(e,t,r)}catch(e){n="error"}return!(!n||"ignore"===n)&&(!0===n||"error"===n||("warn"===n?("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+t+" ["+e+"]"),!1):("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+n+"': "+t+" ["+e+"]"),!1)))}isTrusted(e){if(e.url&&!e.protocol){const t=(e=>{const t=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return t?":"!==t[2]?null:/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?t[1].toLowerCase():null:"_relative"})(e.url);if(null==t)return!1;e.protocol=t}const t="function"==typeof this.trust?this.trust(e):this.trust;return Boolean(t)}}class g{constructor(e,t,r){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=r}sup(){return f[b[this.id]]}sub(){return f[y[this.id]]}fracNum(){return f[x[this.id]]}fracDen(){return f[w[this.id]]}cramp(){return f[v[this.id]]}text(){return f[k[this.id]]}isTight(){return this.size>=2}}const f=[new g(0,0,!1),new g(1,0,!0),new g(2,1,!1),new g(3,1,!0),new g(4,2,!1),new g(5,2,!0),new g(6,3,!1),new g(7,3,!0)],b=[4,5,4,5,6,7,6,7],y=[5,5,5,5,7,7,7,7],x=[2,3,4,5,6,7,6,7],w=[3,3,5,5,7,7,7,7],v=[1,1,3,3,5,5,7,7],k=[0,1,2,3,2,3,2,3];var z={DISPLAY:f[0],TEXT:f[2],SCRIPT:f[4],SCRIPTSCRIPT:f[6]};const S=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];const M=[];function A(e){for(let t=0;t=M[t]&&e<=M[t+1])return!0;return!1}S.forEach(e=>e.blocks.forEach(e=>M.push(...e)));const T=80,B={doubleleftarrow:"M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z",doublerightarrow:"M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z",leftarrow:"M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z",leftbrace:"M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z",leftbraceunder:"M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z",leftgroup:"M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z",leftgroupunder:"M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z",leftharpoon:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z",leftharpoonplus:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z",leftharpoondown:"M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z",leftharpoondownplus:"M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z",lefthook:"M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z",leftlinesegment:"M40 281 V428 H0 V94 H40 V241 H400000 v40z\nM40 281 V428 H0 V94 H40 V241 H400000 v40z",leftmapsto:"M40 281 V448H0V74H40V241H400000v40z\nM40 281 V448H0V74H40V241H400000v40z",leftToFrom:"M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z",longequal:"M0 50 h400000 v40H0z m0 194h40000v40H0z\nM0 50 h400000 v40H0z m0 194h40000v40H0z",midbrace:"M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z",midbraceunder:"M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z",oiintSize1:"M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z",oiintSize2:"M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z",oiiintSize1:"M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z",oiiintSize2:"M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z",rightarrow:"M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z",rightbrace:"M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z",rightbraceunder:"M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z",rightgroup:"M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z",rightgroupunder:"M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z",rightharpoon:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z",rightharpoonplus:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z",rightharpoondown:"M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z",rightharpoondownplus:"M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z",righthook:"M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z",rightlinesegment:"M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z",rightToFrom:"M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z",twoheadleftarrow:"M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z",twoheadrightarrow:"M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z",tilde1:"M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z",tilde2:"M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z",tilde3:"M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z",tilde4:"M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z",vec:"M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z",widehat1:"M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z",widehat2:"M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat3:"M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat4:"M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widecheck1:"M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z",widecheck2:"M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck3:"M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck4:"M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",baraboveleftarrow:"M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z",rightarrowabovebar:"M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z",baraboveshortleftharpoon:"M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z",rightharpoonaboveshortbar:"M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z",shortbaraboveleftharpoon:"M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z",shortrightharpoonabovebar:"M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z"};var q={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}};const C={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},I={"\xc5":"A","\xd0":"D","\xde":"o","\xe5":"a","\xf0":"d","\xfe":"o","\u0410":"A","\u0411":"B","\u0412":"B","\u0413":"F","\u0414":"A","\u0415":"E","\u0416":"K","\u0417":"3","\u0418":"N","\u0419":"N","\u041a":"K","\u041b":"N","\u041c":"M","\u041d":"H","\u041e":"O","\u041f":"N","\u0420":"P","\u0421":"C","\u0422":"T","\u0423":"y","\u0424":"O","\u0425":"X","\u0426":"U","\u0427":"h","\u0428":"W","\u0429":"W","\u042a":"B","\u042b":"X","\u042c":"B","\u042d":"3","\u042e":"X","\u042f":"R","\u0430":"a","\u0431":"b","\u0432":"a","\u0433":"r","\u0434":"y","\u0435":"e","\u0436":"m","\u0437":"e","\u0438":"n","\u0439":"n","\u043a":"n","\u043b":"n","\u043c":"m","\u043d":"n","\u043e":"o","\u043f":"n","\u0440":"p","\u0441":"c","\u0442":"o","\u0443":"y","\u0444":"b","\u0445":"x","\u0446":"n","\u0447":"n","\u0448":"w","\u0449":"w","\u044a":"a","\u044b":"m","\u044c":"a","\u044d":"e","\u044e":"m","\u044f":"r"};function H(e,t,r){if(!q[t])throw new Error("Font metrics not found for font: "+t+".");let n=e.charCodeAt(0),o=q[t][n];if(!o&&e[0]in I&&(n=I[e[0]].charCodeAt(0),o=q[t][n]),o||"text"!==r||A(n)&&(o=q[t][77]),o)return{depth:o[0],height:o[1],italic:o[2],skew:o[3],width:o[4]}}const R={};const E=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],O=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],N=function(e,t){return t.size<2?e:E[e-1][t.size-1]};class D{constructor(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||D.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=O[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){const t={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(const r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);return new D(t)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:N(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:O[e-1]})}havingBaseStyle(e){e=e||this.style.text();const t=N(D.BASESIZE,e);return this.size===t&&this.textSize===D.BASESIZE&&this.style===e?this:this.extend({style:e,size:t})}havingBaseSizing(){let e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==D.BASESIZE?["sizing","reset-size"+this.size,"size"+D.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=function(e){let t;if(t=e>=5?0:e>=3?1:2,!R[t]){const e=R[t]={cssEmPerMu:C.quad[t]/18};for(const r in C)C.hasOwnProperty(r)&&(e[r]=C[r][t])}return R[t]}(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}D.BASESIZE=6;var P=D;const L={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:1.00375,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:1.00375},V={ex:!0,em:!0,mu:!0},F=function(e){return"string"!=typeof e&&(e=e.unit),e in L||e in V||"ex"===e},G=function(e,t){let r;if(e.unit in L)r=L[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if("mu"===e.unit)r=t.fontMetrics().cssEmPerMu;else{let o;if(o=t.style.isTight()?t.havingStyle(t.style.text()):t,"ex"===e.unit)r=o.fontMetrics().xHeight;else{if("em"!==e.unit)throw new n("Invalid unit: '"+e.unit+"'");r=o.fontMetrics().quad}o!==t&&(r*=o.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*r,t.maxSize)},U=function(e){return+e.toFixed(4)+"em"},W=function(e){return e.filter(e=>e).join(" ")},Y=function(e,t,r){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=r||{},t){t.style.isTight()&&this.classes.push("mtight");const e=t.getColor();e&&(this.style.color=e)}},X=function(e){const t=document.createElement(e);t.className=W(this.classes);for(const e in this.style)this.style.hasOwnProperty(e)&&(t.style[e]=this.style[e]);for(const e in this.attributes)this.attributes.hasOwnProperty(e)&&t.setAttribute(e,this.attributes[e]);for(let e=0;e/=\x00-\x1f]/,j=function(e){let t="<"+e;this.classes.length&&(t+=' class="'+a(W(this.classes))+'"');let r="";for(const e in this.style)this.style.hasOwnProperty(e)&&(r+=s(e)+":"+this.style[e]+";");r&&(t+=' style="'+a(r)+'"');for(const e in this.attributes)if(this.attributes.hasOwnProperty(e)){if(_.test(e))throw new n("Invalid attribute name '"+e+"'");t+=" "+e+'="'+a(this.attributes[e])+'"'}t+=">";for(let e=0;e",t};class ${constructor(e,t,r,n){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,Y.call(this,e,r,n),this.children=t||[]}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return X.call(this,"span")}toMarkup(){return j.call(this,"span")}}class Z{constructor(e,t,r,n){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,Y.call(this,t,n),this.children=r||[],this.setAttribute("href",e)}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return X.call(this,"a")}toMarkup(){return j.call(this,"a")}}class K{constructor(e,t,r){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=t,this.src=e,this.classes=["mord"],this.style=r}hasClass(e){return this.classes.includes(e)}toNode(){const e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(const t in this.style)this.style.hasOwnProperty(t)&&(e.style[t]=this.style[t]);return e}toMarkup(){let e=''+a(this.alt)+'=n[0]&&e<=n[1])return r.name}}return null}(this.text.charCodeAt(0));a&&this.classes.push(a+"_fallback"),/[\xee\xef\xed\xec]/.test(this.text)&&(this.text=J[this.text])}hasClass(e){return this.classes.includes(e)}toNode(){const e=document.createTextNode(this.text);let t=null;this.italic>0&&(t=document.createElement("span"),t.style.marginRight=U(this.italic)),this.classes.length>0&&(t=t||document.createElement("span"),t.className=W(this.classes));for(const e in this.style)this.style.hasOwnProperty(e)&&(t=t||document.createElement("span"),t.style[e]=this.style[e]);return t?(t.appendChild(e),t):e}toMarkup(){let e=!1,t="0&&(r+="margin-right:"+this.italic+"em;");for(const e in this.style)this.style.hasOwnProperty(e)&&(r+=s(e)+":"+this.style[e]+";");r&&(e=!0,t+=' style="'+a(r)+'"');const n=a(this.text);return e?(t+=">",t+=n,t+="",t):n}}class ee{constructor(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}toNode(){const e=document.createElementNS("http://www.w3.org/2000/svg","svg");for(const t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);for(let t=0;t':''}}class re{constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){const e=document.createElementNS("http://www.w3.org/2000/svg","line");for(const t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);return e}toMarkup(){let e="","\\gt",!0),ae(he,me,ve,"\u2208","\\in",!0),ae(he,me,ve,"\ue020","\\@not"),ae(he,me,ve,"\u2282","\\subset",!0),ae(he,me,ve,"\u2283","\\supset",!0),ae(he,me,ve,"\u2286","\\subseteq",!0),ae(he,me,ve,"\u2287","\\supseteq",!0),ae(he,ue,ve,"\u2288","\\nsubseteq",!0),ae(he,ue,ve,"\u2289","\\nsupseteq",!0),ae(he,me,ve,"\u22a8","\\models"),ae(he,me,ve,"\u2190","\\leftarrow",!0),ae(he,me,ve,"\u2264","\\le"),ae(he,me,ve,"\u2264","\\leq",!0),ae(he,me,ve,"<","\\lt",!0),ae(he,me,ve,"\u2192","\\rightarrow",!0),ae(he,me,ve,"\u2192","\\to"),ae(he,ue,ve,"\u2271","\\ngeq",!0),ae(he,ue,ve,"\u2270","\\nleq",!0),ae(he,me,ke,"\xa0","\\ "),ae(he,me,ke,"\xa0","\\space"),ae(he,me,ke,"\xa0","\\nobreakspace"),ae(ce,me,ke,"\xa0","\\ "),ae(ce,me,ke,"\xa0"," "),ae(ce,me,ke,"\xa0","\\space"),ae(ce,me,ke,"\xa0","\\nobreakspace"),ae(he,me,ke,null,"\\nobreak"),ae(he,me,ke,null,"\\allowbreak"),ae(he,me,we,",",","),ae(he,me,we,";",";"),ae(he,ue,de,"\u22bc","\\barwedge",!0),ae(he,ue,de,"\u22bb","\\veebar",!0),ae(he,me,de,"\u2299","\\odot",!0),ae(he,me,de,"\u2295","\\oplus",!0),ae(he,me,de,"\u2297","\\otimes",!0),ae(he,me,ze,"\u2202","\\partial",!0),ae(he,me,de,"\u2298","\\oslash",!0),ae(he,ue,de,"\u229a","\\circledcirc",!0),ae(he,ue,de,"\u22a1","\\boxdot",!0),ae(he,me,de,"\u25b3","\\bigtriangleup"),ae(he,me,de,"\u25bd","\\bigtriangledown"),ae(he,me,de,"\u2020","\\dagger"),ae(he,me,de,"\u22c4","\\diamond"),ae(he,me,de,"\u22c6","\\star"),ae(he,me,de,"\u25c3","\\triangleleft"),ae(he,me,de,"\u25b9","\\triangleright"),ae(he,me,xe,"{","\\{"),ae(ce,me,ze,"{","\\{"),ae(ce,me,ze,"{","\\textbraceleft"),ae(he,me,ge,"}","\\}"),ae(ce,me,ze,"}","\\}"),ae(ce,me,ze,"}","\\textbraceright"),ae(he,me,xe,"{","\\lbrace"),ae(he,me,ge,"}","\\rbrace"),ae(he,me,xe,"[","\\lbrack",!0),ae(ce,me,ze,"[","\\lbrack",!0),ae(he,me,ge,"]","\\rbrack",!0),ae(ce,me,ze,"]","\\rbrack",!0),ae(he,me,xe,"(","\\lparen",!0),ae(he,me,ge,")","\\rparen",!0),ae(ce,me,ze,"<","\\textless",!0),ae(ce,me,ze,">","\\textgreater",!0),ae(he,me,xe,"\u230a","\\lfloor",!0),ae(he,me,ge,"\u230b","\\rfloor",!0),ae(he,me,xe,"\u2308","\\lceil",!0),ae(he,me,ge,"\u2309","\\rceil",!0),ae(he,me,ze,"\\","\\backslash"),ae(he,me,ze,"\u2223","|"),ae(he,me,ze,"\u2223","\\vert"),ae(ce,me,ze,"|","\\textbar",!0),ae(he,me,ze,"\u2225","\\|"),ae(he,me,ze,"\u2225","\\Vert"),ae(ce,me,ze,"\u2225","\\textbardbl"),ae(ce,me,ze,"~","\\textasciitilde"),ae(ce,me,ze,"\\","\\textbackslash"),ae(ce,me,ze,"^","\\textasciicircum"),ae(he,me,ve,"\u2191","\\uparrow",!0),ae(he,me,ve,"\u21d1","\\Uparrow",!0),ae(he,me,ve,"\u2193","\\downarrow",!0),ae(he,me,ve,"\u21d3","\\Downarrow",!0),ae(he,me,ve,"\u2195","\\updownarrow",!0),ae(he,me,ve,"\u21d5","\\Updownarrow",!0),ae(he,me,ye,"\u2210","\\coprod"),ae(he,me,ye,"\u22c1","\\bigvee"),ae(he,me,ye,"\u22c0","\\bigwedge"),ae(he,me,ye,"\u2a04","\\biguplus"),ae(he,me,ye,"\u22c2","\\bigcap"),ae(he,me,ye,"\u22c3","\\bigcup"),ae(he,me,ye,"\u222b","\\int"),ae(he,me,ye,"\u222b","\\intop"),ae(he,me,ye,"\u222c","\\iint"),ae(he,me,ye,"\u222d","\\iiint"),ae(he,me,ye,"\u220f","\\prod"),ae(he,me,ye,"\u2211","\\sum"),ae(he,me,ye,"\u2a02","\\bigotimes"),ae(he,me,ye,"\u2a01","\\bigoplus"),ae(he,me,ye,"\u2a00","\\bigodot"),ae(he,me,ye,"\u222e","\\oint"),ae(he,me,ye,"\u222f","\\oiint"),ae(he,me,ye,"\u2230","\\oiiint"),ae(he,me,ye,"\u2a06","\\bigsqcup"),ae(he,me,ye,"\u222b","\\smallint"),ae(ce,me,fe,"\u2026","\\textellipsis"),ae(he,me,fe,"\u2026","\\mathellipsis"),ae(ce,me,fe,"\u2026","\\ldots",!0),ae(he,me,fe,"\u2026","\\ldots",!0),ae(he,me,fe,"\u22ef","\\@cdots",!0),ae(he,me,fe,"\u22f1","\\ddots",!0),ae(he,me,ze,"\u22ee","\\varvdots"),ae(ce,me,ze,"\u22ee","\\varvdots"),ae(he,me,pe,"\u02ca","\\acute"),ae(he,me,pe,"\u02cb","\\grave"),ae(he,me,pe,"\xa8","\\ddot"),ae(he,me,pe,"~","\\tilde"),ae(he,me,pe,"\u02c9","\\bar"),ae(he,me,pe,"\u02d8","\\breve"),ae(he,me,pe,"\u02c7","\\check"),ae(he,me,pe,"^","\\hat"),ae(he,me,pe,"\u20d7","\\vec"),ae(he,me,pe,"\u02d9","\\dot"),ae(he,me,pe,"\u02da","\\mathring"),ae(he,me,be,"\ue131","\\@imath"),ae(he,me,be,"\ue237","\\@jmath"),ae(he,me,ze,"\u0131","\u0131"),ae(he,me,ze,"\u0237","\u0237"),ae(ce,me,ze,"\u0131","\\i",!0),ae(ce,me,ze,"\u0237","\\j",!0),ae(ce,me,ze,"\xdf","\\ss",!0),ae(ce,me,ze,"\xe6","\\ae",!0),ae(ce,me,ze,"\u0153","\\oe",!0),ae(ce,me,ze,"\xf8","\\o",!0),ae(ce,me,ze,"\xc6","\\AE",!0),ae(ce,me,ze,"\u0152","\\OE",!0),ae(ce,me,ze,"\xd8","\\O",!0),ae(ce,me,pe,"\u02ca","\\'"),ae(ce,me,pe,"\u02cb","\\`"),ae(ce,me,pe,"\u02c6","\\^"),ae(ce,me,pe,"\u02dc","\\~"),ae(ce,me,pe,"\u02c9","\\="),ae(ce,me,pe,"\u02d8","\\u"),ae(ce,me,pe,"\u02d9","\\."),ae(ce,me,pe,"\xb8","\\c"),ae(ce,me,pe,"\u02da","\\r"),ae(ce,me,pe,"\u02c7","\\v"),ae(ce,me,pe,"\xa8",'\\"'),ae(ce,me,pe,"\u02dd","\\H"),ae(ce,me,pe,"\u25ef","\\textcircled");const Se={"--":!0,"---":!0,"``":!0,"''":!0};ae(ce,me,ze,"\u2013","--",!0),ae(ce,me,ze,"\u2013","\\textendash"),ae(ce,me,ze,"\u2014","---",!0),ae(ce,me,ze,"\u2014","\\textemdash"),ae(ce,me,ze,"\u2018","`",!0),ae(ce,me,ze,"\u2018","\\textquoteleft"),ae(ce,me,ze,"\u2019","'",!0),ae(ce,me,ze,"\u2019","\\textquoteright"),ae(ce,me,ze,"\u201c","``",!0),ae(ce,me,ze,"\u201c","\\textquotedblleft"),ae(ce,me,ze,"\u201d","''",!0),ae(ce,me,ze,"\u201d","\\textquotedblright"),ae(he,me,ze,"\xb0","\\degree",!0),ae(ce,me,ze,"\xb0","\\degree"),ae(ce,me,ze,"\xb0","\\textdegree",!0),ae(he,me,ze,"\xa3","\\pounds"),ae(he,me,ze,"\xa3","\\mathsterling",!0),ae(ce,me,ze,"\xa3","\\pounds"),ae(ce,me,ze,"\xa3","\\textsterling",!0),ae(he,ue,ze,"\u2720","\\maltese"),ae(ce,ue,ze,"\u2720","\\maltese");const Me='0123456789/@."';for(let e=0;e<14;e++){const t=Me.charAt(e);ae(he,me,ze,t,t)}const Ae='0123456789!@*()-=+";:?/.,';for(let e=0;e<25;e++){const t=Ae.charAt(e);ae(ce,me,ze,t,t)}const Te="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";for(let e=0;e<52;e++){const t=Te.charAt(e);ae(he,me,be,t,t),ae(ce,me,ze,t,t)}ae(he,ue,ze,"C","\u2102"),ae(ce,ue,ze,"C","\u2102"),ae(he,ue,ze,"H","\u210d"),ae(ce,ue,ze,"H","\u210d"),ae(he,ue,ze,"N","\u2115"),ae(ce,ue,ze,"N","\u2115"),ae(he,ue,ze,"P","\u2119"),ae(ce,ue,ze,"P","\u2119"),ae(he,ue,ze,"Q","\u211a"),ae(ce,ue,ze,"Q","\u211a"),ae(he,ue,ze,"R","\u211d"),ae(ce,ue,ze,"R","\u211d"),ae(he,ue,ze,"Z","\u2124"),ae(ce,ue,ze,"Z","\u2124"),ae(he,me,be,"h","\u210e"),ae(ce,me,be,"h","\u210e");let Be="";for(let e=0;e<52;e++){const t=Te.charAt(e);Be=String.fromCharCode(55349,56320+e),ae(he,me,be,t,Be),ae(ce,me,ze,t,Be),Be=String.fromCharCode(55349,56372+e),ae(he,me,be,t,Be),ae(ce,me,ze,t,Be),Be=String.fromCharCode(55349,56424+e),ae(he,me,be,t,Be),ae(ce,me,ze,t,Be),Be=String.fromCharCode(55349,56580+e),ae(he,me,be,t,Be),ae(ce,me,ze,t,Be),Be=String.fromCharCode(55349,56684+e),ae(he,me,be,t,Be),ae(ce,me,ze,t,Be),Be=String.fromCharCode(55349,56736+e),ae(he,me,be,t,Be),ae(ce,me,ze,t,Be),Be=String.fromCharCode(55349,56788+e),ae(he,me,be,t,Be),ae(ce,me,ze,t,Be),Be=String.fromCharCode(55349,56840+e),ae(he,me,be,t,Be),ae(ce,me,ze,t,Be),Be=String.fromCharCode(55349,56944+e),ae(he,me,be,t,Be),ae(ce,me,ze,t,Be),e<26&&(Be=String.fromCharCode(55349,56632+e),ae(he,me,be,t,Be),ae(ce,me,ze,t,Be),Be=String.fromCharCode(55349,56476+e),ae(he,me,be,t,Be),ae(ce,me,ze,t,Be))}Be=String.fromCharCode(55349,56668),ae(he,me,be,"k",Be),ae(ce,me,ze,"k",Be);for(let e=0;e<10;e++){const t=e.toString();Be=String.fromCharCode(55349,57294+e),ae(he,me,be,t,Be),ae(ce,me,ze,t,Be),Be=String.fromCharCode(55349,57314+e),ae(he,me,be,t,Be),ae(ce,me,ze,t,Be),Be=String.fromCharCode(55349,57324+e),ae(he,me,be,t,Be),ae(ce,me,ze,t,Be),Be=String.fromCharCode(55349,57334+e),ae(he,me,be,t,Be),ae(ce,me,ze,t,Be)}const qe="\xd0\xde\xfe";for(let e=0;e<3;e++){const t=qe.charAt(e);ae(he,me,be,t,t),ae(ce,me,ze,t,t)}const Ce=[["mathbf","textbf","Main-Bold"],["mathbf","textbf","Main-Bold"],["mathnormal","textit","Math-Italic"],["mathnormal","textit","Math-Italic"],["boldsymbol","boldsymbol","Main-BoldItalic"],["boldsymbol","boldsymbol","Main-BoldItalic"],["mathscr","textscr","Script-Regular"],["","",""],["","",""],["","",""],["mathfrak","textfrak","Fraktur-Regular"],["mathfrak","textfrak","Fraktur-Regular"],["mathbb","textbb","AMS-Regular"],["mathbb","textbb","AMS-Regular"],["mathboldfrak","textboldfrak","Fraktur-Regular"],["mathboldfrak","textboldfrak","Fraktur-Regular"],["mathsf","textsf","SansSerif-Regular"],["mathsf","textsf","SansSerif-Regular"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathitsf","textitsf","SansSerif-Italic"],["mathitsf","textitsf","SansSerif-Italic"],["","",""],["","",""],["mathtt","texttt","Typewriter-Regular"],["mathtt","texttt","Typewriter-Regular"]],Ie=[["mathbf","textbf","Main-Bold"],["","",""],["mathsf","textsf","SansSerif-Regular"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathtt","texttt","Typewriter-Regular"]];class He{constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return this.classes.includes(e)}toNode(){const e=document.createDocumentFragment();for(let t=0;te.toText()).join("")}}const Re=function(e,t,r){return le[r][e]&&le[r][e].replace&&(e=le[r][e].replace),{value:e,metrics:H(e,t,r)}},Ee=function(e,t,r,n,o){const s=Re(e,t,r),i=s.metrics;let l;if(e=s.value,i){let t=i.italic;("text"===r||n&&"mathit"===n.font)&&(t=0),l=new Q(e,i.height,i.depth,t,i.skew,i.width,o)}else"undefined"!=typeof console&&console.warn("No character metrics for '"+e+"' in style '"+t+"' and mode '"+r+"'"),l=new Q(e,0,0,0,0,0,o);if(n){l.maxFontSize=n.sizeMultiplier,n.style.isTight()&&l.classes.push("mtight");const e=n.getColor();e&&(l.style.color=e)}return l},Oe=function(e,t,r,n){return void 0===n&&(n=[]),"boldsymbol"===r.font&&Re(e,"Main-Bold",t).metrics?Ee(e,"Main-Bold",t,r,n.concat(["mathbf"])):"\\"===e||"main"===le[t][e].font?Ee(e,"Main-Regular",t,r,n):Ee(e,"AMS-Regular",t,r,n.concat(["amsrm"]))},Ne=function(e,t,r){const o=e.mode,s=e.text,i=["mord"],l="math"===o||"text"===o&&t.font,a=l?t.font:t.fontFamily;let h="",c="";if(55349===s.charCodeAt(0)&&([h,c]=function(e,t){const r=1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536,o="math"===t?0:1;if(119808<=r&&r<120484){const e=Math.floor((r-119808)/26);return[Ce[e][2],Ce[e][o]]}if(120782<=r&&r<=120831){const e=Math.floor((r-120782)/10);return[Ie[e][2],Ie[e][o]]}if(120485===r||120486===r)return[Ce[0][2],Ce[0][o]];if(1204860)return Ee(s,h,o,t,i.concat(c));if(a){let e,n;if("boldsymbol"===a){const t=function(e,t,r,n,o){return"textord"!==o&&Re(e,"Math-BoldItalic",t).metrics?{fontName:"Math-BoldItalic",fontClass:"boldsymbol"}:{fontName:"Main-Bold",fontClass:"mathbf"}}(s,o,0,0,r);e=t.fontName,n=[t.fontClass]}else l?(e=je[a].fontName,n=[a]):(e=_e(a,t.fontWeight,t.fontShape),n=[a,t.fontWeight,t.fontShape]);if(Re(s,e,o).metrics)return Ee(s,e,o,t,i.concat(n));if(Se.hasOwnProperty(s)&&"Typewriter"===e.slice(0,10)){const r=[];for(let l=0;l{if(W(e.classes)!==W(t.classes)||e.skew!==t.skew||e.maxFontSize!==t.maxFontSize||0!==e.italic&&e.hasClass("mathnormal"))return!1;if(1===e.classes.length){const t=e.classes[0];if("mbin"===t||"mord"===t)return!1}for(const r in e.style)if(e.style.hasOwnProperty(r)&&e.style[r]!==t.style[r])return!1;for(const r in t.style)if(t.style.hasOwnProperty(r)&&e.style[r]!==t.style[r])return!1;return!0},Pe=e=>{for(let t=0;tt&&(t=s.height),s.depth>r&&(r=s.depth),s.maxFontSize>n&&(n=s.maxFontSize)}e.height=t,e.depth=r,e.maxFontSize=n},Ve=function(e,t,r,n){const o=new $(e,t,r,n);return Le(o),o},Fe=(e,t,r,n)=>new $(e,t,r,n),Ge=function(e,t,r){const n=Ve([e],[],t);return n.height=Math.max(r||t.fontMetrics().defaultRuleThickness,t.minRuleThickness),n.style.borderBottomWidth=U(n.height),n.maxFontSize=1,n},Ue=function(e){const t=new He(e);return Le(t),t},We=function(e,t){return e instanceof He?Ve([],[e],t):e},Ye=function(e,t){const{children:r,depth:n}=function(e){if("individualShift"===e.positionType){const t=e.children,r=[t[0]],n=-t[0].shift-t[0].elem.depth;let o=n;for(let e=1;e{const r=Ve(["mspace"],[],t),n=G(e,t);return r.style.marginRight=U(n),r},_e=function(e,t,r){let n,o="";switch(e){case"amsrm":o="AMS";break;case"textrm":o="Main";break;case"textsf":o="SansSerif";break;case"texttt":o="Typewriter";break;default:o=e}return n="textbf"===t&&"textit"===r?"BoldItalic":"textbf"===t?"Bold":"textit"===t?"Italic":"Regular",o+"-"+n},je={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},$e={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},Ze=function(e,t){const[r,n,o]=$e[e],s=new te(r),i=new ee([s],{width:U(n),height:U(o),style:"width:"+U(n),viewBox:"0 0 "+1e3*n+" "+1e3*o,preserveAspectRatio:"xMinYMin"}),l=Fe(["overlay"],[i],t);return l.height=o,l.style.height=U(o),l.style.width=U(n),l},Ke={number:3,unit:"mu"},Je={number:4,unit:"mu"},Qe={number:5,unit:"mu"},et={mord:{mop:Ke,mbin:Je,mrel:Qe,minner:Ke},mop:{mord:Ke,mop:Ke,mrel:Qe,minner:Ke},mbin:{mord:Je,mop:Je,mopen:Je,minner:Je},mrel:{mord:Qe,mop:Qe,mopen:Qe,minner:Qe},mopen:{},mclose:{mop:Ke,mbin:Je,mrel:Qe,minner:Ke},mpunct:{mord:Ke,mop:Ke,mrel:Qe,mopen:Ke,mclose:Ke,mpunct:Ke,minner:Ke},minner:{mord:Ke,mop:Ke,mbin:Je,mrel:Qe,mopen:Ke,mpunct:Ke,minner:Ke}},tt={mord:{mop:Ke},mop:{mord:Ke,mop:Ke},mbin:{},mrel:{},mopen:{},mclose:{mop:Ke},mpunct:{},minner:{mop:Ke}},rt={},nt={},ot={};function st(e){let{type:t,names:r,props:n,handler:o,htmlBuilder:s,mathmlBuilder:i}=e;const l={type:t,numArgs:n.numArgs,argTypes:n.argTypes,allowedInArgument:!!n.allowedInArgument,allowedInText:!!n.allowedInText,allowedInMath:void 0===n.allowedInMath||n.allowedInMath,numOptionalArgs:n.numOptionalArgs||0,infix:!!n.infix,primitive:!!n.primitive,handler:o};for(let e=0;e{const r=t.classes[0],n=e.classes[0];"mbin"===r&&ct.has(n)?t.classes[0]="mord":"mbin"===n&&ht.has(r)&&(e.classes[0]="mord")},{node:i},l,a),dt(o,(e,t)=>{const r=bt(t),n=bt(e),o=r&&n?e.hasClass("mtight")?tt[r][n]:et[r][n]:null;if(o)return Xe(o,s)},{node:i},l,a),o},dt=function(e,t,r,n,o){n&&e.push(n);let s=0;for(;sr=>{e.splice(t+1,0,r),s++})(s)}n&&e.pop()},gt=function(e){return e instanceof He||e instanceof Z||e instanceof $&&e.hasClass("enclosing")?e:null},ft=function(e,t){const r=gt(e);if(r){const e=r.children;if(e.length){if("right"===t)return ft(e[e.length-1],"right");if("left"===t)return ft(e[0],"left")}}return e},bt=function(e,t){return e?(t&&(e=ft(e,t)),ut[e.classes[0]]||null):null},yt=function(e,t){const r=["nulldelimiter"].concat(e.baseSizingClasses());return Ve(t.concat(r))},xt=function(e,t,r){if(!e)return Ve();if(nt[e.type]){let n=nt[e.type](e,t);if(r&&t.size!==r.size){n=Ve(t.sizingClasses(r),[n],t);const e=t.sizeMultiplier/r.sizeMultiplier;n.height*=e,n.depth*=e}return n}throw new n("Got group of unknown type: '"+e.type+"'")};function wt(e,t){const r=Ve(["base"],e,t),n=Ve(["strut"]);return n.style.height=U(r.height+r.depth),r.depth&&(n.style.verticalAlign=U(-r.depth)),r.children.unshift(n),r}function vt(e,t){let r=null;1===e.length&&"tag"===e[0].type&&(r=e[0].tag,e=e[0].body);const n=pt(e,t,"root");let o;2===n.length&&n[1].hasClass("tag")&&(o=n.pop());const s=[];let i,l=[];for(let e=0;e0&&(s.push(wt(l,t)),l=[]),s.push(n[e]));l.length>0&&s.push(wt(l,t)),r?(i=wt(pt(r,t,!0)),i.classes=["tag"],s.push(i)):o&&s.push(o);const a=Ve(["katex-html"],s);if(a.setAttribute("aria-hidden","true"),i){const e=i.children[0];e.style.height=U(a.height+a.depth),a.depth&&(e.style.verticalAlign=U(-a.depth))}return a}function kt(e){return new He(e)}class zt{constructor(e,t,r){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=t||[],this.classes=r||[]}setAttribute(e,t){this.attributes[e]=t}getAttribute(e){return this.attributes[e]}toNode(){const e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(const t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);this.classes.length>0&&(e.className=W(this.classes));for(let t=0;t0&&(e+=' class ="'+a(W(this.classes))+'"'),e+=">";for(let t=0;t",e}toText(){return this.children.map(e=>e.toText()).join("")}}class St{constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return a(this.toText())}toText(){return this.text}}class Mt{constructor(e){this.width=void 0,this.character=void 0,this.width=e,this.character=e>=.05555&&e<=.05556?"\u200a":e>=.1666&&e<=.1667?"\u2009":e>=.2222&&e<=.2223?"\u2005":e>=.2777&&e<=.2778?"\u2005\u200a":e>=-.05556&&e<=-.05555?"\u200a\u2063":e>=-.1667&&e<=-.1666?"\u2009\u2063":e>=-.2223&&e<=-.2222?"\u205f\u2063":e>=-.2778&&e<=-.2777?"\u2005\u2063":null}toNode(){if(this.character)return document.createTextNode(this.character);{const e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",U(this.width)),e}}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}}const At=new Set(["\\imath","\\jmath"]),Tt=new Set(["mrow","mtable"]),Bt=function(e,t,r){return!le[t][e]||!le[t][e].replace||55349===e.charCodeAt(0)||Se.hasOwnProperty(e)&&r&&(r.fontFamily&&"tt"===r.fontFamily.slice(4,6)||r.font&&"tt"===r.font.slice(4,6))||(e=le[t][e].replace),new St(e)},qt=function(e){return 1===e.length?e[0]:new zt("mrow",e)},Ct=function(e,t){if("texttt"===t.fontFamily)return"monospace";if("textsf"===t.fontFamily)return"textit"===t.fontShape&&"textbf"===t.fontWeight?"sans-serif-bold-italic":"textit"===t.fontShape?"sans-serif-italic":"textbf"===t.fontWeight?"bold-sans-serif":"sans-serif";if("textit"===t.fontShape&&"textbf"===t.fontWeight)return"bold-italic";if("textit"===t.fontShape)return"italic";if("textbf"===t.fontWeight)return"bold";const r=t.font;if(!r||"mathnormal"===r)return null;const n=e.mode;if("mathit"===r)return"italic";if("boldsymbol"===r)return"textord"===e.type?"bold":"bold-italic";if("mathbf"===r)return"bold";if("mathbb"===r)return"double-struck";if("mathsfit"===r)return"sans-serif-italic";if("mathfrak"===r)return"fraktur";if("mathscr"===r||"mathcal"===r)return"script";if("mathsf"===r)return"sans-serif";if("mathtt"===r)return"monospace";let o=e.text;if(At.has(o))return null;le[n][o]&&le[n][o].replace&&(o=le[n][o].replace);return H(o,je[r].fontName,n)?je[r].variant:null};function It(e){if(!e)return!1;if("mi"===e.type&&1===e.children.length){const t=e.children[0];return t instanceof St&&"."===t.text}if("mo"===e.type&&1===e.children.length&&"true"===e.getAttribute("separator")&&"0em"===e.getAttribute("lspace")&&"0em"===e.getAttribute("rspace")){const t=e.children[0];return t instanceof St&&","===t.text}return!1}const Ht=function(e,t,r){if(1===e.length){const n=Et(e[0],t);return r&&n instanceof zt&&"mo"===n.type&&(n.setAttribute("lspace","0em"),n.setAttribute("rspace","0em")),[n]}const n=[];let o;for(let r=0;r=1&&("mn"===o.type||It(o))){const e=s.children[0];e instanceof zt&&"mn"===e.type&&(e.children=[...o.children,...e.children],n.pop())}else if("mi"===o.type&&1===o.children.length){const e=o.children[0];if(e instanceof St&&"\u0338"===e.text&&("mo"===s.type||"mi"===s.type||"mn"===s.type)){const e=s.children[0];e instanceof St&&e.text.length>0&&(e.text=e.text.slice(0,1)+"\u0338"+e.text.slice(1),n.pop())}}}n.push(s),o=s}return n},Rt=function(e,t,r){return qt(Ht(e,t,r))},Et=function(e,t){if(!e)return new zt("mrow");if(ot[e.type]){return ot[e.type](e,t)}throw new n("Got group of unknown type: '"+e.type+"'")};function Ot(e,t,r,n,o){const s=Ht(e,r);let i;i=1===s.length&&s[0]instanceof zt&&Tt.has(s[0].type)?s[0]:new zt("mrow",s);const l=new zt("annotation",[new St(t)]);l.setAttribute("encoding","application/x-tex");const a=new zt("semantics",[i,l]),h=new zt("math",[a]);h.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&h.setAttribute("display","block");return Ve([o?"katex":"katex-mathml"],[h])}const Nt=function(e){return new P({style:e.displayMode?z.DISPLAY:z.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},Dt=function(e,t){if(t.displayMode){const r=["katex-display"];t.leqno&&r.push("leqno"),t.fleqn&&r.push("fleqn"),e=Ve(r,[e])}return e},Pt=function(e,t,r){const n=Nt(r);let o;if("mathml"===r.output)return Ot(e,t,n,r.displayMode,!0);if("html"===r.output){const t=vt(e,n);o=Ve(["katex"],[t])}else{const s=Ot(e,t,n,r.displayMode,!1),i=vt(e,n);o=Ve(["katex"],[s,i])}return Dt(o,r)};const Lt={widehat:"^",widecheck:"\u02c7",widetilde:"~",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",underbrace:"\u23df",overbrace:"\u23de",overgroup:"\u23e0",undergroup:"\u23e1",overleftrightarrow:"\u2194",underleftrightarrow:"\u2194",xleftrightarrow:"\u2194",Overrightarrow:"\u21d2",xRightarrow:"\u21d2",overleftharpoon:"\u21bc",xleftharpoonup:"\u21bc",overrightharpoon:"\u21c0",xrightharpoonup:"\u21c0",xLeftarrow:"\u21d0",xLeftrightarrow:"\u21d4",xhookleftarrow:"\u21a9",xhookrightarrow:"\u21aa",xmapsto:"\u21a6",xrightharpoondown:"\u21c1",xleftharpoondown:"\u21bd",xrightleftharpoons:"\u21cc",xleftrightharpoons:"\u21cb",xtwoheadleftarrow:"\u219e",xtwoheadrightarrow:"\u21a0",xlongequal:"=",xtofrom:"\u21c4",xrightleftarrows:"\u21c4",xrightequilibrium:"\u21cc",xleftequilibrium:"\u21cb","\\cdrightarrow":"\u2192","\\cdleftarrow":"\u2190","\\cdlongequal":"="},Vt=function(e){const t=new zt("mo",[new St(Lt[e.replace(/^\\/,"")])]);return t.setAttribute("stretchy","true"),t},Ft={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},Gt=new Set(["widehat","widecheck","widetilde","utilde"]),Ut=function(e,t){const{span:r,minWidth:n,height:o}=function(){let r=4e5;const n=e.label.slice(1);if(Gt.has(n)){const o=e,s="ordgroup"===o.base.type?o.base.body.length:1;let i,l,a;if(s>5)"widehat"===n||"widecheck"===n?(i=420,r=2364,a=.42,l=n+"4"):(i=312,r=2340,a=.34,l="tilde4");else{const e=[1,1,2,2,3,3][s];"widehat"===n||"widecheck"===n?(r=[0,1062,2364,2364,2364][e],i=[0,239,300,360,420][e],a=[0,.24,.3,.3,.36,.42][e],l=n+e):(r=[0,600,1033,2339,2340][e],i=[0,260,286,306,312][e],a=[0,.26,.286,.3,.306,.34][e],l="tilde"+e)}const h=new te(l),c=new ee([h],{width:"100%",height:U(a),viewBox:"0 0 "+r+" "+i,preserveAspectRatio:"none"});return{span:Fe([],[c],t),minWidth:0,height:a}}{const e=[],o=Ft[n],[s,i,l]=o,a=l/1e3,h=s.length;let c,m;if(1===h){c=["hide-tail"],m=[o[3]]}else if(2===h)c=["halfarrow-left","halfarrow-right"],m=["xMinYMin","xMaxYMin"];else{if(3!==h)throw new Error("Correct katexImagesData or update code here to support\n "+h+" children.");c=["brace-left","brace-center","brace-right"],m=["xMinYMin","xMidYMin","xMaxYMin"]}for(let n=0;n0&&(r.style.minWidth=U(n)),r};function Wt(e,t){if(!e||e.type!==t)throw new Error("Expected node of type "+t+", but got "+(e?"node of type "+e.type:String(e)));return e}function Yt(e){const t=Xt(e);if(!t)throw new Error("Expected node of symbol group type, but got "+(e?"node of type "+e.type:String(e)));return t}function Xt(e){return e&&("atom"===e.type||se.hasOwnProperty(e.type))?e:null}const _t=(e,t)=>{let r,n,o;e&&"supsub"===e.type?(n=Wt(e.base,"accent"),r=n.base,e.base=r,o=function(e){if(e instanceof $)return e;throw new Error("Expected span but got "+String(e)+".")}(xt(e,t)),e.base=n):(n=Wt(e,"accent"),r=n.base);const s=xt(r,t.havingCrampedStyle());let i=0;if(n.isShifty&&m(r)){const e=h(r);i=ne(xt(e,t.havingCrampedStyle())).skew}const l="\\c"===n.label;let a,c=l?s.height+s.depth:Math.min(s.height,t.fontMetrics().xHeight);if(n.isStretchy)a=Ut(n,t),a=Ye({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"elem",elem:a,wrapperClasses:["svg-align"],wrapperStyle:i>0?{width:"calc(100% - "+U(2*i)+")",marginLeft:U(2*i)}:void 0}]});else{let e,r;"\\vec"===n.label?(e=Ze("vec",t),r=$e.vec[1]):(e=Ne({mode:n.mode,text:n.label},t,"textord"),e=ne(e),e.italic=0,r=e.width,l&&(c+=e.depth)),a=Ve(["accent-body"],[e]);const o="\\textcircled"===n.label;o&&(a.classes.push("accent-full"),c=s.height);let h=i;o||(h-=r/2),a.style.left=U(h),"\\textcircled"===n.label&&(a.style.top=".2em"),a=Ye({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"kern",size:-c},{type:"elem",elem:a}]})}const u=Ve(["mord","accent"],[a],t);return o?(o.children[0]=u,o.height=Math.max(u.height,o.height),o.classes[0]="mord",o):u},jt=(e,t)=>{const r=e.isStretchy?Vt(e.label):new zt("mo",[Bt(e.label,e.mode)]),n=new zt("mover",[Et(e.base,t),r]);return n.setAttribute("accent","true"),n},$t=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(e=>"\\"+e).join("|"));st({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(e,t)=>{const r=lt(t[0]),n=!$t.test(e.funcName),o=!n||"\\widehat"===e.funcName||"\\widetilde"===e.funcName||"\\widecheck"===e.funcName;return{type:"accent",mode:e.parser.mode,label:e.funcName,isStretchy:n,isShifty:o,base:r}},htmlBuilder:_t,mathmlBuilder:jt}),st({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(e,t)=>{const r=t[0];let n=e.parser.mode;return"math"===n&&(e.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+e.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:e.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:_t,mathmlBuilder:jt}),st({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=t[0];return{type:"accentUnder",mode:r.mode,label:n,base:o}},htmlBuilder:(e,t)=>{const r=xt(e.base,t),n=Ut(e,t),o="\\utilde"===e.label?.12:0,s=Ye({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:o},{type:"elem",elem:r}]});return Ve(["mord","accentunder"],[s],t)},mathmlBuilder:(e,t)=>{const r=Vt(e.label),n=new zt("munder",[Et(e.base,t),r]);return n.setAttribute("accentunder","true"),n}});const Zt=e=>{const t=new zt("mpadded",e?[e]:[]);return t.setAttribute("width","+0.6em"),t.setAttribute("lspace","0.3em"),t};function Kt(e,t){const r=pt(e.body,t,!0);return Ve([e.mclass],r,t)}function Jt(e,t){let r;const n=Ht(e.body,t);return"minner"===e.mclass?r=new zt("mpadded",n):"mord"===e.mclass?e.isCharacterBox?(r=n[0],r.type="mi"):r=new zt("mi",n):(e.isCharacterBox?(r=n[0],r.type="mo"):r=new zt("mo",n),"mbin"===e.mclass?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):"mpunct"===e.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):"mopen"===e.mclass||"mclose"===e.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0em"):"minner"===e.mclass&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}st({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(e,t,r){let{parser:n,funcName:o}=e;return{type:"xArrow",mode:n.mode,label:o,body:t[0],below:r[0]}},htmlBuilder(e,t){const r=t.style;let n=t.havingStyle(r.sup());const o=We(xt(e.body,n,t),t),s="\\x"===e.label.slice(0,2)?"x":"cd";let i;o.classes.push(s+"-arrow-pad"),e.below&&(n=t.havingStyle(r.sub()),i=We(xt(e.below,n,t),t),i.classes.push(s+"-arrow-pad"));const l=Ut(e,t),a=-t.fontMetrics().axisHeight+.5*l.height;let h,c=-t.fontMetrics().axisHeight-.5*l.height-.111;if((o.depth>.25||"\\xleftequilibrium"===e.label)&&(c-=o.depth),i){const e=-t.fontMetrics().axisHeight+i.height+.5*l.height+.111;h=Ye({positionType:"individualShift",children:[{type:"elem",elem:o,shift:c},{type:"elem",elem:l,shift:a},{type:"elem",elem:i,shift:e}]})}else h=Ye({positionType:"individualShift",children:[{type:"elem",elem:o,shift:c},{type:"elem",elem:l,shift:a}]});return h.children[0].children[0].children[1].classes.push("svg-align"),Ve(["mrel","x-arrow"],[h],t)},mathmlBuilder(e,t){const r=Vt(e.label);let n;if(r.setAttribute("minsize","x"===e.label.charAt(0)?"1.75em":"3.0em"),e.body){const o=Zt(Et(e.body,t));if(e.below){const s=Zt(Et(e.below,t));n=new zt("munderover",[r,s,o])}else n=new zt("mover",[r,o])}else if(e.below){const o=Zt(Et(e.below,t));n=new zt("munder",[r,o])}else n=Zt(),n=new zt("mover",[r,n]);return n}}),st({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(e,t){let{parser:r,funcName:n}=e;const o=t[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:at(o),isCharacterBox:m(o)}},htmlBuilder:Kt,mathmlBuilder:Jt});const Qt=e=>{const t="ordgroup"===e.type&&e.body.length?e.body[0]:e;return"atom"!==t.type||"bin"!==t.family&&"rel"!==t.family?"mord":"m"+t.family};st({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(e,t){let{parser:r}=e;return{type:"mclass",mode:r.mode,mclass:Qt(t[0]),body:at(t[1]),isCharacterBox:m(t[1])}}}),st({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(e,t){let{parser:r,funcName:n}=e;const o=t[1],s=t[0];let i;i="\\stackrel"!==n?Qt(o):"mrel";const l={type:"op",mode:o.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:"\\stackrel"!==n,body:at(o)},a={type:"supsub",mode:s.mode,base:l,sup:"\\underset"===n?null:s,sub:"\\underset"===n?s:null};return{type:"mclass",mode:r.mode,mclass:i,body:[a],isCharacterBox:m(a)}},htmlBuilder:Kt,mathmlBuilder:Jt}),st({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(e,t){let{parser:r}=e;return{type:"pmb",mode:r.mode,mclass:Qt(t[0]),body:at(t[0])}},htmlBuilder(e,t){const r=pt(e.body,t,!0),n=Ve([e.mclass],r,t);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder(e,t){const r=Ht(e.body,t),n=new zt("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});const er={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},tr=()=>({type:"styling",body:[],mode:"math",style:"display"}),rr=e=>"textord"===e.type&&"@"===e.text,nr=(e,t)=>("mathord"===e.type||"atom"===e.type)&&e.text===t;function or(e,t,r){const n=er[e];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[t[0]],[t[1]]);case"\\uparrow":case"\\downarrow":{const e={type:"atom",text:n,mode:"math",family:"rel"},o={type:"ordgroup",mode:"math",body:[r.callFunction("\\\\cdleft",[t[0]],[]),r.callFunction("\\Big",[e],[]),r.callFunction("\\\\cdright",[t[1]],[])]};return r.callFunction("\\\\cdparent",[o],[])}case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{const e={type:"textord",text:"\\Vert",mode:"math"};return r.callFunction("\\Big",[e],[])}default:return{type:"textord",text:" ",mode:"math"}}}st({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(e,t){let{parser:r,funcName:n}=e;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:t[0]}},htmlBuilder(e,t){const r=t.havingStyle(t.style.sup()),n=We(xt(e.label,r,t),t);return n.classes.push("cd-label-"+e.side),n.style.bottom=U(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder(e,t){let r=new zt("mrow",[Et(e.label,t)]);return r=new zt("mpadded",[r]),r.setAttribute("width","0"),"left"===e.side&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),r=new zt("mstyle",[r]),r.setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}}),st({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(e,t){let{parser:r}=e;return{type:"cdlabelparent",mode:r.mode,fragment:t[0]}},htmlBuilder(e,t){const r=We(xt(e.fragment,t),t);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder(e,t){return new zt("mrow",[Et(e.fragment,t)])}}),st({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(e,t){let{parser:r}=e;const o=Wt(t[0],"ordgroup").body;let s="";for(let e=0;e=1114111)throw new n("\\@char with invalid code point "+s);return l<=65535?i=String.fromCharCode(l):(l-=65536,i=String.fromCharCode(55296+(l>>10),56320+(1023&l))),{type:"textord",mode:r.mode,text:i}}});const sr=(e,t)=>{const r=pt(e.body,t.withColor(e.color),!1);return Ue(r)},ir=(e,t)=>{const r=Ht(e.body,t.withColor(e.color)),n=new zt("mstyle",r);return n.setAttribute("mathcolor",e.color),n};st({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(e,t){let{parser:r}=e;const n=Wt(t[0],"color-token").color,o=t[1];return{type:"color",mode:r.mode,color:n,body:at(o)}},htmlBuilder:sr,mathmlBuilder:ir}),st({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(e,t){let{parser:r,breakOnTokenText:n}=e;const o=Wt(t[0],"color-token").color;r.gullet.macros.set("\\current@color",o);const s=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:o,body:s}},htmlBuilder:sr,mathmlBuilder:ir}),st({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(e,t,r){let{parser:n}=e;const o="["===n.gullet.future().text?n.parseSizeGroup(!0):null,s=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:s,size:o&&Wt(o,"size").value}},htmlBuilder(e,t){const r=Ve(["mspace"],[],t);return e.newLine&&(r.classes.push("newline"),e.size&&(r.style.marginTop=U(G(e.size,t)))),r},mathmlBuilder(e,t){const r=new zt("mspace");return e.newLine&&(r.setAttribute("linebreak","newline"),e.size&&r.setAttribute("height",U(G(e.size,t)))),r}});const lr={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},ar=e=>{const t=e.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(t))throw new n("Expected a control sequence",e);return t},hr=(e,t,r,n)=>{let o=e.gullet.macros.get(r.text);null==o&&(r.noexpand=!0,o={tokens:[r],numArgs:0,unexpandable:!e.gullet.isExpandable(r.text)}),e.gullet.macros.set(t,o,n)};st({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(e){let{parser:t,funcName:r}=e;t.consumeSpaces();const o=t.fetch();if(lr[o.text])return"\\global"!==r&&"\\\\globallong"!==r||(o.text=lr[o.text]),Wt(t.parseFunction(),"internal");throw new n("Invalid token after macro prefix",o)}}),st({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){let{parser:t,funcName:r}=e,o=t.gullet.popToken();const s=o.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(s))throw new n("Expected a control sequence",o);let i,l=0;const a=[[]];for(;"{"!==t.gullet.future().text;)if(o=t.gullet.popToken(),"#"===o.text){if("{"===t.gullet.future().text){i=t.gullet.future(),a[l].push("{");break}if(o=t.gullet.popToken(),!/^[1-9]$/.test(o.text))throw new n('Invalid argument number "'+o.text+'"');if(parseInt(o.text)!==l+1)throw new n('Argument number "'+o.text+'" out of order');l++,a.push([])}else{if("EOF"===o.text)throw new n("Expected a macro definition");a[l].push(o.text)}let{tokens:h}=t.gullet.consumeArg();return i&&h.unshift(i),"\\edef"!==r&&"\\xdef"!==r||(h=t.gullet.expandTokens(h),h.reverse()),t.gullet.macros.set(s,{tokens:h,numArgs:l,delimiters:a},r===lr[r]),{type:"internal",mode:t.mode}}}),st({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){let{parser:t,funcName:r}=e;const n=ar(t.gullet.popToken());t.gullet.consumeSpaces();const o=(e=>{let t=e.gullet.popToken();return"="===t.text&&(t=e.gullet.popToken()," "===t.text&&(t=e.gullet.popToken())),t})(t);return hr(t,n,o,"\\\\globallet"===r),{type:"internal",mode:t.mode}}}),st({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){let{parser:t,funcName:r}=e;const n=ar(t.gullet.popToken()),o=t.gullet.popToken(),s=t.gullet.popToken();return hr(t,n,s,"\\\\globalfuture"===r),t.gullet.pushToken(s),t.gullet.pushToken(o),{type:"internal",mode:t.mode}}});const cr=function(e,t,r){const n=H(le.math[e]&&le.math[e].replace||e,t,r);if(!n)throw new Error("Unsupported symbol "+e+" and font size "+t+".");return n},mr=function(e,t,r,n){const o=r.havingBaseStyle(t),s=Ve(n.concat(o.sizingClasses(r)),[e],r),i=o.sizeMultiplier/r.sizeMultiplier;return s.height*=i,s.depth*=i,s.maxFontSize=o.sizeMultiplier,s},ur=function(e,t,r){const n=t.havingBaseStyle(r),o=(1-t.sizeMultiplier/n.sizeMultiplier)*t.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=U(o),e.height-=o,e.depth+=o},pr=function(e,t,r,n,o,s){const i=function(e,t,r,n){return Ee(e,"Size"+t+"-Regular",r,n)}(e,t,o,n),l=mr(Ve(["delimsizing","size"+t],[i],n),z.TEXT,n,s);return r&&ur(l,n,z.TEXT),l},dr=function(e,t,r){let n;n="Size1-Regular"===t?"delim-size1":"delim-size4";return{type:"elem",elem:Ve(["delimsizinginner",n],[Ve([],[Ee(e,t,r)])])}},gr=function(e,t,r){const n=q["Size4-Regular"][e.charCodeAt(0)]?q["Size4-Regular"][e.charCodeAt(0)][4]:q["Size1-Regular"][e.charCodeAt(0)][4],o=new te("inner",function(e,t){switch(e){case"\u239c":return"M291 0 H417 V"+t+" H291z M291 0 H417 V"+t+" H291z";case"\u2223":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145z";case"\u2225":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145zM367 0 H410 V"+t+" H367z M367 0 H410 V"+t+" H367z";case"\u239f":return"M457 0 H583 V"+t+" H457z M457 0 H583 V"+t+" H457z";case"\u23a2":return"M319 0 H403 V"+t+" H319z M319 0 H403 V"+t+" H319z";case"\u23a5":return"M263 0 H347 V"+t+" H263z M263 0 H347 V"+t+" H263z";case"\u23aa":return"M384 0 H504 V"+t+" H384z M384 0 H504 V"+t+" H384z";case"\u23d0":return"M312 0 H355 V"+t+" H312z M312 0 H355 V"+t+" H312z";case"\u2016":return"M257 0 H300 V"+t+" H257z M257 0 H300 V"+t+" H257zM478 0 H521 V"+t+" H478z M478 0 H521 V"+t+" H478z";default:return""}}(e,Math.round(1e3*t))),s=new ee([o],{width:U(n),height:U(t),style:"width:"+U(n),viewBox:"0 0 "+1e3*n+" "+Math.round(1e3*t),preserveAspectRatio:"xMinYMin"}),i=Fe([],[s],r);return i.height=t,i.style.height=U(t),i.style.width=U(n),{type:"elem",elem:i}},fr={type:"kern",size:-.008},br=new Set(["|","\\lvert","\\rvert","\\vert"]),yr=new Set(["\\|","\\lVert","\\rVert","\\Vert"]),xr=function(e,t,r,n,o,s){let i,l,a,h,c="",m=0;i=a=h=e,l=null;let u="Size1-Regular";"\\uparrow"===e?a=h="\u23d0":"\\Uparrow"===e?a=h="\u2016":"\\downarrow"===e?i=a="\u23d0":"\\Downarrow"===e?i=a="\u2016":"\\updownarrow"===e?(i="\\uparrow",a="\u23d0",h="\\downarrow"):"\\Updownarrow"===e?(i="\\Uparrow",a="\u2016",h="\\Downarrow"):br.has(e)?(a="\u2223",c="vert",m=333):yr.has(e)?(a="\u2225",c="doublevert",m=556):"["===e||"\\lbrack"===e?(i="\u23a1",a="\u23a2",h="\u23a3",u="Size4-Regular",c="lbrack",m=667):"]"===e||"\\rbrack"===e?(i="\u23a4",a="\u23a5",h="\u23a6",u="Size4-Regular",c="rbrack",m=667):"\\lfloor"===e||"\u230a"===e?(a=i="\u23a2",h="\u23a3",u="Size4-Regular",c="lfloor",m=667):"\\lceil"===e||"\u2308"===e?(i="\u23a1",a=h="\u23a2",u="Size4-Regular",c="lceil",m=667):"\\rfloor"===e||"\u230b"===e?(a=i="\u23a5",h="\u23a6",u="Size4-Regular",c="rfloor",m=667):"\\rceil"===e||"\u2309"===e?(i="\u23a4",a=h="\u23a5",u="Size4-Regular",c="rceil",m=667):"("===e||"\\lparen"===e?(i="\u239b",a="\u239c",h="\u239d",u="Size4-Regular",c="lparen",m=875):")"===e||"\\rparen"===e?(i="\u239e",a="\u239f",h="\u23a0",u="Size4-Regular",c="rparen",m=875):"\\{"===e||"\\lbrace"===e?(i="\u23a7",l="\u23a8",h="\u23a9",a="\u23aa",u="Size4-Regular"):"\\}"===e||"\\rbrace"===e?(i="\u23ab",l="\u23ac",h="\u23ad",a="\u23aa",u="Size4-Regular"):"\\lgroup"===e||"\u27ee"===e?(i="\u23a7",h="\u23a9",a="\u23aa",u="Size4-Regular"):"\\rgroup"===e||"\u27ef"===e?(i="\u23ab",h="\u23ad",a="\u23aa",u="Size4-Regular"):"\\lmoustache"===e||"\u23b0"===e?(i="\u23a7",h="\u23ad",a="\u23aa",u="Size4-Regular"):"\\rmoustache"!==e&&"\u23b1"!==e||(i="\u23ab",h="\u23a9",a="\u23aa",u="Size4-Regular");const p=cr(i,u,o),d=p.height+p.depth,g=cr(a,u,o),f=g.height+g.depth,b=cr(h,u,o),y=b.height+b.depth;let x=0,w=1;if(null!==l){const e=cr(l,u,o);x=e.height+e.depth,w=2}const v=d+y+x,k=v+Math.max(0,Math.ceil((t-v)/(w*f)))*w*f;let S=n.fontMetrics().axisHeight;r&&(S*=n.sizeMultiplier);const M=k/2-S,A=[];if(c.length>0){const e=k-d-y,t=Math.round(1e3*k),r=function(e,t){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+" v1759 h347 v-84\nH403z M403 1759 V0 H319 V1759 v"+t+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+" v1759 H0 v84 H347z\nM347 1759 V0 H263 V1759 v"+t+" v1759 h84z";case"vert":return"M145 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+t+" v585 h43z";case"doublevert":return"M145 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+t+" v585 h43z\nM367 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M410 15 H367 v585 v"+t+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+t+" v1715 h263 v84 H319z\nMM319 602 V0 H403 V602 v"+t+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+t+" v1799 H0 v-84 H319z\nMM319 602 V0 H403 V602 v"+t+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+" v602 h84z\nM403 1759 V0 H319 V1759 v"+t+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+" v602 h84z\nM347 1759 V0 h-84 V1759 v"+t+" v602 h84z";case"lparen":return"M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1\nc-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,\n-36,557 l0,"+(t+84)+"c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,\n949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9\nc0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,\n-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189\nl0,-"+(t+92)+"c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,\n-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z";case"rparen":return"M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,\n63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5\nc11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,"+(t+9)+"\nc-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664\nc-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11\nc0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17\nc242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558\nl0,-"+(t+144)+"c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,\n-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z";default:throw new Error("Unknown stretchy delimiter.")}}(c,Math.round(1e3*e)),o=new te(c,r),s=(m/1e3).toFixed(3)+"em",i=(t/1e3).toFixed(3)+"em",l=new ee([o],{width:s,height:i,viewBox:"0 0 "+m+" "+t}),a=Fe([],[l],n);a.height=t/1e3,a.style.width=s,a.style.height=i,A.push({type:"elem",elem:a})}else{if(A.push(dr(h,u,o)),A.push(fr),null===l){const e=k-d-y+.016;A.push(gr(a,e,n))}else{const e=(k-d-y-x)/2+.016;A.push(gr(a,e,n)),A.push(fr),A.push(dr(l,u,o)),A.push(fr),A.push(gr(a,e,n))}A.push(fr),A.push(dr(i,u,o))}const T=n.havingBaseStyle(z.TEXT),B=Ye({positionType:"bottom",positionData:M,children:A});return mr(Ve(["delimsizing","mult"],[B],T),z.TEXT,n,s)},wr=.08,vr=function(e,t,r,n,o){const s=function(e,t,r){t*=1e3;let n="";switch(e){case"sqrtMain":n=function(e,t){return"M95,"+(622+e+t)+"\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl"+e/2.075+" -"+e+"\nc5.3,-9.3,12,-14,20,-14\nH400000v"+(40+e)+"H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM"+(834+e)+" "+t+"h400000v"+(40+e)+"h-400000z"}(t,T);break;case"sqrtSize1":n=function(e,t){return"M263,"+(601+e+t)+"c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl"+e/2.084+" -"+e+"\nc4.7,-7.3,11,-11,19,-11\nH40000v"+(40+e)+"H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM"+(1001+e)+" "+t+"h400000v"+(40+e)+"h-400000z"}(t,T);break;case"sqrtSize2":n=function(e,t){return"M983 "+(10+e+t)+"\nl"+e/3.13+" -"+e+"\nc4,-6.7,10,-10,18,-10 H400000v"+(40+e)+"\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\nM"+(1001+e)+" "+t+"h400000v"+(40+e)+"h-400000z"}(t,T);break;case"sqrtSize3":n=function(e,t){return"M424,"+(2398+e+t)+"\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\nl"+e/4.223+" -"+e+"c4,-6.7,10,-10,18,-10 H400000\nv"+(40+e)+"H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\nc-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M"+(1001+e)+" "+t+"\nh400000v"+(40+e)+"h-400000z"}(t,T);break;case"sqrtSize4":n=function(e,t){return"M473,"+(2713+e+t)+"\nc339.3,-1799.3,509.3,-2700,510,-2702 l"+e/5.298+" -"+e+"\nc3.3,-7.3,9.3,-11,18,-11 H400000v"+(40+e)+"H1017.7\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\n606zM"+(1001+e)+" "+t+"h400000v"+(40+e)+"H1017.7z"}(t,T);break;case"sqrtTall":n=function(e,t,r){return"M702 "+(e+t)+"H400000"+(40+e)+"\nH742v"+(r-54-t-e)+"l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 "+t+"H400000v"+(40+e)+"H742z"}(t,T,r)}return n}(e,n,r),i=new te(e,s),l=new ee([i],{width:"400em",height:U(t),viewBox:"0 0 400000 "+r,preserveAspectRatio:"xMinYMin slice"});return Fe(["hide-tail"],[l],o)},kr=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230a","\u230b","\\lceil","\\rceil","\u2308","\u2309","\\surd"]),zr=new Set(["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27ee","\u27ef","\\lmoustache","\\rmoustache","\u23b0","\u23b1"]),Sr=new Set(["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"]),Mr=[0,1.2,1.8,2.4,3],Ar=function(e,t,r,o,s){if("<"===e||"\\lt"===e||"\u27e8"===e?e="\\langle":">"!==e&&"\\gt"!==e&&"\u27e9"!==e||(e="\\rangle"),kr.has(e)||Sr.has(e))return pr(e,t,!1,r,o,s);if(zr.has(e))return xr(e,Mr[t],!1,r,o,s);throw new n("Illegal delimiter: '"+e+"'")},Tr=[{type:"small",style:z.SCRIPTSCRIPT},{type:"small",style:z.SCRIPT},{type:"small",style:z.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],Br=[{type:"small",style:z.SCRIPTSCRIPT},{type:"small",style:z.SCRIPT},{type:"small",style:z.TEXT},{type:"stack"}],qr=[{type:"small",style:z.SCRIPTSCRIPT},{type:"small",style:z.SCRIPT},{type:"small",style:z.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],Cr=function(e){if("small"===e.type)return"Main-Regular";if("large"===e.type)return"Size"+e.size+"-Regular";if("stack"===e.type)return"Size4-Regular";throw new Error("Add support for delim type '"+e.type+"' here.")},Ir=function(e,t,r,n){for(let o=Math.min(2,3-n.style.size);ot)return r[o]}return r[r.length-1]},Hr=function(e,t,r,n,o,s){let i;"<"===e||"\\lt"===e||"\u27e8"===e?e="\\langle":">"!==e&&"\\gt"!==e&&"\u27e9"!==e||(e="\\rangle"),i=Sr.has(e)?Tr:kr.has(e)?qr:Br;const l=Ir(e,t,i,n);return"small"===l.type?function(e,t,r,n,o,s){const i=Ee(e,"Main-Regular",o,n),l=mr(i,t,n,s);return r&&ur(l,n,t),l}(e,l.style,r,n,o,s):"large"===l.type?pr(e,l.size,r,n,o,s):xr(e,t,r,n,o,s)},Rr=function(e,t,r,n,o,s){const i=n.fontMetrics().axisHeight*n.sizeMultiplier,l=5/n.fontMetrics().ptPerEm,a=Math.max(t-i,r+i),h=Math.max(a/500*901,2*a-l);return Hr(e,h,!0,n,o,s)},Er={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},Or=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230a","\u230b","\\lceil","\\rceil","\u2308","\u2309","<",">","\\langle","\u27e8","\\rangle","\u27e9","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27ee","\u27ef","\\lmoustache","\\rmoustache","\u23b0","\u23b1","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."]);function Nr(e,t){const r=Xt(e);if(r&&Or.has(r.text))return r;throw new n(r?"Invalid delimiter '"+r.text+"' after '"+t.funcName+"'":"Invalid delimiter type '"+e.type+"'",e)}function Dr(e){if(!e.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}st({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(e,t)=>{const r=Nr(t[0],e);return{type:"delimsizing",mode:e.parser.mode,size:Er[e.funcName].size,mclass:Er[e.funcName].mclass,delim:r.text}},htmlBuilder:(e,t)=>"."===e.delim?Ve([e.mclass]):Ar(e.delim,e.size,t,e.mode,[e.mclass]),mathmlBuilder:e=>{const t=[];"."!==e.delim&&t.push(Bt(e.delim,e.mode));const r=new zt("mo",t);"mopen"===e.mclass||"mclose"===e.mclass?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");const n=U(Mr[e.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r}}),st({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{const r=e.parser.gullet.macros.get("\\current@color");if(r&&"string"!=typeof r)throw new n("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:e.parser.mode,delim:Nr(t[0],e).text,color:r}}}),st({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{const r=Nr(t[0],e),n=e.parser;++n.leftrightDepth;const o=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);const s=Wt(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:o,left:r.text,right:s.delim,rightColor:s.color}},htmlBuilder:(e,t)=>{Dr(e);const r=pt(e.body,t,!0,["mopen","mclose"]);let n,o,s=0,i=0,l=!1;for(let e=0;e{Dr(e);const r=Ht(e.body,t);if("."!==e.left){const t=new zt("mo",[Bt(e.left,e.mode)]);t.setAttribute("fence","true"),r.unshift(t)}if("."!==e.right){const t=new zt("mo",[Bt(e.right,e.mode)]);t.setAttribute("fence","true"),e.rightColor&&t.setAttribute("mathcolor",e.rightColor),r.push(t)}return qt(r)}}),st({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{const r=Nr(t[0],e);if(!e.parser.leftrightDepth)throw new n("\\middle without preceding \\left",r);return{type:"middle",mode:e.parser.mode,delim:r.text}},htmlBuilder:(e,t)=>{let r;if("."===e.delim)r=yt(t,[]);else{r=Ar(e.delim,1,t,e.mode,[]);const n={delim:e.delim,options:t};r.isMiddle=n}return r},mathmlBuilder:(e,t)=>{const r="\\vert"===e.delim||"|"===e.delim?Bt("|","text"):Bt(e.delim,e.mode),n=new zt("mo",[r]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n}});const Pr=(e,t)=>{const r=We(xt(e.body,t),t),n=e.label.slice(1);let o,s=t.sizeMultiplier,i=0;const l=m(e.body);if("sout"===n)o=Ve(["stretchy","sout"]),o.height=t.fontMetrics().defaultRuleThickness/s,i=-.5*t.fontMetrics().xHeight;else if("phase"===n){const e=G({number:.6,unit:"pt"},t),n=G({number:.35,unit:"ex"},t);s/=t.havingBaseSizing().sizeMultiplier;const l=r.height+r.depth+e+n;r.style.paddingLeft=U(l/2+e);const h=Math.floor(1e3*l*s),c="M400000 "+(a=h)+" H0 L"+a/2+" 0 l65 45 L145 "+(a-80)+" H400000z",m=new ee([new te("phase",c)],{width:"400em",height:U(h/1e3),viewBox:"0 0 400000 "+h,preserveAspectRatio:"xMinYMin slice"});o=Fe(["hide-tail"],[m],t),o.style.height=U(l),i=r.depth+e+n}else{/cancel/.test(n)?l||r.classes.push("cancel-pad"):"angl"===n?r.classes.push("anglpad"):r.classes.push("boxpad");let s=0,a=0,h=0;/box/.test(n)?(h=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness),s=t.fontMetrics().fboxsep+("colorbox"===n?0:h),a=s):"angl"===n?(h=Math.max(t.fontMetrics().defaultRuleThickness,t.minRuleThickness),s=4*h,a=Math.max(0,.25-r.depth)):(s=l?.2:0,a=s),o=function(e,t,r,n,o){let s;const i=e.height+e.depth+r+n;if(/fbox|color|angl/.test(t)){if(s=Ve(["stretchy",t],[],o),"fbox"===t){const e=o.color&&o.getColor();e&&(s.style.borderColor=e)}}else{const e=[];/^[bx]cancel$/.test(t)&&e.push(new re({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(t)&&e.push(new re({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));const r=new ee(e,{width:"100%",height:U(i)});s=Fe([],[r],o)}return s.height=i,s.style.height=U(i),s}(r,n,s,a,t),/fbox|boxed|fcolorbox/.test(n)?(o.style.borderStyle="solid",o.style.borderWidth=U(h)):"angl"===n&&.049!==h&&(o.style.borderTopWidth=U(h),o.style.borderRightWidth=U(h)),i=r.depth+a,e.backgroundColor&&(o.style.backgroundColor=e.backgroundColor,e.borderColor&&(o.style.borderColor=e.borderColor))}var a;let h;if(e.backgroundColor)h=Ye({positionType:"individualShift",children:[{type:"elem",elem:o,shift:i},{type:"elem",elem:r,shift:0}]});else{const e=/cancel|phase/.test(n)?["svg-align"]:[];h=Ye({positionType:"individualShift",children:[{type:"elem",elem:r,shift:0},{type:"elem",elem:o,shift:i,wrapperClasses:e}]})}return/cancel/.test(n)&&(h.height=r.height,h.depth=r.depth),/cancel/.test(n)&&!l?Ve(["mord","cancel-lap"],[h],t):Ve(["mord"],[h],t)},Lr=(e,t)=>{let r=0;const n=new zt(e.label.includes("colorbox")?"mpadded":"menclose",[Et(e.body,t)]);switch(e.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=t.fontMetrics().fboxsep*t.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),"\\fcolorbox"===e.label){const r=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness);n.setAttribute("style","border: "+r+"em solid "+String(e.borderColor))}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike")}return e.backgroundColor&&n.setAttribute("mathbackground",e.backgroundColor),n};st({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(e,t,r){let{parser:n,funcName:o}=e;const s=Wt(t[0],"color-token").color,i=t[1];return{type:"enclose",mode:n.mode,label:o,backgroundColor:s,body:i}},htmlBuilder:Pr,mathmlBuilder:Lr}),st({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(e,t,r){let{parser:n,funcName:o}=e;const s=Wt(t[0],"color-token").color,i=Wt(t[1],"color-token").color,l=t[2];return{type:"enclose",mode:n.mode,label:o,backgroundColor:i,borderColor:s,body:l}},htmlBuilder:Pr,mathmlBuilder:Lr}),st({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(e,t){let{parser:r}=e;return{type:"enclose",mode:r.mode,label:"\\fbox",body:t[0]}}}),st({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(e,t){let{parser:r,funcName:n}=e;const o=t[0];return{type:"enclose",mode:r.mode,label:n,body:o}},htmlBuilder:Pr,mathmlBuilder:Lr}),st({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(e,t){let{parser:r}=e;return{type:"enclose",mode:r.mode,label:"\\angl",body:t[0]}}});const Vr={};function Fr(e){let{type:t,names:r,props:n,handler:o,htmlBuilder:s,mathmlBuilder:i}=e;const l={type:t,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:o};for(let e=0;e{if(!e.parser.settings.displayMode)throw new n("{"+e.envName+"} can be used only in display mode.")},jr=new Set(["gather","gather*"]);function $r(e){if(!e.includes("ed"))return!e.includes("*")}function Zr(e,t,r){let{hskipBeforeAndAfter:o,addJot:s,cols:i,arraystretch:l,colSeparationType:a,autoTag:h,singleRow:c,emptySingleRow:m,maxNumCols:u,leqno:p}=t;if(e.gullet.beginGroup(),c||e.gullet.macros.set("\\cr","\\\\\\relax"),!l){const t=e.gullet.expandMacroAsText("\\arraystretch");if(null==t)l=1;else if(l=parseFloat(t),!l||l<0)throw new n("Invalid \\arraystretch: "+t)}e.gullet.beginGroup();let d=[];const g=[d],f=[],b=[],y=null!=h?[]:void 0;function x(){h&&e.gullet.macros.set("\\@eqnsw","1",!0)}function w(){y&&(e.gullet.macros.get("\\df@tag")?(y.push(e.subparse([new Yr("\\df@tag")])),e.gullet.macros.set("\\df@tag",void 0,!0)):y.push(Boolean(h)&&"1"===e.gullet.macros.get("\\@eqnsw")))}for(x(),b.push(Xr(e));;){let t=e.parseExpression(!1,c?"\\end":"\\\\");e.gullet.endGroup(),e.gullet.beginGroup(),t={type:"ordgroup",mode:e.mode,body:t},r&&(t={type:"styling",mode:e.mode,style:r,body:[t]}),d.push(t);const o=e.fetch().text;if("&"===o){if(u&&d.length===u){if(c||a)throw new n("Too many tab characters: &",e.nextToken);e.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}e.consume()}else{if("\\end"===o){w(),1===d.length&&"styling"===t.type&&0===t.body[0].body.length&&(g.length>1||!m)&&g.pop(),b.length0&&(y+=.25),h.push({pos:y,isDashed:e[t]})}for(x(i[0]),r=0;r0&&(u+=b,he))for(r=0;r=l)continue;var T;if(o>0||e.hskipBeforeAndAfter)i=null!=(T=h.pregap)?T:u,0!==i&&(S=Ve(["arraycolsep"],[]),S.style.width=U(i),k.push(S));let p=[];for(r=0;r0){const e=Ge("hline",t,c),r=Ge("hdashline",t,c),n=[{type:"elem",elem:a,shift:0}];for(;h.length>0;){const t=h.pop(),o=t.pos-w;t.isDashed?n.push({type:"elem",elem:r,shift:o}):n.push({type:"elem",elem:e,shift:o})}a=Ye({positionType:"individualShift",children:n})}if(0===A.length)return Ve(["mord"],[a],t);{let e=Ye({positionType:"individualShift",children:A});return e=Ve(["tag"],[e],t),Ue([a,e])}},Qr={c:"center ",l:"left ",r:"right "},en=function(e,t){const r=[],n=new zt("mtd",[],["mtr-glue"]),o=new zt("mtd",[],["mml-eqn-num"]);for(let s=0;s0){const t=e.cols;let r="",n=!1,o=0,i=t.length;"separator"===t[0].type&&(l+="top ",o=1),"separator"===t[t.length-1].type&&(l+="bottom ",i-=1);for(let e=o;e0?"left ":"",l+=c[c.length-1].length>0?"right ":"";for(let e=1;e0&&c&&(n=1),r[e]={type:"align",align:t,pregap:n,postgap:0}}return i.colSeparationType=c?"align":"alignat",i};Fr({type:"array",names:["array","darray"],props:{numArgs:1},handler(e,t){const r=(Xt(t[0])?[t[0]]:Wt(t[0],"ordgroup").body).map(function(e){const t=Yt(e).text;if("lcr".includes(t))return{type:"align",align:t};if("|"===t)return{type:"separator",separator:"|"};if(":"===t)return{type:"separator",separator:":"};throw new n("Unknown column alignment: "+t,e)}),o={cols:r,hskipBeforeAndAfter:!0,maxNumCols:r.length};return Zr(e.parser,o,Kr(e.envName))},htmlBuilder:Jr,mathmlBuilder:en}),Fr({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(e){const t={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[e.envName.replace("*","")];let r="c";const o={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if("*"===e.envName.charAt(e.envName.length-1)){const t=e.parser;if(t.consumeSpaces(),"["===t.fetch().text){if(t.consume(),t.consumeSpaces(),r=t.fetch().text,!"lcr".includes(r))throw new n("Expected l or c or r",t.nextToken);t.consume(),t.consumeSpaces(),t.expect("]"),t.consume(),o.cols=[{type:"align",align:r}]}}const s=Zr(e.parser,o,Kr(e.envName)),i=Math.max(0,...s.body.map(e=>e.length));return s.cols=new Array(i).fill({type:"align",align:r}),t?{type:"leftright",mode:e.mode,body:[s],left:t[0],right:t[1],rightColor:void 0}:s},htmlBuilder:Jr,mathmlBuilder:en}),Fr({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(e){const t=Zr(e.parser,{arraystretch:.5},"script");return t.colSeparationType="small",t},htmlBuilder:Jr,mathmlBuilder:en}),Fr({type:"array",names:["subarray"],props:{numArgs:1},handler(e,t){const r=(Xt(t[0])?[t[0]]:Wt(t[0],"ordgroup").body).map(function(e){const t=Yt(e).text;if("lc".includes(t))return{type:"align",align:t};throw new n("Unknown column alignment: "+t,e)});if(r.length>1)throw new n("{subarray} can contain only one column");let o={cols:r,hskipBeforeAndAfter:!1,arraystretch:.5};if(o=Zr(e.parser,o,"script"),o.body.length>0&&o.body[0].length>1)throw new n("{subarray} can contain only one column");return o},htmlBuilder:Jr,mathmlBuilder:en}),Fr({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(e){const t=Zr(e.parser,{arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},Kr(e.envName));return{type:"leftright",mode:e.mode,body:[t],left:e.envName.includes("r")?".":"\\{",right:e.envName.includes("r")?"\\}":".",rightColor:void 0}},htmlBuilder:Jr,mathmlBuilder:en}),Fr({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:tn,htmlBuilder:Jr,mathmlBuilder:en}),Fr({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(e){jr.has(e.envName)&&_r(e);const t={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:$r(e.envName),emptySingleRow:!0,leqno:e.parser.settings.leqno};return Zr(e.parser,t,"display")},htmlBuilder:Jr,mathmlBuilder:en}),Fr({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:tn,htmlBuilder:Jr,mathmlBuilder:en}),Fr({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(e){_r(e);const t={autoTag:$r(e.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:e.parser.settings.leqno};return Zr(e.parser,t,"display")},htmlBuilder:Jr,mathmlBuilder:en}),Fr({type:"array",names:["CD"],props:{numArgs:0},handler(e){return _r(e),function(e){const t=[];for(e.gullet.beginGroup(),e.gullet.macros.set("\\cr","\\\\\\relax"),e.gullet.beginGroup();;){t.push(e.parseExpression(!1,"\\\\")),e.gullet.endGroup(),e.gullet.beginGroup();const r=e.fetch().text;if("&"!==r&&"\\\\"!==r){if("\\end"===r){0===t[t.length-1].length&&t.pop();break}throw new n("Expected \\\\ or \\cr or \\end",e.nextToken)}e.consume()}let r=[];const o=[r];for(let s=0;sAV".includes(o))throw new n('Expected one of "<>AV=|." after @',i[t]);for(let e=0;e<2;e++){let r=!0;for(let l=t+1;l{const r=e.font,n=t.withFont(r);return xt(e.body,n)},on=(e,t)=>{const r=e.font,n=t.withFont(r);return Et(e.body,n)},sn={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};st({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=lt(t[0]);let s=n;return s in sn&&(s=sn[s]),{type:"font",mode:r.mode,font:s.slice(1),body:o}},htmlBuilder:nn,mathmlBuilder:on}),st({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(e,t)=>{let{parser:r}=e;const n=t[0];return{type:"mclass",mode:r.mode,mclass:Qt(n),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:n}],isCharacterBox:m(n)}}}),st({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(e,t)=>{let{parser:r,funcName:n,breakOnTokenText:o}=e;const{mode:s}=r,i=r.parseExpression(!0,o);return{type:"font",mode:s,font:"math"+n.slice(1),body:{type:"ordgroup",mode:r.mode,body:i}}},htmlBuilder:nn,mathmlBuilder:on});const ln=(e,t)=>{if(!t)return e;return{type:"styling",mode:e.mode,style:t,body:[e]}};st({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=t[0],s=t[1];let i,l=null,a=null;switch(n){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":i=!0;break;case"\\\\atopfrac":i=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":i=!1,l="(",a=")";break;case"\\\\bracefrac":i=!1,l="\\{",a="\\}";break;case"\\\\brackfrac":i=!1,l="[",a="]";break;default:throw new Error("Unrecognized genfrac command")}const h="\\cfrac"===n;let c=null;return h||n.startsWith("\\d")?c="display":n.startsWith("\\t")&&(c="text"),ln({type:"genfrac",mode:r.mode,numer:o,denom:s,continued:h,hasBarLine:i,leftDelim:l,rightDelim:a,barSize:null},c)},htmlBuilder:(e,t)=>{const r=t.style,n=r.fracNum(),o=r.fracDen();let s;s=t.havingStyle(n);const i=xt(e.numer,s,t);if(e.continued){const e=8.5/t.fontMetrics().ptPerEm,r=3.5/t.fontMetrics().ptPerEm;i.height=i.height0?3*c:7*c,p=t.fontMetrics().denom1):(h>0?(m=t.fontMetrics().num2,u=c):(m=t.fontMetrics().num3,u=3*c),p=t.fontMetrics().denom2),a){const e=t.fontMetrics().axisHeight;m-i.depth-(e+.5*h){const r=new zt("mfrac",[Et(e.numer,t),Et(e.denom,t)]);if(e.hasBarLine){if(e.barSize){const n=G(e.barSize,t);r.setAttribute("linethickness",U(n))}}else r.setAttribute("linethickness","0px");if(null!=e.leftDelim||null!=e.rightDelim){const t=[];if(null!=e.leftDelim){const r=new zt("mo",[new St(e.leftDelim.replace("\\",""))]);r.setAttribute("fence","true"),t.push(r)}if(t.push(r),null!=e.rightDelim){const r=new zt("mo",[new St(e.rightDelim.replace("\\",""))]);r.setAttribute("fence","true"),t.push(r)}return qt(t)}return r}}),st({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(e){let t,{parser:r,funcName:n,token:o}=e;switch(n){case"\\over":t="\\frac";break;case"\\choose":t="\\binom";break;case"\\atop":t="\\\\atopfrac";break;case"\\brace":t="\\\\bracefrac";break;case"\\brack":t="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:r.mode,replaceWith:t,token:o}}});const an=["display","text","script","scriptscript"],hn=function(e){let t=null;return e.length>0&&(t=e,t="."===t?null:t),t};st({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(e,t){let{parser:r}=e;const n=t[4],o=t[5],s=lt(t[0]),i="atom"===s.type&&"open"===s.family?hn(s.text):null,l=lt(t[1]),a="atom"===l.type&&"close"===l.family?hn(l.text):null,h=Wt(t[2],"size");let c,m=null;h.isBlank?c=!0:(m=h.value,c=m.number>0);let u=null,p=t[3];if("ordgroup"===p.type){if(p.body.length>0){const e=Wt(p.body[0],"textord");u=an[Number(e.text)]}}else p=Wt(p,"textord"),u=an[Number(p.text)];return ln({type:"genfrac",mode:r.mode,numer:n,denom:o,continued:!1,hasBarLine:c,barSize:m,leftDelim:i,rightDelim:a},u)}}),st({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(e,t){let{parser:r,funcName:n,token:o}=e;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:Wt(t[0],"size").value,token:o}}}),st({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=t[0],s=Wt(t[1],"infix").size;if(!s)throw new Error("\\\\abovefrac expected size, but got "+String(s));const i=t[2],l=s.number>0;return{type:"genfrac",mode:r.mode,numer:o,denom:i,continued:!1,hasBarLine:l,barSize:s,leftDelim:null,rightDelim:null}}});const cn=(e,t)=>{const r=t.style;let n,o;"supsub"===e.type?(n=e.sup?xt(e.sup,t.havingStyle(r.sup()),t):xt(e.sub,t.havingStyle(r.sub()),t),o=Wt(e.base,"horizBrace")):o=Wt(e,"horizBrace");const s=xt(o.base,t.havingBaseStyle(z.DISPLAY)),i=Ut(o,t);let l;if(o.isOver?(l=Ye({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:i}]}),l.children[0].children[0].children[1].classes.push("svg-align")):(l=Ye({positionType:"bottom",positionData:s.depth+.1+i.height,children:[{type:"elem",elem:i},{type:"kern",size:.1},{type:"elem",elem:s}]}),l.children[0].children[0].children[0].classes.push("svg-align")),n){const e=Ve(["mord",o.isOver?"mover":"munder"],[l],t);l=o.isOver?Ye({positionType:"firstBaseline",children:[{type:"elem",elem:e},{type:"kern",size:.2},{type:"elem",elem:n}]}):Ye({positionType:"bottom",positionData:e.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:e}]})}return Ve(["mord",o.isOver?"mover":"munder"],[l],t)};st({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(e,t){let{parser:r,funcName:n}=e;return{type:"horizBrace",mode:r.mode,label:n,isOver:/^\\over/.test(n),base:t[0]}},htmlBuilder:cn,mathmlBuilder:(e,t)=>{const r=Vt(e.label);return new zt(e.isOver?"mover":"munder",[Et(e.base,t),r])}}),st({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;const n=t[1],o=Wt(t[0],"url").url;return r.settings.isTrusted({command:"\\href",url:o})?{type:"href",mode:r.mode,href:o,body:at(n)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:(e,t)=>{const r=pt(e.body,t,!1);return function(e,t,r,n){const o=new Z(e,t,r,n);return Le(o),o}(e.href,[],r,t)},mathmlBuilder:(e,t)=>{let r=Rt(e.body,t);return r instanceof zt||(r=new zt("mrow",[r])),r.setAttribute("href",e.href),r}}),st({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;const n=Wt(t[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");const o=[];for(let e=0;e{let{parser:r,funcName:o,token:s}=e;const i=Wt(t[0],"raw").string,l=t[1];let a;r.settings.strict&&r.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");const h={};switch(o){case"\\htmlClass":h.class=i,a={command:"\\htmlClass",class:i};break;case"\\htmlId":h.id=i,a={command:"\\htmlId",id:i};break;case"\\htmlStyle":h.style=i,a={command:"\\htmlStyle",style:i};break;case"\\htmlData":{const e=i.split(",");for(let t=0;t{const r=pt(e.body,t,!1),n=["enclosing"];e.attributes.class&&n.push(...e.attributes.class.trim().split(/\s+/));const o=Ve(n,r,t);for(const t in e.attributes)"class"!==t&&e.attributes.hasOwnProperty(t)&&o.setAttribute(t,e.attributes[t]);return o},mathmlBuilder:(e,t)=>Rt(e.body,t)}),st({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInArgument:!0,allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;return{type:"htmlmathml",mode:r.mode,html:at(t[0]),mathml:at(t[1])}},htmlBuilder:(e,t)=>{const r=pt(e.html,t,!1);return Ue(r)},mathmlBuilder:(e,t)=>Rt(e.mathml,t)});const mn=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};{const t=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!t)throw new n("Invalid size: '"+e+"' in \\includegraphics");const r={number:+(t[1]+t[2]),unit:t[3]};if(!F(r))throw new n("Invalid unit: '"+r.unit+"' in \\includegraphics.");return r}};st({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(e,t,r)=>{let{parser:o}=e,s={number:0,unit:"em"},i={number:.9,unit:"em"},l={number:0,unit:"em"},a="";if(r[0]){const e=Wt(r[0],"raw").string.split(",");for(let t=0;t{const r=G(e.height,t);let n=0;e.totalheight.number>0&&(n=G(e.totalheight,t)-r);let o=0;e.width.number>0&&(o=G(e.width,t));const s={height:U(r+n)};o>0&&(s.width=U(o)),n>0&&(s.verticalAlign=U(-n));const i=new K(e.src,e.alt,s);return i.height=r,i.depth=n,i},mathmlBuilder:(e,t)=>{const r=new zt("mglyph",[]);r.setAttribute("alt",e.alt);const n=G(e.height,t);let o=0;if(e.totalheight.number>0&&(o=G(e.totalheight,t)-n,r.setAttribute("valign",U(-o))),r.setAttribute("height",U(n+o)),e.width.number>0){const n=G(e.width,t);r.setAttribute("width",U(n))}return r.setAttribute("src",e.src),r}}),st({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(e,t){let{parser:r,funcName:n}=e;const o=Wt(t[0],"size");if(r.settings.strict){const e="m"===n[1],t="mu"===o.value.unit;e?(t||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, not "+o.value.unit+" units"),"math"!==r.mode&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):t&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:o.value}},htmlBuilder(e,t){return Xe(e.dimension,t)},mathmlBuilder(e,t){const r=G(e.dimension,t);return new Mt(r)}}),st({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=t[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:o}},htmlBuilder:(e,t)=>{let r;"clap"===e.alignment?(r=Ve([],[xt(e.body,t)]),r=Ve(["inner"],[r],t)):r=Ve(["inner"],[xt(e.body,t)]);const n=Ve(["fix"],[]);let o=Ve([e.alignment],[r,n],t);const s=Ve(["strut"]);return s.style.height=U(o.height+o.depth),o.depth&&(s.style.verticalAlign=U(-o.depth)),o.children.unshift(s),o=Ve(["thinbox"],[o],t),Ve(["mord","vbox"],[o],t)},mathmlBuilder:(e,t)=>{const r=new zt("mpadded",[Et(e.body,t)]);if("rlap"!==e.alignment){const t="llap"===e.alignment?"-1":"-0.5";r.setAttribute("lspace",t+"width")}return r.setAttribute("width","0px"),r}}),st({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(e,t){let{funcName:r,parser:n}=e;const o=n.mode;n.switchMode("math");const s="\\("===r?"\\)":"$",i=n.parseExpression(!1,s);return n.expect(s),n.switchMode(o),{type:"styling",mode:n.mode,style:"text",body:i}}}),st({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(e,t){throw new n("Mismatched "+e.funcName)}});const un=(e,t)=>{switch(t.style.size){case z.DISPLAY.size:return e.display;case z.TEXT.size:return e.text;case z.SCRIPT.size:return e.script;case z.SCRIPTSCRIPT.size:return e.scriptscript;default:return e.text}};st({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(e,t)=>{let{parser:r}=e;return{type:"mathchoice",mode:r.mode,display:at(t[0]),text:at(t[1]),script:at(t[2]),scriptscript:at(t[3])}},htmlBuilder:(e,t)=>{const r=un(e,t),n=pt(r,t,!1);return Ue(n)},mathmlBuilder:(e,t)=>{const r=un(e,t);return Rt(r,t)}});const pn=(e,t,r,n,o,s,i)=>{e=Ve([],[e]);const l=r&&m(r);let a,h,c;if(t){const e=xt(t,n.havingStyle(o.sup()),n);h={elem:e,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-e.depth)}}if(r){const e=xt(r,n.havingStyle(o.sub()),n);a={elem:e,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-e.height)}}if(h&&a){const t=n.fontMetrics().bigOpSpacing5+a.elem.height+a.elem.depth+a.kern+e.depth+i;c=Ye({positionType:"bottom",positionData:t,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:a.elem,marginLeft:U(-s)},{type:"kern",size:a.kern},{type:"elem",elem:e},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:U(s)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}else if(a){const t=e.height-i;c=Ye({positionType:"top",positionData:t,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:a.elem,marginLeft:U(-s)},{type:"kern",size:a.kern},{type:"elem",elem:e}]})}else{if(!h)return e;{const t=e.depth+i;c=Ye({positionType:"bottom",positionData:t,children:[{type:"elem",elem:e},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:U(s)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}}const u=[c];if(a&&0!==s&&!l){const e=Ve(["mspace"],[],n);e.style.marginRight=U(s),u.unshift(e)}return Ve(["mop","op-limits"],u,n)},dn=new Set(["\\smallint"]),gn=(e,t)=>{let r,n,o,s=!1;"supsub"===e.type?(r=e.sup,n=e.sub,o=Wt(e.base,"op"),s=!0):o=Wt(e,"op");const i=t.style;let l,a=!1;if(i.size===z.DISPLAY.size&&o.symbol&&!dn.has(o.name)&&(a=!0),o.symbol){const e=a?"Size2-Regular":"Size1-Regular";let r="";if("\\oiint"!==o.name&&"\\oiiint"!==o.name||(r=o.name.slice(1),o.name="oiint"===r?"\\iint":"\\iiint"),l=Ee(o.name,e,"math",t,["mop","op-symbol",a?"large-op":"small-op"]),r.length>0){const e=l.italic,n=Ze(r+"Size"+(a?"2":"1"),t);l=Ye({positionType:"individualShift",children:[{type:"elem",elem:l,shift:0},{type:"elem",elem:n,shift:a?.08:0}]}),o.name="\\"+r,l.classes.unshift("mop"),l.italic=e}}else if(o.body){const e=pt(o.body,t,!0);1===e.length&&e[0]instanceof Q?(l=e[0],l.classes[0]="mop"):l=Ve(["mop"],e,t)}else{const e=[];for(let r=1;r{let r;if(e.symbol)r=new zt("mo",[Bt(e.name,e.mode)]),dn.has(e.name)&&r.setAttribute("largeop","false");else if(e.body)r=new zt("mo",Ht(e.body,t));else{r=new zt("mi",[new St(e.name.slice(1))]);const t=new zt("mo",[Bt("\u2061","text")]);r=e.parentIsSupSub?new zt("mrow",[r,t]):kt([r,t])}return r},bn={"\u220f":"\\prod","\u2210":"\\coprod","\u2211":"\\sum","\u22c0":"\\bigwedge","\u22c1":"\\bigvee","\u22c2":"\\bigcap","\u22c3":"\\bigcup","\u2a00":"\\bigodot","\u2a01":"\\bigoplus","\u2a02":"\\bigotimes","\u2a04":"\\biguplus","\u2a06":"\\bigsqcup"};st({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","\u220f","\u2210","\u2211","\u22c0","\u22c1","\u22c2","\u22c3","\u2a00","\u2a01","\u2a02","\u2a04","\u2a06"],props:{numArgs:0},handler:(e,t)=>{let{parser:r,funcName:n}=e,o=n;return 1===o.length&&(o=bn[o]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:o}},htmlBuilder:gn,mathmlBuilder:fn}),st({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{let{parser:r}=e;const n=t[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:at(n)}},htmlBuilder:gn,mathmlBuilder:fn});const yn={"\u222b":"\\int","\u222c":"\\iint","\u222d":"\\iiint","\u222e":"\\oint","\u222f":"\\oiint","\u2230":"\\oiiint"};st({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(e){let{parser:t,funcName:r}=e;return{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:gn,mathmlBuilder:fn}),st({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(e){let{parser:t,funcName:r}=e;return{type:"op",mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:gn,mathmlBuilder:fn}),st({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","\u222b","\u222c","\u222d","\u222e","\u222f","\u2230"],props:{numArgs:0,allowedInArgument:!0},handler(e){let{parser:t,funcName:r}=e,n=r;return 1===n.length&&(n=yn[n]),{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:gn,mathmlBuilder:fn});const xn=(e,t)=>{let r,n,o,s,i=!1;if("supsub"===e.type?(r=e.sup,n=e.sub,o=Wt(e.base,"operatorname"),i=!0):o=Wt(e,"operatorname"),o.body.length>0){const e=o.body.map(e=>{const t=e.text;return"string"==typeof t?{type:"textord",mode:e.mode,text:t}:e}),r=pt(e,t.withFont("mathrm"),!0);for(let e=0;e{let{parser:r,funcName:n}=e;const o=t[0];return{type:"operatorname",mode:r.mode,body:at(o),alwaysHandleSupSub:"\\operatornamewithlimits"===n,limits:!1,parentIsSupSub:!1}},htmlBuilder:xn,mathmlBuilder:(e,t)=>{let r=Ht(e.body,t.withFont("mathrm")),n=!0;for(let e=0;ee.toText()).join("");r=[new St(e)]}const o=new zt("mi",r);o.setAttribute("mathvariant","normal");const s=new zt("mo",[Bt("\u2061","text")]);return e.parentIsSupSub?new zt("mrow",[o,s]):kt([o,s])}}),Ur("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@"),it({type:"ordgroup",htmlBuilder(e,t){return e.semisimple?Ue(pt(e.body,t,!1)):Ve(["mord"],pt(e.body,t,!0),t)},mathmlBuilder(e,t){return Rt(e.body,t,!0)}}),st({type:"overline",names:["\\overline"],props:{numArgs:1},handler(e,t){let{parser:r}=e;const n=t[0];return{type:"overline",mode:r.mode,body:n}},htmlBuilder(e,t){const r=xt(e.body,t.havingCrampedStyle()),n=Ge("overline-line",t),o=t.fontMetrics().defaultRuleThickness,s=Ye({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*o},{type:"elem",elem:n},{type:"kern",size:o}]});return Ve(["mord","overline"],[s],t)},mathmlBuilder(e,t){const r=new zt("mo",[new St("\u203e")]);r.setAttribute("stretchy","true");const n=new zt("mover",[Et(e.body,t),r]);return n.setAttribute("accent","true"),n}}),st({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;const n=t[0];return{type:"phantom",mode:r.mode,body:at(n)}},htmlBuilder:(e,t)=>{const r=pt(e.body,t.withPhantom(),!1);return Ue(r)},mathmlBuilder:(e,t)=>{const r=Ht(e.body,t);return new zt("mphantom",r)}}),st({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;const n=t[0];return{type:"hphantom",mode:r.mode,body:n}},htmlBuilder:(e,t)=>{let r=Ve([],[xt(e.body,t.withPhantom())]);if(r.height=0,r.depth=0,r.children)for(let e=0;e{const r=Ht(at(e.body),t),n=new zt("mphantom",r),o=new zt("mpadded",[n]);return o.setAttribute("height","0px"),o.setAttribute("depth","0px"),o}}),st({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;const n=t[0];return{type:"vphantom",mode:r.mode,body:n}},htmlBuilder:(e,t)=>{const r=Ve(["inner"],[xt(e.body,t.withPhantom())]),n=Ve(["fix"],[]);return Ve(["mord","rlap"],[r,n],t)},mathmlBuilder:(e,t)=>{const r=Ht(at(e.body),t),n=new zt("mphantom",r),o=new zt("mpadded",[n]);return o.setAttribute("width","0px"),o}}),st({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(e,t){let{parser:r}=e;const n=Wt(t[0],"size").value,o=t[1];return{type:"raisebox",mode:r.mode,dy:n,body:o}},htmlBuilder(e,t){const r=xt(e.body,t),n=G(e.dy,t);return Ye({positionType:"shift",positionData:-n,children:[{type:"elem",elem:r}]})},mathmlBuilder(e,t){const r=new zt("mpadded",[Et(e.body,t)]),n=e.dy.number+e.dy.unit;return r.setAttribute("voffset",n),r}}),st({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(e){let{parser:t}=e;return{type:"internal",mode:t.mode}}}),st({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(e,t,r){let{parser:n}=e;const o=r[0],s=Wt(t[0],"size"),i=Wt(t[1],"size");return{type:"rule",mode:n.mode,shift:o&&Wt(o,"size").value,width:s.value,height:i.value}},htmlBuilder(e,t){const r=Ve(["mord","rule"],[],t),n=G(e.width,t),o=G(e.height,t),s=e.shift?G(e.shift,t):0;return r.style.borderRightWidth=U(n),r.style.borderTopWidth=U(o),r.style.bottom=U(s),r.width=n,r.height=o+s,r.depth=-s,r.maxFontSize=1.125*o*t.sizeMultiplier,r},mathmlBuilder(e,t){const r=G(e.width,t),n=G(e.height,t),o=e.shift?G(e.shift,t):0,s=t.color&&t.getColor()||"black",i=new zt("mspace");i.setAttribute("mathbackground",s),i.setAttribute("width",U(r)),i.setAttribute("height",U(n));const l=new zt("mpadded",[i]);return o>=0?l.setAttribute("height",U(o)):(l.setAttribute("height",U(o)),l.setAttribute("depth",U(-o))),l.setAttribute("voffset",U(o)),l}});const vn=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"];st({type:"sizing",names:vn,props:{numArgs:0,allowedInText:!0},handler:(e,t)=>{let{breakOnTokenText:r,funcName:n,parser:o}=e;const s=o.parseExpression(!1,r);return{type:"sizing",mode:o.mode,size:vn.indexOf(n)+1,body:s}},htmlBuilder:(e,t)=>{const r=t.havingSize(e.size);return wn(e.body,r,t)},mathmlBuilder:(e,t)=>{const r=t.havingSize(e.size),n=Ht(e.body,r),o=new zt("mstyle",n);return o.setAttribute("mathsize",U(r.sizeMultiplier)),o}}),st({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(e,t,r)=>{let{parser:n}=e,o=!1,s=!1;const i=r[0]&&Wt(r[0],"ordgroup");if(i){let e="";for(let t=0;t{const r=Ve([],[xt(e.body,t)]);if(!e.smashHeight&&!e.smashDepth)return r;if(e.smashHeight&&(r.height=0,r.children))for(let e=0;e{const r=new zt("mpadded",[Et(e.body,t)]);return e.smashHeight&&r.setAttribute("height","0px"),e.smashDepth&&r.setAttribute("depth","0px"),r}}),st({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(e,t,r){let{parser:n}=e;const o=r[0],s=t[0];return{type:"sqrt",mode:n.mode,body:s,index:o}},htmlBuilder(e,t){let r=xt(e.body,t.havingCrampedStyle());0===r.height&&(r.height=t.fontMetrics().xHeight),r=We(r,t);const n=t.fontMetrics().defaultRuleThickness;let o=n;t.style.idr.height+r.depth+s&&(s=(s+c-r.height-r.depth)/2);const m=l.height-r.height-s-a;r.style.paddingLeft=U(h);const u=Ye({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+m)},{type:"elem",elem:l},{type:"kern",size:a}]});if(e.index){const r=t.havingStyle(z.SCRIPTSCRIPT),n=xt(e.index,r,t),o=.6*(u.height-u.depth),s=Ye({positionType:"shift",positionData:-o,children:[{type:"elem",elem:n}]}),i=Ve(["root"],[s]);return Ve(["mord","sqrt"],[i,u],t)}return Ve(["mord","sqrt"],[u],t)},mathmlBuilder(e,t){const{body:r,index:n}=e;return n?new zt("mroot",[Et(r,t),Et(n,t)]):new zt("msqrt",[Et(r,t)])}});const kn={display:z.DISPLAY,text:z.TEXT,script:z.SCRIPT,scriptscript:z.SCRIPTSCRIPT};st({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e,t){let{breakOnTokenText:r,funcName:n,parser:o}=e;const s=o.parseExpression(!0,r),i=n.slice(1,n.length-5);return{type:"styling",mode:o.mode,style:i,body:s}},htmlBuilder(e,t){const r=kn[e.style],n=t.havingStyle(r).withFont("");return wn(e.body,n,t)},mathmlBuilder(e,t){const r=kn[e.style],n=t.havingStyle(r),o=Ht(e.body,n),s=new zt("mstyle",o),i={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]}[e.style];return s.setAttribute("scriptlevel",i[0]),s.setAttribute("displaystyle",i[1]),s}});it({type:"supsub",htmlBuilder(e,t){const r=function(e,t){const r=e.base;if(r)return"op"===r.type?r.limits&&(t.style.size===z.DISPLAY.size||r.alwaysHandleSupSub)?gn:null:"operatorname"===r.type?r.alwaysHandleSupSub&&(t.style.size===z.DISPLAY.size||r.limits)?xn:null:"accent"===r.type?m(r.base)?_t:null:"horizBrace"===r.type&&!e.sub===r.isOver?cn:null;return null}(e,t);if(r)return r(e,t);const{base:n,sup:o,sub:s}=e,i=xt(n,t);let l,a;const h=t.fontMetrics();let c=0,u=0;const p=n&&m(n);if(o){const e=t.havingStyle(t.style.sup());l=xt(o,e,t),p||(c=i.height-e.fontMetrics().supDrop*e.sizeMultiplier/t.sizeMultiplier)}if(s){const e=t.havingStyle(t.style.sub());a=xt(s,e,t),p||(u=i.depth+e.fontMetrics().subDrop*e.sizeMultiplier/t.sizeMultiplier)}let d;d=t.style===z.DISPLAY?h.sup1:t.style.cramped?h.sup3:h.sup2;const g=t.sizeMultiplier,f=U(.5/h.ptPerEm/g);let b,y=null;if(a){const t=e.base&&"op"===e.base.type&&e.base.name&&("\\oiint"===e.base.name||"\\oiiint"===e.base.name);(i instanceof Q||t)&&(y=U(-i.italic))}if(l&&a){c=Math.max(c,d,l.depth+.25*h.xHeight),u=Math.max(u,h.sub2);const e=4*h.defaultRuleThickness;if(c-l.depth-(a.height-u)0&&(c+=t,u-=t)}b=Ye({positionType:"individualShift",children:[{type:"elem",elem:a,shift:u,marginRight:f,marginLeft:y},{type:"elem",elem:l,shift:-c,marginRight:f}]})}else if(a){u=Math.max(u,h.sub1,a.height-.8*h.xHeight);b=Ye({positionType:"shift",positionData:u,children:[{type:"elem",elem:a,marginLeft:y,marginRight:f}]})}else{if(!l)throw new Error("supsub must have either sup or sub.");c=Math.max(c,d,l.depth+.25*h.xHeight),b=Ye({positionType:"shift",positionData:-c,children:[{type:"elem",elem:l,marginRight:f}]})}const x=bt(i,"right")||"mord";return Ve([x],[i,Ve(["msupsub"],[b])],t)},mathmlBuilder(e,t){let r,n,o=!1;e.base&&"horizBrace"===e.base.type&&(n=!!e.sup,n===e.base.isOver&&(o=!0,r=e.base.isOver)),!e.base||"op"!==e.base.type&&"operatorname"!==e.base.type||(e.base.parentIsSupSub=!0);const s=[Et(e.base,t)];let i;if(e.sub&&s.push(Et(e.sub,t)),e.sup&&s.push(Et(e.sup,t)),o)i=r?"mover":"munder";else if(e.sub)if(e.sup){const r=e.base;i=r&&"op"===r.type&&r.limits&&t.style===z.DISPLAY||r&&"operatorname"===r.type&&r.alwaysHandleSupSub&&(t.style===z.DISPLAY||r.limits)?"munderover":"msubsup"}else{const r=e.base;i=r&&"op"===r.type&&r.limits&&(t.style===z.DISPLAY||r.alwaysHandleSupSub)||r&&"operatorname"===r.type&&r.alwaysHandleSupSub&&(r.limits||t.style===z.DISPLAY)?"munder":"msub"}else{const r=e.base;i=r&&"op"===r.type&&r.limits&&(t.style===z.DISPLAY||r.alwaysHandleSupSub)||r&&"operatorname"===r.type&&r.alwaysHandleSupSub&&(r.limits||t.style===z.DISPLAY)?"mover":"msup"}return new zt(i,s)}}),it({type:"atom",htmlBuilder(e,t){return Oe(e.text,e.mode,t,["m"+e.family])},mathmlBuilder(e,t){const r=new zt("mo",[Bt(e.text,e.mode)]);if("bin"===e.family){const n=Ct(e,t);"bold-italic"===n&&r.setAttribute("mathvariant",n)}else"punct"===e.family?r.setAttribute("separator","true"):"open"!==e.family&&"close"!==e.family||r.setAttribute("stretchy","false");return r}});const zn={mi:"italic",mn:"normal",mtext:"normal"};it({type:"mathord",htmlBuilder(e,t){return Ne(e,t,"mathord")},mathmlBuilder(e,t){const r=new zt("mi",[Bt(e.text,e.mode,t)]),n=Ct(e,t)||"italic";return n!==zn[r.type]&&r.setAttribute("mathvariant",n),r}}),it({type:"textord",htmlBuilder(e,t){return Ne(e,t,"textord")},mathmlBuilder(e,t){const r=Bt(e.text,e.mode,t),n=Ct(e,t)||"normal";let o;return o="text"===e.mode?new zt("mtext",[r]):/[0-9]/.test(e.text)?new zt("mn",[r]):"\\prime"===e.text?new zt("mo",[r]):new zt("mi",[r]),n!==zn[o.type]&&o.setAttribute("mathvariant",n),o}});const Sn={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},Mn={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};it({type:"spacing",htmlBuilder(e,t){if(Mn.hasOwnProperty(e.text)){const r=Mn[e.text].className||"";if("text"===e.mode){const n=Ne(e,t,"textord");return n.classes.push(r),n}return Ve(["mspace",r],[Oe(e.text,e.mode,t)],t)}if(Sn.hasOwnProperty(e.text))return Ve(["mspace",Sn[e.text]],[],t);throw new n('Unknown type of space "'+e.text+'"')},mathmlBuilder(e,t){let r;if(!Mn.hasOwnProperty(e.text)){if(Sn.hasOwnProperty(e.text))return new zt("mspace");throw new n('Unknown type of space "'+e.text+'"')}return r=new zt("mtext",[new St("\xa0")]),r}});const An=()=>{const e=new zt("mtd",[]);return e.setAttribute("width","50%"),e};it({type:"tag",mathmlBuilder(e,t){const r=new zt("mtable",[new zt("mtr",[An(),new zt("mtd",[Rt(e.body,t)]),An(),new zt("mtd",[Rt(e.tag,t)])])]);return r.setAttribute("width","100%"),r}});const Tn={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},Bn={"\\textbf":"textbf","\\textmd":"textmd"},qn={"\\textit":"textit","\\textup":"textup"},Cn=(e,t)=>{const r=e.font;return r?Tn[r]?t.withTextFontFamily(Tn[r]):Bn[r]?t.withTextFontWeight(Bn[r]):"\\emph"===r?"textit"===t.fontShape?t.withTextFontShape("textup"):t.withTextFontShape("textit"):t.withTextFontShape(qn[r]):t};st({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(e,t){let{parser:r,funcName:n}=e;const o=t[0];return{type:"text",mode:r.mode,body:at(o),font:n}},htmlBuilder(e,t){const r=Cn(e,t),n=pt(e.body,r,!0);return Ve(["mord","text"],n,r)},mathmlBuilder(e,t){const r=Cn(e,t);return Rt(e.body,r)}}),st({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(e,t){let{parser:r}=e;return{type:"underline",mode:r.mode,body:t[0]}},htmlBuilder(e,t){const r=xt(e.body,t),n=Ge("underline-line",t),o=t.fontMetrics().defaultRuleThickness,s=Ye({positionType:"top",positionData:r.height,children:[{type:"kern",size:o},{type:"elem",elem:n},{type:"kern",size:3*o},{type:"elem",elem:r}]});return Ve(["mord","underline"],[s],t)},mathmlBuilder(e,t){const r=new zt("mo",[new St("\u203e")]);r.setAttribute("stretchy","true");const n=new zt("munder",[Et(e.body,t),r]);return n.setAttribute("accentunder","true"),n}}),st({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(e,t){let{parser:r}=e;return{type:"vcenter",mode:r.mode,body:t[0]}},htmlBuilder(e,t){const r=xt(e.body,t),n=t.fontMetrics().axisHeight,o=.5*(r.height-n-(r.depth+n));return Ye({positionType:"shift",positionData:o,children:[{type:"elem",elem:r}]})},mathmlBuilder(e,t){return new zt("mpadded",[Et(e.body,t)],["vcenter"])}}),st({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(e,t,r){throw new n("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(e,t){const r=In(e),n=[],o=t.havingStyle(t.style.text());for(let t=0;te.body.replace(/ /g,e.star?"\u2423":"\xa0");var Hn=rt;const Rn="[ \r\n\t]",En="(\\\\[a-zA-Z@]+)"+Rn+"*",On="[\u0300-\u036f]",Nn=new RegExp(On+"+$"),Dn="("+Rn+"+)|\\\\(\n|[ \r\t]+\n?)[ \r\t]*|([!-\\[\\]-\u2027\u202a-\ud7ff\uf900-\uffff]"+On+"*|[\ud800-\udbff][\udc00-\udfff]"+On+"*|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5|"+En+"|\\\\[^\ud800-\udfff])";class Pn{constructor(e,t){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=t,this.tokenRegex=new RegExp(Dn,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,t){this.catcodes[e]=t}lex(){const e=this.input,t=this.tokenRegex.lastIndex;if(t===e.length)return new Yr("EOF",new Wr(this,t,t));const r=this.tokenRegex.exec(e);if(null===r||r.index!==t)throw new n("Unexpected character: '"+e[t]+"'",new Yr(e[t],new Wr(this,t,t+1)));const o=r[6]||r[3]||(r[2]?"\\ ":" ");if(14===this.catcodes[o]){const t=e.indexOf("\n",this.tokenRegex.lastIndex);return-1===t?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=t+1,this.lex()}return new Yr(o,new Wr(this,t,this.tokenRegex.lastIndex))}}class Ln{constructor(e,t){void 0===e&&(e={}),void 0===t&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(0===this.undefStack.length)throw new n("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");const e=this.undefStack.pop();for(const t in e)e.hasOwnProperty(t)&&(null==e[t]?delete this.current[t]:this.current[t]=e[t])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,t,r){if(void 0===r&&(r=!1),r){for(let t=0;t0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{const t=this.undefStack[this.undefStack.length-1];t&&!t.hasOwnProperty(e)&&(t[e]=this.current[e])}null==t?delete this.current[e]:this.current[e]=t}}var Vn=Gr;Ur("\\noexpand",function(e){const t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}}),Ur("\\expandafter",function(e){const t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}}),Ur("\\@firstoftwo",function(e){return{tokens:e.consumeArgs(2)[0],numArgs:0}}),Ur("\\@secondoftwo",function(e){return{tokens:e.consumeArgs(2)[1],numArgs:0}}),Ur("\\@ifnextchar",function(e){const t=e.consumeArgs(3);e.consumeSpaces();const r=e.future();return 1===t[0].length&&t[0][0].text===r.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}}),Ur("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),Ur("\\TextOrMath",function(e){const t=e.consumeArgs(2);return"text"===e.mode?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}});const Fn={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};Ur("\\char",function(e){let t,r=e.popToken(),o="";if("'"===r.text)t=8,r=e.popToken();else if('"'===r.text)t=16,r=e.popToken();else if("`"===r.text)if(r=e.popToken(),"\\"===r.text[0])o=r.text.charCodeAt(1);else{if("EOF"===r.text)throw new n("\\char` missing argument");o=r.text.charCodeAt(0)}else t=10;if(t){if(o=Fn[r.text],null==o||o>=t)throw new n("Invalid base-"+t+" digit "+r.text);let s;for(;null!=(s=Fn[e.future().text])&&s{let s=e.consumeArg().tokens;if(1!==s.length)throw new n("\\newcommand's first argument must be a macro name");const i=s[0].text,l=e.isDefined(i);if(l&&!t)throw new n("\\newcommand{"+i+"} attempting to redefine "+i+"; use \\renewcommand");if(!l&&!r)throw new n("\\renewcommand{"+i+"} when command "+i+" does not yet exist; use \\newcommand");let a=0;if(s=e.consumeArg().tokens,1===s.length&&"["===s[0].text){let t="",r=e.expandNextToken();for(;"]"!==r.text&&"EOF"!==r.text;)t+=r.text,r=e.expandNextToken();if(!t.match(/^\s*[0-9]+\s*$/))throw new n("Invalid number of arguments: "+t);a=parseInt(t),s=e.consumeArg().tokens}return l&&o||e.macros.set(i,{tokens:s,numArgs:a}),""};Ur("\\newcommand",e=>Gn(e,!1,!0,!1)),Ur("\\renewcommand",e=>Gn(e,!0,!1,!1)),Ur("\\providecommand",e=>Gn(e,!0,!0,!0)),Ur("\\message",e=>{const t=e.consumeArgs(1)[0];return console.log(t.reverse().map(e=>e.text).join("")),""}),Ur("\\errmessage",e=>{const t=e.consumeArgs(1)[0];return console.error(t.reverse().map(e=>e.text).join("")),""}),Ur("\\show",e=>{const t=e.popToken(),r=t.text;return console.log(t,e.macros.get(r),Hn[r],le.math[r],le.text[r]),""}),Ur("\\bgroup","{"),Ur("\\egroup","}"),Ur("~","\\nobreakspace"),Ur("\\lq","`"),Ur("\\rq","'"),Ur("\\aa","\\r a"),Ur("\\AA","\\r A"),Ur("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`\xa9}"),Ur("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"),Ur("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xae}"),Ur("\u212c","\\mathscr{B}"),Ur("\u2130","\\mathscr{E}"),Ur("\u2131","\\mathscr{F}"),Ur("\u210b","\\mathscr{H}"),Ur("\u2110","\\mathscr{I}"),Ur("\u2112","\\mathscr{L}"),Ur("\u2133","\\mathscr{M}"),Ur("\u211b","\\mathscr{R}"),Ur("\u212d","\\mathfrak{C}"),Ur("\u210c","\\mathfrak{H}"),Ur("\u2128","\\mathfrak{Z}"),Ur("\\Bbbk","\\Bbb{k}"),Ur("\xb7","\\cdotp"),Ur("\\llap","\\mathllap{\\textrm{#1}}"),Ur("\\rlap","\\mathrlap{\\textrm{#1}}"),Ur("\\clap","\\mathclap{\\textrm{#1}}"),Ur("\\mathstrut","\\vphantom{(}"),Ur("\\underbar","\\underline{\\text{#1}}"),Ur("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}'),Ur("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}"),Ur("\\ne","\\neq"),Ur("\u2260","\\neq"),Ur("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}"),Ur("\u2209","\\notin"),Ur("\u2258","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}"),Ur("\u2259","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}"),Ur("\u225a","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225a}}"),Ur("\u225b","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225b}}"),Ur("\u225d","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225d}}"),Ur("\u225e","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225e}}"),Ur("\u225f","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225f}}"),Ur("\u27c2","\\perp"),Ur("\u203c","\\mathclose{!\\mkern-0.8mu!}"),Ur("\u220c","\\notni"),Ur("\u231c","\\ulcorner"),Ur("\u231d","\\urcorner"),Ur("\u231e","\\llcorner"),Ur("\u231f","\\lrcorner"),Ur("\xa9","\\copyright"),Ur("\xae","\\textregistered"),Ur("\ufe0f","\\textregistered"),Ur("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}'),Ur("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}'),Ur("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}'),Ur("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}'),Ur("\\vdots","{\\varvdots\\rule{0pt}{15pt}}"),Ur("\u22ee","\\vdots"),Ur("\\varGamma","\\mathit{\\Gamma}"),Ur("\\varDelta","\\mathit{\\Delta}"),Ur("\\varTheta","\\mathit{\\Theta}"),Ur("\\varLambda","\\mathit{\\Lambda}"),Ur("\\varXi","\\mathit{\\Xi}"),Ur("\\varPi","\\mathit{\\Pi}"),Ur("\\varSigma","\\mathit{\\Sigma}"),Ur("\\varUpsilon","\\mathit{\\Upsilon}"),Ur("\\varPhi","\\mathit{\\Phi}"),Ur("\\varPsi","\\mathit{\\Psi}"),Ur("\\varOmega","\\mathit{\\Omega}"),Ur("\\substack","\\begin{subarray}{c}#1\\end{subarray}"),Ur("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax"),Ur("\\boxed","\\fbox{$\\displaystyle{#1}$}"),Ur("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;"),Ur("\\implies","\\DOTSB\\;\\Longrightarrow\\;"),Ur("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;"),Ur("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}"),Ur("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");const Un={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"},Wn=new Set(["bin","rel"]);Ur("\\dots",function(e){let t="\\dotso";const r=e.expandAfterFuture().text;return r in Un?t=Un[r]:("\\not"===r.slice(0,4)||r in le.math&&Wn.has(le.math[r].group))&&(t="\\dotsb"),t});const Yn={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};Ur("\\dotso",function(e){return e.future().text in Yn?"\\ldots\\,":"\\ldots"}),Ur("\\dotsc",function(e){const t=e.future().text;return t in Yn&&","!==t?"\\ldots\\,":"\\ldots"}),Ur("\\cdots",function(e){return e.future().text in Yn?"\\@cdots\\,":"\\@cdots"}),Ur("\\dotsb","\\cdots"),Ur("\\dotsm","\\cdots"),Ur("\\dotsi","\\!\\cdots"),Ur("\\dotsx","\\ldots\\,"),Ur("\\DOTSI","\\relax"),Ur("\\DOTSB","\\relax"),Ur("\\DOTSX","\\relax"),Ur("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),Ur("\\,","\\tmspace+{3mu}{.1667em}"),Ur("\\thinspace","\\,"),Ur("\\>","\\mskip{4mu}"),Ur("\\:","\\tmspace+{4mu}{.2222em}"),Ur("\\medspace","\\:"),Ur("\\;","\\tmspace+{5mu}{.2777em}"),Ur("\\thickspace","\\;"),Ur("\\!","\\tmspace-{3mu}{.1667em}"),Ur("\\negthinspace","\\!"),Ur("\\negmedspace","\\tmspace-{4mu}{.2222em}"),Ur("\\negthickspace","\\tmspace-{5mu}{.277em}"),Ur("\\enspace","\\kern.5em "),Ur("\\enskip","\\hskip.5em\\relax"),Ur("\\quad","\\hskip1em\\relax"),Ur("\\qquad","\\hskip2em\\relax"),Ur("\\tag","\\@ifstar\\tag@literal\\tag@paren"),Ur("\\tag@paren","\\tag@literal{({#1})}"),Ur("\\tag@literal",e=>{if(e.macros.get("\\df@tag"))throw new n("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"}),Ur("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),Ur("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),Ur("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}"),Ur("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),Ur("\\newline","\\\\\\relax"),Ur("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");const Xn=U(q["Main-Regular"]["T".charCodeAt(0)][1]-.7*q["Main-Regular"]["A".charCodeAt(0)][1]);Ur("\\LaTeX","\\textrm{\\html@mathml{L\\kern-.36em\\raisebox{"+Xn+"}{\\scriptstyle A}\\kern-.15em\\TeX}{LaTeX}}"),Ur("\\KaTeX","\\textrm{\\html@mathml{K\\kern-.17em\\raisebox{"+Xn+"}{\\scriptstyle A}\\kern-.15em\\TeX}{KaTeX}}"),Ur("\\hspace","\\@ifstar\\@hspacer\\@hspace"),Ur("\\@hspace","\\hskip #1\\relax"),Ur("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax"),Ur("\\ordinarycolon",":"),Ur("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}"),Ur("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'),Ur("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'),Ur("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'),Ur("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'),Ur("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'),Ur("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'),Ur("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'),Ur("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'),Ur("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'),Ur("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'),Ur("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'),Ur("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'),Ur("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'),Ur("\u2237","\\dblcolon"),Ur("\u2239","\\eqcolon"),Ur("\u2254","\\coloneqq"),Ur("\u2255","\\eqqcolon"),Ur("\u2a74","\\Coloneqq"),Ur("\\ratio","\\vcentcolon"),Ur("\\coloncolon","\\dblcolon"),Ur("\\colonequals","\\coloneqq"),Ur("\\coloncolonequals","\\Coloneqq"),Ur("\\equalscolon","\\eqqcolon"),Ur("\\equalscoloncolon","\\Eqqcolon"),Ur("\\colonminus","\\coloneq"),Ur("\\coloncolonminus","\\Coloneq"),Ur("\\minuscolon","\\eqcolon"),Ur("\\minuscoloncolon","\\Eqcolon"),Ur("\\coloncolonapprox","\\Colonapprox"),Ur("\\coloncolonsim","\\Colonsim"),Ur("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),Ur("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),Ur("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),Ur("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),Ur("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220c}}"),Ur("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),Ur("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),Ur("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}"),Ur("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}"),Ur("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}"),Ur("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}"),Ur("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}"),Ur("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}"),Ur("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}"),Ur("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}"),Ur("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}"),Ur("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}"),Ur("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}"),Ur("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}"),Ur("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}"),Ur("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}"),Ur("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}"),Ur("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}"),Ur("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228a}"),Ur("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2acb}"),Ur("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228b}"),Ur("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2acc}"),Ur("\\imath","\\html@mathml{\\@imath}{\u0131}"),Ur("\\jmath","\\html@mathml{\\@jmath}{\u0237}"),Ur("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27e6}}"),Ur("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27e7}}"),Ur("\u27e6","\\llbracket"),Ur("\u27e7","\\rrbracket"),Ur("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}"),Ur("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}"),Ur("\u2983","\\lBrace"),Ur("\u2984","\\rBrace"),Ur("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29b5}}"),Ur("\u29b5","\\minuso"),Ur("\\darr","\\downarrow"),Ur("\\dArr","\\Downarrow"),Ur("\\Darr","\\Downarrow"),Ur("\\lang","\\langle"),Ur("\\rang","\\rangle"),Ur("\\uarr","\\uparrow"),Ur("\\uArr","\\Uparrow"),Ur("\\Uarr","\\Uparrow"),Ur("\\N","\\mathbb{N}"),Ur("\\R","\\mathbb{R}"),Ur("\\Z","\\mathbb{Z}"),Ur("\\alef","\\aleph"),Ur("\\alefsym","\\aleph"),Ur("\\Alpha","\\mathrm{A}"),Ur("\\Beta","\\mathrm{B}"),Ur("\\bull","\\bullet"),Ur("\\Chi","\\mathrm{X}"),Ur("\\clubs","\\clubsuit"),Ur("\\cnums","\\mathbb{C}"),Ur("\\Complex","\\mathbb{C}"),Ur("\\Dagger","\\ddagger"),Ur("\\diamonds","\\diamondsuit"),Ur("\\empty","\\emptyset"),Ur("\\Epsilon","\\mathrm{E}"),Ur("\\Eta","\\mathrm{H}"),Ur("\\exist","\\exists"),Ur("\\harr","\\leftrightarrow"),Ur("\\hArr","\\Leftrightarrow"),Ur("\\Harr","\\Leftrightarrow"),Ur("\\hearts","\\heartsuit"),Ur("\\image","\\Im"),Ur("\\infin","\\infty"),Ur("\\Iota","\\mathrm{I}"),Ur("\\isin","\\in"),Ur("\\Kappa","\\mathrm{K}"),Ur("\\larr","\\leftarrow"),Ur("\\lArr","\\Leftarrow"),Ur("\\Larr","\\Leftarrow"),Ur("\\lrarr","\\leftrightarrow"),Ur("\\lrArr","\\Leftrightarrow"),Ur("\\Lrarr","\\Leftrightarrow"),Ur("\\Mu","\\mathrm{M}"),Ur("\\natnums","\\mathbb{N}"),Ur("\\Nu","\\mathrm{N}"),Ur("\\Omicron","\\mathrm{O}"),Ur("\\plusmn","\\pm"),Ur("\\rarr","\\rightarrow"),Ur("\\rArr","\\Rightarrow"),Ur("\\Rarr","\\Rightarrow"),Ur("\\real","\\Re"),Ur("\\reals","\\mathbb{R}"),Ur("\\Reals","\\mathbb{R}"),Ur("\\Rho","\\mathrm{P}"),Ur("\\sdot","\\cdot"),Ur("\\sect","\\S"),Ur("\\spades","\\spadesuit"),Ur("\\sub","\\subset"),Ur("\\sube","\\subseteq"),Ur("\\supe","\\supseteq"),Ur("\\Tau","\\mathrm{T}"),Ur("\\thetasym","\\vartheta"),Ur("\\weierp","\\wp"),Ur("\\Zeta","\\mathrm{Z}"),Ur("\\argmin","\\DOTSB\\operatorname*{arg\\,min}"),Ur("\\argmax","\\DOTSB\\operatorname*{arg\\,max}"),Ur("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),Ur("\\bra","\\mathinner{\\langle{#1}|}"),Ur("\\ket","\\mathinner{|{#1}\\rangle}"),Ur("\\braket","\\mathinner{\\langle{#1}\\rangle}"),Ur("\\Bra","\\left\\langle#1\\right|"),Ur("\\Ket","\\left|#1\\right\\rangle");const _n=e=>t=>{const r=t.consumeArg().tokens,n=t.consumeArg().tokens,o=t.consumeArg().tokens,s=t.consumeArg().tokens,i=t.macros.get("|"),l=t.macros.get("\\|");t.macros.beginGroup();const a=t=>r=>{e&&(r.macros.set("|",i),o.length&&r.macros.set("\\|",l));let s=t;if(!t&&o.length){"|"===r.future().text&&(r.popToken(),s=!0)}return{tokens:s?o:n,numArgs:0}};t.macros.set("|",a(!1)),o.length&&t.macros.set("\\|",a(!0));const h=t.consumeArg().tokens,c=t.expandTokens([...s,...h,...r]);return t.macros.endGroup(),{tokens:c.reverse(),numArgs:0}};Ur("\\bra@ket",_n(!1)),Ur("\\bra@set",_n(!0)),Ur("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}"),Ur("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}"),Ur("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}"),Ur("\\angln","{\\angl n}"),Ur("\\blue","\\textcolor{##6495ed}{#1}"),Ur("\\orange","\\textcolor{##ffa500}{#1}"),Ur("\\pink","\\textcolor{##ff00af}{#1}"),Ur("\\red","\\textcolor{##df0030}{#1}"),Ur("\\green","\\textcolor{##28ae7b}{#1}"),Ur("\\gray","\\textcolor{gray}{#1}"),Ur("\\purple","\\textcolor{##9d38bd}{#1}"),Ur("\\blueA","\\textcolor{##ccfaff}{#1}"),Ur("\\blueB","\\textcolor{##80f6ff}{#1}"),Ur("\\blueC","\\textcolor{##63d9ea}{#1}"),Ur("\\blueD","\\textcolor{##11accd}{#1}"),Ur("\\blueE","\\textcolor{##0c7f99}{#1}"),Ur("\\tealA","\\textcolor{##94fff5}{#1}"),Ur("\\tealB","\\textcolor{##26edd5}{#1}"),Ur("\\tealC","\\textcolor{##01d1c1}{#1}"),Ur("\\tealD","\\textcolor{##01a995}{#1}"),Ur("\\tealE","\\textcolor{##208170}{#1}"),Ur("\\greenA","\\textcolor{##b6ffb0}{#1}"),Ur("\\greenB","\\textcolor{##8af281}{#1}"),Ur("\\greenC","\\textcolor{##74cf70}{#1}"),Ur("\\greenD","\\textcolor{##1fab54}{#1}"),Ur("\\greenE","\\textcolor{##0d923f}{#1}"),Ur("\\goldA","\\textcolor{##ffd0a9}{#1}"),Ur("\\goldB","\\textcolor{##ffbb71}{#1}"),Ur("\\goldC","\\textcolor{##ff9c39}{#1}"),Ur("\\goldD","\\textcolor{##e07d10}{#1}"),Ur("\\goldE","\\textcolor{##a75a05}{#1}"),Ur("\\redA","\\textcolor{##fca9a9}{#1}"),Ur("\\redB","\\textcolor{##ff8482}{#1}"),Ur("\\redC","\\textcolor{##f9685d}{#1}"),Ur("\\redD","\\textcolor{##e84d39}{#1}"),Ur("\\redE","\\textcolor{##bc2612}{#1}"),Ur("\\maroonA","\\textcolor{##ffbde0}{#1}"),Ur("\\maroonB","\\textcolor{##ff92c6}{#1}"),Ur("\\maroonC","\\textcolor{##ed5fa6}{#1}"),Ur("\\maroonD","\\textcolor{##ca337c}{#1}"),Ur("\\maroonE","\\textcolor{##9e034e}{#1}"),Ur("\\purpleA","\\textcolor{##ddd7ff}{#1}"),Ur("\\purpleB","\\textcolor{##c6b9fc}{#1}"),Ur("\\purpleC","\\textcolor{##aa87ff}{#1}"),Ur("\\purpleD","\\textcolor{##7854ab}{#1}"),Ur("\\purpleE","\\textcolor{##543b78}{#1}"),Ur("\\mintA","\\textcolor{##f5f9e8}{#1}"),Ur("\\mintB","\\textcolor{##edf2df}{#1}"),Ur("\\mintC","\\textcolor{##e0e5cc}{#1}"),Ur("\\grayA","\\textcolor{##f6f7f7}{#1}"),Ur("\\grayB","\\textcolor{##f0f1f2}{#1}"),Ur("\\grayC","\\textcolor{##e3e5e6}{#1}"),Ur("\\grayD","\\textcolor{##d6d8da}{#1}"),Ur("\\grayE","\\textcolor{##babec2}{#1}"),Ur("\\grayF","\\textcolor{##888d93}{#1}"),Ur("\\grayG","\\textcolor{##626569}{#1}"),Ur("\\grayH","\\textcolor{##3b3e40}{#1}"),Ur("\\grayI","\\textcolor{##21242c}{#1}"),Ur("\\kaBlue","\\textcolor{##314453}{#1}"),Ur("\\kaGreen","\\textcolor{##71B307}{#1}");const jn={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class $n{constructor(e,t,r){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=t,this.expansionCount=0,this.feed(e),this.macros=new Ln(Vn,t.macros),this.mode=r,this.stack=[]}feed(e){this.lexer=new Pn(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return 0===this.stack.length&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){let t,r,n;if(e){if(this.consumeSpaces(),"["!==this.future().text)return null;t=this.popToken(),({tokens:n,end:r}=this.consumeArg(["]"]))}else({tokens:n,start:t,end:r}=this.consumeArg());return this.pushToken(new Yr("EOF",r.loc)),this.pushTokens(n),new Yr("",Wr.range(t,r))}consumeSpaces(){for(;;){if(" "!==this.future().text)break;this.stack.pop()}}consumeArg(e){const t=[],r=e&&e.length>0;r||this.consumeSpaces();const o=this.future();let s,i=0,l=0;do{if(s=this.popToken(),t.push(s),"{"===s.text)++i;else if("}"===s.text){if(--i,-1===i)throw new n("Extra }",s)}else if("EOF"===s.text)throw new n("Unexpected end of input in a macro argument, expected '"+(e&&r?e[l]:"}")+"'",s);if(e&&r)if((0===i||1===i&&"{"===e[l])&&s.text===e[l]){if(++l,l===e.length){t.splice(-l,l);break}}else l=0}while(0!==i||r);return"{"===o.text&&"}"===t[t.length-1].text&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:o,end:s}}consumeArgs(e,t){if(t){if(t.length!==e+1)throw new n("The length of delimiters doesn't match the number of args!");const r=t[0];for(let e=0;ethis.settings.maxExpand)throw new n("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){const t=this.popToken(),r=t.text,o=t.noexpand?null:this._getExpansion(r);if(null==o||e&&o.unexpandable){if(e&&null==o&&"\\"===r[0]&&!this.isDefined(r))throw new n("Undefined control sequence: "+r);return this.pushToken(t),!1}this.countExpansion(1);let s=o.tokens;const i=this.consumeArgs(o.numArgs,o.delimiters);if(o.numArgs){s=s.slice();for(let e=s.length-1;e>=0;--e){let t=s[e];if("#"===t.text){if(0===e)throw new n("Incomplete placeholder at end of macro body",t);if(t=s[--e],"#"===t.text)s.splice(e+1,1);else{if(!/^[1-9]$/.test(t.text))throw new n("Not a valid argument number",t);s.splice(e,2,...i[+t.text-1])}}}}return this.pushTokens(s),s.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(!1===this.expandOnce()){const e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}throw new Error}expandMacro(e){return this.macros.has(e)?this.expandTokens([new Yr(e)]):void 0}expandTokens(e){const t=[],r=this.stack.length;for(this.pushTokens(e);this.stack.length>r;)if(!1===this.expandOnce(!0)){const e=this.stack.pop();e.treatAsRelax&&(e.noexpand=!1,e.treatAsRelax=!1),t.push(e)}return this.countExpansion(t.length),t}expandMacroAsText(e){const t=this.expandMacro(e);return t?t.map(e=>e.text).join(""):t}_getExpansion(e){const t=this.macros.get(e);if(null==t)return t;if(1===e.length){const t=this.lexer.catcodes[e];if(null!=t&&13!==t)return}const r="function"==typeof t?t(this):t;if("string"==typeof r){let e=0;if(r.includes("#")){const t=r.replace(/##/g,"");for(;t.includes("#"+(e+1));)++e}const t=new Pn(r,this.settings),n=[];let o=t.lex();for(;"EOF"!==o.text;)n.push(o),o=t.lex();n.reverse();return{tokens:n,numArgs:e}}return r}isDefined(e){return this.macros.has(e)||Hn.hasOwnProperty(e)||le.math.hasOwnProperty(e)||le.text.hasOwnProperty(e)||jn.hasOwnProperty(e)}isExpandable(e){const t=this.macros.get(e);return null!=t?"string"==typeof t||"function"==typeof t||!t.unexpandable:Hn.hasOwnProperty(e)&&!Hn[e].primitive}}const Zn=/^[\u208a\u208b\u208c\u208d\u208e\u2080\u2081\u2082\u2083\u2084\u2085\u2086\u2087\u2088\u2089\u2090\u2091\u2095\u1d62\u2c7c\u2096\u2097\u2098\u2099\u2092\u209a\u1d63\u209b\u209c\u1d64\u1d65\u2093\u1d66\u1d67\u1d68\u1d69\u1d6a]/,Kn=Object.freeze({"\u208a":"+","\u208b":"-","\u208c":"=","\u208d":"(","\u208e":")","\u2080":"0","\u2081":"1","\u2082":"2","\u2083":"3","\u2084":"4","\u2085":"5","\u2086":"6","\u2087":"7","\u2088":"8","\u2089":"9","\u2090":"a","\u2091":"e","\u2095":"h","\u1d62":"i","\u2c7c":"j","\u2096":"k","\u2097":"l","\u2098":"m","\u2099":"n","\u2092":"o","\u209a":"p","\u1d63":"r","\u209b":"s","\u209c":"t","\u1d64":"u","\u1d65":"v","\u2093":"x","\u1d66":"\u03b2","\u1d67":"\u03b3","\u1d68":"\u03c1","\u1d69":"\u03d5","\u1d6a":"\u03c7","\u207a":"+","\u207b":"-","\u207c":"=","\u207d":"(","\u207e":")","\u2070":"0","\xb9":"1","\xb2":"2","\xb3":"3","\u2074":"4","\u2075":"5","\u2076":"6","\u2077":"7","\u2078":"8","\u2079":"9","\u1d2c":"A","\u1d2e":"B","\u1d30":"D","\u1d31":"E","\u1d33":"G","\u1d34":"H","\u1d35":"I","\u1d36":"J","\u1d37":"K","\u1d38":"L","\u1d39":"M","\u1d3a":"N","\u1d3c":"O","\u1d3e":"P","\u1d3f":"R","\u1d40":"T","\u1d41":"U","\u2c7d":"V","\u1d42":"W","\u1d43":"a","\u1d47":"b","\u1d9c":"c","\u1d48":"d","\u1d49":"e","\u1da0":"f","\u1d4d":"g","\u02b0":"h","\u2071":"i","\u02b2":"j","\u1d4f":"k","\u02e1":"l","\u1d50":"m","\u207f":"n","\u1d52":"o","\u1d56":"p","\u02b3":"r","\u02e2":"s","\u1d57":"t","\u1d58":"u","\u1d5b":"v","\u02b7":"w","\u02e3":"x","\u02b8":"y","\u1dbb":"z","\u1d5d":"\u03b2","\u1d5e":"\u03b3","\u1d5f":"\u03b4","\u1d60":"\u03d5","\u1d61":"\u03c7","\u1dbf":"\u03b8"}),Jn={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030c":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030a":{text:"\\r",math:"\\mathring"},"\u030b":{text:"\\H"},"\u0327":{text:"\\c"}},Qn={"\xe1":"a\u0301","\xe0":"a\u0300","\xe4":"a\u0308","\u01df":"a\u0308\u0304","\xe3":"a\u0303","\u0101":"a\u0304","\u0103":"a\u0306","\u1eaf":"a\u0306\u0301","\u1eb1":"a\u0306\u0300","\u1eb5":"a\u0306\u0303","\u01ce":"a\u030c","\xe2":"a\u0302","\u1ea5":"a\u0302\u0301","\u1ea7":"a\u0302\u0300","\u1eab":"a\u0302\u0303","\u0227":"a\u0307","\u01e1":"a\u0307\u0304","\xe5":"a\u030a","\u01fb":"a\u030a\u0301","\u1e03":"b\u0307","\u0107":"c\u0301","\u1e09":"c\u0327\u0301","\u010d":"c\u030c","\u0109":"c\u0302","\u010b":"c\u0307","\xe7":"c\u0327","\u010f":"d\u030c","\u1e0b":"d\u0307","\u1e11":"d\u0327","\xe9":"e\u0301","\xe8":"e\u0300","\xeb":"e\u0308","\u1ebd":"e\u0303","\u0113":"e\u0304","\u1e17":"e\u0304\u0301","\u1e15":"e\u0304\u0300","\u0115":"e\u0306","\u1e1d":"e\u0327\u0306","\u011b":"e\u030c","\xea":"e\u0302","\u1ebf":"e\u0302\u0301","\u1ec1":"e\u0302\u0300","\u1ec5":"e\u0302\u0303","\u0117":"e\u0307","\u0229":"e\u0327","\u1e1f":"f\u0307","\u01f5":"g\u0301","\u1e21":"g\u0304","\u011f":"g\u0306","\u01e7":"g\u030c","\u011d":"g\u0302","\u0121":"g\u0307","\u0123":"g\u0327","\u1e27":"h\u0308","\u021f":"h\u030c","\u0125":"h\u0302","\u1e23":"h\u0307","\u1e29":"h\u0327","\xed":"i\u0301","\xec":"i\u0300","\xef":"i\u0308","\u1e2f":"i\u0308\u0301","\u0129":"i\u0303","\u012b":"i\u0304","\u012d":"i\u0306","\u01d0":"i\u030c","\xee":"i\u0302","\u01f0":"j\u030c","\u0135":"j\u0302","\u1e31":"k\u0301","\u01e9":"k\u030c","\u0137":"k\u0327","\u013a":"l\u0301","\u013e":"l\u030c","\u013c":"l\u0327","\u1e3f":"m\u0301","\u1e41":"m\u0307","\u0144":"n\u0301","\u01f9":"n\u0300","\xf1":"n\u0303","\u0148":"n\u030c","\u1e45":"n\u0307","\u0146":"n\u0327","\xf3":"o\u0301","\xf2":"o\u0300","\xf6":"o\u0308","\u022b":"o\u0308\u0304","\xf5":"o\u0303","\u1e4d":"o\u0303\u0301","\u1e4f":"o\u0303\u0308","\u022d":"o\u0303\u0304","\u014d":"o\u0304","\u1e53":"o\u0304\u0301","\u1e51":"o\u0304\u0300","\u014f":"o\u0306","\u01d2":"o\u030c","\xf4":"o\u0302","\u1ed1":"o\u0302\u0301","\u1ed3":"o\u0302\u0300","\u1ed7":"o\u0302\u0303","\u022f":"o\u0307","\u0231":"o\u0307\u0304","\u0151":"o\u030b","\u1e55":"p\u0301","\u1e57":"p\u0307","\u0155":"r\u0301","\u0159":"r\u030c","\u1e59":"r\u0307","\u0157":"r\u0327","\u015b":"s\u0301","\u1e65":"s\u0301\u0307","\u0161":"s\u030c","\u1e67":"s\u030c\u0307","\u015d":"s\u0302","\u1e61":"s\u0307","\u015f":"s\u0327","\u1e97":"t\u0308","\u0165":"t\u030c","\u1e6b":"t\u0307","\u0163":"t\u0327","\xfa":"u\u0301","\xf9":"u\u0300","\xfc":"u\u0308","\u01d8":"u\u0308\u0301","\u01dc":"u\u0308\u0300","\u01d6":"u\u0308\u0304","\u01da":"u\u0308\u030c","\u0169":"u\u0303","\u1e79":"u\u0303\u0301","\u016b":"u\u0304","\u1e7b":"u\u0304\u0308","\u016d":"u\u0306","\u01d4":"u\u030c","\xfb":"u\u0302","\u016f":"u\u030a","\u0171":"u\u030b","\u1e7d":"v\u0303","\u1e83":"w\u0301","\u1e81":"w\u0300","\u1e85":"w\u0308","\u0175":"w\u0302","\u1e87":"w\u0307","\u1e98":"w\u030a","\u1e8d":"x\u0308","\u1e8b":"x\u0307","\xfd":"y\u0301","\u1ef3":"y\u0300","\xff":"y\u0308","\u1ef9":"y\u0303","\u0233":"y\u0304","\u0177":"y\u0302","\u1e8f":"y\u0307","\u1e99":"y\u030a","\u017a":"z\u0301","\u017e":"z\u030c","\u1e91":"z\u0302","\u017c":"z\u0307","\xc1":"A\u0301","\xc0":"A\u0300","\xc4":"A\u0308","\u01de":"A\u0308\u0304","\xc3":"A\u0303","\u0100":"A\u0304","\u0102":"A\u0306","\u1eae":"A\u0306\u0301","\u1eb0":"A\u0306\u0300","\u1eb4":"A\u0306\u0303","\u01cd":"A\u030c","\xc2":"A\u0302","\u1ea4":"A\u0302\u0301","\u1ea6":"A\u0302\u0300","\u1eaa":"A\u0302\u0303","\u0226":"A\u0307","\u01e0":"A\u0307\u0304","\xc5":"A\u030a","\u01fa":"A\u030a\u0301","\u1e02":"B\u0307","\u0106":"C\u0301","\u1e08":"C\u0327\u0301","\u010c":"C\u030c","\u0108":"C\u0302","\u010a":"C\u0307","\xc7":"C\u0327","\u010e":"D\u030c","\u1e0a":"D\u0307","\u1e10":"D\u0327","\xc9":"E\u0301","\xc8":"E\u0300","\xcb":"E\u0308","\u1ebc":"E\u0303","\u0112":"E\u0304","\u1e16":"E\u0304\u0301","\u1e14":"E\u0304\u0300","\u0114":"E\u0306","\u1e1c":"E\u0327\u0306","\u011a":"E\u030c","\xca":"E\u0302","\u1ebe":"E\u0302\u0301","\u1ec0":"E\u0302\u0300","\u1ec4":"E\u0302\u0303","\u0116":"E\u0307","\u0228":"E\u0327","\u1e1e":"F\u0307","\u01f4":"G\u0301","\u1e20":"G\u0304","\u011e":"G\u0306","\u01e6":"G\u030c","\u011c":"G\u0302","\u0120":"G\u0307","\u0122":"G\u0327","\u1e26":"H\u0308","\u021e":"H\u030c","\u0124":"H\u0302","\u1e22":"H\u0307","\u1e28":"H\u0327","\xcd":"I\u0301","\xcc":"I\u0300","\xcf":"I\u0308","\u1e2e":"I\u0308\u0301","\u0128":"I\u0303","\u012a":"I\u0304","\u012c":"I\u0306","\u01cf":"I\u030c","\xce":"I\u0302","\u0130":"I\u0307","\u0134":"J\u0302","\u1e30":"K\u0301","\u01e8":"K\u030c","\u0136":"K\u0327","\u0139":"L\u0301","\u013d":"L\u030c","\u013b":"L\u0327","\u1e3e":"M\u0301","\u1e40":"M\u0307","\u0143":"N\u0301","\u01f8":"N\u0300","\xd1":"N\u0303","\u0147":"N\u030c","\u1e44":"N\u0307","\u0145":"N\u0327","\xd3":"O\u0301","\xd2":"O\u0300","\xd6":"O\u0308","\u022a":"O\u0308\u0304","\xd5":"O\u0303","\u1e4c":"O\u0303\u0301","\u1e4e":"O\u0303\u0308","\u022c":"O\u0303\u0304","\u014c":"O\u0304","\u1e52":"O\u0304\u0301","\u1e50":"O\u0304\u0300","\u014e":"O\u0306","\u01d1":"O\u030c","\xd4":"O\u0302","\u1ed0":"O\u0302\u0301","\u1ed2":"O\u0302\u0300","\u1ed6":"O\u0302\u0303","\u022e":"O\u0307","\u0230":"O\u0307\u0304","\u0150":"O\u030b","\u1e54":"P\u0301","\u1e56":"P\u0307","\u0154":"R\u0301","\u0158":"R\u030c","\u1e58":"R\u0307","\u0156":"R\u0327","\u015a":"S\u0301","\u1e64":"S\u0301\u0307","\u0160":"S\u030c","\u1e66":"S\u030c\u0307","\u015c":"S\u0302","\u1e60":"S\u0307","\u015e":"S\u0327","\u0164":"T\u030c","\u1e6a":"T\u0307","\u0162":"T\u0327","\xda":"U\u0301","\xd9":"U\u0300","\xdc":"U\u0308","\u01d7":"U\u0308\u0301","\u01db":"U\u0308\u0300","\u01d5":"U\u0308\u0304","\u01d9":"U\u0308\u030c","\u0168":"U\u0303","\u1e78":"U\u0303\u0301","\u016a":"U\u0304","\u1e7a":"U\u0304\u0308","\u016c":"U\u0306","\u01d3":"U\u030c","\xdb":"U\u0302","\u016e":"U\u030a","\u0170":"U\u030b","\u1e7c":"V\u0303","\u1e82":"W\u0301","\u1e80":"W\u0300","\u1e84":"W\u0308","\u0174":"W\u0302","\u1e86":"W\u0307","\u1e8c":"X\u0308","\u1e8a":"X\u0307","\xdd":"Y\u0301","\u1ef2":"Y\u0300","\u0178":"Y\u0308","\u1ef8":"Y\u0303","\u0232":"Y\u0304","\u0176":"Y\u0302","\u1e8e":"Y\u0307","\u0179":"Z\u0301","\u017d":"Z\u030c","\u1e90":"Z\u0302","\u017b":"Z\u0307","\u03ac":"\u03b1\u0301","\u1f70":"\u03b1\u0300","\u1fb1":"\u03b1\u0304","\u1fb0":"\u03b1\u0306","\u03ad":"\u03b5\u0301","\u1f72":"\u03b5\u0300","\u03ae":"\u03b7\u0301","\u1f74":"\u03b7\u0300","\u03af":"\u03b9\u0301","\u1f76":"\u03b9\u0300","\u03ca":"\u03b9\u0308","\u0390":"\u03b9\u0308\u0301","\u1fd2":"\u03b9\u0308\u0300","\u1fd1":"\u03b9\u0304","\u1fd0":"\u03b9\u0306","\u03cc":"\u03bf\u0301","\u1f78":"\u03bf\u0300","\u03cd":"\u03c5\u0301","\u1f7a":"\u03c5\u0300","\u03cb":"\u03c5\u0308","\u03b0":"\u03c5\u0308\u0301","\u1fe2":"\u03c5\u0308\u0300","\u1fe1":"\u03c5\u0304","\u1fe0":"\u03c5\u0306","\u03ce":"\u03c9\u0301","\u1f7c":"\u03c9\u0300","\u038e":"\u03a5\u0301","\u1fea":"\u03a5\u0300","\u03ab":"\u03a5\u0308","\u1fe9":"\u03a5\u0304","\u1fe8":"\u03a5\u0306","\u038f":"\u03a9\u0301","\u1ffa":"\u03a9\u0300"};class eo{constructor(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new $n(e,t,this.mode),this.settings=t,this.leftrightDepth=0}expect(e,t){if(void 0===t&&(t=!0),this.fetch().text!==e)throw new n("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());t&&this.consume()}consume(){this.nextToken=null}fetch(){return null==this.nextToken&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{const e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){const t=this.nextToken;this.consume(),this.gullet.pushToken(new Yr("}")),this.gullet.pushTokens(e);const r=this.parseExpression(!1);return this.expect("}"),this.nextToken=t,r}parseExpression(e,t){const r=[];for(;;){"math"===this.mode&&this.consumeSpaces();const n=this.fetch();if(eo.endOfExpression.has(n.text))break;if(t&&n.text===t)break;if(e&&Hn[n.text]&&Hn[n.text].infix)break;const o=this.parseAtom(t);if(!o)break;"internal"!==o.type&&r.push(o)}return"text"===this.mode&&this.formLigatures(r),this.handleInfixNodes(r)}handleInfixNodes(e){let t,r=-1;for(let o=0;o=128))return null;this.settings.strict&&(A(t.charCodeAt(0))?"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'" ('+t.charCodeAt(0)+")",e)),o={type:"textord",mode:"text",loc:Wr.range(e),text:t}}if(this.consume(),r)for(let t=0;t=this._reconnectionAttempts?(h("reconnect failed"),this.backoff.reset(),this.emitAll("reconnect_failed"),this.reconnecting=!1):(t=this.backoff.duration(),h("will wait %dms before reconnect attempt",t),this.reconnecting=!0,e=setTimeout(function(){n.skipReconnect||(h("attempting reconnect"),n.emitAll("reconnect_attempt",n.backoff.attempts),n.emitAll("reconnecting",n.backoff.attempts),n.skipReconnect||n.open(function(t){t?(h("reconnect attempt error"),n.reconnecting=!1,n.reconnect(),n.emitAll("reconnect_error",t.data)):(h("reconnect success"),n.onreconnect())}))},t),this.subs.push({destroy:function(){clearTimeout(e)}}))},r.prototype.onreconnect=function(){var t=this.backoff.attempts;this.reconnecting=!1,this.backoff.reset(),this.updateSocketIds(),this.emitAll("reconnect",t)}},function(t,e,n){t.exports=n(14),t.exports.parser=n(22)},function(t,e,n){function u(t,e){return this instanceof u?(e=e||{},t&&"object"==typeof t&&(e=t,t=null),t?(t=a(t),e.hostname=t.host,e.secure="https"===t.protocol||"wss"===t.protocol,e.port=t.port,t.query&&(e.query=t.query)):e.host&&(e.hostname=a(e.host).host),this.secure=null!=e.secure?e.secure:"undefined"!=typeof location&&"https:"===location.protocol,e.hostname&&!e.port&&(e.port=this.secure?"443":"80"),this.agent=e.agent||!1,this.hostname=e.hostname||("undefined"!=typeof location?location.hostname:"localhost"),this.port=e.port||("undefined"!=typeof location&&location.port?location.port:this.secure?443:80),this.query=e.query||{},"string"==typeof this.query&&(this.query=c.decode(this.query)),this.upgrade=!1!==e.upgrade,this.path=(e.path||"/engine.io").replace(/\/$/,"")+"/",this.forceJSONP=!!e.forceJSONP,this.jsonp=!1!==e.jsonp,this.forceBase64=!!e.forceBase64,this.enablesXDR=!!e.enablesXDR,this.withCredentials=!1!==e.withCredentials,this.timestampParam=e.timestampParam||"t",this.timestampRequests=e.timestampRequests,this.transports=e.transports||["polling","websocket"],this.transportOptions=e.transportOptions||{},this.readyState="",this.writeBuffer=[],this.prevBufferLen=0,this.policyPort=e.policyPort||843,this.rememberUpgrade=e.rememberUpgrade||!1,this.binaryType=null,this.onlyBinaryUpgrades=e.onlyBinaryUpgrades,this.perMessageDeflate=!1!==e.perMessageDeflate&&(e.perMessageDeflate||{}),!0===this.perMessageDeflate&&(this.perMessageDeflate={}),this.perMessageDeflate&&null==this.perMessageDeflate.threshold&&(this.perMessageDeflate.threshold=1024),this.pfx=e.pfx||null,this.key=e.key||null,this.passphrase=e.passphrase||null,this.cert=e.cert||null,this.ca=e.ca||null,this.ciphers=e.ciphers||null,this.rejectUnauthorized=void 0===e.rejectUnauthorized||e.rejectUnauthorized,this.forceNode=!!e.forceNode,this.isReactNative="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase(),"undefined"!=typeof self&&!this.isReactNative||(e.extraHeaders&&0>e&63|128)}function f(){if(d<=y)throw Error("Invalid byte index");var t=255&l[y];if(y++,128==(192&t))return 63&t;throw Error("Invalid continuation byte")}var l,d,y,g=String.fromCharCode;t.exports={version:"2.1.2",encode:function(t,e){for(var n=!1!==(e=e||{}).strict,r=h(t),o=r.length,i=-1,s="";++i>6&31|192):0==(4294901760&t)?(u(t,e)||(t=65533),n=g(t>>12&15|224),n+=a(t,6)):0==(4292870144&t)&&(n=g(t>>18&7|240),n=(n+=a(t,12))+a(t,6)),n+g(63&t|128)}(r[i],n);return s},decode:function(t,e){var n=!1!==(e=e||{}).strict;l=h(t),d=l.length,y=0;for(var r,o=[];!1!==(r=function(t){var e,n;if(d>>10&1023|55296),i=56320|1023&i),p+=g(i);return p}}},function(t,e){!function(h){"use strict";e.encode=function(t){for(var e=new Uint8Array(t),n=e.length,r="",o=0;o>2])+h[(3&e[o])<<4|e[o+1]>>4])+h[(15&e[o+1])<<2|e[o+2]>>6])+h[63&e[o+2]];return n%3==2?r=r.substring(0,r.length-1)+"=":n%3==1&&(r=r.substring(0,r.length-2)+"=="),r},e.decode=function(t){for(var e,n,r,o,i=.75*t.length,s=t.length,a=0,i=("="===t[t.length-1]&&(i--,"="===t[t.length-2]&&i--),new ArrayBuffer(i)),c=new Uint8Array(i),p=0;p>4,c[a++]=(15&n)<<4|r>>2,c[a++]=(3&r)<<6|63&o;return i}}("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/")},function(t,e){function r(t){return t.map(function(t){var e,n;return t.buffer instanceof ArrayBuffer?(e=t.buffer,t.byteLength!==e.byteLength&&((n=new Uint8Array(t.byteLength)).set(new Uint8Array(e,t.byteOffset,t.byteLength)),e=n.buffer),e):t})}function n(t,e){e=e||{};var n=new i;return r(t).forEach(function(t){n.append(t)}),e.type?n.getBlob(e.type):n.getBlob()}function o(t,e){return new Blob(r(t),e||{})}var i=void 0!==i?i:"undefined"!=typeof WebKitBlobBuilder?WebKitBlobBuilder:"undefined"!=typeof MSBlobBuilder?MSBlobBuilder:"undefined"!=typeof MozBlobBuilder&&MozBlobBuilder,s=function(){try{return 2===new Blob(["hi"]).size}catch(t){return!1}}(),a=s&&function(){try{return 2===new Blob([new Uint8Array([1,2])]).size}catch(t){return!1}}(),c=i&&i.prototype.append&&i.prototype.getBlob;"undefined"!=typeof Blob&&(n.prototype=Blob.prototype,o.prototype=Blob.prototype),t.exports=s?a?Blob:o:c?n:void 0},function(t,e){e.encode=function(t){var e,n="";for(e in t)t.hasOwnProperty(e)&&(n.length&&(n+="&"),n+=encodeURIComponent(e)+"="+encodeURIComponent(t[e]));return n},e.decode=function(t){for(var e={},n=t.split("&"),r=0,o=n.length;r';o=document.createElement(t)}catch(t){(o=document.createElement("iframe")).name=c.iframeId,o.src="javascript:0"}o.id=c.iframeId,c.form.appendChild(o),c.iframe=o}var o,i,s,a,c=this;this.form||(i=document.createElement("form"),s=document.createElement("textarea"),a=this.iframeId="eio_iframe_"+this.index,i.className="socketio",i.style.position="absolute",i.style.top="-1000px",i.style.left="-1000px",i.target=a,i.method="POST",i.setAttribute("accept-charset","utf-8"),s.name="d",i.appendChild(s),document.body.appendChild(i),this.form=i,this.area=s),this.form.action=this.uri(),r(),t=t.replace(h,"\\\n"),this.area.value=t.replace(p,"\\n");try{this.form.submit()}catch(t){}this.iframe.attachEvent?this.iframe.onreadystatechange=function(){"complete"===c.iframe.readyState&&n()}:this.iframe.onload=n}},function(t,e,n){function r(t){t&&t.forceBase64&&(this.supportsBinary=!1),this.perMessageDeflate=t.perMessageDeflate,this.usingBrowserWebSocket=o&&!t.forceNode,this.protocols=t.protocols,this.usingBrowserWebSocket||(f=i),s.call(this,t)}var o,i,s=n(21),a=n(22),c=n(30),p=n(31),h=n(32),u=n(3)("engine.io-client:websocket");if("undefined"!=typeof WebSocket?o=WebSocket:"undefined"!=typeof self&&(o=self.WebSocket||self.MozWebSocket),"undefined"==typeof window)try{i=n(35)}catch(t){}var f=o||i;p(t.exports=r,s),r.prototype.name="websocket",r.prototype.supportsBinary=!0,r.prototype.doOpen=function(){if(this.check()){var t=this.uri(),e=this.protocols,n={};this.isReactNative||(n.agent=this.agent,n.perMessageDeflate=this.perMessageDeflate,n.pfx=this.pfx,n.key=this.key,n.passphrase=this.passphrase,n.cert=this.cert,n.ca=this.ca,n.ciphers=this.ciphers,n.rejectUnauthorized=this.rejectUnauthorized),this.extraHeaders&&(n.headers=this.extraHeaders),this.localAddress&&(n.localAddress=this.localAddress);try{this.ws=this.usingBrowserWebSocket&&!this.isReactNative?e?new f(t,e):new f(t):new f(t,e,n)}catch(t){return this.emit("error",t)}void 0===this.ws.binaryType&&(this.supportsBinary=!1),this.ws.supports&&this.ws.supports.binary?(this.supportsBinary=!0,this.ws.binaryType="nodebuffer"):this.ws.binaryType="arraybuffer",this.addEventListeners()}},r.prototype.addEventListeners=function(){var e=this;this.ws.onopen=function(){e.onOpen()},this.ws.onclose=function(){e.onClose()},this.ws.onmessage=function(t){e.onData(t.data)},this.ws.onerror=function(t){e.onError("websocket error",t)}},r.prototype.write=function(t){var r=this;this.writable=!1;for(var o=t.length,e=0,n=o;e + + + + + + + + + + + + + +Pre-commit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + +
+ + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+ + +
+
+ +
+
+
+

pnl can be used as a pre-commit hook to enforce naming conventions before every commit.

+

Setup

+

Add the following to your .pre-commit-config.yaml:

+
- repo: https://github.com/heumsi/python-naming-linter
+  rev: ''  # Use the tag you want to point at (e.g., v0.1.0)
+  hooks:
+    - id: python-naming-linter
+
+ +

Custom Options

+

To pass custom options (e.g., a specific config file path), use args:

+
- repo: https://github.com/heumsi/python-naming-linter
+  rev: ''
+  hooks:
+    - id: python-naming-linter
+      args: [--config, custom-config.yaml]
+
+
+ + +
+ + + + +
+ +
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/site/search/lunr.js b/site/search/lunr.js new file mode 100644 index 0000000..aca0a16 --- /dev/null +++ b/site/search/lunr.js @@ -0,0 +1,3475 @@ +/** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + */ + +;(function(){ + +/** + * A convenience function for configuring and constructing + * a new lunr Index. + * + * A lunr.Builder instance is created and the pipeline setup + * with a trimmer, stop word filter and stemmer. + * + * This builder object is yielded to the configuration function + * that is passed as a parameter, allowing the list of fields + * and other builder parameters to be customised. + * + * All documents _must_ be added within the passed config function. + * + * @example + * var idx = lunr(function () { + * this.field('title') + * this.field('body') + * this.ref('id') + * + * documents.forEach(function (doc) { + * this.add(doc) + * }, this) + * }) + * + * @see {@link lunr.Builder} + * @see {@link lunr.Pipeline} + * @see {@link lunr.trimmer} + * @see {@link lunr.stopWordFilter} + * @see {@link lunr.stemmer} + * @namespace {function} lunr + */ +var lunr = function (config) { + var builder = new lunr.Builder + + builder.pipeline.add( + lunr.trimmer, + lunr.stopWordFilter, + lunr.stemmer + ) + + builder.searchPipeline.add( + lunr.stemmer + ) + + config.call(builder, builder) + return builder.build() +} + +lunr.version = "2.3.9" +/*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + */ + +/** + * A namespace containing utils for the rest of the lunr library + * @namespace lunr.utils + */ +lunr.utils = {} + +/** + * Print a warning message to the console. + * + * @param {String} message The message to be printed. + * @memberOf lunr.utils + * @function + */ +lunr.utils.warn = (function (global) { + /* eslint-disable no-console */ + return function (message) { + if (global.console && console.warn) { + console.warn(message) + } + } + /* eslint-enable no-console */ +})(this) + +/** + * Convert an object to a string. + * + * In the case of `null` and `undefined` the function returns + * the empty string, in all other cases the result of calling + * `toString` on the passed object is returned. + * + * @param {Any} obj The object to convert to a string. + * @return {String} string representation of the passed object. + * @memberOf lunr.utils + */ +lunr.utils.asString = function (obj) { + if (obj === void 0 || obj === null) { + return "" + } else { + return obj.toString() + } +} + +/** + * Clones an object. + * + * Will create a copy of an existing object such that any mutations + * on the copy cannot affect the original. + * + * Only shallow objects are supported, passing a nested object to this + * function will cause a TypeError. + * + * Objects with primitives, and arrays of primitives are supported. + * + * @param {Object} obj The object to clone. + * @return {Object} a clone of the passed object. + * @throws {TypeError} when a nested object is passed. + * @memberOf Utils + */ +lunr.utils.clone = function (obj) { + if (obj === null || obj === undefined) { + return obj + } + + var clone = Object.create(null), + keys = Object.keys(obj) + + for (var i = 0; i < keys.length; i++) { + var key = keys[i], + val = obj[key] + + if (Array.isArray(val)) { + clone[key] = val.slice() + continue + } + + if (typeof val === 'string' || + typeof val === 'number' || + typeof val === 'boolean') { + clone[key] = val + continue + } + + throw new TypeError("clone is not deep and does not support nested objects") + } + + return clone +} +lunr.FieldRef = function (docRef, fieldName, stringValue) { + this.docRef = docRef + this.fieldName = fieldName + this._stringValue = stringValue +} + +lunr.FieldRef.joiner = "/" + +lunr.FieldRef.fromString = function (s) { + var n = s.indexOf(lunr.FieldRef.joiner) + + if (n === -1) { + throw "malformed field ref string" + } + + var fieldRef = s.slice(0, n), + docRef = s.slice(n + 1) + + return new lunr.FieldRef (docRef, fieldRef, s) +} + +lunr.FieldRef.prototype.toString = function () { + if (this._stringValue == undefined) { + this._stringValue = this.fieldName + lunr.FieldRef.joiner + this.docRef + } + + return this._stringValue +} +/*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + */ + +/** + * A lunr set. + * + * @constructor + */ +lunr.Set = function (elements) { + this.elements = Object.create(null) + + if (elements) { + this.length = elements.length + + for (var i = 0; i < this.length; i++) { + this.elements[elements[i]] = true + } + } else { + this.length = 0 + } +} + +/** + * A complete set that contains all elements. + * + * @static + * @readonly + * @type {lunr.Set} + */ +lunr.Set.complete = { + intersect: function (other) { + return other + }, + + union: function () { + return this + }, + + contains: function () { + return true + } +} + +/** + * An empty set that contains no elements. + * + * @static + * @readonly + * @type {lunr.Set} + */ +lunr.Set.empty = { + intersect: function () { + return this + }, + + union: function (other) { + return other + }, + + contains: function () { + return false + } +} + +/** + * Returns true if this set contains the specified object. + * + * @param {object} object - Object whose presence in this set is to be tested. + * @returns {boolean} - True if this set contains the specified object. + */ +lunr.Set.prototype.contains = function (object) { + return !!this.elements[object] +} + +/** + * Returns a new set containing only the elements that are present in both + * this set and the specified set. + * + * @param {lunr.Set} other - set to intersect with this set. + * @returns {lunr.Set} a new set that is the intersection of this and the specified set. + */ + +lunr.Set.prototype.intersect = function (other) { + var a, b, elements, intersection = [] + + if (other === lunr.Set.complete) { + return this + } + + if (other === lunr.Set.empty) { + return other + } + + if (this.length < other.length) { + a = this + b = other + } else { + a = other + b = this + } + + elements = Object.keys(a.elements) + + for (var i = 0; i < elements.length; i++) { + var element = elements[i] + if (element in b.elements) { + intersection.push(element) + } + } + + return new lunr.Set (intersection) +} + +/** + * Returns a new set combining the elements of this and the specified set. + * + * @param {lunr.Set} other - set to union with this set. + * @return {lunr.Set} a new set that is the union of this and the specified set. + */ + +lunr.Set.prototype.union = function (other) { + if (other === lunr.Set.complete) { + return lunr.Set.complete + } + + if (other === lunr.Set.empty) { + return this + } + + return new lunr.Set(Object.keys(this.elements).concat(Object.keys(other.elements))) +} +/** + * A function to calculate the inverse document frequency for + * a posting. This is shared between the builder and the index + * + * @private + * @param {object} posting - The posting for a given term + * @param {number} documentCount - The total number of documents. + */ +lunr.idf = function (posting, documentCount) { + var documentsWithTerm = 0 + + for (var fieldName in posting) { + if (fieldName == '_index') continue // Ignore the term index, its not a field + documentsWithTerm += Object.keys(posting[fieldName]).length + } + + var x = (documentCount - documentsWithTerm + 0.5) / (documentsWithTerm + 0.5) + + return Math.log(1 + Math.abs(x)) +} + +/** + * A token wraps a string representation of a token + * as it is passed through the text processing pipeline. + * + * @constructor + * @param {string} [str=''] - The string token being wrapped. + * @param {object} [metadata={}] - Metadata associated with this token. + */ +lunr.Token = function (str, metadata) { + this.str = str || "" + this.metadata = metadata || {} +} + +/** + * Returns the token string that is being wrapped by this object. + * + * @returns {string} + */ +lunr.Token.prototype.toString = function () { + return this.str +} + +/** + * A token update function is used when updating or optionally + * when cloning a token. + * + * @callback lunr.Token~updateFunction + * @param {string} str - The string representation of the token. + * @param {Object} metadata - All metadata associated with this token. + */ + +/** + * Applies the given function to the wrapped string token. + * + * @example + * token.update(function (str, metadata) { + * return str.toUpperCase() + * }) + * + * @param {lunr.Token~updateFunction} fn - A function to apply to the token string. + * @returns {lunr.Token} + */ +lunr.Token.prototype.update = function (fn) { + this.str = fn(this.str, this.metadata) + return this +} + +/** + * Creates a clone of this token. Optionally a function can be + * applied to the cloned token. + * + * @param {lunr.Token~updateFunction} [fn] - An optional function to apply to the cloned token. + * @returns {lunr.Token} + */ +lunr.Token.prototype.clone = function (fn) { + fn = fn || function (s) { return s } + return new lunr.Token (fn(this.str, this.metadata), this.metadata) +} +/*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + */ + +/** + * A function for splitting a string into tokens ready to be inserted into + * the search index. Uses `lunr.tokenizer.separator` to split strings, change + * the value of this property to change how strings are split into tokens. + * + * This tokenizer will convert its parameter to a string by calling `toString` and + * then will split this string on the character in `lunr.tokenizer.separator`. + * Arrays will have their elements converted to strings and wrapped in a lunr.Token. + * + * Optional metadata can be passed to the tokenizer, this metadata will be cloned and + * added as metadata to every token that is created from the object to be tokenized. + * + * @static + * @param {?(string|object|object[])} obj - The object to convert into tokens + * @param {?object} metadata - Optional metadata to associate with every token + * @returns {lunr.Token[]} + * @see {@link lunr.Pipeline} + */ +lunr.tokenizer = function (obj, metadata) { + if (obj == null || obj == undefined) { + return [] + } + + if (Array.isArray(obj)) { + return obj.map(function (t) { + return new lunr.Token( + lunr.utils.asString(t).toLowerCase(), + lunr.utils.clone(metadata) + ) + }) + } + + var str = obj.toString().toLowerCase(), + len = str.length, + tokens = [] + + for (var sliceEnd = 0, sliceStart = 0; sliceEnd <= len; sliceEnd++) { + var char = str.charAt(sliceEnd), + sliceLength = sliceEnd - sliceStart + + if ((char.match(lunr.tokenizer.separator) || sliceEnd == len)) { + + if (sliceLength > 0) { + var tokenMetadata = lunr.utils.clone(metadata) || {} + tokenMetadata["position"] = [sliceStart, sliceLength] + tokenMetadata["index"] = tokens.length + + tokens.push( + new lunr.Token ( + str.slice(sliceStart, sliceEnd), + tokenMetadata + ) + ) + } + + sliceStart = sliceEnd + 1 + } + + } + + return tokens +} + +/** + * The separator used to split a string into tokens. Override this property to change the behaviour of + * `lunr.tokenizer` behaviour when tokenizing strings. By default this splits on whitespace and hyphens. + * + * @static + * @see lunr.tokenizer + */ +lunr.tokenizer.separator = /[\s\-]+/ +/*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + */ + +/** + * lunr.Pipelines maintain an ordered list of functions to be applied to all + * tokens in documents entering the search index and queries being ran against + * the index. + * + * An instance of lunr.Index created with the lunr shortcut will contain a + * pipeline with a stop word filter and an English language stemmer. Extra + * functions can be added before or after either of these functions or these + * default functions can be removed. + * + * When run the pipeline will call each function in turn, passing a token, the + * index of that token in the original list of all tokens and finally a list of + * all the original tokens. + * + * The output of functions in the pipeline will be passed to the next function + * in the pipeline. To exclude a token from entering the index the function + * should return undefined, the rest of the pipeline will not be called with + * this token. + * + * For serialisation of pipelines to work, all functions used in an instance of + * a pipeline should be registered with lunr.Pipeline. Registered functions can + * then be loaded. If trying to load a serialised pipeline that uses functions + * that are not registered an error will be thrown. + * + * If not planning on serialising the pipeline then registering pipeline functions + * is not necessary. + * + * @constructor + */ +lunr.Pipeline = function () { + this._stack = [] +} + +lunr.Pipeline.registeredFunctions = Object.create(null) + +/** + * A pipeline function maps lunr.Token to lunr.Token. A lunr.Token contains the token + * string as well as all known metadata. A pipeline function can mutate the token string + * or mutate (or add) metadata for a given token. + * + * A pipeline function can indicate that the passed token should be discarded by returning + * null, undefined or an empty string. This token will not be passed to any downstream pipeline + * functions and will not be added to the index. + * + * Multiple tokens can be returned by returning an array of tokens. Each token will be passed + * to any downstream pipeline functions and all will returned tokens will be added to the index. + * + * Any number of pipeline functions may be chained together using a lunr.Pipeline. + * + * @interface lunr.PipelineFunction + * @param {lunr.Token} token - A token from the document being processed. + * @param {number} i - The index of this token in the complete list of tokens for this document/field. + * @param {lunr.Token[]} tokens - All tokens for this document/field. + * @returns {(?lunr.Token|lunr.Token[])} + */ + +/** + * Register a function with the pipeline. + * + * Functions that are used in the pipeline should be registered if the pipeline + * needs to be serialised, or a serialised pipeline needs to be loaded. + * + * Registering a function does not add it to a pipeline, functions must still be + * added to instances of the pipeline for them to be used when running a pipeline. + * + * @param {lunr.PipelineFunction} fn - The function to check for. + * @param {String} label - The label to register this function with + */ +lunr.Pipeline.registerFunction = function (fn, label) { + if (label in this.registeredFunctions) { + lunr.utils.warn('Overwriting existing registered function: ' + label) + } + + fn.label = label + lunr.Pipeline.registeredFunctions[fn.label] = fn +} + +/** + * Warns if the function is not registered as a Pipeline function. + * + * @param {lunr.PipelineFunction} fn - The function to check for. + * @private + */ +lunr.Pipeline.warnIfFunctionNotRegistered = function (fn) { + var isRegistered = fn.label && (fn.label in this.registeredFunctions) + + if (!isRegistered) { + lunr.utils.warn('Function is not registered with pipeline. This may cause problems when serialising the index.\n', fn) + } +} + +/** + * Loads a previously serialised pipeline. + * + * All functions to be loaded must already be registered with lunr.Pipeline. + * If any function from the serialised data has not been registered then an + * error will be thrown. + * + * @param {Object} serialised - The serialised pipeline to load. + * @returns {lunr.Pipeline} + */ +lunr.Pipeline.load = function (serialised) { + var pipeline = new lunr.Pipeline + + serialised.forEach(function (fnName) { + var fn = lunr.Pipeline.registeredFunctions[fnName] + + if (fn) { + pipeline.add(fn) + } else { + throw new Error('Cannot load unregistered function: ' + fnName) + } + }) + + return pipeline +} + +/** + * Adds new functions to the end of the pipeline. + * + * Logs a warning if the function has not been registered. + * + * @param {lunr.PipelineFunction[]} functions - Any number of functions to add to the pipeline. + */ +lunr.Pipeline.prototype.add = function () { + var fns = Array.prototype.slice.call(arguments) + + fns.forEach(function (fn) { + lunr.Pipeline.warnIfFunctionNotRegistered(fn) + this._stack.push(fn) + }, this) +} + +/** + * Adds a single function after a function that already exists in the + * pipeline. + * + * Logs a warning if the function has not been registered. + * + * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline. + * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline. + */ +lunr.Pipeline.prototype.after = function (existingFn, newFn) { + lunr.Pipeline.warnIfFunctionNotRegistered(newFn) + + var pos = this._stack.indexOf(existingFn) + if (pos == -1) { + throw new Error('Cannot find existingFn') + } + + pos = pos + 1 + this._stack.splice(pos, 0, newFn) +} + +/** + * Adds a single function before a function that already exists in the + * pipeline. + * + * Logs a warning if the function has not been registered. + * + * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline. + * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline. + */ +lunr.Pipeline.prototype.before = function (existingFn, newFn) { + lunr.Pipeline.warnIfFunctionNotRegistered(newFn) + + var pos = this._stack.indexOf(existingFn) + if (pos == -1) { + throw new Error('Cannot find existingFn') + } + + this._stack.splice(pos, 0, newFn) +} + +/** + * Removes a function from the pipeline. + * + * @param {lunr.PipelineFunction} fn The function to remove from the pipeline. + */ +lunr.Pipeline.prototype.remove = function (fn) { + var pos = this._stack.indexOf(fn) + if (pos == -1) { + return + } + + this._stack.splice(pos, 1) +} + +/** + * Runs the current list of functions that make up the pipeline against the + * passed tokens. + * + * @param {Array} tokens The tokens to run through the pipeline. + * @returns {Array} + */ +lunr.Pipeline.prototype.run = function (tokens) { + var stackLength = this._stack.length + + for (var i = 0; i < stackLength; i++) { + var fn = this._stack[i] + var memo = [] + + for (var j = 0; j < tokens.length; j++) { + var result = fn(tokens[j], j, tokens) + + if (result === null || result === void 0 || result === '') continue + + if (Array.isArray(result)) { + for (var k = 0; k < result.length; k++) { + memo.push(result[k]) + } + } else { + memo.push(result) + } + } + + tokens = memo + } + + return tokens +} + +/** + * Convenience method for passing a string through a pipeline and getting + * strings out. This method takes care of wrapping the passed string in a + * token and mapping the resulting tokens back to strings. + * + * @param {string} str - The string to pass through the pipeline. + * @param {?object} metadata - Optional metadata to associate with the token + * passed to the pipeline. + * @returns {string[]} + */ +lunr.Pipeline.prototype.runString = function (str, metadata) { + var token = new lunr.Token (str, metadata) + + return this.run([token]).map(function (t) { + return t.toString() + }) +} + +/** + * Resets the pipeline by removing any existing processors. + * + */ +lunr.Pipeline.prototype.reset = function () { + this._stack = [] +} + +/** + * Returns a representation of the pipeline ready for serialisation. + * + * Logs a warning if the function has not been registered. + * + * @returns {Array} + */ +lunr.Pipeline.prototype.toJSON = function () { + return this._stack.map(function (fn) { + lunr.Pipeline.warnIfFunctionNotRegistered(fn) + + return fn.label + }) +} +/*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + */ + +/** + * A vector is used to construct the vector space of documents and queries. These + * vectors support operations to determine the similarity between two documents or + * a document and a query. + * + * Normally no parameters are required for initializing a vector, but in the case of + * loading a previously dumped vector the raw elements can be provided to the constructor. + * + * For performance reasons vectors are implemented with a flat array, where an elements + * index is immediately followed by its value. E.g. [index, value, index, value]. This + * allows the underlying array to be as sparse as possible and still offer decent + * performance when being used for vector calculations. + * + * @constructor + * @param {Number[]} [elements] - The flat list of element index and element value pairs. + */ +lunr.Vector = function (elements) { + this._magnitude = 0 + this.elements = elements || [] +} + + +/** + * Calculates the position within the vector to insert a given index. + * + * This is used internally by insert and upsert. If there are duplicate indexes then + * the position is returned as if the value for that index were to be updated, but it + * is the callers responsibility to check whether there is a duplicate at that index + * + * @param {Number} insertIdx - The index at which the element should be inserted. + * @returns {Number} + */ +lunr.Vector.prototype.positionForIndex = function (index) { + // For an empty vector the tuple can be inserted at the beginning + if (this.elements.length == 0) { + return 0 + } + + var start = 0, + end = this.elements.length / 2, + sliceLength = end - start, + pivotPoint = Math.floor(sliceLength / 2), + pivotIndex = this.elements[pivotPoint * 2] + + while (sliceLength > 1) { + if (pivotIndex < index) { + start = pivotPoint + } + + if (pivotIndex > index) { + end = pivotPoint + } + + if (pivotIndex == index) { + break + } + + sliceLength = end - start + pivotPoint = start + Math.floor(sliceLength / 2) + pivotIndex = this.elements[pivotPoint * 2] + } + + if (pivotIndex == index) { + return pivotPoint * 2 + } + + if (pivotIndex > index) { + return pivotPoint * 2 + } + + if (pivotIndex < index) { + return (pivotPoint + 1) * 2 + } +} + +/** + * Inserts an element at an index within the vector. + * + * Does not allow duplicates, will throw an error if there is already an entry + * for this index. + * + * @param {Number} insertIdx - The index at which the element should be inserted. + * @param {Number} val - The value to be inserted into the vector. + */ +lunr.Vector.prototype.insert = function (insertIdx, val) { + this.upsert(insertIdx, val, function () { + throw "duplicate index" + }) +} + +/** + * Inserts or updates an existing index within the vector. + * + * @param {Number} insertIdx - The index at which the element should be inserted. + * @param {Number} val - The value to be inserted into the vector. + * @param {function} fn - A function that is called for updates, the existing value and the + * requested value are passed as arguments + */ +lunr.Vector.prototype.upsert = function (insertIdx, val, fn) { + this._magnitude = 0 + var position = this.positionForIndex(insertIdx) + + if (this.elements[position] == insertIdx) { + this.elements[position + 1] = fn(this.elements[position + 1], val) + } else { + this.elements.splice(position, 0, insertIdx, val) + } +} + +/** + * Calculates the magnitude of this vector. + * + * @returns {Number} + */ +lunr.Vector.prototype.magnitude = function () { + if (this._magnitude) return this._magnitude + + var sumOfSquares = 0, + elementsLength = this.elements.length + + for (var i = 1; i < elementsLength; i += 2) { + var val = this.elements[i] + sumOfSquares += val * val + } + + return this._magnitude = Math.sqrt(sumOfSquares) +} + +/** + * Calculates the dot product of this vector and another vector. + * + * @param {lunr.Vector} otherVector - The vector to compute the dot product with. + * @returns {Number} + */ +lunr.Vector.prototype.dot = function (otherVector) { + var dotProduct = 0, + a = this.elements, b = otherVector.elements, + aLen = a.length, bLen = b.length, + aVal = 0, bVal = 0, + i = 0, j = 0 + + while (i < aLen && j < bLen) { + aVal = a[i], bVal = b[j] + if (aVal < bVal) { + i += 2 + } else if (aVal > bVal) { + j += 2 + } else if (aVal == bVal) { + dotProduct += a[i + 1] * b[j + 1] + i += 2 + j += 2 + } + } + + return dotProduct +} + +/** + * Calculates the similarity between this vector and another vector. + * + * @param {lunr.Vector} otherVector - The other vector to calculate the + * similarity with. + * @returns {Number} + */ +lunr.Vector.prototype.similarity = function (otherVector) { + return this.dot(otherVector) / this.magnitude() || 0 +} + +/** + * Converts the vector to an array of the elements within the vector. + * + * @returns {Number[]} + */ +lunr.Vector.prototype.toArray = function () { + var output = new Array (this.elements.length / 2) + + for (var i = 1, j = 0; i < this.elements.length; i += 2, j++) { + output[j] = this.elements[i] + } + + return output +} + +/** + * A JSON serializable representation of the vector. + * + * @returns {Number[]} + */ +lunr.Vector.prototype.toJSON = function () { + return this.elements +} +/* eslint-disable */ +/*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + */ + +/** + * lunr.stemmer is an english language stemmer, this is a JavaScript + * implementation of the PorterStemmer taken from http://tartarus.org/~martin + * + * @static + * @implements {lunr.PipelineFunction} + * @param {lunr.Token} token - The string to stem + * @returns {lunr.Token} + * @see {@link lunr.Pipeline} + * @function + */ +lunr.stemmer = (function(){ + var step2list = { + "ational" : "ate", + "tional" : "tion", + "enci" : "ence", + "anci" : "ance", + "izer" : "ize", + "bli" : "ble", + "alli" : "al", + "entli" : "ent", + "eli" : "e", + "ousli" : "ous", + "ization" : "ize", + "ation" : "ate", + "ator" : "ate", + "alism" : "al", + "iveness" : "ive", + "fulness" : "ful", + "ousness" : "ous", + "aliti" : "al", + "iviti" : "ive", + "biliti" : "ble", + "logi" : "log" + }, + + step3list = { + "icate" : "ic", + "ative" : "", + "alize" : "al", + "iciti" : "ic", + "ical" : "ic", + "ful" : "", + "ness" : "" + }, + + c = "[^aeiou]", // consonant + v = "[aeiouy]", // vowel + C = c + "[^aeiouy]*", // consonant sequence + V = v + "[aeiou]*", // vowel sequence + + mgr0 = "^(" + C + ")?" + V + C, // [C]VC... is m>0 + meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$", // [C]VC[V] is m=1 + mgr1 = "^(" + C + ")?" + V + C + V + C, // [C]VCVC... is m>1 + s_v = "^(" + C + ")?" + v; // vowel in stem + + var re_mgr0 = new RegExp(mgr0); + var re_mgr1 = new RegExp(mgr1); + var re_meq1 = new RegExp(meq1); + var re_s_v = new RegExp(s_v); + + var re_1a = /^(.+?)(ss|i)es$/; + var re2_1a = /^(.+?)([^s])s$/; + var re_1b = /^(.+?)eed$/; + var re2_1b = /^(.+?)(ed|ing)$/; + var re_1b_2 = /.$/; + var re2_1b_2 = /(at|bl|iz)$/; + var re3_1b_2 = new RegExp("([^aeiouylsz])\\1$"); + var re4_1b_2 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + + var re_1c = /^(.+?[^aeiou])y$/; + var re_2 = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; + + var re_3 = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; + + var re_4 = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; + var re2_4 = /^(.+?)(s|t)(ion)$/; + + var re_5 = /^(.+?)e$/; + var re_5_1 = /ll$/; + var re3_5 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + + var porterStemmer = function porterStemmer(w) { + var stem, + suffix, + firstch, + re, + re2, + re3, + re4; + + if (w.length < 3) { return w; } + + firstch = w.substr(0,1); + if (firstch == "y") { + w = firstch.toUpperCase() + w.substr(1); + } + + // Step 1a + re = re_1a + re2 = re2_1a; + + if (re.test(w)) { w = w.replace(re,"$1$2"); } + else if (re2.test(w)) { w = w.replace(re2,"$1$2"); } + + // Step 1b + re = re_1b; + re2 = re2_1b; + if (re.test(w)) { + var fp = re.exec(w); + re = re_mgr0; + if (re.test(fp[1])) { + re = re_1b_2; + w = w.replace(re,""); + } + } else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1]; + re2 = re_s_v; + if (re2.test(stem)) { + w = stem; + re2 = re2_1b_2; + re3 = re3_1b_2; + re4 = re4_1b_2; + if (re2.test(w)) { w = w + "e"; } + else if (re3.test(w)) { re = re_1b_2; w = w.replace(re,""); } + else if (re4.test(w)) { w = w + "e"; } + } + } + + // Step 1c - replace suffix y or Y by i if preceded by a non-vowel which is not the first letter of the word (so cry -> cri, by -> by, say -> say) + re = re_1c; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + w = stem + "i"; + } + + // Step 2 + re = re_2; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = re_mgr0; + if (re.test(stem)) { + w = stem + step2list[suffix]; + } + } + + // Step 3 + re = re_3; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = re_mgr0; + if (re.test(stem)) { + w = stem + step3list[suffix]; + } + } + + // Step 4 + re = re_4; + re2 = re2_4; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = re_mgr1; + if (re.test(stem)) { + w = stem; + } + } else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1] + fp[2]; + re2 = re_mgr1; + if (re2.test(stem)) { + w = stem; + } + } + + // Step 5 + re = re_5; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = re_mgr1; + re2 = re_meq1; + re3 = re3_5; + if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) { + w = stem; + } + } + + re = re_5_1; + re2 = re_mgr1; + if (re.test(w) && re2.test(w)) { + re = re_1b_2; + w = w.replace(re,""); + } + + // and turn initial Y back to y + + if (firstch == "y") { + w = firstch.toLowerCase() + w.substr(1); + } + + return w; + }; + + return function (token) { + return token.update(porterStemmer); + } +})(); + +lunr.Pipeline.registerFunction(lunr.stemmer, 'stemmer') +/*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + */ + +/** + * lunr.generateStopWordFilter builds a stopWordFilter function from the provided + * list of stop words. + * + * The built in lunr.stopWordFilter is built using this generator and can be used + * to generate custom stopWordFilters for applications or non English languages. + * + * @function + * @param {Array} token The token to pass through the filter + * @returns {lunr.PipelineFunction} + * @see lunr.Pipeline + * @see lunr.stopWordFilter + */ +lunr.generateStopWordFilter = function (stopWords) { + var words = stopWords.reduce(function (memo, stopWord) { + memo[stopWord] = stopWord + return memo + }, {}) + + return function (token) { + if (token && words[token.toString()] !== token.toString()) return token + } +} + +/** + * lunr.stopWordFilter is an English language stop word list filter, any words + * contained in the list will not be passed through the filter. + * + * This is intended to be used in the Pipeline. If the token does not pass the + * filter then undefined will be returned. + * + * @function + * @implements {lunr.PipelineFunction} + * @params {lunr.Token} token - A token to check for being a stop word. + * @returns {lunr.Token} + * @see {@link lunr.Pipeline} + */ +lunr.stopWordFilter = lunr.generateStopWordFilter([ + 'a', + 'able', + 'about', + 'across', + 'after', + 'all', + 'almost', + 'also', + 'am', + 'among', + 'an', + 'and', + 'any', + 'are', + 'as', + 'at', + 'be', + 'because', + 'been', + 'but', + 'by', + 'can', + 'cannot', + 'could', + 'dear', + 'did', + 'do', + 'does', + 'either', + 'else', + 'ever', + 'every', + 'for', + 'from', + 'get', + 'got', + 'had', + 'has', + 'have', + 'he', + 'her', + 'hers', + 'him', + 'his', + 'how', + 'however', + 'i', + 'if', + 'in', + 'into', + 'is', + 'it', + 'its', + 'just', + 'least', + 'let', + 'like', + 'likely', + 'may', + 'me', + 'might', + 'most', + 'must', + 'my', + 'neither', + 'no', + 'nor', + 'not', + 'of', + 'off', + 'often', + 'on', + 'only', + 'or', + 'other', + 'our', + 'own', + 'rather', + 'said', + 'say', + 'says', + 'she', + 'should', + 'since', + 'so', + 'some', + 'than', + 'that', + 'the', + 'their', + 'them', + 'then', + 'there', + 'these', + 'they', + 'this', + 'tis', + 'to', + 'too', + 'twas', + 'us', + 'wants', + 'was', + 'we', + 'were', + 'what', + 'when', + 'where', + 'which', + 'while', + 'who', + 'whom', + 'why', + 'will', + 'with', + 'would', + 'yet', + 'you', + 'your' +]) + +lunr.Pipeline.registerFunction(lunr.stopWordFilter, 'stopWordFilter') +/*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + */ + +/** + * lunr.trimmer is a pipeline function for trimming non word + * characters from the beginning and end of tokens before they + * enter the index. + * + * This implementation may not work correctly for non latin + * characters and should either be removed or adapted for use + * with languages with non-latin characters. + * + * @static + * @implements {lunr.PipelineFunction} + * @param {lunr.Token} token The token to pass through the filter + * @returns {lunr.Token} + * @see lunr.Pipeline + */ +lunr.trimmer = function (token) { + return token.update(function (s) { + return s.replace(/^\W+/, '').replace(/\W+$/, '') + }) +} + +lunr.Pipeline.registerFunction(lunr.trimmer, 'trimmer') +/*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + */ + +/** + * A token set is used to store the unique list of all tokens + * within an index. Token sets are also used to represent an + * incoming query to the index, this query token set and index + * token set are then intersected to find which tokens to look + * up in the inverted index. + * + * A token set can hold multiple tokens, as in the case of the + * index token set, or it can hold a single token as in the + * case of a simple query token set. + * + * Additionally token sets are used to perform wildcard matching. + * Leading, contained and trailing wildcards are supported, and + * from this edit distance matching can also be provided. + * + * Token sets are implemented as a minimal finite state automata, + * where both common prefixes and suffixes are shared between tokens. + * This helps to reduce the space used for storing the token set. + * + * @constructor + */ +lunr.TokenSet = function () { + this.final = false + this.edges = {} + this.id = lunr.TokenSet._nextId + lunr.TokenSet._nextId += 1 +} + +/** + * Keeps track of the next, auto increment, identifier to assign + * to a new tokenSet. + * + * TokenSets require a unique identifier to be correctly minimised. + * + * @private + */ +lunr.TokenSet._nextId = 1 + +/** + * Creates a TokenSet instance from the given sorted array of words. + * + * @param {String[]} arr - A sorted array of strings to create the set from. + * @returns {lunr.TokenSet} + * @throws Will throw an error if the input array is not sorted. + */ +lunr.TokenSet.fromArray = function (arr) { + var builder = new lunr.TokenSet.Builder + + for (var i = 0, len = arr.length; i < len; i++) { + builder.insert(arr[i]) + } + + builder.finish() + return builder.root +} + +/** + * Creates a token set from a query clause. + * + * @private + * @param {Object} clause - A single clause from lunr.Query. + * @param {string} clause.term - The query clause term. + * @param {number} [clause.editDistance] - The optional edit distance for the term. + * @returns {lunr.TokenSet} + */ +lunr.TokenSet.fromClause = function (clause) { + if ('editDistance' in clause) { + return lunr.TokenSet.fromFuzzyString(clause.term, clause.editDistance) + } else { + return lunr.TokenSet.fromString(clause.term) + } +} + +/** + * Creates a token set representing a single string with a specified + * edit distance. + * + * Insertions, deletions, substitutions and transpositions are each + * treated as an edit distance of 1. + * + * Increasing the allowed edit distance will have a dramatic impact + * on the performance of both creating and intersecting these TokenSets. + * It is advised to keep the edit distance less than 3. + * + * @param {string} str - The string to create the token set from. + * @param {number} editDistance - The allowed edit distance to match. + * @returns {lunr.Vector} + */ +lunr.TokenSet.fromFuzzyString = function (str, editDistance) { + var root = new lunr.TokenSet + + var stack = [{ + node: root, + editsRemaining: editDistance, + str: str + }] + + while (stack.length) { + var frame = stack.pop() + + // no edit + if (frame.str.length > 0) { + var char = frame.str.charAt(0), + noEditNode + + if (char in frame.node.edges) { + noEditNode = frame.node.edges[char] + } else { + noEditNode = new lunr.TokenSet + frame.node.edges[char] = noEditNode + } + + if (frame.str.length == 1) { + noEditNode.final = true + } + + stack.push({ + node: noEditNode, + editsRemaining: frame.editsRemaining, + str: frame.str.slice(1) + }) + } + + if (frame.editsRemaining == 0) { + continue + } + + // insertion + if ("*" in frame.node.edges) { + var insertionNode = frame.node.edges["*"] + } else { + var insertionNode = new lunr.TokenSet + frame.node.edges["*"] = insertionNode + } + + if (frame.str.length == 0) { + insertionNode.final = true + } + + stack.push({ + node: insertionNode, + editsRemaining: frame.editsRemaining - 1, + str: frame.str + }) + + // deletion + // can only do a deletion if we have enough edits remaining + // and if there are characters left to delete in the string + if (frame.str.length > 1) { + stack.push({ + node: frame.node, + editsRemaining: frame.editsRemaining - 1, + str: frame.str.slice(1) + }) + } + + // deletion + // just removing the last character from the str + if (frame.str.length == 1) { + frame.node.final = true + } + + // substitution + // can only do a substitution if we have enough edits remaining + // and if there are characters left to substitute + if (frame.str.length >= 1) { + if ("*" in frame.node.edges) { + var substitutionNode = frame.node.edges["*"] + } else { + var substitutionNode = new lunr.TokenSet + frame.node.edges["*"] = substitutionNode + } + + if (frame.str.length == 1) { + substitutionNode.final = true + } + + stack.push({ + node: substitutionNode, + editsRemaining: frame.editsRemaining - 1, + str: frame.str.slice(1) + }) + } + + // transposition + // can only do a transposition if there are edits remaining + // and there are enough characters to transpose + if (frame.str.length > 1) { + var charA = frame.str.charAt(0), + charB = frame.str.charAt(1), + transposeNode + + if (charB in frame.node.edges) { + transposeNode = frame.node.edges[charB] + } else { + transposeNode = new lunr.TokenSet + frame.node.edges[charB] = transposeNode + } + + if (frame.str.length == 1) { + transposeNode.final = true + } + + stack.push({ + node: transposeNode, + editsRemaining: frame.editsRemaining - 1, + str: charA + frame.str.slice(2) + }) + } + } + + return root +} + +/** + * Creates a TokenSet from a string. + * + * The string may contain one or more wildcard characters (*) + * that will allow wildcard matching when intersecting with + * another TokenSet. + * + * @param {string} str - The string to create a TokenSet from. + * @returns {lunr.TokenSet} + */ +lunr.TokenSet.fromString = function (str) { + var node = new lunr.TokenSet, + root = node + + /* + * Iterates through all characters within the passed string + * appending a node for each character. + * + * When a wildcard character is found then a self + * referencing edge is introduced to continually match + * any number of any characters. + */ + for (var i = 0, len = str.length; i < len; i++) { + var char = str[i], + final = (i == len - 1) + + if (char == "*") { + node.edges[char] = node + node.final = final + + } else { + var next = new lunr.TokenSet + next.final = final + + node.edges[char] = next + node = next + } + } + + return root +} + +/** + * Converts this TokenSet into an array of strings + * contained within the TokenSet. + * + * This is not intended to be used on a TokenSet that + * contains wildcards, in these cases the results are + * undefined and are likely to cause an infinite loop. + * + * @returns {string[]} + */ +lunr.TokenSet.prototype.toArray = function () { + var words = [] + + var stack = [{ + prefix: "", + node: this + }] + + while (stack.length) { + var frame = stack.pop(), + edges = Object.keys(frame.node.edges), + len = edges.length + + if (frame.node.final) { + /* In Safari, at this point the prefix is sometimes corrupted, see: + * https://github.com/olivernn/lunr.js/issues/279 Calling any + * String.prototype method forces Safari to "cast" this string to what + * it's supposed to be, fixing the bug. */ + frame.prefix.charAt(0) + words.push(frame.prefix) + } + + for (var i = 0; i < len; i++) { + var edge = edges[i] + + stack.push({ + prefix: frame.prefix.concat(edge), + node: frame.node.edges[edge] + }) + } + } + + return words +} + +/** + * Generates a string representation of a TokenSet. + * + * This is intended to allow TokenSets to be used as keys + * in objects, largely to aid the construction and minimisation + * of a TokenSet. As such it is not designed to be a human + * friendly representation of the TokenSet. + * + * @returns {string} + */ +lunr.TokenSet.prototype.toString = function () { + // NOTE: Using Object.keys here as this.edges is very likely + // to enter 'hash-mode' with many keys being added + // + // avoiding a for-in loop here as it leads to the function + // being de-optimised (at least in V8). From some simple + // benchmarks the performance is comparable, but allowing + // V8 to optimize may mean easy performance wins in the future. + + if (this._str) { + return this._str + } + + var str = this.final ? '1' : '0', + labels = Object.keys(this.edges).sort(), + len = labels.length + + for (var i = 0; i < len; i++) { + var label = labels[i], + node = this.edges[label] + + str = str + label + node.id + } + + return str +} + +/** + * Returns a new TokenSet that is the intersection of + * this TokenSet and the passed TokenSet. + * + * This intersection will take into account any wildcards + * contained within the TokenSet. + * + * @param {lunr.TokenSet} b - An other TokenSet to intersect with. + * @returns {lunr.TokenSet} + */ +lunr.TokenSet.prototype.intersect = function (b) { + var output = new lunr.TokenSet, + frame = undefined + + var stack = [{ + qNode: b, + output: output, + node: this + }] + + while (stack.length) { + frame = stack.pop() + + // NOTE: As with the #toString method, we are using + // Object.keys and a for loop instead of a for-in loop + // as both of these objects enter 'hash' mode, causing + // the function to be de-optimised in V8 + var qEdges = Object.keys(frame.qNode.edges), + qLen = qEdges.length, + nEdges = Object.keys(frame.node.edges), + nLen = nEdges.length + + for (var q = 0; q < qLen; q++) { + var qEdge = qEdges[q] + + for (var n = 0; n < nLen; n++) { + var nEdge = nEdges[n] + + if (nEdge == qEdge || qEdge == '*') { + var node = frame.node.edges[nEdge], + qNode = frame.qNode.edges[qEdge], + final = node.final && qNode.final, + next = undefined + + if (nEdge in frame.output.edges) { + // an edge already exists for this character + // no need to create a new node, just set the finality + // bit unless this node is already final + next = frame.output.edges[nEdge] + next.final = next.final || final + + } else { + // no edge exists yet, must create one + // set the finality bit and insert it + // into the output + next = new lunr.TokenSet + next.final = final + frame.output.edges[nEdge] = next + } + + stack.push({ + qNode: qNode, + output: next, + node: node + }) + } + } + } + } + + return output +} +lunr.TokenSet.Builder = function () { + this.previousWord = "" + this.root = new lunr.TokenSet + this.uncheckedNodes = [] + this.minimizedNodes = {} +} + +lunr.TokenSet.Builder.prototype.insert = function (word) { + var node, + commonPrefix = 0 + + if (word < this.previousWord) { + throw new Error ("Out of order word insertion") + } + + for (var i = 0; i < word.length && i < this.previousWord.length; i++) { + if (word[i] != this.previousWord[i]) break + commonPrefix++ + } + + this.minimize(commonPrefix) + + if (this.uncheckedNodes.length == 0) { + node = this.root + } else { + node = this.uncheckedNodes[this.uncheckedNodes.length - 1].child + } + + for (var i = commonPrefix; i < word.length; i++) { + var nextNode = new lunr.TokenSet, + char = word[i] + + node.edges[char] = nextNode + + this.uncheckedNodes.push({ + parent: node, + char: char, + child: nextNode + }) + + node = nextNode + } + + node.final = true + this.previousWord = word +} + +lunr.TokenSet.Builder.prototype.finish = function () { + this.minimize(0) +} + +lunr.TokenSet.Builder.prototype.minimize = function (downTo) { + for (var i = this.uncheckedNodes.length - 1; i >= downTo; i--) { + var node = this.uncheckedNodes[i], + childKey = node.child.toString() + + if (childKey in this.minimizedNodes) { + node.parent.edges[node.char] = this.minimizedNodes[childKey] + } else { + // Cache the key for this node since + // we know it can't change anymore + node.child._str = childKey + + this.minimizedNodes[childKey] = node.child + } + + this.uncheckedNodes.pop() + } +} +/*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + */ + +/** + * An index contains the built index of all documents and provides a query interface + * to the index. + * + * Usually instances of lunr.Index will not be created using this constructor, instead + * lunr.Builder should be used to construct new indexes, or lunr.Index.load should be + * used to load previously built and serialized indexes. + * + * @constructor + * @param {Object} attrs - The attributes of the built search index. + * @param {Object} attrs.invertedIndex - An index of term/field to document reference. + * @param {Object} attrs.fieldVectors - Field vectors + * @param {lunr.TokenSet} attrs.tokenSet - An set of all corpus tokens. + * @param {string[]} attrs.fields - The names of indexed document fields. + * @param {lunr.Pipeline} attrs.pipeline - The pipeline to use for search terms. + */ +lunr.Index = function (attrs) { + this.invertedIndex = attrs.invertedIndex + this.fieldVectors = attrs.fieldVectors + this.tokenSet = attrs.tokenSet + this.fields = attrs.fields + this.pipeline = attrs.pipeline +} + +/** + * A result contains details of a document matching a search query. + * @typedef {Object} lunr.Index~Result + * @property {string} ref - The reference of the document this result represents. + * @property {number} score - A number between 0 and 1 representing how similar this document is to the query. + * @property {lunr.MatchData} matchData - Contains metadata about this match including which term(s) caused the match. + */ + +/** + * Although lunr provides the ability to create queries using lunr.Query, it also provides a simple + * query language which itself is parsed into an instance of lunr.Query. + * + * For programmatically building queries it is advised to directly use lunr.Query, the query language + * is best used for human entered text rather than program generated text. + * + * At its simplest queries can just be a single term, e.g. `hello`, multiple terms are also supported + * and will be combined with OR, e.g `hello world` will match documents that contain either 'hello' + * or 'world', though those that contain both will rank higher in the results. + * + * Wildcards can be included in terms to match one or more unspecified characters, these wildcards can + * be inserted anywhere within the term, and more than one wildcard can exist in a single term. Adding + * wildcards will increase the number of documents that will be found but can also have a negative + * impact on query performance, especially with wildcards at the beginning of a term. + * + * Terms can be restricted to specific fields, e.g. `title:hello`, only documents with the term + * hello in the title field will match this query. Using a field not present in the index will lead + * to an error being thrown. + * + * Modifiers can also be added to terms, lunr supports edit distance and boost modifiers on terms. A term + * boost will make documents matching that term score higher, e.g. `foo^5`. Edit distance is also supported + * to provide fuzzy matching, e.g. 'hello~2' will match documents with hello with an edit distance of 2. + * Avoid large values for edit distance to improve query performance. + * + * Each term also supports a presence modifier. By default a term's presence in document is optional, however + * this can be changed to either required or prohibited. For a term's presence to be required in a document the + * term should be prefixed with a '+', e.g. `+foo bar` is a search for documents that must contain 'foo' and + * optionally contain 'bar'. Conversely a leading '-' sets the terms presence to prohibited, i.e. it must not + * appear in a document, e.g. `-foo bar` is a search for documents that do not contain 'foo' but may contain 'bar'. + * + * To escape special characters the backslash character '\' can be used, this allows searches to include + * characters that would normally be considered modifiers, e.g. `foo\~2` will search for a term "foo~2" instead + * of attempting to apply a boost of 2 to the search term "foo". + * + * @typedef {string} lunr.Index~QueryString + * @example Simple single term query + * hello + * @example Multiple term query + * hello world + * @example term scoped to a field + * title:hello + * @example term with a boost of 10 + * hello^10 + * @example term with an edit distance of 2 + * hello~2 + * @example terms with presence modifiers + * -foo +bar baz + */ + +/** + * Performs a search against the index using lunr query syntax. + * + * Results will be returned sorted by their score, the most relevant results + * will be returned first. For details on how the score is calculated, please see + * the {@link https://lunrjs.com/guides/searching.html#scoring|guide}. + * + * For more programmatic querying use lunr.Index#query. + * + * @param {lunr.Index~QueryString} queryString - A string containing a lunr query. + * @throws {lunr.QueryParseError} If the passed query string cannot be parsed. + * @returns {lunr.Index~Result[]} + */ +lunr.Index.prototype.search = function (queryString) { + return this.query(function (query) { + var parser = new lunr.QueryParser(queryString, query) + parser.parse() + }) +} + +/** + * A query builder callback provides a query object to be used to express + * the query to perform on the index. + * + * @callback lunr.Index~queryBuilder + * @param {lunr.Query} query - The query object to build up. + * @this lunr.Query + */ + +/** + * Performs a query against the index using the yielded lunr.Query object. + * + * If performing programmatic queries against the index, this method is preferred + * over lunr.Index#search so as to avoid the additional query parsing overhead. + * + * A query object is yielded to the supplied function which should be used to + * express the query to be run against the index. + * + * Note that although this function takes a callback parameter it is _not_ an + * asynchronous operation, the callback is just yielded a query object to be + * customized. + * + * @param {lunr.Index~queryBuilder} fn - A function that is used to build the query. + * @returns {lunr.Index~Result[]} + */ +lunr.Index.prototype.query = function (fn) { + // for each query clause + // * process terms + // * expand terms from token set + // * find matching documents and metadata + // * get document vectors + // * score documents + + var query = new lunr.Query(this.fields), + matchingFields = Object.create(null), + queryVectors = Object.create(null), + termFieldCache = Object.create(null), + requiredMatches = Object.create(null), + prohibitedMatches = Object.create(null) + + /* + * To support field level boosts a query vector is created per + * field. An empty vector is eagerly created to support negated + * queries. + */ + for (var i = 0; i < this.fields.length; i++) { + queryVectors[this.fields[i]] = new lunr.Vector + } + + fn.call(query, query) + + for (var i = 0; i < query.clauses.length; i++) { + /* + * Unless the pipeline has been disabled for this term, which is + * the case for terms with wildcards, we need to pass the clause + * term through the search pipeline. A pipeline returns an array + * of processed terms. Pipeline functions may expand the passed + * term, which means we may end up performing multiple index lookups + * for a single query term. + */ + var clause = query.clauses[i], + terms = null, + clauseMatches = lunr.Set.empty + + if (clause.usePipeline) { + terms = this.pipeline.runString(clause.term, { + fields: clause.fields + }) + } else { + terms = [clause.term] + } + + for (var m = 0; m < terms.length; m++) { + var term = terms[m] + + /* + * Each term returned from the pipeline needs to use the same query + * clause object, e.g. the same boost and or edit distance. The + * simplest way to do this is to re-use the clause object but mutate + * its term property. + */ + clause.term = term + + /* + * From the term in the clause we create a token set which will then + * be used to intersect the indexes token set to get a list of terms + * to lookup in the inverted index + */ + var termTokenSet = lunr.TokenSet.fromClause(clause), + expandedTerms = this.tokenSet.intersect(termTokenSet).toArray() + + /* + * If a term marked as required does not exist in the tokenSet it is + * impossible for the search to return any matches. We set all the field + * scoped required matches set to empty and stop examining any further + * clauses. + */ + if (expandedTerms.length === 0 && clause.presence === lunr.Query.presence.REQUIRED) { + for (var k = 0; k < clause.fields.length; k++) { + var field = clause.fields[k] + requiredMatches[field] = lunr.Set.empty + } + + break + } + + for (var j = 0; j < expandedTerms.length; j++) { + /* + * For each term get the posting and termIndex, this is required for + * building the query vector. + */ + var expandedTerm = expandedTerms[j], + posting = this.invertedIndex[expandedTerm], + termIndex = posting._index + + for (var k = 0; k < clause.fields.length; k++) { + /* + * For each field that this query term is scoped by (by default + * all fields are in scope) we need to get all the document refs + * that have this term in that field. + * + * The posting is the entry in the invertedIndex for the matching + * term from above. + */ + var field = clause.fields[k], + fieldPosting = posting[field], + matchingDocumentRefs = Object.keys(fieldPosting), + termField = expandedTerm + "/" + field, + matchingDocumentsSet = new lunr.Set(matchingDocumentRefs) + + /* + * if the presence of this term is required ensure that the matching + * documents are added to the set of required matches for this clause. + * + */ + if (clause.presence == lunr.Query.presence.REQUIRED) { + clauseMatches = clauseMatches.union(matchingDocumentsSet) + + if (requiredMatches[field] === undefined) { + requiredMatches[field] = lunr.Set.complete + } + } + + /* + * if the presence of this term is prohibited ensure that the matching + * documents are added to the set of prohibited matches for this field, + * creating that set if it does not yet exist. + */ + if (clause.presence == lunr.Query.presence.PROHIBITED) { + if (prohibitedMatches[field] === undefined) { + prohibitedMatches[field] = lunr.Set.empty + } + + prohibitedMatches[field] = prohibitedMatches[field].union(matchingDocumentsSet) + + /* + * Prohibited matches should not be part of the query vector used for + * similarity scoring and no metadata should be extracted so we continue + * to the next field + */ + continue + } + + /* + * The query field vector is populated using the termIndex found for + * the term and a unit value with the appropriate boost applied. + * Using upsert because there could already be an entry in the vector + * for the term we are working with. In that case we just add the scores + * together. + */ + queryVectors[field].upsert(termIndex, clause.boost, function (a, b) { return a + b }) + + /** + * If we've already seen this term, field combo then we've already collected + * the matching documents and metadata, no need to go through all that again + */ + if (termFieldCache[termField]) { + continue + } + + for (var l = 0; l < matchingDocumentRefs.length; l++) { + /* + * All metadata for this term/field/document triple + * are then extracted and collected into an instance + * of lunr.MatchData ready to be returned in the query + * results + */ + var matchingDocumentRef = matchingDocumentRefs[l], + matchingFieldRef = new lunr.FieldRef (matchingDocumentRef, field), + metadata = fieldPosting[matchingDocumentRef], + fieldMatch + + if ((fieldMatch = matchingFields[matchingFieldRef]) === undefined) { + matchingFields[matchingFieldRef] = new lunr.MatchData (expandedTerm, field, metadata) + } else { + fieldMatch.add(expandedTerm, field, metadata) + } + + } + + termFieldCache[termField] = true + } + } + } + + /** + * If the presence was required we need to update the requiredMatches field sets. + * We do this after all fields for the term have collected their matches because + * the clause terms presence is required in _any_ of the fields not _all_ of the + * fields. + */ + if (clause.presence === lunr.Query.presence.REQUIRED) { + for (var k = 0; k < clause.fields.length; k++) { + var field = clause.fields[k] + requiredMatches[field] = requiredMatches[field].intersect(clauseMatches) + } + } + } + + /** + * Need to combine the field scoped required and prohibited + * matching documents into a global set of required and prohibited + * matches + */ + var allRequiredMatches = lunr.Set.complete, + allProhibitedMatches = lunr.Set.empty + + for (var i = 0; i < this.fields.length; i++) { + var field = this.fields[i] + + if (requiredMatches[field]) { + allRequiredMatches = allRequiredMatches.intersect(requiredMatches[field]) + } + + if (prohibitedMatches[field]) { + allProhibitedMatches = allProhibitedMatches.union(prohibitedMatches[field]) + } + } + + var matchingFieldRefs = Object.keys(matchingFields), + results = [], + matches = Object.create(null) + + /* + * If the query is negated (contains only prohibited terms) + * we need to get _all_ fieldRefs currently existing in the + * index. This is only done when we know that the query is + * entirely prohibited terms to avoid any cost of getting all + * fieldRefs unnecessarily. + * + * Additionally, blank MatchData must be created to correctly + * populate the results. + */ + if (query.isNegated()) { + matchingFieldRefs = Object.keys(this.fieldVectors) + + for (var i = 0; i < matchingFieldRefs.length; i++) { + var matchingFieldRef = matchingFieldRefs[i] + var fieldRef = lunr.FieldRef.fromString(matchingFieldRef) + matchingFields[matchingFieldRef] = new lunr.MatchData + } + } + + for (var i = 0; i < matchingFieldRefs.length; i++) { + /* + * Currently we have document fields that match the query, but we + * need to return documents. The matchData and scores are combined + * from multiple fields belonging to the same document. + * + * Scores are calculated by field, using the query vectors created + * above, and combined into a final document score using addition. + */ + var fieldRef = lunr.FieldRef.fromString(matchingFieldRefs[i]), + docRef = fieldRef.docRef + + if (!allRequiredMatches.contains(docRef)) { + continue + } + + if (allProhibitedMatches.contains(docRef)) { + continue + } + + var fieldVector = this.fieldVectors[fieldRef], + score = queryVectors[fieldRef.fieldName].similarity(fieldVector), + docMatch + + if ((docMatch = matches[docRef]) !== undefined) { + docMatch.score += score + docMatch.matchData.combine(matchingFields[fieldRef]) + } else { + var match = { + ref: docRef, + score: score, + matchData: matchingFields[fieldRef] + } + matches[docRef] = match + results.push(match) + } + } + + /* + * Sort the results objects by score, highest first. + */ + return results.sort(function (a, b) { + return b.score - a.score + }) +} + +/** + * Prepares the index for JSON serialization. + * + * The schema for this JSON blob will be described in a + * separate JSON schema file. + * + * @returns {Object} + */ +lunr.Index.prototype.toJSON = function () { + var invertedIndex = Object.keys(this.invertedIndex) + .sort() + .map(function (term) { + return [term, this.invertedIndex[term]] + }, this) + + var fieldVectors = Object.keys(this.fieldVectors) + .map(function (ref) { + return [ref, this.fieldVectors[ref].toJSON()] + }, this) + + return { + version: lunr.version, + fields: this.fields, + fieldVectors: fieldVectors, + invertedIndex: invertedIndex, + pipeline: this.pipeline.toJSON() + } +} + +/** + * Loads a previously serialized lunr.Index + * + * @param {Object} serializedIndex - A previously serialized lunr.Index + * @returns {lunr.Index} + */ +lunr.Index.load = function (serializedIndex) { + var attrs = {}, + fieldVectors = {}, + serializedVectors = serializedIndex.fieldVectors, + invertedIndex = Object.create(null), + serializedInvertedIndex = serializedIndex.invertedIndex, + tokenSetBuilder = new lunr.TokenSet.Builder, + pipeline = lunr.Pipeline.load(serializedIndex.pipeline) + + if (serializedIndex.version != lunr.version) { + lunr.utils.warn("Version mismatch when loading serialised index. Current version of lunr '" + lunr.version + "' does not match serialized index '" + serializedIndex.version + "'") + } + + for (var i = 0; i < serializedVectors.length; i++) { + var tuple = serializedVectors[i], + ref = tuple[0], + elements = tuple[1] + + fieldVectors[ref] = new lunr.Vector(elements) + } + + for (var i = 0; i < serializedInvertedIndex.length; i++) { + var tuple = serializedInvertedIndex[i], + term = tuple[0], + posting = tuple[1] + + tokenSetBuilder.insert(term) + invertedIndex[term] = posting + } + + tokenSetBuilder.finish() + + attrs.fields = serializedIndex.fields + + attrs.fieldVectors = fieldVectors + attrs.invertedIndex = invertedIndex + attrs.tokenSet = tokenSetBuilder.root + attrs.pipeline = pipeline + + return new lunr.Index(attrs) +} +/*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + */ + +/** + * lunr.Builder performs indexing on a set of documents and + * returns instances of lunr.Index ready for querying. + * + * All configuration of the index is done via the builder, the + * fields to index, the document reference, the text processing + * pipeline and document scoring parameters are all set on the + * builder before indexing. + * + * @constructor + * @property {string} _ref - Internal reference to the document reference field. + * @property {string[]} _fields - Internal reference to the document fields to index. + * @property {object} invertedIndex - The inverted index maps terms to document fields. + * @property {object} documentTermFrequencies - Keeps track of document term frequencies. + * @property {object} documentLengths - Keeps track of the length of documents added to the index. + * @property {lunr.tokenizer} tokenizer - Function for splitting strings into tokens for indexing. + * @property {lunr.Pipeline} pipeline - The pipeline performs text processing on tokens before indexing. + * @property {lunr.Pipeline} searchPipeline - A pipeline for processing search terms before querying the index. + * @property {number} documentCount - Keeps track of the total number of documents indexed. + * @property {number} _b - A parameter to control field length normalization, setting this to 0 disabled normalization, 1 fully normalizes field lengths, the default value is 0.75. + * @property {number} _k1 - A parameter to control how quickly an increase in term frequency results in term frequency saturation, the default value is 1.2. + * @property {number} termIndex - A counter incremented for each unique term, used to identify a terms position in the vector space. + * @property {array} metadataWhitelist - A list of metadata keys that have been whitelisted for entry in the index. + */ +lunr.Builder = function () { + this._ref = "id" + this._fields = Object.create(null) + this._documents = Object.create(null) + this.invertedIndex = Object.create(null) + this.fieldTermFrequencies = {} + this.fieldLengths = {} + this.tokenizer = lunr.tokenizer + this.pipeline = new lunr.Pipeline + this.searchPipeline = new lunr.Pipeline + this.documentCount = 0 + this._b = 0.75 + this._k1 = 1.2 + this.termIndex = 0 + this.metadataWhitelist = [] +} + +/** + * Sets the document field used as the document reference. Every document must have this field. + * The type of this field in the document should be a string, if it is not a string it will be + * coerced into a string by calling toString. + * + * The default ref is 'id'. + * + * The ref should _not_ be changed during indexing, it should be set before any documents are + * added to the index. Changing it during indexing can lead to inconsistent results. + * + * @param {string} ref - The name of the reference field in the document. + */ +lunr.Builder.prototype.ref = function (ref) { + this._ref = ref +} + +/** + * A function that is used to extract a field from a document. + * + * Lunr expects a field to be at the top level of a document, if however the field + * is deeply nested within a document an extractor function can be used to extract + * the right field for indexing. + * + * @callback fieldExtractor + * @param {object} doc - The document being added to the index. + * @returns {?(string|object|object[])} obj - The object that will be indexed for this field. + * @example Extracting a nested field + * function (doc) { return doc.nested.field } + */ + +/** + * Adds a field to the list of document fields that will be indexed. Every document being + * indexed should have this field. Null values for this field in indexed documents will + * not cause errors but will limit the chance of that document being retrieved by searches. + * + * All fields should be added before adding documents to the index. Adding fields after + * a document has been indexed will have no effect on already indexed documents. + * + * Fields can be boosted at build time. This allows terms within that field to have more + * importance when ranking search results. Use a field boost to specify that matches within + * one field are more important than other fields. + * + * @param {string} fieldName - The name of a field to index in all documents. + * @param {object} attributes - Optional attributes associated with this field. + * @param {number} [attributes.boost=1] - Boost applied to all terms within this field. + * @param {fieldExtractor} [attributes.extractor] - Function to extract a field from a document. + * @throws {RangeError} fieldName cannot contain unsupported characters '/' + */ +lunr.Builder.prototype.field = function (fieldName, attributes) { + if (/\//.test(fieldName)) { + throw new RangeError ("Field '" + fieldName + "' contains illegal character '/'") + } + + this._fields[fieldName] = attributes || {} +} + +/** + * A parameter to tune the amount of field length normalisation that is applied when + * calculating relevance scores. A value of 0 will completely disable any normalisation + * and a value of 1 will fully normalise field lengths. The default is 0.75. Values of b + * will be clamped to the range 0 - 1. + * + * @param {number} number - The value to set for this tuning parameter. + */ +lunr.Builder.prototype.b = function (number) { + if (number < 0) { + this._b = 0 + } else if (number > 1) { + this._b = 1 + } else { + this._b = number + } +} + +/** + * A parameter that controls the speed at which a rise in term frequency results in term + * frequency saturation. The default value is 1.2. Setting this to a higher value will give + * slower saturation levels, a lower value will result in quicker saturation. + * + * @param {number} number - The value to set for this tuning parameter. + */ +lunr.Builder.prototype.k1 = function (number) { + this._k1 = number +} + +/** + * Adds a document to the index. + * + * Before adding fields to the index the index should have been fully setup, with the document + * ref and all fields to index already having been specified. + * + * The document must have a field name as specified by the ref (by default this is 'id') and + * it should have all fields defined for indexing, though null or undefined values will not + * cause errors. + * + * Entire documents can be boosted at build time. Applying a boost to a document indicates that + * this document should rank higher in search results than other documents. + * + * @param {object} doc - The document to add to the index. + * @param {object} attributes - Optional attributes associated with this document. + * @param {number} [attributes.boost=1] - Boost applied to all terms within this document. + */ +lunr.Builder.prototype.add = function (doc, attributes) { + var docRef = doc[this._ref], + fields = Object.keys(this._fields) + + this._documents[docRef] = attributes || {} + this.documentCount += 1 + + for (var i = 0; i < fields.length; i++) { + var fieldName = fields[i], + extractor = this._fields[fieldName].extractor, + field = extractor ? extractor(doc) : doc[fieldName], + tokens = this.tokenizer(field, { + fields: [fieldName] + }), + terms = this.pipeline.run(tokens), + fieldRef = new lunr.FieldRef (docRef, fieldName), + fieldTerms = Object.create(null) + + this.fieldTermFrequencies[fieldRef] = fieldTerms + this.fieldLengths[fieldRef] = 0 + + // store the length of this field for this document + this.fieldLengths[fieldRef] += terms.length + + // calculate term frequencies for this field + for (var j = 0; j < terms.length; j++) { + var term = terms[j] + + if (fieldTerms[term] == undefined) { + fieldTerms[term] = 0 + } + + fieldTerms[term] += 1 + + // add to inverted index + // create an initial posting if one doesn't exist + if (this.invertedIndex[term] == undefined) { + var posting = Object.create(null) + posting["_index"] = this.termIndex + this.termIndex += 1 + + for (var k = 0; k < fields.length; k++) { + posting[fields[k]] = Object.create(null) + } + + this.invertedIndex[term] = posting + } + + // add an entry for this term/fieldName/docRef to the invertedIndex + if (this.invertedIndex[term][fieldName][docRef] == undefined) { + this.invertedIndex[term][fieldName][docRef] = Object.create(null) + } + + // store all whitelisted metadata about this token in the + // inverted index + for (var l = 0; l < this.metadataWhitelist.length; l++) { + var metadataKey = this.metadataWhitelist[l], + metadata = term.metadata[metadataKey] + + if (this.invertedIndex[term][fieldName][docRef][metadataKey] == undefined) { + this.invertedIndex[term][fieldName][docRef][metadataKey] = [] + } + + this.invertedIndex[term][fieldName][docRef][metadataKey].push(metadata) + } + } + + } +} + +/** + * Calculates the average document length for this index + * + * @private + */ +lunr.Builder.prototype.calculateAverageFieldLengths = function () { + + var fieldRefs = Object.keys(this.fieldLengths), + numberOfFields = fieldRefs.length, + accumulator = {}, + documentsWithField = {} + + for (var i = 0; i < numberOfFields; i++) { + var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]), + field = fieldRef.fieldName + + documentsWithField[field] || (documentsWithField[field] = 0) + documentsWithField[field] += 1 + + accumulator[field] || (accumulator[field] = 0) + accumulator[field] += this.fieldLengths[fieldRef] + } + + var fields = Object.keys(this._fields) + + for (var i = 0; i < fields.length; i++) { + var fieldName = fields[i] + accumulator[fieldName] = accumulator[fieldName] / documentsWithField[fieldName] + } + + this.averageFieldLength = accumulator +} + +/** + * Builds a vector space model of every document using lunr.Vector + * + * @private + */ +lunr.Builder.prototype.createFieldVectors = function () { + var fieldVectors = {}, + fieldRefs = Object.keys(this.fieldTermFrequencies), + fieldRefsLength = fieldRefs.length, + termIdfCache = Object.create(null) + + for (var i = 0; i < fieldRefsLength; i++) { + var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]), + fieldName = fieldRef.fieldName, + fieldLength = this.fieldLengths[fieldRef], + fieldVector = new lunr.Vector, + termFrequencies = this.fieldTermFrequencies[fieldRef], + terms = Object.keys(termFrequencies), + termsLength = terms.length + + + var fieldBoost = this._fields[fieldName].boost || 1, + docBoost = this._documents[fieldRef.docRef].boost || 1 + + for (var j = 0; j < termsLength; j++) { + var term = terms[j], + tf = termFrequencies[term], + termIndex = this.invertedIndex[term]._index, + idf, score, scoreWithPrecision + + if (termIdfCache[term] === undefined) { + idf = lunr.idf(this.invertedIndex[term], this.documentCount) + termIdfCache[term] = idf + } else { + idf = termIdfCache[term] + } + + score = idf * ((this._k1 + 1) * tf) / (this._k1 * (1 - this._b + this._b * (fieldLength / this.averageFieldLength[fieldName])) + tf) + score *= fieldBoost + score *= docBoost + scoreWithPrecision = Math.round(score * 1000) / 1000 + // Converts 1.23456789 to 1.234. + // Reducing the precision so that the vectors take up less + // space when serialised. Doing it now so that they behave + // the same before and after serialisation. Also, this is + // the fastest approach to reducing a number's precision in + // JavaScript. + + fieldVector.insert(termIndex, scoreWithPrecision) + } + + fieldVectors[fieldRef] = fieldVector + } + + this.fieldVectors = fieldVectors +} + +/** + * Creates a token set of all tokens in the index using lunr.TokenSet + * + * @private + */ +lunr.Builder.prototype.createTokenSet = function () { + this.tokenSet = lunr.TokenSet.fromArray( + Object.keys(this.invertedIndex).sort() + ) +} + +/** + * Builds the index, creating an instance of lunr.Index. + * + * This completes the indexing process and should only be called + * once all documents have been added to the index. + * + * @returns {lunr.Index} + */ +lunr.Builder.prototype.build = function () { + this.calculateAverageFieldLengths() + this.createFieldVectors() + this.createTokenSet() + + return new lunr.Index({ + invertedIndex: this.invertedIndex, + fieldVectors: this.fieldVectors, + tokenSet: this.tokenSet, + fields: Object.keys(this._fields), + pipeline: this.searchPipeline + }) +} + +/** + * Applies a plugin to the index builder. + * + * A plugin is a function that is called with the index builder as its context. + * Plugins can be used to customise or extend the behaviour of the index + * in some way. A plugin is just a function, that encapsulated the custom + * behaviour that should be applied when building the index. + * + * The plugin function will be called with the index builder as its argument, additional + * arguments can also be passed when calling use. The function will be called + * with the index builder as its context. + * + * @param {Function} plugin The plugin to apply. + */ +lunr.Builder.prototype.use = function (fn) { + var args = Array.prototype.slice.call(arguments, 1) + args.unshift(this) + fn.apply(this, args) +} +/** + * Contains and collects metadata about a matching document. + * A single instance of lunr.MatchData is returned as part of every + * lunr.Index~Result. + * + * @constructor + * @param {string} term - The term this match data is associated with + * @param {string} field - The field in which the term was found + * @param {object} metadata - The metadata recorded about this term in this field + * @property {object} metadata - A cloned collection of metadata associated with this document. + * @see {@link lunr.Index~Result} + */ +lunr.MatchData = function (term, field, metadata) { + var clonedMetadata = Object.create(null), + metadataKeys = Object.keys(metadata || {}) + + // Cloning the metadata to prevent the original + // being mutated during match data combination. + // Metadata is kept in an array within the inverted + // index so cloning the data can be done with + // Array#slice + for (var i = 0; i < metadataKeys.length; i++) { + var key = metadataKeys[i] + clonedMetadata[key] = metadata[key].slice() + } + + this.metadata = Object.create(null) + + if (term !== undefined) { + this.metadata[term] = Object.create(null) + this.metadata[term][field] = clonedMetadata + } +} + +/** + * An instance of lunr.MatchData will be created for every term that matches a + * document. However only one instance is required in a lunr.Index~Result. This + * method combines metadata from another instance of lunr.MatchData with this + * objects metadata. + * + * @param {lunr.MatchData} otherMatchData - Another instance of match data to merge with this one. + * @see {@link lunr.Index~Result} + */ +lunr.MatchData.prototype.combine = function (otherMatchData) { + var terms = Object.keys(otherMatchData.metadata) + + for (var i = 0; i < terms.length; i++) { + var term = terms[i], + fields = Object.keys(otherMatchData.metadata[term]) + + if (this.metadata[term] == undefined) { + this.metadata[term] = Object.create(null) + } + + for (var j = 0; j < fields.length; j++) { + var field = fields[j], + keys = Object.keys(otherMatchData.metadata[term][field]) + + if (this.metadata[term][field] == undefined) { + this.metadata[term][field] = Object.create(null) + } + + for (var k = 0; k < keys.length; k++) { + var key = keys[k] + + if (this.metadata[term][field][key] == undefined) { + this.metadata[term][field][key] = otherMatchData.metadata[term][field][key] + } else { + this.metadata[term][field][key] = this.metadata[term][field][key].concat(otherMatchData.metadata[term][field][key]) + } + + } + } + } +} + +/** + * Add metadata for a term/field pair to this instance of match data. + * + * @param {string} term - The term this match data is associated with + * @param {string} field - The field in which the term was found + * @param {object} metadata - The metadata recorded about this term in this field + */ +lunr.MatchData.prototype.add = function (term, field, metadata) { + if (!(term in this.metadata)) { + this.metadata[term] = Object.create(null) + this.metadata[term][field] = metadata + return + } + + if (!(field in this.metadata[term])) { + this.metadata[term][field] = metadata + return + } + + var metadataKeys = Object.keys(metadata) + + for (var i = 0; i < metadataKeys.length; i++) { + var key = metadataKeys[i] + + if (key in this.metadata[term][field]) { + this.metadata[term][field][key] = this.metadata[term][field][key].concat(metadata[key]) + } else { + this.metadata[term][field][key] = metadata[key] + } + } +} +/** + * A lunr.Query provides a programmatic way of defining queries to be performed + * against a {@link lunr.Index}. + * + * Prefer constructing a lunr.Query using the {@link lunr.Index#query} method + * so the query object is pre-initialized with the right index fields. + * + * @constructor + * @property {lunr.Query~Clause[]} clauses - An array of query clauses. + * @property {string[]} allFields - An array of all available fields in a lunr.Index. + */ +lunr.Query = function (allFields) { + this.clauses = [] + this.allFields = allFields +} + +/** + * Constants for indicating what kind of automatic wildcard insertion will be used when constructing a query clause. + * + * This allows wildcards to be added to the beginning and end of a term without having to manually do any string + * concatenation. + * + * The wildcard constants can be bitwise combined to select both leading and trailing wildcards. + * + * @constant + * @default + * @property {number} wildcard.NONE - The term will have no wildcards inserted, this is the default behaviour + * @property {number} wildcard.LEADING - Prepend the term with a wildcard, unless a leading wildcard already exists + * @property {number} wildcard.TRAILING - Append a wildcard to the term, unless a trailing wildcard already exists + * @see lunr.Query~Clause + * @see lunr.Query#clause + * @see lunr.Query#term + * @example query term with trailing wildcard + * query.term('foo', { wildcard: lunr.Query.wildcard.TRAILING }) + * @example query term with leading and trailing wildcard + * query.term('foo', { + * wildcard: lunr.Query.wildcard.LEADING | lunr.Query.wildcard.TRAILING + * }) + */ + +lunr.Query.wildcard = new String ("*") +lunr.Query.wildcard.NONE = 0 +lunr.Query.wildcard.LEADING = 1 +lunr.Query.wildcard.TRAILING = 2 + +/** + * Constants for indicating what kind of presence a term must have in matching documents. + * + * @constant + * @enum {number} + * @see lunr.Query~Clause + * @see lunr.Query#clause + * @see lunr.Query#term + * @example query term with required presence + * query.term('foo', { presence: lunr.Query.presence.REQUIRED }) + */ +lunr.Query.presence = { + /** + * Term's presence in a document is optional, this is the default value. + */ + OPTIONAL: 1, + + /** + * Term's presence in a document is required, documents that do not contain + * this term will not be returned. + */ + REQUIRED: 2, + + /** + * Term's presence in a document is prohibited, documents that do contain + * this term will not be returned. + */ + PROHIBITED: 3 +} + +/** + * A single clause in a {@link lunr.Query} contains a term and details on how to + * match that term against a {@link lunr.Index}. + * + * @typedef {Object} lunr.Query~Clause + * @property {string[]} fields - The fields in an index this clause should be matched against. + * @property {number} [boost=1] - Any boost that should be applied when matching this clause. + * @property {number} [editDistance] - Whether the term should have fuzzy matching applied, and how fuzzy the match should be. + * @property {boolean} [usePipeline] - Whether the term should be passed through the search pipeline. + * @property {number} [wildcard=lunr.Query.wildcard.NONE] - Whether the term should have wildcards appended or prepended. + * @property {number} [presence=lunr.Query.presence.OPTIONAL] - The terms presence in any matching documents. + */ + +/** + * Adds a {@link lunr.Query~Clause} to this query. + * + * Unless the clause contains the fields to be matched all fields will be matched. In addition + * a default boost of 1 is applied to the clause. + * + * @param {lunr.Query~Clause} clause - The clause to add to this query. + * @see lunr.Query~Clause + * @returns {lunr.Query} + */ +lunr.Query.prototype.clause = function (clause) { + if (!('fields' in clause)) { + clause.fields = this.allFields + } + + if (!('boost' in clause)) { + clause.boost = 1 + } + + if (!('usePipeline' in clause)) { + clause.usePipeline = true + } + + if (!('wildcard' in clause)) { + clause.wildcard = lunr.Query.wildcard.NONE + } + + if ((clause.wildcard & lunr.Query.wildcard.LEADING) && (clause.term.charAt(0) != lunr.Query.wildcard)) { + clause.term = "*" + clause.term + } + + if ((clause.wildcard & lunr.Query.wildcard.TRAILING) && (clause.term.slice(-1) != lunr.Query.wildcard)) { + clause.term = "" + clause.term + "*" + } + + if (!('presence' in clause)) { + clause.presence = lunr.Query.presence.OPTIONAL + } + + this.clauses.push(clause) + + return this +} + +/** + * A negated query is one in which every clause has a presence of + * prohibited. These queries require some special processing to return + * the expected results. + * + * @returns boolean + */ +lunr.Query.prototype.isNegated = function () { + for (var i = 0; i < this.clauses.length; i++) { + if (this.clauses[i].presence != lunr.Query.presence.PROHIBITED) { + return false + } + } + + return true +} + +/** + * Adds a term to the current query, under the covers this will create a {@link lunr.Query~Clause} + * to the list of clauses that make up this query. + * + * The term is used as is, i.e. no tokenization will be performed by this method. Instead conversion + * to a token or token-like string should be done before calling this method. + * + * The term will be converted to a string by calling `toString`. Multiple terms can be passed as an + * array, each term in the array will share the same options. + * + * @param {object|object[]} term - The term(s) to add to the query. + * @param {object} [options] - Any additional properties to add to the query clause. + * @returns {lunr.Query} + * @see lunr.Query#clause + * @see lunr.Query~Clause + * @example adding a single term to a query + * query.term("foo") + * @example adding a single term to a query and specifying search fields, term boost and automatic trailing wildcard + * query.term("foo", { + * fields: ["title"], + * boost: 10, + * wildcard: lunr.Query.wildcard.TRAILING + * }) + * @example using lunr.tokenizer to convert a string to tokens before using them as terms + * query.term(lunr.tokenizer("foo bar")) + */ +lunr.Query.prototype.term = function (term, options) { + if (Array.isArray(term)) { + term.forEach(function (t) { this.term(t, lunr.utils.clone(options)) }, this) + return this + } + + var clause = options || {} + clause.term = term.toString() + + this.clause(clause) + + return this +} +lunr.QueryParseError = function (message, start, end) { + this.name = "QueryParseError" + this.message = message + this.start = start + this.end = end +} + +lunr.QueryParseError.prototype = new Error +lunr.QueryLexer = function (str) { + this.lexemes = [] + this.str = str + this.length = str.length + this.pos = 0 + this.start = 0 + this.escapeCharPositions = [] +} + +lunr.QueryLexer.prototype.run = function () { + var state = lunr.QueryLexer.lexText + + while (state) { + state = state(this) + } +} + +lunr.QueryLexer.prototype.sliceString = function () { + var subSlices = [], + sliceStart = this.start, + sliceEnd = this.pos + + for (var i = 0; i < this.escapeCharPositions.length; i++) { + sliceEnd = this.escapeCharPositions[i] + subSlices.push(this.str.slice(sliceStart, sliceEnd)) + sliceStart = sliceEnd + 1 + } + + subSlices.push(this.str.slice(sliceStart, this.pos)) + this.escapeCharPositions.length = 0 + + return subSlices.join('') +} + +lunr.QueryLexer.prototype.emit = function (type) { + this.lexemes.push({ + type: type, + str: this.sliceString(), + start: this.start, + end: this.pos + }) + + this.start = this.pos +} + +lunr.QueryLexer.prototype.escapeCharacter = function () { + this.escapeCharPositions.push(this.pos - 1) + this.pos += 1 +} + +lunr.QueryLexer.prototype.next = function () { + if (this.pos >= this.length) { + return lunr.QueryLexer.EOS + } + + var char = this.str.charAt(this.pos) + this.pos += 1 + return char +} + +lunr.QueryLexer.prototype.width = function () { + return this.pos - this.start +} + +lunr.QueryLexer.prototype.ignore = function () { + if (this.start == this.pos) { + this.pos += 1 + } + + this.start = this.pos +} + +lunr.QueryLexer.prototype.backup = function () { + this.pos -= 1 +} + +lunr.QueryLexer.prototype.acceptDigitRun = function () { + var char, charCode + + do { + char = this.next() + charCode = char.charCodeAt(0) + } while (charCode > 47 && charCode < 58) + + if (char != lunr.QueryLexer.EOS) { + this.backup() + } +} + +lunr.QueryLexer.prototype.more = function () { + return this.pos < this.length +} + +lunr.QueryLexer.EOS = 'EOS' +lunr.QueryLexer.FIELD = 'FIELD' +lunr.QueryLexer.TERM = 'TERM' +lunr.QueryLexer.EDIT_DISTANCE = 'EDIT_DISTANCE' +lunr.QueryLexer.BOOST = 'BOOST' +lunr.QueryLexer.PRESENCE = 'PRESENCE' + +lunr.QueryLexer.lexField = function (lexer) { + lexer.backup() + lexer.emit(lunr.QueryLexer.FIELD) + lexer.ignore() + return lunr.QueryLexer.lexText +} + +lunr.QueryLexer.lexTerm = function (lexer) { + if (lexer.width() > 1) { + lexer.backup() + lexer.emit(lunr.QueryLexer.TERM) + } + + lexer.ignore() + + if (lexer.more()) { + return lunr.QueryLexer.lexText + } +} + +lunr.QueryLexer.lexEditDistance = function (lexer) { + lexer.ignore() + lexer.acceptDigitRun() + lexer.emit(lunr.QueryLexer.EDIT_DISTANCE) + return lunr.QueryLexer.lexText +} + +lunr.QueryLexer.lexBoost = function (lexer) { + lexer.ignore() + lexer.acceptDigitRun() + lexer.emit(lunr.QueryLexer.BOOST) + return lunr.QueryLexer.lexText +} + +lunr.QueryLexer.lexEOS = function (lexer) { + if (lexer.width() > 0) { + lexer.emit(lunr.QueryLexer.TERM) + } +} + +// This matches the separator used when tokenising fields +// within a document. These should match otherwise it is +// not possible to search for some tokens within a document. +// +// It is possible for the user to change the separator on the +// tokenizer so it _might_ clash with any other of the special +// characters already used within the search string, e.g. :. +// +// This means that it is possible to change the separator in +// such a way that makes some words unsearchable using a search +// string. +lunr.QueryLexer.termSeparator = lunr.tokenizer.separator + +lunr.QueryLexer.lexText = function (lexer) { + while (true) { + var char = lexer.next() + + if (char == lunr.QueryLexer.EOS) { + return lunr.QueryLexer.lexEOS + } + + // Escape character is '\' + if (char.charCodeAt(0) == 92) { + lexer.escapeCharacter() + continue + } + + if (char == ":") { + return lunr.QueryLexer.lexField + } + + if (char == "~") { + lexer.backup() + if (lexer.width() > 0) { + lexer.emit(lunr.QueryLexer.TERM) + } + return lunr.QueryLexer.lexEditDistance + } + + if (char == "^") { + lexer.backup() + if (lexer.width() > 0) { + lexer.emit(lunr.QueryLexer.TERM) + } + return lunr.QueryLexer.lexBoost + } + + // "+" indicates term presence is required + // checking for length to ensure that only + // leading "+" are considered + if (char == "+" && lexer.width() === 1) { + lexer.emit(lunr.QueryLexer.PRESENCE) + return lunr.QueryLexer.lexText + } + + // "-" indicates term presence is prohibited + // checking for length to ensure that only + // leading "-" are considered + if (char == "-" && lexer.width() === 1) { + lexer.emit(lunr.QueryLexer.PRESENCE) + return lunr.QueryLexer.lexText + } + + if (char.match(lunr.QueryLexer.termSeparator)) { + return lunr.QueryLexer.lexTerm + } + } +} + +lunr.QueryParser = function (str, query) { + this.lexer = new lunr.QueryLexer (str) + this.query = query + this.currentClause = {} + this.lexemeIdx = 0 +} + +lunr.QueryParser.prototype.parse = function () { + this.lexer.run() + this.lexemes = this.lexer.lexemes + + var state = lunr.QueryParser.parseClause + + while (state) { + state = state(this) + } + + return this.query +} + +lunr.QueryParser.prototype.peekLexeme = function () { + return this.lexemes[this.lexemeIdx] +} + +lunr.QueryParser.prototype.consumeLexeme = function () { + var lexeme = this.peekLexeme() + this.lexemeIdx += 1 + return lexeme +} + +lunr.QueryParser.prototype.nextClause = function () { + var completedClause = this.currentClause + this.query.clause(completedClause) + this.currentClause = {} +} + +lunr.QueryParser.parseClause = function (parser) { + var lexeme = parser.peekLexeme() + + if (lexeme == undefined) { + return + } + + switch (lexeme.type) { + case lunr.QueryLexer.PRESENCE: + return lunr.QueryParser.parsePresence + case lunr.QueryLexer.FIELD: + return lunr.QueryParser.parseField + case lunr.QueryLexer.TERM: + return lunr.QueryParser.parseTerm + default: + var errorMessage = "expected either a field or a term, found " + lexeme.type + + if (lexeme.str.length >= 1) { + errorMessage += " with value '" + lexeme.str + "'" + } + + throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) + } +} + +lunr.QueryParser.parsePresence = function (parser) { + var lexeme = parser.consumeLexeme() + + if (lexeme == undefined) { + return + } + + switch (lexeme.str) { + case "-": + parser.currentClause.presence = lunr.Query.presence.PROHIBITED + break + case "+": + parser.currentClause.presence = lunr.Query.presence.REQUIRED + break + default: + var errorMessage = "unrecognised presence operator'" + lexeme.str + "'" + throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) + } + + var nextLexeme = parser.peekLexeme() + + if (nextLexeme == undefined) { + var errorMessage = "expecting term or field, found nothing" + throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) + } + + switch (nextLexeme.type) { + case lunr.QueryLexer.FIELD: + return lunr.QueryParser.parseField + case lunr.QueryLexer.TERM: + return lunr.QueryParser.parseTerm + default: + var errorMessage = "expecting term or field, found '" + nextLexeme.type + "'" + throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end) + } +} + +lunr.QueryParser.parseField = function (parser) { + var lexeme = parser.consumeLexeme() + + if (lexeme == undefined) { + return + } + + if (parser.query.allFields.indexOf(lexeme.str) == -1) { + var possibleFields = parser.query.allFields.map(function (f) { return "'" + f + "'" }).join(', '), + errorMessage = "unrecognised field '" + lexeme.str + "', possible fields: " + possibleFields + + throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) + } + + parser.currentClause.fields = [lexeme.str] + + var nextLexeme = parser.peekLexeme() + + if (nextLexeme == undefined) { + var errorMessage = "expecting term, found nothing" + throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) + } + + switch (nextLexeme.type) { + case lunr.QueryLexer.TERM: + return lunr.QueryParser.parseTerm + default: + var errorMessage = "expecting term, found '" + nextLexeme.type + "'" + throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end) + } +} + +lunr.QueryParser.parseTerm = function (parser) { + var lexeme = parser.consumeLexeme() + + if (lexeme == undefined) { + return + } + + parser.currentClause.term = lexeme.str.toLowerCase() + + if (lexeme.str.indexOf("*") != -1) { + parser.currentClause.usePipeline = false + } + + var nextLexeme = parser.peekLexeme() + + if (nextLexeme == undefined) { + parser.nextClause() + return + } + + switch (nextLexeme.type) { + case lunr.QueryLexer.TERM: + parser.nextClause() + return lunr.QueryParser.parseTerm + case lunr.QueryLexer.FIELD: + parser.nextClause() + return lunr.QueryParser.parseField + case lunr.QueryLexer.EDIT_DISTANCE: + return lunr.QueryParser.parseEditDistance + case lunr.QueryLexer.BOOST: + return lunr.QueryParser.parseBoost + case lunr.QueryLexer.PRESENCE: + parser.nextClause() + return lunr.QueryParser.parsePresence + default: + var errorMessage = "Unexpected lexeme type '" + nextLexeme.type + "'" + throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end) + } +} + +lunr.QueryParser.parseEditDistance = function (parser) { + var lexeme = parser.consumeLexeme() + + if (lexeme == undefined) { + return + } + + var editDistance = parseInt(lexeme.str, 10) + + if (isNaN(editDistance)) { + var errorMessage = "edit distance must be numeric" + throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) + } + + parser.currentClause.editDistance = editDistance + + var nextLexeme = parser.peekLexeme() + + if (nextLexeme == undefined) { + parser.nextClause() + return + } + + switch (nextLexeme.type) { + case lunr.QueryLexer.TERM: + parser.nextClause() + return lunr.QueryParser.parseTerm + case lunr.QueryLexer.FIELD: + parser.nextClause() + return lunr.QueryParser.parseField + case lunr.QueryLexer.EDIT_DISTANCE: + return lunr.QueryParser.parseEditDistance + case lunr.QueryLexer.BOOST: + return lunr.QueryParser.parseBoost + case lunr.QueryLexer.PRESENCE: + parser.nextClause() + return lunr.QueryParser.parsePresence + default: + var errorMessage = "Unexpected lexeme type '" + nextLexeme.type + "'" + throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end) + } +} + +lunr.QueryParser.parseBoost = function (parser) { + var lexeme = parser.consumeLexeme() + + if (lexeme == undefined) { + return + } + + var boost = parseInt(lexeme.str, 10) + + if (isNaN(boost)) { + var errorMessage = "boost must be numeric" + throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) + } + + parser.currentClause.boost = boost + + var nextLexeme = parser.peekLexeme() + + if (nextLexeme == undefined) { + parser.nextClause() + return + } + + switch (nextLexeme.type) { + case lunr.QueryLexer.TERM: + parser.nextClause() + return lunr.QueryParser.parseTerm + case lunr.QueryLexer.FIELD: + parser.nextClause() + return lunr.QueryParser.parseField + case lunr.QueryLexer.EDIT_DISTANCE: + return lunr.QueryParser.parseEditDistance + case lunr.QueryLexer.BOOST: + return lunr.QueryParser.parseBoost + case lunr.QueryLexer.PRESENCE: + parser.nextClause() + return lunr.QueryParser.parsePresence + default: + var errorMessage = "Unexpected lexeme type '" + nextLexeme.type + "'" + throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end) + } +} + + /** + * export the module via AMD, CommonJS or as a browser global + * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js + */ + ;(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(factory) + } else if (typeof exports === 'object') { + /** + * Node. Does not work with strict CommonJS, but + * only CommonJS-like environments that support module.exports, + * like Node. + */ + module.exports = factory() + } else { + // Browser globals (root is window) + root.lunr = factory() + } + }(this, function () { + /** + * Just return a value to define the module export. + * This example returns an object, but the module + * can return a function as the exported value. + */ + return lunr + })) +})(); diff --git a/site/search/main.js b/site/search/main.js new file mode 100644 index 0000000..a5e469d --- /dev/null +++ b/site/search/main.js @@ -0,0 +1,109 @@ +function getSearchTermFromLocation() { + var sPageURL = window.location.search.substring(1); + var sURLVariables = sPageURL.split('&'); + for (var i = 0; i < sURLVariables.length; i++) { + var sParameterName = sURLVariables[i].split('='); + if (sParameterName[0] == 'q') { + return decodeURIComponent(sParameterName[1].replace(/\+/g, '%20')); + } + } +} + +function joinUrl (base, path) { + if (path.substring(0, 1) === "/") { + // path starts with `/`. Thus it is absolute. + return path; + } + if (base.substring(base.length-1) === "/") { + // base ends with `/` + return base + path; + } + return base + "/" + path; +} + +function escapeHtml (value) { + return value.replace(/&/g, '&') + .replace(/"/g, '"') + .replace(//g, '>'); +} + +function formatResult (location, title, summary) { + return ''; +} + +function displayResults (results) { + var search_results = document.getElementById("mkdocs-search-results"); + while (search_results.firstChild) { + search_results.removeChild(search_results.firstChild); + } + if (results.length > 0){ + for (var i=0; i < results.length; i++){ + var result = results[i]; + var html = formatResult(result.location, result.title, result.summary); + search_results.insertAdjacentHTML('beforeend', html); + } + } else { + var noResultsText = search_results.getAttribute('data-no-results-text'); + if (!noResultsText) { + noResultsText = "No results found"; + } + search_results.insertAdjacentHTML('beforeend', '

' + noResultsText + '

'); + } +} + +function doSearch () { + var query = document.getElementById('mkdocs-search-query').value; + if (query.length > min_search_length) { + if (!window.Worker) { + displayResults(search(query)); + } else { + searchWorker.postMessage({query: query}); + } + } else { + // Clear results for short queries + displayResults([]); + } +} + +function initSearch () { + var search_input = document.getElementById('mkdocs-search-query'); + if (search_input) { + search_input.addEventListener("keyup", doSearch); + } + var term = getSearchTermFromLocation(); + if (term) { + search_input.value = term; + doSearch(); + } +} + +function onWorkerMessage (e) { + if (e.data.allowSearch) { + initSearch(); + } else if (e.data.results) { + var results = e.data.results; + displayResults(results); + } else if (e.data.config) { + min_search_length = e.data.config.min_search_length-1; + } +} + +if (!window.Worker) { + console.log('Web Worker API not supported'); + // load index in main thread + $.getScript(joinUrl(base_url, "search/worker.js")).done(function () { + console.log('Loaded worker'); + init(); + window.postMessage = function (msg) { + onWorkerMessage({data: msg}); + }; + }).fail(function (jqxhr, settings, exception) { + console.error('Could not load worker.js'); + }); +} else { + // Wrap search in a web worker + var searchWorker = new Worker(joinUrl(base_url, "search/worker.js")); + searchWorker.postMessage({init: true}); + searchWorker.onmessage = onWorkerMessage; +} diff --git a/site/search/search_index.json b/site/search/search_index.json new file mode 100644 index 0000000..c821902 --- /dev/null +++ b/site/search/search_index.json @@ -0,0 +1 @@ +{"config":{"indexing":"full","lang":["en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"A naming convention linter for Python projects. Define custom naming rules and enforce them with a single CLI command. What It Does \u00b6 Define naming rules for variables, functions, classes, modules, and packages Apply rules to specific modules using pattern matching Integrate into CI or pre-commit to keep your naming conventions consistent For Python developers who want to enforce team-specific naming conventions beyond what PEP 8 and ruff cover. Key Features \u00b6 Feature Description Rule Types Variable, function, class, module, and package naming rules Filters Narrow rules by return type, base class, decorator, and more Naming Constraints Prefix, suffix, regex, case convention, or derived from another element Module Targeting Apply rules to specific parts of your codebase using glob-style patterns Inline Ignore Suppress violations on specific lines with # pnl: ignore Pre-commit Drop-in integration with pre-commit hooks Quick Start \u00b6 Install: pip install python-naming-linter Create .python-naming-linter.yaml in your project root: rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } - name : exception-naming type : class filter : { base_class : Exception } naming : { regex : \"^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$\" } apply : - name : all rules : [ bool-method-prefix , exception-naming ] modules : \"**\" Run: pnl check Output: src/domain/service.py:12 [bool-method-prefix] validate (expected prefix: is_ | has_ | should_) src/domain/exceptions.py:8 [exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$) Found 2 violation(s). More Examples \u00b6 Variable Naming \u2014 Match Type Annotation \u00b6 Enforce that variable names match their type annotation in snake_case: rules : - name : attribute-matches-type type : variable filter : { target : attribute } naming : { source : type_annotation , transform : snake_case } apply : - name : domain-layer rules : [ attribute-matches-type ] modules : contexts.*.domain This catches repo: SubscriptionRepository \u2014 the name should be subscription_repository . Combining Rules Per Layer \u00b6 Apply different rules to different parts of your codebase: apply : - name : domain-layer rules : - attribute-matches-type - bool-method-prefix - domain-module-naming modules : contexts.*.domain - name : global-exceptions rules : [ exception-naming ] modules : \"**\" Next Steps \u00b6 Installation \u2014 detailed install instructions Quick Start \u2014 step-by-step setup guide Configuration \u2014 full configuration reference Cookbook \u2014 real-world usage patterns","title":"Home"},{"location":"#what-it-does","text":"Define naming rules for variables, functions, classes, modules, and packages Apply rules to specific modules using pattern matching Integrate into CI or pre-commit to keep your naming conventions consistent For Python developers who want to enforce team-specific naming conventions beyond what PEP 8 and ruff cover.","title":"What It Does"},{"location":"#key-features","text":"Feature Description Rule Types Variable, function, class, module, and package naming rules Filters Narrow rules by return type, base class, decorator, and more Naming Constraints Prefix, suffix, regex, case convention, or derived from another element Module Targeting Apply rules to specific parts of your codebase using glob-style patterns Inline Ignore Suppress violations on specific lines with # pnl: ignore Pre-commit Drop-in integration with pre-commit hooks","title":"Key Features"},{"location":"#quick-start","text":"Install: pip install python-naming-linter Create .python-naming-linter.yaml in your project root: rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } - name : exception-naming type : class filter : { base_class : Exception } naming : { regex : \"^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$\" } apply : - name : all rules : [ bool-method-prefix , exception-naming ] modules : \"**\" Run: pnl check Output: src/domain/service.py:12 [bool-method-prefix] validate (expected prefix: is_ | has_ | should_) src/domain/exceptions.py:8 [exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$) Found 2 violation(s).","title":"Quick Start"},{"location":"#more-examples","text":"","title":"More Examples"},{"location":"#variable-naming-match-type-annotation","text":"Enforce that variable names match their type annotation in snake_case: rules : - name : attribute-matches-type type : variable filter : { target : attribute } naming : { source : type_annotation , transform : snake_case } apply : - name : domain-layer rules : [ attribute-matches-type ] modules : contexts.*.domain This catches repo: SubscriptionRepository \u2014 the name should be subscription_repository .","title":"Variable Naming \u2014 Match Type Annotation"},{"location":"#combining-rules-per-layer","text":"Apply different rules to different parts of your codebase: apply : - name : domain-layer rules : - attribute-matches-type - bool-method-prefix - domain-module-naming modules : contexts.*.domain - name : global-exceptions rules : [ exception-naming ] modules : \"**\"","title":"Combining Rules Per Layer"},{"location":"#next-steps","text":"Installation \u2014 detailed install instructions Quick Start \u2014 step-by-step setup guide Configuration \u2014 full configuration reference Cookbook \u2014 real-world usage patterns","title":"Next Steps"},{"location":"changelog/","text":"All notable changes to this project will be documented in this file. [0.1.0] - 2026-03-30 \u00b6 Documentation \u00b6 Write comprehensive README with examples and configuration guide Features \u00b6 Add config parsing for rules and apply sections Add module pattern matcher with wildcard and capture support Add Violation dataclass for checker results Add variable name checker with source/transform and case support Add function/method name checker with filter and prefix support Add class name checker with base_class filter and regex support Add module name checker with class_name derivation and regex Add package name checker with case and regex support line output format Add CLI with pnl check command and end-to-end integration Miscellaneous \u00b6 Set up project scaffolding and tooling Add runtime dependencies and CLI entry point Fix ruff lint and format issues","title":"Changelog"},{"location":"changelog/#010-2026-03-30","text":"","title":"[0.1.0] - 2026-03-30"},{"location":"changelog/#documentation","text":"Write comprehensive README with examples and configuration guide","title":"Documentation"},{"location":"changelog/#features","text":"Add config parsing for rules and apply sections Add module pattern matcher with wildcard and capture support Add Violation dataclass for checker results Add variable name checker with source/transform and case support Add function/method name checker with filter and prefix support Add class name checker with base_class filter and regex support Add module name checker with class_name derivation and regex Add package name checker with case and regex support line output format Add CLI with pnl check command and end-to-end integration","title":"Features"},{"location":"changelog/#miscellaneous","text":"Set up project scaffolding and tooling Add runtime dependencies and CLI entry point Fix ruff lint and format issues","title":"Miscellaneous"},{"location":"cli/","text":"pnl check \u00b6 Run the linter against your project: # Check with auto-discovered config (searches upward from cwd) pnl check # Specify config file (project root = config file's parent directory) pnl check --config path/to/config.yaml Options \u00b6 Option Description --config Path to a config file. The config file's parent directory is used as the project root. Config Auto-Discovery \u00b6 If --config is not provided, pnl check searches upward from the current working directory for either: .python-naming-linter.yaml pyproject.toml (with a [tool.python-naming-linter] section) The first matching file found is used, and its parent directory becomes the project root. Exit Codes \u00b6 Code Meaning 0 No violations found 1 One or more violations found 2 Config file not found","title":"CLI Reference"},{"location":"cli/#pnl-check","text":"Run the linter against your project: # Check with auto-discovered config (searches upward from cwd) pnl check # Specify config file (project root = config file's parent directory) pnl check --config path/to/config.yaml","title":"pnl check"},{"location":"cli/#options","text":"Option Description --config Path to a config file. The config file's parent directory is used as the project root.","title":"Options"},{"location":"cli/#config-auto-discovery","text":"If --config is not provided, pnl check searches upward from the current working directory for either: .python-naming-linter.yaml pyproject.toml (with a [tool.python-naming-linter] section) The first matching file found is used, and its parent directory becomes the project root.","title":"Config Auto-Discovery"},{"location":"cli/#exit-codes","text":"Code Meaning 0 No violations found 1 One or more violations found 2 Config file not found","title":"Exit Codes"},{"location":"contributing/","text":"Commit Convention \u00b6 Commit messages must follow Conventional Commits with gitmoji prefix. Format \u00b6 < gitmoji > < type >: < description > The first letter after the colon must be capitalized . The description must be in English . Types \u00b6 Gitmoji Type Description \u2728 feat New feature \ud83d\udc1b fix Bug fix \u267b\ufe0f refactor Code refactoring \ud83d\udcdd docs Documentation \u2705 test Adding or updating tests \ud83d\udd27 chore Maintenance tasks \ud83d\udc77 ci CI/CD changes \u26a1 perf Performance improvement Examples \u00b6 \u2728 feat : Add support for relative imports \ud83d\udc1b fix : Use exit code 2 for config file not found \u267b\ufe0f refactor : Simplify module resolver logic Pull Request Convention \u00b6 PRs are always squash merged , so the PR title becomes the final commit message. PR titles must follow the same format as commit messages ( : ). PR descriptions must be written in English . Pre-commit Hooks \u00b6 This project uses pre-commit for linting, formatting, and type checking. # Install pre-commit hooks pre-commit install # Run manually pre-commit run --all-files All commits must pass the pre-commit hooks before being accepted. Release \u00b6 Releases are automated via GitHub Actions. You only need to create and push a version tag. Steps \u00b6 Calculate the next version based on conventional commits: bash uvx git-cliff --bumped-version Review the commits since the last tag: bash git log $(git describe --tags --abbrev=0)..HEAD --oneline Push the latest commits to main : bash git push origin main Create and push the tag: bash git tag git push origin The GitHub Actions workflow will then automatically: - Generate CHANGELOG.md and commit it to main - Create a GitHub Release with release notes - Publish the package to PyPI","title":"Contributing"},{"location":"contributing/#commit-convention","text":"Commit messages must follow Conventional Commits with gitmoji prefix.","title":"Commit Convention"},{"location":"contributing/#format","text":"< gitmoji > < type >: < description > The first letter after the colon must be capitalized . The description must be in English .","title":"Format"},{"location":"contributing/#types","text":"Gitmoji Type Description \u2728 feat New feature \ud83d\udc1b fix Bug fix \u267b\ufe0f refactor Code refactoring \ud83d\udcdd docs Documentation \u2705 test Adding or updating tests \ud83d\udd27 chore Maintenance tasks \ud83d\udc77 ci CI/CD changes \u26a1 perf Performance improvement","title":"Types"},{"location":"contributing/#examples","text":"\u2728 feat : Add support for relative imports \ud83d\udc1b fix : Use exit code 2 for config file not found \u267b\ufe0f refactor : Simplify module resolver logic","title":"Examples"},{"location":"contributing/#pull-request-convention","text":"PRs are always squash merged , so the PR title becomes the final commit message. PR titles must follow the same format as commit messages ( : ). PR descriptions must be written in English .","title":"Pull Request Convention"},{"location":"contributing/#pre-commit-hooks","text":"This project uses pre-commit for linting, formatting, and type checking. # Install pre-commit hooks pre-commit install # Run manually pre-commit run --all-files All commits must pass the pre-commit hooks before being accepted.","title":"Pre-commit Hooks"},{"location":"contributing/#release","text":"Releases are automated via GitHub Actions. You only need to create and push a version tag.","title":"Release"},{"location":"contributing/#steps","text":"Calculate the next version based on conventional commits: bash uvx git-cliff --bumped-version Review the commits since the last tag: bash git log $(git describe --tags --abbrev=0)..HEAD --oneline Push the latest commits to main : bash git push origin main Create and push the tag: bash git tag git push origin The GitHub Actions workflow will then automatically: - Generate CHANGELOG.md and commit it to main - Create a GitHub Release with release notes - Publish the package to PyPI","title":"Steps"},{"location":"pre-commit/","text":"pnl can be used as a pre-commit hook to enforce naming conventions before every commit. Setup \u00b6 Add the following to your .pre-commit-config.yaml : - repo : https://github.com/heumsi/python-naming-linter rev : '' # Use the tag you want to point at (e.g., v0.1.0) hooks : - id : python-naming-linter Custom Options \u00b6 To pass custom options (e.g., a specific config file path), use args : - repo : https://github.com/heumsi/python-naming-linter rev : '' hooks : - id : python-naming-linter args : [ --config , custom-config.yaml ]","title":"Pre-commit"},{"location":"pre-commit/#setup","text":"Add the following to your .pre-commit-config.yaml : - repo : https://github.com/heumsi/python-naming-linter rev : '' # Use the tag you want to point at (e.g., v0.1.0) hooks : - id : python-naming-linter","title":"Setup"},{"location":"pre-commit/#custom-options","text":"To pass custom options (e.g., a specific config file path), use args : - repo : https://github.com/heumsi/python-naming-linter rev : '' hooks : - id : python-naming-linter args : [ --config , custom-config.yaml ]","title":"Custom Options"},{"location":"cookbook/","text":"The cookbook provides ready-to-use recipes for common naming convention scenarios. Each recipe shows a complete configuration, a violation example, and a passing example so you can adapt it to your project immediately. Recipes \u00b6 Recipe Description Bool Method Prefix Require is_ , has_ , or should_ prefix on functions that return bool Exception Naming Enforce a structured suffix pattern on exception class names Attribute Matches Type Require attribute names to match their type annotation in snake_case Module Matches Class Require module filenames to match the primary class they contain Layer-Based Rules Apply different rule sets to different layers of your codebase Constant Upper Case Require module-level constants to use UPPER_CASE Decorator Filtering Apply naming rules only to functions or classes with a specific decorator","title":"Overview"},{"location":"cookbook/#recipes","text":"Recipe Description Bool Method Prefix Require is_ , has_ , or should_ prefix on functions that return bool Exception Naming Enforce a structured suffix pattern on exception class names Attribute Matches Type Require attribute names to match their type annotation in snake_case Module Matches Class Require module filenames to match the primary class they contain Layer-Based Rules Apply different rule sets to different layers of your codebase Constant Upper Case Require module-level constants to use UPPER_CASE Decorator Filtering Apply naming rules only to functions or classes with a specific decorator","title":"Recipes"},{"location":"cookbook/attribute-matches-type/","text":"Purpose \u00b6 When an attribute holds a repository, service, or other typed object, keeping the attribute name in sync with the type annotation removes ambiguity and makes dependency injection transparent at a glance. This rule requires each class attribute name to be the snake_case form of its type annotation. Configuration \u00b6 rules : - name : attribute-matches-type type : variable filter : { target : attribute } naming : { source : type_annotation , transform : snake_case } apply : - name : domain-layer rules : [ attribute-matches-type ] modules : contexts.*.domain Violation Example \u00b6 # contexts/billing/domain/service.py class BillingService : def __init__ ( self , repo : SubscriptionRepository ) -> None : self . repo = repo # should be subscription_repository Passing Example \u00b6 # contexts/billing/domain/service.py class BillingService : def __init__ ( self , repo : SubscriptionRepository ) -> None : self . subscription_repository = repo The {prefix}_{expected} form is also allowed. For example, source_object_context: ObjectContext passes because the name ends with _object_context . Output \u00b6 $ pnl check contexts/billing/domain/service.py:5 [ attribute-matches-type ] repo ( expected: subscription_repository ) Found 1 violation ( s ) .","title":"Attribute Matches Type"},{"location":"cookbook/attribute-matches-type/#purpose","text":"When an attribute holds a repository, service, or other typed object, keeping the attribute name in sync with the type annotation removes ambiguity and makes dependency injection transparent at a glance. This rule requires each class attribute name to be the snake_case form of its type annotation.","title":"Purpose"},{"location":"cookbook/attribute-matches-type/#configuration","text":"rules : - name : attribute-matches-type type : variable filter : { target : attribute } naming : { source : type_annotation , transform : snake_case } apply : - name : domain-layer rules : [ attribute-matches-type ] modules : contexts.*.domain","title":"Configuration"},{"location":"cookbook/attribute-matches-type/#violation-example","text":"# contexts/billing/domain/service.py class BillingService : def __init__ ( self , repo : SubscriptionRepository ) -> None : self . repo = repo # should be subscription_repository","title":"Violation Example"},{"location":"cookbook/attribute-matches-type/#passing-example","text":"# contexts/billing/domain/service.py class BillingService : def __init__ ( self , repo : SubscriptionRepository ) -> None : self . subscription_repository = repo The {prefix}_{expected} form is also allowed. For example, source_object_context: ObjectContext passes because the name ends with _object_context .","title":"Passing Example"},{"location":"cookbook/attribute-matches-type/#output","text":"$ pnl check contexts/billing/domain/service.py:5 [ attribute-matches-type ] repo ( expected: subscription_repository ) Found 1 violation ( s ) .","title":"Output"},{"location":"cookbook/bool-method-prefix/","text":"Purpose \u00b6 Functions that return bool are easier to read at call sites when their names read as a question. This rule enforces that any function or method with a bool return type annotation starts with is_ , has_ , or should_ . Configuration \u00b6 rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } apply : - name : all rules : [ bool-method-prefix ] modules : \"**\" Violation Example \u00b6 # src/domain/service.py class SubscriptionService : def validate ( self ) -> bool : # missing required prefix return self . _status == \"active\" Passing Example \u00b6 # src/domain/service.py class SubscriptionService : def is_valid ( self ) -> bool : return self . _status == \"active\" Output \u00b6 $ pnl check src/domain/service.py:4 [ bool-method-prefix ] validate ( expected prefix: is_ | has_ | should_ ) Found 1 violation ( s ) .","title":"Bool Method Prefix"},{"location":"cookbook/bool-method-prefix/#purpose","text":"Functions that return bool are easier to read at call sites when their names read as a question. This rule enforces that any function or method with a bool return type annotation starts with is_ , has_ , or should_ .","title":"Purpose"},{"location":"cookbook/bool-method-prefix/#configuration","text":"rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } apply : - name : all rules : [ bool-method-prefix ] modules : \"**\"","title":"Configuration"},{"location":"cookbook/bool-method-prefix/#violation-example","text":"# src/domain/service.py class SubscriptionService : def validate ( self ) -> bool : # missing required prefix return self . _status == \"active\"","title":"Violation Example"},{"location":"cookbook/bool-method-prefix/#passing-example","text":"# src/domain/service.py class SubscriptionService : def is_valid ( self ) -> bool : return self . _status == \"active\"","title":"Passing Example"},{"location":"cookbook/bool-method-prefix/#output","text":"$ pnl check src/domain/service.py:4 [ bool-method-prefix ] validate ( expected prefix: is_ | has_ | should_ ) Found 1 violation ( s ) .","title":"Output"},{"location":"cookbook/constant-upper-case/","text":"Purpose \u00b6 Module-level constants are easier to distinguish from regular variables when they follow the UPPER_CASE convention. This rule catches constants that were accidentally written in snake_case and flags them for renaming. Configuration \u00b6 rules : - name : constant-upper-case type : variable filter : { target : constant } naming : { case : UPPER_CASE } apply : - name : all rules : [ constant-upper-case ] modules : \"**\" Violation Example \u00b6 # src/config.py max_retry_count = 3 # constant in snake_case default_timeout_seconds = 30 # constant in snake_case Passing Example \u00b6 # src/config.py MAX_RETRY_COUNT = 3 DEFAULT_TIMEOUT_SECONDS = 30 Output \u00b6 $ pnl check src/config.py:3 [ constant-upper-case ] max_retry_count ( expected case : UPPER_CASE ) src/config.py:4 [ constant-upper-case ] default_timeout_seconds ( expected case : UPPER_CASE ) Found 2 violation ( s ) .","title":"Constant Upper Case"},{"location":"cookbook/constant-upper-case/#purpose","text":"Module-level constants are easier to distinguish from regular variables when they follow the UPPER_CASE convention. This rule catches constants that were accidentally written in snake_case and flags them for renaming.","title":"Purpose"},{"location":"cookbook/constant-upper-case/#configuration","text":"rules : - name : constant-upper-case type : variable filter : { target : constant } naming : { case : UPPER_CASE } apply : - name : all rules : [ constant-upper-case ] modules : \"**\"","title":"Configuration"},{"location":"cookbook/constant-upper-case/#violation-example","text":"# src/config.py max_retry_count = 3 # constant in snake_case default_timeout_seconds = 30 # constant in snake_case","title":"Violation Example"},{"location":"cookbook/constant-upper-case/#passing-example","text":"# src/config.py MAX_RETRY_COUNT = 3 DEFAULT_TIMEOUT_SECONDS = 30","title":"Passing Example"},{"location":"cookbook/constant-upper-case/#output","text":"$ pnl check src/config.py:3 [ constant-upper-case ] max_retry_count ( expected case : UPPER_CASE ) src/config.py:4 [ constant-upper-case ] default_timeout_seconds ( expected case : UPPER_CASE ) Found 2 violation ( s ) .","title":"Output"},{"location":"cookbook/decorator-filtering/","text":"Purpose \u00b6 Some naming conventions only apply to a specific kind of function or class. Decorator-based filtering lets you target @staticmethod methods, @dataclass classes, or any other decorated construct without affecting the rest of the codebase. Configuration \u00b6 Example 1 \u2014 @staticmethod methods must start with create_ or build_ \u00b6 rules : - name : static-factory-prefix type : function filter : { decorator : staticmethod } naming : { prefix : [ create_ , build_ ] } apply : - name : all rules : [ static-factory-prefix ] modules : \"**\" Example 2 \u2014 @dataclass classes must use PascalCase and end with Data or Config \u00b6 rules : - name : dataclass-naming type : class filter : { decorator : dataclass } naming : { suffix : [ Data , Config ] } apply : - name : all rules : [ dataclass-naming ] modules : \"**\" Violation Example \u00b6 # src/domain/order.py from dataclasses import dataclass class OrderRepository : @staticmethod def from_dict ( raw : dict ) -> \"OrderRepository\" : # missing create_/build_ prefix return OrderRepository ( ** raw ) @dataclass class OrderPayload : # missing Data/Config suffix order_id : str amount : float Passing Example \u00b6 # src/domain/order.py from dataclasses import dataclass class OrderRepository : @staticmethod def create_from_dict ( raw : dict ) -> \"OrderRepository\" : return OrderRepository ( ** raw ) @dataclass class OrderData : order_id : str amount : float Output \u00b6 $ pnl check src / domain / order . py : 5 [ static - factory - prefix ] from_dict ( expected prefix : create_ | build_ ) src / domain / order . py : 9 [ dataclass - naming ] OrderPayload ( expected suffix : Data | Config ) Found 2 violation ( s ) .","title":"Decorator Filtering"},{"location":"cookbook/decorator-filtering/#purpose","text":"Some naming conventions only apply to a specific kind of function or class. Decorator-based filtering lets you target @staticmethod methods, @dataclass classes, or any other decorated construct without affecting the rest of the codebase.","title":"Purpose"},{"location":"cookbook/decorator-filtering/#configuration","text":"","title":"Configuration"},{"location":"cookbook/decorator-filtering/#example-1-staticmethod-methods-must-start-with-create_-or-build_","text":"rules : - name : static-factory-prefix type : function filter : { decorator : staticmethod } naming : { prefix : [ create_ , build_ ] } apply : - name : all rules : [ static-factory-prefix ] modules : \"**\"","title":"Example 1 \u2014 @staticmethod methods must start with create_ or build_"},{"location":"cookbook/decorator-filtering/#example-2-dataclass-classes-must-use-pascalcase-and-end-with-data-or-config","text":"rules : - name : dataclass-naming type : class filter : { decorator : dataclass } naming : { suffix : [ Data , Config ] } apply : - name : all rules : [ dataclass-naming ] modules : \"**\"","title":"Example 2 \u2014 @dataclass classes must use PascalCase and end with Data or Config"},{"location":"cookbook/decorator-filtering/#violation-example","text":"# src/domain/order.py from dataclasses import dataclass class OrderRepository : @staticmethod def from_dict ( raw : dict ) -> \"OrderRepository\" : # missing create_/build_ prefix return OrderRepository ( ** raw ) @dataclass class OrderPayload : # missing Data/Config suffix order_id : str amount : float","title":"Violation Example"},{"location":"cookbook/decorator-filtering/#passing-example","text":"# src/domain/order.py from dataclasses import dataclass class OrderRepository : @staticmethod def create_from_dict ( raw : dict ) -> \"OrderRepository\" : return OrderRepository ( ** raw ) @dataclass class OrderData : order_id : str amount : float","title":"Passing Example"},{"location":"cookbook/decorator-filtering/#output","text":"$ pnl check src / domain / order . py : 5 [ static - factory - prefix ] from_dict ( expected prefix : create_ | build_ ) src / domain / order . py : 9 [ dataclass - naming ] OrderPayload ( expected suffix : Data | Config ) Found 2 violation ( s ) .","title":"Output"},{"location":"cookbook/exception-naming/","text":"Purpose \u00b6 Consistent exception names make error handling code easier to scan and understand. This rule enforces a structured pattern: exceptions must start with an upper-case word, optionally followed by more words, and end with one of the recognised semantic suffixes ( NotFound , Invalid , Denied , Conflict , or Failed ) before the mandatory Error suffix. Configuration \u00b6 rules : - name : exception-naming type : class filter : { base_class : Exception } naming : { regex : \"^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$\" } apply : - name : all rules : [ exception-naming ] modules : \"**\" Violation Example \u00b6 # src/domain/exceptions.py class FilterError ( Exception ): # missing semantic suffix before Error pass Passing Example \u00b6 # src/domain/exceptions.py class FilterNotFoundError ( Exception ): pass Output \u00b6 $ pnl check src/domain/exceptions.py:3 [ exception-naming ] FilterError ( expected pattern: ^ [ A-Z ][ a-zA-Z ] + ( NotFound | Invalid | ... ) Error$ ) Found 1 violation ( s ) .","title":"Exception Naming"},{"location":"cookbook/exception-naming/#purpose","text":"Consistent exception names make error handling code easier to scan and understand. This rule enforces a structured pattern: exceptions must start with an upper-case word, optionally followed by more words, and end with one of the recognised semantic suffixes ( NotFound , Invalid , Denied , Conflict , or Failed ) before the mandatory Error suffix.","title":"Purpose"},{"location":"cookbook/exception-naming/#configuration","text":"rules : - name : exception-naming type : class filter : { base_class : Exception } naming : { regex : \"^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$\" } apply : - name : all rules : [ exception-naming ] modules : \"**\"","title":"Configuration"},{"location":"cookbook/exception-naming/#violation-example","text":"# src/domain/exceptions.py class FilterError ( Exception ): # missing semantic suffix before Error pass","title":"Violation Example"},{"location":"cookbook/exception-naming/#passing-example","text":"# src/domain/exceptions.py class FilterNotFoundError ( Exception ): pass","title":"Passing Example"},{"location":"cookbook/exception-naming/#output","text":"$ pnl check src/domain/exceptions.py:3 [ exception-naming ] FilterError ( expected pattern: ^ [ A-Z ][ a-zA-Z ] + ( NotFound | Invalid | ... ) Error$ ) Found 1 violation ( s ) .","title":"Output"},{"location":"cookbook/layer-based-rules/","text":"Purpose \u00b6 Real projects have distinct layers \u2014 domain, infrastructure, API \u2014 each with its own naming conventions. Instead of applying every rule globally, you can scope each rule set to the layer where it belongs, reducing false positives and making the intent of each rule explicit. Configuration \u00b6 rules : - name : attribute-matches-type type : variable filter : { target : attribute } naming : { source : type_annotation , transform : snake_case } - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } - name : domain-module-naming type : module naming : { source : class_name , transform : snake_case } - name : constant-upper-case type : variable filter : { target : constant } naming : { case : UPPER_CASE } - name : exception-naming type : class filter : { base_class : Exception } naming : { regex : \"^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$\" } apply : - name : domain-layer rules : - attribute-matches-type - bool-method-prefix - domain-module-naming - constant-upper-case modules : contexts.*.domain - name : global-exceptions rules : [ exception-naming ] modules : \"**\" The domain-layer apply block targets every contexts//domain package, while global-exceptions runs the exception naming rule across the entire codebase. Violation Example \u00b6 # contexts/billing/domain/service.py max_retry = 3 # constant not in UPPER_CASE class BillingService : def validate ( self ) -> bool : # bool method missing prefix return self . _status == \"active\" # contexts/billing/domain/exceptions.py class BillingError ( Exception ): # exception missing semantic suffix pass Passing Example \u00b6 # contexts/billing/domain/service.py MAX_RETRY = 3 class BillingService : def is_valid ( self ) -> bool : return self . _status == \"active\" # contexts/billing/domain/exceptions.py class BillingNotFoundError ( Exception ): pass Output \u00b6 $ pnl check contexts/billing/domain/service.py:3 [ constant-upper-case ] max_retry ( expected case : UPPER_CASE ) contexts/billing/domain/service.py:6 [ bool-method-prefix ] validate ( expected prefix: is_ | has_ | should_ ) contexts/billing/domain/exceptions.py:3 [ exception-naming ] BillingError ( expected pattern: ^ [ A-Z ][ a-zA-Z ] + ( NotFound | Invalid | ... ) Error$ ) Found 3 violation ( s ) .","title":"Layer-Based Rules"},{"location":"cookbook/layer-based-rules/#purpose","text":"Real projects have distinct layers \u2014 domain, infrastructure, API \u2014 each with its own naming conventions. Instead of applying every rule globally, you can scope each rule set to the layer where it belongs, reducing false positives and making the intent of each rule explicit.","title":"Purpose"},{"location":"cookbook/layer-based-rules/#configuration","text":"rules : - name : attribute-matches-type type : variable filter : { target : attribute } naming : { source : type_annotation , transform : snake_case } - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } - name : domain-module-naming type : module naming : { source : class_name , transform : snake_case } - name : constant-upper-case type : variable filter : { target : constant } naming : { case : UPPER_CASE } - name : exception-naming type : class filter : { base_class : Exception } naming : { regex : \"^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$\" } apply : - name : domain-layer rules : - attribute-matches-type - bool-method-prefix - domain-module-naming - constant-upper-case modules : contexts.*.domain - name : global-exceptions rules : [ exception-naming ] modules : \"**\" The domain-layer apply block targets every contexts//domain package, while global-exceptions runs the exception naming rule across the entire codebase.","title":"Configuration"},{"location":"cookbook/layer-based-rules/#violation-example","text":"# contexts/billing/domain/service.py max_retry = 3 # constant not in UPPER_CASE class BillingService : def validate ( self ) -> bool : # bool method missing prefix return self . _status == \"active\" # contexts/billing/domain/exceptions.py class BillingError ( Exception ): # exception missing semantic suffix pass","title":"Violation Example"},{"location":"cookbook/layer-based-rules/#passing-example","text":"# contexts/billing/domain/service.py MAX_RETRY = 3 class BillingService : def is_valid ( self ) -> bool : return self . _status == \"active\" # contexts/billing/domain/exceptions.py class BillingNotFoundError ( Exception ): pass","title":"Passing Example"},{"location":"cookbook/layer-based-rules/#output","text":"$ pnl check contexts/billing/domain/service.py:3 [ constant-upper-case ] max_retry ( expected case : UPPER_CASE ) contexts/billing/domain/service.py:6 [ bool-method-prefix ] validate ( expected prefix: is_ | has_ | should_ ) contexts/billing/domain/exceptions.py:3 [ exception-naming ] BillingError ( expected pattern: ^ [ A-Z ][ a-zA-Z ] + ( NotFound | Invalid | ... ) Error$ ) Found 3 violation ( s ) .","title":"Output"},{"location":"cookbook/module-matches-class/","text":"Purpose \u00b6 When each module contains one primary class, keeping the filename in sync with the class name makes it immediately obvious what a file exports. This rule requires the module filename (without the .py extension) to be the snake_case form of the primary class name in that file. Configuration \u00b6 rules : - name : domain-module-naming type : module naming : { source : class_name , transform : snake_case } apply : - name : domain-layer rules : [ domain-module-naming ] modules : contexts.*.domain Violation Example \u00b6 # contexts/catalog/domain/custom.py \u2190 filename does not match class name class CustomObject : pass Passing Example \u00b6 # contexts/catalog/domain/custom_object.py \u2190 matches CustomObject in snake_case class CustomObject : pass Output \u00b6 $ pnl check contexts/catalog/domain/custom.py:1 [ domain-module-naming ] custom ( expected: custom_object ) Found 1 violation ( s ) .","title":"Module Matches Class"},{"location":"cookbook/module-matches-class/#purpose","text":"When each module contains one primary class, keeping the filename in sync with the class name makes it immediately obvious what a file exports. This rule requires the module filename (without the .py extension) to be the snake_case form of the primary class name in that file.","title":"Purpose"},{"location":"cookbook/module-matches-class/#configuration","text":"rules : - name : domain-module-naming type : module naming : { source : class_name , transform : snake_case } apply : - name : domain-layer rules : [ domain-module-naming ] modules : contexts.*.domain","title":"Configuration"},{"location":"cookbook/module-matches-class/#violation-example","text":"# contexts/catalog/domain/custom.py \u2190 filename does not match class name class CustomObject : pass","title":"Violation Example"},{"location":"cookbook/module-matches-class/#passing-example","text":"# contexts/catalog/domain/custom_object.py \u2190 matches CustomObject in snake_case class CustomObject : pass","title":"Passing Example"},{"location":"cookbook/module-matches-class/#output","text":"$ pnl check contexts/catalog/domain/custom.py:1 [ domain-module-naming ] custom ( expected: custom_object ) Found 1 violation ( s ) .","title":"Output"},{"location":"getting-started/configuration/","text":"pnl supports two config file formats: a standalone YAML file or an inline section inside pyproject.toml . Config File Discovery \u00b6 When you run pnl check without --config , the tool searches upward from the current working directory for one of: .python-naming-linter.yaml pyproject.toml (containing a [tool.python-naming-linter] section) The first matching file is used, and its parent directory becomes the project root. To use a specific config file, pass it explicitly: pnl check --config path/to/config.yaml YAML Format \u00b6 Create .python-naming-linter.yaml in your project root: rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } apply : - name : all rules : [ bool-method-prefix ] modules : \"**\" pyproject.toml Format \u00b6 You can embed the same configuration inside pyproject.toml using the [tool.python-naming-linter] namespace: [[tool.python-naming-linter.rules]] name = \"bool-method-prefix\" type = \"function\" [tool.python-naming-linter.rules.filter] return_type = \"bool\" [tool.python-naming-linter.rules.naming] prefix = [ \"is_\" , \"has_\" , \"should_\" ] [[tool.python-naming-linter.apply]] name = \"all\" rules = [ \"bool-method-prefix\" ] modules = \"**\" Both formats are equivalent \u2014 use whichever fits your project's conventions. Top-Level Keys \u00b6 Key Description rules List of naming rule definitions apply List of rule-to-module mappings include Paths to include when scanning (optional) exclude Paths to exclude when scanning (optional) include / exclude \u00b6 Control which files are scanned: include : - src exclude : - src/generated/** Behavior: Neither \u2014 all .py files under the project root are scanned. include only \u2014 only files matching the given paths are scanned. exclude only \u2014 all files except those matching the given paths are scanned. Both \u2014 include is applied first, then exclude filters within that result.","title":"Configuration"},{"location":"getting-started/configuration/#config-file-discovery","text":"When you run pnl check without --config , the tool searches upward from the current working directory for one of: .python-naming-linter.yaml pyproject.toml (containing a [tool.python-naming-linter] section) The first matching file is used, and its parent directory becomes the project root. To use a specific config file, pass it explicitly: pnl check --config path/to/config.yaml","title":"Config File Discovery"},{"location":"getting-started/configuration/#yaml-format","text":"Create .python-naming-linter.yaml in your project root: rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } apply : - name : all rules : [ bool-method-prefix ] modules : \"**\"","title":"YAML Format"},{"location":"getting-started/configuration/#pyprojecttoml-format","text":"You can embed the same configuration inside pyproject.toml using the [tool.python-naming-linter] namespace: [[tool.python-naming-linter.rules]] name = \"bool-method-prefix\" type = \"function\" [tool.python-naming-linter.rules.filter] return_type = \"bool\" [tool.python-naming-linter.rules.naming] prefix = [ \"is_\" , \"has_\" , \"should_\" ] [[tool.python-naming-linter.apply]] name = \"all\" rules = [ \"bool-method-prefix\" ] modules = \"**\" Both formats are equivalent \u2014 use whichever fits your project's conventions.","title":"pyproject.toml Format"},{"location":"getting-started/configuration/#top-level-keys","text":"Key Description rules List of naming rule definitions apply List of rule-to-module mappings include Paths to include when scanning (optional) exclude Paths to exclude when scanning (optional)","title":"Top-Level Keys"},{"location":"getting-started/configuration/#include-exclude","text":"Control which files are scanned: include : - src exclude : - src/generated/** Behavior: Neither \u2014 all .py files under the project root are scanned. include only \u2014 only files matching the given paths are scanned. exclude only \u2014 all files except those matching the given paths are scanned. Both \u2014 include is applied first, then exclude filters within that result.","title":"include / exclude"},{"location":"getting-started/installation/","text":"python-naming-linter is available on PyPI and can be installed with any standard Python package manager. pip \u00b6 pip install python-naming-linter uv \u00b6 uv add python-naming-linter Verify the Installation \u00b6 After installation, confirm the CLI is available: pnl --help You should see the help output listing the available commands.","title":"Installation"},{"location":"getting-started/installation/#pip","text":"pip install python-naming-linter","title":"pip"},{"location":"getting-started/installation/#uv","text":"uv add python-naming-linter","title":"uv"},{"location":"getting-started/installation/#verify-the-installation","text":"After installation, confirm the CLI is available: pnl --help You should see the help output listing the available commands.","title":"Verify the Installation"},{"location":"getting-started/quick-start/","text":"Get pnl running in your project in three steps. Step 1: Create a Config File \u00b6 Create .python-naming-linter.yaml in your project root and define your naming rules: rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } - name : exception-naming type : class filter : { base_class : Exception } naming : { regex : \"^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$\" } apply : - name : all rules : [ bool-method-prefix , exception-naming ] modules : \"**\" This config defines two rules: bool-method-prefix \u2014 functions that return bool must start with is_ , has_ , or should_ . exception-naming \u2014 classes that extend Exception must follow the given regex pattern. Both rules are applied to all modules ( ** ). Step 2: Run the Linter \u00b6 From your project root, run: pnl check pnl automatically discovers the config file by searching upward from the current working directory. Step 3: Review the Output \u00b6 Violations are reported with the file path, line number, rule name, and what was expected: src/domain/service.py:12 [bool-method-prefix] validate (expected prefix: is_ | has_ | should_) src/domain/exceptions.py:8 [exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$) Found 2 violation(s). Fix the reported names and re-run pnl check until no violations remain. Next Steps \u00b6 Learn all available config options in Configuration . See rule type details and naming constraint options in the full reference.","title":"Quick Start"},{"location":"getting-started/quick-start/#step-1-create-a-config-file","text":"Create .python-naming-linter.yaml in your project root and define your naming rules: rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } - name : exception-naming type : class filter : { base_class : Exception } naming : { regex : \"^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$\" } apply : - name : all rules : [ bool-method-prefix , exception-naming ] modules : \"**\" This config defines two rules: bool-method-prefix \u2014 functions that return bool must start with is_ , has_ , or should_ . exception-naming \u2014 classes that extend Exception must follow the given regex pattern. Both rules are applied to all modules ( ** ).","title":"Step 1: Create a Config File"},{"location":"getting-started/quick-start/#step-2-run-the-linter","text":"From your project root, run: pnl check pnl automatically discovers the config file by searching upward from the current working directory.","title":"Step 2: Run the Linter"},{"location":"getting-started/quick-start/#step-3-review-the-output","text":"Violations are reported with the file path, line number, rule name, and what was expected: src/domain/service.py:12 [bool-method-prefix] validate (expected prefix: is_ | has_ | should_) src/domain/exceptions.py:8 [exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$) Found 2 violation(s). Fix the reported names and re-run pnl check until no violations remain.","title":"Step 3: Review the Output"},{"location":"getting-started/quick-start/#next-steps","text":"Learn all available config options in Configuration . See rule type details and naming constraint options in the full reference.","title":"Next Steps"},{"location":"guide/apply-and-modules/","text":"The apply block connects rules to the parts of your codebase where they should be enforced. Without an apply entry, a rule is defined but never executed. The apply Block \u00b6 Each entry in apply is a named group that maps one or more rules to one or more modules: apply : - name : domain-layer # A label for this group (used in output) rules : # Rules to enforce in this group - attribute-matches-type - bool-method-prefix modules : contexts.*.domain # Module path pattern to match Fields \u00b6 Field Required Description name Yes Human-readable label for this application group rules Yes List of rule names to enforce (must be defined in the rules block) modules Yes A module path pattern that selects which files to check Inline syntax \u00b6 For short rule lists, you can use inline YAML syntax: apply : - name : all rules : [ bool-method-prefix , exception-naming ] modules : \"**\" Module Path Patterns \u00b6 Module paths use Python's dotted notation \u2014 the same way you would import them. For example, src/domain/service.py becomes src.domain.service . Exact match \u00b6 To target a single module, write its full dotted path: modules : myapp.core.utils This matches only the file myapp/core/utils.py . Wildcards \u00b6 * \u2014 Single level \u00b6 * matches exactly one segment in a dotted module path. It cannot match across dots. modules : contexts.*.domain This matches: contexts.boards.domain contexts.auth.domain contexts.payments.domain But not: contexts.domain (missing the middle segment) contexts.boards.sub.domain (too many levels between contexts and domain ) Example: apply : - name : domain-layer rules : [ attribute-matches-type ] modules : contexts.*.domain ** \u2014 One or more levels \u00b6 ** matches one or more segments. Use it to select all modules under a path, regardless of depth. modules : contexts.**.domain This matches: contexts.boards.domain contexts.boards.sub.domain contexts.a.b.c.domain Example \u2014 apply a rule to the entire codebase: apply : - name : all rules : [ bool-method-prefix ] modules : \"**\" The \"**\" pattern matches every module in the project. Use quotes to avoid YAML parsing issues. Example \u2014 apply rules to all modules under a sub-package: apply : - name : services rules : [ function-snake-case ] modules : myapp.services.** Named Capture \u00b6 {name} captures a single path segment (equivalent to * ) and makes the captured value available for back-referencing within the same pattern. modules : contexts.{context}.domain This behaves like contexts.*.domain but the captured value (e.g. boards ) is bound to the name context . You can reference it later in the same pattern using {context} . Back-referencing example \u00b6 Named captures are useful when you want to enforce that two parts of a path are related \u2014 for example, that a submodule name must match its parent package name: apply : - name : domain-isolation rules : [ attribute-matches-type ] modules : contexts.{context}.domain In this example, every module matching contexts..domain is selected, and the middle segment is captured as context . This can be used in rule logic that references the captured value, enabling context-aware enforcement. Multiple Apply Groups \u00b6 You can define multiple apply groups to apply different rules to different parts of your codebase: apply : - name : domain-layer rules : - attribute-matches-type - bool-method-prefix - domain-module-naming - constant-upper-case modules : contexts.*.domain - name : global-exceptions rules : [ exception-naming ] modules : \"**\" Here, the domain-specific rules are enforced only in contexts.*.domain , while exception-naming is enforced everywhere. A single module can be matched by multiple groups \u2014 all matching rules will be applied.","title":"Apply & Modules"},{"location":"guide/apply-and-modules/#the-apply-block","text":"Each entry in apply is a named group that maps one or more rules to one or more modules: apply : - name : domain-layer # A label for this group (used in output) rules : # Rules to enforce in this group - attribute-matches-type - bool-method-prefix modules : contexts.*.domain # Module path pattern to match","title":"The apply Block"},{"location":"guide/apply-and-modules/#fields","text":"Field Required Description name Yes Human-readable label for this application group rules Yes List of rule names to enforce (must be defined in the rules block) modules Yes A module path pattern that selects which files to check","title":"Fields"},{"location":"guide/apply-and-modules/#inline-syntax","text":"For short rule lists, you can use inline YAML syntax: apply : - name : all rules : [ bool-method-prefix , exception-naming ] modules : \"**\"","title":"Inline syntax"},{"location":"guide/apply-and-modules/#module-path-patterns","text":"Module paths use Python's dotted notation \u2014 the same way you would import them. For example, src/domain/service.py becomes src.domain.service .","title":"Module Path Patterns"},{"location":"guide/apply-and-modules/#exact-match","text":"To target a single module, write its full dotted path: modules : myapp.core.utils This matches only the file myapp/core/utils.py .","title":"Exact match"},{"location":"guide/apply-and-modules/#wildcards","text":"","title":"Wildcards"},{"location":"guide/apply-and-modules/#single-level","text":"* matches exactly one segment in a dotted module path. It cannot match across dots. modules : contexts.*.domain This matches: contexts.boards.domain contexts.auth.domain contexts.payments.domain But not: contexts.domain (missing the middle segment) contexts.boards.sub.domain (too many levels between contexts and domain ) Example: apply : - name : domain-layer rules : [ attribute-matches-type ] modules : contexts.*.domain","title":"* \u2014 Single level"},{"location":"guide/apply-and-modules/#one-or-more-levels","text":"** matches one or more segments. Use it to select all modules under a path, regardless of depth. modules : contexts.**.domain This matches: contexts.boards.domain contexts.boards.sub.domain contexts.a.b.c.domain Example \u2014 apply a rule to the entire codebase: apply : - name : all rules : [ bool-method-prefix ] modules : \"**\" The \"**\" pattern matches every module in the project. Use quotes to avoid YAML parsing issues. Example \u2014 apply rules to all modules under a sub-package: apply : - name : services rules : [ function-snake-case ] modules : myapp.services.**","title":"** \u2014 One or more levels"},{"location":"guide/apply-and-modules/#named-capture","text":"{name} captures a single path segment (equivalent to * ) and makes the captured value available for back-referencing within the same pattern. modules : contexts.{context}.domain This behaves like contexts.*.domain but the captured value (e.g. boards ) is bound to the name context . You can reference it later in the same pattern using {context} .","title":"Named Capture"},{"location":"guide/apply-and-modules/#back-referencing-example","text":"Named captures are useful when you want to enforce that two parts of a path are related \u2014 for example, that a submodule name must match its parent package name: apply : - name : domain-isolation rules : [ attribute-matches-type ] modules : contexts.{context}.domain In this example, every module matching contexts..domain is selected, and the middle segment is captured as context . This can be used in rule logic that references the captured value, enabling context-aware enforcement.","title":"Back-referencing example"},{"location":"guide/apply-and-modules/#multiple-apply-groups","text":"You can define multiple apply groups to apply different rules to different parts of your codebase: apply : - name : domain-layer rules : - attribute-matches-type - bool-method-prefix - domain-module-naming - constant-upper-case modules : contexts.*.domain - name : global-exceptions rules : [ exception-naming ] modules : \"**\" Here, the domain-specific rules are enforced only in contexts.*.domain , while exception-naming is enforced everywhere. A single module can be matched by multiple groups \u2014 all matching rules will be applied.","title":"Multiple Apply Groups"},{"location":"guide/filters/","text":"Filters let you narrow the scope of a rule so it only applies to a specific subset of names. Without a filter, a rule matches every name of its type . With a filter, only names that satisfy all filter conditions are checked. Filters are specified in the filter block of a rule: rules : - name : my-rule type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ ] } Multiple filter fields can be combined \u2014 a name must satisfy all of them to be checked. target \u00b6 Narrows which names within the rule type are checked based on their role in the code. For variable rules \u00b6 Value Matches attribute Class-level attribute assignments, including annotated attributes ( x: int = 1 ) parameter Function or method parameters local_variable Variables assigned inside a function body constant Module-level assignments (typically treated as constants) Supported rule types: variable Example \u2014 lint only class attributes: rules : - name : attribute-matches-type type : variable filter : { target : attribute } naming : { source : type_annotation , transform : snake_case } Example \u2014 lint only module-level constants: rules : - name : constant-upper-case type : variable filter : { target : constant } naming : { case : UPPER_CASE } For function rules \u00b6 Value Matches method Functions defined inside a class body function Functions defined at module level or inside other functions Supported rule types: function Example \u2014 lint only module-level functions (not methods): rules : - name : function-snake-case type : function filter : { target : function } naming : { case : snake_case } return_type \u00b6 Matches functions whose return type annotation equals the specified type name. Supported rule types: function Accepted values: any Python type name as a string, e.g. bool , str , int , None Example \u2014 require a boolean-indicating prefix on bool -returning functions: rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } apply : - name : all rules : [ bool-method-prefix ] modules : \"**\" The filter matches functions with -> bool in their signature. Functions without a return type annotation, or with a different annotation, are not checked. decorator \u00b6 Matches functions or classes that are decorated with the specified decorator name. Supported rule types: function , class Accepted values: any decorator name as a string (without @ ), e.g. staticmethod , classmethod , property , dataclass , abstractmethod Example \u2014 require a suffix on static methods: rules : - name : static-method-suffix type : function filter : { decorator : staticmethod } naming : { suffix : [ _impl ] } apply : - name : all rules : [ static-method-suffix ] modules : \"**\" Example \u2014 require a DTO suffix on dataclasses: rules : - name : dataclass-dto-suffix type : class filter : { decorator : dataclass } naming : { suffix : [ DTO ] } apply : - name : all rules : [ dataclass-dto-suffix ] modules : \"**\" The filter matches the decorator by its bare name. Both @dataclass and @dataclasses.dataclass are matched by the value dataclass . base_class \u00b6 Matches classes that inherit from the specified base class. Supported rule types: class Accepted values: any class name as a string, e.g. Exception , BaseModel , ABC Example \u2014 enforce a naming pattern for all exception classes: rules : - name : exception-naming type : class filter : { base_class : Exception } naming : { regex : \"^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$\" } apply : - name : all rules : [ exception-naming ] modules : \"**\" The filter matches the direct base class name. class MyError(Exception) matches the value Exception . Filter Support by Rule Type \u00b6 Filter variable function class module package target attribute , parameter , local_variable , constant method , function \u2014 \u2014 \u2014 return_type \u2014 any type string \u2014 \u2014 \u2014 decorator \u2014 any decorator name any decorator name \u2014 \u2014 base_class \u2014 \u2014 any class name \u2014 \u2014","title":"Filters"},{"location":"guide/filters/#target","text":"Narrows which names within the rule type are checked based on their role in the code.","title":"target"},{"location":"guide/filters/#for-variable-rules","text":"Value Matches attribute Class-level attribute assignments, including annotated attributes ( x: int = 1 ) parameter Function or method parameters local_variable Variables assigned inside a function body constant Module-level assignments (typically treated as constants) Supported rule types: variable Example \u2014 lint only class attributes: rules : - name : attribute-matches-type type : variable filter : { target : attribute } naming : { source : type_annotation , transform : snake_case } Example \u2014 lint only module-level constants: rules : - name : constant-upper-case type : variable filter : { target : constant } naming : { case : UPPER_CASE }","title":"For variable rules"},{"location":"guide/filters/#for-function-rules","text":"Value Matches method Functions defined inside a class body function Functions defined at module level or inside other functions Supported rule types: function Example \u2014 lint only module-level functions (not methods): rules : - name : function-snake-case type : function filter : { target : function } naming : { case : snake_case }","title":"For function rules"},{"location":"guide/filters/#return_type","text":"Matches functions whose return type annotation equals the specified type name. Supported rule types: function Accepted values: any Python type name as a string, e.g. bool , str , int , None Example \u2014 require a boolean-indicating prefix on bool -returning functions: rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } apply : - name : all rules : [ bool-method-prefix ] modules : \"**\" The filter matches functions with -> bool in their signature. Functions without a return type annotation, or with a different annotation, are not checked.","title":"return_type"},{"location":"guide/filters/#decorator","text":"Matches functions or classes that are decorated with the specified decorator name. Supported rule types: function , class Accepted values: any decorator name as a string (without @ ), e.g. staticmethod , classmethod , property , dataclass , abstractmethod Example \u2014 require a suffix on static methods: rules : - name : static-method-suffix type : function filter : { decorator : staticmethod } naming : { suffix : [ _impl ] } apply : - name : all rules : [ static-method-suffix ] modules : \"**\" Example \u2014 require a DTO suffix on dataclasses: rules : - name : dataclass-dto-suffix type : class filter : { decorator : dataclass } naming : { suffix : [ DTO ] } apply : - name : all rules : [ dataclass-dto-suffix ] modules : \"**\" The filter matches the decorator by its bare name. Both @dataclass and @dataclasses.dataclass are matched by the value dataclass .","title":"decorator"},{"location":"guide/filters/#base_class","text":"Matches classes that inherit from the specified base class. Supported rule types: class Accepted values: any class name as a string, e.g. Exception , BaseModel , ABC Example \u2014 enforce a naming pattern for all exception classes: rules : - name : exception-naming type : class filter : { base_class : Exception } naming : { regex : \"^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$\" } apply : - name : all rules : [ exception-naming ] modules : \"**\" The filter matches the direct base class name. class MyError(Exception) matches the value Exception .","title":"base_class"},{"location":"guide/filters/#filter-support-by-rule-type","text":"Filter variable function class module package target attribute , parameter , local_variable , constant method , function \u2014 \u2014 \u2014 return_type \u2014 any type string \u2014 \u2014 \u2014 decorator \u2014 any decorator name any decorator name \u2014 \u2014 base_class \u2014 \u2014 any class name \u2014 \u2014","title":"Filter Support by Rule Type"},{"location":"guide/include-exclude/","text":"The include and exclude keys control which files pnl scans. They are top-level config keys and are applied before any rule matching. include : - src exclude : - src/generated/** rules : - name : ... apply : - name : ... Both keys accept a list of file path patterns. Patterns are matched against file paths relative to the project root. Scenarios \u00b6 No include or exclude \u00b6 When neither key is present, pnl scans all .py files under the project root recursively. rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } apply : - name : all rules : [ bool-method-prefix ] modules : \"**\" Every .py file in the project is a candidate for scanning. The apply block's modules pattern then determines which of those files are actually checked by each rule. include only \u00b6 When only include is specified, only files matching the listed paths are scanned. Everything else is ignored. include : - src rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } apply : - name : all rules : [ bool-method-prefix ] modules : \"**\" Only .py files under src/ are scanned. Files in tests/ , scripts/ , or other top-level directories are not checked, even if they match the modules pattern in apply . Use include when your project has multiple top-level directories and you only want to lint a specific one. exclude only \u00b6 When only exclude is specified, all .py files under the project root are scanned except those matching the excluded paths. exclude : - tests/** - scripts/** rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } apply : - name : all rules : [ bool-method-prefix ] modules : \"**\" All files are scanned by default, but tests/ and scripts/ are skipped. This is useful when you want broad coverage but need to exclude generated code, fixtures, or tooling directories. Both include and exclude \u00b6 When both keys are present, include is applied first and exclude is applied to that result. include : - src exclude : - src/generated/** rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } apply : - name : all rules : [ bool-method-prefix ] modules : \"**\" Step-by-step: Start with all .py files under the project root. Keep only files under src/ (apply include ). Remove files under src/generated/ (apply exclude ). The result is all files under src/ except those in src/generated/ . Summary \u00b6 include exclude Files scanned Not set Not set All .py files under project root Set Not set Only files matching include paths Not set Set All files except those matching exclude paths Set Set Files matching include , then filtered by exclude Note include and exclude control the file scanning scope. The modules patterns in apply blocks are evaluated against the scanned files \u2014 so a file excluded here will never be checked, regardless of what modules patterns are defined.","title":"Include / Exclude"},{"location":"guide/include-exclude/#scenarios","text":"","title":"Scenarios"},{"location":"guide/include-exclude/#no-include-or-exclude","text":"When neither key is present, pnl scans all .py files under the project root recursively. rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } apply : - name : all rules : [ bool-method-prefix ] modules : \"**\" Every .py file in the project is a candidate for scanning. The apply block's modules pattern then determines which of those files are actually checked by each rule.","title":"No include or exclude"},{"location":"guide/include-exclude/#include-only","text":"When only include is specified, only files matching the listed paths are scanned. Everything else is ignored. include : - src rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } apply : - name : all rules : [ bool-method-prefix ] modules : \"**\" Only .py files under src/ are scanned. Files in tests/ , scripts/ , or other top-level directories are not checked, even if they match the modules pattern in apply . Use include when your project has multiple top-level directories and you only want to lint a specific one.","title":"include only"},{"location":"guide/include-exclude/#exclude-only","text":"When only exclude is specified, all .py files under the project root are scanned except those matching the excluded paths. exclude : - tests/** - scripts/** rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } apply : - name : all rules : [ bool-method-prefix ] modules : \"**\" All files are scanned by default, but tests/ and scripts/ are skipped. This is useful when you want broad coverage but need to exclude generated code, fixtures, or tooling directories.","title":"exclude only"},{"location":"guide/include-exclude/#both-include-and-exclude","text":"When both keys are present, include is applied first and exclude is applied to that result. include : - src exclude : - src/generated/** rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } apply : - name : all rules : [ bool-method-prefix ] modules : \"**\" Step-by-step: Start with all .py files under the project root. Keep only files under src/ (apply include ). Remove files under src/generated/ (apply exclude ). The result is all files under src/ except those in src/generated/ .","title":"Both include and exclude"},{"location":"guide/include-exclude/#summary","text":"include exclude Files scanned Not set Not set All .py files under project root Set Not set Only files matching include paths Not set Set All files except those matching exclude paths Set Set Files matching include , then filtered by exclude Note include and exclude control the file scanning scope. The modules patterns in apply blocks are evaluated against the scanned files \u2014 so a file excluded here will never be checked, regardless of what modules patterns are defined.","title":"Summary"},{"location":"guide/inline-ignore/","text":"Sometimes a specific line legitimately violates a naming rule \u2014 a third-party interface, a legacy name you cannot change, or a deliberate exception to your convention. Rather than disabling the rule globally or restructuring your config, you can suppress violations on a per-line basis using inline ignore comments. Ignore all rules on a line \u00b6 Add # pnl: ignore at the end of a line to suppress all pnl violations reported for that line: x : int = 1 # pnl: ignore Any rule that would have flagged the name on this line is silenced. This is the broadest form of suppression \u2014 use it when multiple rules apply and you want to silence all of them at once. Ignore a specific rule on a line \u00b6 To suppress only one rule, specify the rule name after = : x : int = 1 # pnl: ignore=attribute-matches-type Only the attribute-matches-type rule is suppressed on this line. Any other rules that match this line will still report violations. The rule name must exactly match the name field defined in your config: rules : - name : attribute-matches-type # This is the name to use in ignore comments type : variable filter : { target : attribute } naming : { source : type_annotation , transform : snake_case } Ignore multiple specific rules on a line \u00b6 To suppress more than one rule on the same line, list rule names separated by commas: x : int = 1 # pnl: ignore=attribute-matches-type,constant-upper-case Both attribute-matches-type and constant-upper-case are suppressed on this line. There is no space around the commas. Practical examples \u00b6 Suppressing a legacy attribute name that doesn't match its type: class UserService : repo : UserRepository # pnl: ignore=attribute-matches-type Suppressing a constant that follows a third-party naming convention: # Required by the framework to be this exact name default_app_config = \"myapp.apps.MyAppConfig\" # pnl: ignore=constant-upper-case Suppressing all rules on a generated or protocol-required name: def __repr__ ( self ) -> str : # pnl: ignore ... Notes \u00b6 Inline ignore comments apply only to the line they appear on. They do not affect other lines. Rule names are case-sensitive and must match exactly. If you specify a rule name that does not exist in your config, the comment is silently ignored \u2014 no error is raised. Prefer targeted suppression ( # pnl: ignore=rule-name ) over blanket suppression ( # pnl: ignore ) so that future rules are not accidentally silenced.","title":"Inline Ignore"},{"location":"guide/inline-ignore/#ignore-all-rules-on-a-line","text":"Add # pnl: ignore at the end of a line to suppress all pnl violations reported for that line: x : int = 1 # pnl: ignore Any rule that would have flagged the name on this line is silenced. This is the broadest form of suppression \u2014 use it when multiple rules apply and you want to silence all of them at once.","title":"Ignore all rules on a line"},{"location":"guide/inline-ignore/#ignore-a-specific-rule-on-a-line","text":"To suppress only one rule, specify the rule name after = : x : int = 1 # pnl: ignore=attribute-matches-type Only the attribute-matches-type rule is suppressed on this line. Any other rules that match this line will still report violations. The rule name must exactly match the name field defined in your config: rules : - name : attribute-matches-type # This is the name to use in ignore comments type : variable filter : { target : attribute } naming : { source : type_annotation , transform : snake_case }","title":"Ignore a specific rule on a line"},{"location":"guide/inline-ignore/#ignore-multiple-specific-rules-on-a-line","text":"To suppress more than one rule on the same line, list rule names separated by commas: x : int = 1 # pnl: ignore=attribute-matches-type,constant-upper-case Both attribute-matches-type and constant-upper-case are suppressed on this line. There is no space around the commas.","title":"Ignore multiple specific rules on a line"},{"location":"guide/inline-ignore/#practical-examples","text":"Suppressing a legacy attribute name that doesn't match its type: class UserService : repo : UserRepository # pnl: ignore=attribute-matches-type Suppressing a constant that follows a third-party naming convention: # Required by the framework to be this exact name default_app_config = \"myapp.apps.MyAppConfig\" # pnl: ignore=constant-upper-case Suppressing all rules on a generated or protocol-required name: def __repr__ ( self ) -> str : # pnl: ignore ...","title":"Practical examples"},{"location":"guide/inline-ignore/#notes","text":"Inline ignore comments apply only to the line they appear on. They do not affect other lines. Rule names are case-sensitive and must match exactly. If you specify a rule name that does not exist in your config, the comment is silently ignored \u2014 no error is raised. Prefer targeted suppression ( # pnl: ignore=rule-name ) over blanket suppression ( # pnl: ignore ) so that future rules are not accidentally silenced.","title":"Notes"},{"location":"guide/naming-constraints/","text":"Naming constraints define how a name must be formed. They are specified in the naming block of a rule: rules : - name : my-rule type : function naming : { prefix : [ is_ , has_ ] } Each rule must have exactly one naming constraint (or one source + transform pair). The constraint is evaluated against every name that passes the rule's type and filter checks. prefix \u00b6 The name must start with one of the listed prefixes. Accepted value: a list of one or more prefix strings. Example: rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } Name Result is_active Pass \u2014 starts with is_ has_permission Pass \u2014 starts with has_ should_retry Pass \u2014 starts with should_ validate Violation \u2014 no matching prefix check_active Violation \u2014 check_ is not in the list Violation message example: [bool-method-prefix] validate (expected prefix: is_ | has_ | should_) suffix \u00b6 The name must end with one of the listed suffixes. Accepted value: a list of one or more suffix strings. Example: rules : - name : repository-suffix type : class naming : { suffix : [ Repository , Service ] } Name Result UserRepository Pass \u2014 ends with Repository OrderService Pass \u2014 ends with Service UserManager Violation \u2014 no matching suffix User Violation \u2014 no matching suffix Violation message example: [repository-suffix] UserManager (expected suffix: Repository | Service) regex \u00b6 The name must match a regular expression. Accepted value: a string containing a valid Python regular expression. This is the most expressive constraint \u2014 use it when prefix , suffix , or case are not specific enough. Example: rules : - name : exception-naming type : class filter : { base_class : Exception } naming : { regex : \"^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$\" } Name Result UserNotFoundError Pass \u2014 matches the pattern OrderInvalidError Pass \u2014 matches the pattern FilterError Violation \u2014 does not end with the required suffix group userNotFoundError Violation \u2014 does not start with an uppercase letter Violation message example: [exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$) source + transform \u00b6 The name must be derived from another element in the code, after applying a transformation. This is used for relational naming \u2014 where the name of one thing must reflect another. Both fields must be specified together. source values \u00b6 Value What it reads type_annotation The type annotation of the variable (e.g. SubscriptionRepository from x: SubscriptionRepository ) class_name The name of a class defined in the module (used with type: module ) transform values \u00b6 Value What it does snake_case Converts PascalCase or camelCase to snake_case (e.g. SubscriptionRepository \u2192 subscription_repository ) Example \u2014 variable name must match its type annotation: rules : - name : attribute-matches-type type : variable filter : { target : attribute } naming : { source : type_annotation , transform : snake_case } Declaration Result subscription_repository: SubscriptionRepository Pass \u2014 name matches transformed type repo: SubscriptionRepository Violation \u2014 repo does not match subscription_repository source_object_context: ObjectContext Pass \u2014 name ends with _object_context (prefix + expected form is allowed) The {prefix}_{expected} form is accepted. If the expected derived name is object_context , then source_object_context passes because it ends with _object_context . Example \u2014 module filename must match the class it contains: rules : - name : domain-module-naming type : module naming : { source : class_name , transform : snake_case } File Class Result custom_object.py CustomObject Pass \u2014 filename matches transformed class name custom.py CustomObject Violation \u2014 custom does not match custom_object case \u00b6 The name must follow a specific casing convention. Accepted values: Value Pattern Example snake_case all lowercase, words separated by underscores my_variable_name PascalCase each word starts with uppercase, no separators MyClassName UPPER_CASE all uppercase, words separated by underscores MAX_RETRIES Example \u2014 enforce UPPER_CASE for constants: rules : - name : constant-upper-case type : variable filter : { target : constant } naming : { case : UPPER_CASE } Name Result MAX_RETRIES Pass DEFAULT_TIMEOUT Pass max_retries Violation \u2014 lowercase maxRetries Violation \u2014 camelCase Example \u2014 enforce PascalCase for classes: rules : - name : class-pascal-case type : class naming : { case : PascalCase } Name Result MyService Pass my_service Violation myService Violation Summary Table \u00b6 Constraint Value type Use when prefix list of strings Names must start with one of several prefixes suffix list of strings Names must end with one of several suffixes regex string (regex) Names must match a complex pattern source + transform string + string Names must be derived from another code element case snake_case , PascalCase , or UPPER_CASE Names must follow a casing convention","title":"Naming Constraints"},{"location":"guide/naming-constraints/#prefix","text":"The name must start with one of the listed prefixes. Accepted value: a list of one or more prefix strings. Example: rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } Name Result is_active Pass \u2014 starts with is_ has_permission Pass \u2014 starts with has_ should_retry Pass \u2014 starts with should_ validate Violation \u2014 no matching prefix check_active Violation \u2014 check_ is not in the list Violation message example: [bool-method-prefix] validate (expected prefix: is_ | has_ | should_)","title":"prefix"},{"location":"guide/naming-constraints/#suffix","text":"The name must end with one of the listed suffixes. Accepted value: a list of one or more suffix strings. Example: rules : - name : repository-suffix type : class naming : { suffix : [ Repository , Service ] } Name Result UserRepository Pass \u2014 ends with Repository OrderService Pass \u2014 ends with Service UserManager Violation \u2014 no matching suffix User Violation \u2014 no matching suffix Violation message example: [repository-suffix] UserManager (expected suffix: Repository | Service)","title":"suffix"},{"location":"guide/naming-constraints/#regex","text":"The name must match a regular expression. Accepted value: a string containing a valid Python regular expression. This is the most expressive constraint \u2014 use it when prefix , suffix , or case are not specific enough. Example: rules : - name : exception-naming type : class filter : { base_class : Exception } naming : { regex : \"^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$\" } Name Result UserNotFoundError Pass \u2014 matches the pattern OrderInvalidError Pass \u2014 matches the pattern FilterError Violation \u2014 does not end with the required suffix group userNotFoundError Violation \u2014 does not start with an uppercase letter Violation message example: [exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$)","title":"regex"},{"location":"guide/naming-constraints/#source-transform","text":"The name must be derived from another element in the code, after applying a transformation. This is used for relational naming \u2014 where the name of one thing must reflect another. Both fields must be specified together.","title":"source + transform"},{"location":"guide/naming-constraints/#source-values","text":"Value What it reads type_annotation The type annotation of the variable (e.g. SubscriptionRepository from x: SubscriptionRepository ) class_name The name of a class defined in the module (used with type: module )","title":"source values"},{"location":"guide/naming-constraints/#transform-values","text":"Value What it does snake_case Converts PascalCase or camelCase to snake_case (e.g. SubscriptionRepository \u2192 subscription_repository ) Example \u2014 variable name must match its type annotation: rules : - name : attribute-matches-type type : variable filter : { target : attribute } naming : { source : type_annotation , transform : snake_case } Declaration Result subscription_repository: SubscriptionRepository Pass \u2014 name matches transformed type repo: SubscriptionRepository Violation \u2014 repo does not match subscription_repository source_object_context: ObjectContext Pass \u2014 name ends with _object_context (prefix + expected form is allowed) The {prefix}_{expected} form is accepted. If the expected derived name is object_context , then source_object_context passes because it ends with _object_context . Example \u2014 module filename must match the class it contains: rules : - name : domain-module-naming type : module naming : { source : class_name , transform : snake_case } File Class Result custom_object.py CustomObject Pass \u2014 filename matches transformed class name custom.py CustomObject Violation \u2014 custom does not match custom_object","title":"transform values"},{"location":"guide/naming-constraints/#case","text":"The name must follow a specific casing convention. Accepted values: Value Pattern Example snake_case all lowercase, words separated by underscores my_variable_name PascalCase each word starts with uppercase, no separators MyClassName UPPER_CASE all uppercase, words separated by underscores MAX_RETRIES Example \u2014 enforce UPPER_CASE for constants: rules : - name : constant-upper-case type : variable filter : { target : constant } naming : { case : UPPER_CASE } Name Result MAX_RETRIES Pass DEFAULT_TIMEOUT Pass max_retries Violation \u2014 lowercase maxRetries Violation \u2014 camelCase Example \u2014 enforce PascalCase for classes: rules : - name : class-pascal-case type : class naming : { case : PascalCase } Name Result MyService Pass my_service Violation myService Violation","title":"case"},{"location":"guide/naming-constraints/#summary-table","text":"Constraint Value type Use when prefix list of strings Names must start with one of several prefixes suffix list of strings Names must end with one of several suffixes regex string (regex) Names must match a complex pattern source + transform string + string Names must be derived from another code element case snake_case , PascalCase , or UPPER_CASE Names must follow a casing convention","title":"Summary Table"},{"location":"guide/rules/","text":"Rules are the core building blocks of pnl . Each rule targets a specific kind of Python name, optionally narrows its scope with filters, and then enforces a naming constraint. Rule Structure \u00b6 Every rule has three required fields and two optional ones: rules : - name : my-rule # Unique identifier for this rule type : variable # What kind of name to lint filter : { ... } # (optional) Narrow which names are checked naming : { ... } # How the name must be formed The name is used to reference the rule in apply blocks and in # pnl: ignore comments. Rule Types \u00b6 variable \u00b6 Targets variable names \u2014 any assignment that introduces a name into a scope. Sub-targets (set via filter.target ): Value What it covers attribute Class-level attributes ( self.x , x: int = ... ) parameter Function/method parameters local_variable Variables declared inside a function body constant Module-level constants (typically ALL_CAPS ) Supported filter fields: target Supported naming fields: prefix , suffix , regex , source + transform , case Example \u2014 enforce UPPER_CASE for module-level constants: rules : - name : constant-upper-case type : variable filter : { target : constant } naming : { case : UPPER_CASE } apply : - name : all rules : [ constant-upper-case ] modules : \"**\" Example \u2014 enforce attribute names match their type annotation: rules : - name : attribute-matches-type type : variable filter : { target : attribute } naming : { source : type_annotation , transform : snake_case } apply : - name : domain-layer rules : [ attribute-matches-type ] modules : contexts.*.domain function \u00b6 Targets function and method definitions \u2014 any def statement at any scope level. Supported filter fields: target , return_type , decorator Supported naming fields: prefix , suffix , regex , case Example \u2014 require is_ / has_ / should_ prefix on boolean-returning methods: rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } apply : - name : all rules : [ bool-method-prefix ] modules : \"**\" Example \u2014 require _impl suffix on @staticmethod functions: rules : - name : static-impl-suffix type : function filter : { decorator : staticmethod } naming : { suffix : [ _impl ] } apply : - name : all rules : [ static-impl-suffix ] modules : \"**\" class \u00b6 Targets class definitions \u2014 any class statement. Supported filter fields: base_class , decorator Supported naming fields: prefix , suffix , regex , case Example \u2014 enforce a specific pattern for exception classes: rules : - name : exception-naming type : class filter : { base_class : Exception } naming : { regex : \"^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$\" } apply : - name : all rules : [ exception-naming ] modules : \"**\" Example \u2014 require DTO suffix on dataclasses: rules : - name : dataclass-dto-suffix type : class filter : { decorator : dataclass } naming : { suffix : [ DTO ] } apply : - name : all rules : [ dataclass-dto-suffix ] modules : \"**\" module \u00b6 Targets the filename of each .py file (without the .py extension). Useful for enforcing that module names reflect their contents. Supported filter fields: none Supported naming fields: prefix , suffix , regex , source + transform , case Example \u2014 enforce that a module's filename matches the primary class it contains: rules : - name : domain-module-naming type : module naming : { source : class_name , transform : snake_case } apply : - name : domain-layer rules : [ domain-module-naming ] modules : contexts.*.domain A file custom.py that contains only class CustomObject is a violation \u2014 the file should be named custom_object.py . package \u00b6 Targets the directory name of each Python package (a directory containing __init__.py ). Supported filter fields: none Supported naming fields: prefix , suffix , regex , case Example \u2014 require all package names to be lowercase: rules : - name : package-snake-case type : package naming : { case : snake_case } apply : - name : all rules : [ package-snake-case ] modules : \"**\" Summary Table \u00b6 Type What it targets Supported filters Notes variable Variables by scope/role target Use target to narrow to attributes, parameters, etc. function Function and method definitions target , return_type , decorator class Class definitions base_class , decorator module Module (file) names none Supports source + transform package Package (directory) names none","title":"Rules"},{"location":"guide/rules/#rule-structure","text":"Every rule has three required fields and two optional ones: rules : - name : my-rule # Unique identifier for this rule type : variable # What kind of name to lint filter : { ... } # (optional) Narrow which names are checked naming : { ... } # How the name must be formed The name is used to reference the rule in apply blocks and in # pnl: ignore comments.","title":"Rule Structure"},{"location":"guide/rules/#rule-types","text":"","title":"Rule Types"},{"location":"guide/rules/#variable","text":"Targets variable names \u2014 any assignment that introduces a name into a scope. Sub-targets (set via filter.target ): Value What it covers attribute Class-level attributes ( self.x , x: int = ... ) parameter Function/method parameters local_variable Variables declared inside a function body constant Module-level constants (typically ALL_CAPS ) Supported filter fields: target Supported naming fields: prefix , suffix , regex , source + transform , case Example \u2014 enforce UPPER_CASE for module-level constants: rules : - name : constant-upper-case type : variable filter : { target : constant } naming : { case : UPPER_CASE } apply : - name : all rules : [ constant-upper-case ] modules : \"**\" Example \u2014 enforce attribute names match their type annotation: rules : - name : attribute-matches-type type : variable filter : { target : attribute } naming : { source : type_annotation , transform : snake_case } apply : - name : domain-layer rules : [ attribute-matches-type ] modules : contexts.*.domain","title":"variable"},{"location":"guide/rules/#function","text":"Targets function and method definitions \u2014 any def statement at any scope level. Supported filter fields: target , return_type , decorator Supported naming fields: prefix , suffix , regex , case Example \u2014 require is_ / has_ / should_ prefix on boolean-returning methods: rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } apply : - name : all rules : [ bool-method-prefix ] modules : \"**\" Example \u2014 require _impl suffix on @staticmethod functions: rules : - name : static-impl-suffix type : function filter : { decorator : staticmethod } naming : { suffix : [ _impl ] } apply : - name : all rules : [ static-impl-suffix ] modules : \"**\"","title":"function"},{"location":"guide/rules/#class","text":"Targets class definitions \u2014 any class statement. Supported filter fields: base_class , decorator Supported naming fields: prefix , suffix , regex , case Example \u2014 enforce a specific pattern for exception classes: rules : - name : exception-naming type : class filter : { base_class : Exception } naming : { regex : \"^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$\" } apply : - name : all rules : [ exception-naming ] modules : \"**\" Example \u2014 require DTO suffix on dataclasses: rules : - name : dataclass-dto-suffix type : class filter : { decorator : dataclass } naming : { suffix : [ DTO ] } apply : - name : all rules : [ dataclass-dto-suffix ] modules : \"**\"","title":"class"},{"location":"guide/rules/#module","text":"Targets the filename of each .py file (without the .py extension). Useful for enforcing that module names reflect their contents. Supported filter fields: none Supported naming fields: prefix , suffix , regex , source + transform , case Example \u2014 enforce that a module's filename matches the primary class it contains: rules : - name : domain-module-naming type : module naming : { source : class_name , transform : snake_case } apply : - name : domain-layer rules : [ domain-module-naming ] modules : contexts.*.domain A file custom.py that contains only class CustomObject is a violation \u2014 the file should be named custom_object.py .","title":"module"},{"location":"guide/rules/#package","text":"Targets the directory name of each Python package (a directory containing __init__.py ). Supported filter fields: none Supported naming fields: prefix , suffix , regex , case Example \u2014 require all package names to be lowercase: rules : - name : package-snake-case type : package naming : { case : snake_case } apply : - name : all rules : [ package-snake-case ] modules : \"**\"","title":"package"},{"location":"guide/rules/#summary-table","text":"Type What it targets Supported filters Notes variable Variables by scope/role target Use target to narrow to attributes, parameters, etc. function Function and method definitions target , return_type , decorator class Class definitions base_class , decorator module Module (file) names none Supports source + transform package Package (directory) names none","title":"Summary Table"}]} \ No newline at end of file diff --git a/site/search/worker.js b/site/search/worker.js new file mode 100644 index 0000000..8628dbc --- /dev/null +++ b/site/search/worker.js @@ -0,0 +1,133 @@ +var base_path = 'function' === typeof importScripts ? '.' : '/search/'; +var allowSearch = false; +var index; +var documents = {}; +var lang = ['en']; +var data; + +function getScript(script, callback) { + console.log('Loading script: ' + script); + $.getScript(base_path + script).done(function () { + callback(); + }).fail(function (jqxhr, settings, exception) { + console.log('Error: ' + exception); + }); +} + +function getScriptsInOrder(scripts, callback) { + if (scripts.length === 0) { + callback(); + return; + } + getScript(scripts[0], function() { + getScriptsInOrder(scripts.slice(1), callback); + }); +} + +function loadScripts(urls, callback) { + if( 'function' === typeof importScripts ) { + importScripts.apply(null, urls); + callback(); + } else { + getScriptsInOrder(urls, callback); + } +} + +function onJSONLoaded () { + data = JSON.parse(this.responseText); + var scriptsToLoad = ['lunr.js']; + if (data.config && data.config.lang && data.config.lang.length) { + lang = data.config.lang; + } + if (lang.length > 1 || lang[0] !== "en") { + scriptsToLoad.push('lunr.stemmer.support.js'); + if (lang.length > 1) { + scriptsToLoad.push('lunr.multi.js'); + } + if (lang.includes("ja") || lang.includes("jp")) { + scriptsToLoad.push('tinyseg.js'); + } + for (var i=0; i < lang.length; i++) { + if (lang[i] != 'en') { + scriptsToLoad.push(['lunr', lang[i], 'js'].join('.')); + } + } + } + loadScripts(scriptsToLoad, onScriptsLoaded); +} + +function onScriptsLoaded () { + console.log('All search scripts loaded, building Lunr index...'); + if (data.config && data.config.separator && data.config.separator.length) { + lunr.tokenizer.separator = new RegExp(data.config.separator); + } + + if (data.index) { + index = lunr.Index.load(data.index); + data.docs.forEach(function (doc) { + documents[doc.location] = doc; + }); + console.log('Lunr pre-built index loaded, search ready'); + } else { + index = lunr(function () { + if (lang.length === 1 && lang[0] !== "en" && lunr[lang[0]]) { + this.use(lunr[lang[0]]); + } else if (lang.length > 1) { + this.use(lunr.multiLanguage.apply(null, lang)); // spread operator not supported in all browsers: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator#Browser_compatibility + } + this.field('title'); + this.field('text'); + this.ref('location'); + + for (var i=0; i < data.docs.length; i++) { + var doc = data.docs[i]; + this.add(doc); + documents[doc.location] = doc; + } + }); + console.log('Lunr index built, search ready'); + } + allowSearch = true; + postMessage({config: data.config}); + postMessage({allowSearch: allowSearch}); +} + +function init () { + var oReq = new XMLHttpRequest(); + oReq.addEventListener("load", onJSONLoaded); + var index_path = base_path + '/search_index.json'; + if( 'function' === typeof importScripts ){ + index_path = 'search_index.json'; + } + oReq.open("GET", index_path); + oReq.send(); +} + +function search (query) { + if (!allowSearch) { + console.error('Assets for search still loading'); + return; + } + + var resultDocuments = []; + var results = index.search(query); + for (var i=0; i < results.length; i++){ + var result = results[i]; + doc = documents[result.ref]; + doc.summary = doc.text.substring(0, 200); + resultDocuments.push(doc); + } + return resultDocuments; +} + +if( 'function' === typeof importScripts ) { + onmessage = function (e) { + if (e.data.init) { + init(); + } else if (e.data.query) { + postMessage({ results: search(e.data.query) }); + } else { + console.error("Worker - Unrecognized message: " + e); + } + }; +} diff --git a/site/sitemap.xml b/site/sitemap.xml new file mode 100644 index 0000000..ed86094 --- /dev/null +++ b/site/sitemap.xml @@ -0,0 +1,91 @@ + + + + https://heumsi.github.io/python-naming-linter/ + 2026-03-31 + + + https://heumsi.github.io/python-naming-linter/changelog/ + 2026-03-31 + + + https://heumsi.github.io/python-naming-linter/cli/ + 2026-03-31 + + + https://heumsi.github.io/python-naming-linter/contributing/ + 2026-03-31 + + + https://heumsi.github.io/python-naming-linter/pre-commit/ + 2026-03-31 + + + https://heumsi.github.io/python-naming-linter/cookbook/ + 2026-03-31 + + + https://heumsi.github.io/python-naming-linter/cookbook/attribute-matches-type/ + 2026-03-31 + + + https://heumsi.github.io/python-naming-linter/cookbook/bool-method-prefix/ + 2026-03-31 + + + https://heumsi.github.io/python-naming-linter/cookbook/constant-upper-case/ + 2026-03-31 + + + https://heumsi.github.io/python-naming-linter/cookbook/decorator-filtering/ + 2026-03-31 + + + https://heumsi.github.io/python-naming-linter/cookbook/exception-naming/ + 2026-03-31 + + + https://heumsi.github.io/python-naming-linter/cookbook/layer-based-rules/ + 2026-03-31 + + + https://heumsi.github.io/python-naming-linter/cookbook/module-matches-class/ + 2026-03-31 + + + https://heumsi.github.io/python-naming-linter/getting-started/configuration/ + 2026-03-31 + + + https://heumsi.github.io/python-naming-linter/getting-started/installation/ + 2026-03-31 + + + https://heumsi.github.io/python-naming-linter/getting-started/quick-start/ + 2026-03-31 + + + https://heumsi.github.io/python-naming-linter/guide/apply-and-modules/ + 2026-03-31 + + + https://heumsi.github.io/python-naming-linter/guide/filters/ + 2026-03-31 + + + https://heumsi.github.io/python-naming-linter/guide/include-exclude/ + 2026-03-31 + + + https://heumsi.github.io/python-naming-linter/guide/inline-ignore/ + 2026-03-31 + + + https://heumsi.github.io/python-naming-linter/guide/naming-constraints/ + 2026-03-31 + + + https://heumsi.github.io/python-naming-linter/guide/rules/ + 2026-03-31 + + \ No newline at end of file diff --git a/site/sitemap.xml.gz b/site/sitemap.xml.gz new file mode 100644 index 0000000000000000000000000000000000000000..50057e23155ca0ac22bdaa3ef8f97d3d97449904 GIT binary patch literal 426 zcmV;b0agAViwFpS4$El*|8r?{Wo=<_E_iKh0L_<6ZsRZvK=(aG;61Ih1&Yofad&fq z=>Zgpv5D$eiE5JDmyUy=`z|a2wk(P!AHj?e%oy@m}n`C`|kb! zKX~olhKF6vt{`tjIh1`jF{i&uold8|5TnI?NF@l+2zMU^f*#Q;Hjp#VpLF{_=L-}z}m7xvK(Pur&#*gnJaqo~|u zi%)fT`g`|g(qTjw$JId`t&R`_XF60C+1e~ABbewt@%pC{KMry=!=ZVJ5`xz(m05r< z37f%_n*)!cVnL#Kq;oT9lHi4PV5li!2BS+m$7a#QtT|>ll9QbVYVgj6XM>69uFwpa z(-(>3LE>m3SBIq;GBGba_X;)Qa&@>7d2a0>HINzYTn9Cu; Date: Tue, 31 Mar 2026 14:54:01 +0900 Subject: [PATCH 08/20] =?UTF-8?q?=F0=9F=94=A7=20chore:=20Add=20site/=20to?= =?UTF-8?q?=20gitignore=20and=20remove=20build=20output?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 (1M context) --- .gitignore | 1 + site/changelog.md | 28 - site/changelog/index.html | 1113 ---- site/cli.md | 36 - site/cli/index.html | 1174 ----- site/contributing.md | 84 - site/contributing/index.html | 1256 ----- site/cookbook/attribute-matches-type.md | 52 - .../attribute-matches-type/index.html | 1169 ----- site/cookbook/bool-method-prefix.md | 50 - site/cookbook/bool-method-prefix/index.html | 1168 ----- site/cookbook/constant-upper-case.md | 51 - site/cookbook/constant-upper-case/index.html | 1169 ----- site/cookbook/decorator-filtering.md | 84 - site/cookbook/decorator-filtering/index.html | 1213 ----- site/cookbook/exception-naming.md | 48 - site/cookbook/exception-naming/index.html | 1166 ----- site/cookbook/index.html | 1130 ---- site/cookbook/index.md | 15 - site/cookbook/layer-based-rules.md | 103 - site/cookbook/layer-based-rules/index.html | 1218 ----- site/cookbook/module-matches-class.md | 47 - site/cookbook/module-matches-class/index.html | 1165 ----- site/css/base.css | 2 - site/css/geist.css | 29 - site/css/katex.min.css | 1 - site/css/pygments/a11y-dark.css | 76 - site/css/pygments/a11y-high-contrast-dark.css | 76 - .../css/pygments/a11y-high-contrast-light.css | 76 - site/css/pygments/a11y-light.css | 76 - site/css/pygments/abap.css | 65 - site/css/pygments/algol.css | 49 - site/css/pygments/algol_nu.css | 49 - site/css/pygments/all.css | 4536 ----------------- site/css/pygments/arduino.css | 66 - site/css/pygments/autumn.css | 72 - site/css/pygments/blinds-dark.css | 76 - site/css/pygments/blinds-light.css | 76 - site/css/pygments/borland.css | 58 - site/css/pygments/bw.css | 45 - site/css/pygments/coffee.css | 85 - site/css/pygments/colorful.css | 75 - site/css/pygments/default.css | 75 - site/css/pygments/dracula.css | 84 - site/css/pygments/emacs.css | 75 - site/css/pygments/friendly.css | 75 - site/css/pygments/friendly_grayscale.css | 75 - site/css/pygments/fruity.css | 85 - site/css/pygments/github-dark-colorblind.css | 77 - .../pygments/github-dark-high-contrast.css | 77 - site/css/pygments/github-dark.css | 86 - site/css/pygments/github-light-colorblind.css | 77 - .../pygments/github-light-high-contrast.css | 77 - site/css/pygments/github-light.css | 77 - site/css/pygments/gotthard-dark.css | 75 - site/css/pygments/gotthard-light.css | 75 - site/css/pygments/greative.css | 76 - site/css/pygments/gruvbox-dark.css | 86 - site/css/pygments/gruvbox-light.css | 71 - site/css/pygments/igor.css | 39 - site/css/pygments/inkpot.css | 81 - site/css/pygments/lightbulb.css | 85 - site/css/pygments/lilypond.css | 61 - site/css/pygments/lovelace.css | 77 - site/css/pygments/manni.css | 75 - site/css/pygments/material.css | 84 - site/css/pygments/monokai.css | 85 - site/css/pygments/murphy.css | 75 - site/css/pygments/native.css | 85 - site/css/pygments/nord-darker.css | 85 - site/css/pygments/nord.css | 85 - site/css/pygments/one-dark.css | 85 - site/css/pygments/paraiso-dark.css | 79 - site/css/pygments/paraiso-light.css | 79 - site/css/pygments/pastie.css | 74 - site/css/pygments/perldoc.css | 72 - site/css/pygments/pitaya-smoothie.css | 76 - site/css/pygments/rainbow_dash.css | 68 - site/css/pygments/rrt.css | 85 - site/css/pygments/sas.css | 66 - site/css/pygments/shadcn-light.css | 244 - site/css/pygments/solarized-dark.css | 85 - site/css/pygments/solarized-light.css | 85 - site/css/pygments/staroffice.css | 85 - site/css/pygments/stata-dark.css | 85 - site/css/pygments/stata-light.css | 52 - site/css/pygments/tango.css | 84 - site/css/pygments/trac.css | 73 - site/css/pygments/vim.css | 85 - site/css/pygments/vs.css | 44 - site/css/pygments/xcode.css | 68 - site/css/pygments/zenburn.css | 85 - site/fonts/Geist.woff2 | Bin 64184 -> 0 bytes site/fonts/GeistMono.woff2 | Bin 62140 -> 0 bytes site/fonts/Inter-Italic.woff2 | Bin 387976 -> 0 bytes site/fonts/Inter.woff2 | Bin 352240 -> 0 bytes site/fonts/katex/KaTeX_AMS-Regular.woff2 | Bin 28076 -> 0 bytes site/fonts/katex/KaTeX_Caligraphic-Bold.woff2 | Bin 6912 -> 0 bytes .../katex/KaTeX_Caligraphic-Regular.woff2 | Bin 6908 -> 0 bytes site/fonts/katex/KaTeX_Fraktur-Bold.woff2 | Bin 11348 -> 0 bytes site/fonts/katex/KaTeX_Fraktur-Regular.woff2 | Bin 11316 -> 0 bytes site/fonts/katex/KaTeX_Main-Bold.woff2 | Bin 25324 -> 0 bytes site/fonts/katex/KaTeX_Main-BoldItalic.woff2 | Bin 16780 -> 0 bytes site/fonts/katex/KaTeX_Main-Italic.woff2 | Bin 16988 -> 0 bytes site/fonts/katex/KaTeX_Main-Regular.woff2 | Bin 26272 -> 0 bytes site/fonts/katex/KaTeX_Math-BoldItalic.woff2 | Bin 16400 -> 0 bytes site/fonts/katex/KaTeX_Math-Italic.woff2 | Bin 16440 -> 0 bytes site/fonts/katex/KaTeX_SansSerif-Bold.woff2 | Bin 12216 -> 0 bytes site/fonts/katex/KaTeX_SansSerif-Italic.woff2 | Bin 12028 -> 0 bytes .../fonts/katex/KaTeX_SansSerif-Regular.woff2 | Bin 10344 -> 0 bytes site/fonts/katex/KaTeX_Script-Regular.woff2 | Bin 9644 -> 0 bytes site/fonts/katex/KaTeX_Size1-Regular.woff2 | Bin 5468 -> 0 bytes site/fonts/katex/KaTeX_Size2-Regular.woff2 | Bin 5208 -> 0 bytes site/fonts/katex/KaTeX_Size3-Regular.woff2 | Bin 3624 -> 0 bytes site/fonts/katex/KaTeX_Size4-Regular.woff2 | Bin 4928 -> 0 bytes .../katex/KaTeX_Typewriter-Regular.woff2 | Bin 13568 -> 0 bytes site/getting-started/configuration.md | 85 - site/getting-started/configuration/index.html | 1217 ----- site/getting-started/installation.md | 25 - site/getting-started/installation/index.html | 1129 ---- site/getting-started/quick-start.md | 63 - site/getting-started/quick-start/index.html | 1171 ----- site/guide/apply-and-modules.md | 169 - site/guide/apply-and-modules/index.html | 1316 ----- site/guide/filters.md | 178 - site/guide/filters/index.html | 1347 ----- site/guide/include-exclude.md | 140 - site/guide/include-exclude/index.html | 1269 ----- site/guide/inline-ignore.md | 83 - site/guide/inline-ignore/index.html | 1185 ----- site/guide/naming-constraints.md | 218 - site/guide/naming-constraints/index.html | 1518 ------ site/guide/rules.md | 210 - site/guide/rules/index.html | 1357 ----- site/icons/github.svg | 5 - site/icons/gitlab.svg | 5 - site/icons/moon.svg | 5 - site/icons/shadcn.svg | 8 - site/icons/sun.svg | 13 - site/img/favicon.ico | Bin 379 -> 0 bytes site/index.html | 1236 ----- site/index.md | 114 - site/js/auto-render.min.js | 1 - site/js/callbacks.js | 266 - site/js/copy-button.js | 21 - site/js/katex.min.js | 1 - site/js/socket.io.min.js | 1 - site/pre-commit.md | 26 - site/pre-commit/index.html | 1123 ---- site/search/lunr.js | 3475 ------------- site/search/main.js | 109 - site/search/search_index.json | 1 - site/search/worker.js | 133 - site/sitemap.xml | 91 - site/sitemap.xml.gz | Bin 426 -> 0 bytes 155 files changed, 1 insertion(+), 42440 deletions(-) delete mode 100644 site/changelog.md delete mode 100644 site/changelog/index.html delete mode 100644 site/cli.md delete mode 100644 site/cli/index.html delete mode 100644 site/contributing.md delete mode 100644 site/contributing/index.html delete mode 100644 site/cookbook/attribute-matches-type.md delete mode 100644 site/cookbook/attribute-matches-type/index.html delete mode 100644 site/cookbook/bool-method-prefix.md delete mode 100644 site/cookbook/bool-method-prefix/index.html delete mode 100644 site/cookbook/constant-upper-case.md delete mode 100644 site/cookbook/constant-upper-case/index.html delete mode 100644 site/cookbook/decorator-filtering.md delete mode 100644 site/cookbook/decorator-filtering/index.html delete mode 100644 site/cookbook/exception-naming.md delete mode 100644 site/cookbook/exception-naming/index.html delete mode 100644 site/cookbook/index.html delete mode 100644 site/cookbook/index.md delete mode 100644 site/cookbook/layer-based-rules.md delete mode 100644 site/cookbook/layer-based-rules/index.html delete mode 100644 site/cookbook/module-matches-class.md delete mode 100644 site/cookbook/module-matches-class/index.html delete mode 100644 site/css/base.css delete mode 100644 site/css/geist.css delete mode 100644 site/css/katex.min.css delete mode 100644 site/css/pygments/a11y-dark.css delete mode 100644 site/css/pygments/a11y-high-contrast-dark.css delete mode 100644 site/css/pygments/a11y-high-contrast-light.css delete mode 100644 site/css/pygments/a11y-light.css delete mode 100644 site/css/pygments/abap.css delete mode 100644 site/css/pygments/algol.css delete mode 100644 site/css/pygments/algol_nu.css delete mode 100644 site/css/pygments/all.css delete mode 100644 site/css/pygments/arduino.css delete mode 100644 site/css/pygments/autumn.css delete mode 100644 site/css/pygments/blinds-dark.css delete mode 100644 site/css/pygments/blinds-light.css delete mode 100644 site/css/pygments/borland.css delete mode 100644 site/css/pygments/bw.css delete mode 100644 site/css/pygments/coffee.css delete mode 100644 site/css/pygments/colorful.css delete mode 100644 site/css/pygments/default.css delete mode 100644 site/css/pygments/dracula.css delete mode 100644 site/css/pygments/emacs.css delete mode 100644 site/css/pygments/friendly.css delete mode 100644 site/css/pygments/friendly_grayscale.css delete mode 100644 site/css/pygments/fruity.css delete mode 100644 site/css/pygments/github-dark-colorblind.css delete mode 100644 site/css/pygments/github-dark-high-contrast.css delete mode 100644 site/css/pygments/github-dark.css delete mode 100644 site/css/pygments/github-light-colorblind.css delete mode 100644 site/css/pygments/github-light-high-contrast.css delete mode 100644 site/css/pygments/github-light.css delete mode 100644 site/css/pygments/gotthard-dark.css delete mode 100644 site/css/pygments/gotthard-light.css delete mode 100644 site/css/pygments/greative.css delete mode 100644 site/css/pygments/gruvbox-dark.css delete mode 100644 site/css/pygments/gruvbox-light.css delete mode 100644 site/css/pygments/igor.css delete mode 100644 site/css/pygments/inkpot.css delete mode 100644 site/css/pygments/lightbulb.css delete mode 100644 site/css/pygments/lilypond.css delete mode 100644 site/css/pygments/lovelace.css delete mode 100644 site/css/pygments/manni.css delete mode 100644 site/css/pygments/material.css delete mode 100644 site/css/pygments/monokai.css delete mode 100644 site/css/pygments/murphy.css delete mode 100644 site/css/pygments/native.css delete mode 100644 site/css/pygments/nord-darker.css delete mode 100644 site/css/pygments/nord.css delete mode 100644 site/css/pygments/one-dark.css delete mode 100644 site/css/pygments/paraiso-dark.css delete mode 100644 site/css/pygments/paraiso-light.css delete mode 100644 site/css/pygments/pastie.css delete mode 100644 site/css/pygments/perldoc.css delete mode 100644 site/css/pygments/pitaya-smoothie.css delete mode 100644 site/css/pygments/rainbow_dash.css delete mode 100644 site/css/pygments/rrt.css delete mode 100644 site/css/pygments/sas.css delete mode 100644 site/css/pygments/shadcn-light.css delete mode 100644 site/css/pygments/solarized-dark.css delete mode 100644 site/css/pygments/solarized-light.css delete mode 100644 site/css/pygments/staroffice.css delete mode 100644 site/css/pygments/stata-dark.css delete mode 100644 site/css/pygments/stata-light.css delete mode 100644 site/css/pygments/tango.css delete mode 100644 site/css/pygments/trac.css delete mode 100644 site/css/pygments/vim.css delete mode 100644 site/css/pygments/vs.css delete mode 100644 site/css/pygments/xcode.css delete mode 100644 site/css/pygments/zenburn.css delete mode 100644 site/fonts/Geist.woff2 delete mode 100644 site/fonts/GeistMono.woff2 delete mode 100644 site/fonts/Inter-Italic.woff2 delete mode 100644 site/fonts/Inter.woff2 delete mode 100644 site/fonts/katex/KaTeX_AMS-Regular.woff2 delete mode 100644 site/fonts/katex/KaTeX_Caligraphic-Bold.woff2 delete mode 100644 site/fonts/katex/KaTeX_Caligraphic-Regular.woff2 delete mode 100644 site/fonts/katex/KaTeX_Fraktur-Bold.woff2 delete mode 100644 site/fonts/katex/KaTeX_Fraktur-Regular.woff2 delete mode 100644 site/fonts/katex/KaTeX_Main-Bold.woff2 delete mode 100644 site/fonts/katex/KaTeX_Main-BoldItalic.woff2 delete mode 100644 site/fonts/katex/KaTeX_Main-Italic.woff2 delete mode 100644 site/fonts/katex/KaTeX_Main-Regular.woff2 delete mode 100644 site/fonts/katex/KaTeX_Math-BoldItalic.woff2 delete mode 100644 site/fonts/katex/KaTeX_Math-Italic.woff2 delete mode 100644 site/fonts/katex/KaTeX_SansSerif-Bold.woff2 delete mode 100644 site/fonts/katex/KaTeX_SansSerif-Italic.woff2 delete mode 100644 site/fonts/katex/KaTeX_SansSerif-Regular.woff2 delete mode 100644 site/fonts/katex/KaTeX_Script-Regular.woff2 delete mode 100644 site/fonts/katex/KaTeX_Size1-Regular.woff2 delete mode 100644 site/fonts/katex/KaTeX_Size2-Regular.woff2 delete mode 100644 site/fonts/katex/KaTeX_Size3-Regular.woff2 delete mode 100644 site/fonts/katex/KaTeX_Size4-Regular.woff2 delete mode 100644 site/fonts/katex/KaTeX_Typewriter-Regular.woff2 delete mode 100644 site/getting-started/configuration.md delete mode 100644 site/getting-started/configuration/index.html delete mode 100644 site/getting-started/installation.md delete mode 100644 site/getting-started/installation/index.html delete mode 100644 site/getting-started/quick-start.md delete mode 100644 site/getting-started/quick-start/index.html delete mode 100644 site/guide/apply-and-modules.md delete mode 100644 site/guide/apply-and-modules/index.html delete mode 100644 site/guide/filters.md delete mode 100644 site/guide/filters/index.html delete mode 100644 site/guide/include-exclude.md delete mode 100644 site/guide/include-exclude/index.html delete mode 100644 site/guide/inline-ignore.md delete mode 100644 site/guide/inline-ignore/index.html delete mode 100644 site/guide/naming-constraints.md delete mode 100644 site/guide/naming-constraints/index.html delete mode 100644 site/guide/rules.md delete mode 100644 site/guide/rules/index.html delete mode 100644 site/icons/github.svg delete mode 100644 site/icons/gitlab.svg delete mode 100644 site/icons/moon.svg delete mode 100644 site/icons/shadcn.svg delete mode 100644 site/icons/sun.svg delete mode 100644 site/img/favicon.ico delete mode 100644 site/index.html delete mode 100644 site/index.md delete mode 100644 site/js/auto-render.min.js delete mode 100644 site/js/callbacks.js delete mode 100644 site/js/copy-button.js delete mode 100644 site/js/katex.min.js delete mode 100644 site/js/socket.io.min.js delete mode 100644 site/pre-commit.md delete mode 100644 site/pre-commit/index.html delete mode 100644 site/search/lunr.js delete mode 100644 site/search/main.js delete mode 100644 site/search/search_index.json delete mode 100644 site/search/worker.js delete mode 100644 site/sitemap.xml delete mode 100644 site/sitemap.xml.gz diff --git a/.gitignore b/.gitignore index d6add4d..2888ee8 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ build/ .venv/ .pytest_cache/ .ruff_cache/ +site/ diff --git a/site/changelog.md b/site/changelog.md deleted file mode 100644 index 135ed0b..0000000 --- a/site/changelog.md +++ /dev/null @@ -1,28 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file. - -## [0.1.0] - 2026-03-30 - -### Documentation - -- Write comprehensive README with examples and configuration guide - -### Features - -- Add config parsing for rules and apply sections -- Add module pattern matcher with wildcard and capture support -- Add Violation dataclass for checker results -- Add variable name checker with source/transform and case support -- Add function/method name checker with filter and prefix support -- Add class name checker with base_class filter and regex support -- Add module name checker with class_name derivation and regex -- Add package name checker with case and regex support -- line output format -- Add CLI with pnl check command and end-to-end integration - -### Miscellaneous - -- Set up project scaffolding and tooling -- Add runtime dependencies and CLI entry point -- Fix ruff lint and format issues diff --git a/site/changelog/index.html b/site/changelog/index.html deleted file mode 100644 index a57ec4d..0000000 --- a/site/changelog/index.html +++ /dev/null @@ -1,1113 +0,0 @@ - - - - - - - - - - - - - - -Changelog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
- - - -
- - - - - - - - - - - - - - - - -
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- - -
-
- -
-
-
-

All notable changes to this project will be documented in this file.

-

[0.1.0] - 2026-03-30

-

Documentation

-
    -
  • Write comprehensive README with examples and configuration guide
  • -
-

Features

-
    -
  • Add config parsing for rules and apply sections
  • -
  • Add module pattern matcher with wildcard and capture support
  • -
  • Add Violation dataclass for checker results
  • -
  • Add variable name checker with source/transform and case support
  • -
  • Add function/method name checker with filter and prefix support
  • -
  • Add class name checker with base_class filter and regex support
  • -
  • Add module name checker with class_name derivation and regex
  • -
  • Add package name checker with case and regex support
  • -
  • line output format
  • -
  • Add CLI with pnl check command and end-to-end integration
  • -
-

Miscellaneous

-
    -
  • Set up project scaffolding and tooling
  • -
  • Add runtime dependencies and CLI entry point
  • -
  • Fix ruff lint and format issues
  • -
-
- - -
- - - - -
- -
-
-
-
-
- -
- - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/cli.md b/site/cli.md deleted file mode 100644 index 9d16e9e..0000000 --- a/site/cli.md +++ /dev/null @@ -1,36 +0,0 @@ -# CLI - -## `pnl check` - -Run the linter against your project: - -```bash -# Check with auto-discovered config (searches upward from cwd) -pnl check - -# Specify config file (project root = config file's parent directory) -pnl check --config path/to/config.yaml -``` - -### Options - -| Option | Description | -|--------|-------------| -| `--config` | Path to a config file. The config file's parent directory is used as the project root. | - -### Config Auto-Discovery - -If `--config` is not provided, `pnl check` searches upward from the current working directory for either: - -- `.python-naming-linter.yaml` -- `pyproject.toml` (with a `[tool.python-naming-linter]` section) - -The first matching file found is used, and its parent directory becomes the project root. - -## Exit Codes - -| Code | Meaning | -|------|---------| -| `0` | No violations found | -| `1` | One or more violations found | -| `2` | Config file not found | diff --git a/site/cli/index.html b/site/cli/index.html deleted file mode 100644 index 679980b..0000000 --- a/site/cli/index.html +++ /dev/null @@ -1,1174 +0,0 @@ - - - - - - - - - - - - - - -CLI Reference - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
- - - -
- - - - - - - - - - - - - - - - -
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- - -
-
- -
-
-
-

pnl check

-

Run the linter against your project:

-
# Check with auto-discovered config (searches upward from cwd)
-pnl check
-
-# Specify config file (project root = config file's parent directory)
-pnl check --config path/to/config.yaml
-
- -

Options

-
- - - - - - - - - - - - -
OptionDescription
--configPath to a config file. The config file's parent directory is used as the project root.
-

Config Auto-Discovery

-

If --config is not provided, pnl check searches upward from the current working directory for either:

-
    -
  • .python-naming-linter.yaml
  • -
  • pyproject.toml (with a [tool.python-naming-linter] section)
  • -
-

The first matching file found is used, and its parent directory becomes the project root.

-

Exit Codes

-
- - - - - - - - - - - - - - - - - - - - -
CodeMeaning
0No violations found
1One or more violations found
2Config file not found
-
- - -
- - - - -
- -
-
-
-
-
- -
- - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/contributing.md b/site/contributing.md deleted file mode 100644 index cf2d59b..0000000 --- a/site/contributing.md +++ /dev/null @@ -1,84 +0,0 @@ -# Contributing - -## Commit Convention - -Commit messages must follow [Conventional Commits](https://www.conventionalcommits.org/) with [gitmoji](https://gitmoji.dev/) prefix. - -### Format - -``` - : -``` - -- The first letter after the colon must be **capitalized**. -- The description must be in **English**. - -### Types - -| Gitmoji | Type | Description | -|---------|------------|--------------------------| -| ✨ | `feat` | New feature | -| 🐛 | `fix` | Bug fix | -| ♻️ | `refactor` | Code refactoring | -| 📝 | `docs` | Documentation | -| ✅ | `test` | Adding or updating tests | -| 🔧 | `chore` | Maintenance tasks | -| 👷 | `ci` | CI/CD changes | -| ⚡ | `perf` | Performance improvement | - -### Examples - -``` -✨ feat: Add support for relative imports -🐛 fix: Use exit code 2 for config file not found -♻️ refactor: Simplify module resolver logic -``` - -## Pull Request Convention - -- PRs are always **squash merged**, so the PR title becomes the final commit message. -- PR titles must follow the same format as commit messages (` : `). -- PR descriptions must be written in **English**. - -## Pre-commit Hooks - -This project uses [pre-commit](https://pre-commit.com/) for linting, formatting, and type checking. - -```bash -# Install pre-commit hooks -pre-commit install - -# Run manually -pre-commit run --all-files -``` - -All commits must pass the pre-commit hooks before being accepted. - -## Release - -Releases are automated via GitHub Actions. You only need to create and push a version tag. - -### Steps - -1. Calculate the next version based on conventional commits: - ```bash - uvx git-cliff --bumped-version - ``` -2. Review the commits since the last tag: - ```bash - git log $(git describe --tags --abbrev=0)..HEAD --oneline - ``` -3. Push the latest commits to `main`: - ```bash - git push origin main - ``` -4. Create and push the tag: - ```bash - git tag - git push origin - ``` - -The GitHub Actions workflow will then automatically: -- Generate `CHANGELOG.md` and commit it to `main` -- Create a GitHub Release with release notes -- Publish the package to PyPI diff --git a/site/contributing/index.html b/site/contributing/index.html deleted file mode 100644 index e69a94d..0000000 --- a/site/contributing/index.html +++ /dev/null @@ -1,1256 +0,0 @@ - - - - - - - - - - - - - - -Contributing - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
- - - -
- - - - - - - - - - - - - - - - -
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- - -
-
- -
-
-
-

Commit Convention

-

Commit messages must follow Conventional Commits with gitmoji prefix.

-

Format

-
<gitmoji> <type>: <description>
-
- -
    -
  • The first letter after the colon must be capitalized.
  • -
  • The description must be in English.
  • -
-

Types

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GitmojiTypeDescription
featNew feature
🐛fixBug fix
♻️refactorCode refactoring
📝docsDocumentation
testAdding or updating tests
🔧choreMaintenance tasks
👷ciCI/CD changes
perfPerformance improvement
-

Examples

-
 feat: Add support for relative imports
-🐛 fix: Use exit code 2 for config file not found
-♻️ refactor: Simplify module resolver logic
-
- -

Pull Request Convention

-
    -
  • PRs are always squash merged, so the PR title becomes the final commit message.
  • -
  • PR titles must follow the same format as commit messages (<gitmoji> <type>: <description>).
  • -
  • PR descriptions must be written in English.
  • -
-

Pre-commit Hooks

-

This project uses pre-commit for linting, formatting, and type checking.

-
# Install pre-commit hooks
-pre-commit install
-
-# Run manually
-pre-commit run --all-files
-
- -

All commits must pass the pre-commit hooks before being accepted.

-

Release

-

Releases are automated via GitHub Actions. You only need to create and push a version tag.

-

Steps

-
    -
  1. Calculate the next version based on conventional commits: - bash - uvx git-cliff --bumped-version
  2. -
  3. Review the commits since the last tag: - bash - git log $(git describe --tags --abbrev=0)..HEAD --oneline
  4. -
  5. Push the latest commits to main: - bash - git push origin main
  6. -
  7. Create and push the tag: - bash - git tag <version> - git push origin <version>
  8. -
-

The GitHub Actions workflow will then automatically: -- Generate CHANGELOG.md and commit it to main -- Create a GitHub Release with release notes -- Publish the package to PyPI

-
- - -
- - - - -
- -
-
-
-
-
- -
- - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/cookbook/attribute-matches-type.md b/site/cookbook/attribute-matches-type.md deleted file mode 100644 index e588835..0000000 --- a/site/cookbook/attribute-matches-type.md +++ /dev/null @@ -1,52 +0,0 @@ -# Attribute Matches Type - -## Purpose - -When an attribute holds a repository, service, or other typed object, keeping the attribute name in sync with the type annotation removes ambiguity and makes dependency injection transparent at a glance. This rule requires each class attribute name to be the snake_case form of its type annotation. - -## Configuration - -```yaml -rules: - - name: attribute-matches-type - type: variable - filter: { target: attribute } - naming: { source: type_annotation, transform: snake_case } - -apply: - - name: domain-layer - rules: [attribute-matches-type] - modules: contexts.*.domain -``` - -## Violation Example - -```python -# contexts/billing/domain/service.py - -class BillingService: - def __init__(self, repo: SubscriptionRepository) -> None: - self.repo = repo # should be subscription_repository -``` - -## Passing Example - -```python -# contexts/billing/domain/service.py - -class BillingService: - def __init__(self, repo: SubscriptionRepository) -> None: - self.subscription_repository = repo -``` - -The `{prefix}_{expected}` form is also allowed. For example, `source_object_context: ObjectContext` passes because the name ends with `_object_context`. - -## Output - -``` -$ pnl check -contexts/billing/domain/service.py:5 - [attribute-matches-type] repo (expected: subscription_repository) - -Found 1 violation(s). -``` diff --git a/site/cookbook/attribute-matches-type/index.html b/site/cookbook/attribute-matches-type/index.html deleted file mode 100644 index 013948f..0000000 --- a/site/cookbook/attribute-matches-type/index.html +++ /dev/null @@ -1,1169 +0,0 @@ - - - - - - - - - - - - - - -Attribute Matches Type - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
- - - -
- - - - - - - - - - - - - - - - -
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- - -
-
- -
-
-
-

Purpose

-

When an attribute holds a repository, service, or other typed object, keeping the attribute name in sync with the type annotation removes ambiguity and makes dependency injection transparent at a glance. This rule requires each class attribute name to be the snake_case form of its type annotation.

-

Configuration

-
rules:
-  - name: attribute-matches-type
-    type: variable
-    filter: { target: attribute }
-    naming: { source: type_annotation, transform: snake_case }
-
-apply:
-  - name: domain-layer
-    rules: [attribute-matches-type]
-    modules: contexts.*.domain
-
- -

Violation Example

-
# contexts/billing/domain/service.py
-
-class BillingService:
-    def __init__(self, repo: SubscriptionRepository) -> None:
-        self.repo = repo   # should be subscription_repository
-
- -

Passing Example

-
# contexts/billing/domain/service.py
-
-class BillingService:
-    def __init__(self, repo: SubscriptionRepository) -> None:
-        self.subscription_repository = repo
-
- -

The {prefix}_{expected} form is also allowed. For example, source_object_context: ObjectContext passes because the name ends with _object_context.

-

Output

-
$ pnl check
-contexts/billing/domain/service.py:5
-    [attribute-matches-type] repo (expected: subscription_repository)
-
-Found 1 violation(s).
-
-
- - -
- - - - -
- -
-
-
-
-
- -
- - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/cookbook/bool-method-prefix.md b/site/cookbook/bool-method-prefix.md deleted file mode 100644 index db79aa2..0000000 --- a/site/cookbook/bool-method-prefix.md +++ /dev/null @@ -1,50 +0,0 @@ -# Bool Method Prefix - -## Purpose - -Functions that return `bool` are easier to read at call sites when their names read as a question. This rule enforces that any function or method with a `bool` return type annotation starts with `is_`, `has_`, or `should_`. - -## Configuration - -```yaml -rules: - - name: bool-method-prefix - type: function - filter: { return_type: bool } - naming: { prefix: [is_, has_, should_] } - -apply: - - name: all - rules: [bool-method-prefix] - modules: "**" -``` - -## Violation Example - -```python -# src/domain/service.py - -class SubscriptionService: - def validate(self) -> bool: # missing required prefix - return self._status == "active" -``` - -## Passing Example - -```python -# src/domain/service.py - -class SubscriptionService: - def is_valid(self) -> bool: - return self._status == "active" -``` - -## Output - -``` -$ pnl check -src/domain/service.py:4 - [bool-method-prefix] validate (expected prefix: is_ | has_ | should_) - -Found 1 violation(s). -``` diff --git a/site/cookbook/bool-method-prefix/index.html b/site/cookbook/bool-method-prefix/index.html deleted file mode 100644 index a252647..0000000 --- a/site/cookbook/bool-method-prefix/index.html +++ /dev/null @@ -1,1168 +0,0 @@ - - - - - - - - - - - - - - -Bool Method Prefix - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
- - - -
- - - - - - - - - - - - - - - - -
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- - -
-
- -
-
-
-

Purpose

-

Functions that return bool are easier to read at call sites when their names read as a question. This rule enforces that any function or method with a bool return type annotation starts with is_, has_, or should_.

-

Configuration

-
rules:
-  - name: bool-method-prefix
-    type: function
-    filter: { return_type: bool }
-    naming: { prefix: [is_, has_, should_] }
-
-apply:
-  - name: all
-    rules: [bool-method-prefix]
-    modules: "**"
-
- -

Violation Example

-
# src/domain/service.py
-
-class SubscriptionService:
-    def validate(self) -> bool:   # missing required prefix
-        return self._status == "active"
-
- -

Passing Example

-
# src/domain/service.py
-
-class SubscriptionService:
-    def is_valid(self) -> bool:
-        return self._status == "active"
-
- -

Output

-
$ pnl check
-src/domain/service.py:4
-    [bool-method-prefix] validate (expected prefix: is_ | has_ | should_)
-
-Found 1 violation(s).
-
-
- - -
- - - - -
- -
-
-
-
-
- -
- - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/cookbook/constant-upper-case.md b/site/cookbook/constant-upper-case.md deleted file mode 100644 index 5feb932..0000000 --- a/site/cookbook/constant-upper-case.md +++ /dev/null @@ -1,51 +0,0 @@ -# Constant Upper Case - -## Purpose - -Module-level constants are easier to distinguish from regular variables when they follow the UPPER_CASE convention. This rule catches constants that were accidentally written in snake_case and flags them for renaming. - -## Configuration - -```yaml -rules: - - name: constant-upper-case - type: variable - filter: { target: constant } - naming: { case: UPPER_CASE } - -apply: - - name: all - rules: [constant-upper-case] - modules: "**" -``` - -## Violation Example - -```python -# src/config.py - -max_retry_count = 3 # constant in snake_case -default_timeout_seconds = 30 # constant in snake_case -``` - -## Passing Example - -```python -# src/config.py - -MAX_RETRY_COUNT = 3 -DEFAULT_TIMEOUT_SECONDS = 30 -``` - -## Output - -``` -$ pnl check -src/config.py:3 - [constant-upper-case] max_retry_count (expected case: UPPER_CASE) - -src/config.py:4 - [constant-upper-case] default_timeout_seconds (expected case: UPPER_CASE) - -Found 2 violation(s). -``` diff --git a/site/cookbook/constant-upper-case/index.html b/site/cookbook/constant-upper-case/index.html deleted file mode 100644 index 63459e9..0000000 --- a/site/cookbook/constant-upper-case/index.html +++ /dev/null @@ -1,1169 +0,0 @@ - - - - - - - - - - - - - - -Constant Upper Case - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
- - - -
- - - - - - - - - - - - - - - - -
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- - -
-
- -
-
-
-

Purpose

-

Module-level constants are easier to distinguish from regular variables when they follow the UPPER_CASE convention. This rule catches constants that were accidentally written in snake_case and flags them for renaming.

-

Configuration

-
rules:
-  - name: constant-upper-case
-    type: variable
-    filter: { target: constant }
-    naming: { case: UPPER_CASE }
-
-apply:
-  - name: all
-    rules: [constant-upper-case]
-    modules: "**"
-
- -

Violation Example

-
# src/config.py
-
-max_retry_count = 3          # constant in snake_case
-default_timeout_seconds = 30 # constant in snake_case
-
- -

Passing Example

-
# src/config.py
-
-MAX_RETRY_COUNT = 3
-DEFAULT_TIMEOUT_SECONDS = 30
-
- -

Output

-
$ pnl check
-src/config.py:3
-    [constant-upper-case] max_retry_count (expected case: UPPER_CASE)
-
-src/config.py:4
-    [constant-upper-case] default_timeout_seconds (expected case: UPPER_CASE)
-
-Found 2 violation(s).
-
-
- - -
- - - - -
- -
-
-
-
-
- -
- - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/cookbook/decorator-filtering.md b/site/cookbook/decorator-filtering.md deleted file mode 100644 index a3f20a5..0000000 --- a/site/cookbook/decorator-filtering.md +++ /dev/null @@ -1,84 +0,0 @@ -# Decorator Filtering - -## Purpose - -Some naming conventions only apply to a specific kind of function or class. Decorator-based filtering lets you target `@staticmethod` methods, `@dataclass` classes, or any other decorated construct without affecting the rest of the codebase. - -## Configuration - -### Example 1 — `@staticmethod` methods must start with `create_` or `build_` - -```yaml -rules: - - name: static-factory-prefix - type: function - filter: { decorator: staticmethod } - naming: { prefix: [create_, build_] } - -apply: - - name: all - rules: [static-factory-prefix] - modules: "**" -``` - -### Example 2 — `@dataclass` classes must use PascalCase and end with `Data` or `Config` - -```yaml -rules: - - name: dataclass-naming - type: class - filter: { decorator: dataclass } - naming: { suffix: [Data, Config] } - -apply: - - name: all - rules: [dataclass-naming] - modules: "**" -``` - -## Violation Example - -```python -# src/domain/order.py -from dataclasses import dataclass - -class OrderRepository: - @staticmethod - def from_dict(raw: dict) -> "OrderRepository": # missing create_/build_ prefix - return OrderRepository(**raw) - -@dataclass -class OrderPayload: # missing Data/Config suffix - order_id: str - amount: float -``` - -## Passing Example - -```python -# src/domain/order.py -from dataclasses import dataclass - -class OrderRepository: - @staticmethod - def create_from_dict(raw: dict) -> "OrderRepository": - return OrderRepository(**raw) - -@dataclass -class OrderData: - order_id: str - amount: float -``` - -## Output - -``` -$ pnl check -src/domain/order.py:5 - [static-factory-prefix] from_dict (expected prefix: create_ | build_) - -src/domain/order.py:9 - [dataclass-naming] OrderPayload (expected suffix: Data | Config) - -Found 2 violation(s). -``` diff --git a/site/cookbook/decorator-filtering/index.html b/site/cookbook/decorator-filtering/index.html deleted file mode 100644 index 3c33db1..0000000 --- a/site/cookbook/decorator-filtering/index.html +++ /dev/null @@ -1,1213 +0,0 @@ - - - - - - - - - - - - - - -Decorator Filtering - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
- - - -
- - - - - - - - - - - - - - - - -
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- - -
-
- -
-
-
-

Purpose

-

Some naming conventions only apply to a specific kind of function or class. Decorator-based filtering lets you target @staticmethod methods, @dataclass classes, or any other decorated construct without affecting the rest of the codebase.

-

Configuration

-

Example 1 — @staticmethod methods must start with create_ or build_

-
rules:
-  - name: static-factory-prefix
-    type: function
-    filter: { decorator: staticmethod }
-    naming: { prefix: [create_, build_] }
-
-apply:
-  - name: all
-    rules: [static-factory-prefix]
-    modules: "**"
-
- -

Example 2 — @dataclass classes must use PascalCase and end with Data or Config

-
rules:
-  - name: dataclass-naming
-    type: class
-    filter: { decorator: dataclass }
-    naming: { suffix: [Data, Config] }
-
-apply:
-  - name: all
-    rules: [dataclass-naming]
-    modules: "**"
-
- -

Violation Example

-
# src/domain/order.py
-from dataclasses import dataclass
-
-class OrderRepository:
-    @staticmethod
-    def from_dict(raw: dict) -> "OrderRepository":   # missing create_/build_ prefix
-        return OrderRepository(**raw)
-
-@dataclass
-class OrderPayload:   # missing Data/Config suffix
-    order_id: str
-    amount: float
-
- -

Passing Example

-
# src/domain/order.py
-from dataclasses import dataclass
-
-class OrderRepository:
-    @staticmethod
-    def create_from_dict(raw: dict) -> "OrderRepository":
-        return OrderRepository(**raw)
-
-@dataclass
-class OrderData:
-    order_id: str
-    amount: float
-
- -

Output

-
$ pnl check
-src/domain/order.py:5
-    [static-factory-prefix] from_dict (expected prefix: create_ | build_)
-
-src/domain/order.py:9
-    [dataclass-naming] OrderPayload (expected suffix: Data | Config)
-
-Found 2 violation(s).
-
-
- - -
- - - - -
- -
-
-
-
-
- -
- - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/cookbook/exception-naming.md b/site/cookbook/exception-naming.md deleted file mode 100644 index 0d4ad18..0000000 --- a/site/cookbook/exception-naming.md +++ /dev/null @@ -1,48 +0,0 @@ -# Exception Naming - -## Purpose - -Consistent exception names make error handling code easier to scan and understand. This rule enforces a structured pattern: exceptions must start with an upper-case word, optionally followed by more words, and end with one of the recognised semantic suffixes (`NotFound`, `Invalid`, `Denied`, `Conflict`, or `Failed`) before the mandatory `Error` suffix. - -## Configuration - -```yaml -rules: - - name: exception-naming - type: class - filter: { base_class: Exception } - naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" } - -apply: - - name: all - rules: [exception-naming] - modules: "**" -``` - -## Violation Example - -```python -# src/domain/exceptions.py - -class FilterError(Exception): # missing semantic suffix before Error - pass -``` - -## Passing Example - -```python -# src/domain/exceptions.py - -class FilterNotFoundError(Exception): - pass -``` - -## Output - -``` -$ pnl check -src/domain/exceptions.py:3 - [exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$) - -Found 1 violation(s). -``` diff --git a/site/cookbook/exception-naming/index.html b/site/cookbook/exception-naming/index.html deleted file mode 100644 index d8e38cc..0000000 --- a/site/cookbook/exception-naming/index.html +++ /dev/null @@ -1,1166 +0,0 @@ - - - - - - - - - - - - - - -Exception Naming - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
- - - -
- - - - - - - - - - - - - - - - -
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- - -
-
- -
-
-
-

Purpose

-

Consistent exception names make error handling code easier to scan and understand. This rule enforces a structured pattern: exceptions must start with an upper-case word, optionally followed by more words, and end with one of the recognised semantic suffixes (NotFound, Invalid, Denied, Conflict, or Failed) before the mandatory Error suffix.

-

Configuration

-
rules:
-  - name: exception-naming
-    type: class
-    filter: { base_class: Exception }
-    naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" }
-
-apply:
-  - name: all
-    rules: [exception-naming]
-    modules: "**"
-
- -

Violation Example

-
# src/domain/exceptions.py
-
-class FilterError(Exception):   # missing semantic suffix before Error
-    pass
-
- -

Passing Example

-
# src/domain/exceptions.py
-
-class FilterNotFoundError(Exception):
-    pass
-
- -

Output

-
$ pnl check
-src/domain/exceptions.py:3
-    [exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$)
-
-Found 1 violation(s).
-
-
- - -
- - - - -
- -
-
-
-
-
- -
- - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/cookbook/index.html b/site/cookbook/index.html deleted file mode 100644 index 1347ba3..0000000 --- a/site/cookbook/index.html +++ /dev/null @@ -1,1130 +0,0 @@ - - - - - - - - - - - - - - -Overview - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
- - - -
- - - - - - - - - - - - - - - - -
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- - -
-
- -
-
-
-

The cookbook provides ready-to-use recipes for common naming convention scenarios. Each recipe shows a complete configuration, a violation example, and a passing example so you can adapt it to your project immediately.

-

Recipes

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
RecipeDescription
Bool Method PrefixRequire is_, has_, or should_ prefix on functions that return bool
Exception NamingEnforce a structured suffix pattern on exception class names
Attribute Matches TypeRequire attribute names to match their type annotation in snake_case
Module Matches ClassRequire module filenames to match the primary class they contain
Layer-Based RulesApply different rule sets to different layers of your codebase
Constant Upper CaseRequire module-level constants to use UPPER_CASE
Decorator FilteringApply naming rules only to functions or classes with a specific decorator
-
- - -
- - - - -
- -
-
-
-
-
- -
- - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/cookbook/index.md b/site/cookbook/index.md deleted file mode 100644 index f3e093c..0000000 --- a/site/cookbook/index.md +++ /dev/null @@ -1,15 +0,0 @@ -# Cookbook - -The cookbook provides ready-to-use recipes for common naming convention scenarios. Each recipe shows a complete configuration, a violation example, and a passing example so you can adapt it to your project immediately. - -## Recipes - -| Recipe | Description | -|--------|-------------| -| [Bool Method Prefix](./bool-method-prefix.md) | Require `is_`, `has_`, or `should_` prefix on functions that return `bool` | -| [Exception Naming](./exception-naming.md) | Enforce a structured suffix pattern on exception class names | -| [Attribute Matches Type](./attribute-matches-type.md) | Require attribute names to match their type annotation in snake_case | -| [Module Matches Class](./module-matches-class.md) | Require module filenames to match the primary class they contain | -| [Layer-Based Rules](./layer-based-rules.md) | Apply different rule sets to different layers of your codebase | -| [Constant Upper Case](./constant-upper-case.md) | Require module-level constants to use UPPER_CASE | -| [Decorator Filtering](./decorator-filtering.md) | Apply naming rules only to functions or classes with a specific decorator | diff --git a/site/cookbook/layer-based-rules.md b/site/cookbook/layer-based-rules.md deleted file mode 100644 index ccb7432..0000000 --- a/site/cookbook/layer-based-rules.md +++ /dev/null @@ -1,103 +0,0 @@ -# Layer-Based Rules - -## Purpose - -Real projects have distinct layers — domain, infrastructure, API — each with its own naming conventions. Instead of applying every rule globally, you can scope each rule set to the layer where it belongs, reducing false positives and making the intent of each rule explicit. - -## Configuration - -```yaml -rules: - - name: attribute-matches-type - type: variable - filter: { target: attribute } - naming: { source: type_annotation, transform: snake_case } - - - name: bool-method-prefix - type: function - filter: { return_type: bool } - naming: { prefix: [is_, has_, should_] } - - - name: domain-module-naming - type: module - naming: { source: class_name, transform: snake_case } - - - name: constant-upper-case - type: variable - filter: { target: constant } - naming: { case: UPPER_CASE } - - - name: exception-naming - type: class - filter: { base_class: Exception } - naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" } - -apply: - - name: domain-layer - rules: - - attribute-matches-type - - bool-method-prefix - - domain-module-naming - - constant-upper-case - modules: contexts.*.domain - - - name: global-exceptions - rules: [exception-naming] - modules: "**" -``` - -The `domain-layer` apply block targets every `contexts//domain` package, while `global-exceptions` runs the exception naming rule across the entire codebase. - -## Violation Example - -```python -# contexts/billing/domain/service.py - -max_retry = 3 # constant not in UPPER_CASE - -class BillingService: - def validate(self) -> bool: # bool method missing prefix - return self._status == "active" -``` - -```python -# contexts/billing/domain/exceptions.py - -class BillingError(Exception): # exception missing semantic suffix - pass -``` - -## Passing Example - -```python -# contexts/billing/domain/service.py - -MAX_RETRY = 3 - -class BillingService: - def is_valid(self) -> bool: - return self._status == "active" -``` - -```python -# contexts/billing/domain/exceptions.py - -class BillingNotFoundError(Exception): - pass -``` - -## Output - -``` -$ pnl check -contexts/billing/domain/service.py:3 - [constant-upper-case] max_retry (expected case: UPPER_CASE) - -contexts/billing/domain/service.py:6 - [bool-method-prefix] validate (expected prefix: is_ | has_ | should_) - -contexts/billing/domain/exceptions.py:3 - [exception-naming] BillingError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$) - -Found 3 violation(s). -``` diff --git a/site/cookbook/layer-based-rules/index.html b/site/cookbook/layer-based-rules/index.html deleted file mode 100644 index b93deec..0000000 --- a/site/cookbook/layer-based-rules/index.html +++ /dev/null @@ -1,1218 +0,0 @@ - - - - - - - - - - - - - - -Layer-Based Rules - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
- - - -
- - - - - - - - - - - - - - - - -
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- - -
-
- -
-
-
-

Purpose

-

Real projects have distinct layers — domain, infrastructure, API — each with its own naming conventions. Instead of applying every rule globally, you can scope each rule set to the layer where it belongs, reducing false positives and making the intent of each rule explicit.

-

Configuration

-
rules:
-  - name: attribute-matches-type
-    type: variable
-    filter: { target: attribute }
-    naming: { source: type_annotation, transform: snake_case }
-
-  - name: bool-method-prefix
-    type: function
-    filter: { return_type: bool }
-    naming: { prefix: [is_, has_, should_] }
-
-  - name: domain-module-naming
-    type: module
-    naming: { source: class_name, transform: snake_case }
-
-  - name: constant-upper-case
-    type: variable
-    filter: { target: constant }
-    naming: { case: UPPER_CASE }
-
-  - name: exception-naming
-    type: class
-    filter: { base_class: Exception }
-    naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" }
-
-apply:
-  - name: domain-layer
-    rules:
-      - attribute-matches-type
-      - bool-method-prefix
-      - domain-module-naming
-      - constant-upper-case
-    modules: contexts.*.domain
-
-  - name: global-exceptions
-    rules: [exception-naming]
-    modules: "**"
-
- -

The domain-layer apply block targets every contexts/<context>/domain package, while global-exceptions runs the exception naming rule across the entire codebase.

-

Violation Example

-
# contexts/billing/domain/service.py
-
-max_retry = 3                          # constant not in UPPER_CASE
-
-class BillingService:
-    def validate(self) -> bool:        # bool method missing prefix
-        return self._status == "active"
-
- -
# contexts/billing/domain/exceptions.py
-
-class BillingError(Exception):         # exception missing semantic suffix
-    pass
-
- -

Passing Example

-
# contexts/billing/domain/service.py
-
-MAX_RETRY = 3
-
-class BillingService:
-    def is_valid(self) -> bool:
-        return self._status == "active"
-
- -
# contexts/billing/domain/exceptions.py
-
-class BillingNotFoundError(Exception):
-    pass
-
- -

Output

-
$ pnl check
-contexts/billing/domain/service.py:3
-    [constant-upper-case] max_retry (expected case: UPPER_CASE)
-
-contexts/billing/domain/service.py:6
-    [bool-method-prefix] validate (expected prefix: is_ | has_ | should_)
-
-contexts/billing/domain/exceptions.py:3
-    [exception-naming] BillingError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$)
-
-Found 3 violation(s).
-
-
- - -
- - - - -
- -
-
-
-
-
- -
- - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/cookbook/module-matches-class.md b/site/cookbook/module-matches-class.md deleted file mode 100644 index bda62b2..0000000 --- a/site/cookbook/module-matches-class.md +++ /dev/null @@ -1,47 +0,0 @@ -# Module Matches Class - -## Purpose - -When each module contains one primary class, keeping the filename in sync with the class name makes it immediately obvious what a file exports. This rule requires the module filename (without the `.py` extension) to be the snake_case form of the primary class name in that file. - -## Configuration - -```yaml -rules: - - name: domain-module-naming - type: module - naming: { source: class_name, transform: snake_case } - -apply: - - name: domain-layer - rules: [domain-module-naming] - modules: contexts.*.domain -``` - -## Violation Example - -```python -# contexts/catalog/domain/custom.py ← filename does not match class name - -class CustomObject: - pass -``` - -## Passing Example - -```python -# contexts/catalog/domain/custom_object.py ← matches CustomObject in snake_case - -class CustomObject: - pass -``` - -## Output - -``` -$ pnl check -contexts/catalog/domain/custom.py:1 - [domain-module-naming] custom (expected: custom_object) - -Found 1 violation(s). -``` diff --git a/site/cookbook/module-matches-class/index.html b/site/cookbook/module-matches-class/index.html deleted file mode 100644 index 1f7c8d9..0000000 --- a/site/cookbook/module-matches-class/index.html +++ /dev/null @@ -1,1165 +0,0 @@ - - - - - - - - - - - - - - -Module Matches Class - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
- - - -
- - - - - - - - - - - - - - - - -
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- - -
-
- -
-
-
-

Purpose

-

When each module contains one primary class, keeping the filename in sync with the class name makes it immediately obvious what a file exports. This rule requires the module filename (without the .py extension) to be the snake_case form of the primary class name in that file.

-

Configuration

-
rules:
-  - name: domain-module-naming
-    type: module
-    naming: { source: class_name, transform: snake_case }
-
-apply:
-  - name: domain-layer
-    rules: [domain-module-naming]
-    modules: contexts.*.domain
-
- -

Violation Example

-
# contexts/catalog/domain/custom.py   ← filename does not match class name
-
-class CustomObject:
-    pass
-
- -

Passing Example

-
# contexts/catalog/domain/custom_object.py   ← matches CustomObject in snake_case
-
-class CustomObject:
-    pass
-
- -

Output

-
$ pnl check
-contexts/catalog/domain/custom.py:1
-    [domain-module-naming] custom (expected: custom_object)
-
-Found 1 violation(s).
-
-
- - -
- - - - -
- -
-
-
-
-
- -
- - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/css/base.css b/site/css/base.css deleted file mode 100644 index e597913..0000000 --- a/site/css/base.css +++ /dev/null @@ -1,2 +0,0 @@ -/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */ -@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-space-y-reverse:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-blue-50:oklch(97% .014 254.604);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-blue-950:oklch(28.2% .091 267.935);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-900:oklch(20.8% .042 265.755);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-neutral-300:oklch(87% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-stone-50:oklch(98.5% .001 106.423);--color-stone-900:oklch(21.6% .006 56.043);--color-black:#000;--color-white:#fff;--spacing:.25rem;--breakpoint-sm:40rem;--breakpoint-md:48rem;--breakpoint-lg:64rem;--breakpoint-xl:80rem;--breakpoint-2xl:96rem;--container-lg:32rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--leading-relaxed:1.625;--leading-loose:2;--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:.75rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--blur-xs:4px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-background:var(--background);--color-foreground:var(--foreground);--color-card:var(--card);--color-card-foreground:var(--card-foreground);--color-popover:var(--popover);--color-popover-foreground:var(--popover-foreground);--color-primary:var(--primary);--color-primary-foreground:var(--primary-foreground);--color-secondary:var(--secondary);--color-secondary-foreground:var(--secondary-foreground);--color-muted:var(--muted);--color-muted-foreground:var(--muted-foreground);--color-accent:var(--accent);--color-accent-foreground:var(--accent-foreground);--color-destructive:var(--destructive);--color-destructive-foreground:var(--destructive-foreground);--color-border:var(--border);--color-input:var(--input);--color-ring:var(--ring);--color-chart-2:var(--chart-2);--color-warning:var(--warning);--color-sidebar:var(--sidebar);--color-sidebar-foreground:var(--sidebar-forground);--color-sidebar-accent:var(--sidebar-accent);--color-sidebar-accent-foreground:var(--sidebar-accent-foreground);--color-sidebar-ring:var(--sidebar-ring);--color-surface:var(--surface);--color-selection:var(--selection);--color-code:var(--code);--color-code-foreground:var(--code-foreground);--color-code-highlight:var(--code-highlight);--color-code-number:var(--code-number);--breakpoint-3xl:1600px}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--font-inter:"Inter", sans-serif;--font-sans:"Geist", sans-serif;--font-mono:"Geist Mono", monospace;--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:var(--color-blue-300);--chart-2:var(--color-blue-500);--chart-3:var(--color-blue-600);--chart-4:var(--color-blue-700);--chart-5:var(--color-blue-800);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0);--surface:oklch(98% 0 0);--surface-foreground:var(--foreground);--code:var(--surface);--code-foreground:var(--surface-foreground);--code-highlight:oklch(96% 0 0);--code-number:oklch(56% 0 0);--selection:oklch(14.5% 0 0);--selection-foreground:oklch(100% 0 0);--warning:oklch(84% .16 84);--warning-foreground:oklch(28% .07 46);--color-code:var(--code);--color-code-foreground:var(--code-foreground);--color-code-highlight:var(--code-highlight);--color-code-number:var(--code-number)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(26.9% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(37.1% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:var(--color-blue-300);--chart-2:var(--color-blue-500);--chart-3:var(--color-blue-600);--chart-4:var(--color-blue-700);--chart-5:var(--color-blue-800);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(43.9% 0 0);--surface:oklch(20% 0 0);--surface-foreground:oklch(70.8% 0 0);--code:var(--surface);--code-foreground:var(--surface-foreground);--code-highlight:oklch(27% 0 0);--code-number:oklch(72% 0 0);--selection:oklch(92.2% 0 0);--selection-foreground:oklch(20.5% 0 0);--warning:oklch(41% .11 46);--warning-foreground:oklch(99% .02 95)}*{border-color:var(--color-border)}body{background-color:var(--color-background);color:var(--color-foreground)}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-3{top:calc(var(--spacing) * 3)}.top-8{top:calc(var(--spacing) * 8)}.top-12{top:calc(var(--spacing) * 12)}.top-\[calc\(var\(--header-height\)\+0\.6rem\)\]{top:calc(var(--header-height) + .6rem)}.top-\[calc\(var\(--header-height\)\+1px\)\]{top:calc(var(--header-height) + 1px)}.right-0{right:calc(var(--spacing) * 0)}.right-2{right:calc(var(--spacing) * 2)}.-bottom-1{bottom:calc(var(--spacing) * -1)}.-bottom-3{bottom:calc(var(--spacing) * -3)}.bottom-0{bottom:calc(var(--spacing) * 0)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.container{width:100%}@media (min-width:1600px){.container{max-width:1600px}}@media (min-width:2000px){.container{max-width:2000px}}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-auto{margin:auto}.container{padding-inline:calc(var(--spacing) * 4);margin-inline:auto}@media (min-width:1600px){.container{width:100%;max-width:var(--breakpoint-3xl);padding-inline:calc(var(--spacing) * 8)}}@media (min-width:40rem){.container{max-width:var(--breakpoint-sm)}}@media (min-width:48rem){.container{max-width:var(--breakpoint-md)}}@media (min-width:64rem){.container{max-width:var(--breakpoint-lg)}}@media (min-width:80rem){.container{max-width:var(--breakpoint-xl)}}@media (min-width:96rem){.container{max-width:var(--breakpoint-2xl)}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.size-1{width:calc(var(--spacing) * 1);height:calc(var(--spacing) * 1)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-4\.5{width:calc(var(--spacing) * 4.5);height:calc(var(--spacing) * 4.5)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-\(--footer-height\){height:var(--footer-height)}.h-\(--header-height\){height:var(--header-height)}.h-\(--radix-popper-available-height\){height:var(--radix-popper-available-height)}.h-\(--top-spacing\){height:var(--top-spacing)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-40{height:calc(var(--spacing) * 40)}.h-84{height:calc(var(--spacing) * 84)}.h-\[1px\]{height:1px}.h-\[30px\]{height:30px}.h-\[calc\(100svh-10rem\)\]{height:calc(100svh - 10rem)}.h-\[calc\(100svh-var\(--header-height\)-var\(--footer-height\)\)\]{height:calc(100svh - var(--header-height) - var(--footer-height))}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-fit{height:fit-content}.h-full{height:100%}.h-px{height:1px}.max-h-96{max-height:calc(var(--spacing) * 96)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-min{min-height:min-content}.min-h-svh{min-height:100svh}.w-\(--radix-popper-available-width\){width:var(--radix-popper-available-width)}.w-\(--sidebar-menu-width\){width:var(--sidebar-menu-width)}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-72{width:calc(var(--spacing) * 72)}.w-fit{width:fit-content}.w-full{width:100%}.w-lg{width:var(--container-lg)}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-\(--radix-popover-content-transform-origin\){transform-origin:var(--radix-popover-content-transform-origin)}.origin-center{transform-origin:50%}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-ns-resize{cursor:ns-resize}.cursor-pointer{cursor:pointer}.touch-manipulation{touch-action:manipulation}.resize{resize:both}.scroll-m-20{scroll-margin:calc(var(--spacing) * 20)}.scroll-my-1{scroll-margin-block:calc(var(--spacing) * 1)}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-12{gap:calc(var(--spacing) * 12)}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 1) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-none{overscroll-behavior:none}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-none{--tw-border-style:none;border-style:none}.border-input{border-color:var(--color-input)}.border-primary{border-color:var(--color-primary)}.border-transparent{border-color:#0000}.bg-background,.bg-background\/90{background-color:var(--color-background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/90{background-color:color-mix(in oklab, var(--color-background) 90%, transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.bg-border{background-color:var(--color-border)}.bg-card{background-color:var(--color-card)}.bg-destructive{background-color:var(--color-destructive)}.bg-popover{background-color:var(--color-popover)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}.bg-transparent{background-color:#0000}.bg-warning{background-color:var(--color-warning)}.bg-white{background-color:var(--color-white)}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-background{--tw-gradient-from:var(--color-background);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-background\/80{--tw-gradient-via:var(--color-background)}@supports (color:color-mix(in lab, red, red)){.via-background\/80{--tw-gradient-via:color-mix(in oklab, var(--color-background) 80%, transparent)}}.via-background\/80{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-border{--tw-gradient-via:var(--color-border);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-background\/50{--tw-gradient-to:var(--color-background)}@supports (color:color-mix(in lab, red, red)){.to-background\/50{--tw-gradient-to:color-mix(in oklab, var(--color-background) 50%, transparent)}}.to-background\/50{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.\!p-0{padding:calc(var(--spacing) * 0)!important}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-0{padding-inline:calc(var(--spacing) * 0)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.align-bottom{vertical-align:bottom}.align-middle{vertical-align:middle}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.text-\[1\.05rem\]{font-size:1.05rem}.leading-loose{--tw-leading:var(--leading-loose);line-height:var(--leading-loose)}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-balance{text-wrap:balance}.text-wrap{text-wrap:wrap}.whitespace-nowrap{white-space:nowrap}.text-card-foreground{color:var(--color-card-foreground)}.text-destructive{color:var(--color-destructive)}.text-destructive-foreground{color:var(--color-destructive-foreground)}.text-foreground{color:var(--color-foreground)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-popover-foreground{color:var(--color-popover-foreground)}.text-primary{color:var(--color-primary)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-secondary-foreground{color:var(--color-secondary-foreground)}.text-sidebar-foreground{color:var(--color-sidebar-foreground)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-primary{accent-color:var(--color-primary)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-ring\/10{--tw-ring-color:var(--color-ring)}@supports (color:color-mix(in lab, red, red)){.ring-ring\/10{--tw-ring-color:color-mix(in oklab, var(--color-ring) 10%, transparent)}}.ring-sidebar-ring{--tw-ring-color:var(--color-sidebar-ring)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-ring\/50{outline-color:var(--color-ring)}@supports (color:color-mix(in lab, red, red)){.outline-ring\/50{outline-color:color-mix(in oklab, var(--color-ring) 50%, transparent)}}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.blur-xs{--tw-blur:blur(var(--blur-xs));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[--footer-height\:calc\(var\(--spacing\)\*14\)\]{--footer-height:calc(var(--spacing) * 14)}.\[--header-height\:calc\(var\(--spacing\)\*14\)\]{--header-height:calc(var(--spacing) * 14)}.\[--sidebar-menu-width\:--spacing\(56\)\]{--sidebar-menu-width:calc(var(--spacing) * 56)}.\[--sidebar-width\:220px\]{--sidebar-width:220px}.\[--top-spacing\:0\]{--top-spacing:0}.duration-100{animation-duration:.1s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.ease-in{animation-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.paused{animation-play-state:paused}.running{animation-play-state:running}@media (hover:hover){.group-hover\:bg-primary:is(:where(.group):hover *){background-color:var(--color-primary)}.group-hover\/container\:opacity-100:is(:where(.group\/container):hover *){opacity:1}}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing) * 8)}.group-has-\[\.section-soft\]\/body\:bg-surface\/40:is(:where(.group\/body):has(.section-soft) *){background-color:var(--color-surface)}@supports (color:color-mix(in lab, red, red)){.group-has-\[\.section-soft\]\/body\:bg-surface\/40:is(:where(.group\/body):has(.section-soft) *){background-color:color-mix(in oklab, var(--color-surface) 40%, transparent)}}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing) * -8)}.group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing) * 8)!important;height:calc(var(--spacing) * 8)!important}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.group-data-\[state\=open\]\:-translate-x-\[2\.25px\]:is(:where(.group)[data-state=open] *){--tw-translate-x:calc(2.25px * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[state\=open\]\:-translate-y-\[2\.25px\]:is(:where(.group)[data-state=open] *){--tw-translate-y:calc(2.25px * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[state\=open\]\:translate-y-\[2\.25px\]:is(:where(.group)[data-state=open] *){--tw-translate-y:2.25px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[state\=open\]\:-rotate-45:is(:where(.group)[data-state=open] *){rotate:-45deg}.group-data-\[state\=open\]\:rotate-45:is(:where(.group)[data-state=open] *){rotate:45deg}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.selection\:bg-primary ::selection{background-color:var(--color-primary)}.selection\:bg-primary::selection{background-color:var(--color-primary)}.selection\:text-primary-foreground ::selection{color:var(--color-primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--color-primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--color-foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--color-muted-foreground)}.backdrop\:bg-transparent::backdrop{background-color:#0000}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-x-0:after{content:var(--tw-content);inset-inline:calc(var(--spacing) * 0)}.after\:-inset-y-1:after{content:var(--tw-content);inset-block:calc(var(--spacing) * -1)}.after\:z-0:after{content:var(--tw-content);z-index:0}.after\:rounded-md:after{content:var(--tw-content);border-radius:var(--radius-md)}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-destructive\/90:hover{background-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--color-destructive) 90%, transparent)}}.hover\:bg-muted\/50:hover{background-color:var(--color-muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab, var(--color-muted) 50%, transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--color-primary) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--color-secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--color-secondary) 80%, transparent)}}.hover\:bg-sidebar-accent:hover{background-color:var(--color-sidebar-accent)}.hover\:bg-transparent:hover{background-color:#0000}.hover\:text-accent-foreground:hover{color:var(--color-accent-foreground)}.hover\:text-foreground:hover{color:var(--color-foreground)}.hover\:text-sidebar-accent-foreground:hover{color:var(--color-sidebar-accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:bg-accent:focus{background-color:var(--color-accent)}.focus\:text-accent-foreground:focus{color:var(--color-accent-foreground)}.focus-visible\:border-ring:focus-visible{border-color:var(--color-ring)}.focus-visible\:bg-transparent:focus-visible{background-color:#0000}.focus-visible\:opacity-100:focus-visible{opacity:1}.focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-4:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible,.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--color-ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-ring) 50%, transparent)}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:bg-sidebar-accent:active{background-color:var(--color-sidebar-accent)}.active\:bg-transparent:active{background-color:#0000}.active\:text-sidebar-accent-foreground:active{color:var(--color-sidebar-accent-foreground)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-data-\[variant\=inset\]\:bg-sidebar:has([data-variant=inset]){background-color:var(--color-sidebar)}.has-\[\&\>svg\]\:px-2\.5:has(*>svg),.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true],.aria-invalid\:border-destructive\/60[aria-invalid=true]{border-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:border-destructive\/60[aria-invalid=true]{border-color:color-mix(in oklab, var(--color-destructive) 60%, transparent)}}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 20%, transparent)}}.aria-invalid\:outline-destructive\/60[aria-invalid=true]{outline-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:outline-destructive\/60[aria-invalid=true]{outline-color:color-mix(in oklab, var(--color-destructive) 60%, transparent)}}.aria-invalid\:focus-visible\:ring-0[aria-invalid=true]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.aria-invalid\:focus-visible\:ring-\[3px\][aria-invalid=true]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.aria-invalid\:focus-visible\:outline-none[aria-invalid=true]:focus-visible{--tw-outline-style:none;outline-style:none}.data-\[active\=true\]\:border-accent[data-active=true]{border-color:var(--color-accent)}.data-\[active\=true\]\:bg-accent[data-active=true]{background-color:var(--color-accent)}.data-\[active\=true\]\:font-medium[data-active=true]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[active\=true\]\:text-foreground[data-active=true]{color:var(--color-foreground)}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:var(--color-sidebar-accent-foreground)}.data-\[depth\=3\]\:pl-4[data-depth="3"]{padding-left:calc(var(--spacing) * 4)}.data-\[depth\=4\]\:pl-6[data-depth="4"]{padding-left:calc(var(--spacing) * 6)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[error\=true\]\:text-destructive[data-error=true]{color:var(--color-destructive)}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing) * 8)}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--color-muted-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}:is(.\*\:data-\[slot\=alert\]\:first\:mt-0>*)[data-slot=alert]:first-child{margin-top:calc(var(--spacing) * 0)}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing) * 2)}:is(.\*\*\:data-\[slot\=separator\]\:\!h-4 *)[data-slot=separator]{height:calc(var(--spacing) * 4)!important}.data-\[state\=closed\]\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}@media (hover:hover){.data-\[state\=open\]\:hover\:bg-sidebar-accent[data-state=open]:hover{background-color:var(--color-sidebar-accent)}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground[data-state=open]:hover{color:var(--color-sidebar-accent-foreground)}}@media not all and (min-width:500px){.max-\[500px\]\:hidden{display:none}}@media not all and (min-width:48rem){.max-md\:hidden{display:none}}@media (min-width:1600px){.\33 xl\:flex{display:flex}}@media (min-width:40rem){.sm\:rotate-0{rotate:none}.sm\:pr-12{padding-right:calc(var(--spacing) * 12)}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:text-\[15px\]{font-size:15px}}@media (min-width:48rem){.md\:flex{display:flex}.md\:size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.md\:h-7{height:calc(var(--spacing) * 7)}.md\:w-48{width:calc(var(--spacing) * 48)}.md\:w-auto{width:auto}.md\:flex-1{flex:1}.md\:flex-none{flex:none}.md\:justify-end{justify-content:flex-end}.md\:px-0{padding-inline:calc(var(--spacing) * 0)}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:text-\[0\.8rem\]{font-size:.8rem}}@media (min-width:64rem){.lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:inline-flex{display:inline-flex}.lg\:w-56{width:calc(var(--spacing) * 56)}.lg\:grid-cols-\[var\(--sidebar-width\)_minmax\(0\,1fr\)\]{grid-template-columns:var(--sidebar-width) minmax(0,1fr)}.lg\:\[--sidebar-width\:240px\]{--sidebar-width:240px}.lg\:\[--top-spacing\:calc\(var\(--spacing\)\*4\)\]{--top-spacing:calc(var(--spacing) * 4)}}@media (min-width:80rem){.xl\:flex{display:flex}.xl\:w-64{width:calc(var(--spacing) * 64)}.xl\:w-full{width:100%}.xl\:px-6{padding-inline:calc(var(--spacing) * 6)}.xl\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.xl\:\[--footer-height\:calc\(var\(--spacing\)\*24\)\]{--footer-height:calc(var(--spacing) * 24)}}.dark\:border-input:where(.dark,.dark *){border-color:var(--color-input)}.dark\:bg-card:where(.dark,.dark *){background-color:var(--color-card)}.dark\:bg-transparent:where(.dark,.dark *){background-color:#0000}.dark\:ring-ring\/20:where(.dark,.dark *){--tw-ring-color:var(--color-ring)}@supports (color:color-mix(in lab, red, red)){.dark\:ring-ring\/20:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab, var(--color-ring) 20%, transparent)}}.dark\:outline-ring\/40:where(.dark,.dark *){outline-color:var(--color-ring)}@supports (color:color-mix(in lab, red, red)){.dark\:outline-ring\/40:where(.dark,.dark *){outline-color:color-mix(in oklab, var(--color-ring) 40%, transparent)}}@media (hover:hover){.dark\:hover\:bg-accent\/50:where(.dark,.dark *):hover{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-accent\/50:where(.dark,.dark *):hover{background-color:color-mix(in oklab, var(--color-accent) 50%, transparent)}}.dark\:hover\:bg-input\/50:where(.dark,.dark *):hover{background-color:var(--color-input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:where(.dark,.dark *):hover{background-color:color-mix(in oklab, var(--color-input) 50%, transparent)}}.dark\:hover\:bg-transparent:where(.dark,.dark *):hover{background-color:#0000}}.dark\:aria-invalid\:border-destructive:where(.dark,.dark *)[aria-invalid=true]{border-color:var(--color-destructive)}.dark\:aria-invalid\:ring-destructive\/40:where(.dark,.dark *)[aria-invalid=true]{--tw-ring-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:where(.dark,.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 40%, transparent)}}.dark\:aria-invalid\:ring-destructive\/50:where(.dark,.dark *)[aria-invalid=true]{--tw-ring-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/50:where(.dark,.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 50%, transparent)}}.dark\:aria-invalid\:outline-destructive:where(.dark,.dark *)[aria-invalid=true]{outline-color:var(--color-destructive)}.dark\:aria-invalid\:focus-visible\:ring-4:where(.dark,.dark *)[aria-invalid=true]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}@media (min-width:1600px){.\33 xl\:fixed\:container:is(.layout-fixed *){width:100%}@media (min-width:1600px){.\33 xl\:fixed\:container:is(.layout-fixed *){max-width:1600px}}@media (min-width:2000px){.\33 xl\:fixed\:container:is(.layout-fixed *){max-width:2000px}}@media (min-width:40rem){.\33 xl\:fixed\:container:is(.layout-fixed *){max-width:40rem}}@media (min-width:48rem){.\33 xl\:fixed\:container:is(.layout-fixed *){max-width:48rem}}@media (min-width:64rem){.\33 xl\:fixed\:container:is(.layout-fixed *){max-width:64rem}}@media (min-width:80rem){.\33 xl\:fixed\:container:is(.layout-fixed *){max-width:80rem}}@media (min-width:96rem){.\33 xl\:fixed\:container:is(.layout-fixed *){max-width:96rem}}.\33 xl\:fixed\:container:is(.layout-fixed *){padding-inline:calc(var(--spacing) * 4);margin-inline:auto}@media (min-width:1600px){.\33 xl\:fixed\:container:is(.layout-fixed *){width:100%;max-width:var(--breakpoint-3xl);padding-inline:calc(var(--spacing) * 8)}}@media (min-width:40rem){.\33 xl\:fixed\:container:is(.layout-fixed *){max-width:var(--breakpoint-sm)}}@media (min-width:48rem){.\33 xl\:fixed\:container:is(.layout-fixed *){max-width:var(--breakpoint-md)}}@media (min-width:64rem){.\33 xl\:fixed\:container:is(.layout-fixed *){max-width:var(--breakpoint-lg)}}@media (min-width:80rem){.\33 xl\:fixed\:container:is(.layout-fixed *){max-width:var(--breakpoint-xl)}}@media (min-width:96rem){.\33 xl\:fixed\:container:is(.layout-fixed *){max-width:var(--breakpoint-2xl)}}.\33 xl\:fixed\:w-full:is(.layout-fixed *){width:100%}.\33 xl\:fixed\:max-w-48:is(.layout-fixed *){max-width:calc(var(--spacing) * 48)}.\33 xl\:fixed\:bg-transparent:is(.layout-fixed *){background-color:#0000}.\33 xl\:fixed\:px-0:is(.layout-fixed *){padding-inline:calc(var(--spacing) * 0)}.\33 xl\:fixed\:px-3:is(.layout-fixed *){padding-inline:calc(var(--spacing) * 3)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-5 svg:not([class*=size-]){width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--color-muted-foreground)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.container-wrapper{width:100%;margin-inline:auto}@media (min-width:1600px){.layout-fixed .container-wrapper{max-width:calc(var(--breakpoint-2xl) + 2rem);padding-inline:calc(var(--spacing) * 0)}}.animate-accordion-down{animation:.2s ease-out accordion-down}.animate-accordion-up{animation:.2s ease-out accordion-up}}article .admonition{margin-top:calc(var(--spacing) * 6);border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-surface);background-color:var(--color-surface);width:auto;padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-card-foreground);position:relative}@supports (color:color-mix(in lab, red, red)){article .admonition{color:color-mix(in oklab, var(--color-card-foreground) 80%, transparent)}}@media (min-width:48rem){article .admonition{margin-inline:calc(var(--spacing) * -1)}}article .admonition code{border-style:var(--tw-border-style);background-color:#0000;border-width:1px}article .admonition>p:first-child,article .admonition>p:nth-child(2){display:inline;margin:calc(var(--spacing) * 0)!important}article .admonition>p.admonition-title{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}article .admonition .codehilite{margin-top:calc(var(--spacing) * 2);background-color:var(--color-background)}@supports (color:color-mix(in lab, red, red)){article .admonition .codehilite{background-color:color-mix(in oklab, var(--color-background) 40%, transparent)}}article .admonition.danger{border-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){article .admonition.danger{border-color:color-mix(in oklab, var(--color-destructive) 50%, transparent)}}article .admonition.danger{background-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){article .admonition.danger{background-color:color-mix(in oklab, var(--color-destructive) 10%, transparent)}}article .admonition.danger:where(.dark,.dark *){border-color:var(--color-destructive);background-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){article .admonition.danger:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-destructive) 50%, transparent)}}article .admonition.danger code{border-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){article .admonition.danger code{border-color:color-mix(in oklab, var(--color-destructive) 10%, transparent)}}article .admonition.danger:where(.dark,.dark *) code{border-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){article .admonition.danger:where(.dark,.dark *) code{border-color:color-mix(in oklab, var(--color-destructive) 20%, transparent)}}article .admonition.warning{border-color:var(--color-warning);background-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){article .admonition.warning{background-color:color-mix(in oklab, var(--color-warning) 10%, transparent)}}article .admonition.warning code{border-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){article .admonition.warning code{border-color:color-mix(in oklab, var(--color-warning) 10%, transparent)}}article .admonition.warning:where(.dark,.dark *) code{border-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){article .admonition.warning:where(.dark,.dark *) code{border-color:color-mix(in oklab, var(--color-warning) 40%, transparent)}}article .admonition.info{margin-bottom:calc(var(--spacing) * 6);border-color:var(--color-blue-600);background-color:var(--color-blue-50)}article .admonition.info:where(.dark,.dark *){border-color:var(--color-blue-900);background-color:var(--color-blue-950)}article .admonition.info code{border-color:var(--color-blue-200)}article .admonition.info:where(.dark,.dark *) code{border-color:var(--color-blue-900)}article .admonition.success{border-color:var(--color-emerald-600);background-color:var(--color-emerald-100)}article .admonition.success:where(.dark,.dark *){border-color:var(--color-emerald-400);background-color:var(--color-emerald-900)}article .admonition.success code{border-color:var(--color-emerald-200)}article .admonition.success:where(.dark,.dark *) code{border-color:var(--color-emerald-800)}article .admonition ul{margin-block:calc(var(--spacing) * 1)}article .admonition pre code{--tw-border-style:none;border-style:none}article{width:100%;max-width:var(--container-2xl);min-width:calc(var(--spacing) * 0);gap:calc(var(--spacing) * 8);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 6);color:var(--color-neutral-800);flex-direction:column;flex:1;margin-inline:auto;display:flex}@media (min-width:48rem){article{padding-inline:calc(var(--spacing) * 0)}}@media (min-width:64rem){article{padding-block:calc(var(--spacing) * 8)}}article:where(.dark,.dark *){color:var(--color-neutral-300)}#summary{margin-top:calc(var(--spacing) * 0);--tw-leading:calc(var(--spacing) * 6);max-width:450px;line-height:calc(var(--spacing) * 6);color:var(--color-muted-foreground)}article #page-header h1{scroll-margin:calc(var(--spacing) * 20);font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight);word-break:break-all}@media (min-width:40rem){article #page-header h1{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}}@media (min-width:80rem){article #page-header h1{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}}article strong{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}article .typography h2{margin-top:calc(var(--spacing) * 12);scroll-margin:calc(var(--spacing) * 28);font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}@media (min-width:64rem){article .typography h2{margin-top:calc(var(--spacing) * 20)}}article .typography h2+p{margin-top:calc(var(--spacing) * 4)!important}:is(article .typography h2>*):is(code){font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}article .typography>h2:first-child{margin-top:calc(var(--spacing) * 0)}article .typography h3{margin-top:calc(var(--spacing) * 8);scroll-margin:calc(var(--spacing) * 28);font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}:is(article .typography h3>*):is(code){font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}article .typography h4{margin-top:calc(var(--spacing) * 6);scroll-margin:calc(var(--spacing) * 20);font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}article p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}article p:not(:first-child),article .typography>div:not(:first-child){margin-top:calc(var(--spacing) * 6)}article a{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-primary);text-underline-offset:4px;text-decoration-line:underline}article blockquote{margin-top:calc(var(--spacing) * 6);border-left-style:var(--tw-border-style);padding-left:calc(var(--spacing) * 6);border-left-width:2px;font-style:italic}article ul{margin-block:calc(var(--spacing) * 6);margin-left:calc(var(--spacing) * 6);list-style-type:disc}article ul>li{margin-top:calc(var(--spacing) * 2)}article li ul{margin-top:calc(var(--spacing) * 4)}article ol{margin-block:calc(var(--spacing) * 6);margin-left:calc(var(--spacing) * 6);list-style-type:decimal}article ol>li{margin-top:calc(var(--spacing) * 2)}article pre{margin-top:calc(var(--spacing) * 6);margin-bottom:calc(var(--spacing) * 4);border-radius:var(--radius-xl);max-height:650px;padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 4);display:block}article>pre{background-color:var(--color-muted)}article pre code{font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));font-style:normal;position:relative}article pre code>span{padding-block:calc(var(--spacing) * .5)}article code:not(pre code){border-radius:var(--radius-md);background-color:var(--color-muted);font-family:var(--font-mono);--tw-outline-style:none;outline-style:none;padding-block:.2rem;padding-inline:.3rem;font-size:.8rem;position:relative}article tr td.linenos pre{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}article td.code pre{--tw-leading:calc(var(--spacing) * 0);line-height:calc(var(--spacing) * 0)}article .external_links>a{text-decoration-line:none}article div:empty{margin-top:calc(var(--spacing) * 0)}article a.footnote-ref{text-decoration-line:none}article a.footnote-backref{background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='lucide lucide-undo2-icon lucide-undo-2'%3E%3Cpath d='M9 14 4 9l5-5'/%3E%3Cpath d='M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='lucide lucide-undo2-icon lucide-undo-2'%3E%3Cpath d='M9 14 4 9l5-5'/%3E%3Cpath d='M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11'/%3E%3C/svg%3E") 50%/contain no-repeat}article .iconify{display:inline-block}article .codehilite table.codehilitetable{border-collapse:unset;margin:0}article .codehilite .linenos{left:calc(var(--spacing) * 0);padding-right:calc(var(--spacing) * 6);text-align:right;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-code-number);position:sticky}article .codehilite .hll .linenos{background-color:#0000}article .codehilite td.linenos{padding-right:calc(var(--spacing) * 0)}article .codehilite:has(>.codehilitetable){overflow:auto}article table.codehilitetable pre,article table.codehilitetable code{height:100%;overflow:visible}article table.codehilitetable tbody tr td{border-style:var(--tw-border-style);border-width:0}article table.codehilitetable pre{margin:calc(var(--spacing) * 0);padding-inline:calc(var(--spacing) * 0)}article .codehilite{margin-top:calc(var(--spacing) * 4);border-radius:var(--radius-xl);position:relative}article .codehilite pre{margin-top:calc(var(--spacing) * 0);margin-bottom:calc(var(--spacing) * 0);overflow:auto}article .codehilite code a{cursor:text;text-decoration-line:none}article details:not(:first-of-type){margin-top:calc(var(--spacing) * 0)!important}article details{margin-top:calc(var(--spacing) * 0);border-bottom-style:var(--tw-border-style);padding-block:calc(var(--spacing) * 4);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));border-bottom-width:1px}article details:not(:first-child){margin-top:calc(var(--spacing) * 6)}article details summary{cursor:pointer;--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));position:relative}@media (hover:hover){article details summary:hover{text-decoration-line:underline}}article details summary:where(.dark,.dark *):after{content:var(--tw-content);--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}article details summary::marker{content:""}article details summary:after{content:url("data:image/svg+xml;utf8,");right:calc(var(--spacing) * 1.5);aspect-ratio:1;transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));display:inline-block;position:absolute}article details[open] summary:after{rotate:180deg}article details[open]>p{margin-top:calc(var(--spacing) * 0);padding-block:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);text-decoration-line:none}article details[open]>p:last-child{padding-bottom:calc(var(--spacing) * 4)}article details[open]>p:first-of-type{padding-top:calc(var(--spacing) * 4)}.max-w-7xl{max-width:1400px}.max-w-8xl{max-width:1536px}footer a{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);text-underline-offset:4px;text-decoration-line:underline}article .doc code{padding:calc(var(--spacing) * 0);background-color:#0000}article .doc details{margin-top:calc(var(--spacing) * 0)}article .doc .doc-children{gap:calc(var(--spacing) * 4);flex-direction:column;display:flex}article .doc details+.doc-children{margin-top:calc(var(--spacing) * 4)}article .doc .doc-contents{margin-top:calc(var(--spacing) * 2);gap:calc(var(--spacing) * 2);flex-direction:column;display:flex}article .doc .doc-contents:empty{margin-top:calc(var(--spacing) * 0)}article .doc .doc-contents.first{margin-top:calc(var(--spacing) * 6)}article .typography>div:first-child>h2{margin-top:calc(var(--spacing) * 0)}article .doc .doc-contents p{margin-top:calc(var(--spacing) * 0);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-muted-foreground)}article .doc .doc-contents h3{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}:is(article .doc .doc-contents h3>*):is(code){font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}article .doc .doc-contents code{border-radius:0}article .doc .doc-contents ul{margin-top:calc(var(--spacing) * 0)}article .doc .doc-contents details{padding-block:calc(var(--spacing) * 2)}article .doc .doc-contents table:not(.codehilitetable){margin-top:calc(var(--spacing) * 2);width:100%;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}article .doc .doc-contents table th{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}article .doc .doc-contents .doc-class-bases{color:var(--color-foreground)}article .doc .doc-contents .doc-section-title{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-foreground)}article .doc .doc-object{border-radius:var(--radius-lg);background-color:var(--color-slate-50);padding:calc(var(--spacing) * 5)}article .doc .doc-object:where(.dark,.dark *){background-color:var(--color-slate-900)}article .doc .doc-object.doc-function{background-color:var(--color-stone-50)}article .doc .doc-object.doc-function:where(.dark,.dark *){background-color:var(--color-stone-900)}article .doc .doc-object h2,article .doc .doc-object h3,article .doc .doc-object h4{margin-top:calc(var(--spacing) * 0);flex-direction:row;justify-content:space-between;align-items:center;display:flex}article .doc .doc-object .doc-labels{gap:calc(var(--spacing) * 2);flex-direction:row;display:flex}article .doc .doc-object .doc-contents{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-muted-foreground)}article .doc .doc-object .doc-contents ul>li{margin-top:calc(var(--spacing) * 1)}article .doc .doc-object code{margin-top:calc(var(--spacing) * 0)}article .doc small code{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);color:var(--color-muted-foreground)}article .doc .doc-class-bases code{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}article .progress{height:calc(var(--spacing) * 2);background-color:var(--color-primary);border-radius:3.40282e38px;width:100%;position:relative}@supports (color:color-mix(in lab, red, red)){article .progress{background-color:color-mix(in oklab, var(--color-primary) 20%, transparent)}}article .progress-bar{background-color:var(--color-primary);border-top-left-radius:3.40282e38px;border-bottom-left-radius:3.40282e38px;height:100%}article .progress.success .progress-bar{background-color:var(--color-chart-2)}article .progress.warning .progress-bar{background-color:var(--color-warning)}article .progress.danger .progress-bar{background-color:var(--color-destructive)}article .progress-label{right:calc(var(--spacing) * 0);bottom:calc(var(--spacing) * 1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-primary);position:absolute}html{scroll-behavior:smooth}#inner-body{scrollbar-width:thin}@supports (scrollbar-width:thin){html,body{scrollbar-width:thin}}@supports (scrollbar-color:red){html,body{scrollbar-color:var(--color-muted-foreground)}}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-thumb{background:var(--color-muted-foreground);border-radius:2px}::-webkit-scrollbar-track{background:0 0}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{display:none}#mkdocs-search-results{align-items:stretch;gap:calc(var(--spacing) * 2);flex-direction:column;max-height:300px;display:flex;overflow:hidden auto}#mkdocs-search-results:has(article){padding:calc(var(--spacing) * 3)}#mkdocs-search-results>p:first-child{padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-muted-foreground)}#mkdocs-search-results article{align-items:flex-start;gap:calc(var(--spacing) * 2);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1.5);--tw-outline-style:none;border-radius:.25rem;outline-style:none;flex-direction:column;display:flex;position:relative}@media (hover:hover){#mkdocs-search-results article:hover{background-color:var(--color-accent)}}#mkdocs-search-results article>h3{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-foreground)}#mkdocs-search-results article>p{margin-top:calc(var(--spacing) * 0);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-muted-foreground)}#search-dialog::backdrop{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){#search-dialog::backdrop{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}article .tabbed-set{flex-flow:wrap;display:flex}article .tabbed-set:first-of-type{margin-top:calc(var(--spacing) * 6)}article .tabbed-set input[type=radio]{display:none}article .tabbed-set input[type=radio]:checked+label{border-bottom-color:var(--color-primary);color:var(--color-foreground)}article .tabbed-set label{cursor:pointer;border-bottom-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-muted-foreground);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));border-bottom-width:2px;border-bottom-color:#0000;order:1}@media (hover:hover){article .tabbed-set label:hover{color:var(--color-foreground)}}article .tabbed-set div.tabbed-content{margin-top:calc(var(--spacing) * 0);border-top-style:var(--tw-border-style);border-top-width:1px;border-top-color:var(--color-border);padding-top:calc(var(--spacing) * 3);flex-basis:100%;order:9999;display:none;overflow:auto}article .tabbed-content .codehilite{margin-top:calc(var(--spacing) * 0)}article .tabbed-set input[type=radio]:checked+label+div.tabbed-content{display:block}@view-transition{navigation:auto}::view-transition-old(header){animation-duration:.25s}::view-transition-new(header){animation-duration:.25s}::view-transition-old(sidebar){animation-duration:.25s}::view-transition-new(sidebar){animation-duration:.25s}::view-transition-old(page){animation-duration:.25s;animation-timing-function:ease}::view-transition-new(page){animation-duration:.25s;animation-timing-function:ease}article table:not(:first-child){margin-top:calc(var(--spacing) * 6)}article table{caption-side:bottom;width:100%;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}article table thead tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}article table tr{border-bottom-style:var(--tw-border-style);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));border-bottom-width:1px}@media (hover:hover){article table tr:hover{background-color:var(--color-muted)}@supports (color:color-mix(in lab, red, red)){article table tr:hover{background-color:color-mix(in oklab, var(--color-muted) 50%, transparent)}}}article table tr[data-state=selected]{background-color:var(--color-muted)}article table thead tr th{height:calc(var(--spacing) * 10);padding-inline:calc(var(--spacing) * 2);text-align:left;vertical-align:middle;--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);white-space:nowrap;color:var(--color-foreground)}article table thead tr th:has([role=checkbox]){padding-right:calc(var(--spacing) * 0)}article table thead tr th>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}article table tbody tr:last-child{border-style:var(--tw-border-style);border-width:0}article table tbody tr td{padding:calc(var(--spacing) * 2);vertical-align:middle;white-space:nowrap}article table tbody tr td:has([role=checkbox]){padding-right:calc(var(--spacing) * 0)}article table tbody tr td>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}article .table-wrapper{width:100%;position:relative;overflow-x:auto}article table .wrap{white-space:wrap}.codexec{position:relative}:where(.codexec>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.codexec>button{top:calc(var(--spacing) * 3);right:calc(var(--spacing) * 8);z-index:10;width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7);justify-content:center;align-items:center;gap:calc(var(--spacing) * 2);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);white-space:nowrap;transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-outline-style:none;background-color:#0000;outline-style:none;flex-shrink:0;display:inline-flex;position:absolute}@media (hover:hover){.codexec>button:hover{background-color:var(--color-accent);color:var(--color-accent-foreground);opacity:1}}.codexec>button:focus-visible{border-color:var(--color-ring);opacity:1;--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--color-ring)}@supports (color:color-mix(in lab, red, red)){.codexec>button:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-ring) 50%, transparent)}}.codexec>button:disabled{pointer-events:none;opacity:.5}.codexec>button[aria-invalid=true]{border-color:var(--color-destructive);--tw-ring-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.codexec>button[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 20%, transparent)}}@media (hover:hover){.codexec>button:where(.dark,.dark *):hover{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.codexec>button:where(.dark,.dark *):hover{background-color:color-mix(in oklab, var(--color-accent) 50%, transparent)}}}.codexec>button:where(.dark,.dark *)[aria-invalid=true]{--tw-ring-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.codexec>button:where(.dark,.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 40%, transparent)}}.codexec>button svg{pointer-events:none;flex-shrink:0}.codexec>button svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.codexec>button>svg.play{display:inline-block}.codexec>button>svg.loading,.codexec>button[data-status=loading]>svg.play{display:none}.codexec>button[data-status=loading]>svg.loading{display:inline-block}.codexec-result{border-radius:var(--radius-xl);background-color:var(--color-slate-50);color:var(--color-muted-foreground)}.codexec-result.error{background-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.codexec-result.error{background-color:color-mix(in oklab, var(--color-destructive) 5%, transparent)}}.codexec-result.error{color:var(--color-destructive)}.codexec-result>pre{margin:calc(var(--spacing) * 0);padding:calc(var(--spacing) * 4);font-family:var(--font-mono)}.codexec-result>pre:empty{padding:calc(var(--spacing) * 0)}article figcaption{margin-top:calc(var(--spacing) * 4);text-align:center;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-muted-foreground)}article figure:not(:first-child){margin-top:calc(var(--spacing) * 6)}kbd:not(:has(kbd)){pointer-events:none;height:calc(var(--spacing) * 5);width:fit-content;min-width:calc(var(--spacing) * 5);justify-content:center;align-items:center;gap:calc(var(--spacing) * 1);border-radius:var(--radius-sm);background-color:var(--color-muted);padding-inline:calc(var(--spacing) * 1);font-family:var(--font-sans);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-muted-foreground);-webkit-user-select:none;user-select:none;display:inline-flex}kbd:not(:has(kbd)) svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}[data-slot=tooltip-content] :is(kbd:not(:has(kbd))){background-color:var(--color-background)}@supports (color:color-mix(in lab, red, red)){[data-slot=tooltip-content] :is(kbd:not(:has(kbd))){background-color:color-mix(in oklab, var(--color-background) 20%, transparent)}}[data-slot=tooltip-content] :is(kbd:not(:has(kbd))){color:var(--color-background)}[data-slot=tooltip-content] kbd:not(:has(kbd)):where(.dark,.dark *){background-color:var(--color-background)}@supports (color:color-mix(in lab, red, red)){[data-slot=tooltip-content] kbd:not(:has(kbd)):where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-background) 10%, transparent)}}kbd:has(kbd){align-items:center;gap:calc(var(--spacing) * 1);display:inline-flex}.hover-card{pointer-events:none;z-index:10;border-radius:var(--radius-lg);background-color:var(--color-popover);width:max-content;min-width:150px;max-width:350px;padding:calc(var(--spacing) * 2.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-popover-foreground);opacity:0;--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:color-mix(in oklab, var(--color-foreground) 10%, transparent);--tw-outline-style:none;outline-style:none;position:absolute;margin-top:calc(var(--spacing) * 0)!important}@media (forced-colors:active){.hover-card{outline-offset:2px;outline:2px solid #0000}}.hover-card{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.15s;transition-duration:.15s;animation-duration:.15s}div.hover-card{--tw-enter-opacity:initial;--tw-enter-scale:.95;--tw-enter-rotate:initial;animation-duration:.15s}span.hover-card{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);top:105%;left:50%}.hover-card-trigger:hover span.hover-card,span.hover-card:hover{pointer-events:auto;opacity:1;--tw-enter-opacity:initial;--tw-enter-scale:.95;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:5%;animation-name:enter;animation-duration:.15s}.hover-card:hover{opacity:1;pointer-events:auto}.hover-card-trigger{text-decoration-line:underline;-webkit-text-decoration-color:var(--color-muted-foreground);-webkit-text-decoration-color:var(--color-muted-foreground);text-decoration-color:var(--color-muted-foreground);text-underline-offset:2px;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.15s;transition-duration:.15s;animation-duration:.15s;display:inline-block;position:relative}.hover-card-trigger:hover{-webkit-text-decoration-color:var(--color-foreground);-webkit-text-decoration-color:var(--color-foreground);text-decoration-color:var(--color-foreground)}.hover-card p:not(:first-of-type){margin-top:calc(var(--spacing) * 2)}.hover-card p:first-of-type{margin-top:calc(var(--spacing) * 0)}article .headerlink{margin-left:calc(var(--spacing) * 2);color:var(--color-muted-foreground);opacity:0;transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.1s;text-decoration-line:none;transition-duration:.1s;animation-duration:.1s;display:inline-block}article h1:hover .headerlink,article h2:hover .headerlink,article h3:hover .headerlink,article h4:hover .headerlink,article h5:hover .headerlink,article h6:hover .headerlink{opacity:.3}article .headerlink:hover{opacity:1!important}article div.toc{color:var(--color-muted-foreground)}article div.toc a{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);color:var(--color-muted-foreground);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;text-decoration-line:none;transition-duration:.2s;animation-duration:.2s}@media (hover:hover){article div.toc a:hover{color:var(--color-primary)}}article div.toc ul{margin-inline:calc(var(--spacing) * 4);margin-top:calc(var(--spacing) * 2);list-style-type:none}article h1:has(.headerlink.leading),article h2:has(.headerlink.leading),article h3:has(.headerlink.leading),article h4:has(.headerlink.leading),article h5:has(.headerlink.leading),article h6:has(.headerlink.leading){position:relative}article .headerlink.leading{left:calc(var(--spacing) * 0);margin-left:calc(var(--spacing) * 0);--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y);padding-right:calc(var(--spacing) * 2);position:absolute}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0), var(--tw-enter-translate-y,0), 0) scale3d(var(--tw-enter-scale,1), var(--tw-enter-scale,1), var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0), var(--tw-exit-translate-y,0), 0) scale3d(var(--tw-exit-scale,1), var(--tw-exit-scale,1), var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@keyframes spin{to{transform:rotate(360deg)}} \ No newline at end of file diff --git a/site/css/geist.css b/site/css/geist.css deleted file mode 100644 index c0ab8d6..0000000 --- a/site/css/geist.css +++ /dev/null @@ -1,29 +0,0 @@ -@font-face { - font-family: "Geist"; - src: url("../fonts/Geist.woff2") format("woff2"); - font-weight: 100 900; - font-display: swap; -} - -@font-face { - font-family: "Geist Mono"; - src: url("../fonts/GeistMono.woff2") format("woff2"); - font-weight: 100 900; - font-display: swap; -} - -@font-face { - font-family: "Inter"; - font-style: normal; - src: url("../fonts/Inter.woff2") format("woff2"); - font-weight: 100 900; - font-display: swap; -} - -@font-face { - font-family: "Inter"; - font-style: italic; - src: url("../fonts/Inter-Italic.woff2") format("woff2"); - font-weight: 100 900; - font-display: swap; -} diff --git a/site/css/katex.min.css b/site/css/katex.min.css deleted file mode 100644 index 0cf4384..0000000 --- a/site/css/katex.min.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(../fonts/katex/KaTeX_AMS-Regular.woff2) format("woff2")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(../fonts/katex/KaTeX_Caligraphic-Bold.woff2) format("woff2")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(../fonts/katex/KaTeX_Caligraphic-Regular.woff2) format("woff2")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(../fonts/katex/KaTeX_Fraktur-Bold.woff2) format("woff2")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(../fonts/katex/KaTeX_Fraktur-Regular.woff2) format("woff2")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(../fonts/katex/KaTeX_Main-Bold.woff2) format("woff2")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(../fonts/katex/KaTeX_Main-BoldItalic.woff2) format("woff2")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(../fonts/katex/KaTeX_Main-Italic.woff2) format("woff2")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(../fonts/katex/KaTeX_Main-Regular.woff2) format("woff2")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(../fonts/katex/KaTeX_Math-BoldItalic.woff2) format("woff2")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(../fonts/katex/KaTeX_Math-Italic.woff2) format("woff2")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(../fonts/katex/KaTeX_SansSerif-Bold.woff2) format("woff2")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(../fonts/katex/KaTeX_SansSerif-Italic.woff2) format("woff2")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(../fonts/katex/KaTeX_SansSerif-Regular.woff2) format("woff2")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(../fonts/katex/KaTeX_Script-Regular.woff2) format("woff2")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(../fonts/katex/KaTeX_Size1-Regular.woff2) format("woff2")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(../fonts/katex/KaTeX_Size2-Regular.woff2) format("woff2")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(../fonts/katex/KaTeX_Size3-Regular.woff2) format("woff2")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(../fonts/katex/KaTeX_Size4-Regular.woff2) format("woff2")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(../fonts/katex/KaTeX_Typewriter-Regular.woff2) format("woff2")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.33"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo} diff --git a/site/css/pygments/a11y-dark.css b/site/css/pygments/a11y-dark.css deleted file mode 100644 index 70eae31..0000000 --- a/site/css/pygments/a11y-dark.css +++ /dev/null @@ -1,76 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ffd9002e } -.codehilite { background: #2b2b2b; color: #F8F8F2 } -.codehilite .c { color: #D4D0AB } /* Comment */ -.codehilite .err { color: #FFA07A } /* Error */ -.codehilite .k { color: #DCC6E0 } /* Keyword */ -.codehilite .l { color: #F5AB35 } /* Literal */ -.codehilite .n { color: #F8F8F2 } /* Name */ -.codehilite .o { color: #ABE338 } /* Operator */ -.codehilite .p { color: #F8F8F2 } /* Punctuation */ -.codehilite .ch { color: #D4D0AB } /* Comment.Hashbang */ -.codehilite .cm { color: #D4D0AB } /* Comment.Multiline */ -.codehilite .cp { color: #D4D0AB } /* Comment.Preproc */ -.codehilite .cpf { color: #D4D0AB } /* Comment.PreprocFile */ -.codehilite .c1 { color: #D4D0AB } /* Comment.Single */ -.codehilite .cs { color: #D4D0AB } /* Comment.Special */ -.codehilite .gd { color: #00E0E0 } /* Generic.Deleted */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .gh { color: #00E0E0 } /* Generic.Heading */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #00E0E0 } /* Generic.Subheading */ -.codehilite .kc { color: #DCC6E0 } /* Keyword.Constant */ -.codehilite .kd { color: #DCC6E0 } /* Keyword.Declaration */ -.codehilite .kn { color: #DCC6E0 } /* Keyword.Namespace */ -.codehilite .kp { color: #DCC6E0 } /* Keyword.Pseudo */ -.codehilite .kr { color: #DCC6E0 } /* Keyword.Reserved */ -.codehilite .kt { color: #F5AB35 } /* Keyword.Type */ -.codehilite .ld { color: #F5AB35 } /* Literal.Date */ -.codehilite .m { color: #F5AB35 } /* Literal.Number */ -.codehilite .s { color: #ABE338 } /* Literal.String */ -.codehilite .na { color: #FFD700 } /* Name.Attribute */ -.codehilite .nb { color: #F5AB35 } /* Name.Builtin */ -.codehilite .nc { color: #00E0E0 } /* Name.Class */ -.codehilite .no { color: #00E0E0 } /* Name.Constant */ -.codehilite .nd { color: #F5AB35 } /* Name.Decorator */ -.codehilite .ni { color: #ABE338 } /* Name.Entity */ -.codehilite .ne { color: #DCC6E0 } /* Name.Exception */ -.codehilite .nf { color: #00E0E0 } /* Name.Function */ -.codehilite .nl { color: #F5AB35 } /* Name.Label */ -.codehilite .nn { color: #F8F8F2 } /* Name.Namespace */ -.codehilite .nx { color: #F8F8F2 } /* Name.Other */ -.codehilite .py { color: #00E0E0 } /* Name.Property */ -.codehilite .nt { color: #00E0E0 } /* Name.Tag */ -.codehilite .nv { color: #FFA07A } /* Name.Variable */ -.codehilite .ow { color: #DCC6E0 } /* Operator.Word */ -.codehilite .pm { color: #F8F8F2 } /* Punctuation.Marker */ -.codehilite .w { color: #F8F8F2 } /* Text.Whitespace */ -.codehilite .mb { color: #F5AB35 } /* Literal.Number.Bin */ -.codehilite .mf { color: #F5AB35 } /* Literal.Number.Float */ -.codehilite .mh { color: #F5AB35 } /* Literal.Number.Hex */ -.codehilite .mi { color: #F5AB35 } /* Literal.Number.Integer */ -.codehilite .mo { color: #F5AB35 } /* Literal.Number.Oct */ -.codehilite .sa { color: #ABE338 } /* Literal.String.Affix */ -.codehilite .sb { color: #ABE338 } /* Literal.String.Backtick */ -.codehilite .sc { color: #ABE338 } /* Literal.String.Char */ -.codehilite .dl { color: #ABE338 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #ABE338 } /* Literal.String.Doc */ -.codehilite .s2 { color: #ABE338 } /* Literal.String.Double */ -.codehilite .se { color: #ABE338 } /* Literal.String.Escape */ -.codehilite .sh { color: #ABE338 } /* Literal.String.Heredoc */ -.codehilite .si { color: #ABE338 } /* Literal.String.Interpol */ -.codehilite .sx { color: #ABE338 } /* Literal.String.Other */ -.codehilite .sr { color: #FFA07A } /* Literal.String.Regex */ -.codehilite .s1 { color: #ABE338 } /* Literal.String.Single */ -.codehilite .ss { color: #00E0E0 } /* Literal.String.Symbol */ -.codehilite .bp { color: #F5AB35 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #00E0E0 } /* Name.Function.Magic */ -.codehilite .vc { color: #FFA07A } /* Name.Variable.Class */ -.codehilite .vg { color: #FFA07A } /* Name.Variable.Global */ -.codehilite .vi { color: #FFA07A } /* Name.Variable.Instance */ -.codehilite .vm { color: #F5AB35 } /* Name.Variable.Magic */ -.codehilite .il { color: #F5AB35 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/a11y-high-contrast-dark.css b/site/css/pygments/a11y-high-contrast-dark.css deleted file mode 100644 index 1ff8c0e..0000000 --- a/site/css/pygments/a11y-high-contrast-dark.css +++ /dev/null @@ -1,76 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ffd9002e } -.codehilite { background: #2b2b2b; color: #F8F8F2 } -.codehilite .c { color: #FFD900 } /* Comment */ -.codehilite .err { color: #FFA07A } /* Error */ -.codehilite .k { color: #DCC6E0 } /* Keyword */ -.codehilite .l { color: #FFD900 } /* Literal */ -.codehilite .n { color: #F8F8F2 } /* Name */ -.codehilite .o { color: #ABE338 } /* Operator */ -.codehilite .p { color: #F8F8F2 } /* Punctuation */ -.codehilite .ch { color: #FFD900 } /* Comment.Hashbang */ -.codehilite .cm { color: #FFD900 } /* Comment.Multiline */ -.codehilite .cp { color: #FFD900 } /* Comment.Preproc */ -.codehilite .cpf { color: #FFD900 } /* Comment.PreprocFile */ -.codehilite .c1 { color: #FFD900 } /* Comment.Single */ -.codehilite .cs { color: #FFD900 } /* Comment.Special */ -.codehilite .gd { color: #00E0E0 } /* Generic.Deleted */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .gh { color: #00E0E0 } /* Generic.Heading */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #00E0E0 } /* Generic.Subheading */ -.codehilite .kc { color: #DCC6E0 } /* Keyword.Constant */ -.codehilite .kd { color: #DCC6E0 } /* Keyword.Declaration */ -.codehilite .kn { color: #DCC6E0 } /* Keyword.Namespace */ -.codehilite .kp { color: #DCC6E0 } /* Keyword.Pseudo */ -.codehilite .kr { color: #DCC6E0 } /* Keyword.Reserved */ -.codehilite .kt { color: #FFD900 } /* Keyword.Type */ -.codehilite .ld { color: #FFD900 } /* Literal.Date */ -.codehilite .m { color: #FFD900 } /* Literal.Number */ -.codehilite .s { color: #ABE338 } /* Literal.String */ -.codehilite .na { color: #FFD900 } /* Name.Attribute */ -.codehilite .nb { color: #FFD900 } /* Name.Builtin */ -.codehilite .nc { color: #00E0E0 } /* Name.Class */ -.codehilite .no { color: #00E0E0 } /* Name.Constant */ -.codehilite .nd { color: #FFD900 } /* Name.Decorator */ -.codehilite .ni { color: #ABE338 } /* Name.Entity */ -.codehilite .ne { color: #DCC6E0 } /* Name.Exception */ -.codehilite .nf { color: #00E0E0 } /* Name.Function */ -.codehilite .nl { color: #FFD900 } /* Name.Label */ -.codehilite .nn { color: #F8F8F2 } /* Name.Namespace */ -.codehilite .nx { color: #F8F8F2 } /* Name.Other */ -.codehilite .py { color: #00E0E0 } /* Name.Property */ -.codehilite .nt { color: #00E0E0 } /* Name.Tag */ -.codehilite .nv { color: #FFA07A } /* Name.Variable */ -.codehilite .ow { color: #DCC6E0 } /* Operator.Word */ -.codehilite .pm { color: #F8F8F2 } /* Punctuation.Marker */ -.codehilite .w { color: #F8F8F2 } /* Text.Whitespace */ -.codehilite .mb { color: #FFD900 } /* Literal.Number.Bin */ -.codehilite .mf { color: #FFD900 } /* Literal.Number.Float */ -.codehilite .mh { color: #FFD900 } /* Literal.Number.Hex */ -.codehilite .mi { color: #FFD900 } /* Literal.Number.Integer */ -.codehilite .mo { color: #FFD900 } /* Literal.Number.Oct */ -.codehilite .sa { color: #ABE338 } /* Literal.String.Affix */ -.codehilite .sb { color: #ABE338 } /* Literal.String.Backtick */ -.codehilite .sc { color: #ABE338 } /* Literal.String.Char */ -.codehilite .dl { color: #ABE338 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #ABE338 } /* Literal.String.Doc */ -.codehilite .s2 { color: #ABE338 } /* Literal.String.Double */ -.codehilite .se { color: #ABE338 } /* Literal.String.Escape */ -.codehilite .sh { color: #ABE338 } /* Literal.String.Heredoc */ -.codehilite .si { color: #ABE338 } /* Literal.String.Interpol */ -.codehilite .sx { color: #ABE338 } /* Literal.String.Other */ -.codehilite .sr { color: #FFA07A } /* Literal.String.Regex */ -.codehilite .s1 { color: #ABE338 } /* Literal.String.Single */ -.codehilite .ss { color: #00E0E0 } /* Literal.String.Symbol */ -.codehilite .bp { color: #FFD900 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #00E0E0 } /* Name.Function.Magic */ -.codehilite .vc { color: #FFA07A } /* Name.Variable.Class */ -.codehilite .vg { color: #FFA07A } /* Name.Variable.Global */ -.codehilite .vi { color: #FFA07A } /* Name.Variable.Instance */ -.codehilite .vm { color: #FFD900 } /* Name.Variable.Magic */ -.codehilite .il { color: #FFD900 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/a11y-high-contrast-light.css b/site/css/pygments/a11y-high-contrast-light.css deleted file mode 100644 index bbaf5ac..0000000 --- a/site/css/pygments/a11y-high-contrast-light.css +++ /dev/null @@ -1,76 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #7971292e } -.codehilite { background: #fefefe; color: #545454 } -.codehilite .c { color: #797129 } /* Comment */ -.codehilite .err { color: #D91E18 } /* Error */ -.codehilite .k { color: #7928A1 } /* Keyword */ -.codehilite .l { color: #797129 } /* Literal */ -.codehilite .n { color: #545454 } /* Name */ -.codehilite .o { color: #008000 } /* Operator */ -.codehilite .p { color: #545454 } /* Punctuation */ -.codehilite .ch { color: #797129 } /* Comment.Hashbang */ -.codehilite .cm { color: #797129 } /* Comment.Multiline */ -.codehilite .cp { color: #797129 } /* Comment.Preproc */ -.codehilite .cpf { color: #797129 } /* Comment.PreprocFile */ -.codehilite .c1 { color: #797129 } /* Comment.Single */ -.codehilite .cs { color: #797129 } /* Comment.Special */ -.codehilite .gd { color: #007FAA } /* Generic.Deleted */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .gh { color: #007FAA } /* Generic.Heading */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #007FAA } /* Generic.Subheading */ -.codehilite .kc { color: #7928A1 } /* Keyword.Constant */ -.codehilite .kd { color: #7928A1 } /* Keyword.Declaration */ -.codehilite .kn { color: #7928A1 } /* Keyword.Namespace */ -.codehilite .kp { color: #7928A1 } /* Keyword.Pseudo */ -.codehilite .kr { color: #7928A1 } /* Keyword.Reserved */ -.codehilite .kt { color: #797129 } /* Keyword.Type */ -.codehilite .ld { color: #797129 } /* Literal.Date */ -.codehilite .m { color: #797129 } /* Literal.Number */ -.codehilite .s { color: #008000 } /* Literal.String */ -.codehilite .na { color: #797129 } /* Name.Attribute */ -.codehilite .nb { color: #797129 } /* Name.Builtin */ -.codehilite .nc { color: #007FAA } /* Name.Class */ -.codehilite .no { color: #007FAA } /* Name.Constant */ -.codehilite .nd { color: #797129 } /* Name.Decorator */ -.codehilite .ni { color: #008000 } /* Name.Entity */ -.codehilite .ne { color: #7928A1 } /* Name.Exception */ -.codehilite .nf { color: #007FAA } /* Name.Function */ -.codehilite .nl { color: #797129 } /* Name.Label */ -.codehilite .nn { color: #545454 } /* Name.Namespace */ -.codehilite .nx { color: #545454 } /* Name.Other */ -.codehilite .py { color: #007FAA } /* Name.Property */ -.codehilite .nt { color: #007FAA } /* Name.Tag */ -.codehilite .nv { color: #D91E18 } /* Name.Variable */ -.codehilite .ow { color: #7928A1 } /* Operator.Word */ -.codehilite .pm { color: #545454 } /* Punctuation.Marker */ -.codehilite .w { color: #545454 } /* Text.Whitespace */ -.codehilite .mb { color: #797129 } /* Literal.Number.Bin */ -.codehilite .mf { color: #797129 } /* Literal.Number.Float */ -.codehilite .mh { color: #797129 } /* Literal.Number.Hex */ -.codehilite .mi { color: #797129 } /* Literal.Number.Integer */ -.codehilite .mo { color: #797129 } /* Literal.Number.Oct */ -.codehilite .sa { color: #008000 } /* Literal.String.Affix */ -.codehilite .sb { color: #008000 } /* Literal.String.Backtick */ -.codehilite .sc { color: #008000 } /* Literal.String.Char */ -.codehilite .dl { color: #008000 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #008000 } /* Literal.String.Doc */ -.codehilite .s2 { color: #008000 } /* Literal.String.Double */ -.codehilite .se { color: #008000 } /* Literal.String.Escape */ -.codehilite .sh { color: #008000 } /* Literal.String.Heredoc */ -.codehilite .si { color: #008000 } /* Literal.String.Interpol */ -.codehilite .sx { color: #008000 } /* Literal.String.Other */ -.codehilite .sr { color: #D91E18 } /* Literal.String.Regex */ -.codehilite .s1 { color: #008000 } /* Literal.String.Single */ -.codehilite .ss { color: #007FAA } /* Literal.String.Symbol */ -.codehilite .bp { color: #797129 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #007FAA } /* Name.Function.Magic */ -.codehilite .vc { color: #D91E18 } /* Name.Variable.Class */ -.codehilite .vg { color: #D91E18 } /* Name.Variable.Global */ -.codehilite .vi { color: #D91E18 } /* Name.Variable.Instance */ -.codehilite .vm { color: #797129 } /* Name.Variable.Magic */ -.codehilite .il { color: #797129 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/a11y-light.css b/site/css/pygments/a11y-light.css deleted file mode 100644 index 0474dab..0000000 --- a/site/css/pygments/a11y-light.css +++ /dev/null @@ -1,76 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #7971292e } -.codehilite { background: #fefefe; color: #545454 } -.codehilite .c { color: #696969 } /* Comment */ -.codehilite .err { color: #D91E18 } /* Error */ -.codehilite .k { color: #7928A1 } /* Keyword */ -.codehilite .l { color: #AA5D00 } /* Literal */ -.codehilite .n { color: #545454 } /* Name */ -.codehilite .o { color: #008000 } /* Operator */ -.codehilite .p { color: #545454 } /* Punctuation */ -.codehilite .ch { color: #696969 } /* Comment.Hashbang */ -.codehilite .cm { color: #696969 } /* Comment.Multiline */ -.codehilite .cp { color: #696969 } /* Comment.Preproc */ -.codehilite .cpf { color: #696969 } /* Comment.PreprocFile */ -.codehilite .c1 { color: #696969 } /* Comment.Single */ -.codehilite .cs { color: #696969 } /* Comment.Special */ -.codehilite .gd { color: #007FAA } /* Generic.Deleted */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .gh { color: #007FAA } /* Generic.Heading */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #007FAA } /* Generic.Subheading */ -.codehilite .kc { color: #7928A1 } /* Keyword.Constant */ -.codehilite .kd { color: #7928A1 } /* Keyword.Declaration */ -.codehilite .kn { color: #7928A1 } /* Keyword.Namespace */ -.codehilite .kp { color: #7928A1 } /* Keyword.Pseudo */ -.codehilite .kr { color: #7928A1 } /* Keyword.Reserved */ -.codehilite .kt { color: #AA5D00 } /* Keyword.Type */ -.codehilite .ld { color: #AA5D00 } /* Literal.Date */ -.codehilite .m { color: #AA5D00 } /* Literal.Number */ -.codehilite .s { color: #008000 } /* Literal.String */ -.codehilite .na { color: #AA5D00 } /* Name.Attribute */ -.codehilite .nb { color: #AA5D00 } /* Name.Builtin */ -.codehilite .nc { color: #007FAA } /* Name.Class */ -.codehilite .no { color: #007FAA } /* Name.Constant */ -.codehilite .nd { color: #AA5D00 } /* Name.Decorator */ -.codehilite .ni { color: #008000 } /* Name.Entity */ -.codehilite .ne { color: #7928A1 } /* Name.Exception */ -.codehilite .nf { color: #007FAA } /* Name.Function */ -.codehilite .nl { color: #AA5D00 } /* Name.Label */ -.codehilite .nn { color: #545454 } /* Name.Namespace */ -.codehilite .nx { color: #545454 } /* Name.Other */ -.codehilite .py { color: #007FAA } /* Name.Property */ -.codehilite .nt { color: #007FAA } /* Name.Tag */ -.codehilite .nv { color: #D91E18 } /* Name.Variable */ -.codehilite .ow { color: #7928A1 } /* Operator.Word */ -.codehilite .pm { color: #545454 } /* Punctuation.Marker */ -.codehilite .w { color: #545454 } /* Text.Whitespace */ -.codehilite .mb { color: #AA5D00 } /* Literal.Number.Bin */ -.codehilite .mf { color: #AA5D00 } /* Literal.Number.Float */ -.codehilite .mh { color: #AA5D00 } /* Literal.Number.Hex */ -.codehilite .mi { color: #AA5D00 } /* Literal.Number.Integer */ -.codehilite .mo { color: #AA5D00 } /* Literal.Number.Oct */ -.codehilite .sa { color: #008000 } /* Literal.String.Affix */ -.codehilite .sb { color: #008000 } /* Literal.String.Backtick */ -.codehilite .sc { color: #008000 } /* Literal.String.Char */ -.codehilite .dl { color: #008000 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #008000 } /* Literal.String.Doc */ -.codehilite .s2 { color: #008000 } /* Literal.String.Double */ -.codehilite .se { color: #008000 } /* Literal.String.Escape */ -.codehilite .sh { color: #008000 } /* Literal.String.Heredoc */ -.codehilite .si { color: #008000 } /* Literal.String.Interpol */ -.codehilite .sx { color: #008000 } /* Literal.String.Other */ -.codehilite .sr { color: #D91E18 } /* Literal.String.Regex */ -.codehilite .s1 { color: #008000 } /* Literal.String.Single */ -.codehilite .ss { color: #007FAA } /* Literal.String.Symbol */ -.codehilite .bp { color: #AA5D00 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #007FAA } /* Name.Function.Magic */ -.codehilite .vc { color: #D91E18 } /* Name.Variable.Class */ -.codehilite .vg { color: #D91E18 } /* Name.Variable.Global */ -.codehilite .vi { color: #D91E18 } /* Name.Variable.Instance */ -.codehilite .vm { color: #AA5D00 } /* Name.Variable.Magic */ -.codehilite .il { color: #AA5D00 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/abap.css b/site/css/pygments/abap.css deleted file mode 100644 index 5468219..0000000 --- a/site/css/pygments/abap.css +++ /dev/null @@ -1,65 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ffffcc } -.codehilite { background: #ffffff; } -.codehilite .c { color: #888; font-style: italic } /* Comment */ -.codehilite .err { color: #F00 } /* Error */ -.codehilite .k { color: #00F } /* Keyword */ -.codehilite .n { color: #000 } /* Name */ -.codehilite .ch { color: #888; font-style: italic } /* Comment.Hashbang */ -.codehilite .cm { color: #888; font-style: italic } /* Comment.Multiline */ -.codehilite .cp { color: #888; font-style: italic } /* Comment.Preproc */ -.codehilite .cpf { color: #888; font-style: italic } /* Comment.PreprocFile */ -.codehilite .c1 { color: #888; font-style: italic } /* Comment.Single */ -.codehilite .cs { color: #888; font-style: italic } /* Comment.Special */ -.codehilite .kc { color: #00F } /* Keyword.Constant */ -.codehilite .kd { color: #00F } /* Keyword.Declaration */ -.codehilite .kn { color: #00F } /* Keyword.Namespace */ -.codehilite .kp { color: #00F } /* Keyword.Pseudo */ -.codehilite .kr { color: #00F } /* Keyword.Reserved */ -.codehilite .kt { color: #00F } /* Keyword.Type */ -.codehilite .m { color: #3AF } /* Literal.Number */ -.codehilite .s { color: #5A2 } /* Literal.String */ -.codehilite .na { color: #000 } /* Name.Attribute */ -.codehilite .nb { color: #000 } /* Name.Builtin */ -.codehilite .nc { color: #000 } /* Name.Class */ -.codehilite .no { color: #000 } /* Name.Constant */ -.codehilite .nd { color: #000 } /* Name.Decorator */ -.codehilite .ni { color: #000 } /* Name.Entity */ -.codehilite .ne { color: #000 } /* Name.Exception */ -.codehilite .nf { color: #000 } /* Name.Function */ -.codehilite .nl { color: #000 } /* Name.Label */ -.codehilite .nn { color: #000 } /* Name.Namespace */ -.codehilite .nx { color: #000 } /* Name.Other */ -.codehilite .py { color: #000 } /* Name.Property */ -.codehilite .nt { color: #000 } /* Name.Tag */ -.codehilite .nv { color: #000 } /* Name.Variable */ -.codehilite .ow { color: #00F } /* Operator.Word */ -.codehilite .mb { color: #3AF } /* Literal.Number.Bin */ -.codehilite .mf { color: #3AF } /* Literal.Number.Float */ -.codehilite .mh { color: #3AF } /* Literal.Number.Hex */ -.codehilite .mi { color: #3AF } /* Literal.Number.Integer */ -.codehilite .mo { color: #3AF } /* Literal.Number.Oct */ -.codehilite .sa { color: #5A2 } /* Literal.String.Affix */ -.codehilite .sb { color: #5A2 } /* Literal.String.Backtick */ -.codehilite .sc { color: #5A2 } /* Literal.String.Char */ -.codehilite .dl { color: #5A2 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #5A2 } /* Literal.String.Doc */ -.codehilite .s2 { color: #5A2 } /* Literal.String.Double */ -.codehilite .se { color: #5A2 } /* Literal.String.Escape */ -.codehilite .sh { color: #5A2 } /* Literal.String.Heredoc */ -.codehilite .si { color: #5A2 } /* Literal.String.Interpol */ -.codehilite .sx { color: #5A2 } /* Literal.String.Other */ -.codehilite .sr { color: #5A2 } /* Literal.String.Regex */ -.codehilite .s1 { color: #5A2 } /* Literal.String.Single */ -.codehilite .ss { color: #5A2 } /* Literal.String.Symbol */ -.codehilite .bp { color: #000 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #000 } /* Name.Function.Magic */ -.codehilite .vc { color: #000 } /* Name.Variable.Class */ -.codehilite .vg { color: #000 } /* Name.Variable.Global */ -.codehilite .vi { color: #000 } /* Name.Variable.Instance */ -.codehilite .vm { color: #000 } /* Name.Variable.Magic */ -.codehilite .il { color: #3AF } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/algol.css b/site/css/pygments/algol.css deleted file mode 100644 index 368ffb2..0000000 --- a/site/css/pygments/algol.css +++ /dev/null @@ -1,49 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ffffcc } -.codehilite { background: #ffffff; } -.codehilite .c { color: #888; font-style: italic } /* Comment */ -.codehilite .err { border: 1px solid #F00 } /* Error */ -.codehilite .k { font-weight: bold; text-decoration: underline } /* Keyword */ -.codehilite .ch { color: #888; font-style: italic } /* Comment.Hashbang */ -.codehilite .cm { color: #888; font-style: italic } /* Comment.Multiline */ -.codehilite .cp { color: #888; font-weight: bold } /* Comment.Preproc */ -.codehilite .cpf { color: #888; font-style: italic } /* Comment.PreprocFile */ -.codehilite .c1 { color: #888; font-style: italic } /* Comment.Single */ -.codehilite .cs { color: #888; font-weight: bold } /* Comment.Special */ -.codehilite .kc { font-weight: bold; text-decoration: underline } /* Keyword.Constant */ -.codehilite .kd { font-weight: bold; font-style: italic; text-decoration: underline } /* Keyword.Declaration */ -.codehilite .kn { font-weight: bold; text-decoration: underline } /* Keyword.Namespace */ -.codehilite .kp { font-weight: bold; text-decoration: underline } /* Keyword.Pseudo */ -.codehilite .kr { font-weight: bold; text-decoration: underline } /* Keyword.Reserved */ -.codehilite .kt { font-weight: bold; text-decoration: underline } /* Keyword.Type */ -.codehilite .s { color: #666; font-style: italic } /* Literal.String */ -.codehilite .nb { font-weight: bold; font-style: italic } /* Name.Builtin */ -.codehilite .nc { color: #666; font-weight: bold; font-style: italic } /* Name.Class */ -.codehilite .no { color: #666; font-weight: bold; font-style: italic } /* Name.Constant */ -.codehilite .nf { color: #666; font-weight: bold; font-style: italic } /* Name.Function */ -.codehilite .nn { color: #666; font-weight: bold; font-style: italic } /* Name.Namespace */ -.codehilite .nv { color: #666; font-weight: bold; font-style: italic } /* Name.Variable */ -.codehilite .ow { font-weight: bold } /* Operator.Word */ -.codehilite .sa { color: #666; font-style: italic } /* Literal.String.Affix */ -.codehilite .sb { color: #666; font-style: italic } /* Literal.String.Backtick */ -.codehilite .sc { color: #666; font-style: italic } /* Literal.String.Char */ -.codehilite .dl { color: #666; font-style: italic } /* Literal.String.Delimiter */ -.codehilite .sd { color: #666; font-style: italic } /* Literal.String.Doc */ -.codehilite .s2 { color: #666; font-style: italic } /* Literal.String.Double */ -.codehilite .se { color: #666; font-style: italic } /* Literal.String.Escape */ -.codehilite .sh { color: #666; font-style: italic } /* Literal.String.Heredoc */ -.codehilite .si { color: #666; font-style: italic } /* Literal.String.Interpol */ -.codehilite .sx { color: #666; font-style: italic } /* Literal.String.Other */ -.codehilite .sr { color: #666; font-style: italic } /* Literal.String.Regex */ -.codehilite .s1 { color: #666; font-style: italic } /* Literal.String.Single */ -.codehilite .ss { color: #666; font-style: italic } /* Literal.String.Symbol */ -.codehilite .bp { font-weight: bold; font-style: italic } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #666; font-weight: bold; font-style: italic } /* Name.Function.Magic */ -.codehilite .vc { color: #666; font-weight: bold; font-style: italic } /* Name.Variable.Class */ -.codehilite .vg { color: #666; font-weight: bold; font-style: italic } /* Name.Variable.Global */ -.codehilite .vi { color: #666; font-weight: bold; font-style: italic } /* Name.Variable.Instance */ -.codehilite .vm { color: #666; font-weight: bold; font-style: italic } /* Name.Variable.Magic */ \ No newline at end of file diff --git a/site/css/pygments/algol_nu.css b/site/css/pygments/algol_nu.css deleted file mode 100644 index 09ce96a..0000000 --- a/site/css/pygments/algol_nu.css +++ /dev/null @@ -1,49 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ffffcc } -.codehilite { background: #ffffff; } -.codehilite .c { color: #888; font-style: italic } /* Comment */ -.codehilite .err { border: 1px solid #F00 } /* Error */ -.codehilite .k { font-weight: bold } /* Keyword */ -.codehilite .ch { color: #888; font-style: italic } /* Comment.Hashbang */ -.codehilite .cm { color: #888; font-style: italic } /* Comment.Multiline */ -.codehilite .cp { color: #888; font-weight: bold } /* Comment.Preproc */ -.codehilite .cpf { color: #888; font-style: italic } /* Comment.PreprocFile */ -.codehilite .c1 { color: #888; font-style: italic } /* Comment.Single */ -.codehilite .cs { color: #888; font-weight: bold } /* Comment.Special */ -.codehilite .kc { font-weight: bold } /* Keyword.Constant */ -.codehilite .kd { font-weight: bold; font-style: italic } /* Keyword.Declaration */ -.codehilite .kn { font-weight: bold } /* Keyword.Namespace */ -.codehilite .kp { font-weight: bold } /* Keyword.Pseudo */ -.codehilite .kr { font-weight: bold } /* Keyword.Reserved */ -.codehilite .kt { font-weight: bold } /* Keyword.Type */ -.codehilite .s { color: #666; font-style: italic } /* Literal.String */ -.codehilite .nb { font-weight: bold; font-style: italic } /* Name.Builtin */ -.codehilite .nc { color: #666; font-weight: bold; font-style: italic } /* Name.Class */ -.codehilite .no { color: #666; font-weight: bold; font-style: italic } /* Name.Constant */ -.codehilite .nf { color: #666; font-weight: bold; font-style: italic } /* Name.Function */ -.codehilite .nn { color: #666; font-weight: bold; font-style: italic } /* Name.Namespace */ -.codehilite .nv { color: #666; font-weight: bold; font-style: italic } /* Name.Variable */ -.codehilite .ow { font-weight: bold } /* Operator.Word */ -.codehilite .sa { color: #666; font-style: italic } /* Literal.String.Affix */ -.codehilite .sb { color: #666; font-style: italic } /* Literal.String.Backtick */ -.codehilite .sc { color: #666; font-style: italic } /* Literal.String.Char */ -.codehilite .dl { color: #666; font-style: italic } /* Literal.String.Delimiter */ -.codehilite .sd { color: #666; font-style: italic } /* Literal.String.Doc */ -.codehilite .s2 { color: #666; font-style: italic } /* Literal.String.Double */ -.codehilite .se { color: #666; font-style: italic } /* Literal.String.Escape */ -.codehilite .sh { color: #666; font-style: italic } /* Literal.String.Heredoc */ -.codehilite .si { color: #666; font-style: italic } /* Literal.String.Interpol */ -.codehilite .sx { color: #666; font-style: italic } /* Literal.String.Other */ -.codehilite .sr { color: #666; font-style: italic } /* Literal.String.Regex */ -.codehilite .s1 { color: #666; font-style: italic } /* Literal.String.Single */ -.codehilite .ss { color: #666; font-style: italic } /* Literal.String.Symbol */ -.codehilite .bp { font-weight: bold; font-style: italic } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #666; font-weight: bold; font-style: italic } /* Name.Function.Magic */ -.codehilite .vc { color: #666; font-weight: bold; font-style: italic } /* Name.Variable.Class */ -.codehilite .vg { color: #666; font-weight: bold; font-style: italic } /* Name.Variable.Global */ -.codehilite .vi { color: #666; font-weight: bold; font-style: italic } /* Name.Variable.Instance */ -.codehilite .vm { color: #666; font-weight: bold; font-style: italic } /* Name.Variable.Magic */ \ No newline at end of file diff --git a/site/css/pygments/all.css b/site/css/pygments/all.css deleted file mode 100644 index 109cea4..0000000 --- a/site/css/pygments/all.css +++ /dev/null @@ -1,4536 +0,0 @@ -.codehilite.abap .hll { background-color: #ffffcc } -.codehilite.abap { background: #ffffff; } -.codehilite.abap .c { color: #888; font-style: italic } /* Comment */ -.codehilite.abap .err { color: #F00 } /* Error */ -.codehilite.abap .k { color: #00F } /* Keyword */ -.codehilite.abap .n { color: #000 } /* Name */ -.codehilite.abap .ch { color: #888; font-style: italic } /* Comment.Hashbang */ -.codehilite.abap .cm { color: #888; font-style: italic } /* Comment.Multiline */ -.codehilite.abap .cp { color: #888; font-style: italic } /* Comment.Preproc */ -.codehilite.abap .cpf { color: #888; font-style: italic } /* Comment.PreprocFile */ -.codehilite.abap .c1 { color: #888; font-style: italic } /* Comment.Single */ -.codehilite.abap .cs { color: #888; font-style: italic } /* Comment.Special */ -.codehilite.abap .kc { color: #00F } /* Keyword.Constant */ -.codehilite.abap .kd { color: #00F } /* Keyword.Declaration */ -.codehilite.abap .kn { color: #00F } /* Keyword.Namespace */ -.codehilite.abap .kp { color: #00F } /* Keyword.Pseudo */ -.codehilite.abap .kr { color: #00F } /* Keyword.Reserved */ -.codehilite.abap .kt { color: #00F } /* Keyword.Type */ -.codehilite.abap .m { color: #3AF } /* Literal.Number */ -.codehilite.abap .s { color: #5A2 } /* Literal.String */ -.codehilite.abap .na { color: #000 } /* Name.Attribute */ -.codehilite.abap .nb { color: #000 } /* Name.Builtin */ -.codehilite.abap .nc { color: #000 } /* Name.Class */ -.codehilite.abap .no { color: #000 } /* Name.Constant */ -.codehilite.abap .nd { color: #000 } /* Name.Decorator */ -.codehilite.abap .ni { color: #000 } /* Name.Entity */ -.codehilite.abap .ne { color: #000 } /* Name.Exception */ -.codehilite.abap .nf { color: #000 } /* Name.Function */ -.codehilite.abap .nl { color: #000 } /* Name.Label */ -.codehilite.abap .nn { color: #000 } /* Name.Namespace */ -.codehilite.abap .nx { color: #000 } /* Name.Other */ -.codehilite.abap .py { color: #000 } /* Name.Property */ -.codehilite.abap .nt { color: #000 } /* Name.Tag */ -.codehilite.abap .nv { color: #000 } /* Name.Variable */ -.codehilite.abap .ow { color: #00F } /* Operator.Word */ -.codehilite.abap .mb { color: #3AF } /* Literal.Number.Bin */ -.codehilite.abap .mf { color: #3AF } /* Literal.Number.Float */ -.codehilite.abap .mh { color: #3AF } /* Literal.Number.Hex */ -.codehilite.abap .mi { color: #3AF } /* Literal.Number.Integer */ -.codehilite.abap .mo { color: #3AF } /* Literal.Number.Oct */ -.codehilite.abap .sa { color: #5A2 } /* Literal.String.Affix */ -.codehilite.abap .sb { color: #5A2 } /* Literal.String.Backtick */ -.codehilite.abap .sc { color: #5A2 } /* Literal.String.Char */ -.codehilite.abap .dl { color: #5A2 } /* Literal.String.Delimiter */ -.codehilite.abap .sd { color: #5A2 } /* Literal.String.Doc */ -.codehilite.abap .s2 { color: #5A2 } /* Literal.String.Double */ -.codehilite.abap .se { color: #5A2 } /* Literal.String.Escape */ -.codehilite.abap .sh { color: #5A2 } /* Literal.String.Heredoc */ -.codehilite.abap .si { color: #5A2 } /* Literal.String.Interpol */ -.codehilite.abap .sx { color: #5A2 } /* Literal.String.Other */ -.codehilite.abap .sr { color: #5A2 } /* Literal.String.Regex */ -.codehilite.abap .s1 { color: #5A2 } /* Literal.String.Single */ -.codehilite.abap .ss { color: #5A2 } /* Literal.String.Symbol */ -.codehilite.abap .bp { color: #000 } /* Name.Builtin.Pseudo */ -.codehilite.abap .fm { color: #000 } /* Name.Function.Magic */ -.codehilite.abap .vc { color: #000 } /* Name.Variable.Class */ -.codehilite.abap .vg { color: #000 } /* Name.Variable.Global */ -.codehilite.abap .vi { color: #000 } /* Name.Variable.Instance */ -.codehilite.abap .vm { color: #000 } /* Name.Variable.Magic */ -.codehilite.abap .il { color: #3AF } /* Literal.Number.Integer.Long */ -.codehilite.algol .hll { background-color: #ffffcc } -.codehilite.algol { background: #ffffff; } -.codehilite.algol .c { color: #888; font-style: italic } /* Comment */ -.codehilite.algol .err { border: 1px solid #F00 } /* Error */ -.codehilite.algol .k { font-weight: bold; text-decoration: underline } /* Keyword */ -.codehilite.algol .ch { color: #888; font-style: italic } /* Comment.Hashbang */ -.codehilite.algol .cm { color: #888; font-style: italic } /* Comment.Multiline */ -.codehilite.algol .cp { color: #888; font-weight: bold } /* Comment.Preproc */ -.codehilite.algol .cpf { color: #888; font-style: italic } /* Comment.PreprocFile */ -.codehilite.algol .c1 { color: #888; font-style: italic } /* Comment.Single */ -.codehilite.algol .cs { color: #888; font-weight: bold } /* Comment.Special */ -.codehilite.algol .kc { font-weight: bold; text-decoration: underline } /* Keyword.Constant */ -.codehilite.algol .kd { font-weight: bold; font-style: italic; text-decoration: underline } /* Keyword.Declaration */ -.codehilite.algol .kn { font-weight: bold; text-decoration: underline } /* Keyword.Namespace */ -.codehilite.algol .kp { font-weight: bold; text-decoration: underline } /* Keyword.Pseudo */ -.codehilite.algol .kr { font-weight: bold; text-decoration: underline } /* Keyword.Reserved */ -.codehilite.algol .kt { font-weight: bold; text-decoration: underline } /* Keyword.Type */ -.codehilite.algol .s { color: #666; font-style: italic } /* Literal.String */ -.codehilite.algol .nb { font-weight: bold; font-style: italic } /* Name.Builtin */ -.codehilite.algol .nc { color: #666; font-weight: bold; font-style: italic } /* Name.Class */ -.codehilite.algol .no { color: #666; font-weight: bold; font-style: italic } /* Name.Constant */ -.codehilite.algol .nf { color: #666; font-weight: bold; font-style: italic } /* Name.Function */ -.codehilite.algol .nn { color: #666; font-weight: bold; font-style: italic } /* Name.Namespace */ -.codehilite.algol .nv { color: #666; font-weight: bold; font-style: italic } /* Name.Variable */ -.codehilite.algol .ow { font-weight: bold } /* Operator.Word */ -.codehilite.algol .sa { color: #666; font-style: italic } /* Literal.String.Affix */ -.codehilite.algol .sb { color: #666; font-style: italic } /* Literal.String.Backtick */ -.codehilite.algol .sc { color: #666; font-style: italic } /* Literal.String.Char */ -.codehilite.algol .dl { color: #666; font-style: italic } /* Literal.String.Delimiter */ -.codehilite.algol .sd { color: #666; font-style: italic } /* Literal.String.Doc */ -.codehilite.algol .s2 { color: #666; font-style: italic } /* Literal.String.Double */ -.codehilite.algol .se { color: #666; font-style: italic } /* Literal.String.Escape */ -.codehilite.algol .sh { color: #666; font-style: italic } /* Literal.String.Heredoc */ -.codehilite.algol .si { color: #666; font-style: italic } /* Literal.String.Interpol */ -.codehilite.algol .sx { color: #666; font-style: italic } /* Literal.String.Other */ -.codehilite.algol .sr { color: #666; font-style: italic } /* Literal.String.Regex */ -.codehilite.algol .s1 { color: #666; font-style: italic } /* Literal.String.Single */ -.codehilite.algol .ss { color: #666; font-style: italic } /* Literal.String.Symbol */ -.codehilite.algol .bp { font-weight: bold; font-style: italic } /* Name.Builtin.Pseudo */ -.codehilite.algol .fm { color: #666; font-weight: bold; font-style: italic } /* Name.Function.Magic */ -.codehilite.algol .vc { color: #666; font-weight: bold; font-style: italic } /* Name.Variable.Class */ -.codehilite.algol .vg { color: #666; font-weight: bold; font-style: italic } /* Name.Variable.Global */ -.codehilite.algol .vi { color: #666; font-weight: bold; font-style: italic } /* Name.Variable.Instance */ -.codehilite.algol .vm { color: #666; font-weight: bold; font-style: italic } /* Name.Variable.Magic */ -.codehilite.algol_nu .hll { background-color: #ffffcc } -.codehilite.algol_nu { background: #ffffff; } -.codehilite.algol_nu .c { color: #888; font-style: italic } /* Comment */ -.codehilite.algol_nu .err { border: 1px solid #F00 } /* Error */ -.codehilite.algol_nu .k { font-weight: bold } /* Keyword */ -.codehilite.algol_nu .ch { color: #888; font-style: italic } /* Comment.Hashbang */ -.codehilite.algol_nu .cm { color: #888; font-style: italic } /* Comment.Multiline */ -.codehilite.algol_nu .cp { color: #888; font-weight: bold } /* Comment.Preproc */ -.codehilite.algol_nu .cpf { color: #888; font-style: italic } /* Comment.PreprocFile */ -.codehilite.algol_nu .c1 { color: #888; font-style: italic } /* Comment.Single */ -.codehilite.algol_nu .cs { color: #888; font-weight: bold } /* Comment.Special */ -.codehilite.algol_nu .kc { font-weight: bold } /* Keyword.Constant */ -.codehilite.algol_nu .kd { font-weight: bold; font-style: italic } /* Keyword.Declaration */ -.codehilite.algol_nu .kn { font-weight: bold } /* Keyword.Namespace */ -.codehilite.algol_nu .kp { font-weight: bold } /* Keyword.Pseudo */ -.codehilite.algol_nu .kr { font-weight: bold } /* Keyword.Reserved */ -.codehilite.algol_nu .kt { font-weight: bold } /* Keyword.Type */ -.codehilite.algol_nu .s { color: #666; font-style: italic } /* Literal.String */ -.codehilite.algol_nu .nb { font-weight: bold; font-style: italic } /* Name.Builtin */ -.codehilite.algol_nu .nc { color: #666; font-weight: bold; font-style: italic } /* Name.Class */ -.codehilite.algol_nu .no { color: #666; font-weight: bold; font-style: italic } /* Name.Constant */ -.codehilite.algol_nu .nf { color: #666; font-weight: bold; font-style: italic } /* Name.Function */ -.codehilite.algol_nu .nn { color: #666; font-weight: bold; font-style: italic } /* Name.Namespace */ -.codehilite.algol_nu .nv { color: #666; font-weight: bold; font-style: italic } /* Name.Variable */ -.codehilite.algol_nu .ow { font-weight: bold } /* Operator.Word */ -.codehilite.algol_nu .sa { color: #666; font-style: italic } /* Literal.String.Affix */ -.codehilite.algol_nu .sb { color: #666; font-style: italic } /* Literal.String.Backtick */ -.codehilite.algol_nu .sc { color: #666; font-style: italic } /* Literal.String.Char */ -.codehilite.algol_nu .dl { color: #666; font-style: italic } /* Literal.String.Delimiter */ -.codehilite.algol_nu .sd { color: #666; font-style: italic } /* Literal.String.Doc */ -.codehilite.algol_nu .s2 { color: #666; font-style: italic } /* Literal.String.Double */ -.codehilite.algol_nu .se { color: #666; font-style: italic } /* Literal.String.Escape */ -.codehilite.algol_nu .sh { color: #666; font-style: italic } /* Literal.String.Heredoc */ -.codehilite.algol_nu .si { color: #666; font-style: italic } /* Literal.String.Interpol */ -.codehilite.algol_nu .sx { color: #666; font-style: italic } /* Literal.String.Other */ -.codehilite.algol_nu .sr { color: #666; font-style: italic } /* Literal.String.Regex */ -.codehilite.algol_nu .s1 { color: #666; font-style: italic } /* Literal.String.Single */ -.codehilite.algol_nu .ss { color: #666; font-style: italic } /* Literal.String.Symbol */ -.codehilite.algol_nu .bp { font-weight: bold; font-style: italic } /* Name.Builtin.Pseudo */ -.codehilite.algol_nu .fm { color: #666; font-weight: bold; font-style: italic } /* Name.Function.Magic */ -.codehilite.algol_nu .vc { color: #666; font-weight: bold; font-style: italic } /* Name.Variable.Class */ -.codehilite.algol_nu .vg { color: #666; font-weight: bold; font-style: italic } /* Name.Variable.Global */ -.codehilite.algol_nu .vi { color: #666; font-weight: bold; font-style: italic } /* Name.Variable.Instance */ -.codehilite.algol_nu .vm { color: #666; font-weight: bold; font-style: italic } /* Name.Variable.Magic */ -.codehilite.arduino .hll { background-color: #ffffcc } -.codehilite.arduino { background: #ffffff; } -.codehilite.arduino .c { color: #95A5A6 } /* Comment */ -.codehilite.arduino .err { color: #A61717 } /* Error */ -.codehilite.arduino .k { color: #728E00 } /* Keyword */ -.codehilite.arduino .n { color: #434F54 } /* Name */ -.codehilite.arduino .o { color: #728E00 } /* Operator */ -.codehilite.arduino .ch { color: #95A5A6 } /* Comment.Hashbang */ -.codehilite.arduino .cm { color: #95A5A6 } /* Comment.Multiline */ -.codehilite.arduino .cp { color: #728E00 } /* Comment.Preproc */ -.codehilite.arduino .cpf { color: #95A5A6 } /* Comment.PreprocFile */ -.codehilite.arduino .c1 { color: #95A5A6 } /* Comment.Single */ -.codehilite.arduino .cs { color: #95A5A6 } /* Comment.Special */ -.codehilite.arduino .kc { color: #00979D } /* Keyword.Constant */ -.codehilite.arduino .kd { color: #728E00 } /* Keyword.Declaration */ -.codehilite.arduino .kn { color: #728E00 } /* Keyword.Namespace */ -.codehilite.arduino .kp { color: #00979D } /* Keyword.Pseudo */ -.codehilite.arduino .kr { color: #00979D } /* Keyword.Reserved */ -.codehilite.arduino .kt { color: #00979D } /* Keyword.Type */ -.codehilite.arduino .m { color: #8A7B52 } /* Literal.Number */ -.codehilite.arduino .s { color: #7F8C8D } /* Literal.String */ -.codehilite.arduino .na { color: #434F54 } /* Name.Attribute */ -.codehilite.arduino .nb { color: #728E00 } /* Name.Builtin */ -.codehilite.arduino .nc { color: #434F54 } /* Name.Class */ -.codehilite.arduino .no { color: #434F54 } /* Name.Constant */ -.codehilite.arduino .nd { color: #434F54 } /* Name.Decorator */ -.codehilite.arduino .ni { color: #434F54 } /* Name.Entity */ -.codehilite.arduino .ne { color: #434F54 } /* Name.Exception */ -.codehilite.arduino .nf { color: #D35400 } /* Name.Function */ -.codehilite.arduino .nl { color: #434F54 } /* Name.Label */ -.codehilite.arduino .nn { color: #434F54 } /* Name.Namespace */ -.codehilite.arduino .nx { color: #728E00 } /* Name.Other */ -.codehilite.arduino .py { color: #434F54 } /* Name.Property */ -.codehilite.arduino .nt { color: #434F54 } /* Name.Tag */ -.codehilite.arduino .nv { color: #434F54 } /* Name.Variable */ -.codehilite.arduino .ow { color: #728E00 } /* Operator.Word */ -.codehilite.arduino .mb { color: #8A7B52 } /* Literal.Number.Bin */ -.codehilite.arduino .mf { color: #8A7B52 } /* Literal.Number.Float */ -.codehilite.arduino .mh { color: #8A7B52 } /* Literal.Number.Hex */ -.codehilite.arduino .mi { color: #8A7B52 } /* Literal.Number.Integer */ -.codehilite.arduino .mo { color: #8A7B52 } /* Literal.Number.Oct */ -.codehilite.arduino .sa { color: #7F8C8D } /* Literal.String.Affix */ -.codehilite.arduino .sb { color: #7F8C8D } /* Literal.String.Backtick */ -.codehilite.arduino .sc { color: #7F8C8D } /* Literal.String.Char */ -.codehilite.arduino .dl { color: #7F8C8D } /* Literal.String.Delimiter */ -.codehilite.arduino .sd { color: #7F8C8D } /* Literal.String.Doc */ -.codehilite.arduino .s2 { color: #7F8C8D } /* Literal.String.Double */ -.codehilite.arduino .se { color: #7F8C8D } /* Literal.String.Escape */ -.codehilite.arduino .sh { color: #7F8C8D } /* Literal.String.Heredoc */ -.codehilite.arduino .si { color: #7F8C8D } /* Literal.String.Interpol */ -.codehilite.arduino .sx { color: #7F8C8D } /* Literal.String.Other */ -.codehilite.arduino .sr { color: #7F8C8D } /* Literal.String.Regex */ -.codehilite.arduino .s1 { color: #7F8C8D } /* Literal.String.Single */ -.codehilite.arduino .ss { color: #7F8C8D } /* Literal.String.Symbol */ -.codehilite.arduino .bp { color: #728E00 } /* Name.Builtin.Pseudo */ -.codehilite.arduino .fm { color: #D35400 } /* Name.Function.Magic */ -.codehilite.arduino .vc { color: #434F54 } /* Name.Variable.Class */ -.codehilite.arduino .vg { color: #434F54 } /* Name.Variable.Global */ -.codehilite.arduino .vi { color: #434F54 } /* Name.Variable.Instance */ -.codehilite.arduino .vm { color: #434F54 } /* Name.Variable.Magic */ -.codehilite.arduino .il { color: #8A7B52 } /* Literal.Number.Integer.Long */ -.codehilite.autumn .hll { background-color: #ffffcc } -.codehilite.autumn { background: #ffffff; } -.codehilite.autumn .c { color: #AAA; font-style: italic } /* Comment */ -.codehilite.autumn .err { color: #F00; background-color: #FAA } /* Error */ -.codehilite.autumn .k { color: #00A } /* Keyword */ -.codehilite.autumn .ch { color: #AAA; font-style: italic } /* Comment.Hashbang */ -.codehilite.autumn .cm { color: #AAA; font-style: italic } /* Comment.Multiline */ -.codehilite.autumn .cp { color: #4C8317 } /* Comment.Preproc */ -.codehilite.autumn .cpf { color: #AAA; font-style: italic } /* Comment.PreprocFile */ -.codehilite.autumn .c1 { color: #AAA; font-style: italic } /* Comment.Single */ -.codehilite.autumn .cs { color: #00A; font-style: italic } /* Comment.Special */ -.codehilite.autumn .gd { color: #A00 } /* Generic.Deleted */ -.codehilite.autumn .ge { font-style: italic } /* Generic.Emph */ -.codehilite.autumn .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite.autumn .gr { color: #A00 } /* Generic.Error */ -.codehilite.autumn .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.codehilite.autumn .gi { color: #0A0 } /* Generic.Inserted */ -.codehilite.autumn .go { color: #888 } /* Generic.Output */ -.codehilite.autumn .gp { color: #555 } /* Generic.Prompt */ -.codehilite.autumn .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.autumn .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.codehilite.autumn .gt { color: #A00 } /* Generic.Traceback */ -.codehilite.autumn .kc { color: #00A } /* Keyword.Constant */ -.codehilite.autumn .kd { color: #00A } /* Keyword.Declaration */ -.codehilite.autumn .kn { color: #00A } /* Keyword.Namespace */ -.codehilite.autumn .kp { color: #00A } /* Keyword.Pseudo */ -.codehilite.autumn .kr { color: #00A } /* Keyword.Reserved */ -.codehilite.autumn .kt { color: #0AA } /* Keyword.Type */ -.codehilite.autumn .m { color: #099 } /* Literal.Number */ -.codehilite.autumn .s { color: #A50 } /* Literal.String */ -.codehilite.autumn .na { color: #1E90FF } /* Name.Attribute */ -.codehilite.autumn .nb { color: #0AA } /* Name.Builtin */ -.codehilite.autumn .nc { color: #0A0; text-decoration: underline } /* Name.Class */ -.codehilite.autumn .no { color: #A00 } /* Name.Constant */ -.codehilite.autumn .nd { color: #888 } /* Name.Decorator */ -.codehilite.autumn .ni { color: #800; font-weight: bold } /* Name.Entity */ -.codehilite.autumn .nf { color: #0A0 } /* Name.Function */ -.codehilite.autumn .nn { color: #0AA; text-decoration: underline } /* Name.Namespace */ -.codehilite.autumn .nt { color: #1E90FF; font-weight: bold } /* Name.Tag */ -.codehilite.autumn .nv { color: #A00 } /* Name.Variable */ -.codehilite.autumn .ow { color: #00A } /* Operator.Word */ -.codehilite.autumn .w { color: #BBB } /* Text.Whitespace */ -.codehilite.autumn .mb { color: #099 } /* Literal.Number.Bin */ -.codehilite.autumn .mf { color: #099 } /* Literal.Number.Float */ -.codehilite.autumn .mh { color: #099 } /* Literal.Number.Hex */ -.codehilite.autumn .mi { color: #099 } /* Literal.Number.Integer */ -.codehilite.autumn .mo { color: #099 } /* Literal.Number.Oct */ -.codehilite.autumn .sa { color: #A50 } /* Literal.String.Affix */ -.codehilite.autumn .sb { color: #A50 } /* Literal.String.Backtick */ -.codehilite.autumn .sc { color: #A50 } /* Literal.String.Char */ -.codehilite.autumn .dl { color: #A50 } /* Literal.String.Delimiter */ -.codehilite.autumn .sd { color: #A50 } /* Literal.String.Doc */ -.codehilite.autumn .s2 { color: #A50 } /* Literal.String.Double */ -.codehilite.autumn .se { color: #A50 } /* Literal.String.Escape */ -.codehilite.autumn .sh { color: #A50 } /* Literal.String.Heredoc */ -.codehilite.autumn .si { color: #A50 } /* Literal.String.Interpol */ -.codehilite.autumn .sx { color: #A50 } /* Literal.String.Other */ -.codehilite.autumn .sr { color: #099 } /* Literal.String.Regex */ -.codehilite.autumn .s1 { color: #A50 } /* Literal.String.Single */ -.codehilite.autumn .ss { color: #00A } /* Literal.String.Symbol */ -.codehilite.autumn .bp { color: #0AA } /* Name.Builtin.Pseudo */ -.codehilite.autumn .fm { color: #0A0 } /* Name.Function.Magic */ -.codehilite.autumn .vc { color: #A00 } /* Name.Variable.Class */ -.codehilite.autumn .vg { color: #A00 } /* Name.Variable.Global */ -.codehilite.autumn .vi { color: #A00 } /* Name.Variable.Instance */ -.codehilite.autumn .vm { color: #A00 } /* Name.Variable.Magic */ -.codehilite.autumn .il { color: #099 } /* Literal.Number.Integer.Long */ -.codehilite.bw .hll { background-color: #ffffcc } -.codehilite.bw { background: #ffffff; } -.codehilite.bw .c { font-style: italic } /* Comment */ -.codehilite.bw .err { border: 1px solid #F00 } /* Error */ -.codehilite.bw .k { font-weight: bold } /* Keyword */ -.codehilite.bw .ch { font-style: italic } /* Comment.Hashbang */ -.codehilite.bw .cm { font-style: italic } /* Comment.Multiline */ -.codehilite.bw .cpf { font-style: italic } /* Comment.PreprocFile */ -.codehilite.bw .c1 { font-style: italic } /* Comment.Single */ -.codehilite.bw .cs { font-style: italic } /* Comment.Special */ -.codehilite.bw .ge { font-style: italic } /* Generic.Emph */ -.codehilite.bw .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite.bw .gh { font-weight: bold } /* Generic.Heading */ -.codehilite.bw .gp { font-weight: bold } /* Generic.Prompt */ -.codehilite.bw .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.bw .gu { font-weight: bold } /* Generic.Subheading */ -.codehilite.bw .kc { font-weight: bold } /* Keyword.Constant */ -.codehilite.bw .kd { font-weight: bold } /* Keyword.Declaration */ -.codehilite.bw .kn { font-weight: bold } /* Keyword.Namespace */ -.codehilite.bw .kr { font-weight: bold } /* Keyword.Reserved */ -.codehilite.bw .s { font-style: italic } /* Literal.String */ -.codehilite.bw .nc { font-weight: bold } /* Name.Class */ -.codehilite.bw .ni { font-weight: bold } /* Name.Entity */ -.codehilite.bw .ne { font-weight: bold } /* Name.Exception */ -.codehilite.bw .nn { font-weight: bold } /* Name.Namespace */ -.codehilite.bw .nt { font-weight: bold } /* Name.Tag */ -.codehilite.bw .ow { font-weight: bold } /* Operator.Word */ -.codehilite.bw .sa { font-style: italic } /* Literal.String.Affix */ -.codehilite.bw .sb { font-style: italic } /* Literal.String.Backtick */ -.codehilite.bw .sc { font-style: italic } /* Literal.String.Char */ -.codehilite.bw .dl { font-style: italic } /* Literal.String.Delimiter */ -.codehilite.bw .sd { font-style: italic } /* Literal.String.Doc */ -.codehilite.bw .s2 { font-style: italic } /* Literal.String.Double */ -.codehilite.bw .se { font-weight: bold; font-style: italic } /* Literal.String.Escape */ -.codehilite.bw .sh { font-style: italic } /* Literal.String.Heredoc */ -.codehilite.bw .si { font-weight: bold; font-style: italic } /* Literal.String.Interpol */ -.codehilite.bw .sx { font-style: italic } /* Literal.String.Other */ -.codehilite.bw .sr { font-style: italic } /* Literal.String.Regex */ -.codehilite.bw .s1 { font-style: italic } /* Literal.String.Single */ -.codehilite.bw .ss { font-style: italic } /* Literal.String.Symbol */ -.codehilite.borland .hll { background-color: #ffffcc } -.codehilite.borland { background: #ffffff; } -.codehilite.borland .c { color: #080; font-style: italic } /* Comment */ -.codehilite.borland .err { color: #A61717; background-color: #E3D2D2 } /* Error */ -.codehilite.borland .k { color: #000080; font-weight: bold } /* Keyword */ -.codehilite.borland .ch { color: #080; font-style: italic } /* Comment.Hashbang */ -.codehilite.borland .cm { color: #080; font-style: italic } /* Comment.Multiline */ -.codehilite.borland .cp { color: #008080 } /* Comment.Preproc */ -.codehilite.borland .cpf { color: #080; font-style: italic } /* Comment.PreprocFile */ -.codehilite.borland .c1 { color: #080; font-style: italic } /* Comment.Single */ -.codehilite.borland .cs { color: #080; font-weight: bold } /* Comment.Special */ -.codehilite.borland .gd { color: #000; background-color: #FDD } /* Generic.Deleted */ -.codehilite.borland .ge { font-style: italic } /* Generic.Emph */ -.codehilite.borland .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite.borland .gr { color: #A00 } /* Generic.Error */ -.codehilite.borland .gh { color: #999 } /* Generic.Heading */ -.codehilite.borland .gi { color: #000; background-color: #DFD } /* Generic.Inserted */ -.codehilite.borland .go { color: #888 } /* Generic.Output */ -.codehilite.borland .gp { color: #555 } /* Generic.Prompt */ -.codehilite.borland .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.borland .gu { color: #AAA } /* Generic.Subheading */ -.codehilite.borland .gt { color: #A00 } /* Generic.Traceback */ -.codehilite.borland .kc { color: #000080; font-weight: bold } /* Keyword.Constant */ -.codehilite.borland .kd { color: #000080; font-weight: bold } /* Keyword.Declaration */ -.codehilite.borland .kn { color: #000080; font-weight: bold } /* Keyword.Namespace */ -.codehilite.borland .kp { color: #000080; font-weight: bold } /* Keyword.Pseudo */ -.codehilite.borland .kr { color: #000080; font-weight: bold } /* Keyword.Reserved */ -.codehilite.borland .kt { color: #000080; font-weight: bold } /* Keyword.Type */ -.codehilite.borland .m { color: #00F } /* Literal.Number */ -.codehilite.borland .s { color: #00F } /* Literal.String */ -.codehilite.borland .na { color: #F00 } /* Name.Attribute */ -.codehilite.borland .nt { color: #000080; font-weight: bold } /* Name.Tag */ -.codehilite.borland .ow { font-weight: bold } /* Operator.Word */ -.codehilite.borland .w { color: #BBB } /* Text.Whitespace */ -.codehilite.borland .mb { color: #00F } /* Literal.Number.Bin */ -.codehilite.borland .mf { color: #00F } /* Literal.Number.Float */ -.codehilite.borland .mh { color: #00F } /* Literal.Number.Hex */ -.codehilite.borland .mi { color: #00F } /* Literal.Number.Integer */ -.codehilite.borland .mo { color: #00F } /* Literal.Number.Oct */ -.codehilite.borland .sa { color: #00F } /* Literal.String.Affix */ -.codehilite.borland .sb { color: #00F } /* Literal.String.Backtick */ -.codehilite.borland .sc { color: #800080 } /* Literal.String.Char */ -.codehilite.borland .dl { color: #00F } /* Literal.String.Delimiter */ -.codehilite.borland .sd { color: #00F } /* Literal.String.Doc */ -.codehilite.borland .s2 { color: #00F } /* Literal.String.Double */ -.codehilite.borland .se { color: #00F } /* Literal.String.Escape */ -.codehilite.borland .sh { color: #00F } /* Literal.String.Heredoc */ -.codehilite.borland .si { color: #00F } /* Literal.String.Interpol */ -.codehilite.borland .sx { color: #00F } /* Literal.String.Other */ -.codehilite.borland .sr { color: #00F } /* Literal.String.Regex */ -.codehilite.borland .s1 { color: #00F } /* Literal.String.Single */ -.codehilite.borland .ss { color: #00F } /* Literal.String.Symbol */ -.codehilite.borland .il { color: #00F } /* Literal.Number.Integer.Long */ -.codehilite.coffee .hll { background-color: #ddd0c0 } -.codehilite.coffee { background: #262220; color: #DDD0C0 } -.codehilite.coffee .c { color: #70757A } /* Comment */ -.codehilite.coffee .err { color: #AF5F5F } /* Error */ -.codehilite.coffee .esc { color: #DDD0C0 } /* Escape */ -.codehilite.coffee .g { color: #DDD0C0 } /* Generic */ -.codehilite.coffee .k { color: #919191 } /* Keyword */ -.codehilite.coffee .l { color: #AF875F } /* Literal */ -.codehilite.coffee .n { color: #DDD0C0 } /* Name */ -.codehilite.coffee .o { color: #878787 } /* Operator */ -.codehilite.coffee .x { color: #DDD0C0 } /* Other */ -.codehilite.coffee .p { color: #DDD0C0 } /* Punctuation */ -.codehilite.coffee .ch { color: #8F9F9F } /* Comment.Hashbang */ -.codehilite.coffee .cm { color: #70757A } /* Comment.Multiline */ -.codehilite.coffee .cp { color: #FDD0C0 } /* Comment.Preproc */ -.codehilite.coffee .cpf { color: #C9B98F } /* Comment.PreprocFile */ -.codehilite.coffee .c1 { color: #70757A } /* Comment.Single */ -.codehilite.coffee .cs { color: #AF5F5F } /* Comment.Special */ -.codehilite.coffee .gd { color: #BB6868 } /* Generic.Deleted */ -.codehilite.coffee .ge { color: #DDD0C0; font-style: italic } /* Generic.Emph */ -.codehilite.coffee .ges { color: #DDD0C0 } /* Generic.EmphStrong */ -.codehilite.coffee .gr { color: #AF5F5F } /* Generic.Error */ -.codehilite.coffee .gh { color: #DDD0C0 } /* Generic.Heading */ -.codehilite.coffee .gi { color: #849155 } /* Generic.Inserted */ -.codehilite.coffee .go { color: #DDD0C0 } /* Generic.Output */ -.codehilite.coffee .gp { color: #DDD0C0 } /* Generic.Prompt */ -.codehilite.coffee .gs { color: #DDD0C0; font-weight: bold } /* Generic.Strong */ -.codehilite.coffee .gu { color: #DDD0C0 } /* Generic.Subheading */ -.codehilite.coffee .gt { color: #AF5F5F } /* Generic.Traceback */ -.codehilite.coffee .kc { color: #875F5F } /* Keyword.Constant */ -.codehilite.coffee .kd { color: #875F5F } /* Keyword.Declaration */ -.codehilite.coffee .kn { color: #875F5F } /* Keyword.Namespace */ -.codehilite.coffee .kp { color: #919191 } /* Keyword.Pseudo */ -.codehilite.coffee .kr { color: #B46276 } /* Keyword.Reserved */ -.codehilite.coffee .kt { color: #AF875F } /* Keyword.Type */ -.codehilite.coffee .ld { color: #AF875F } /* Literal.Date */ -.codehilite.coffee .m { color: #87AFAF } /* Literal.Number */ -.codehilite.coffee .s { color: #C9B98F } /* Literal.String */ -.codehilite.coffee .na { color: #DDD0C0 } /* Name.Attribute */ -.codehilite.coffee .nb { color: #DDD0C0 } /* Name.Builtin */ -.codehilite.coffee .nc { color: #875F5F } /* Name.Class */ -.codehilite.coffee .no { color: #AF8787 } /* Name.Constant */ -.codehilite.coffee .nd { color: #FDD0C0 } /* Name.Decorator */ -.codehilite.coffee .ni { color: #DDD0C0 } /* Name.Entity */ -.codehilite.coffee .ne { color: #877575 } /* Name.Exception */ -.codehilite.coffee .nf { color: #FDD0C0 } /* Name.Function */ -.codehilite.coffee .nl { color: #DDD0C0 } /* Name.Label */ -.codehilite.coffee .nn { color: #DDD0C0 } /* Name.Namespace */ -.codehilite.coffee .nx { color: #DDD0C0 } /* Name.Other */ -.codehilite.coffee .py { color: #DFAF87 } /* Name.Property */ -.codehilite.coffee .nt { color: #87AFAF } /* Name.Tag */ -.codehilite.coffee .nv { color: #DDD0C0 } /* Name.Variable */ -.codehilite.coffee .ow { color: #878787 } /* Operator.Word */ -.codehilite.coffee .pm { color: #DDD0C0 } /* Punctuation.Marker */ -.codehilite.coffee .w { color: #DDD0C0 } /* Text.Whitespace */ -.codehilite.coffee .mb { color: #87AFAF } /* Literal.Number.Bin */ -.codehilite.coffee .mf { color: #87AFAF } /* Literal.Number.Float */ -.codehilite.coffee .mh { color: #87AFAF } /* Literal.Number.Hex */ -.codehilite.coffee .mi { color: #87AFAF } /* Literal.Number.Integer */ -.codehilite.coffee .mo { color: #87AFAF } /* Literal.Number.Oct */ -.codehilite.coffee .sa { color: #DFAF87 } /* Literal.String.Affix */ -.codehilite.coffee .sb { color: #C9B98F } /* Literal.String.Backtick */ -.codehilite.coffee .sc { color: #C9B98F } /* Literal.String.Char */ -.codehilite.coffee .dl { color: #C9B98F } /* Literal.String.Delimiter */ -.codehilite.coffee .sd { color: #878787 } /* Literal.String.Doc */ -.codehilite.coffee .s2 { color: #C9B98F } /* Literal.String.Double */ -.codehilite.coffee .se { color: #AF5F5F } /* Literal.String.Escape */ -.codehilite.coffee .sh { color: #C9B98F } /* Literal.String.Heredoc */ -.codehilite.coffee .si { color: #AF5F5F } /* Literal.String.Interpol */ -.codehilite.coffee .sx { color: #FDD0C0 } /* Literal.String.Other */ -.codehilite.coffee .sr { color: #AF5F5F } /* Literal.String.Regex */ -.codehilite.coffee .s1 { color: #C9B98F } /* Literal.String.Single */ -.codehilite.coffee .ss { color: #AF5F5F } /* Literal.String.Symbol */ -.codehilite.coffee .bp { color: #87AFAF } /* Name.Builtin.Pseudo */ -.codehilite.coffee .fm { color: #FDD0C0 } /* Name.Function.Magic */ -.codehilite.coffee .vc { color: #DDD0C0 } /* Name.Variable.Class */ -.codehilite.coffee .vg { color: #DDD0C0 } /* Name.Variable.Global */ -.codehilite.coffee .vi { color: #DDD0C0 } /* Name.Variable.Instance */ -.codehilite.coffee .vm { color: #DDD0C0 } /* Name.Variable.Magic */ -.codehilite.coffee .il { color: #87AFAF } /* Literal.Number.Integer.Long */ -.codehilite.colorful .hll { background-color: #ffffcc } -.codehilite.colorful { background: #ffffff; } -.codehilite.colorful .c { color: #888 } /* Comment */ -.codehilite.colorful .err { color: #F00; background-color: #FAA } /* Error */ -.codehilite.colorful .k { color: #080; font-weight: bold } /* Keyword */ -.codehilite.colorful .o { color: #333 } /* Operator */ -.codehilite.colorful .ch { color: #888 } /* Comment.Hashbang */ -.codehilite.colorful .cm { color: #888 } /* Comment.Multiline */ -.codehilite.colorful .cp { color: #579 } /* Comment.Preproc */ -.codehilite.colorful .cpf { color: #888 } /* Comment.PreprocFile */ -.codehilite.colorful .c1 { color: #888 } /* Comment.Single */ -.codehilite.colorful .cs { color: #C00; font-weight: bold } /* Comment.Special */ -.codehilite.colorful .gd { color: #A00000 } /* Generic.Deleted */ -.codehilite.colorful .ge { font-style: italic } /* Generic.Emph */ -.codehilite.colorful .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite.colorful .gr { color: #F00 } /* Generic.Error */ -.codehilite.colorful .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.codehilite.colorful .gi { color: #00A000 } /* Generic.Inserted */ -.codehilite.colorful .go { color: #888 } /* Generic.Output */ -.codehilite.colorful .gp { color: #C65D09; font-weight: bold } /* Generic.Prompt */ -.codehilite.colorful .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.colorful .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.codehilite.colorful .gt { color: #04D } /* Generic.Traceback */ -.codehilite.colorful .kc { color: #080; font-weight: bold } /* Keyword.Constant */ -.codehilite.colorful .kd { color: #080; font-weight: bold } /* Keyword.Declaration */ -.codehilite.colorful .kn { color: #080; font-weight: bold } /* Keyword.Namespace */ -.codehilite.colorful .kp { color: #038; font-weight: bold } /* Keyword.Pseudo */ -.codehilite.colorful .kr { color: #080; font-weight: bold } /* Keyword.Reserved */ -.codehilite.colorful .kt { color: #339; font-weight: bold } /* Keyword.Type */ -.codehilite.colorful .m { color: #60E; font-weight: bold } /* Literal.Number */ -.codehilite.colorful .s { background-color: #FFF0F0 } /* Literal.String */ -.codehilite.colorful .na { color: #00C } /* Name.Attribute */ -.codehilite.colorful .nb { color: #007020 } /* Name.Builtin */ -.codehilite.colorful .nc { color: #B06; font-weight: bold } /* Name.Class */ -.codehilite.colorful .no { color: #036; font-weight: bold } /* Name.Constant */ -.codehilite.colorful .nd { color: #555; font-weight: bold } /* Name.Decorator */ -.codehilite.colorful .ni { color: #800; font-weight: bold } /* Name.Entity */ -.codehilite.colorful .ne { color: #F00; font-weight: bold } /* Name.Exception */ -.codehilite.colorful .nf { color: #06B; font-weight: bold } /* Name.Function */ -.codehilite.colorful .nl { color: #970; font-weight: bold } /* Name.Label */ -.codehilite.colorful .nn { color: #0E84B5; font-weight: bold } /* Name.Namespace */ -.codehilite.colorful .nt { color: #070 } /* Name.Tag */ -.codehilite.colorful .nv { color: #963 } /* Name.Variable */ -.codehilite.colorful .ow { color: #000; font-weight: bold } /* Operator.Word */ -.codehilite.colorful .w { color: #BBB } /* Text.Whitespace */ -.codehilite.colorful .mb { color: #60E; font-weight: bold } /* Literal.Number.Bin */ -.codehilite.colorful .mf { color: #60E; font-weight: bold } /* Literal.Number.Float */ -.codehilite.colorful .mh { color: #058; font-weight: bold } /* Literal.Number.Hex */ -.codehilite.colorful .mi { color: #00D; font-weight: bold } /* Literal.Number.Integer */ -.codehilite.colorful .mo { color: #40E; font-weight: bold } /* Literal.Number.Oct */ -.codehilite.colorful .sa { background-color: #FFF0F0 } /* Literal.String.Affix */ -.codehilite.colorful .sb { background-color: #FFF0F0 } /* Literal.String.Backtick */ -.codehilite.colorful .sc { color: #04D } /* Literal.String.Char */ -.codehilite.colorful .dl { background-color: #FFF0F0 } /* Literal.String.Delimiter */ -.codehilite.colorful .sd { color: #D42 } /* Literal.String.Doc */ -.codehilite.colorful .s2 { background-color: #FFF0F0 } /* Literal.String.Double */ -.codehilite.colorful .se { color: #666; font-weight: bold; background-color: #FFF0F0 } /* Literal.String.Escape */ -.codehilite.colorful .sh { background-color: #FFF0F0 } /* Literal.String.Heredoc */ -.codehilite.colorful .si { background-color: #EEE } /* Literal.String.Interpol */ -.codehilite.colorful .sx { color: #D20; background-color: #FFF0F0 } /* Literal.String.Other */ -.codehilite.colorful .sr { color: #000; background-color: #FFF0FF } /* Literal.String.Regex */ -.codehilite.colorful .s1 { background-color: #FFF0F0 } /* Literal.String.Single */ -.codehilite.colorful .ss { color: #A60 } /* Literal.String.Symbol */ -.codehilite.colorful .bp { color: #007020 } /* Name.Builtin.Pseudo */ -.codehilite.colorful .fm { color: #06B; font-weight: bold } /* Name.Function.Magic */ -.codehilite.colorful .vc { color: #369 } /* Name.Variable.Class */ -.codehilite.colorful .vg { color: #D70; font-weight: bold } /* Name.Variable.Global */ -.codehilite.colorful .vi { color: #33B } /* Name.Variable.Instance */ -.codehilite.colorful .vm { color: #963 } /* Name.Variable.Magic */ -.codehilite.colorful .il { color: #00D; font-weight: bold } /* Literal.Number.Integer.Long */ -.codehilite.default .hll { background-color: #ffffcc } -.codehilite.default { background: #f8f8f8; } -.codehilite.default .c { color: #3D7B7B; font-style: italic } /* Comment */ -.codehilite.default .err { border: 1px solid #F00 } /* Error */ -.codehilite.default .k { color: #008000; font-weight: bold } /* Keyword */ -.codehilite.default .o { color: #666 } /* Operator */ -.codehilite.default .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */ -.codehilite.default .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */ -.codehilite.default .cp { color: #9C6500 } /* Comment.Preproc */ -.codehilite.default .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */ -.codehilite.default .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */ -.codehilite.default .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */ -.codehilite.default .gd { color: #A00000 } /* Generic.Deleted */ -.codehilite.default .ge { font-style: italic } /* Generic.Emph */ -.codehilite.default .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite.default .gr { color: #E40000 } /* Generic.Error */ -.codehilite.default .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.codehilite.default .gi { color: #008400 } /* Generic.Inserted */ -.codehilite.default .go { color: #717171 } /* Generic.Output */ -.codehilite.default .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ -.codehilite.default .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.default .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.codehilite.default .gt { color: #04D } /* Generic.Traceback */ -.codehilite.default .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ -.codehilite.default .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ -.codehilite.default .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ -.codehilite.default .kp { color: #008000 } /* Keyword.Pseudo */ -.codehilite.default .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ -.codehilite.default .kt { color: #B00040 } /* Keyword.Type */ -.codehilite.default .m { color: #666 } /* Literal.Number */ -.codehilite.default .s { color: #BA2121 } /* Literal.String */ -.codehilite.default .na { color: #687822 } /* Name.Attribute */ -.codehilite.default .nb { color: #008000 } /* Name.Builtin */ -.codehilite.default .nc { color: #00F; font-weight: bold } /* Name.Class */ -.codehilite.default .no { color: #800 } /* Name.Constant */ -.codehilite.default .nd { color: #A2F } /* Name.Decorator */ -.codehilite.default .ni { color: #717171; font-weight: bold } /* Name.Entity */ -.codehilite.default .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */ -.codehilite.default .nf { color: #00F } /* Name.Function */ -.codehilite.default .nl { color: #767600 } /* Name.Label */ -.codehilite.default .nn { color: #00F; font-weight: bold } /* Name.Namespace */ -.codehilite.default .nt { color: #008000; font-weight: bold } /* Name.Tag */ -.codehilite.default .nv { color: #19177C } /* Name.Variable */ -.codehilite.default .ow { color: #A2F; font-weight: bold } /* Operator.Word */ -.codehilite.default .w { color: #BBB } /* Text.Whitespace */ -.codehilite.default .mb { color: #666 } /* Literal.Number.Bin */ -.codehilite.default .mf { color: #666 } /* Literal.Number.Float */ -.codehilite.default .mh { color: #666 } /* Literal.Number.Hex */ -.codehilite.default .mi { color: #666 } /* Literal.Number.Integer */ -.codehilite.default .mo { color: #666 } /* Literal.Number.Oct */ -.codehilite.default .sa { color: #BA2121 } /* Literal.String.Affix */ -.codehilite.default .sb { color: #BA2121 } /* Literal.String.Backtick */ -.codehilite.default .sc { color: #BA2121 } /* Literal.String.Char */ -.codehilite.default .dl { color: #BA2121 } /* Literal.String.Delimiter */ -.codehilite.default .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ -.codehilite.default .s2 { color: #BA2121 } /* Literal.String.Double */ -.codehilite.default .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */ -.codehilite.default .sh { color: #BA2121 } /* Literal.String.Heredoc */ -.codehilite.default .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */ -.codehilite.default .sx { color: #008000 } /* Literal.String.Other */ -.codehilite.default .sr { color: #A45A77 } /* Literal.String.Regex */ -.codehilite.default .s1 { color: #BA2121 } /* Literal.String.Single */ -.codehilite.default .ss { color: #19177C } /* Literal.String.Symbol */ -.codehilite.default .bp { color: #008000 } /* Name.Builtin.Pseudo */ -.codehilite.default .fm { color: #00F } /* Name.Function.Magic */ -.codehilite.default .vc { color: #19177C } /* Name.Variable.Class */ -.codehilite.default .vg { color: #19177C } /* Name.Variable.Global */ -.codehilite.default .vi { color: #19177C } /* Name.Variable.Instance */ -.codehilite.default .vm { color: #19177C } /* Name.Variable.Magic */ -.codehilite.default .il { color: #666 } /* Literal.Number.Integer.Long */ -.codehilite.dracula .hll { background-color: #44475a } -.codehilite.dracula { background: #282a36; color: #F8F8F2 } -.codehilite.dracula .c { color: #6272A4 } /* Comment */ -.codehilite.dracula .err { color: #F8F8F2 } /* Error */ -.codehilite.dracula .g { color: #F8F8F2 } /* Generic */ -.codehilite.dracula .k { color: #FF79C6 } /* Keyword */ -.codehilite.dracula .l { color: #F8F8F2 } /* Literal */ -.codehilite.dracula .n { color: #F8F8F2 } /* Name */ -.codehilite.dracula .o { color: #FF79C6 } /* Operator */ -.codehilite.dracula .x { color: #F8F8F2 } /* Other */ -.codehilite.dracula .p { color: #F8F8F2 } /* Punctuation */ -.codehilite.dracula .ch { color: #6272A4 } /* Comment.Hashbang */ -.codehilite.dracula .cm { color: #6272A4 } /* Comment.Multiline */ -.codehilite.dracula .cp { color: #FF79C6 } /* Comment.Preproc */ -.codehilite.dracula .cpf { color: #6272A4 } /* Comment.PreprocFile */ -.codehilite.dracula .c1 { color: #6272A4 } /* Comment.Single */ -.codehilite.dracula .cs { color: #6272A4 } /* Comment.Special */ -.codehilite.dracula .gd { color: #8B080B } /* Generic.Deleted */ -.codehilite.dracula .ge { color: #F8F8F2; text-decoration: underline } /* Generic.Emph */ -.codehilite.dracula .ges { color: #F8F8F2; text-decoration: underline } /* Generic.EmphStrong */ -.codehilite.dracula .gr { color: #F8F8F2 } /* Generic.Error */ -.codehilite.dracula .gh { color: #F8F8F2; font-weight: bold } /* Generic.Heading */ -.codehilite.dracula .gi { color: #F8F8F2; font-weight: bold } /* Generic.Inserted */ -.codehilite.dracula .go { color: #44475A } /* Generic.Output */ -.codehilite.dracula .gp { color: #F8F8F2 } /* Generic.Prompt */ -.codehilite.dracula .gs { color: #F8F8F2 } /* Generic.Strong */ -.codehilite.dracula .gu { color: #F8F8F2; font-weight: bold } /* Generic.Subheading */ -.codehilite.dracula .gt { color: #F8F8F2 } /* Generic.Traceback */ -.codehilite.dracula .kc { color: #FF79C6 } /* Keyword.Constant */ -.codehilite.dracula .kd { color: #8BE9FD; font-style: italic } /* Keyword.Declaration */ -.codehilite.dracula .kn { color: #FF79C6 } /* Keyword.Namespace */ -.codehilite.dracula .kp { color: #FF79C6 } /* Keyword.Pseudo */ -.codehilite.dracula .kr { color: #FF79C6 } /* Keyword.Reserved */ -.codehilite.dracula .kt { color: #8BE9FD } /* Keyword.Type */ -.codehilite.dracula .ld { color: #F8F8F2 } /* Literal.Date */ -.codehilite.dracula .m { color: #FFB86C } /* Literal.Number */ -.codehilite.dracula .s { color: #BD93F9 } /* Literal.String */ -.codehilite.dracula .na { color: #50FA7B } /* Name.Attribute */ -.codehilite.dracula .nb { color: #8BE9FD; font-style: italic } /* Name.Builtin */ -.codehilite.dracula .nc { color: #50FA7B } /* Name.Class */ -.codehilite.dracula .no { color: #F8F8F2 } /* Name.Constant */ -.codehilite.dracula .nd { color: #F8F8F2 } /* Name.Decorator */ -.codehilite.dracula .ni { color: #F8F8F2 } /* Name.Entity */ -.codehilite.dracula .ne { color: #F8F8F2 } /* Name.Exception */ -.codehilite.dracula .nf { color: #50FA7B } /* Name.Function */ -.codehilite.dracula .nl { color: #8BE9FD; font-style: italic } /* Name.Label */ -.codehilite.dracula .nn { color: #F8F8F2 } /* Name.Namespace */ -.codehilite.dracula .nx { color: #F8F8F2 } /* Name.Other */ -.codehilite.dracula .py { color: #F8F8F2 } /* Name.Property */ -.codehilite.dracula .nt { color: #FF79C6 } /* Name.Tag */ -.codehilite.dracula .nv { color: #8BE9FD; font-style: italic } /* Name.Variable */ -.codehilite.dracula .ow { color: #FF79C6 } /* Operator.Word */ -.codehilite.dracula .pm { color: #F8F8F2 } /* Punctuation.Marker */ -.codehilite.dracula .w { color: #F8F8F2 } /* Text.Whitespace */ -.codehilite.dracula .mb { color: #FFB86C } /* Literal.Number.Bin */ -.codehilite.dracula .mf { color: #FFB86C } /* Literal.Number.Float */ -.codehilite.dracula .mh { color: #FFB86C } /* Literal.Number.Hex */ -.codehilite.dracula .mi { color: #FFB86C } /* Literal.Number.Integer */ -.codehilite.dracula .mo { color: #FFB86C } /* Literal.Number.Oct */ -.codehilite.dracula .sa { color: #BD93F9 } /* Literal.String.Affix */ -.codehilite.dracula .sb { color: #BD93F9 } /* Literal.String.Backtick */ -.codehilite.dracula .sc { color: #BD93F9 } /* Literal.String.Char */ -.codehilite.dracula .dl { color: #BD93F9 } /* Literal.String.Delimiter */ -.codehilite.dracula .sd { color: #BD93F9 } /* Literal.String.Doc */ -.codehilite.dracula .s2 { color: #BD93F9 } /* Literal.String.Double */ -.codehilite.dracula .se { color: #BD93F9 } /* Literal.String.Escape */ -.codehilite.dracula .sh { color: #BD93F9 } /* Literal.String.Heredoc */ -.codehilite.dracula .si { color: #BD93F9 } /* Literal.String.Interpol */ -.codehilite.dracula .sx { color: #BD93F9 } /* Literal.String.Other */ -.codehilite.dracula .sr { color: #BD93F9 } /* Literal.String.Regex */ -.codehilite.dracula .s1 { color: #BD93F9 } /* Literal.String.Single */ -.codehilite.dracula .ss { color: #BD93F9 } /* Literal.String.Symbol */ -.codehilite.dracula .bp { color: #F8F8F2; font-style: italic } /* Name.Builtin.Pseudo */ -.codehilite.dracula .fm { color: #50FA7B } /* Name.Function.Magic */ -.codehilite.dracula .vc { color: #8BE9FD; font-style: italic } /* Name.Variable.Class */ -.codehilite.dracula .vg { color: #8BE9FD; font-style: italic } /* Name.Variable.Global */ -.codehilite.dracula .vi { color: #8BE9FD; font-style: italic } /* Name.Variable.Instance */ -.codehilite.dracula .vm { color: #8BE9FD; font-style: italic } /* Name.Variable.Magic */ -.codehilite.dracula .il { color: #FFB86C } /* Literal.Number.Integer.Long */ -.codehilite.emacs .hll { background-color: #ffffcc } -.codehilite.emacs { background: #f8f8f8; } -.codehilite.emacs .c { color: #080; font-style: italic } /* Comment */ -.codehilite.emacs .err { border: 1px solid #F00 } /* Error */ -.codehilite.emacs .k { color: #A2F; font-weight: bold } /* Keyword */ -.codehilite.emacs .o { color: #666 } /* Operator */ -.codehilite.emacs .ch { color: #080; font-style: italic } /* Comment.Hashbang */ -.codehilite.emacs .cm { color: #080; font-style: italic } /* Comment.Multiline */ -.codehilite.emacs .cp { color: #080 } /* Comment.Preproc */ -.codehilite.emacs .cpf { color: #080; font-style: italic } /* Comment.PreprocFile */ -.codehilite.emacs .c1 { color: #080; font-style: italic } /* Comment.Single */ -.codehilite.emacs .cs { color: #080; font-weight: bold } /* Comment.Special */ -.codehilite.emacs .gd { color: #A00000 } /* Generic.Deleted */ -.codehilite.emacs .ge { font-style: italic } /* Generic.Emph */ -.codehilite.emacs .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite.emacs .gr { color: #F00 } /* Generic.Error */ -.codehilite.emacs .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.codehilite.emacs .gi { color: #00A000 } /* Generic.Inserted */ -.codehilite.emacs .go { color: #888 } /* Generic.Output */ -.codehilite.emacs .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ -.codehilite.emacs .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.emacs .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.codehilite.emacs .gt { color: #04D } /* Generic.Traceback */ -.codehilite.emacs .kc { color: #A2F; font-weight: bold } /* Keyword.Constant */ -.codehilite.emacs .kd { color: #A2F; font-weight: bold } /* Keyword.Declaration */ -.codehilite.emacs .kn { color: #A2F; font-weight: bold } /* Keyword.Namespace */ -.codehilite.emacs .kp { color: #A2F } /* Keyword.Pseudo */ -.codehilite.emacs .kr { color: #A2F; font-weight: bold } /* Keyword.Reserved */ -.codehilite.emacs .kt { color: #0B0; font-weight: bold } /* Keyword.Type */ -.codehilite.emacs .m { color: #666 } /* Literal.Number */ -.codehilite.emacs .s { color: #B44 } /* Literal.String */ -.codehilite.emacs .na { color: #B44 } /* Name.Attribute */ -.codehilite.emacs .nb { color: #A2F } /* Name.Builtin */ -.codehilite.emacs .nc { color: #00F } /* Name.Class */ -.codehilite.emacs .no { color: #800 } /* Name.Constant */ -.codehilite.emacs .nd { color: #A2F } /* Name.Decorator */ -.codehilite.emacs .ni { color: #999; font-weight: bold } /* Name.Entity */ -.codehilite.emacs .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ -.codehilite.emacs .nf { color: #00A000 } /* Name.Function */ -.codehilite.emacs .nl { color: #A0A000 } /* Name.Label */ -.codehilite.emacs .nn { color: #00F; font-weight: bold } /* Name.Namespace */ -.codehilite.emacs .nt { color: #008000; font-weight: bold } /* Name.Tag */ -.codehilite.emacs .nv { color: #B8860B } /* Name.Variable */ -.codehilite.emacs .ow { color: #A2F; font-weight: bold } /* Operator.Word */ -.codehilite.emacs .w { color: #BBB } /* Text.Whitespace */ -.codehilite.emacs .mb { color: #666 } /* Literal.Number.Bin */ -.codehilite.emacs .mf { color: #666 } /* Literal.Number.Float */ -.codehilite.emacs .mh { color: #666 } /* Literal.Number.Hex */ -.codehilite.emacs .mi { color: #666 } /* Literal.Number.Integer */ -.codehilite.emacs .mo { color: #666 } /* Literal.Number.Oct */ -.codehilite.emacs .sa { color: #B44 } /* Literal.String.Affix */ -.codehilite.emacs .sb { color: #B44 } /* Literal.String.Backtick */ -.codehilite.emacs .sc { color: #B44 } /* Literal.String.Char */ -.codehilite.emacs .dl { color: #B44 } /* Literal.String.Delimiter */ -.codehilite.emacs .sd { color: #B44; font-style: italic } /* Literal.String.Doc */ -.codehilite.emacs .s2 { color: #B44 } /* Literal.String.Double */ -.codehilite.emacs .se { color: #B62; font-weight: bold } /* Literal.String.Escape */ -.codehilite.emacs .sh { color: #B44 } /* Literal.String.Heredoc */ -.codehilite.emacs .si { color: #B68; font-weight: bold } /* Literal.String.Interpol */ -.codehilite.emacs .sx { color: #008000 } /* Literal.String.Other */ -.codehilite.emacs .sr { color: #B68 } /* Literal.String.Regex */ -.codehilite.emacs .s1 { color: #B44 } /* Literal.String.Single */ -.codehilite.emacs .ss { color: #B8860B } /* Literal.String.Symbol */ -.codehilite.emacs .bp { color: #A2F } /* Name.Builtin.Pseudo */ -.codehilite.emacs .fm { color: #00A000 } /* Name.Function.Magic */ -.codehilite.emacs .vc { color: #B8860B } /* Name.Variable.Class */ -.codehilite.emacs .vg { color: #B8860B } /* Name.Variable.Global */ -.codehilite.emacs .vi { color: #B8860B } /* Name.Variable.Instance */ -.codehilite.emacs .vm { color: #B8860B } /* Name.Variable.Magic */ -.codehilite.emacs .il { color: #666 } /* Literal.Number.Integer.Long */ -.codehilite.friendly_grayscale .hll { background-color: #ffffcc } -.codehilite.friendly_grayscale { background: #f0f0f0; } -.codehilite.friendly_grayscale .c { color: #959595; font-style: italic } /* Comment */ -.codehilite.friendly_grayscale .err { border: 1px solid #898989 } /* Error */ -.codehilite.friendly_grayscale .k { color: #575757; font-weight: bold } /* Keyword */ -.codehilite.friendly_grayscale .o { color: #666 } /* Operator */ -.codehilite.friendly_grayscale .ch { color: #959595; font-style: italic } /* Comment.Hashbang */ -.codehilite.friendly_grayscale .cm { color: #959595; font-style: italic } /* Comment.Multiline */ -.codehilite.friendly_grayscale .cp { color: #575757 } /* Comment.Preproc */ -.codehilite.friendly_grayscale .cpf { color: #959595; font-style: italic } /* Comment.PreprocFile */ -.codehilite.friendly_grayscale .c1 { color: #959595; font-style: italic } /* Comment.Single */ -.codehilite.friendly_grayscale .cs { color: #959595; background-color: #F4F4F4 } /* Comment.Special */ -.codehilite.friendly_grayscale .gd { color: #545454 } /* Generic.Deleted */ -.codehilite.friendly_grayscale .ge { font-style: italic } /* Generic.Emph */ -.codehilite.friendly_grayscale .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite.friendly_grayscale .gr { color: #898989 } /* Generic.Error */ -.codehilite.friendly_grayscale .gh { color: #373737; font-weight: bold } /* Generic.Heading */ -.codehilite.friendly_grayscale .gi { color: #7D7D7D } /* Generic.Inserted */ -.codehilite.friendly_grayscale .go { color: #888 } /* Generic.Output */ -.codehilite.friendly_grayscale .gp { color: #7E7E7E; font-weight: bold } /* Generic.Prompt */ -.codehilite.friendly_grayscale .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.friendly_grayscale .gu { color: #5A5A5A; font-weight: bold } /* Generic.Subheading */ -.codehilite.friendly_grayscale .gt { color: #6D6D6D } /* Generic.Traceback */ -.codehilite.friendly_grayscale .kc { color: #575757; font-weight: bold } /* Keyword.Constant */ -.codehilite.friendly_grayscale .kd { color: #575757; font-weight: bold } /* Keyword.Declaration */ -.codehilite.friendly_grayscale .kn { color: #575757; font-weight: bold } /* Keyword.Namespace */ -.codehilite.friendly_grayscale .kp { color: #575757 } /* Keyword.Pseudo */ -.codehilite.friendly_grayscale .kr { color: #575757; font-weight: bold } /* Keyword.Reserved */ -.codehilite.friendly_grayscale .kt { color: #4F4F4F } /* Keyword.Type */ -.codehilite.friendly_grayscale .m { color: #888 } /* Literal.Number */ -.codehilite.friendly_grayscale .s { color: #717171 } /* Literal.String */ -.codehilite.friendly_grayscale .na { color: #707070 } /* Name.Attribute */ -.codehilite.friendly_grayscale .nb { color: #575757 } /* Name.Builtin */ -.codehilite.friendly_grayscale .nc { color: #7E7E7E; font-weight: bold } /* Name.Class */ -.codehilite.friendly_grayscale .no { color: #A5A5A5 } /* Name.Constant */ -.codehilite.friendly_grayscale .nd { color: #555; font-weight: bold } /* Name.Decorator */ -.codehilite.friendly_grayscale .ni { color: #848484; font-weight: bold } /* Name.Entity */ -.codehilite.friendly_grayscale .ne { color: #575757 } /* Name.Exception */ -.codehilite.friendly_grayscale .nf { color: #3F3F3F } /* Name.Function */ -.codehilite.friendly_grayscale .nl { color: #363636; font-weight: bold } /* Name.Label */ -.codehilite.friendly_grayscale .nn { color: #7E7E7E; font-weight: bold } /* Name.Namespace */ -.codehilite.friendly_grayscale .nt { color: #3B3B3B; font-weight: bold } /* Name.Tag */ -.codehilite.friendly_grayscale .nv { color: #9A9A9A } /* Name.Variable */ -.codehilite.friendly_grayscale .ow { color: #575757; font-weight: bold } /* Operator.Word */ -.codehilite.friendly_grayscale .w { color: #BBB } /* Text.Whitespace */ -.codehilite.friendly_grayscale .mb { color: #888 } /* Literal.Number.Bin */ -.codehilite.friendly_grayscale .mf { color: #888 } /* Literal.Number.Float */ -.codehilite.friendly_grayscale .mh { color: #888 } /* Literal.Number.Hex */ -.codehilite.friendly_grayscale .mi { color: #888 } /* Literal.Number.Integer */ -.codehilite.friendly_grayscale .mo { color: #888 } /* Literal.Number.Oct */ -.codehilite.friendly_grayscale .sa { color: #717171 } /* Literal.String.Affix */ -.codehilite.friendly_grayscale .sb { color: #717171 } /* Literal.String.Backtick */ -.codehilite.friendly_grayscale .sc { color: #717171 } /* Literal.String.Char */ -.codehilite.friendly_grayscale .dl { color: #717171 } /* Literal.String.Delimiter */ -.codehilite.friendly_grayscale .sd { color: #717171; font-style: italic } /* Literal.String.Doc */ -.codehilite.friendly_grayscale .s2 { color: #717171 } /* Literal.String.Double */ -.codehilite.friendly_grayscale .se { color: #717171; font-weight: bold } /* Literal.String.Escape */ -.codehilite.friendly_grayscale .sh { color: #717171 } /* Literal.String.Heredoc */ -.codehilite.friendly_grayscale .si { color: #9F9F9F; font-style: italic } /* Literal.String.Interpol */ -.codehilite.friendly_grayscale .sx { color: #7E7E7E } /* Literal.String.Other */ -.codehilite.friendly_grayscale .sr { color: #575757 } /* Literal.String.Regex */ -.codehilite.friendly_grayscale .s1 { color: #717171 } /* Literal.String.Single */ -.codehilite.friendly_grayscale .ss { color: #676767 } /* Literal.String.Symbol */ -.codehilite.friendly_grayscale .bp { color: #575757 } /* Name.Builtin.Pseudo */ -.codehilite.friendly_grayscale .fm { color: #3F3F3F } /* Name.Function.Magic */ -.codehilite.friendly_grayscale .vc { color: #9A9A9A } /* Name.Variable.Class */ -.codehilite.friendly_grayscale .vg { color: #9A9A9A } /* Name.Variable.Global */ -.codehilite.friendly_grayscale .vi { color: #9A9A9A } /* Name.Variable.Instance */ -.codehilite.friendly_grayscale .vm { color: #9A9A9A } /* Name.Variable.Magic */ -.codehilite.friendly_grayscale .il { color: #888 } /* Literal.Number.Integer.Long */ -.codehilite.friendly .hll { background-color: #ffffcc } -.codehilite.friendly { background: #f0f0f0; } -.codehilite.friendly .c { color: #60A0B0; font-style: italic } /* Comment */ -.codehilite.friendly .err { border: 1px solid #F00 } /* Error */ -.codehilite.friendly .k { color: #007020; font-weight: bold } /* Keyword */ -.codehilite.friendly .o { color: #666 } /* Operator */ -.codehilite.friendly .ch { color: #60A0B0; font-style: italic } /* Comment.Hashbang */ -.codehilite.friendly .cm { color: #60A0B0; font-style: italic } /* Comment.Multiline */ -.codehilite.friendly .cp { color: #007020 } /* Comment.Preproc */ -.codehilite.friendly .cpf { color: #60A0B0; font-style: italic } /* Comment.PreprocFile */ -.codehilite.friendly .c1 { color: #60A0B0; font-style: italic } /* Comment.Single */ -.codehilite.friendly .cs { color: #60A0B0; background-color: #FFF0F0 } /* Comment.Special */ -.codehilite.friendly .gd { color: #A00000 } /* Generic.Deleted */ -.codehilite.friendly .ge { font-style: italic } /* Generic.Emph */ -.codehilite.friendly .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite.friendly .gr { color: #F00 } /* Generic.Error */ -.codehilite.friendly .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.codehilite.friendly .gi { color: #00A000 } /* Generic.Inserted */ -.codehilite.friendly .go { color: #888 } /* Generic.Output */ -.codehilite.friendly .gp { color: #C65D09; font-weight: bold } /* Generic.Prompt */ -.codehilite.friendly .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.friendly .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.codehilite.friendly .gt { color: #04D } /* Generic.Traceback */ -.codehilite.friendly .kc { color: #007020; font-weight: bold } /* Keyword.Constant */ -.codehilite.friendly .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */ -.codehilite.friendly .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */ -.codehilite.friendly .kp { color: #007020 } /* Keyword.Pseudo */ -.codehilite.friendly .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */ -.codehilite.friendly .kt { color: #902000 } /* Keyword.Type */ -.codehilite.friendly .m { color: #40A070 } /* Literal.Number */ -.codehilite.friendly .s { color: #4070A0 } /* Literal.String */ -.codehilite.friendly .na { color: #4070A0 } /* Name.Attribute */ -.codehilite.friendly .nb { color: #007020 } /* Name.Builtin */ -.codehilite.friendly .nc { color: #0E84B5; font-weight: bold } /* Name.Class */ -.codehilite.friendly .no { color: #60ADD5 } /* Name.Constant */ -.codehilite.friendly .nd { color: #555; font-weight: bold } /* Name.Decorator */ -.codehilite.friendly .ni { color: #D55537; font-weight: bold } /* Name.Entity */ -.codehilite.friendly .ne { color: #007020 } /* Name.Exception */ -.codehilite.friendly .nf { color: #06287E } /* Name.Function */ -.codehilite.friendly .nl { color: #002070; font-weight: bold } /* Name.Label */ -.codehilite.friendly .nn { color: #0E84B5; font-weight: bold } /* Name.Namespace */ -.codehilite.friendly .nt { color: #062873; font-weight: bold } /* Name.Tag */ -.codehilite.friendly .nv { color: #BB60D5 } /* Name.Variable */ -.codehilite.friendly .ow { color: #007020; font-weight: bold } /* Operator.Word */ -.codehilite.friendly .w { color: #BBB } /* Text.Whitespace */ -.codehilite.friendly .mb { color: #40A070 } /* Literal.Number.Bin */ -.codehilite.friendly .mf { color: #40A070 } /* Literal.Number.Float */ -.codehilite.friendly .mh { color: #40A070 } /* Literal.Number.Hex */ -.codehilite.friendly .mi { color: #40A070 } /* Literal.Number.Integer */ -.codehilite.friendly .mo { color: #40A070 } /* Literal.Number.Oct */ -.codehilite.friendly .sa { color: #4070A0 } /* Literal.String.Affix */ -.codehilite.friendly .sb { color: #4070A0 } /* Literal.String.Backtick */ -.codehilite.friendly .sc { color: #4070A0 } /* Literal.String.Char */ -.codehilite.friendly .dl { color: #4070A0 } /* Literal.String.Delimiter */ -.codehilite.friendly .sd { color: #4070A0; font-style: italic } /* Literal.String.Doc */ -.codehilite.friendly .s2 { color: #4070A0 } /* Literal.String.Double */ -.codehilite.friendly .se { color: #4070A0; font-weight: bold } /* Literal.String.Escape */ -.codehilite.friendly .sh { color: #4070A0 } /* Literal.String.Heredoc */ -.codehilite.friendly .si { color: #70A0D0; font-style: italic } /* Literal.String.Interpol */ -.codehilite.friendly .sx { color: #C65D09 } /* Literal.String.Other */ -.codehilite.friendly .sr { color: #235388 } /* Literal.String.Regex */ -.codehilite.friendly .s1 { color: #4070A0 } /* Literal.String.Single */ -.codehilite.friendly .ss { color: #517918 } /* Literal.String.Symbol */ -.codehilite.friendly .bp { color: #007020 } /* Name.Builtin.Pseudo */ -.codehilite.friendly .fm { color: #06287E } /* Name.Function.Magic */ -.codehilite.friendly .vc { color: #BB60D5 } /* Name.Variable.Class */ -.codehilite.friendly .vg { color: #BB60D5 } /* Name.Variable.Global */ -.codehilite.friendly .vi { color: #BB60D5 } /* Name.Variable.Instance */ -.codehilite.friendly .vm { color: #BB60D5 } /* Name.Variable.Magic */ -.codehilite.friendly .il { color: #40A070 } /* Literal.Number.Integer.Long */ -.codehilite.fruity .hll { background-color: #333333 } -.codehilite.fruity { background: #111111; color: #FFF } -.codehilite.fruity .c { color: #080; font-style: italic; background-color: #0F140F } /* Comment */ -.codehilite.fruity .err { color: #FFF } /* Error */ -.codehilite.fruity .esc { color: #FFF } /* Escape */ -.codehilite.fruity .g { color: #FFF } /* Generic */ -.codehilite.fruity .k { color: #FB660A; font-weight: bold } /* Keyword */ -.codehilite.fruity .l { color: #FFF } /* Literal */ -.codehilite.fruity .n { color: #FFF } /* Name */ -.codehilite.fruity .o { color: #FFF } /* Operator */ -.codehilite.fruity .x { color: #FFF } /* Other */ -.codehilite.fruity .p { color: #FFF } /* Punctuation */ -.codehilite.fruity .ch { color: #080; font-style: italic; background-color: #0F140F } /* Comment.Hashbang */ -.codehilite.fruity .cm { color: #080; font-style: italic; background-color: #0F140F } /* Comment.Multiline */ -.codehilite.fruity .cp { color: #FF0007; font-weight: bold; font-style: italic; background-color: #0F140F } /* Comment.Preproc */ -.codehilite.fruity .cpf { color: #080; font-style: italic; background-color: #0F140F } /* Comment.PreprocFile */ -.codehilite.fruity .c1 { color: #080; font-style: italic; background-color: #0F140F } /* Comment.Single */ -.codehilite.fruity .cs { color: #080; font-style: italic; background-color: #0F140F } /* Comment.Special */ -.codehilite.fruity .gd { color: #FFF } /* Generic.Deleted */ -.codehilite.fruity .ge { color: #FFF } /* Generic.Emph */ -.codehilite.fruity .ges { color: #FFF } /* Generic.EmphStrong */ -.codehilite.fruity .gr { color: #FFF } /* Generic.Error */ -.codehilite.fruity .gh { color: #FFF; font-weight: bold } /* Generic.Heading */ -.codehilite.fruity .gi { color: #FFF } /* Generic.Inserted */ -.codehilite.fruity .go { color: #444; background-color: #222 } /* Generic.Output */ -.codehilite.fruity .gp { color: #FFF } /* Generic.Prompt */ -.codehilite.fruity .gs { color: #FFF } /* Generic.Strong */ -.codehilite.fruity .gu { color: #FFF; font-weight: bold } /* Generic.Subheading */ -.codehilite.fruity .gt { color: #FFF } /* Generic.Traceback */ -.codehilite.fruity .kc { color: #FB660A; font-weight: bold } /* Keyword.Constant */ -.codehilite.fruity .kd { color: #FB660A; font-weight: bold } /* Keyword.Declaration */ -.codehilite.fruity .kn { color: #FB660A; font-weight: bold } /* Keyword.Namespace */ -.codehilite.fruity .kp { color: #FB660A } /* Keyword.Pseudo */ -.codehilite.fruity .kr { color: #FB660A; font-weight: bold } /* Keyword.Reserved */ -.codehilite.fruity .kt { color: #CDCAA9; font-weight: bold } /* Keyword.Type */ -.codehilite.fruity .ld { color: #FFF } /* Literal.Date */ -.codehilite.fruity .m { color: #0086F7; font-weight: bold } /* Literal.Number */ -.codehilite.fruity .s { color: #0086D2 } /* Literal.String */ -.codehilite.fruity .na { color: #FF0086; font-weight: bold } /* Name.Attribute */ -.codehilite.fruity .nb { color: #FFF } /* Name.Builtin */ -.codehilite.fruity .nc { color: #FFF } /* Name.Class */ -.codehilite.fruity .no { color: #0086D2 } /* Name.Constant */ -.codehilite.fruity .nd { color: #FFF } /* Name.Decorator */ -.codehilite.fruity .ni { color: #FFF } /* Name.Entity */ -.codehilite.fruity .ne { color: #FFF } /* Name.Exception */ -.codehilite.fruity .nf { color: #FF0086; font-weight: bold } /* Name.Function */ -.codehilite.fruity .nl { color: #FFF } /* Name.Label */ -.codehilite.fruity .nn { color: #FFF } /* Name.Namespace */ -.codehilite.fruity .nx { color: #FFF } /* Name.Other */ -.codehilite.fruity .py { color: #FFF } /* Name.Property */ -.codehilite.fruity .nt { color: #FB660A; font-weight: bold } /* Name.Tag */ -.codehilite.fruity .nv { color: #FB660A } /* Name.Variable */ -.codehilite.fruity .ow { color: #FFF } /* Operator.Word */ -.codehilite.fruity .pm { color: #FFF } /* Punctuation.Marker */ -.codehilite.fruity .w { color: #888 } /* Text.Whitespace */ -.codehilite.fruity .mb { color: #0086F7; font-weight: bold } /* Literal.Number.Bin */ -.codehilite.fruity .mf { color: #0086F7; font-weight: bold } /* Literal.Number.Float */ -.codehilite.fruity .mh { color: #0086F7; font-weight: bold } /* Literal.Number.Hex */ -.codehilite.fruity .mi { color: #0086F7; font-weight: bold } /* Literal.Number.Integer */ -.codehilite.fruity .mo { color: #0086F7; font-weight: bold } /* Literal.Number.Oct */ -.codehilite.fruity .sa { color: #0086D2 } /* Literal.String.Affix */ -.codehilite.fruity .sb { color: #0086D2 } /* Literal.String.Backtick */ -.codehilite.fruity .sc { color: #0086D2 } /* Literal.String.Char */ -.codehilite.fruity .dl { color: #0086D2 } /* Literal.String.Delimiter */ -.codehilite.fruity .sd { color: #0086D2 } /* Literal.String.Doc */ -.codehilite.fruity .s2 { color: #0086D2 } /* Literal.String.Double */ -.codehilite.fruity .se { color: #0086D2 } /* Literal.String.Escape */ -.codehilite.fruity .sh { color: #0086D2 } /* Literal.String.Heredoc */ -.codehilite.fruity .si { color: #0086D2 } /* Literal.String.Interpol */ -.codehilite.fruity .sx { color: #0086D2 } /* Literal.String.Other */ -.codehilite.fruity .sr { color: #0086D2 } /* Literal.String.Regex */ -.codehilite.fruity .s1 { color: #0086D2 } /* Literal.String.Single */ -.codehilite.fruity .ss { color: #0086D2 } /* Literal.String.Symbol */ -.codehilite.fruity .bp { color: #FFF } /* Name.Builtin.Pseudo */ -.codehilite.fruity .fm { color: #FF0086; font-weight: bold } /* Name.Function.Magic */ -.codehilite.fruity .vc { color: #FB660A } /* Name.Variable.Class */ -.codehilite.fruity .vg { color: #FB660A } /* Name.Variable.Global */ -.codehilite.fruity .vi { color: #FB660A } /* Name.Variable.Instance */ -.codehilite.fruity .vm { color: #FB660A } /* Name.Variable.Magic */ -.codehilite.fruity .il { color: #0086F7; font-weight: bold } /* Literal.Number.Integer.Long */ -.codehilite.github-dark .hll { background-color: #6e7681 } -.codehilite.github-dark { background: #0d1117; color: #E6EDF3 } -.codehilite.github-dark .c { color: #8B949E; font-style: italic } /* Comment */ -.codehilite.github-dark .err { color: #F85149 } /* Error */ -.codehilite.github-dark .esc { color: #E6EDF3 } /* Escape */ -.codehilite.github-dark .g { color: #E6EDF3 } /* Generic */ -.codehilite.github-dark .k { color: #FF7B72 } /* Keyword */ -.codehilite.github-dark .l { color: #A5D6FF } /* Literal */ -.codehilite.github-dark .n { color: #E6EDF3 } /* Name */ -.codehilite.github-dark .o { color: #FF7B72; font-weight: bold } /* Operator */ -.codehilite.github-dark .x { color: #E6EDF3 } /* Other */ -.codehilite.github-dark .p { color: #E6EDF3 } /* Punctuation */ -.codehilite.github-dark .ch { color: #8B949E; font-style: italic } /* Comment.Hashbang */ -.codehilite.github-dark .cm { color: #8B949E; font-style: italic } /* Comment.Multiline */ -.codehilite.github-dark .cp { color: #8B949E; font-weight: bold; font-style: italic } /* Comment.Preproc */ -.codehilite.github-dark .cpf { color: #8B949E; font-style: italic } /* Comment.PreprocFile */ -.codehilite.github-dark .c1 { color: #8B949E; font-style: italic } /* Comment.Single */ -.codehilite.github-dark .cs { color: #8B949E; font-weight: bold; font-style: italic } /* Comment.Special */ -.codehilite.github-dark .gd { color: #FFA198; background-color: #490202 } /* Generic.Deleted */ -.codehilite.github-dark .ge { color: #E6EDF3; font-style: italic } /* Generic.Emph */ -.codehilite.github-dark .ges { color: #E6EDF3; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite.github-dark .gr { color: #FFA198 } /* Generic.Error */ -.codehilite.github-dark .gh { color: #79C0FF; font-weight: bold } /* Generic.Heading */ -.codehilite.github-dark .gi { color: #56D364; background-color: #0F5323 } /* Generic.Inserted */ -.codehilite.github-dark .go { color: #8B949E } /* Generic.Output */ -.codehilite.github-dark .gp { color: #8B949E } /* Generic.Prompt */ -.codehilite.github-dark .gs { color: #E6EDF3; font-weight: bold } /* Generic.Strong */ -.codehilite.github-dark .gu { color: #79C0FF } /* Generic.Subheading */ -.codehilite.github-dark .gt { color: #FF7B72 } /* Generic.Traceback */ -.codehilite.github-dark .g-Underline { color: #E6EDF3; text-decoration: underline } /* Generic.Underline */ -.codehilite.github-dark .kc { color: #79C0FF } /* Keyword.Constant */ -.codehilite.github-dark .kd { color: #FF7B72 } /* Keyword.Declaration */ -.codehilite.github-dark .kn { color: #FF7B72 } /* Keyword.Namespace */ -.codehilite.github-dark .kp { color: #79C0FF } /* Keyword.Pseudo */ -.codehilite.github-dark .kr { color: #FF7B72 } /* Keyword.Reserved */ -.codehilite.github-dark .kt { color: #FF7B72 } /* Keyword.Type */ -.codehilite.github-dark .ld { color: #79C0FF } /* Literal.Date */ -.codehilite.github-dark .m { color: #A5D6FF } /* Literal.Number */ -.codehilite.github-dark .s { color: #A5D6FF } /* Literal.String */ -.codehilite.github-dark .na { color: #E6EDF3 } /* Name.Attribute */ -.codehilite.github-dark .nb { color: #E6EDF3 } /* Name.Builtin */ -.codehilite.github-dark .nc { color: #F0883E; font-weight: bold } /* Name.Class */ -.codehilite.github-dark .no { color: #79C0FF; font-weight: bold } /* Name.Constant */ -.codehilite.github-dark .nd { color: #D2A8FF; font-weight: bold } /* Name.Decorator */ -.codehilite.github-dark .ni { color: #FFA657 } /* Name.Entity */ -.codehilite.github-dark .ne { color: #F0883E; font-weight: bold } /* Name.Exception */ -.codehilite.github-dark .nf { color: #D2A8FF; font-weight: bold } /* Name.Function */ -.codehilite.github-dark .nl { color: #79C0FF; font-weight: bold } /* Name.Label */ -.codehilite.github-dark .nn { color: #FF7B72 } /* Name.Namespace */ -.codehilite.github-dark .nx { color: #E6EDF3 } /* Name.Other */ -.codehilite.github-dark .py { color: #79C0FF } /* Name.Property */ -.codehilite.github-dark .nt { color: #7EE787 } /* Name.Tag */ -.codehilite.github-dark .nv { color: #79C0FF } /* Name.Variable */ -.codehilite.github-dark .ow { color: #FF7B72; font-weight: bold } /* Operator.Word */ -.codehilite.github-dark .pm { color: #E6EDF3 } /* Punctuation.Marker */ -.codehilite.github-dark .w { color: #6E7681 } /* Text.Whitespace */ -.codehilite.github-dark .mb { color: #A5D6FF } /* Literal.Number.Bin */ -.codehilite.github-dark .mf { color: #A5D6FF } /* Literal.Number.Float */ -.codehilite.github-dark .mh { color: #A5D6FF } /* Literal.Number.Hex */ -.codehilite.github-dark .mi { color: #A5D6FF } /* Literal.Number.Integer */ -.codehilite.github-dark .mo { color: #A5D6FF } /* Literal.Number.Oct */ -.codehilite.github-dark .sa { color: #79C0FF } /* Literal.String.Affix */ -.codehilite.github-dark .sb { color: #A5D6FF } /* Literal.String.Backtick */ -.codehilite.github-dark .sc { color: #A5D6FF } /* Literal.String.Char */ -.codehilite.github-dark .dl { color: #79C0FF } /* Literal.String.Delimiter */ -.codehilite.github-dark .sd { color: #A5D6FF } /* Literal.String.Doc */ -.codehilite.github-dark .s2 { color: #A5D6FF } /* Literal.String.Double */ -.codehilite.github-dark .se { color: #79C0FF } /* Literal.String.Escape */ -.codehilite.github-dark .sh { color: #79C0FF } /* Literal.String.Heredoc */ -.codehilite.github-dark .si { color: #A5D6FF } /* Literal.String.Interpol */ -.codehilite.github-dark .sx { color: #A5D6FF } /* Literal.String.Other */ -.codehilite.github-dark .sr { color: #79C0FF } /* Literal.String.Regex */ -.codehilite.github-dark .s1 { color: #A5D6FF } /* Literal.String.Single */ -.codehilite.github-dark .ss { color: #A5D6FF } /* Literal.String.Symbol */ -.codehilite.github-dark .bp { color: #E6EDF3 } /* Name.Builtin.Pseudo */ -.codehilite.github-dark .fm { color: #D2A8FF; font-weight: bold } /* Name.Function.Magic */ -.codehilite.github-dark .vc { color: #79C0FF } /* Name.Variable.Class */ -.codehilite.github-dark .vg { color: #79C0FF } /* Name.Variable.Global */ -.codehilite.github-dark .vi { color: #79C0FF } /* Name.Variable.Instance */ -.codehilite.github-dark .vm { color: #79C0FF } /* Name.Variable.Magic */ -.codehilite.github-dark .il { color: #A5D6FF } /* Literal.Number.Integer.Long */ -.codehilite.gruvbox-dark .hll { background-color: #ebdbb2 } -.codehilite.gruvbox-dark { background: #282828; color: #DDD } -.codehilite.gruvbox-dark .c { color: #928374; font-style: italic } /* Comment */ -.codehilite.gruvbox-dark .err { color: #282828; background-color: #FB4934 } /* Error */ -.codehilite.gruvbox-dark .esc { color: #DDD } /* Escape */ -.codehilite.gruvbox-dark .g { color: #DDD } /* Generic */ -.codehilite.gruvbox-dark .k { color: #FB4934 } /* Keyword */ -.codehilite.gruvbox-dark .l { color: #DDD } /* Literal */ -.codehilite.gruvbox-dark .n { color: #DDD } /* Name */ -.codehilite.gruvbox-dark .o { color: #DDD } /* Operator */ -.codehilite.gruvbox-dark .x { color: #DDD } /* Other */ -.codehilite.gruvbox-dark .p { color: #DDD } /* Punctuation */ -.codehilite.gruvbox-dark .ch { color: #928374; font-style: italic } /* Comment.Hashbang */ -.codehilite.gruvbox-dark .cm { color: #928374; font-style: italic } /* Comment.Multiline */ -.codehilite.gruvbox-dark .c-PreProc { color: #8EC07C; font-style: italic } /* Comment.PreProc */ -.codehilite.gruvbox-dark .cp { color: #928374; font-style: italic } /* Comment.Preproc */ -.codehilite.gruvbox-dark .cpf { color: #928374; font-style: italic } /* Comment.PreprocFile */ -.codehilite.gruvbox-dark .c1 { color: #928374; font-style: italic } /* Comment.Single */ -.codehilite.gruvbox-dark .cs { color: #EBDBB2; font-weight: bold; font-style: italic } /* Comment.Special */ -.codehilite.gruvbox-dark .gd { color: #282828; background-color: #FB4934 } /* Generic.Deleted */ -.codehilite.gruvbox-dark .ge { color: #DDD; font-style: italic } /* Generic.Emph */ -.codehilite.gruvbox-dark .ges { color: #DDD; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite.gruvbox-dark .gr { color: #FB4934 } /* Generic.Error */ -.codehilite.gruvbox-dark .gh { color: #EBDBB2; font-weight: bold } /* Generic.Heading */ -.codehilite.gruvbox-dark .gi { color: #282828; background-color: #B8BB26 } /* Generic.Inserted */ -.codehilite.gruvbox-dark .go { color: #F2E5BC } /* Generic.Output */ -.codehilite.gruvbox-dark .gp { color: #A89984 } /* Generic.Prompt */ -.codehilite.gruvbox-dark .gs { color: #DDD; font-weight: bold } /* Generic.Strong */ -.codehilite.gruvbox-dark .gu { color: #EBDBB2; text-decoration: underline } /* Generic.Subheading */ -.codehilite.gruvbox-dark .gt { color: #FB4934 } /* Generic.Traceback */ -.codehilite.gruvbox-dark .kc { color: #FB4934 } /* Keyword.Constant */ -.codehilite.gruvbox-dark .kd { color: #FB4934 } /* Keyword.Declaration */ -.codehilite.gruvbox-dark .kn { color: #FB4934 } /* Keyword.Namespace */ -.codehilite.gruvbox-dark .kp { color: #FB4934 } /* Keyword.Pseudo */ -.codehilite.gruvbox-dark .kr { color: #FB4934 } /* Keyword.Reserved */ -.codehilite.gruvbox-dark .kt { color: #FB4934 } /* Keyword.Type */ -.codehilite.gruvbox-dark .ld { color: #DDD } /* Literal.Date */ -.codehilite.gruvbox-dark .m { color: #D3869B } /* Literal.Number */ -.codehilite.gruvbox-dark .s { color: #B8BB26 } /* Literal.String */ -.codehilite.gruvbox-dark .na { color: #FABD2F } /* Name.Attribute */ -.codehilite.gruvbox-dark .nb { color: #FE8019 } /* Name.Builtin */ -.codehilite.gruvbox-dark .nc { color: #8EC07C } /* Name.Class */ -.codehilite.gruvbox-dark .no { color: #D3869B } /* Name.Constant */ -.codehilite.gruvbox-dark .nd { color: #FB4934 } /* Name.Decorator */ -.codehilite.gruvbox-dark .ni { color: #DDD } /* Name.Entity */ -.codehilite.gruvbox-dark .ne { color: #FB4934 } /* Name.Exception */ -.codehilite.gruvbox-dark .nf { color: #8EC07C } /* Name.Function */ -.codehilite.gruvbox-dark .nl { color: #DDD } /* Name.Label */ -.codehilite.gruvbox-dark .nn { color: #8EC07C } /* Name.Namespace */ -.codehilite.gruvbox-dark .nx { color: #DDD } /* Name.Other */ -.codehilite.gruvbox-dark .py { color: #DDD } /* Name.Property */ -.codehilite.gruvbox-dark .nt { color: #8EC07C } /* Name.Tag */ -.codehilite.gruvbox-dark .nv { color: #83A598 } /* Name.Variable */ -.codehilite.gruvbox-dark .ow { color: #FB4934 } /* Operator.Word */ -.codehilite.gruvbox-dark .pm { color: #DDD } /* Punctuation.Marker */ -.codehilite.gruvbox-dark .w { color: #DDD } /* Text.Whitespace */ -.codehilite.gruvbox-dark .mb { color: #D3869B } /* Literal.Number.Bin */ -.codehilite.gruvbox-dark .mf { color: #D3869B } /* Literal.Number.Float */ -.codehilite.gruvbox-dark .mh { color: #D3869B } /* Literal.Number.Hex */ -.codehilite.gruvbox-dark .mi { color: #D3869B } /* Literal.Number.Integer */ -.codehilite.gruvbox-dark .mo { color: #D3869B } /* Literal.Number.Oct */ -.codehilite.gruvbox-dark .sa { color: #B8BB26 } /* Literal.String.Affix */ -.codehilite.gruvbox-dark .sb { color: #B8BB26 } /* Literal.String.Backtick */ -.codehilite.gruvbox-dark .sc { color: #B8BB26 } /* Literal.String.Char */ -.codehilite.gruvbox-dark .dl { color: #B8BB26 } /* Literal.String.Delimiter */ -.codehilite.gruvbox-dark .sd { color: #B8BB26 } /* Literal.String.Doc */ -.codehilite.gruvbox-dark .s2 { color: #B8BB26 } /* Literal.String.Double */ -.codehilite.gruvbox-dark .se { color: #FE8019 } /* Literal.String.Escape */ -.codehilite.gruvbox-dark .sh { color: #B8BB26 } /* Literal.String.Heredoc */ -.codehilite.gruvbox-dark .si { color: #B8BB26 } /* Literal.String.Interpol */ -.codehilite.gruvbox-dark .sx { color: #B8BB26 } /* Literal.String.Other */ -.codehilite.gruvbox-dark .sr { color: #B8BB26 } /* Literal.String.Regex */ -.codehilite.gruvbox-dark .s1 { color: #B8BB26 } /* Literal.String.Single */ -.codehilite.gruvbox-dark .ss { color: #B8BB26 } /* Literal.String.Symbol */ -.codehilite.gruvbox-dark .bp { color: #FE8019 } /* Name.Builtin.Pseudo */ -.codehilite.gruvbox-dark .fm { color: #8EC07C } /* Name.Function.Magic */ -.codehilite.gruvbox-dark .vc { color: #83A598 } /* Name.Variable.Class */ -.codehilite.gruvbox-dark .vg { color: #83A598 } /* Name.Variable.Global */ -.codehilite.gruvbox-dark .vi { color: #83A598 } /* Name.Variable.Instance */ -.codehilite.gruvbox-dark .vm { color: #83A598 } /* Name.Variable.Magic */ -.codehilite.gruvbox-dark .il { color: #D3869B } /* Literal.Number.Integer.Long */ -.codehilite.gruvbox-light .hll { background-color: #3c3836 } -.codehilite.gruvbox-light { background: #fbf1c7; } -.codehilite.gruvbox-light .c { color: #928374; font-style: italic } /* Comment */ -.codehilite.gruvbox-light .err { color: #FBF1C7; background-color: #9D0006 } /* Error */ -.codehilite.gruvbox-light .k { color: #9D0006 } /* Keyword */ -.codehilite.gruvbox-light .ch { color: #928374; font-style: italic } /* Comment.Hashbang */ -.codehilite.gruvbox-light .cm { color: #928374; font-style: italic } /* Comment.Multiline */ -.codehilite.gruvbox-light .c-PreProc { color: #427B58; font-style: italic } /* Comment.PreProc */ -.codehilite.gruvbox-light .cp { color: #928374; font-style: italic } /* Comment.Preproc */ -.codehilite.gruvbox-light .cpf { color: #928374; font-style: italic } /* Comment.PreprocFile */ -.codehilite.gruvbox-light .c1 { color: #928374; font-style: italic } /* Comment.Single */ -.codehilite.gruvbox-light .cs { color: #3C3836; font-weight: bold; font-style: italic } /* Comment.Special */ -.codehilite.gruvbox-light .gd { color: #FBF1C7; background-color: #9D0006 } /* Generic.Deleted */ -.codehilite.gruvbox-light .ge { font-style: italic } /* Generic.Emph */ -.codehilite.gruvbox-light .gr { color: #9D0006 } /* Generic.Error */ -.codehilite.gruvbox-light .gh { color: #3C3836; font-weight: bold } /* Generic.Heading */ -.codehilite.gruvbox-light .gi { color: #FBF1C7; background-color: #79740E } /* Generic.Inserted */ -.codehilite.gruvbox-light .go { color: #32302F } /* Generic.Output */ -.codehilite.gruvbox-light .gp { color: #7C6F64 } /* Generic.Prompt */ -.codehilite.gruvbox-light .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.gruvbox-light .gu { color: #3C3836; text-decoration: underline } /* Generic.Subheading */ -.codehilite.gruvbox-light .gt { color: #9D0006 } /* Generic.Traceback */ -.codehilite.gruvbox-light .kc { color: #9D0006 } /* Keyword.Constant */ -.codehilite.gruvbox-light .kd { color: #9D0006 } /* Keyword.Declaration */ -.codehilite.gruvbox-light .kn { color: #9D0006 } /* Keyword.Namespace */ -.codehilite.gruvbox-light .kp { color: #9D0006 } /* Keyword.Pseudo */ -.codehilite.gruvbox-light .kr { color: #9D0006 } /* Keyword.Reserved */ -.codehilite.gruvbox-light .kt { color: #9D0006 } /* Keyword.Type */ -.codehilite.gruvbox-light .m { color: #8F3F71 } /* Literal.Number */ -.codehilite.gruvbox-light .s { color: #79740E } /* Literal.String */ -.codehilite.gruvbox-light .na { color: #B57614 } /* Name.Attribute */ -.codehilite.gruvbox-light .nb { color: #AF3A03 } /* Name.Builtin */ -.codehilite.gruvbox-light .nc { color: #427B58 } /* Name.Class */ -.codehilite.gruvbox-light .no { color: #8F3F71 } /* Name.Constant */ -.codehilite.gruvbox-light .nd { color: #9D0006 } /* Name.Decorator */ -.codehilite.gruvbox-light .ne { color: #9D0006 } /* Name.Exception */ -.codehilite.gruvbox-light .nf { color: #427B58 } /* Name.Function */ -.codehilite.gruvbox-light .nn { color: #427B58 } /* Name.Namespace */ -.codehilite.gruvbox-light .nt { color: #427B58 } /* Name.Tag */ -.codehilite.gruvbox-light .nv { color: #076678 } /* Name.Variable */ -.codehilite.gruvbox-light .ow { color: #9D0006 } /* Operator.Word */ -.codehilite.gruvbox-light .mb { color: #8F3F71 } /* Literal.Number.Bin */ -.codehilite.gruvbox-light .mf { color: #8F3F71 } /* Literal.Number.Float */ -.codehilite.gruvbox-light .mh { color: #8F3F71 } /* Literal.Number.Hex */ -.codehilite.gruvbox-light .mi { color: #8F3F71 } /* Literal.Number.Integer */ -.codehilite.gruvbox-light .mo { color: #8F3F71 } /* Literal.Number.Oct */ -.codehilite.gruvbox-light .sa { color: #79740E } /* Literal.String.Affix */ -.codehilite.gruvbox-light .sb { color: #79740E } /* Literal.String.Backtick */ -.codehilite.gruvbox-light .sc { color: #79740E } /* Literal.String.Char */ -.codehilite.gruvbox-light .dl { color: #79740E } /* Literal.String.Delimiter */ -.codehilite.gruvbox-light .sd { color: #79740E } /* Literal.String.Doc */ -.codehilite.gruvbox-light .s2 { color: #79740E } /* Literal.String.Double */ -.codehilite.gruvbox-light .se { color: #AF3A03 } /* Literal.String.Escape */ -.codehilite.gruvbox-light .sh { color: #79740E } /* Literal.String.Heredoc */ -.codehilite.gruvbox-light .si { color: #79740E } /* Literal.String.Interpol */ -.codehilite.gruvbox-light .sx { color: #79740E } /* Literal.String.Other */ -.codehilite.gruvbox-light .sr { color: #79740E } /* Literal.String.Regex */ -.codehilite.gruvbox-light .s1 { color: #79740E } /* Literal.String.Single */ -.codehilite.gruvbox-light .ss { color: #79740E } /* Literal.String.Symbol */ -.codehilite.gruvbox-light .bp { color: #AF3A03 } /* Name.Builtin.Pseudo */ -.codehilite.gruvbox-light .fm { color: #427B58 } /* Name.Function.Magic */ -.codehilite.gruvbox-light .vc { color: #076678 } /* Name.Variable.Class */ -.codehilite.gruvbox-light .vg { color: #076678 } /* Name.Variable.Global */ -.codehilite.gruvbox-light .vi { color: #076678 } /* Name.Variable.Instance */ -.codehilite.gruvbox-light .vm { color: #076678 } /* Name.Variable.Magic */ -.codehilite.gruvbox-light .il { color: #8F3F71 } /* Literal.Number.Integer.Long */ -.codehilite.igor .hll { background-color: #ffffcc } -.codehilite.igor { background: #ffffff; } -.codehilite.igor .c { color: #F00; font-style: italic } /* Comment */ -.codehilite.igor .k { color: #00F } /* Keyword */ -.codehilite.igor .ch { color: #F00; font-style: italic } /* Comment.Hashbang */ -.codehilite.igor .cm { color: #F00; font-style: italic } /* Comment.Multiline */ -.codehilite.igor .cp { color: #F00; font-style: italic } /* Comment.Preproc */ -.codehilite.igor .cpf { color: #F00; font-style: italic } /* Comment.PreprocFile */ -.codehilite.igor .c1 { color: #F00; font-style: italic } /* Comment.Single */ -.codehilite.igor .cs { color: #F00; font-style: italic } /* Comment.Special */ -.codehilite.igor .kc { color: #00F } /* Keyword.Constant */ -.codehilite.igor .kd { color: #00F } /* Keyword.Declaration */ -.codehilite.igor .kn { color: #00F } /* Keyword.Namespace */ -.codehilite.igor .kp { color: #00F } /* Keyword.Pseudo */ -.codehilite.igor .kr { color: #00F } /* Keyword.Reserved */ -.codehilite.igor .kt { color: #00F } /* Keyword.Type */ -.codehilite.igor .s { color: #009C00 } /* Literal.String */ -.codehilite.igor .nc { color: #007575 } /* Name.Class */ -.codehilite.igor .nd { color: #CC00A3 } /* Name.Decorator */ -.codehilite.igor .nf { color: #C34E00 } /* Name.Function */ -.codehilite.igor .sa { color: #009C00 } /* Literal.String.Affix */ -.codehilite.igor .sb { color: #009C00 } /* Literal.String.Backtick */ -.codehilite.igor .sc { color: #009C00 } /* Literal.String.Char */ -.codehilite.igor .dl { color: #009C00 } /* Literal.String.Delimiter */ -.codehilite.igor .sd { color: #009C00 } /* Literal.String.Doc */ -.codehilite.igor .s2 { color: #009C00 } /* Literal.String.Double */ -.codehilite.igor .se { color: #009C00 } /* Literal.String.Escape */ -.codehilite.igor .sh { color: #009C00 } /* Literal.String.Heredoc */ -.codehilite.igor .si { color: #009C00 } /* Literal.String.Interpol */ -.codehilite.igor .sx { color: #009C00 } /* Literal.String.Other */ -.codehilite.igor .sr { color: #009C00 } /* Literal.String.Regex */ -.codehilite.igor .s1 { color: #009C00 } /* Literal.String.Single */ -.codehilite.igor .ss { color: #009C00 } /* Literal.String.Symbol */ -.codehilite.igor .fm { color: #C34E00 } /* Name.Function.Magic */ -.codehilite.inkpot .hll { background-color: #ffffcc } -.codehilite.inkpot { background: #1e1e27; color: #CFBFAD } -.codehilite.inkpot .c { color: #CD8B00 } /* Comment */ -.codehilite.inkpot .err { color: #FFF; background-color: #6E2E2E } /* Error */ -.codehilite.inkpot .k { color: #808BED } /* Keyword */ -.codehilite.inkpot .n { color: #CFBFAD } /* Name */ -.codehilite.inkpot .o { color: #666 } /* Operator */ -.codehilite.inkpot .x { color: #CFBFAD } /* Other */ -.codehilite.inkpot .p { color: #CFBFAD } /* Punctuation */ -.codehilite.inkpot .ch { color: #CD8B00 } /* Comment.Hashbang */ -.codehilite.inkpot .cm { color: #CD8B00 } /* Comment.Multiline */ -.codehilite.inkpot .cp { color: #409090 } /* Comment.Preproc */ -.codehilite.inkpot .cpf { color: #FFCD8B; background-color: #404040 } /* Comment.PreprocFile */ -.codehilite.inkpot .c1 { color: #CD8B00 } /* Comment.Single */ -.codehilite.inkpot .cs { color: #808BED } /* Comment.Special */ -.codehilite.inkpot .gd { color: #A00000 } /* Generic.Deleted */ -.codehilite.inkpot .ge { font-style: italic } /* Generic.Emph */ -.codehilite.inkpot .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite.inkpot .gr { color: #F00 } /* Generic.Error */ -.codehilite.inkpot .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.codehilite.inkpot .gi { color: #00A000 } /* Generic.Inserted */ -.codehilite.inkpot .go { color: #888 } /* Generic.Output */ -.codehilite.inkpot .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ -.codehilite.inkpot .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.inkpot .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.codehilite.inkpot .gt { color: #04D } /* Generic.Traceback */ -.codehilite.inkpot .kc { color: #808BED } /* Keyword.Constant */ -.codehilite.inkpot .kd { color: #808BED } /* Keyword.Declaration */ -.codehilite.inkpot .kn { color: #808BED } /* Keyword.Namespace */ -.codehilite.inkpot .kp { color: #808BED } /* Keyword.Pseudo */ -.codehilite.inkpot .kr { color: #808BED } /* Keyword.Reserved */ -.codehilite.inkpot .kt { color: #FF8BFF } /* Keyword.Type */ -.codehilite.inkpot .m { color: #F0AD6D } /* Literal.Number */ -.codehilite.inkpot .s { color: #FFCD8B; background-color: #404040 } /* Literal.String */ -.codehilite.inkpot .na { color: #CFBFAD } /* Name.Attribute */ -.codehilite.inkpot .nb { color: #808BED } /* Name.Builtin */ -.codehilite.inkpot .nc { color: #FF8BFF } /* Name.Class */ -.codehilite.inkpot .no { color: #409090 } /* Name.Constant */ -.codehilite.inkpot .nd { color: #409090 } /* Name.Decorator */ -.codehilite.inkpot .ni { color: #CFBFAD } /* Name.Entity */ -.codehilite.inkpot .ne { color: #F00 } /* Name.Exception */ -.codehilite.inkpot .nf { color: #C080D0 } /* Name.Function */ -.codehilite.inkpot .nl { color: #808BED } /* Name.Label */ -.codehilite.inkpot .nn { color: #F00 } /* Name.Namespace */ -.codehilite.inkpot .nx { color: #CFBFAD } /* Name.Other */ -.codehilite.inkpot .py { color: #CFBFAD } /* Name.Property */ -.codehilite.inkpot .nt { color: #CFBFAD } /* Name.Tag */ -.codehilite.inkpot .nv { color: #CFBFAD } /* Name.Variable */ -.codehilite.inkpot .ow { color: #666 } /* Operator.Word */ -.codehilite.inkpot .pm { color: #CFBFAD } /* Punctuation.Marker */ -.codehilite.inkpot .w { color: #434357 } /* Text.Whitespace */ -.codehilite.inkpot .mb { color: #F0AD6D } /* Literal.Number.Bin */ -.codehilite.inkpot .mf { color: #F0AD6D } /* Literal.Number.Float */ -.codehilite.inkpot .mh { color: #F0AD6D } /* Literal.Number.Hex */ -.codehilite.inkpot .mi { color: #F0AD6D } /* Literal.Number.Integer */ -.codehilite.inkpot .mo { color: #F0AD6D } /* Literal.Number.Oct */ -.codehilite.inkpot .sa { color: #FFCD8B; background-color: #404040 } /* Literal.String.Affix */ -.codehilite.inkpot .sb { color: #FFCD8B; background-color: #404040 } /* Literal.String.Backtick */ -.codehilite.inkpot .sc { color: #FFCD8B; background-color: #404040 } /* Literal.String.Char */ -.codehilite.inkpot .dl { color: #FFCD8B; background-color: #404040 } /* Literal.String.Delimiter */ -.codehilite.inkpot .sd { color: #808BED; background-color: #404040 } /* Literal.String.Doc */ -.codehilite.inkpot .s2 { color: #FFCD8B; background-color: #404040 } /* Literal.String.Double */ -.codehilite.inkpot .se { color: #FFCD8B; background-color: #404040 } /* Literal.String.Escape */ -.codehilite.inkpot .sh { color: #FFCD8B; background-color: #404040 } /* Literal.String.Heredoc */ -.codehilite.inkpot .si { color: #FFCD8B; background-color: #404040 } /* Literal.String.Interpol */ -.codehilite.inkpot .sx { color: #FFCD8B; background-color: #404040 } /* Literal.String.Other */ -.codehilite.inkpot .sr { color: #FFCD8B; background-color: #404040 } /* Literal.String.Regex */ -.codehilite.inkpot .s1 { color: #FFCD8B; background-color: #404040 } /* Literal.String.Single */ -.codehilite.inkpot .ss { color: #FFCD8B; background-color: #404040 } /* Literal.String.Symbol */ -.codehilite.inkpot .bp { color: #FF0 } /* Name.Builtin.Pseudo */ -.codehilite.inkpot .fm { color: #C080D0 } /* Name.Function.Magic */ -.codehilite.inkpot .vc { color: #CFBFAD } /* Name.Variable.Class */ -.codehilite.inkpot .vg { color: #CFBFAD } /* Name.Variable.Global */ -.codehilite.inkpot .vi { color: #CFBFAD } /* Name.Variable.Instance */ -.codehilite.inkpot .vm { color: #CFBFAD } /* Name.Variable.Magic */ -.codehilite.inkpot .il { color: #F0AD6D } /* Literal.Number.Integer.Long */ -.codehilite.lightbulb .hll { background-color: #6e7681 } -.codehilite.lightbulb { background: #1d2331; color: #D4D2C8 } -.codehilite.lightbulb .c { color: #7E8AA1 } /* Comment */ -.codehilite.lightbulb .err { color: #F88F7F } /* Error */ -.codehilite.lightbulb .esc { color: #D4D2C8 } /* Escape */ -.codehilite.lightbulb .g { color: #D4D2C8 } /* Generic */ -.codehilite.lightbulb .k { color: #FFAD66 } /* Keyword */ -.codehilite.lightbulb .l { color: #D5FF80 } /* Literal */ -.codehilite.lightbulb .n { color: #D4D2C8 } /* Name */ -.codehilite.lightbulb .o { color: #FFAD66 } /* Operator */ -.codehilite.lightbulb .x { color: #D4D2C8 } /* Other */ -.codehilite.lightbulb .p { color: #D4D2C8 } /* Punctuation */ -.codehilite.lightbulb .ch { color: #F88F7F; font-style: italic } /* Comment.Hashbang */ -.codehilite.lightbulb .cm { color: #7E8AA1 } /* Comment.Multiline */ -.codehilite.lightbulb .cp { color: #FFAD66; font-weight: bold } /* Comment.Preproc */ -.codehilite.lightbulb .cpf { color: #7E8AA1 } /* Comment.PreprocFile */ -.codehilite.lightbulb .c1 { color: #7E8AA1 } /* Comment.Single */ -.codehilite.lightbulb .cs { color: #7E8AA1; font-style: italic } /* Comment.Special */ -.codehilite.lightbulb .gd { color: #F88F7F; background-color: #3D1E20 } /* Generic.Deleted */ -.codehilite.lightbulb .ge { color: #D4D2C8; font-style: italic } /* Generic.Emph */ -.codehilite.lightbulb .ges { color: #D4D2C8 } /* Generic.EmphStrong */ -.codehilite.lightbulb .gr { color: #F88F7F } /* Generic.Error */ -.codehilite.lightbulb .gh { color: #D4D2C8 } /* Generic.Heading */ -.codehilite.lightbulb .gi { color: #6AD4AF; background-color: #19362C } /* Generic.Inserted */ -.codehilite.lightbulb .go { color: #7E8AA1 } /* Generic.Output */ -.codehilite.lightbulb .gp { color: #D4D2C8 } /* Generic.Prompt */ -.codehilite.lightbulb .gs { color: #D4D2C8; font-weight: bold } /* Generic.Strong */ -.codehilite.lightbulb .gu { color: #D4D2C8 } /* Generic.Subheading */ -.codehilite.lightbulb .gt { color: #F88F7F } /* Generic.Traceback */ -.codehilite.lightbulb .kc { color: #FFAD66 } /* Keyword.Constant */ -.codehilite.lightbulb .kd { color: #FFAD66 } /* Keyword.Declaration */ -.codehilite.lightbulb .kn { color: #FFAD66 } /* Keyword.Namespace */ -.codehilite.lightbulb .kp { color: #FFAD66 } /* Keyword.Pseudo */ -.codehilite.lightbulb .kr { color: #FFAD66 } /* Keyword.Reserved */ -.codehilite.lightbulb .kt { color: #73D0FF } /* Keyword.Type */ -.codehilite.lightbulb .ld { color: #D5FF80 } /* Literal.Date */ -.codehilite.lightbulb .m { color: #DFBFFF } /* Literal.Number */ -.codehilite.lightbulb .s { color: #D5FF80 } /* Literal.String */ -.codehilite.lightbulb .na { color: #FFD173 } /* Name.Attribute */ -.codehilite.lightbulb .nb { color: #FFD173 } /* Name.Builtin */ -.codehilite.lightbulb .nc { color: #73D0FF } /* Name.Class */ -.codehilite.lightbulb .no { color: #FFD173 } /* Name.Constant */ -.codehilite.lightbulb .nd { color: #7E8AA1; font-weight: bold; font-style: italic } /* Name.Decorator */ -.codehilite.lightbulb .ni { color: #95E6CB } /* Name.Entity */ -.codehilite.lightbulb .ne { color: #73D0FF } /* Name.Exception */ -.codehilite.lightbulb .nf { color: #FFD173 } /* Name.Function */ -.codehilite.lightbulb .nl { color: #D4D2C8 } /* Name.Label */ -.codehilite.lightbulb .nn { color: #D4D2C8 } /* Name.Namespace */ -.codehilite.lightbulb .nx { color: #D4D2C8 } /* Name.Other */ -.codehilite.lightbulb .py { color: #FFD173 } /* Name.Property */ -.codehilite.lightbulb .nt { color: #5CCFE6 } /* Name.Tag */ -.codehilite.lightbulb .nv { color: #D4D2C8 } /* Name.Variable */ -.codehilite.lightbulb .ow { color: #FFAD66 } /* Operator.Word */ -.codehilite.lightbulb .pm { color: #D4D2C8 } /* Punctuation.Marker */ -.codehilite.lightbulb .w { color: #D4D2C8 } /* Text.Whitespace */ -.codehilite.lightbulb .mb { color: #DFBFFF } /* Literal.Number.Bin */ -.codehilite.lightbulb .mf { color: #DFBFFF } /* Literal.Number.Float */ -.codehilite.lightbulb .mh { color: #DFBFFF } /* Literal.Number.Hex */ -.codehilite.lightbulb .mi { color: #DFBFFF } /* Literal.Number.Integer */ -.codehilite.lightbulb .mo { color: #DFBFFF } /* Literal.Number.Oct */ -.codehilite.lightbulb .sa { color: #F29E74 } /* Literal.String.Affix */ -.codehilite.lightbulb .sb { color: #D5FF80 } /* Literal.String.Backtick */ -.codehilite.lightbulb .sc { color: #D5FF80 } /* Literal.String.Char */ -.codehilite.lightbulb .dl { color: #D5FF80 } /* Literal.String.Delimiter */ -.codehilite.lightbulb .sd { color: #7E8AA1 } /* Literal.String.Doc */ -.codehilite.lightbulb .s2 { color: #D5FF80 } /* Literal.String.Double */ -.codehilite.lightbulb .se { color: #95E6CB } /* Literal.String.Escape */ -.codehilite.lightbulb .sh { color: #D5FF80 } /* Literal.String.Heredoc */ -.codehilite.lightbulb .si { color: #95E6CB } /* Literal.String.Interpol */ -.codehilite.lightbulb .sx { color: #95E6CB } /* Literal.String.Other */ -.codehilite.lightbulb .sr { color: #95E6CB } /* Literal.String.Regex */ -.codehilite.lightbulb .s1 { color: #D5FF80 } /* Literal.String.Single */ -.codehilite.lightbulb .ss { color: #DFBFFF } /* Literal.String.Symbol */ -.codehilite.lightbulb .bp { color: #5CCFE6 } /* Name.Builtin.Pseudo */ -.codehilite.lightbulb .fm { color: #FFD173 } /* Name.Function.Magic */ -.codehilite.lightbulb .vc { color: #D4D2C8 } /* Name.Variable.Class */ -.codehilite.lightbulb .vg { color: #D4D2C8 } /* Name.Variable.Global */ -.codehilite.lightbulb .vi { color: #D4D2C8 } /* Name.Variable.Instance */ -.codehilite.lightbulb .vm { color: #D4D2C8 } /* Name.Variable.Magic */ -.codehilite.lightbulb .il { color: #DFBFFF } /* Literal.Number.Integer.Long */ -.codehilite.lilypond .hll { background-color: #ffffcc } -.codehilite.lilypond { background: #ffffff; } -.codehilite.lilypond .-ChordModifier { color: #976806 } /* ChordModifier */ -.codehilite.lilypond .c { color: #A3AAB2; font-style: italic } /* Comment */ -.codehilite.lilypond .k { font-weight: bold } /* Keyword */ -.codehilite.lilypond .ch { color: #A3AAB2; font-style: italic } /* Comment.Hashbang */ -.codehilite.lilypond .cm { color: #A3AAB2; font-style: italic } /* Comment.Multiline */ -.codehilite.lilypond .cp { color: #A3AAB2; font-style: italic } /* Comment.Preproc */ -.codehilite.lilypond .cpf { color: #A3AAB2; font-style: italic } /* Comment.PreprocFile */ -.codehilite.lilypond .c1 { color: #A3AAB2; font-style: italic } /* Comment.Single */ -.codehilite.lilypond .cs { color: #A3AAB2; font-style: italic } /* Comment.Special */ -.codehilite.lilypond .kc { font-weight: bold } /* Keyword.Constant */ -.codehilite.lilypond .kd { font-weight: bold } /* Keyword.Declaration */ -.codehilite.lilypond .kn { font-weight: bold } /* Keyword.Namespace */ -.codehilite.lilypond .kp { font-weight: bold } /* Keyword.Pseudo */ -.codehilite.lilypond .kr { font-weight: bold } /* Keyword.Reserved */ -.codehilite.lilypond .kt { font-weight: bold } /* Keyword.Type */ -.codehilite.lilypond .m { color: #976806 } /* Literal.Number */ -.codehilite.lilypond .s { color: #AB0909 } /* Literal.String */ -.codehilite.lilypond .n-BackslashReference { color: #08547A } /* Name.BackslashReference */ -.codehilite.lilypond .n-Lvalue { color: #08547A } /* Name.Lvalue */ -.codehilite.lilypond .mb { color: #976806 } /* Literal.Number.Bin */ -.codehilite.lilypond .mf { color: #976806 } /* Literal.Number.Float */ -.codehilite.lilypond .mh { color: #976806 } /* Literal.Number.Hex */ -.codehilite.lilypond .mi { color: #976806 } /* Literal.Number.Integer */ -.codehilite.lilypond .mo { color: #976806 } /* Literal.Number.Oct */ -.codehilite.lilypond .sa { color: #AB0909 } /* Literal.String.Affix */ -.codehilite.lilypond .sb { color: #AB0909 } /* Literal.String.Backtick */ -.codehilite.lilypond .sc { color: #AB0909 } /* Literal.String.Char */ -.codehilite.lilypond .dl { color: #AB0909 } /* Literal.String.Delimiter */ -.codehilite.lilypond .sd { color: #AB0909 } /* Literal.String.Doc */ -.codehilite.lilypond .s2 { color: #AB0909 } /* Literal.String.Double */ -.codehilite.lilypond .se { color: #C46C6C } /* Literal.String.Escape */ -.codehilite.lilypond .sh { color: #AB0909 } /* Literal.String.Heredoc */ -.codehilite.lilypond .si { color: #AB0909 } /* Literal.String.Interpol */ -.codehilite.lilypond .sx { color: #AB0909 } /* Literal.String.Other */ -.codehilite.lilypond .sr { color: #AB0909 } /* Literal.String.Regex */ -.codehilite.lilypond .s1 { color: #AB0909 } /* Literal.String.Single */ -.codehilite.lilypond .nb-Articulation { color: #68175A } /* Name.Builtin.Articulation */ -.codehilite.lilypond .nb-Clef { color: #08547A; font-weight: bold } /* Name.Builtin.Clef */ -.codehilite.lilypond .nb-Context { color: #038B8B; font-weight: bold } /* Name.Builtin.Context */ -.codehilite.lilypond .nb-ContextProperty { color: #038B8B } /* Name.Builtin.ContextProperty */ -.codehilite.lilypond .nb-Dynamic { color: #68175A } /* Name.Builtin.Dynamic */ -.codehilite.lilypond .nb-Grob { color: #0C7441; font-weight: bold } /* Name.Builtin.Grob */ -.codehilite.lilypond .nb-GrobProperty { color: #0C7441 } /* Name.Builtin.GrobProperty */ -.codehilite.lilypond .nb-HeaderVariable { color: #6C5A05; font-weight: bold } /* Name.Builtin.HeaderVariable */ -.codehilite.lilypond .nb-MarkupCommand { color: #831E71; font-weight: bold } /* Name.Builtin.MarkupCommand */ -.codehilite.lilypond .nb-MusicCommand { color: #08547A; font-weight: bold } /* Name.Builtin.MusicCommand */ -.codehilite.lilypond .nb-MusicFunction { color: #08547A; font-weight: bold } /* Name.Builtin.MusicFunction */ -.codehilite.lilypond .nb-PaperVariable { color: #6C5A05; font-weight: bold } /* Name.Builtin.PaperVariable */ -.codehilite.lilypond .nb-RepeatType { color: #08547A } /* Name.Builtin.RepeatType */ -.codehilite.lilypond .nb-Scale { color: #08547A; font-weight: bold } /* Name.Builtin.Scale */ -.codehilite.lilypond .nb-SchemeBuiltin { font-weight: bold } /* Name.Builtin.SchemeBuiltin */ -.codehilite.lilypond .nb-SchemeFunction { color: #A83401; font-weight: bold } /* Name.Builtin.SchemeFunction */ -.codehilite.lilypond .nb-Translator { color: #6200A4; font-weight: bold } /* Name.Builtin.Translator */ -.codehilite.lilypond .il { color: #976806 } /* Literal.Number.Integer.Long */ -.codehilite.lovelace .hll { background-color: #ffffcc } -.codehilite.lovelace { background: #ffffff; } -.codehilite.lovelace .c { color: #888; font-style: italic } /* Comment */ -.codehilite.lovelace .err { background-color: #A848A8 } /* Error */ -.codehilite.lovelace .k { color: #2838B0 } /* Keyword */ -.codehilite.lovelace .o { color: #666 } /* Operator */ -.codehilite.lovelace .p { color: #888 } /* Punctuation */ -.codehilite.lovelace .ch { color: #287088; font-style: italic } /* Comment.Hashbang */ -.codehilite.lovelace .cm { color: #888; font-style: italic } /* Comment.Multiline */ -.codehilite.lovelace .cp { color: #289870 } /* Comment.Preproc */ -.codehilite.lovelace .cpf { color: #888; font-style: italic } /* Comment.PreprocFile */ -.codehilite.lovelace .c1 { color: #888; font-style: italic } /* Comment.Single */ -.codehilite.lovelace .cs { color: #888; font-style: italic } /* Comment.Special */ -.codehilite.lovelace .gd { color: #C02828 } /* Generic.Deleted */ -.codehilite.lovelace .ge { font-style: italic } /* Generic.Emph */ -.codehilite.lovelace .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite.lovelace .gr { color: #C02828 } /* Generic.Error */ -.codehilite.lovelace .gh { color: #666 } /* Generic.Heading */ -.codehilite.lovelace .gi { color: #388038 } /* Generic.Inserted */ -.codehilite.lovelace .go { color: #666 } /* Generic.Output */ -.codehilite.lovelace .gp { color: #444 } /* Generic.Prompt */ -.codehilite.lovelace .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.lovelace .gu { color: #444 } /* Generic.Subheading */ -.codehilite.lovelace .gt { color: #2838B0 } /* Generic.Traceback */ -.codehilite.lovelace .kc { color: #444; font-style: italic } /* Keyword.Constant */ -.codehilite.lovelace .kd { color: #2838B0; font-style: italic } /* Keyword.Declaration */ -.codehilite.lovelace .kn { color: #2838B0 } /* Keyword.Namespace */ -.codehilite.lovelace .kp { color: #2838B0 } /* Keyword.Pseudo */ -.codehilite.lovelace .kr { color: #2838B0 } /* Keyword.Reserved */ -.codehilite.lovelace .kt { color: #2838B0; font-style: italic } /* Keyword.Type */ -.codehilite.lovelace .m { color: #444 } /* Literal.Number */ -.codehilite.lovelace .s { color: #B83838 } /* Literal.String */ -.codehilite.lovelace .na { color: #388038 } /* Name.Attribute */ -.codehilite.lovelace .nb { color: #388038 } /* Name.Builtin */ -.codehilite.lovelace .nc { color: #287088 } /* Name.Class */ -.codehilite.lovelace .no { color: #B85820 } /* Name.Constant */ -.codehilite.lovelace .nd { color: #287088 } /* Name.Decorator */ -.codehilite.lovelace .ni { color: #709030 } /* Name.Entity */ -.codehilite.lovelace .ne { color: #908828 } /* Name.Exception */ -.codehilite.lovelace .nf { color: #785840 } /* Name.Function */ -.codehilite.lovelace .nl { color: #289870 } /* Name.Label */ -.codehilite.lovelace .nn { color: #289870 } /* Name.Namespace */ -.codehilite.lovelace .nt { color: #2838B0 } /* Name.Tag */ -.codehilite.lovelace .nv { color: #B04040 } /* Name.Variable */ -.codehilite.lovelace .ow { color: #A848A8 } /* Operator.Word */ -.codehilite.lovelace .pm { color: #888 } /* Punctuation.Marker */ -.codehilite.lovelace .w { color: #A89028 } /* Text.Whitespace */ -.codehilite.lovelace .mb { color: #444 } /* Literal.Number.Bin */ -.codehilite.lovelace .mf { color: #444 } /* Literal.Number.Float */ -.codehilite.lovelace .mh { color: #444 } /* Literal.Number.Hex */ -.codehilite.lovelace .mi { color: #444 } /* Literal.Number.Integer */ -.codehilite.lovelace .mo { color: #444 } /* Literal.Number.Oct */ -.codehilite.lovelace .sa { color: #444 } /* Literal.String.Affix */ -.codehilite.lovelace .sb { color: #B83838 } /* Literal.String.Backtick */ -.codehilite.lovelace .sc { color: #A848A8 } /* Literal.String.Char */ -.codehilite.lovelace .dl { color: #B85820 } /* Literal.String.Delimiter */ -.codehilite.lovelace .sd { color: #B85820; font-style: italic } /* Literal.String.Doc */ -.codehilite.lovelace .s2 { color: #B83838 } /* Literal.String.Double */ -.codehilite.lovelace .se { color: #709030 } /* Literal.String.Escape */ -.codehilite.lovelace .sh { color: #B83838 } /* Literal.String.Heredoc */ -.codehilite.lovelace .si { color: #B83838; text-decoration: underline } /* Literal.String.Interpol */ -.codehilite.lovelace .sx { color: #A848A8 } /* Literal.String.Other */ -.codehilite.lovelace .sr { color: #A848A8 } /* Literal.String.Regex */ -.codehilite.lovelace .s1 { color: #B83838 } /* Literal.String.Single */ -.codehilite.lovelace .ss { color: #B83838 } /* Literal.String.Symbol */ -.codehilite.lovelace .bp { color: #388038; font-style: italic } /* Name.Builtin.Pseudo */ -.codehilite.lovelace .fm { color: #B85820 } /* Name.Function.Magic */ -.codehilite.lovelace .vc { color: #B04040 } /* Name.Variable.Class */ -.codehilite.lovelace .vg { color: #908828 } /* Name.Variable.Global */ -.codehilite.lovelace .vi { color: #B04040 } /* Name.Variable.Instance */ -.codehilite.lovelace .vm { color: #B85820 } /* Name.Variable.Magic */ -.codehilite.lovelace .il { color: #444 } /* Literal.Number.Integer.Long */ -.codehilite.manni .hll { background-color: #ffffcc } -.codehilite.manni { background: #f0f3f3; } -.codehilite.manni .c { color: #09F; font-style: italic } /* Comment */ -.codehilite.manni .err { color: #A00; background-color: #FAA } /* Error */ -.codehilite.manni .k { color: #069; font-weight: bold } /* Keyword */ -.codehilite.manni .o { color: #555 } /* Operator */ -.codehilite.manni .ch { color: #09F; font-style: italic } /* Comment.Hashbang */ -.codehilite.manni .cm { color: #09F; font-style: italic } /* Comment.Multiline */ -.codehilite.manni .cp { color: #099 } /* Comment.Preproc */ -.codehilite.manni .cpf { color: #09F; font-style: italic } /* Comment.PreprocFile */ -.codehilite.manni .c1 { color: #09F; font-style: italic } /* Comment.Single */ -.codehilite.manni .cs { color: #09F; font-weight: bold; font-style: italic } /* Comment.Special */ -.codehilite.manni .gd { background-color: #FCC; border: 1px solid #C00 } /* Generic.Deleted */ -.codehilite.manni .ge { font-style: italic } /* Generic.Emph */ -.codehilite.manni .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite.manni .gr { color: #F00 } /* Generic.Error */ -.codehilite.manni .gh { color: #030; font-weight: bold } /* Generic.Heading */ -.codehilite.manni .gi { background-color: #CFC; border: 1px solid #0C0 } /* Generic.Inserted */ -.codehilite.manni .go { color: #AAA } /* Generic.Output */ -.codehilite.manni .gp { color: #009; font-weight: bold } /* Generic.Prompt */ -.codehilite.manni .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.manni .gu { color: #030; font-weight: bold } /* Generic.Subheading */ -.codehilite.manni .gt { color: #9C6 } /* Generic.Traceback */ -.codehilite.manni .kc { color: #069; font-weight: bold } /* Keyword.Constant */ -.codehilite.manni .kd { color: #069; font-weight: bold } /* Keyword.Declaration */ -.codehilite.manni .kn { color: #069; font-weight: bold } /* Keyword.Namespace */ -.codehilite.manni .kp { color: #069 } /* Keyword.Pseudo */ -.codehilite.manni .kr { color: #069; font-weight: bold } /* Keyword.Reserved */ -.codehilite.manni .kt { color: #078; font-weight: bold } /* Keyword.Type */ -.codehilite.manni .m { color: #F60 } /* Literal.Number */ -.codehilite.manni .s { color: #C30 } /* Literal.String */ -.codehilite.manni .na { color: #309 } /* Name.Attribute */ -.codehilite.manni .nb { color: #366 } /* Name.Builtin */ -.codehilite.manni .nc { color: #0A8; font-weight: bold } /* Name.Class */ -.codehilite.manni .no { color: #360 } /* Name.Constant */ -.codehilite.manni .nd { color: #99F } /* Name.Decorator */ -.codehilite.manni .ni { color: #999; font-weight: bold } /* Name.Entity */ -.codehilite.manni .ne { color: #C00; font-weight: bold } /* Name.Exception */ -.codehilite.manni .nf { color: #C0F } /* Name.Function */ -.codehilite.manni .nl { color: #99F } /* Name.Label */ -.codehilite.manni .nn { color: #0CF; font-weight: bold } /* Name.Namespace */ -.codehilite.manni .nt { color: #309; font-weight: bold } /* Name.Tag */ -.codehilite.manni .nv { color: #033 } /* Name.Variable */ -.codehilite.manni .ow { color: #000; font-weight: bold } /* Operator.Word */ -.codehilite.manni .w { color: #BBB } /* Text.Whitespace */ -.codehilite.manni .mb { color: #F60 } /* Literal.Number.Bin */ -.codehilite.manni .mf { color: #F60 } /* Literal.Number.Float */ -.codehilite.manni .mh { color: #F60 } /* Literal.Number.Hex */ -.codehilite.manni .mi { color: #F60 } /* Literal.Number.Integer */ -.codehilite.manni .mo { color: #F60 } /* Literal.Number.Oct */ -.codehilite.manni .sa { color: #C30 } /* Literal.String.Affix */ -.codehilite.manni .sb { color: #C30 } /* Literal.String.Backtick */ -.codehilite.manni .sc { color: #C30 } /* Literal.String.Char */ -.codehilite.manni .dl { color: #C30 } /* Literal.String.Delimiter */ -.codehilite.manni .sd { color: #C30; font-style: italic } /* Literal.String.Doc */ -.codehilite.manni .s2 { color: #C30 } /* Literal.String.Double */ -.codehilite.manni .se { color: #C30; font-weight: bold } /* Literal.String.Escape */ -.codehilite.manni .sh { color: #C30 } /* Literal.String.Heredoc */ -.codehilite.manni .si { color: #A00 } /* Literal.String.Interpol */ -.codehilite.manni .sx { color: #C30 } /* Literal.String.Other */ -.codehilite.manni .sr { color: #3AA } /* Literal.String.Regex */ -.codehilite.manni .s1 { color: #C30 } /* Literal.String.Single */ -.codehilite.manni .ss { color: #FC3 } /* Literal.String.Symbol */ -.codehilite.manni .bp { color: #366 } /* Name.Builtin.Pseudo */ -.codehilite.manni .fm { color: #C0F } /* Name.Function.Magic */ -.codehilite.manni .vc { color: #033 } /* Name.Variable.Class */ -.codehilite.manni .vg { color: #033 } /* Name.Variable.Global */ -.codehilite.manni .vi { color: #033 } /* Name.Variable.Instance */ -.codehilite.manni .vm { color: #033 } /* Name.Variable.Magic */ -.codehilite.manni .il { color: #F60 } /* Literal.Number.Integer.Long */ -.codehilite.material .hll { background-color: #2C3B41 } -.codehilite.material { background: #263238; color: #EFF } -.codehilite.material .c { color: #546E7A; font-style: italic } /* Comment */ -.codehilite.material .err { color: #FF5370 } /* Error */ -.codehilite.material .esc { color: #89DDFF } /* Escape */ -.codehilite.material .g { color: #EFF } /* Generic */ -.codehilite.material .k { color: #BB80B3 } /* Keyword */ -.codehilite.material .l { color: #C3E88D } /* Literal */ -.codehilite.material .n { color: #EFF } /* Name */ -.codehilite.material .o { color: #89DDFF } /* Operator */ -.codehilite.material .p { color: #89DDFF } /* Punctuation */ -.codehilite.material .ch { color: #546E7A; font-style: italic } /* Comment.Hashbang */ -.codehilite.material .cm { color: #546E7A; font-style: italic } /* Comment.Multiline */ -.codehilite.material .cp { color: #546E7A; font-style: italic } /* Comment.Preproc */ -.codehilite.material .cpf { color: #546E7A; font-style: italic } /* Comment.PreprocFile */ -.codehilite.material .c1 { color: #546E7A; font-style: italic } /* Comment.Single */ -.codehilite.material .cs { color: #546E7A; font-style: italic } /* Comment.Special */ -.codehilite.material .gd { color: #FF5370 } /* Generic.Deleted */ -.codehilite.material .ge { color: #89DDFF } /* Generic.Emph */ -.codehilite.material .ges { color: #FFCB6B } /* Generic.EmphStrong */ -.codehilite.material .gr { color: #FF5370 } /* Generic.Error */ -.codehilite.material .gh { color: #C3E88D } /* Generic.Heading */ -.codehilite.material .gi { color: #C3E88D } /* Generic.Inserted */ -.codehilite.material .go { color: #546E7A } /* Generic.Output */ -.codehilite.material .gp { color: #FFCB6B } /* Generic.Prompt */ -.codehilite.material .gs { color: #FF5370 } /* Generic.Strong */ -.codehilite.material .gu { color: #89DDFF } /* Generic.Subheading */ -.codehilite.material .gt { color: #FF5370 } /* Generic.Traceback */ -.codehilite.material .kc { color: #89DDFF } /* Keyword.Constant */ -.codehilite.material .kd { color: #BB80B3 } /* Keyword.Declaration */ -.codehilite.material .kn { color: #89DDFF; font-style: italic } /* Keyword.Namespace */ -.codehilite.material .kp { color: #89DDFF } /* Keyword.Pseudo */ -.codehilite.material .kr { color: #BB80B3 } /* Keyword.Reserved */ -.codehilite.material .kt { color: #BB80B3 } /* Keyword.Type */ -.codehilite.material .ld { color: #C3E88D } /* Literal.Date */ -.codehilite.material .m { color: #F78C6C } /* Literal.Number */ -.codehilite.material .s { color: #C3E88D } /* Literal.String */ -.codehilite.material .na { color: #BB80B3 } /* Name.Attribute */ -.codehilite.material .nb { color: #82AAFF } /* Name.Builtin */ -.codehilite.material .nc { color: #FFCB6B } /* Name.Class */ -.codehilite.material .no { color: #EFF } /* Name.Constant */ -.codehilite.material .nd { color: #82AAFF } /* Name.Decorator */ -.codehilite.material .ni { color: #89DDFF } /* Name.Entity */ -.codehilite.material .ne { color: #FFCB6B } /* Name.Exception */ -.codehilite.material .nf { color: #82AAFF } /* Name.Function */ -.codehilite.material .nl { color: #82AAFF } /* Name.Label */ -.codehilite.material .nn { color: #FFCB6B } /* Name.Namespace */ -.codehilite.material .nx { color: #EFF } /* Name.Other */ -.codehilite.material .py { color: #FFCB6B } /* Name.Property */ -.codehilite.material .nt { color: #FF5370 } /* Name.Tag */ -.codehilite.material .nv { color: #89DDFF } /* Name.Variable */ -.codehilite.material .ow { color: #89DDFF; font-style: italic } /* Operator.Word */ -.codehilite.material .pm { color: #89DDFF } /* Punctuation.Marker */ -.codehilite.material .w { color: #EFF } /* Text.Whitespace */ -.codehilite.material .mb { color: #F78C6C } /* Literal.Number.Bin */ -.codehilite.material .mf { color: #F78C6C } /* Literal.Number.Float */ -.codehilite.material .mh { color: #F78C6C } /* Literal.Number.Hex */ -.codehilite.material .mi { color: #F78C6C } /* Literal.Number.Integer */ -.codehilite.material .mo { color: #F78C6C } /* Literal.Number.Oct */ -.codehilite.material .sa { color: #BB80B3 } /* Literal.String.Affix */ -.codehilite.material .sb { color: #C3E88D } /* Literal.String.Backtick */ -.codehilite.material .sc { color: #C3E88D } /* Literal.String.Char */ -.codehilite.material .dl { color: #EFF } /* Literal.String.Delimiter */ -.codehilite.material .sd { color: #546E7A; font-style: italic } /* Literal.String.Doc */ -.codehilite.material .s2 { color: #C3E88D } /* Literal.String.Double */ -.codehilite.material .se { color: #EFF } /* Literal.String.Escape */ -.codehilite.material .sh { color: #C3E88D } /* Literal.String.Heredoc */ -.codehilite.material .si { color: #89DDFF } /* Literal.String.Interpol */ -.codehilite.material .sx { color: #C3E88D } /* Literal.String.Other */ -.codehilite.material .sr { color: #89DDFF } /* Literal.String.Regex */ -.codehilite.material .s1 { color: #C3E88D } /* Literal.String.Single */ -.codehilite.material .ss { color: #89DDFF } /* Literal.String.Symbol */ -.codehilite.material .bp { color: #89DDFF } /* Name.Builtin.Pseudo */ -.codehilite.material .fm { color: #82AAFF } /* Name.Function.Magic */ -.codehilite.material .vc { color: #89DDFF } /* Name.Variable.Class */ -.codehilite.material .vg { color: #89DDFF } /* Name.Variable.Global */ -.codehilite.material .vi { color: #89DDFF } /* Name.Variable.Instance */ -.codehilite.material .vm { color: #82AAFF } /* Name.Variable.Magic */ -.codehilite.material .il { color: #F78C6C } /* Literal.Number.Integer.Long */ -.codehilite.monokai .hll { background-color: #49483e } -.codehilite.monokai { background: #272822; color: #F8F8F2 } -.codehilite.monokai .c { color: #959077 } /* Comment */ -.codehilite.monokai .err { color: #ED007E; background-color: #1E0010 } /* Error */ -.codehilite.monokai .esc { color: #F8F8F2 } /* Escape */ -.codehilite.monokai .g { color: #F8F8F2 } /* Generic */ -.codehilite.monokai .k { color: #66D9EF } /* Keyword */ -.codehilite.monokai .l { color: #AE81FF } /* Literal */ -.codehilite.monokai .n { color: #F8F8F2 } /* Name */ -.codehilite.monokai .o { color: #FF4689 } /* Operator */ -.codehilite.monokai .x { color: #F8F8F2 } /* Other */ -.codehilite.monokai .p { color: #F8F8F2 } /* Punctuation */ -.codehilite.monokai .ch { color: #959077 } /* Comment.Hashbang */ -.codehilite.monokai .cm { color: #959077 } /* Comment.Multiline */ -.codehilite.monokai .cp { color: #959077 } /* Comment.Preproc */ -.codehilite.monokai .cpf { color: #959077 } /* Comment.PreprocFile */ -.codehilite.monokai .c1 { color: #959077 } /* Comment.Single */ -.codehilite.monokai .cs { color: #959077 } /* Comment.Special */ -.codehilite.monokai .gd { color: #FF4689 } /* Generic.Deleted */ -.codehilite.monokai .ge { color: #F8F8F2; font-style: italic } /* Generic.Emph */ -.codehilite.monokai .ges { color: #F8F8F2; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite.monokai .gr { color: #F8F8F2 } /* Generic.Error */ -.codehilite.monokai .gh { color: #F8F8F2 } /* Generic.Heading */ -.codehilite.monokai .gi { color: #A6E22E } /* Generic.Inserted */ -.codehilite.monokai .go { color: #66D9EF } /* Generic.Output */ -.codehilite.monokai .gp { color: #FF4689; font-weight: bold } /* Generic.Prompt */ -.codehilite.monokai .gs { color: #F8F8F2; font-weight: bold } /* Generic.Strong */ -.codehilite.monokai .gu { color: #959077 } /* Generic.Subheading */ -.codehilite.monokai .gt { color: #F8F8F2 } /* Generic.Traceback */ -.codehilite.monokai .kc { color: #66D9EF } /* Keyword.Constant */ -.codehilite.monokai .kd { color: #66D9EF } /* Keyword.Declaration */ -.codehilite.monokai .kn { color: #FF4689 } /* Keyword.Namespace */ -.codehilite.monokai .kp { color: #66D9EF } /* Keyword.Pseudo */ -.codehilite.monokai .kr { color: #66D9EF } /* Keyword.Reserved */ -.codehilite.monokai .kt { color: #66D9EF } /* Keyword.Type */ -.codehilite.monokai .ld { color: #E6DB74 } /* Literal.Date */ -.codehilite.monokai .m { color: #AE81FF } /* Literal.Number */ -.codehilite.monokai .s { color: #E6DB74 } /* Literal.String */ -.codehilite.monokai .na { color: #A6E22E } /* Name.Attribute */ -.codehilite.monokai .nb { color: #F8F8F2 } /* Name.Builtin */ -.codehilite.monokai .nc { color: #A6E22E } /* Name.Class */ -.codehilite.monokai .no { color: #66D9EF } /* Name.Constant */ -.codehilite.monokai .nd { color: #A6E22E } /* Name.Decorator */ -.codehilite.monokai .ni { color: #F8F8F2 } /* Name.Entity */ -.codehilite.monokai .ne { color: #A6E22E } /* Name.Exception */ -.codehilite.monokai .nf { color: #A6E22E } /* Name.Function */ -.codehilite.monokai .nl { color: #F8F8F2 } /* Name.Label */ -.codehilite.monokai .nn { color: #F8F8F2 } /* Name.Namespace */ -.codehilite.monokai .nx { color: #A6E22E } /* Name.Other */ -.codehilite.monokai .py { color: #F8F8F2 } /* Name.Property */ -.codehilite.monokai .nt { color: #FF4689 } /* Name.Tag */ -.codehilite.monokai .nv { color: #F8F8F2 } /* Name.Variable */ -.codehilite.monokai .ow { color: #FF4689 } /* Operator.Word */ -.codehilite.monokai .pm { color: #F8F8F2 } /* Punctuation.Marker */ -.codehilite.monokai .w { color: #F8F8F2 } /* Text.Whitespace */ -.codehilite.monokai .mb { color: #AE81FF } /* Literal.Number.Bin */ -.codehilite.monokai .mf { color: #AE81FF } /* Literal.Number.Float */ -.codehilite.monokai .mh { color: #AE81FF } /* Literal.Number.Hex */ -.codehilite.monokai .mi { color: #AE81FF } /* Literal.Number.Integer */ -.codehilite.monokai .mo { color: #AE81FF } /* Literal.Number.Oct */ -.codehilite.monokai .sa { color: #E6DB74 } /* Literal.String.Affix */ -.codehilite.monokai .sb { color: #E6DB74 } /* Literal.String.Backtick */ -.codehilite.monokai .sc { color: #E6DB74 } /* Literal.String.Char */ -.codehilite.monokai .dl { color: #E6DB74 } /* Literal.String.Delimiter */ -.codehilite.monokai .sd { color: #E6DB74 } /* Literal.String.Doc */ -.codehilite.monokai .s2 { color: #E6DB74 } /* Literal.String.Double */ -.codehilite.monokai .se { color: #AE81FF } /* Literal.String.Escape */ -.codehilite.monokai .sh { color: #E6DB74 } /* Literal.String.Heredoc */ -.codehilite.monokai .si { color: #E6DB74 } /* Literal.String.Interpol */ -.codehilite.monokai .sx { color: #E6DB74 } /* Literal.String.Other */ -.codehilite.monokai .sr { color: #E6DB74 } /* Literal.String.Regex */ -.codehilite.monokai .s1 { color: #E6DB74 } /* Literal.String.Single */ -.codehilite.monokai .ss { color: #E6DB74 } /* Literal.String.Symbol */ -.codehilite.monokai .bp { color: #F8F8F2 } /* Name.Builtin.Pseudo */ -.codehilite.monokai .fm { color: #A6E22E } /* Name.Function.Magic */ -.codehilite.monokai .vc { color: #F8F8F2 } /* Name.Variable.Class */ -.codehilite.monokai .vg { color: #F8F8F2 } /* Name.Variable.Global */ -.codehilite.monokai .vi { color: #F8F8F2 } /* Name.Variable.Instance */ -.codehilite.monokai .vm { color: #F8F8F2 } /* Name.Variable.Magic */ -.codehilite.monokai .il { color: #AE81FF } /* Literal.Number.Integer.Long */ -.codehilite.murphy .hll { background-color: #ffffcc } -.codehilite.murphy { background: #ffffff; } -.codehilite.murphy .c { color: #666; font-style: italic } /* Comment */ -.codehilite.murphy .err { color: #F00; background-color: #FAA } /* Error */ -.codehilite.murphy .k { color: #289; font-weight: bold } /* Keyword */ -.codehilite.murphy .o { color: #333 } /* Operator */ -.codehilite.murphy .ch { color: #666; font-style: italic } /* Comment.Hashbang */ -.codehilite.murphy .cm { color: #666; font-style: italic } /* Comment.Multiline */ -.codehilite.murphy .cp { color: #579 } /* Comment.Preproc */ -.codehilite.murphy .cpf { color: #666; font-style: italic } /* Comment.PreprocFile */ -.codehilite.murphy .c1 { color: #666; font-style: italic } /* Comment.Single */ -.codehilite.murphy .cs { color: #C00; font-weight: bold; font-style: italic } /* Comment.Special */ -.codehilite.murphy .gd { color: #A00000 } /* Generic.Deleted */ -.codehilite.murphy .ge { font-style: italic } /* Generic.Emph */ -.codehilite.murphy .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite.murphy .gr { color: #F00 } /* Generic.Error */ -.codehilite.murphy .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.codehilite.murphy .gi { color: #00A000 } /* Generic.Inserted */ -.codehilite.murphy .go { color: #888 } /* Generic.Output */ -.codehilite.murphy .gp { color: #C65D09; font-weight: bold } /* Generic.Prompt */ -.codehilite.murphy .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.murphy .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.codehilite.murphy .gt { color: #04D } /* Generic.Traceback */ -.codehilite.murphy .kc { color: #289; font-weight: bold } /* Keyword.Constant */ -.codehilite.murphy .kd { color: #289; font-weight: bold } /* Keyword.Declaration */ -.codehilite.murphy .kn { color: #289; font-weight: bold } /* Keyword.Namespace */ -.codehilite.murphy .kp { color: #08F; font-weight: bold } /* Keyword.Pseudo */ -.codehilite.murphy .kr { color: #289; font-weight: bold } /* Keyword.Reserved */ -.codehilite.murphy .kt { color: #66F; font-weight: bold } /* Keyword.Type */ -.codehilite.murphy .m { color: #60E; font-weight: bold } /* Literal.Number */ -.codehilite.murphy .s { background-color: #E0E0FF } /* Literal.String */ -.codehilite.murphy .na { color: #007 } /* Name.Attribute */ -.codehilite.murphy .nb { color: #072 } /* Name.Builtin */ -.codehilite.murphy .nc { color: #E9E; font-weight: bold } /* Name.Class */ -.codehilite.murphy .no { color: #5ED; font-weight: bold } /* Name.Constant */ -.codehilite.murphy .nd { color: #555; font-weight: bold } /* Name.Decorator */ -.codehilite.murphy .ni { color: #800 } /* Name.Entity */ -.codehilite.murphy .ne { color: #F00; font-weight: bold } /* Name.Exception */ -.codehilite.murphy .nf { color: #5ED; font-weight: bold } /* Name.Function */ -.codehilite.murphy .nl { color: #970; font-weight: bold } /* Name.Label */ -.codehilite.murphy .nn { color: #0E84B5; font-weight: bold } /* Name.Namespace */ -.codehilite.murphy .nt { color: #070 } /* Name.Tag */ -.codehilite.murphy .nv { color: #036 } /* Name.Variable */ -.codehilite.murphy .ow { color: #000; font-weight: bold } /* Operator.Word */ -.codehilite.murphy .w { color: #BBB } /* Text.Whitespace */ -.codehilite.murphy .mb { color: #60E; font-weight: bold } /* Literal.Number.Bin */ -.codehilite.murphy .mf { color: #60E; font-weight: bold } /* Literal.Number.Float */ -.codehilite.murphy .mh { color: #058; font-weight: bold } /* Literal.Number.Hex */ -.codehilite.murphy .mi { color: #66F; font-weight: bold } /* Literal.Number.Integer */ -.codehilite.murphy .mo { color: #40E; font-weight: bold } /* Literal.Number.Oct */ -.codehilite.murphy .sa { background-color: #E0E0FF } /* Literal.String.Affix */ -.codehilite.murphy .sb { background-color: #E0E0FF } /* Literal.String.Backtick */ -.codehilite.murphy .sc { color: #88F } /* Literal.String.Char */ -.codehilite.murphy .dl { background-color: #E0E0FF } /* Literal.String.Delimiter */ -.codehilite.murphy .sd { color: #D42 } /* Literal.String.Doc */ -.codehilite.murphy .s2 { background-color: #E0E0FF } /* Literal.String.Double */ -.codehilite.murphy .se { color: #666; font-weight: bold; background-color: #E0E0FF } /* Literal.String.Escape */ -.codehilite.murphy .sh { background-color: #E0E0FF } /* Literal.String.Heredoc */ -.codehilite.murphy .si { background-color: #EEE } /* Literal.String.Interpol */ -.codehilite.murphy .sx { color: #F88; background-color: #E0E0FF } /* Literal.String.Other */ -.codehilite.murphy .sr { color: #000; background-color: #E0E0FF } /* Literal.String.Regex */ -.codehilite.murphy .s1 { background-color: #E0E0FF } /* Literal.String.Single */ -.codehilite.murphy .ss { color: #FC8 } /* Literal.String.Symbol */ -.codehilite.murphy .bp { color: #072 } /* Name.Builtin.Pseudo */ -.codehilite.murphy .fm { color: #5ED; font-weight: bold } /* Name.Function.Magic */ -.codehilite.murphy .vc { color: #CCF } /* Name.Variable.Class */ -.codehilite.murphy .vg { color: #F84 } /* Name.Variable.Global */ -.codehilite.murphy .vi { color: #AAF } /* Name.Variable.Instance */ -.codehilite.murphy .vm { color: #036 } /* Name.Variable.Magic */ -.codehilite.murphy .il { color: #66F; font-weight: bold } /* Literal.Number.Integer.Long */ -.codehilite.native .hll { background-color: #404040 } -.codehilite.native { background: #202020; color: #D0D0D0 } -.codehilite.native .c { color: #ABABAB; font-style: italic } /* Comment */ -.codehilite.native .err { color: #A61717; background-color: #E3D2D2 } /* Error */ -.codehilite.native .esc { color: #D0D0D0 } /* Escape */ -.codehilite.native .g { color: #D0D0D0 } /* Generic */ -.codehilite.native .k { color: #6EBF26; font-weight: bold } /* Keyword */ -.codehilite.native .l { color: #D0D0D0 } /* Literal */ -.codehilite.native .n { color: #D0D0D0 } /* Name */ -.codehilite.native .o { color: #D0D0D0 } /* Operator */ -.codehilite.native .x { color: #D0D0D0 } /* Other */ -.codehilite.native .p { color: #D0D0D0 } /* Punctuation */ -.codehilite.native .ch { color: #ABABAB; font-style: italic } /* Comment.Hashbang */ -.codehilite.native .cm { color: #ABABAB; font-style: italic } /* Comment.Multiline */ -.codehilite.native .cp { color: #FF3A3A; font-weight: bold } /* Comment.Preproc */ -.codehilite.native .cpf { color: #ABABAB; font-style: italic } /* Comment.PreprocFile */ -.codehilite.native .c1 { color: #ABABAB; font-style: italic } /* Comment.Single */ -.codehilite.native .cs { color: #E50808; font-weight: bold; background-color: #520000 } /* Comment.Special */ -.codehilite.native .gd { color: #FF3A3A } /* Generic.Deleted */ -.codehilite.native .ge { color: #D0D0D0; font-style: italic } /* Generic.Emph */ -.codehilite.native .ges { color: #D0D0D0; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite.native .gr { color: #FF3A3A } /* Generic.Error */ -.codehilite.native .gh { color: #FFF; font-weight: bold } /* Generic.Heading */ -.codehilite.native .gi { color: #589819 } /* Generic.Inserted */ -.codehilite.native .go { color: #CCC } /* Generic.Output */ -.codehilite.native .gp { color: #AAA } /* Generic.Prompt */ -.codehilite.native .gs { color: #D0D0D0; font-weight: bold } /* Generic.Strong */ -.codehilite.native .gu { color: #FFF; text-decoration: underline } /* Generic.Subheading */ -.codehilite.native .gt { color: #FF3A3A } /* Generic.Traceback */ -.codehilite.native .kc { color: #6EBF26; font-weight: bold } /* Keyword.Constant */ -.codehilite.native .kd { color: #6EBF26; font-weight: bold } /* Keyword.Declaration */ -.codehilite.native .kn { color: #6EBF26; font-weight: bold } /* Keyword.Namespace */ -.codehilite.native .kp { color: #6EBF26 } /* Keyword.Pseudo */ -.codehilite.native .kr { color: #6EBF26; font-weight: bold } /* Keyword.Reserved */ -.codehilite.native .kt { color: #6EBF26; font-weight: bold } /* Keyword.Type */ -.codehilite.native .ld { color: #D0D0D0 } /* Literal.Date */ -.codehilite.native .m { color: #51B2FD } /* Literal.Number */ -.codehilite.native .s { color: #ED9D13 } /* Literal.String */ -.codehilite.native .na { color: #BBB } /* Name.Attribute */ -.codehilite.native .nb { color: #2FBCCD } /* Name.Builtin */ -.codehilite.native .nc { color: #71ADFF; text-decoration: underline } /* Name.Class */ -.codehilite.native .no { color: #40FFFF } /* Name.Constant */ -.codehilite.native .nd { color: #FFA500 } /* Name.Decorator */ -.codehilite.native .ni { color: #D0D0D0 } /* Name.Entity */ -.codehilite.native .ne { color: #BBB } /* Name.Exception */ -.codehilite.native .nf { color: #71ADFF } /* Name.Function */ -.codehilite.native .nl { color: #D0D0D0 } /* Name.Label */ -.codehilite.native .nn { color: #71ADFF; text-decoration: underline } /* Name.Namespace */ -.codehilite.native .nx { color: #D0D0D0 } /* Name.Other */ -.codehilite.native .py { color: #D0D0D0 } /* Name.Property */ -.codehilite.native .nt { color: #6EBF26; font-weight: bold } /* Name.Tag */ -.codehilite.native .nv { color: #40FFFF } /* Name.Variable */ -.codehilite.native .ow { color: #6EBF26; font-weight: bold } /* Operator.Word */ -.codehilite.native .pm { color: #D0D0D0 } /* Punctuation.Marker */ -.codehilite.native .w { color: #666 } /* Text.Whitespace */ -.codehilite.native .mb { color: #51B2FD } /* Literal.Number.Bin */ -.codehilite.native .mf { color: #51B2FD } /* Literal.Number.Float */ -.codehilite.native .mh { color: #51B2FD } /* Literal.Number.Hex */ -.codehilite.native .mi { color: #51B2FD } /* Literal.Number.Integer */ -.codehilite.native .mo { color: #51B2FD } /* Literal.Number.Oct */ -.codehilite.native .sa { color: #ED9D13 } /* Literal.String.Affix */ -.codehilite.native .sb { color: #ED9D13 } /* Literal.String.Backtick */ -.codehilite.native .sc { color: #ED9D13 } /* Literal.String.Char */ -.codehilite.native .dl { color: #ED9D13 } /* Literal.String.Delimiter */ -.codehilite.native .sd { color: #ED9D13 } /* Literal.String.Doc */ -.codehilite.native .s2 { color: #ED9D13 } /* Literal.String.Double */ -.codehilite.native .se { color: #ED9D13 } /* Literal.String.Escape */ -.codehilite.native .sh { color: #ED9D13 } /* Literal.String.Heredoc */ -.codehilite.native .si { color: #ED9D13 } /* Literal.String.Interpol */ -.codehilite.native .sx { color: #FFA500 } /* Literal.String.Other */ -.codehilite.native .sr { color: #ED9D13 } /* Literal.String.Regex */ -.codehilite.native .s1 { color: #ED9D13 } /* Literal.String.Single */ -.codehilite.native .ss { color: #ED9D13 } /* Literal.String.Symbol */ -.codehilite.native .bp { color: #2FBCCD } /* Name.Builtin.Pseudo */ -.codehilite.native .fm { color: #71ADFF } /* Name.Function.Magic */ -.codehilite.native .vc { color: #40FFFF } /* Name.Variable.Class */ -.codehilite.native .vg { color: #40FFFF } /* Name.Variable.Global */ -.codehilite.native .vi { color: #40FFFF } /* Name.Variable.Instance */ -.codehilite.native .vm { color: #40FFFF } /* Name.Variable.Magic */ -.codehilite.native .il { color: #51B2FD } /* Literal.Number.Integer.Long */ -.codehilite.nord-darker .hll { background-color: #3B4252 } -.codehilite.nord-darker { background: #242933; color: #D8DEE9 } -.codehilite.nord-darker .c { color: #616E87; font-style: italic } /* Comment */ -.codehilite.nord-darker .err { color: #BF616A } /* Error */ -.codehilite.nord-darker .esc { color: #D8DEE9 } /* Escape */ -.codehilite.nord-darker .g { color: #D8DEE9 } /* Generic */ -.codehilite.nord-darker .k { color: #81A1C1; font-weight: bold } /* Keyword */ -.codehilite.nord-darker .l { color: #D8DEE9 } /* Literal */ -.codehilite.nord-darker .n { color: #D8DEE9 } /* Name */ -.codehilite.nord-darker .o { color: #81A1C1; font-weight: bold } /* Operator */ -.codehilite.nord-darker .x { color: #D8DEE9 } /* Other */ -.codehilite.nord-darker .p { color: #ECEFF4 } /* Punctuation */ -.codehilite.nord-darker .ch { color: #616E87; font-style: italic } /* Comment.Hashbang */ -.codehilite.nord-darker .cm { color: #616E87; font-style: italic } /* Comment.Multiline */ -.codehilite.nord-darker .cp { color: #5E81AC; font-style: italic } /* Comment.Preproc */ -.codehilite.nord-darker .cpf { color: #616E87; font-style: italic } /* Comment.PreprocFile */ -.codehilite.nord-darker .c1 { color: #616E87; font-style: italic } /* Comment.Single */ -.codehilite.nord-darker .cs { color: #616E87; font-style: italic } /* Comment.Special */ -.codehilite.nord-darker .gd { color: #BF616A } /* Generic.Deleted */ -.codehilite.nord-darker .ge { color: #D8DEE9; font-style: italic } /* Generic.Emph */ -.codehilite.nord-darker .ges { color: #D8DEE9 } /* Generic.EmphStrong */ -.codehilite.nord-darker .gr { color: #BF616A } /* Generic.Error */ -.codehilite.nord-darker .gh { color: #88C0D0; font-weight: bold } /* Generic.Heading */ -.codehilite.nord-darker .gi { color: #A3BE8C } /* Generic.Inserted */ -.codehilite.nord-darker .go { color: #D8DEE9 } /* Generic.Output */ -.codehilite.nord-darker .gp { color: #616E88; font-weight: bold } /* Generic.Prompt */ -.codehilite.nord-darker .gs { color: #D8DEE9; font-weight: bold } /* Generic.Strong */ -.codehilite.nord-darker .gu { color: #88C0D0; font-weight: bold } /* Generic.Subheading */ -.codehilite.nord-darker .gt { color: #BF616A } /* Generic.Traceback */ -.codehilite.nord-darker .kc { color: #81A1C1; font-weight: bold } /* Keyword.Constant */ -.codehilite.nord-darker .kd { color: #81A1C1; font-weight: bold } /* Keyword.Declaration */ -.codehilite.nord-darker .kn { color: #81A1C1; font-weight: bold } /* Keyword.Namespace */ -.codehilite.nord-darker .kp { color: #81A1C1 } /* Keyword.Pseudo */ -.codehilite.nord-darker .kr { color: #81A1C1; font-weight: bold } /* Keyword.Reserved */ -.codehilite.nord-darker .kt { color: #81A1C1 } /* Keyword.Type */ -.codehilite.nord-darker .ld { color: #D8DEE9 } /* Literal.Date */ -.codehilite.nord-darker .m { color: #B48EAD } /* Literal.Number */ -.codehilite.nord-darker .s { color: #A3BE8C } /* Literal.String */ -.codehilite.nord-darker .na { color: #8FBCBB } /* Name.Attribute */ -.codehilite.nord-darker .nb { color: #81A1C1 } /* Name.Builtin */ -.codehilite.nord-darker .nc { color: #8FBCBB } /* Name.Class */ -.codehilite.nord-darker .no { color: #8FBCBB } /* Name.Constant */ -.codehilite.nord-darker .nd { color: #D08770 } /* Name.Decorator */ -.codehilite.nord-darker .ni { color: #D08770 } /* Name.Entity */ -.codehilite.nord-darker .ne { color: #BF616A } /* Name.Exception */ -.codehilite.nord-darker .nf { color: #88C0D0 } /* Name.Function */ -.codehilite.nord-darker .nl { color: #D8DEE9 } /* Name.Label */ -.codehilite.nord-darker .nn { color: #8FBCBB } /* Name.Namespace */ -.codehilite.nord-darker .nx { color: #D8DEE9 } /* Name.Other */ -.codehilite.nord-darker .py { color: #D8DEE9 } /* Name.Property */ -.codehilite.nord-darker .nt { color: #81A1C1 } /* Name.Tag */ -.codehilite.nord-darker .nv { color: #D8DEE9 } /* Name.Variable */ -.codehilite.nord-darker .ow { color: #81A1C1; font-weight: bold } /* Operator.Word */ -.codehilite.nord-darker .pm { color: #ECEFF4 } /* Punctuation.Marker */ -.codehilite.nord-darker .w { color: #D8DEE9 } /* Text.Whitespace */ -.codehilite.nord-darker .mb { color: #B48EAD } /* Literal.Number.Bin */ -.codehilite.nord-darker .mf { color: #B48EAD } /* Literal.Number.Float */ -.codehilite.nord-darker .mh { color: #B48EAD } /* Literal.Number.Hex */ -.codehilite.nord-darker .mi { color: #B48EAD } /* Literal.Number.Integer */ -.codehilite.nord-darker .mo { color: #B48EAD } /* Literal.Number.Oct */ -.codehilite.nord-darker .sa { color: #A3BE8C } /* Literal.String.Affix */ -.codehilite.nord-darker .sb { color: #A3BE8C } /* Literal.String.Backtick */ -.codehilite.nord-darker .sc { color: #A3BE8C } /* Literal.String.Char */ -.codehilite.nord-darker .dl { color: #A3BE8C } /* Literal.String.Delimiter */ -.codehilite.nord-darker .sd { color: #616E87 } /* Literal.String.Doc */ -.codehilite.nord-darker .s2 { color: #A3BE8C } /* Literal.String.Double */ -.codehilite.nord-darker .se { color: #EBCB8B } /* Literal.String.Escape */ -.codehilite.nord-darker .sh { color: #A3BE8C } /* Literal.String.Heredoc */ -.codehilite.nord-darker .si { color: #A3BE8C } /* Literal.String.Interpol */ -.codehilite.nord-darker .sx { color: #A3BE8C } /* Literal.String.Other */ -.codehilite.nord-darker .sr { color: #EBCB8B } /* Literal.String.Regex */ -.codehilite.nord-darker .s1 { color: #A3BE8C } /* Literal.String.Single */ -.codehilite.nord-darker .ss { color: #A3BE8C } /* Literal.String.Symbol */ -.codehilite.nord-darker .bp { color: #81A1C1 } /* Name.Builtin.Pseudo */ -.codehilite.nord-darker .fm { color: #88C0D0 } /* Name.Function.Magic */ -.codehilite.nord-darker .vc { color: #D8DEE9 } /* Name.Variable.Class */ -.codehilite.nord-darker .vg { color: #D8DEE9 } /* Name.Variable.Global */ -.codehilite.nord-darker .vi { color: #D8DEE9 } /* Name.Variable.Instance */ -.codehilite.nord-darker .vm { color: #D8DEE9 } /* Name.Variable.Magic */ -.codehilite.nord-darker .il { color: #B48EAD } /* Literal.Number.Integer.Long */ -.codehilite.nord .hll { background-color: #3B4252 } -.codehilite.nord { background: #2E3440; color: #D8DEE9 } -.codehilite.nord .c { color: #616E87; font-style: italic } /* Comment */ -.codehilite.nord .err { color: #BF616A } /* Error */ -.codehilite.nord .esc { color: #D8DEE9 } /* Escape */ -.codehilite.nord .g { color: #D8DEE9 } /* Generic */ -.codehilite.nord .k { color: #81A1C1; font-weight: bold } /* Keyword */ -.codehilite.nord .l { color: #D8DEE9 } /* Literal */ -.codehilite.nord .n { color: #D8DEE9 } /* Name */ -.codehilite.nord .o { color: #81A1C1; font-weight: bold } /* Operator */ -.codehilite.nord .x { color: #D8DEE9 } /* Other */ -.codehilite.nord .p { color: #ECEFF4 } /* Punctuation */ -.codehilite.nord .ch { color: #616E87; font-style: italic } /* Comment.Hashbang */ -.codehilite.nord .cm { color: #616E87; font-style: italic } /* Comment.Multiline */ -.codehilite.nord .cp { color: #5E81AC; font-style: italic } /* Comment.Preproc */ -.codehilite.nord .cpf { color: #616E87; font-style: italic } /* Comment.PreprocFile */ -.codehilite.nord .c1 { color: #616E87; font-style: italic } /* Comment.Single */ -.codehilite.nord .cs { color: #616E87; font-style: italic } /* Comment.Special */ -.codehilite.nord .gd { color: #BF616A } /* Generic.Deleted */ -.codehilite.nord .ge { color: #D8DEE9; font-style: italic } /* Generic.Emph */ -.codehilite.nord .ges { color: #D8DEE9; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite.nord .gr { color: #BF616A } /* Generic.Error */ -.codehilite.nord .gh { color: #88C0D0; font-weight: bold } /* Generic.Heading */ -.codehilite.nord .gi { color: #A3BE8C } /* Generic.Inserted */ -.codehilite.nord .go { color: #D8DEE9 } /* Generic.Output */ -.codehilite.nord .gp { color: #616E88; font-weight: bold } /* Generic.Prompt */ -.codehilite.nord .gs { color: #D8DEE9; font-weight: bold } /* Generic.Strong */ -.codehilite.nord .gu { color: #88C0D0; font-weight: bold } /* Generic.Subheading */ -.codehilite.nord .gt { color: #BF616A } /* Generic.Traceback */ -.codehilite.nord .kc { color: #81A1C1; font-weight: bold } /* Keyword.Constant */ -.codehilite.nord .kd { color: #81A1C1; font-weight: bold } /* Keyword.Declaration */ -.codehilite.nord .kn { color: #81A1C1; font-weight: bold } /* Keyword.Namespace */ -.codehilite.nord .kp { color: #81A1C1 } /* Keyword.Pseudo */ -.codehilite.nord .kr { color: #81A1C1; font-weight: bold } /* Keyword.Reserved */ -.codehilite.nord .kt { color: #81A1C1 } /* Keyword.Type */ -.codehilite.nord .ld { color: #D8DEE9 } /* Literal.Date */ -.codehilite.nord .m { color: #B48EAD } /* Literal.Number */ -.codehilite.nord .s { color: #A3BE8C } /* Literal.String */ -.codehilite.nord .na { color: #8FBCBB } /* Name.Attribute */ -.codehilite.nord .nb { color: #81A1C1 } /* Name.Builtin */ -.codehilite.nord .nc { color: #8FBCBB } /* Name.Class */ -.codehilite.nord .no { color: #8FBCBB } /* Name.Constant */ -.codehilite.nord .nd { color: #D08770 } /* Name.Decorator */ -.codehilite.nord .ni { color: #D08770 } /* Name.Entity */ -.codehilite.nord .ne { color: #BF616A } /* Name.Exception */ -.codehilite.nord .nf { color: #88C0D0 } /* Name.Function */ -.codehilite.nord .nl { color: #D8DEE9 } /* Name.Label */ -.codehilite.nord .nn { color: #8FBCBB } /* Name.Namespace */ -.codehilite.nord .nx { color: #D8DEE9 } /* Name.Other */ -.codehilite.nord .py { color: #D8DEE9 } /* Name.Property */ -.codehilite.nord .nt { color: #81A1C1 } /* Name.Tag */ -.codehilite.nord .nv { color: #D8DEE9 } /* Name.Variable */ -.codehilite.nord .ow { color: #81A1C1; font-weight: bold } /* Operator.Word */ -.codehilite.nord .pm { color: #ECEFF4 } /* Punctuation.Marker */ -.codehilite.nord .w { color: #D8DEE9 } /* Text.Whitespace */ -.codehilite.nord .mb { color: #B48EAD } /* Literal.Number.Bin */ -.codehilite.nord .mf { color: #B48EAD } /* Literal.Number.Float */ -.codehilite.nord .mh { color: #B48EAD } /* Literal.Number.Hex */ -.codehilite.nord .mi { color: #B48EAD } /* Literal.Number.Integer */ -.codehilite.nord .mo { color: #B48EAD } /* Literal.Number.Oct */ -.codehilite.nord .sa { color: #A3BE8C } /* Literal.String.Affix */ -.codehilite.nord .sb { color: #A3BE8C } /* Literal.String.Backtick */ -.codehilite.nord .sc { color: #A3BE8C } /* Literal.String.Char */ -.codehilite.nord .dl { color: #A3BE8C } /* Literal.String.Delimiter */ -.codehilite.nord .sd { color: #616E87 } /* Literal.String.Doc */ -.codehilite.nord .s2 { color: #A3BE8C } /* Literal.String.Double */ -.codehilite.nord .se { color: #EBCB8B } /* Literal.String.Escape */ -.codehilite.nord .sh { color: #A3BE8C } /* Literal.String.Heredoc */ -.codehilite.nord .si { color: #A3BE8C } /* Literal.String.Interpol */ -.codehilite.nord .sx { color: #A3BE8C } /* Literal.String.Other */ -.codehilite.nord .sr { color: #EBCB8B } /* Literal.String.Regex */ -.codehilite.nord .s1 { color: #A3BE8C } /* Literal.String.Single */ -.codehilite.nord .ss { color: #A3BE8C } /* Literal.String.Symbol */ -.codehilite.nord .bp { color: #81A1C1 } /* Name.Builtin.Pseudo */ -.codehilite.nord .fm { color: #88C0D0 } /* Name.Function.Magic */ -.codehilite.nord .vc { color: #D8DEE9 } /* Name.Variable.Class */ -.codehilite.nord .vg { color: #D8DEE9 } /* Name.Variable.Global */ -.codehilite.nord .vi { color: #D8DEE9 } /* Name.Variable.Instance */ -.codehilite.nord .vm { color: #D8DEE9 } /* Name.Variable.Magic */ -.codehilite.nord .il { color: #B48EAD } /* Literal.Number.Integer.Long */ -.codehilite.one-dark .hll { background-color: #ffffcc } -.codehilite.one-dark { background: #282C34; color: #ABB2BF } -.codehilite.one-dark .c { color: #7F848E } /* Comment */ -.codehilite.one-dark .err { color: #ABB2BF } /* Error */ -.codehilite.one-dark .esc { color: #ABB2BF } /* Escape */ -.codehilite.one-dark .g { color: #ABB2BF } /* Generic */ -.codehilite.one-dark .k { color: #C678DD } /* Keyword */ -.codehilite.one-dark .l { color: #ABB2BF } /* Literal */ -.codehilite.one-dark .n { color: #E06C75 } /* Name */ -.codehilite.one-dark .o { color: #56B6C2 } /* Operator */ -.codehilite.one-dark .x { color: #ABB2BF } /* Other */ -.codehilite.one-dark .p { color: #ABB2BF } /* Punctuation */ -.codehilite.one-dark .ch { color: #7F848E } /* Comment.Hashbang */ -.codehilite.one-dark .cm { color: #7F848E } /* Comment.Multiline */ -.codehilite.one-dark .cp { color: #7F848E } /* Comment.Preproc */ -.codehilite.one-dark .cpf { color: #7F848E } /* Comment.PreprocFile */ -.codehilite.one-dark .c1 { color: #7F848E } /* Comment.Single */ -.codehilite.one-dark .cs { color: #7F848E } /* Comment.Special */ -.codehilite.one-dark .gd { color: #ABB2BF } /* Generic.Deleted */ -.codehilite.one-dark .ge { color: #ABB2BF } /* Generic.Emph */ -.codehilite.one-dark .ges { color: #ABB2BF } /* Generic.EmphStrong */ -.codehilite.one-dark .gr { color: #ABB2BF } /* Generic.Error */ -.codehilite.one-dark .gh { color: #ABB2BF } /* Generic.Heading */ -.codehilite.one-dark .gi { color: #ABB2BF } /* Generic.Inserted */ -.codehilite.one-dark .go { color: #ABB2BF } /* Generic.Output */ -.codehilite.one-dark .gp { color: #ABB2BF } /* Generic.Prompt */ -.codehilite.one-dark .gs { color: #ABB2BF } /* Generic.Strong */ -.codehilite.one-dark .gu { color: #ABB2BF } /* Generic.Subheading */ -.codehilite.one-dark .gt { color: #ABB2BF } /* Generic.Traceback */ -.codehilite.one-dark .kc { color: #E5C07B } /* Keyword.Constant */ -.codehilite.one-dark .kd { color: #C678DD } /* Keyword.Declaration */ -.codehilite.one-dark .kn { color: #C678DD } /* Keyword.Namespace */ -.codehilite.one-dark .kp { color: #C678DD } /* Keyword.Pseudo */ -.codehilite.one-dark .kr { color: #C678DD } /* Keyword.Reserved */ -.codehilite.one-dark .kt { color: #E5C07B } /* Keyword.Type */ -.codehilite.one-dark .ld { color: #ABB2BF } /* Literal.Date */ -.codehilite.one-dark .m { color: #D19A66 } /* Literal.Number */ -.codehilite.one-dark .s { color: #98C379 } /* Literal.String */ -.codehilite.one-dark .na { color: #E06C75 } /* Name.Attribute */ -.codehilite.one-dark .nb { color: #E5C07B } /* Name.Builtin */ -.codehilite.one-dark .nc { color: #E5C07B } /* Name.Class */ -.codehilite.one-dark .no { color: #E06C75 } /* Name.Constant */ -.codehilite.one-dark .nd { color: #61AFEF } /* Name.Decorator */ -.codehilite.one-dark .ni { color: #E06C75 } /* Name.Entity */ -.codehilite.one-dark .ne { color: #E06C75 } /* Name.Exception */ -.codehilite.one-dark .nf { color: #61AFEF; font-weight: bold } /* Name.Function */ -.codehilite.one-dark .nl { color: #E06C75 } /* Name.Label */ -.codehilite.one-dark .nn { color: #E06C75 } /* Name.Namespace */ -.codehilite.one-dark .nx { color: #E06C75 } /* Name.Other */ -.codehilite.one-dark .py { color: #E06C75 } /* Name.Property */ -.codehilite.one-dark .nt { color: #E06C75 } /* Name.Tag */ -.codehilite.one-dark .nv { color: #E06C75 } /* Name.Variable */ -.codehilite.one-dark .ow { color: #56B6C2 } /* Operator.Word */ -.codehilite.one-dark .pm { color: #ABB2BF } /* Punctuation.Marker */ -.codehilite.one-dark .w { color: #ABB2BF } /* Text.Whitespace */ -.codehilite.one-dark .mb { color: #D19A66 } /* Literal.Number.Bin */ -.codehilite.one-dark .mf { color: #D19A66 } /* Literal.Number.Float */ -.codehilite.one-dark .mh { color: #D19A66 } /* Literal.Number.Hex */ -.codehilite.one-dark .mi { color: #D19A66 } /* Literal.Number.Integer */ -.codehilite.one-dark .mo { color: #D19A66 } /* Literal.Number.Oct */ -.codehilite.one-dark .sa { color: #98C379 } /* Literal.String.Affix */ -.codehilite.one-dark .sb { color: #98C379 } /* Literal.String.Backtick */ -.codehilite.one-dark .sc { color: #98C379 } /* Literal.String.Char */ -.codehilite.one-dark .dl { color: #98C379 } /* Literal.String.Delimiter */ -.codehilite.one-dark .sd { color: #98C379 } /* Literal.String.Doc */ -.codehilite.one-dark .s2 { color: #98C379 } /* Literal.String.Double */ -.codehilite.one-dark .se { color: #98C379 } /* Literal.String.Escape */ -.codehilite.one-dark .sh { color: #98C379 } /* Literal.String.Heredoc */ -.codehilite.one-dark .si { color: #98C379 } /* Literal.String.Interpol */ -.codehilite.one-dark .sx { color: #98C379 } /* Literal.String.Other */ -.codehilite.one-dark .sr { color: #98C379 } /* Literal.String.Regex */ -.codehilite.one-dark .s1 { color: #98C379 } /* Literal.String.Single */ -.codehilite.one-dark .ss { color: #98C379 } /* Literal.String.Symbol */ -.codehilite.one-dark .bp { color: #E5C07B } /* Name.Builtin.Pseudo */ -.codehilite.one-dark .fm { color: #56B6C2; font-weight: bold } /* Name.Function.Magic */ -.codehilite.one-dark .vc { color: #E06C75 } /* Name.Variable.Class */ -.codehilite.one-dark .vg { color: #E06C75 } /* Name.Variable.Global */ -.codehilite.one-dark .vi { color: #E06C75 } /* Name.Variable.Instance */ -.codehilite.one-dark .vm { color: #E06C75 } /* Name.Variable.Magic */ -.codehilite.one-dark .il { color: #D19A66 } /* Literal.Number.Integer.Long */ -.codehilite.paraiso-dark .hll { background-color: #4f424c } -.codehilite.paraiso-dark { background: #2f1e2e; color: #E7E9DB } -.codehilite.paraiso-dark .c { color: #776E71 } /* Comment */ -.codehilite.paraiso-dark .err { color: #EF6155 } /* Error */ -.codehilite.paraiso-dark .k { color: #815BA4 } /* Keyword */ -.codehilite.paraiso-dark .l { color: #F99B15 } /* Literal */ -.codehilite.paraiso-dark .n { color: #E7E9DB } /* Name */ -.codehilite.paraiso-dark .o { color: #5BC4BF } /* Operator */ -.codehilite.paraiso-dark .p { color: #E7E9DB } /* Punctuation */ -.codehilite.paraiso-dark .ch { color: #776E71 } /* Comment.Hashbang */ -.codehilite.paraiso-dark .cm { color: #776E71 } /* Comment.Multiline */ -.codehilite.paraiso-dark .cp { color: #776E71 } /* Comment.Preproc */ -.codehilite.paraiso-dark .cpf { color: #776E71 } /* Comment.PreprocFile */ -.codehilite.paraiso-dark .c1 { color: #776E71 } /* Comment.Single */ -.codehilite.paraiso-dark .cs { color: #776E71 } /* Comment.Special */ -.codehilite.paraiso-dark .gd { color: #EF6155 } /* Generic.Deleted */ -.codehilite.paraiso-dark .ge { font-style: italic } /* Generic.Emph */ -.codehilite.paraiso-dark .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite.paraiso-dark .gh { color: #E7E9DB; font-weight: bold } /* Generic.Heading */ -.codehilite.paraiso-dark .gi { color: #48B685 } /* Generic.Inserted */ -.codehilite.paraiso-dark .gp { color: #776E71; font-weight: bold } /* Generic.Prompt */ -.codehilite.paraiso-dark .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.paraiso-dark .gu { color: #5BC4BF; font-weight: bold } /* Generic.Subheading */ -.codehilite.paraiso-dark .kc { color: #815BA4 } /* Keyword.Constant */ -.codehilite.paraiso-dark .kd { color: #815BA4 } /* Keyword.Declaration */ -.codehilite.paraiso-dark .kn { color: #5BC4BF } /* Keyword.Namespace */ -.codehilite.paraiso-dark .kp { color: #815BA4 } /* Keyword.Pseudo */ -.codehilite.paraiso-dark .kr { color: #815BA4 } /* Keyword.Reserved */ -.codehilite.paraiso-dark .kt { color: #FEC418 } /* Keyword.Type */ -.codehilite.paraiso-dark .ld { color: #48B685 } /* Literal.Date */ -.codehilite.paraiso-dark .m { color: #F99B15 } /* Literal.Number */ -.codehilite.paraiso-dark .s { color: #48B685 } /* Literal.String */ -.codehilite.paraiso-dark .na { color: #06B6EF } /* Name.Attribute */ -.codehilite.paraiso-dark .nb { color: #E7E9DB } /* Name.Builtin */ -.codehilite.paraiso-dark .nc { color: #FEC418 } /* Name.Class */ -.codehilite.paraiso-dark .no { color: #EF6155 } /* Name.Constant */ -.codehilite.paraiso-dark .nd { color: #5BC4BF } /* Name.Decorator */ -.codehilite.paraiso-dark .ni { color: #E7E9DB } /* Name.Entity */ -.codehilite.paraiso-dark .ne { color: #EF6155 } /* Name.Exception */ -.codehilite.paraiso-dark .nf { color: #06B6EF } /* Name.Function */ -.codehilite.paraiso-dark .nl { color: #E7E9DB } /* Name.Label */ -.codehilite.paraiso-dark .nn { color: #FEC418 } /* Name.Namespace */ -.codehilite.paraiso-dark .nx { color: #06B6EF } /* Name.Other */ -.codehilite.paraiso-dark .py { color: #E7E9DB } /* Name.Property */ -.codehilite.paraiso-dark .nt { color: #5BC4BF } /* Name.Tag */ -.codehilite.paraiso-dark .nv { color: #EF6155 } /* Name.Variable */ -.codehilite.paraiso-dark .ow { color: #5BC4BF } /* Operator.Word */ -.codehilite.paraiso-dark .pm { color: #E7E9DB } /* Punctuation.Marker */ -.codehilite.paraiso-dark .w { color: #E7E9DB } /* Text.Whitespace */ -.codehilite.paraiso-dark .mb { color: #F99B15 } /* Literal.Number.Bin */ -.codehilite.paraiso-dark .mf { color: #F99B15 } /* Literal.Number.Float */ -.codehilite.paraiso-dark .mh { color: #F99B15 } /* Literal.Number.Hex */ -.codehilite.paraiso-dark .mi { color: #F99B15 } /* Literal.Number.Integer */ -.codehilite.paraiso-dark .mo { color: #F99B15 } /* Literal.Number.Oct */ -.codehilite.paraiso-dark .sa { color: #48B685 } /* Literal.String.Affix */ -.codehilite.paraiso-dark .sb { color: #48B685 } /* Literal.String.Backtick */ -.codehilite.paraiso-dark .sc { color: #E7E9DB } /* Literal.String.Char */ -.codehilite.paraiso-dark .dl { color: #48B685 } /* Literal.String.Delimiter */ -.codehilite.paraiso-dark .sd { color: #776E71 } /* Literal.String.Doc */ -.codehilite.paraiso-dark .s2 { color: #48B685 } /* Literal.String.Double */ -.codehilite.paraiso-dark .se { color: #F99B15 } /* Literal.String.Escape */ -.codehilite.paraiso-dark .sh { color: #48B685 } /* Literal.String.Heredoc */ -.codehilite.paraiso-dark .si { color: #F99B15 } /* Literal.String.Interpol */ -.codehilite.paraiso-dark .sx { color: #48B685 } /* Literal.String.Other */ -.codehilite.paraiso-dark .sr { color: #48B685 } /* Literal.String.Regex */ -.codehilite.paraiso-dark .s1 { color: #48B685 } /* Literal.String.Single */ -.codehilite.paraiso-dark .ss { color: #48B685 } /* Literal.String.Symbol */ -.codehilite.paraiso-dark .bp { color: #E7E9DB } /* Name.Builtin.Pseudo */ -.codehilite.paraiso-dark .fm { color: #06B6EF } /* Name.Function.Magic */ -.codehilite.paraiso-dark .vc { color: #EF6155 } /* Name.Variable.Class */ -.codehilite.paraiso-dark .vg { color: #EF6155 } /* Name.Variable.Global */ -.codehilite.paraiso-dark .vi { color: #EF6155 } /* Name.Variable.Instance */ -.codehilite.paraiso-dark .vm { color: #EF6155 } /* Name.Variable.Magic */ -.codehilite.paraiso-dark .il { color: #F99B15 } /* Literal.Number.Integer.Long */ -.codehilite.paraiso-light .hll { background-color: #a39e9b } -.codehilite.paraiso-light { background: #e7e9db; color: #2F1E2E } -.codehilite.paraiso-light .c { color: #8D8687 } /* Comment */ -.codehilite.paraiso-light .err { color: #EF6155 } /* Error */ -.codehilite.paraiso-light .k { color: #815BA4 } /* Keyword */ -.codehilite.paraiso-light .l { color: #F99B15 } /* Literal */ -.codehilite.paraiso-light .n { color: #2F1E2E } /* Name */ -.codehilite.paraiso-light .o { color: #5BC4BF } /* Operator */ -.codehilite.paraiso-light .p { color: #2F1E2E } /* Punctuation */ -.codehilite.paraiso-light .ch { color: #8D8687 } /* Comment.Hashbang */ -.codehilite.paraiso-light .cm { color: #8D8687 } /* Comment.Multiline */ -.codehilite.paraiso-light .cp { color: #8D8687 } /* Comment.Preproc */ -.codehilite.paraiso-light .cpf { color: #8D8687 } /* Comment.PreprocFile */ -.codehilite.paraiso-light .c1 { color: #8D8687 } /* Comment.Single */ -.codehilite.paraiso-light .cs { color: #8D8687 } /* Comment.Special */ -.codehilite.paraiso-light .gd { color: #EF6155 } /* Generic.Deleted */ -.codehilite.paraiso-light .ge { font-style: italic } /* Generic.Emph */ -.codehilite.paraiso-light .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite.paraiso-light .gh { color: #2F1E2E; font-weight: bold } /* Generic.Heading */ -.codehilite.paraiso-light .gi { color: #48B685 } /* Generic.Inserted */ -.codehilite.paraiso-light .gp { color: #8D8687; font-weight: bold } /* Generic.Prompt */ -.codehilite.paraiso-light .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.paraiso-light .gu { color: #5BC4BF; font-weight: bold } /* Generic.Subheading */ -.codehilite.paraiso-light .kc { color: #815BA4 } /* Keyword.Constant */ -.codehilite.paraiso-light .kd { color: #815BA4 } /* Keyword.Declaration */ -.codehilite.paraiso-light .kn { color: #5BC4BF } /* Keyword.Namespace */ -.codehilite.paraiso-light .kp { color: #815BA4 } /* Keyword.Pseudo */ -.codehilite.paraiso-light .kr { color: #815BA4 } /* Keyword.Reserved */ -.codehilite.paraiso-light .kt { color: #FEC418 } /* Keyword.Type */ -.codehilite.paraiso-light .ld { color: #48B685 } /* Literal.Date */ -.codehilite.paraiso-light .m { color: #F99B15 } /* Literal.Number */ -.codehilite.paraiso-light .s { color: #48B685 } /* Literal.String */ -.codehilite.paraiso-light .na { color: #06B6EF } /* Name.Attribute */ -.codehilite.paraiso-light .nb { color: #2F1E2E } /* Name.Builtin */ -.codehilite.paraiso-light .nc { color: #FEC418 } /* Name.Class */ -.codehilite.paraiso-light .no { color: #EF6155 } /* Name.Constant */ -.codehilite.paraiso-light .nd { color: #5BC4BF } /* Name.Decorator */ -.codehilite.paraiso-light .ni { color: #2F1E2E } /* Name.Entity */ -.codehilite.paraiso-light .ne { color: #EF6155 } /* Name.Exception */ -.codehilite.paraiso-light .nf { color: #06B6EF } /* Name.Function */ -.codehilite.paraiso-light .nl { color: #2F1E2E } /* Name.Label */ -.codehilite.paraiso-light .nn { color: #FEC418 } /* Name.Namespace */ -.codehilite.paraiso-light .nx { color: #06B6EF } /* Name.Other */ -.codehilite.paraiso-light .py { color: #2F1E2E } /* Name.Property */ -.codehilite.paraiso-light .nt { color: #5BC4BF } /* Name.Tag */ -.codehilite.paraiso-light .nv { color: #EF6155 } /* Name.Variable */ -.codehilite.paraiso-light .ow { color: #5BC4BF } /* Operator.Word */ -.codehilite.paraiso-light .pm { color: #2F1E2E } /* Punctuation.Marker */ -.codehilite.paraiso-light .w { color: #2F1E2E } /* Text.Whitespace */ -.codehilite.paraiso-light .mb { color: #F99B15 } /* Literal.Number.Bin */ -.codehilite.paraiso-light .mf { color: #F99B15 } /* Literal.Number.Float */ -.codehilite.paraiso-light .mh { color: #F99B15 } /* Literal.Number.Hex */ -.codehilite.paraiso-light .mi { color: #F99B15 } /* Literal.Number.Integer */ -.codehilite.paraiso-light .mo { color: #F99B15 } /* Literal.Number.Oct */ -.codehilite.paraiso-light .sa { color: #48B685 } /* Literal.String.Affix */ -.codehilite.paraiso-light .sb { color: #48B685 } /* Literal.String.Backtick */ -.codehilite.paraiso-light .sc { color: #2F1E2E } /* Literal.String.Char */ -.codehilite.paraiso-light .dl { color: #48B685 } /* Literal.String.Delimiter */ -.codehilite.paraiso-light .sd { color: #8D8687 } /* Literal.String.Doc */ -.codehilite.paraiso-light .s2 { color: #48B685 } /* Literal.String.Double */ -.codehilite.paraiso-light .se { color: #F99B15 } /* Literal.String.Escape */ -.codehilite.paraiso-light .sh { color: #48B685 } /* Literal.String.Heredoc */ -.codehilite.paraiso-light .si { color: #F99B15 } /* Literal.String.Interpol */ -.codehilite.paraiso-light .sx { color: #48B685 } /* Literal.String.Other */ -.codehilite.paraiso-light .sr { color: #48B685 } /* Literal.String.Regex */ -.codehilite.paraiso-light .s1 { color: #48B685 } /* Literal.String.Single */ -.codehilite.paraiso-light .ss { color: #48B685 } /* Literal.String.Symbol */ -.codehilite.paraiso-light .bp { color: #2F1E2E } /* Name.Builtin.Pseudo */ -.codehilite.paraiso-light .fm { color: #06B6EF } /* Name.Function.Magic */ -.codehilite.paraiso-light .vc { color: #EF6155 } /* Name.Variable.Class */ -.codehilite.paraiso-light .vg { color: #EF6155 } /* Name.Variable.Global */ -.codehilite.paraiso-light .vi { color: #EF6155 } /* Name.Variable.Instance */ -.codehilite.paraiso-light .vm { color: #EF6155 } /* Name.Variable.Magic */ -.codehilite.paraiso-light .il { color: #F99B15 } /* Literal.Number.Integer.Long */ -.codehilite.pastie .hll { background-color: #ffffcc } -.codehilite.pastie { background: #ffffff; } -.codehilite.pastie .c { color: #888 } /* Comment */ -.codehilite.pastie .err { color: #A61717; background-color: #E3D2D2 } /* Error */ -.codehilite.pastie .k { color: #080; font-weight: bold } /* Keyword */ -.codehilite.pastie .ch { color: #888 } /* Comment.Hashbang */ -.codehilite.pastie .cm { color: #888 } /* Comment.Multiline */ -.codehilite.pastie .cp { color: #C00; font-weight: bold } /* Comment.Preproc */ -.codehilite.pastie .cpf { color: #888 } /* Comment.PreprocFile */ -.codehilite.pastie .c1 { color: #888 } /* Comment.Single */ -.codehilite.pastie .cs { color: #C00; font-weight: bold; background-color: #FFF0F0 } /* Comment.Special */ -.codehilite.pastie .gd { color: #000; background-color: #FDD } /* Generic.Deleted */ -.codehilite.pastie .ge { font-style: italic } /* Generic.Emph */ -.codehilite.pastie .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite.pastie .gr { color: #A00 } /* Generic.Error */ -.codehilite.pastie .gh { color: #333 } /* Generic.Heading */ -.codehilite.pastie .gi { color: #000; background-color: #DFD } /* Generic.Inserted */ -.codehilite.pastie .go { color: #888 } /* Generic.Output */ -.codehilite.pastie .gp { color: #555 } /* Generic.Prompt */ -.codehilite.pastie .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.pastie .gu { color: #666 } /* Generic.Subheading */ -.codehilite.pastie .gt { color: #A00 } /* Generic.Traceback */ -.codehilite.pastie .kc { color: #080; font-weight: bold } /* Keyword.Constant */ -.codehilite.pastie .kd { color: #080; font-weight: bold } /* Keyword.Declaration */ -.codehilite.pastie .kn { color: #080; font-weight: bold } /* Keyword.Namespace */ -.codehilite.pastie .kp { color: #080 } /* Keyword.Pseudo */ -.codehilite.pastie .kr { color: #080; font-weight: bold } /* Keyword.Reserved */ -.codehilite.pastie .kt { color: #888; font-weight: bold } /* Keyword.Type */ -.codehilite.pastie .m { color: #00D; font-weight: bold } /* Literal.Number */ -.codehilite.pastie .s { color: #D20; background-color: #FFF0F0 } /* Literal.String */ -.codehilite.pastie .na { color: #369 } /* Name.Attribute */ -.codehilite.pastie .nb { color: #038 } /* Name.Builtin */ -.codehilite.pastie .nc { color: #B06; font-weight: bold } /* Name.Class */ -.codehilite.pastie .no { color: #036; font-weight: bold } /* Name.Constant */ -.codehilite.pastie .nd { color: #555 } /* Name.Decorator */ -.codehilite.pastie .ne { color: #B06; font-weight: bold } /* Name.Exception */ -.codehilite.pastie .nf { color: #06B; font-weight: bold } /* Name.Function */ -.codehilite.pastie .nl { color: #369; font-style: italic } /* Name.Label */ -.codehilite.pastie .nn { color: #B06; font-weight: bold } /* Name.Namespace */ -.codehilite.pastie .py { color: #369; font-weight: bold } /* Name.Property */ -.codehilite.pastie .nt { color: #B06; font-weight: bold } /* Name.Tag */ -.codehilite.pastie .nv { color: #369 } /* Name.Variable */ -.codehilite.pastie .ow { color: #080 } /* Operator.Word */ -.codehilite.pastie .w { color: #BBB } /* Text.Whitespace */ -.codehilite.pastie .mb { color: #00D; font-weight: bold } /* Literal.Number.Bin */ -.codehilite.pastie .mf { color: #00D; font-weight: bold } /* Literal.Number.Float */ -.codehilite.pastie .mh { color: #00D; font-weight: bold } /* Literal.Number.Hex */ -.codehilite.pastie .mi { color: #00D; font-weight: bold } /* Literal.Number.Integer */ -.codehilite.pastie .mo { color: #00D; font-weight: bold } /* Literal.Number.Oct */ -.codehilite.pastie .sa { color: #D20; background-color: #FFF0F0 } /* Literal.String.Affix */ -.codehilite.pastie .sb { color: #D20; background-color: #FFF0F0 } /* Literal.String.Backtick */ -.codehilite.pastie .sc { color: #D20; background-color: #FFF0F0 } /* Literal.String.Char */ -.codehilite.pastie .dl { color: #D20; background-color: #FFF0F0 } /* Literal.String.Delimiter */ -.codehilite.pastie .sd { color: #D20; background-color: #FFF0F0 } /* Literal.String.Doc */ -.codehilite.pastie .s2 { color: #D20; background-color: #FFF0F0 } /* Literal.String.Double */ -.codehilite.pastie .se { color: #04D; background-color: #FFF0F0 } /* Literal.String.Escape */ -.codehilite.pastie .sh { color: #D20; background-color: #FFF0F0 } /* Literal.String.Heredoc */ -.codehilite.pastie .si { color: #33B; background-color: #FFF0F0 } /* Literal.String.Interpol */ -.codehilite.pastie .sx { color: #2B2; background-color: #F0FFF0 } /* Literal.String.Other */ -.codehilite.pastie .sr { color: #080; background-color: #FFF0FF } /* Literal.String.Regex */ -.codehilite.pastie .s1 { color: #D20; background-color: #FFF0F0 } /* Literal.String.Single */ -.codehilite.pastie .ss { color: #A60; background-color: #FFF0F0 } /* Literal.String.Symbol */ -.codehilite.pastie .bp { color: #038 } /* Name.Builtin.Pseudo */ -.codehilite.pastie .fm { color: #06B; font-weight: bold } /* Name.Function.Magic */ -.codehilite.pastie .vc { color: #369 } /* Name.Variable.Class */ -.codehilite.pastie .vg { color: #D70 } /* Name.Variable.Global */ -.codehilite.pastie .vi { color: #33B } /* Name.Variable.Instance */ -.codehilite.pastie .vm { color: #369 } /* Name.Variable.Magic */ -.codehilite.pastie .il { color: #00D; font-weight: bold } /* Literal.Number.Integer.Long */ -.codehilite.perldoc .hll { background-color: #ffffcc } -.codehilite.perldoc { background: #eeeedd; } -.codehilite.perldoc .c { color: #228B22 } /* Comment */ -.codehilite.perldoc .err { color: #A61717; background-color: #E3D2D2 } /* Error */ -.codehilite.perldoc .k { color: #8B008B; font-weight: bold } /* Keyword */ -.codehilite.perldoc .ch { color: #228B22 } /* Comment.Hashbang */ -.codehilite.perldoc .cm { color: #228B22 } /* Comment.Multiline */ -.codehilite.perldoc .cp { color: #1E889B } /* Comment.Preproc */ -.codehilite.perldoc .cpf { color: #228B22 } /* Comment.PreprocFile */ -.codehilite.perldoc .c1 { color: #228B22 } /* Comment.Single */ -.codehilite.perldoc .cs { color: #8B008B; font-weight: bold } /* Comment.Special */ -.codehilite.perldoc .gd { color: #A00 } /* Generic.Deleted */ -.codehilite.perldoc .ge { font-style: italic } /* Generic.Emph */ -.codehilite.perldoc .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite.perldoc .gr { color: #A00 } /* Generic.Error */ -.codehilite.perldoc .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.codehilite.perldoc .gi { color: #0A0 } /* Generic.Inserted */ -.codehilite.perldoc .go { color: #888 } /* Generic.Output */ -.codehilite.perldoc .gp { color: #555 } /* Generic.Prompt */ -.codehilite.perldoc .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.perldoc .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.codehilite.perldoc .gt { color: #A00 } /* Generic.Traceback */ -.codehilite.perldoc .kc { color: #8B008B; font-weight: bold } /* Keyword.Constant */ -.codehilite.perldoc .kd { color: #8B008B; font-weight: bold } /* Keyword.Declaration */ -.codehilite.perldoc .kn { color: #8B008B; font-weight: bold } /* Keyword.Namespace */ -.codehilite.perldoc .kp { color: #8B008B; font-weight: bold } /* Keyword.Pseudo */ -.codehilite.perldoc .kr { color: #8B008B; font-weight: bold } /* Keyword.Reserved */ -.codehilite.perldoc .kt { color: #00688B; font-weight: bold } /* Keyword.Type */ -.codehilite.perldoc .m { color: #B452CD } /* Literal.Number */ -.codehilite.perldoc .s { color: #CD5555 } /* Literal.String */ -.codehilite.perldoc .na { color: #658B00 } /* Name.Attribute */ -.codehilite.perldoc .nb { color: #658B00 } /* Name.Builtin */ -.codehilite.perldoc .nc { color: #008B45; font-weight: bold } /* Name.Class */ -.codehilite.perldoc .no { color: #00688B } /* Name.Constant */ -.codehilite.perldoc .nd { color: #707A7C } /* Name.Decorator */ -.codehilite.perldoc .ne { color: #008B45; font-weight: bold } /* Name.Exception */ -.codehilite.perldoc .nf { color: #008B45 } /* Name.Function */ -.codehilite.perldoc .nn { color: #008B45; text-decoration: underline } /* Name.Namespace */ -.codehilite.perldoc .nt { color: #8B008B; font-weight: bold } /* Name.Tag */ -.codehilite.perldoc .nv { color: #00688B } /* Name.Variable */ -.codehilite.perldoc .ow { color: #8B008B } /* Operator.Word */ -.codehilite.perldoc .w { color: #BBB } /* Text.Whitespace */ -.codehilite.perldoc .mb { color: #B452CD } /* Literal.Number.Bin */ -.codehilite.perldoc .mf { color: #B452CD } /* Literal.Number.Float */ -.codehilite.perldoc .mh { color: #B452CD } /* Literal.Number.Hex */ -.codehilite.perldoc .mi { color: #B452CD } /* Literal.Number.Integer */ -.codehilite.perldoc .mo { color: #B452CD } /* Literal.Number.Oct */ -.codehilite.perldoc .sa { color: #CD5555 } /* Literal.String.Affix */ -.codehilite.perldoc .sb { color: #CD5555 } /* Literal.String.Backtick */ -.codehilite.perldoc .sc { color: #CD5555 } /* Literal.String.Char */ -.codehilite.perldoc .dl { color: #CD5555 } /* Literal.String.Delimiter */ -.codehilite.perldoc .sd { color: #CD5555 } /* Literal.String.Doc */ -.codehilite.perldoc .s2 { color: #CD5555 } /* Literal.String.Double */ -.codehilite.perldoc .se { color: #CD5555 } /* Literal.String.Escape */ -.codehilite.perldoc .sh { color: #1C7E71; font-style: italic } /* Literal.String.Heredoc */ -.codehilite.perldoc .si { color: #CD5555 } /* Literal.String.Interpol */ -.codehilite.perldoc .sx { color: #CB6C20 } /* Literal.String.Other */ -.codehilite.perldoc .sr { color: #1C7E71 } /* Literal.String.Regex */ -.codehilite.perldoc .s1 { color: #CD5555 } /* Literal.String.Single */ -.codehilite.perldoc .ss { color: #CD5555 } /* Literal.String.Symbol */ -.codehilite.perldoc .bp { color: #658B00 } /* Name.Builtin.Pseudo */ -.codehilite.perldoc .fm { color: #008B45 } /* Name.Function.Magic */ -.codehilite.perldoc .vc { color: #00688B } /* Name.Variable.Class */ -.codehilite.perldoc .vg { color: #00688B } /* Name.Variable.Global */ -.codehilite.perldoc .vi { color: #00688B } /* Name.Variable.Instance */ -.codehilite.perldoc .vm { color: #00688B } /* Name.Variable.Magic */ -.codehilite.perldoc .il { color: #B452CD } /* Literal.Number.Integer.Long */ -.codehilite.rainbow_dash .hll { background-color: #ffffcc } -.codehilite.rainbow_dash { background: #ffffff; color: #4D4D4D } -.codehilite.rainbow_dash .c { color: #0080FF; font-style: italic } /* Comment */ -.codehilite.rainbow_dash .err { color: #FFF; background-color: #C00 } /* Error */ -.codehilite.rainbow_dash .k { color: #2C5DCD; font-weight: bold } /* Keyword */ -.codehilite.rainbow_dash .o { color: #2C5DCD } /* Operator */ -.codehilite.rainbow_dash .ch { color: #0080FF; font-style: italic } /* Comment.Hashbang */ -.codehilite.rainbow_dash .cm { color: #0080FF; font-style: italic } /* Comment.Multiline */ -.codehilite.rainbow_dash .cp { color: #0080FF } /* Comment.Preproc */ -.codehilite.rainbow_dash .cpf { color: #0080FF; font-style: italic } /* Comment.PreprocFile */ -.codehilite.rainbow_dash .c1 { color: #0080FF; font-style: italic } /* Comment.Single */ -.codehilite.rainbow_dash .cs { color: #0080FF; font-weight: bold; font-style: italic } /* Comment.Special */ -.codehilite.rainbow_dash .gd { background-color: #FCC; border: 1px solid #C5060B } /* Generic.Deleted */ -.codehilite.rainbow_dash .ge { font-style: italic } /* Generic.Emph */ -.codehilite.rainbow_dash .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite.rainbow_dash .gr { color: #F00 } /* Generic.Error */ -.codehilite.rainbow_dash .gh { color: #2C5DCD; font-weight: bold } /* Generic.Heading */ -.codehilite.rainbow_dash .gi { background-color: #CFC; border: 1px solid #0C0 } /* Generic.Inserted */ -.codehilite.rainbow_dash .go { color: #AAA } /* Generic.Output */ -.codehilite.rainbow_dash .gp { color: #2C5DCD; font-weight: bold } /* Generic.Prompt */ -.codehilite.rainbow_dash .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.rainbow_dash .gu { color: #2C5DCD; font-weight: bold } /* Generic.Subheading */ -.codehilite.rainbow_dash .gt { color: #C5060B } /* Generic.Traceback */ -.codehilite.rainbow_dash .kc { color: #2C5DCD; font-weight: bold } /* Keyword.Constant */ -.codehilite.rainbow_dash .kd { color: #2C5DCD; font-weight: bold } /* Keyword.Declaration */ -.codehilite.rainbow_dash .kn { color: #2C5DCD; font-weight: bold } /* Keyword.Namespace */ -.codehilite.rainbow_dash .kp { color: #2C5DCD } /* Keyword.Pseudo */ -.codehilite.rainbow_dash .kr { color: #2C5DCD; font-weight: bold } /* Keyword.Reserved */ -.codehilite.rainbow_dash .kt { color: #5918BB; font-weight: bold } /* Keyword.Type */ -.codehilite.rainbow_dash .m { color: #5918BB; font-weight: bold } /* Literal.Number */ -.codehilite.rainbow_dash .s { color: #0C6 } /* Literal.String */ -.codehilite.rainbow_dash .na { color: #2C5DCD; font-style: italic } /* Name.Attribute */ -.codehilite.rainbow_dash .nb { color: #5918BB; font-weight: bold } /* Name.Builtin */ -.codehilite.rainbow_dash .nc { text-decoration: underline } /* Name.Class */ -.codehilite.rainbow_dash .no { color: #318495 } /* Name.Constant */ -.codehilite.rainbow_dash .nd { color: #FF8000; font-weight: bold } /* Name.Decorator */ -.codehilite.rainbow_dash .ni { color: #5918BB; font-weight: bold } /* Name.Entity */ -.codehilite.rainbow_dash .ne { color: #5918BB; font-weight: bold } /* Name.Exception */ -.codehilite.rainbow_dash .nf { color: #FF8000; font-weight: bold } /* Name.Function */ -.codehilite.rainbow_dash .nt { color: #2C5DCD; font-weight: bold } /* Name.Tag */ -.codehilite.rainbow_dash .ow { color: #2C5DCD; font-weight: bold } /* Operator.Word */ -.codehilite.rainbow_dash .w { color: #CBCBCB } /* Text.Whitespace */ -.codehilite.rainbow_dash .mb { color: #5918BB; font-weight: bold } /* Literal.Number.Bin */ -.codehilite.rainbow_dash .mf { color: #5918BB; font-weight: bold } /* Literal.Number.Float */ -.codehilite.rainbow_dash .mh { color: #5918BB; font-weight: bold } /* Literal.Number.Hex */ -.codehilite.rainbow_dash .mi { color: #5918BB; font-weight: bold } /* Literal.Number.Integer */ -.codehilite.rainbow_dash .mo { color: #5918BB; font-weight: bold } /* Literal.Number.Oct */ -.codehilite.rainbow_dash .sa { color: #0C6 } /* Literal.String.Affix */ -.codehilite.rainbow_dash .sb { color: #0C6 } /* Literal.String.Backtick */ -.codehilite.rainbow_dash .sc { color: #0C6 } /* Literal.String.Char */ -.codehilite.rainbow_dash .dl { color: #0C6 } /* Literal.String.Delimiter */ -.codehilite.rainbow_dash .sd { color: #0C6; font-style: italic } /* Literal.String.Doc */ -.codehilite.rainbow_dash .s2 { color: #0C6 } /* Literal.String.Double */ -.codehilite.rainbow_dash .se { color: #C5060B; font-weight: bold } /* Literal.String.Escape */ -.codehilite.rainbow_dash .sh { color: #0C6 } /* Literal.String.Heredoc */ -.codehilite.rainbow_dash .si { color: #0C6 } /* Literal.String.Interpol */ -.codehilite.rainbow_dash .sx { color: #318495 } /* Literal.String.Other */ -.codehilite.rainbow_dash .sr { color: #0C6 } /* Literal.String.Regex */ -.codehilite.rainbow_dash .s1 { color: #0C6 } /* Literal.String.Single */ -.codehilite.rainbow_dash .ss { color: #C5060B; font-weight: bold } /* Literal.String.Symbol */ -.codehilite.rainbow_dash .bp { color: #5918BB; font-weight: bold } /* Name.Builtin.Pseudo */ -.codehilite.rainbow_dash .fm { color: #FF8000; font-weight: bold } /* Name.Function.Magic */ -.codehilite.rainbow_dash .il { color: #5918BB; font-weight: bold } /* Literal.Number.Integer.Long */ -.codehilite.rrt .hll { background-color: #0000ff } -.codehilite.rrt { background: #000000; color: #DDD } -.codehilite.rrt .c { color: #0F0 } /* Comment */ -.codehilite.rrt .err { color: #DDD } /* Error */ -.codehilite.rrt .esc { color: #DDD } /* Escape */ -.codehilite.rrt .g { color: #DDD } /* Generic */ -.codehilite.rrt .k { color: #F00 } /* Keyword */ -.codehilite.rrt .l { color: #DDD } /* Literal */ -.codehilite.rrt .n { color: #DDD } /* Name */ -.codehilite.rrt .o { color: #DDD } /* Operator */ -.codehilite.rrt .x { color: #DDD } /* Other */ -.codehilite.rrt .p { color: #DDD } /* Punctuation */ -.codehilite.rrt .ch { color: #0F0 } /* Comment.Hashbang */ -.codehilite.rrt .cm { color: #0F0 } /* Comment.Multiline */ -.codehilite.rrt .cp { color: #E5E5E5 } /* Comment.Preproc */ -.codehilite.rrt .cpf { color: #0F0 } /* Comment.PreprocFile */ -.codehilite.rrt .c1 { color: #0F0 } /* Comment.Single */ -.codehilite.rrt .cs { color: #0F0 } /* Comment.Special */ -.codehilite.rrt .gd { color: #DDD } /* Generic.Deleted */ -.codehilite.rrt .ge { color: #DDD } /* Generic.Emph */ -.codehilite.rrt .ges { color: #DDD } /* Generic.EmphStrong */ -.codehilite.rrt .gr { color: #DDD } /* Generic.Error */ -.codehilite.rrt .gh { color: #DDD } /* Generic.Heading */ -.codehilite.rrt .gi { color: #DDD } /* Generic.Inserted */ -.codehilite.rrt .go { color: #DDD } /* Generic.Output */ -.codehilite.rrt .gp { color: #DDD } /* Generic.Prompt */ -.codehilite.rrt .gs { color: #DDD } /* Generic.Strong */ -.codehilite.rrt .gu { color: #DDD } /* Generic.Subheading */ -.codehilite.rrt .gt { color: #DDD } /* Generic.Traceback */ -.codehilite.rrt .kc { color: #F00 } /* Keyword.Constant */ -.codehilite.rrt .kd { color: #F00 } /* Keyword.Declaration */ -.codehilite.rrt .kn { color: #F00 } /* Keyword.Namespace */ -.codehilite.rrt .kp { color: #F00 } /* Keyword.Pseudo */ -.codehilite.rrt .kr { color: #F00 } /* Keyword.Reserved */ -.codehilite.rrt .kt { color: #EE82EE } /* Keyword.Type */ -.codehilite.rrt .ld { color: #DDD } /* Literal.Date */ -.codehilite.rrt .m { color: #F0F } /* Literal.Number */ -.codehilite.rrt .s { color: #87CEEB } /* Literal.String */ -.codehilite.rrt .na { color: #DDD } /* Name.Attribute */ -.codehilite.rrt .nb { color: #DDD } /* Name.Builtin */ -.codehilite.rrt .nc { color: #DDD } /* Name.Class */ -.codehilite.rrt .no { color: #7FFFD4 } /* Name.Constant */ -.codehilite.rrt .nd { color: #DDD } /* Name.Decorator */ -.codehilite.rrt .ni { color: #DDD } /* Name.Entity */ -.codehilite.rrt .ne { color: #DDD } /* Name.Exception */ -.codehilite.rrt .nf { color: #FF0 } /* Name.Function */ -.codehilite.rrt .nl { color: #DDD } /* Name.Label */ -.codehilite.rrt .nn { color: #DDD } /* Name.Namespace */ -.codehilite.rrt .nx { color: #DDD } /* Name.Other */ -.codehilite.rrt .py { color: #DDD } /* Name.Property */ -.codehilite.rrt .nt { color: #DDD } /* Name.Tag */ -.codehilite.rrt .nv { color: #EEDD82 } /* Name.Variable */ -.codehilite.rrt .ow { color: #F00 } /* Operator.Word */ -.codehilite.rrt .pm { color: #DDD } /* Punctuation.Marker */ -.codehilite.rrt .w { color: #DDD } /* Text.Whitespace */ -.codehilite.rrt .mb { color: #F0F } /* Literal.Number.Bin */ -.codehilite.rrt .mf { color: #F0F } /* Literal.Number.Float */ -.codehilite.rrt .mh { color: #F0F } /* Literal.Number.Hex */ -.codehilite.rrt .mi { color: #F0F } /* Literal.Number.Integer */ -.codehilite.rrt .mo { color: #F0F } /* Literal.Number.Oct */ -.codehilite.rrt .sa { color: #87CEEB } /* Literal.String.Affix */ -.codehilite.rrt .sb { color: #87CEEB } /* Literal.String.Backtick */ -.codehilite.rrt .sc { color: #87CEEB } /* Literal.String.Char */ -.codehilite.rrt .dl { color: #87CEEB } /* Literal.String.Delimiter */ -.codehilite.rrt .sd { color: #87CEEB } /* Literal.String.Doc */ -.codehilite.rrt .s2 { color: #87CEEB } /* Literal.String.Double */ -.codehilite.rrt .se { color: #87CEEB } /* Literal.String.Escape */ -.codehilite.rrt .sh { color: #87CEEB } /* Literal.String.Heredoc */ -.codehilite.rrt .si { color: #87CEEB } /* Literal.String.Interpol */ -.codehilite.rrt .sx { color: #87CEEB } /* Literal.String.Other */ -.codehilite.rrt .sr { color: #87CEEB } /* Literal.String.Regex */ -.codehilite.rrt .s1 { color: #87CEEB } /* Literal.String.Single */ -.codehilite.rrt .ss { color: #87CEEB } /* Literal.String.Symbol */ -.codehilite.rrt .bp { color: #DDD } /* Name.Builtin.Pseudo */ -.codehilite.rrt .fm { color: #FF0 } /* Name.Function.Magic */ -.codehilite.rrt .vc { color: #EEDD82 } /* Name.Variable.Class */ -.codehilite.rrt .vg { color: #EEDD82 } /* Name.Variable.Global */ -.codehilite.rrt .vi { color: #EEDD82 } /* Name.Variable.Instance */ -.codehilite.rrt .vm { color: #EEDD82 } /* Name.Variable.Magic */ -.codehilite.rrt .il { color: #F0F } /* Literal.Number.Integer.Long */ -.codehilite.sas .hll { background-color: #ffffcc } -.codehilite.sas { background: #ffffff; } -.codehilite.sas .c { color: #080; font-style: italic } /* Comment */ -.codehilite.sas .err { color: #A61717; background-color: #E3D2D2 } /* Error */ -.codehilite.sas .g { color: #2C2CFF } /* Generic */ -.codehilite.sas .k { color: #2C2CFF } /* Keyword */ -.codehilite.sas .x { background-color: #FFFFE0 } /* Other */ -.codehilite.sas .ch { color: #080; font-style: italic } /* Comment.Hashbang */ -.codehilite.sas .cm { color: #080; font-style: italic } /* Comment.Multiline */ -.codehilite.sas .cp { color: #080; font-style: italic } /* Comment.Preproc */ -.codehilite.sas .cpf { color: #080; font-style: italic } /* Comment.PreprocFile */ -.codehilite.sas .c1 { color: #080; font-style: italic } /* Comment.Single */ -.codehilite.sas .cs { color: #080; font-style: italic } /* Comment.Special */ -.codehilite.sas .gd { color: #2C2CFF } /* Generic.Deleted */ -.codehilite.sas .ge { color: #080 } /* Generic.Emph */ -.codehilite.sas .ges { color: #2C2CFF } /* Generic.EmphStrong */ -.codehilite.sas .gr { color: #D30202 } /* Generic.Error */ -.codehilite.sas .gh { color: #2C2CFF } /* Generic.Heading */ -.codehilite.sas .gi { color: #2C2CFF } /* Generic.Inserted */ -.codehilite.sas .go { color: #2C2CFF } /* Generic.Output */ -.codehilite.sas .gp { color: #2C2CFF } /* Generic.Prompt */ -.codehilite.sas .gs { color: #2C2CFF } /* Generic.Strong */ -.codehilite.sas .gu { color: #2C2CFF } /* Generic.Subheading */ -.codehilite.sas .gt { color: #2C2CFF } /* Generic.Traceback */ -.codehilite.sas .kc { color: #2C2CFF; font-weight: bold } /* Keyword.Constant */ -.codehilite.sas .kd { color: #2C2CFF } /* Keyword.Declaration */ -.codehilite.sas .kn { color: #2C2CFF } /* Keyword.Namespace */ -.codehilite.sas .kp { color: #2C2CFF } /* Keyword.Pseudo */ -.codehilite.sas .kr { color: #353580; font-weight: bold } /* Keyword.Reserved */ -.codehilite.sas .kt { color: #2C2CFF } /* Keyword.Type */ -.codehilite.sas .m { color: #2C8553; font-weight: bold } /* Literal.Number */ -.codehilite.sas .s { color: #800080 } /* Literal.String */ -.codehilite.sas .nb { color: #2C2CFF } /* Name.Builtin */ -.codehilite.sas .nf { font-weight: bold; font-style: italic } /* Name.Function */ -.codehilite.sas .nv { color: #2C2CFF; font-weight: bold } /* Name.Variable */ -.codehilite.sas .w { color: #BBB } /* Text.Whitespace */ -.codehilite.sas .mb { color: #2C8553; font-weight: bold } /* Literal.Number.Bin */ -.codehilite.sas .mf { color: #2C8553; font-weight: bold } /* Literal.Number.Float */ -.codehilite.sas .mh { color: #2C8553; font-weight: bold } /* Literal.Number.Hex */ -.codehilite.sas .mi { color: #2C8553; font-weight: bold } /* Literal.Number.Integer */ -.codehilite.sas .mo { color: #2C8553; font-weight: bold } /* Literal.Number.Oct */ -.codehilite.sas .sa { color: #800080 } /* Literal.String.Affix */ -.codehilite.sas .sb { color: #800080 } /* Literal.String.Backtick */ -.codehilite.sas .sc { color: #800080 } /* Literal.String.Char */ -.codehilite.sas .dl { color: #800080 } /* Literal.String.Delimiter */ -.codehilite.sas .sd { color: #800080 } /* Literal.String.Doc */ -.codehilite.sas .s2 { color: #800080 } /* Literal.String.Double */ -.codehilite.sas .se { color: #800080 } /* Literal.String.Escape */ -.codehilite.sas .sh { color: #800080 } /* Literal.String.Heredoc */ -.codehilite.sas .si { color: #800080 } /* Literal.String.Interpol */ -.codehilite.sas .sx { color: #800080 } /* Literal.String.Other */ -.codehilite.sas .sr { color: #800080 } /* Literal.String.Regex */ -.codehilite.sas .s1 { color: #800080 } /* Literal.String.Single */ -.codehilite.sas .ss { color: #800080 } /* Literal.String.Symbol */ -.codehilite.sas .bp { color: #2C2CFF } /* Name.Builtin.Pseudo */ -.codehilite.sas .fm { font-weight: bold; font-style: italic } /* Name.Function.Magic */ -.codehilite.sas .vc { color: #2C2CFF; font-weight: bold } /* Name.Variable.Class */ -.codehilite.sas .vg { color: #2C2CFF; font-weight: bold } /* Name.Variable.Global */ -.codehilite.sas .vi { color: #2C2CFF; font-weight: bold } /* Name.Variable.Instance */ -.codehilite.sas .vm { color: #2C2CFF; font-weight: bold } /* Name.Variable.Magic */ -.codehilite.sas .il { color: #2C8553; font-weight: bold } /* Literal.Number.Integer.Long */ -.codehilite.solarized-dark .hll { background-color: #073642 } -.codehilite.solarized-dark { background: #002b36; color: #839496 } -.codehilite.solarized-dark .c { color: #586E75; font-style: italic } /* Comment */ -.codehilite.solarized-dark .err { color: #839496; background-color: #DC322F } /* Error */ -.codehilite.solarized-dark .esc { color: #839496 } /* Escape */ -.codehilite.solarized-dark .g { color: #839496 } /* Generic */ -.codehilite.solarized-dark .k { color: #859900 } /* Keyword */ -.codehilite.solarized-dark .l { color: #839496 } /* Literal */ -.codehilite.solarized-dark .n { color: #839496 } /* Name */ -.codehilite.solarized-dark .o { color: #586E75 } /* Operator */ -.codehilite.solarized-dark .x { color: #839496 } /* Other */ -.codehilite.solarized-dark .p { color: #839496 } /* Punctuation */ -.codehilite.solarized-dark .ch { color: #586E75; font-style: italic } /* Comment.Hashbang */ -.codehilite.solarized-dark .cm { color: #586E75; font-style: italic } /* Comment.Multiline */ -.codehilite.solarized-dark .cp { color: #D33682 } /* Comment.Preproc */ -.codehilite.solarized-dark .cpf { color: #586E75 } /* Comment.PreprocFile */ -.codehilite.solarized-dark .c1 { color: #586E75; font-style: italic } /* Comment.Single */ -.codehilite.solarized-dark .cs { color: #586E75; font-style: italic } /* Comment.Special */ -.codehilite.solarized-dark .gd { color: #DC322F } /* Generic.Deleted */ -.codehilite.solarized-dark .ge { color: #839496; font-style: italic } /* Generic.Emph */ -.codehilite.solarized-dark .ges { color: #839496; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite.solarized-dark .gr { color: #DC322F } /* Generic.Error */ -.codehilite.solarized-dark .gh { color: #839496; font-weight: bold } /* Generic.Heading */ -.codehilite.solarized-dark .gi { color: #859900 } /* Generic.Inserted */ -.codehilite.solarized-dark .go { color: #839496 } /* Generic.Output */ -.codehilite.solarized-dark .gp { color: #268BD2; font-weight: bold } /* Generic.Prompt */ -.codehilite.solarized-dark .gs { color: #839496; font-weight: bold } /* Generic.Strong */ -.codehilite.solarized-dark .gu { color: #839496; text-decoration: underline } /* Generic.Subheading */ -.codehilite.solarized-dark .gt { color: #268BD2 } /* Generic.Traceback */ -.codehilite.solarized-dark .kc { color: #2AA198 } /* Keyword.Constant */ -.codehilite.solarized-dark .kd { color: #2AA198 } /* Keyword.Declaration */ -.codehilite.solarized-dark .kn { color: #CB4B16 } /* Keyword.Namespace */ -.codehilite.solarized-dark .kp { color: #859900 } /* Keyword.Pseudo */ -.codehilite.solarized-dark .kr { color: #859900 } /* Keyword.Reserved */ -.codehilite.solarized-dark .kt { color: #B58900 } /* Keyword.Type */ -.codehilite.solarized-dark .ld { color: #839496 } /* Literal.Date */ -.codehilite.solarized-dark .m { color: #2AA198 } /* Literal.Number */ -.codehilite.solarized-dark .s { color: #2AA198 } /* Literal.String */ -.codehilite.solarized-dark .na { color: #839496 } /* Name.Attribute */ -.codehilite.solarized-dark .nb { color: #268BD2 } /* Name.Builtin */ -.codehilite.solarized-dark .nc { color: #268BD2 } /* Name.Class */ -.codehilite.solarized-dark .no { color: #268BD2 } /* Name.Constant */ -.codehilite.solarized-dark .nd { color: #268BD2 } /* Name.Decorator */ -.codehilite.solarized-dark .ni { color: #268BD2 } /* Name.Entity */ -.codehilite.solarized-dark .ne { color: #268BD2 } /* Name.Exception */ -.codehilite.solarized-dark .nf { color: #268BD2 } /* Name.Function */ -.codehilite.solarized-dark .nl { color: #268BD2 } /* Name.Label */ -.codehilite.solarized-dark .nn { color: #268BD2 } /* Name.Namespace */ -.codehilite.solarized-dark .nx { color: #839496 } /* Name.Other */ -.codehilite.solarized-dark .py { color: #839496 } /* Name.Property */ -.codehilite.solarized-dark .nt { color: #268BD2 } /* Name.Tag */ -.codehilite.solarized-dark .nv { color: #268BD2 } /* Name.Variable */ -.codehilite.solarized-dark .ow { color: #859900 } /* Operator.Word */ -.codehilite.solarized-dark .pm { color: #839496 } /* Punctuation.Marker */ -.codehilite.solarized-dark .w { color: #839496 } /* Text.Whitespace */ -.codehilite.solarized-dark .mb { color: #2AA198 } /* Literal.Number.Bin */ -.codehilite.solarized-dark .mf { color: #2AA198 } /* Literal.Number.Float */ -.codehilite.solarized-dark .mh { color: #2AA198 } /* Literal.Number.Hex */ -.codehilite.solarized-dark .mi { color: #2AA198 } /* Literal.Number.Integer */ -.codehilite.solarized-dark .mo { color: #2AA198 } /* Literal.Number.Oct */ -.codehilite.solarized-dark .sa { color: #2AA198 } /* Literal.String.Affix */ -.codehilite.solarized-dark .sb { color: #2AA198 } /* Literal.String.Backtick */ -.codehilite.solarized-dark .sc { color: #2AA198 } /* Literal.String.Char */ -.codehilite.solarized-dark .dl { color: #2AA198 } /* Literal.String.Delimiter */ -.codehilite.solarized-dark .sd { color: #586E75 } /* Literal.String.Doc */ -.codehilite.solarized-dark .s2 { color: #2AA198 } /* Literal.String.Double */ -.codehilite.solarized-dark .se { color: #2AA198 } /* Literal.String.Escape */ -.codehilite.solarized-dark .sh { color: #2AA198 } /* Literal.String.Heredoc */ -.codehilite.solarized-dark .si { color: #2AA198 } /* Literal.String.Interpol */ -.codehilite.solarized-dark .sx { color: #2AA198 } /* Literal.String.Other */ -.codehilite.solarized-dark .sr { color: #CB4B16 } /* Literal.String.Regex */ -.codehilite.solarized-dark .s1 { color: #2AA198 } /* Literal.String.Single */ -.codehilite.solarized-dark .ss { color: #2AA198 } /* Literal.String.Symbol */ -.codehilite.solarized-dark .bp { color: #268BD2 } /* Name.Builtin.Pseudo */ -.codehilite.solarized-dark .fm { color: #268BD2 } /* Name.Function.Magic */ -.codehilite.solarized-dark .vc { color: #268BD2 } /* Name.Variable.Class */ -.codehilite.solarized-dark .vg { color: #268BD2 } /* Name.Variable.Global */ -.codehilite.solarized-dark .vi { color: #268BD2 } /* Name.Variable.Instance */ -.codehilite.solarized-dark .vm { color: #268BD2 } /* Name.Variable.Magic */ -.codehilite.solarized-dark .il { color: #2AA198 } /* Literal.Number.Integer.Long */ -.codehilite.solarized-light .hll { background-color: #eee8d5 } -.codehilite.solarized-light { background: #fdf6e3; color: #657B83 } -.codehilite.solarized-light .c { color: #93A1A1; font-style: italic } /* Comment */ -.codehilite.solarized-light .err { color: #657B83; background-color: #DC322F } /* Error */ -.codehilite.solarized-light .esc { color: #657B83 } /* Escape */ -.codehilite.solarized-light .g { color: #657B83 } /* Generic */ -.codehilite.solarized-light .k { color: #859900 } /* Keyword */ -.codehilite.solarized-light .l { color: #657B83 } /* Literal */ -.codehilite.solarized-light .n { color: #657B83 } /* Name */ -.codehilite.solarized-light .o { color: #93A1A1 } /* Operator */ -.codehilite.solarized-light .x { color: #657B83 } /* Other */ -.codehilite.solarized-light .p { color: #657B83 } /* Punctuation */ -.codehilite.solarized-light .ch { color: #93A1A1; font-style: italic } /* Comment.Hashbang */ -.codehilite.solarized-light .cm { color: #93A1A1; font-style: italic } /* Comment.Multiline */ -.codehilite.solarized-light .cp { color: #D33682 } /* Comment.Preproc */ -.codehilite.solarized-light .cpf { color: #93A1A1 } /* Comment.PreprocFile */ -.codehilite.solarized-light .c1 { color: #93A1A1; font-style: italic } /* Comment.Single */ -.codehilite.solarized-light .cs { color: #93A1A1; font-style: italic } /* Comment.Special */ -.codehilite.solarized-light .gd { color: #DC322F } /* Generic.Deleted */ -.codehilite.solarized-light .ge { color: #657B83; font-style: italic } /* Generic.Emph */ -.codehilite.solarized-light .ges { color: #657B83; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite.solarized-light .gr { color: #DC322F } /* Generic.Error */ -.codehilite.solarized-light .gh { color: #657B83; font-weight: bold } /* Generic.Heading */ -.codehilite.solarized-light .gi { color: #859900 } /* Generic.Inserted */ -.codehilite.solarized-light .go { color: #657B83 } /* Generic.Output */ -.codehilite.solarized-light .gp { color: #268BD2; font-weight: bold } /* Generic.Prompt */ -.codehilite.solarized-light .gs { color: #657B83; font-weight: bold } /* Generic.Strong */ -.codehilite.solarized-light .gu { color: #657B83; text-decoration: underline } /* Generic.Subheading */ -.codehilite.solarized-light .gt { color: #268BD2 } /* Generic.Traceback */ -.codehilite.solarized-light .kc { color: #2AA198 } /* Keyword.Constant */ -.codehilite.solarized-light .kd { color: #2AA198 } /* Keyword.Declaration */ -.codehilite.solarized-light .kn { color: #CB4B16 } /* Keyword.Namespace */ -.codehilite.solarized-light .kp { color: #859900 } /* Keyword.Pseudo */ -.codehilite.solarized-light .kr { color: #859900 } /* Keyword.Reserved */ -.codehilite.solarized-light .kt { color: #B58900 } /* Keyword.Type */ -.codehilite.solarized-light .ld { color: #657B83 } /* Literal.Date */ -.codehilite.solarized-light .m { color: #2AA198 } /* Literal.Number */ -.codehilite.solarized-light .s { color: #2AA198 } /* Literal.String */ -.codehilite.solarized-light .na { color: #657B83 } /* Name.Attribute */ -.codehilite.solarized-light .nb { color: #268BD2 } /* Name.Builtin */ -.codehilite.solarized-light .nc { color: #268BD2 } /* Name.Class */ -.codehilite.solarized-light .no { color: #268BD2 } /* Name.Constant */ -.codehilite.solarized-light .nd { color: #268BD2 } /* Name.Decorator */ -.codehilite.solarized-light .ni { color: #268BD2 } /* Name.Entity */ -.codehilite.solarized-light .ne { color: #268BD2 } /* Name.Exception */ -.codehilite.solarized-light .nf { color: #268BD2 } /* Name.Function */ -.codehilite.solarized-light .nl { color: #268BD2 } /* Name.Label */ -.codehilite.solarized-light .nn { color: #268BD2 } /* Name.Namespace */ -.codehilite.solarized-light .nx { color: #657B83 } /* Name.Other */ -.codehilite.solarized-light .py { color: #657B83 } /* Name.Property */ -.codehilite.solarized-light .nt { color: #268BD2 } /* Name.Tag */ -.codehilite.solarized-light .nv { color: #268BD2 } /* Name.Variable */ -.codehilite.solarized-light .ow { color: #859900 } /* Operator.Word */ -.codehilite.solarized-light .pm { color: #657B83 } /* Punctuation.Marker */ -.codehilite.solarized-light .w { color: #657B83 } /* Text.Whitespace */ -.codehilite.solarized-light .mb { color: #2AA198 } /* Literal.Number.Bin */ -.codehilite.solarized-light .mf { color: #2AA198 } /* Literal.Number.Float */ -.codehilite.solarized-light .mh { color: #2AA198 } /* Literal.Number.Hex */ -.codehilite.solarized-light .mi { color: #2AA198 } /* Literal.Number.Integer */ -.codehilite.solarized-light .mo { color: #2AA198 } /* Literal.Number.Oct */ -.codehilite.solarized-light .sa { color: #2AA198 } /* Literal.String.Affix */ -.codehilite.solarized-light .sb { color: #2AA198 } /* Literal.String.Backtick */ -.codehilite.solarized-light .sc { color: #2AA198 } /* Literal.String.Char */ -.codehilite.solarized-light .dl { color: #2AA198 } /* Literal.String.Delimiter */ -.codehilite.solarized-light .sd { color: #93A1A1 } /* Literal.String.Doc */ -.codehilite.solarized-light .s2 { color: #2AA198 } /* Literal.String.Double */ -.codehilite.solarized-light .se { color: #2AA198 } /* Literal.String.Escape */ -.codehilite.solarized-light .sh { color: #2AA198 } /* Literal.String.Heredoc */ -.codehilite.solarized-light .si { color: #2AA198 } /* Literal.String.Interpol */ -.codehilite.solarized-light .sx { color: #2AA198 } /* Literal.String.Other */ -.codehilite.solarized-light .sr { color: #CB4B16 } /* Literal.String.Regex */ -.codehilite.solarized-light .s1 { color: #2AA198 } /* Literal.String.Single */ -.codehilite.solarized-light .ss { color: #2AA198 } /* Literal.String.Symbol */ -.codehilite.solarized-light .bp { color: #268BD2 } /* Name.Builtin.Pseudo */ -.codehilite.solarized-light .fm { color: #268BD2 } /* Name.Function.Magic */ -.codehilite.solarized-light .vc { color: #268BD2 } /* Name.Variable.Class */ -.codehilite.solarized-light .vg { color: #268BD2 } /* Name.Variable.Global */ -.codehilite.solarized-light .vi { color: #268BD2 } /* Name.Variable.Instance */ -.codehilite.solarized-light .vm { color: #268BD2 } /* Name.Variable.Magic */ -.codehilite.solarized-light .il { color: #2AA198 } /* Literal.Number.Integer.Long */ -.codehilite.staroffice .hll { background-color: #ffffcc } -.codehilite.staroffice { background: #ffffff; color: #000080 } -.codehilite.staroffice .c { color: #696969 } /* Comment */ -.codehilite.staroffice .err { color: #800000 } /* Error */ -.codehilite.staroffice .esc { color: #000080 } /* Escape */ -.codehilite.staroffice .g { color: #000080 } /* Generic */ -.codehilite.staroffice .k { color: #000080 } /* Keyword */ -.codehilite.staroffice .l { color: #E00 } /* Literal */ -.codehilite.staroffice .n { color: #008000 } /* Name */ -.codehilite.staroffice .o { color: #000080 } /* Operator */ -.codehilite.staroffice .x { color: #000080 } /* Other */ -.codehilite.staroffice .p { color: #000080 } /* Punctuation */ -.codehilite.staroffice .ch { color: #696969 } /* Comment.Hashbang */ -.codehilite.staroffice .cm { color: #696969 } /* Comment.Multiline */ -.codehilite.staroffice .cp { color: #696969 } /* Comment.Preproc */ -.codehilite.staroffice .cpf { color: #696969 } /* Comment.PreprocFile */ -.codehilite.staroffice .c1 { color: #696969 } /* Comment.Single */ -.codehilite.staroffice .cs { color: #696969 } /* Comment.Special */ -.codehilite.staroffice .gd { color: #000080 } /* Generic.Deleted */ -.codehilite.staroffice .ge { color: #000080 } /* Generic.Emph */ -.codehilite.staroffice .ges { color: #000080 } /* Generic.EmphStrong */ -.codehilite.staroffice .gr { color: #000080 } /* Generic.Error */ -.codehilite.staroffice .gh { color: #000080 } /* Generic.Heading */ -.codehilite.staroffice .gi { color: #000080 } /* Generic.Inserted */ -.codehilite.staroffice .go { color: #000080 } /* Generic.Output */ -.codehilite.staroffice .gp { color: #000080 } /* Generic.Prompt */ -.codehilite.staroffice .gs { color: #000080 } /* Generic.Strong */ -.codehilite.staroffice .gu { color: #000080 } /* Generic.Subheading */ -.codehilite.staroffice .gt { color: #000080 } /* Generic.Traceback */ -.codehilite.staroffice .kc { color: #000080 } /* Keyword.Constant */ -.codehilite.staroffice .kd { color: #000080 } /* Keyword.Declaration */ -.codehilite.staroffice .kn { color: #000080 } /* Keyword.Namespace */ -.codehilite.staroffice .kp { color: #000080 } /* Keyword.Pseudo */ -.codehilite.staroffice .kr { color: #000080 } /* Keyword.Reserved */ -.codehilite.staroffice .kt { color: #000080 } /* Keyword.Type */ -.codehilite.staroffice .ld { color: #E00 } /* Literal.Date */ -.codehilite.staroffice .m { color: #E00 } /* Literal.Number */ -.codehilite.staroffice .s { color: #E00 } /* Literal.String */ -.codehilite.staroffice .na { color: #008000 } /* Name.Attribute */ -.codehilite.staroffice .nb { color: #008000 } /* Name.Builtin */ -.codehilite.staroffice .nc { color: #008000 } /* Name.Class */ -.codehilite.staroffice .no { color: #008000 } /* Name.Constant */ -.codehilite.staroffice .nd { color: #008000 } /* Name.Decorator */ -.codehilite.staroffice .ni { color: #008000 } /* Name.Entity */ -.codehilite.staroffice .ne { color: #008000 } /* Name.Exception */ -.codehilite.staroffice .nf { color: #008000 } /* Name.Function */ -.codehilite.staroffice .nl { color: #008000 } /* Name.Label */ -.codehilite.staroffice .nn { color: #008000 } /* Name.Namespace */ -.codehilite.staroffice .nx { color: #008000 } /* Name.Other */ -.codehilite.staroffice .py { color: #008000 } /* Name.Property */ -.codehilite.staroffice .nt { color: #008000 } /* Name.Tag */ -.codehilite.staroffice .nv { color: #008000 } /* Name.Variable */ -.codehilite.staroffice .ow { color: #000080 } /* Operator.Word */ -.codehilite.staroffice .pm { color: #000080 } /* Punctuation.Marker */ -.codehilite.staroffice .w { color: #000080 } /* Text.Whitespace */ -.codehilite.staroffice .mb { color: #E00 } /* Literal.Number.Bin */ -.codehilite.staroffice .mf { color: #E00 } /* Literal.Number.Float */ -.codehilite.staroffice .mh { color: #E00 } /* Literal.Number.Hex */ -.codehilite.staroffice .mi { color: #E00 } /* Literal.Number.Integer */ -.codehilite.staroffice .mo { color: #E00 } /* Literal.Number.Oct */ -.codehilite.staroffice .sa { color: #E00 } /* Literal.String.Affix */ -.codehilite.staroffice .sb { color: #E00 } /* Literal.String.Backtick */ -.codehilite.staroffice .sc { color: #E00 } /* Literal.String.Char */ -.codehilite.staroffice .dl { color: #E00 } /* Literal.String.Delimiter */ -.codehilite.staroffice .sd { color: #E00 } /* Literal.String.Doc */ -.codehilite.staroffice .s2 { color: #E00 } /* Literal.String.Double */ -.codehilite.staroffice .se { color: #E00 } /* Literal.String.Escape */ -.codehilite.staroffice .sh { color: #E00 } /* Literal.String.Heredoc */ -.codehilite.staroffice .si { color: #E00 } /* Literal.String.Interpol */ -.codehilite.staroffice .sx { color: #E00 } /* Literal.String.Other */ -.codehilite.staroffice .sr { color: #E00 } /* Literal.String.Regex */ -.codehilite.staroffice .s1 { color: #E00 } /* Literal.String.Single */ -.codehilite.staroffice .ss { color: #E00 } /* Literal.String.Symbol */ -.codehilite.staroffice .bp { color: #008000 } /* Name.Builtin.Pseudo */ -.codehilite.staroffice .fm { color: #008000 } /* Name.Function.Magic */ -.codehilite.staroffice .vc { color: #008000 } /* Name.Variable.Class */ -.codehilite.staroffice .vg { color: #008000 } /* Name.Variable.Global */ -.codehilite.staroffice .vi { color: #008000 } /* Name.Variable.Instance */ -.codehilite.staroffice .vm { color: #008000 } /* Name.Variable.Magic */ -.codehilite.staroffice .il { color: #E00 } /* Literal.Number.Integer.Long */ -.codehilite.stata-dark .hll { background-color: #49483e } -.codehilite.stata-dark { background: #232629; color: #CCC } -.codehilite.stata-dark .c { color: #777; font-style: italic } /* Comment */ -.codehilite.stata-dark .err { color: #A61717; background-color: #E3D2D2 } /* Error */ -.codehilite.stata-dark .esc { color: #CCC } /* Escape */ -.codehilite.stata-dark .g { color: #CCC } /* Generic */ -.codehilite.stata-dark .k { color: #7686BB; font-weight: bold } /* Keyword */ -.codehilite.stata-dark .l { color: #CCC } /* Literal */ -.codehilite.stata-dark .n { color: #CCC } /* Name */ -.codehilite.stata-dark .o { color: #CCC } /* Operator */ -.codehilite.stata-dark .x { color: #CCC } /* Other */ -.codehilite.stata-dark .p { color: #CCC } /* Punctuation */ -.codehilite.stata-dark .ch { color: #777; font-style: italic } /* Comment.Hashbang */ -.codehilite.stata-dark .cm { color: #777; font-style: italic } /* Comment.Multiline */ -.codehilite.stata-dark .cp { color: #777; font-style: italic } /* Comment.Preproc */ -.codehilite.stata-dark .cpf { color: #777; font-style: italic } /* Comment.PreprocFile */ -.codehilite.stata-dark .c1 { color: #777; font-style: italic } /* Comment.Single */ -.codehilite.stata-dark .cs { color: #777; font-style: italic } /* Comment.Special */ -.codehilite.stata-dark .gd { color: #CCC } /* Generic.Deleted */ -.codehilite.stata-dark .ge { color: #CCC } /* Generic.Emph */ -.codehilite.stata-dark .ges { color: #CCC } /* Generic.EmphStrong */ -.codehilite.stata-dark .gr { color: #CCC } /* Generic.Error */ -.codehilite.stata-dark .gh { color: #CCC } /* Generic.Heading */ -.codehilite.stata-dark .gi { color: #CCC } /* Generic.Inserted */ -.codehilite.stata-dark .go { color: #CCC } /* Generic.Output */ -.codehilite.stata-dark .gp { color: #FFF } /* Generic.Prompt */ -.codehilite.stata-dark .gs { color: #CCC } /* Generic.Strong */ -.codehilite.stata-dark .gu { color: #CCC } /* Generic.Subheading */ -.codehilite.stata-dark .gt { color: #CCC } /* Generic.Traceback */ -.codehilite.stata-dark .kc { color: #7686BB; font-weight: bold } /* Keyword.Constant */ -.codehilite.stata-dark .kd { color: #7686BB; font-weight: bold } /* Keyword.Declaration */ -.codehilite.stata-dark .kn { color: #7686BB; font-weight: bold } /* Keyword.Namespace */ -.codehilite.stata-dark .kp { color: #7686BB; font-weight: bold } /* Keyword.Pseudo */ -.codehilite.stata-dark .kr { color: #7686BB; font-weight: bold } /* Keyword.Reserved */ -.codehilite.stata-dark .kt { color: #7686BB; font-weight: bold } /* Keyword.Type */ -.codehilite.stata-dark .ld { color: #CCC } /* Literal.Date */ -.codehilite.stata-dark .m { color: #4FB8CC } /* Literal.Number */ -.codehilite.stata-dark .s { color: #51CC99 } /* Literal.String */ -.codehilite.stata-dark .na { color: #CCC } /* Name.Attribute */ -.codehilite.stata-dark .nb { color: #CCC } /* Name.Builtin */ -.codehilite.stata-dark .nc { color: #CCC } /* Name.Class */ -.codehilite.stata-dark .no { color: #CCC } /* Name.Constant */ -.codehilite.stata-dark .nd { color: #CCC } /* Name.Decorator */ -.codehilite.stata-dark .ni { color: #CCC } /* Name.Entity */ -.codehilite.stata-dark .ne { color: #CCC } /* Name.Exception */ -.codehilite.stata-dark .nf { color: #6A6AFF } /* Name.Function */ -.codehilite.stata-dark .nl { color: #CCC } /* Name.Label */ -.codehilite.stata-dark .nn { color: #CCC } /* Name.Namespace */ -.codehilite.stata-dark .nx { color: #E2828E } /* Name.Other */ -.codehilite.stata-dark .py { color: #CCC } /* Name.Property */ -.codehilite.stata-dark .nt { color: #CCC } /* Name.Tag */ -.codehilite.stata-dark .nv { color: #7AB4DB; font-weight: bold } /* Name.Variable */ -.codehilite.stata-dark .ow { color: #CCC } /* Operator.Word */ -.codehilite.stata-dark .pm { color: #CCC } /* Punctuation.Marker */ -.codehilite.stata-dark .w { color: #BBB } /* Text.Whitespace */ -.codehilite.stata-dark .mb { color: #4FB8CC } /* Literal.Number.Bin */ -.codehilite.stata-dark .mf { color: #4FB8CC } /* Literal.Number.Float */ -.codehilite.stata-dark .mh { color: #4FB8CC } /* Literal.Number.Hex */ -.codehilite.stata-dark .mi { color: #4FB8CC } /* Literal.Number.Integer */ -.codehilite.stata-dark .mo { color: #4FB8CC } /* Literal.Number.Oct */ -.codehilite.stata-dark .sa { color: #51CC99 } /* Literal.String.Affix */ -.codehilite.stata-dark .sb { color: #51CC99 } /* Literal.String.Backtick */ -.codehilite.stata-dark .sc { color: #51CC99 } /* Literal.String.Char */ -.codehilite.stata-dark .dl { color: #51CC99 } /* Literal.String.Delimiter */ -.codehilite.stata-dark .sd { color: #51CC99 } /* Literal.String.Doc */ -.codehilite.stata-dark .s2 { color: #51CC99 } /* Literal.String.Double */ -.codehilite.stata-dark .se { color: #51CC99 } /* Literal.String.Escape */ -.codehilite.stata-dark .sh { color: #51CC99 } /* Literal.String.Heredoc */ -.codehilite.stata-dark .si { color: #51CC99 } /* Literal.String.Interpol */ -.codehilite.stata-dark .sx { color: #51CC99 } /* Literal.String.Other */ -.codehilite.stata-dark .sr { color: #51CC99 } /* Literal.String.Regex */ -.codehilite.stata-dark .s1 { color: #51CC99 } /* Literal.String.Single */ -.codehilite.stata-dark .ss { color: #51CC99 } /* Literal.String.Symbol */ -.codehilite.stata-dark .bp { color: #CCC } /* Name.Builtin.Pseudo */ -.codehilite.stata-dark .fm { color: #6A6AFF } /* Name.Function.Magic */ -.codehilite.stata-dark .vc { color: #7AB4DB; font-weight: bold } /* Name.Variable.Class */ -.codehilite.stata-dark .vg { color: #BE646C; font-weight: bold } /* Name.Variable.Global */ -.codehilite.stata-dark .vi { color: #7AB4DB; font-weight: bold } /* Name.Variable.Instance */ -.codehilite.stata-dark .vm { color: #7AB4DB; font-weight: bold } /* Name.Variable.Magic */ -.codehilite.stata-dark .il { color: #4FB8CC } /* Literal.Number.Integer.Long */ -.codehilite.stata-light .hll { background-color: #ffffcc } -.codehilite.stata-light { background: #ffffff; color: #111 } -.codehilite.stata-light .c { color: #080; font-style: italic } /* Comment */ -.codehilite.stata-light .err { color: #A61717; background-color: #E3D2D2 } /* Error */ -.codehilite.stata-light .k { color: #353580; font-weight: bold } /* Keyword */ -.codehilite.stata-light .ch { color: #080; font-style: italic } /* Comment.Hashbang */ -.codehilite.stata-light .cm { color: #080; font-style: italic } /* Comment.Multiline */ -.codehilite.stata-light .cp { color: #080; font-style: italic } /* Comment.Preproc */ -.codehilite.stata-light .cpf { color: #080; font-style: italic } /* Comment.PreprocFile */ -.codehilite.stata-light .c1 { color: #080; font-style: italic } /* Comment.Single */ -.codehilite.stata-light .cs { color: #080; font-style: italic } /* Comment.Special */ -.codehilite.stata-light .kc { color: #353580; font-weight: bold } /* Keyword.Constant */ -.codehilite.stata-light .kd { color: #353580; font-weight: bold } /* Keyword.Declaration */ -.codehilite.stata-light .kn { color: #353580; font-weight: bold } /* Keyword.Namespace */ -.codehilite.stata-light .kp { color: #353580; font-weight: bold } /* Keyword.Pseudo */ -.codehilite.stata-light .kr { color: #353580; font-weight: bold } /* Keyword.Reserved */ -.codehilite.stata-light .kt { color: #353580; font-weight: bold } /* Keyword.Type */ -.codehilite.stata-light .m { color: #2C2CFF } /* Literal.Number */ -.codehilite.stata-light .s { color: #7A2424 } /* Literal.String */ -.codehilite.stata-light .nf { color: #2C2CFF } /* Name.Function */ -.codehilite.stata-light .nx { color: #BE646C } /* Name.Other */ -.codehilite.stata-light .nv { color: #35BABA; font-weight: bold } /* Name.Variable */ -.codehilite.stata-light .w { color: #BBB } /* Text.Whitespace */ -.codehilite.stata-light .mb { color: #2C2CFF } /* Literal.Number.Bin */ -.codehilite.stata-light .mf { color: #2C2CFF } /* Literal.Number.Float */ -.codehilite.stata-light .mh { color: #2C2CFF } /* Literal.Number.Hex */ -.codehilite.stata-light .mi { color: #2C2CFF } /* Literal.Number.Integer */ -.codehilite.stata-light .mo { color: #2C2CFF } /* Literal.Number.Oct */ -.codehilite.stata-light .sa { color: #7A2424 } /* Literal.String.Affix */ -.codehilite.stata-light .sb { color: #7A2424 } /* Literal.String.Backtick */ -.codehilite.stata-light .sc { color: #7A2424 } /* Literal.String.Char */ -.codehilite.stata-light .dl { color: #7A2424 } /* Literal.String.Delimiter */ -.codehilite.stata-light .sd { color: #7A2424 } /* Literal.String.Doc */ -.codehilite.stata-light .s2 { color: #7A2424 } /* Literal.String.Double */ -.codehilite.stata-light .se { color: #7A2424 } /* Literal.String.Escape */ -.codehilite.stata-light .sh { color: #7A2424 } /* Literal.String.Heredoc */ -.codehilite.stata-light .si { color: #7A2424 } /* Literal.String.Interpol */ -.codehilite.stata-light .sx { color: #7A2424 } /* Literal.String.Other */ -.codehilite.stata-light .sr { color: #7A2424 } /* Literal.String.Regex */ -.codehilite.stata-light .s1 { color: #7A2424 } /* Literal.String.Single */ -.codehilite.stata-light .ss { color: #7A2424 } /* Literal.String.Symbol */ -.codehilite.stata-light .fm { color: #2C2CFF } /* Name.Function.Magic */ -.codehilite.stata-light .vc { color: #35BABA; font-weight: bold } /* Name.Variable.Class */ -.codehilite.stata-light .vg { color: #B5565E; font-weight: bold } /* Name.Variable.Global */ -.codehilite.stata-light .vi { color: #35BABA; font-weight: bold } /* Name.Variable.Instance */ -.codehilite.stata-light .vm { color: #35BABA; font-weight: bold } /* Name.Variable.Magic */ -.codehilite.stata-light .il { color: #2C2CFF } /* Literal.Number.Integer.Long */ -.codehilite.tango .hll { background-color: #ffffcc } -.codehilite.tango { background: #f8f8f8; } -.codehilite.tango .c { color: #8F5902; font-style: italic } /* Comment */ -.codehilite.tango .err { color: #A40000; border: 1px solid #EF2929 } /* Error */ -.codehilite.tango .g { color: #000 } /* Generic */ -.codehilite.tango .k { color: #204A87; font-weight: bold } /* Keyword */ -.codehilite.tango .l { color: #000 } /* Literal */ -.codehilite.tango .n { color: #000 } /* Name */ -.codehilite.tango .o { color: #CE5C00; font-weight: bold } /* Operator */ -.codehilite.tango .x { color: #000 } /* Other */ -.codehilite.tango .p { color: #000; font-weight: bold } /* Punctuation */ -.codehilite.tango .ch { color: #8F5902; font-style: italic } /* Comment.Hashbang */ -.codehilite.tango .cm { color: #8F5902; font-style: italic } /* Comment.Multiline */ -.codehilite.tango .cp { color: #8F5902; font-style: italic } /* Comment.Preproc */ -.codehilite.tango .cpf { color: #8F5902; font-style: italic } /* Comment.PreprocFile */ -.codehilite.tango .c1 { color: #8F5902; font-style: italic } /* Comment.Single */ -.codehilite.tango .cs { color: #8F5902; font-style: italic } /* Comment.Special */ -.codehilite.tango .gd { color: #A40000 } /* Generic.Deleted */ -.codehilite.tango .ge { color: #000; font-style: italic } /* Generic.Emph */ -.codehilite.tango .ges { color: #000; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite.tango .gr { color: #EF2929 } /* Generic.Error */ -.codehilite.tango .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.codehilite.tango .gi { color: #00A000 } /* Generic.Inserted */ -.codehilite.tango .go { color: #000; font-style: italic } /* Generic.Output */ -.codehilite.tango .gp { color: #8F5902 } /* Generic.Prompt */ -.codehilite.tango .gs { color: #000; font-weight: bold } /* Generic.Strong */ -.codehilite.tango .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.codehilite.tango .gt { color: #A40000; font-weight: bold } /* Generic.Traceback */ -.codehilite.tango .kc { color: #204A87; font-weight: bold } /* Keyword.Constant */ -.codehilite.tango .kd { color: #204A87; font-weight: bold } /* Keyword.Declaration */ -.codehilite.tango .kn { color: #204A87; font-weight: bold } /* Keyword.Namespace */ -.codehilite.tango .kp { color: #204A87; font-weight: bold } /* Keyword.Pseudo */ -.codehilite.tango .kr { color: #204A87; font-weight: bold } /* Keyword.Reserved */ -.codehilite.tango .kt { color: #204A87; font-weight: bold } /* Keyword.Type */ -.codehilite.tango .ld { color: #000 } /* Literal.Date */ -.codehilite.tango .m { color: #0000CF; font-weight: bold } /* Literal.Number */ -.codehilite.tango .s { color: #4E9A06 } /* Literal.String */ -.codehilite.tango .na { color: #C4A000 } /* Name.Attribute */ -.codehilite.tango .nb { color: #204A87 } /* Name.Builtin */ -.codehilite.tango .nc { color: #000 } /* Name.Class */ -.codehilite.tango .no { color: #000 } /* Name.Constant */ -.codehilite.tango .nd { color: #5C35CC; font-weight: bold } /* Name.Decorator */ -.codehilite.tango .ni { color: #CE5C00 } /* Name.Entity */ -.codehilite.tango .ne { color: #C00; font-weight: bold } /* Name.Exception */ -.codehilite.tango .nf { color: #000 } /* Name.Function */ -.codehilite.tango .nl { color: #F57900 } /* Name.Label */ -.codehilite.tango .nn { color: #000 } /* Name.Namespace */ -.codehilite.tango .nx { color: #000 } /* Name.Other */ -.codehilite.tango .py { color: #000 } /* Name.Property */ -.codehilite.tango .nt { color: #204A87; font-weight: bold } /* Name.Tag */ -.codehilite.tango .nv { color: #000 } /* Name.Variable */ -.codehilite.tango .ow { color: #204A87; font-weight: bold } /* Operator.Word */ -.codehilite.tango .pm { color: #000; font-weight: bold } /* Punctuation.Marker */ -.codehilite.tango .w { color: #F8F8F8 } /* Text.Whitespace */ -.codehilite.tango .mb { color: #0000CF; font-weight: bold } /* Literal.Number.Bin */ -.codehilite.tango .mf { color: #0000CF; font-weight: bold } /* Literal.Number.Float */ -.codehilite.tango .mh { color: #0000CF; font-weight: bold } /* Literal.Number.Hex */ -.codehilite.tango .mi { color: #0000CF; font-weight: bold } /* Literal.Number.Integer */ -.codehilite.tango .mo { color: #0000CF; font-weight: bold } /* Literal.Number.Oct */ -.codehilite.tango .sa { color: #4E9A06 } /* Literal.String.Affix */ -.codehilite.tango .sb { color: #4E9A06 } /* Literal.String.Backtick */ -.codehilite.tango .sc { color: #4E9A06 } /* Literal.String.Char */ -.codehilite.tango .dl { color: #4E9A06 } /* Literal.String.Delimiter */ -.codehilite.tango .sd { color: #8F5902; font-style: italic } /* Literal.String.Doc */ -.codehilite.tango .s2 { color: #4E9A06 } /* Literal.String.Double */ -.codehilite.tango .se { color: #4E9A06 } /* Literal.String.Escape */ -.codehilite.tango .sh { color: #4E9A06 } /* Literal.String.Heredoc */ -.codehilite.tango .si { color: #4E9A06 } /* Literal.String.Interpol */ -.codehilite.tango .sx { color: #4E9A06 } /* Literal.String.Other */ -.codehilite.tango .sr { color: #4E9A06 } /* Literal.String.Regex */ -.codehilite.tango .s1 { color: #4E9A06 } /* Literal.String.Single */ -.codehilite.tango .ss { color: #4E9A06 } /* Literal.String.Symbol */ -.codehilite.tango .bp { color: #3465A4 } /* Name.Builtin.Pseudo */ -.codehilite.tango .fm { color: #000 } /* Name.Function.Magic */ -.codehilite.tango .vc { color: #000 } /* Name.Variable.Class */ -.codehilite.tango .vg { color: #000 } /* Name.Variable.Global */ -.codehilite.tango .vi { color: #000 } /* Name.Variable.Instance */ -.codehilite.tango .vm { color: #000 } /* Name.Variable.Magic */ -.codehilite.tango .il { color: #0000CF; font-weight: bold } /* Literal.Number.Integer.Long */ -.codehilite.trac .hll { background-color: #ffffcc } -.codehilite.trac { background: #ffffff; } -.codehilite.trac .c { color: #998; font-style: italic } /* Comment */ -.codehilite.trac .err { color: #A61717; background-color: #E3D2D2 } /* Error */ -.codehilite.trac .k { font-weight: bold } /* Keyword */ -.codehilite.trac .o { font-weight: bold } /* Operator */ -.codehilite.trac .ch { color: #998; font-style: italic } /* Comment.Hashbang */ -.codehilite.trac .cm { color: #998; font-style: italic } /* Comment.Multiline */ -.codehilite.trac .cp { color: #999; font-weight: bold } /* Comment.Preproc */ -.codehilite.trac .cpf { color: #998; font-style: italic } /* Comment.PreprocFile */ -.codehilite.trac .c1 { color: #998; font-style: italic } /* Comment.Single */ -.codehilite.trac .cs { color: #999; font-weight: bold; font-style: italic } /* Comment.Special */ -.codehilite.trac .gd { color: #000; background-color: #FDD } /* Generic.Deleted */ -.codehilite.trac .ge { font-style: italic } /* Generic.Emph */ -.codehilite.trac .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite.trac .gr { color: #A00 } /* Generic.Error */ -.codehilite.trac .gh { color: #999 } /* Generic.Heading */ -.codehilite.trac .gi { color: #000; background-color: #DFD } /* Generic.Inserted */ -.codehilite.trac .go { color: #888 } /* Generic.Output */ -.codehilite.trac .gp { color: #555 } /* Generic.Prompt */ -.codehilite.trac .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.trac .gu { color: #AAA } /* Generic.Subheading */ -.codehilite.trac .gt { color: #A00 } /* Generic.Traceback */ -.codehilite.trac .kc { font-weight: bold } /* Keyword.Constant */ -.codehilite.trac .kd { font-weight: bold } /* Keyword.Declaration */ -.codehilite.trac .kn { font-weight: bold } /* Keyword.Namespace */ -.codehilite.trac .kp { font-weight: bold } /* Keyword.Pseudo */ -.codehilite.trac .kr { font-weight: bold } /* Keyword.Reserved */ -.codehilite.trac .kt { color: #458; font-weight: bold } /* Keyword.Type */ -.codehilite.trac .m { color: #099 } /* Literal.Number */ -.codehilite.trac .s { color: #B84 } /* Literal.String */ -.codehilite.trac .na { color: #008080 } /* Name.Attribute */ -.codehilite.trac .nb { color: #999 } /* Name.Builtin */ -.codehilite.trac .nc { color: #458; font-weight: bold } /* Name.Class */ -.codehilite.trac .no { color: #008080 } /* Name.Constant */ -.codehilite.trac .ni { color: #800080 } /* Name.Entity */ -.codehilite.trac .ne { color: #900; font-weight: bold } /* Name.Exception */ -.codehilite.trac .nf { color: #900; font-weight: bold } /* Name.Function */ -.codehilite.trac .nn { color: #555 } /* Name.Namespace */ -.codehilite.trac .nt { color: #000080 } /* Name.Tag */ -.codehilite.trac .nv { color: #008080 } /* Name.Variable */ -.codehilite.trac .ow { font-weight: bold } /* Operator.Word */ -.codehilite.trac .w { color: #BBB } /* Text.Whitespace */ -.codehilite.trac .mb { color: #099 } /* Literal.Number.Bin */ -.codehilite.trac .mf { color: #099 } /* Literal.Number.Float */ -.codehilite.trac .mh { color: #099 } /* Literal.Number.Hex */ -.codehilite.trac .mi { color: #099 } /* Literal.Number.Integer */ -.codehilite.trac .mo { color: #099 } /* Literal.Number.Oct */ -.codehilite.trac .sa { color: #B84 } /* Literal.String.Affix */ -.codehilite.trac .sb { color: #B84 } /* Literal.String.Backtick */ -.codehilite.trac .sc { color: #B84 } /* Literal.String.Char */ -.codehilite.trac .dl { color: #B84 } /* Literal.String.Delimiter */ -.codehilite.trac .sd { color: #B84 } /* Literal.String.Doc */ -.codehilite.trac .s2 { color: #B84 } /* Literal.String.Double */ -.codehilite.trac .se { color: #B84 } /* Literal.String.Escape */ -.codehilite.trac .sh { color: #B84 } /* Literal.String.Heredoc */ -.codehilite.trac .si { color: #B84 } /* Literal.String.Interpol */ -.codehilite.trac .sx { color: #B84 } /* Literal.String.Other */ -.codehilite.trac .sr { color: #808000 } /* Literal.String.Regex */ -.codehilite.trac .s1 { color: #B84 } /* Literal.String.Single */ -.codehilite.trac .ss { color: #B84 } /* Literal.String.Symbol */ -.codehilite.trac .bp { color: #999 } /* Name.Builtin.Pseudo */ -.codehilite.trac .fm { color: #900; font-weight: bold } /* Name.Function.Magic */ -.codehilite.trac .vc { color: #008080 } /* Name.Variable.Class */ -.codehilite.trac .vg { color: #008080 } /* Name.Variable.Global */ -.codehilite.trac .vi { color: #008080 } /* Name.Variable.Instance */ -.codehilite.trac .vm { color: #008080 } /* Name.Variable.Magic */ -.codehilite.trac .il { color: #099 } /* Literal.Number.Integer.Long */ -.codehilite.vim .hll { background-color: #222222 } -.codehilite.vim { background: #000000; color: #CCC } -.codehilite.vim .c { color: #000080 } /* Comment */ -.codehilite.vim .err { color: #CCC; border: 1px solid #F00 } /* Error */ -.codehilite.vim .esc { color: #CCC } /* Escape */ -.codehilite.vim .g { color: #CCC } /* Generic */ -.codehilite.vim .k { color: #CDCD00 } /* Keyword */ -.codehilite.vim .l { color: #CCC } /* Literal */ -.codehilite.vim .n { color: #CCC } /* Name */ -.codehilite.vim .o { color: #39C } /* Operator */ -.codehilite.vim .x { color: #CCC } /* Other */ -.codehilite.vim .p { color: #CCC } /* Punctuation */ -.codehilite.vim .ch { color: #000080 } /* Comment.Hashbang */ -.codehilite.vim .cm { color: #000080 } /* Comment.Multiline */ -.codehilite.vim .cp { color: #000080 } /* Comment.Preproc */ -.codehilite.vim .cpf { color: #000080 } /* Comment.PreprocFile */ -.codehilite.vim .c1 { color: #000080 } /* Comment.Single */ -.codehilite.vim .cs { color: #CD0000; font-weight: bold } /* Comment.Special */ -.codehilite.vim .gd { color: #CD0000 } /* Generic.Deleted */ -.codehilite.vim .ge { color: #CCC; font-style: italic } /* Generic.Emph */ -.codehilite.vim .ges { color: #CCC; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite.vim .gr { color: #F00 } /* Generic.Error */ -.codehilite.vim .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.codehilite.vim .gi { color: #00CD00 } /* Generic.Inserted */ -.codehilite.vim .go { color: #888 } /* Generic.Output */ -.codehilite.vim .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ -.codehilite.vim .gs { color: #CCC; font-weight: bold } /* Generic.Strong */ -.codehilite.vim .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.codehilite.vim .gt { color: #04D } /* Generic.Traceback */ -.codehilite.vim .kc { color: #CDCD00 } /* Keyword.Constant */ -.codehilite.vim .kd { color: #00CD00 } /* Keyword.Declaration */ -.codehilite.vim .kn { color: #CD00CD } /* Keyword.Namespace */ -.codehilite.vim .kp { color: #CDCD00 } /* Keyword.Pseudo */ -.codehilite.vim .kr { color: #CDCD00 } /* Keyword.Reserved */ -.codehilite.vim .kt { color: #00CD00 } /* Keyword.Type */ -.codehilite.vim .ld { color: #CCC } /* Literal.Date */ -.codehilite.vim .m { color: #CD00CD } /* Literal.Number */ -.codehilite.vim .s { color: #CD0000 } /* Literal.String */ -.codehilite.vim .na { color: #CCC } /* Name.Attribute */ -.codehilite.vim .nb { color: #CD00CD } /* Name.Builtin */ -.codehilite.vim .nc { color: #00CDCD } /* Name.Class */ -.codehilite.vim .no { color: #CCC } /* Name.Constant */ -.codehilite.vim .nd { color: #CCC } /* Name.Decorator */ -.codehilite.vim .ni { color: #CCC } /* Name.Entity */ -.codehilite.vim .ne { color: #669; font-weight: bold } /* Name.Exception */ -.codehilite.vim .nf { color: #CCC } /* Name.Function */ -.codehilite.vim .nl { color: #CCC } /* Name.Label */ -.codehilite.vim .nn { color: #CCC } /* Name.Namespace */ -.codehilite.vim .nx { color: #CCC } /* Name.Other */ -.codehilite.vim .py { color: #CCC } /* Name.Property */ -.codehilite.vim .nt { color: #CCC } /* Name.Tag */ -.codehilite.vim .nv { color: #00CDCD } /* Name.Variable */ -.codehilite.vim .ow { color: #CDCD00 } /* Operator.Word */ -.codehilite.vim .pm { color: #CCC } /* Punctuation.Marker */ -.codehilite.vim .w { color: #CCC } /* Text.Whitespace */ -.codehilite.vim .mb { color: #CD00CD } /* Literal.Number.Bin */ -.codehilite.vim .mf { color: #CD00CD } /* Literal.Number.Float */ -.codehilite.vim .mh { color: #CD00CD } /* Literal.Number.Hex */ -.codehilite.vim .mi { color: #CD00CD } /* Literal.Number.Integer */ -.codehilite.vim .mo { color: #CD00CD } /* Literal.Number.Oct */ -.codehilite.vim .sa { color: #CD0000 } /* Literal.String.Affix */ -.codehilite.vim .sb { color: #CD0000 } /* Literal.String.Backtick */ -.codehilite.vim .sc { color: #CD0000 } /* Literal.String.Char */ -.codehilite.vim .dl { color: #CD0000 } /* Literal.String.Delimiter */ -.codehilite.vim .sd { color: #CD0000 } /* Literal.String.Doc */ -.codehilite.vim .s2 { color: #CD0000 } /* Literal.String.Double */ -.codehilite.vim .se { color: #CD0000 } /* Literal.String.Escape */ -.codehilite.vim .sh { color: #CD0000 } /* Literal.String.Heredoc */ -.codehilite.vim .si { color: #CD0000 } /* Literal.String.Interpol */ -.codehilite.vim .sx { color: #CD0000 } /* Literal.String.Other */ -.codehilite.vim .sr { color: #CD0000 } /* Literal.String.Regex */ -.codehilite.vim .s1 { color: #CD0000 } /* Literal.String.Single */ -.codehilite.vim .ss { color: #CD0000 } /* Literal.String.Symbol */ -.codehilite.vim .bp { color: #CD00CD } /* Name.Builtin.Pseudo */ -.codehilite.vim .fm { color: #CCC } /* Name.Function.Magic */ -.codehilite.vim .vc { color: #00CDCD } /* Name.Variable.Class */ -.codehilite.vim .vg { color: #00CDCD } /* Name.Variable.Global */ -.codehilite.vim .vi { color: #00CDCD } /* Name.Variable.Instance */ -.codehilite.vim .vm { color: #00CDCD } /* Name.Variable.Magic */ -.codehilite.vim .il { color: #CD00CD } /* Literal.Number.Integer.Long */ -.codehilite.vs .hll { background-color: #ffffcc } -.codehilite.vs { background: #ffffff; } -.codehilite.vs .c { color: #008000 } /* Comment */ -.codehilite.vs .err { border: 1px solid #F00 } /* Error */ -.codehilite.vs .k { color: #00F } /* Keyword */ -.codehilite.vs .ch { color: #008000 } /* Comment.Hashbang */ -.codehilite.vs .cm { color: #008000 } /* Comment.Multiline */ -.codehilite.vs .cp { color: #00F } /* Comment.Preproc */ -.codehilite.vs .cpf { color: #008000 } /* Comment.PreprocFile */ -.codehilite.vs .c1 { color: #008000 } /* Comment.Single */ -.codehilite.vs .cs { color: #008000 } /* Comment.Special */ -.codehilite.vs .ge { font-style: italic } /* Generic.Emph */ -.codehilite.vs .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite.vs .gh { font-weight: bold } /* Generic.Heading */ -.codehilite.vs .gp { font-weight: bold } /* Generic.Prompt */ -.codehilite.vs .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.vs .gu { font-weight: bold } /* Generic.Subheading */ -.codehilite.vs .kc { color: #00F } /* Keyword.Constant */ -.codehilite.vs .kd { color: #00F } /* Keyword.Declaration */ -.codehilite.vs .kn { color: #00F } /* Keyword.Namespace */ -.codehilite.vs .kp { color: #00F } /* Keyword.Pseudo */ -.codehilite.vs .kr { color: #00F } /* Keyword.Reserved */ -.codehilite.vs .kt { color: #2B91AF } /* Keyword.Type */ -.codehilite.vs .s { color: #A31515 } /* Literal.String */ -.codehilite.vs .nc { color: #2B91AF } /* Name.Class */ -.codehilite.vs .ow { color: #00F } /* Operator.Word */ -.codehilite.vs .sa { color: #A31515 } /* Literal.String.Affix */ -.codehilite.vs .sb { color: #A31515 } /* Literal.String.Backtick */ -.codehilite.vs .sc { color: #A31515 } /* Literal.String.Char */ -.codehilite.vs .dl { color: #A31515 } /* Literal.String.Delimiter */ -.codehilite.vs .sd { color: #A31515 } /* Literal.String.Doc */ -.codehilite.vs .s2 { color: #A31515 } /* Literal.String.Double */ -.codehilite.vs .se { color: #A31515 } /* Literal.String.Escape */ -.codehilite.vs .sh { color: #A31515 } /* Literal.String.Heredoc */ -.codehilite.vs .si { color: #A31515 } /* Literal.String.Interpol */ -.codehilite.vs .sx { color: #A31515 } /* Literal.String.Other */ -.codehilite.vs .sr { color: #A31515 } /* Literal.String.Regex */ -.codehilite.vs .s1 { color: #A31515 } /* Literal.String.Single */ -.codehilite.vs .ss { color: #A31515 } /* Literal.String.Symbol */ -.codehilite.xcode .hll { background-color: #ffffcc } -.codehilite.xcode { background: #ffffff; } -.codehilite.xcode .c { color: #177500 } /* Comment */ -.codehilite.xcode .err { color: #000 } /* Error */ -.codehilite.xcode .k { color: #A90D91 } /* Keyword */ -.codehilite.xcode .l { color: #1C01CE } /* Literal */ -.codehilite.xcode .n { color: #000 } /* Name */ -.codehilite.xcode .o { color: #000 } /* Operator */ -.codehilite.xcode .ch { color: #177500 } /* Comment.Hashbang */ -.codehilite.xcode .cm { color: #177500 } /* Comment.Multiline */ -.codehilite.xcode .cp { color: #633820 } /* Comment.Preproc */ -.codehilite.xcode .cpf { color: #177500 } /* Comment.PreprocFile */ -.codehilite.xcode .c1 { color: #177500 } /* Comment.Single */ -.codehilite.xcode .cs { color: #177500 } /* Comment.Special */ -.codehilite.xcode .kc { color: #A90D91 } /* Keyword.Constant */ -.codehilite.xcode .kd { color: #A90D91 } /* Keyword.Declaration */ -.codehilite.xcode .kn { color: #A90D91 } /* Keyword.Namespace */ -.codehilite.xcode .kp { color: #A90D91 } /* Keyword.Pseudo */ -.codehilite.xcode .kr { color: #A90D91 } /* Keyword.Reserved */ -.codehilite.xcode .kt { color: #A90D91 } /* Keyword.Type */ -.codehilite.xcode .ld { color: #1C01CE } /* Literal.Date */ -.codehilite.xcode .m { color: #1C01CE } /* Literal.Number */ -.codehilite.xcode .s { color: #C41A16 } /* Literal.String */ -.codehilite.xcode .na { color: #836C28 } /* Name.Attribute */ -.codehilite.xcode .nb { color: #A90D91 } /* Name.Builtin */ -.codehilite.xcode .nc { color: #3F6E75 } /* Name.Class */ -.codehilite.xcode .no { color: #000 } /* Name.Constant */ -.codehilite.xcode .nd { color: #000 } /* Name.Decorator */ -.codehilite.xcode .ni { color: #000 } /* Name.Entity */ -.codehilite.xcode .ne { color: #000 } /* Name.Exception */ -.codehilite.xcode .nf { color: #000 } /* Name.Function */ -.codehilite.xcode .nl { color: #000 } /* Name.Label */ -.codehilite.xcode .nn { color: #000 } /* Name.Namespace */ -.codehilite.xcode .nx { color: #000 } /* Name.Other */ -.codehilite.xcode .py { color: #000 } /* Name.Property */ -.codehilite.xcode .nt { color: #000 } /* Name.Tag */ -.codehilite.xcode .nv { color: #000 } /* Name.Variable */ -.codehilite.xcode .ow { color: #000 } /* Operator.Word */ -.codehilite.xcode .mb { color: #1C01CE } /* Literal.Number.Bin */ -.codehilite.xcode .mf { color: #1C01CE } /* Literal.Number.Float */ -.codehilite.xcode .mh { color: #1C01CE } /* Literal.Number.Hex */ -.codehilite.xcode .mi { color: #1C01CE } /* Literal.Number.Integer */ -.codehilite.xcode .mo { color: #1C01CE } /* Literal.Number.Oct */ -.codehilite.xcode .sa { color: #C41A16 } /* Literal.String.Affix */ -.codehilite.xcode .sb { color: #C41A16 } /* Literal.String.Backtick */ -.codehilite.xcode .sc { color: #2300CE } /* Literal.String.Char */ -.codehilite.xcode .dl { color: #C41A16 } /* Literal.String.Delimiter */ -.codehilite.xcode .sd { color: #C41A16 } /* Literal.String.Doc */ -.codehilite.xcode .s2 { color: #C41A16 } /* Literal.String.Double */ -.codehilite.xcode .se { color: #C41A16 } /* Literal.String.Escape */ -.codehilite.xcode .sh { color: #C41A16 } /* Literal.String.Heredoc */ -.codehilite.xcode .si { color: #C41A16 } /* Literal.String.Interpol */ -.codehilite.xcode .sx { color: #C41A16 } /* Literal.String.Other */ -.codehilite.xcode .sr { color: #C41A16 } /* Literal.String.Regex */ -.codehilite.xcode .s1 { color: #C41A16 } /* Literal.String.Single */ -.codehilite.xcode .ss { color: #C41A16 } /* Literal.String.Symbol */ -.codehilite.xcode .bp { color: #5B269A } /* Name.Builtin.Pseudo */ -.codehilite.xcode .fm { color: #000 } /* Name.Function.Magic */ -.codehilite.xcode .vc { color: #000 } /* Name.Variable.Class */ -.codehilite.xcode .vg { color: #000 } /* Name.Variable.Global */ -.codehilite.xcode .vi { color: #000 } /* Name.Variable.Instance */ -.codehilite.xcode .vm { color: #000 } /* Name.Variable.Magic */ -.codehilite.xcode .il { color: #1C01CE } /* Literal.Number.Integer.Long */ -.codehilite.zenburn .hll { background-color: #484848 } -.codehilite.zenburn { background: #3f3f3f; color: #DCDCCC } -.codehilite.zenburn .c { color: #7F9F7F; font-style: italic } /* Comment */ -.codehilite.zenburn .err { color: #E37170; font-weight: bold } /* Error */ -.codehilite.zenburn .esc { color: #DCDCCC } /* Escape */ -.codehilite.zenburn .g { color: #ECBCBC; font-weight: bold } /* Generic */ -.codehilite.zenburn .k { color: #EFDCBC } /* Keyword */ -.codehilite.zenburn .l { color: #9FAFAF } /* Literal */ -.codehilite.zenburn .n { color: #DCDCCC } /* Name */ -.codehilite.zenburn .o { color: #F0EFD0 } /* Operator */ -.codehilite.zenburn .x { color: #DCDCCC } /* Other */ -.codehilite.zenburn .p { color: #F0EFD0 } /* Punctuation */ -.codehilite.zenburn .ch { color: #7F9F7F; font-style: italic } /* Comment.Hashbang */ -.codehilite.zenburn .cm { color: #7F9F7F; font-style: italic } /* Comment.Multiline */ -.codehilite.zenburn .cp { color: #DFAF8F; font-weight: bold; font-style: italic } /* Comment.Preproc */ -.codehilite.zenburn .cpf { color: #CC9393; font-style: italic } /* Comment.PreprocFile */ -.codehilite.zenburn .c1 { color: #7F9F7F; font-style: italic } /* Comment.Single */ -.codehilite.zenburn .cs { color: #DFDFDF; font-weight: bold; font-style: italic } /* Comment.Special */ -.codehilite.zenburn .gd { color: #C3BF9F; font-weight: bold; background-color: #313C36 } /* Generic.Deleted */ -.codehilite.zenburn .ge { color: #FFF; font-weight: bold } /* Generic.Emph */ -.codehilite.zenburn .ges { color: #ECBCBC; font-weight: bold } /* Generic.EmphStrong */ -.codehilite.zenburn .gr { color: #ECBCBC; font-weight: bold } /* Generic.Error */ -.codehilite.zenburn .gh { color: #EFEFEF; font-weight: bold } /* Generic.Heading */ -.codehilite.zenburn .gi { color: #709080; font-weight: bold; background-color: #313C36 } /* Generic.Inserted */ -.codehilite.zenburn .go { color: #5B605E; font-weight: bold } /* Generic.Output */ -.codehilite.zenburn .gp { color: #ECBCBC; font-weight: bold } /* Generic.Prompt */ -.codehilite.zenburn .gs { color: #ECBCBC; font-weight: bold } /* Generic.Strong */ -.codehilite.zenburn .gu { color: #EFEFEF; font-weight: bold } /* Generic.Subheading */ -.codehilite.zenburn .gt { color: #80D4AA; font-weight: bold; background-color: #2F2F2F } /* Generic.Traceback */ -.codehilite.zenburn .kc { color: #DCA3A3 } /* Keyword.Constant */ -.codehilite.zenburn .kd { color: #F0DFAF } /* Keyword.Declaration */ -.codehilite.zenburn .kn { color: #F0DFAF } /* Keyword.Namespace */ -.codehilite.zenburn .kp { color: #EFDCBC } /* Keyword.Pseudo */ -.codehilite.zenburn .kr { color: #EFDCBC } /* Keyword.Reserved */ -.codehilite.zenburn .kt { color: #DFDFBF; font-weight: bold } /* Keyword.Type */ -.codehilite.zenburn .ld { color: #9FAFAF } /* Literal.Date */ -.codehilite.zenburn .m { color: #8CD0D3 } /* Literal.Number */ -.codehilite.zenburn .s { color: #CC9393 } /* Literal.String */ -.codehilite.zenburn .na { color: #EFEF8F } /* Name.Attribute */ -.codehilite.zenburn .nb { color: #EFEF8F } /* Name.Builtin */ -.codehilite.zenburn .nc { color: #EFEF8F } /* Name.Class */ -.codehilite.zenburn .no { color: #DCA3A3 } /* Name.Constant */ -.codehilite.zenburn .nd { color: #DCDCCC } /* Name.Decorator */ -.codehilite.zenburn .ni { color: #CFBFAF } /* Name.Entity */ -.codehilite.zenburn .ne { color: #C3BF9F; font-weight: bold } /* Name.Exception */ -.codehilite.zenburn .nf { color: #EFEF8F } /* Name.Function */ -.codehilite.zenburn .nl { color: #DCDCCC } /* Name.Label */ -.codehilite.zenburn .nn { color: #DCDCCC } /* Name.Namespace */ -.codehilite.zenburn .nx { color: #DCDCCC } /* Name.Other */ -.codehilite.zenburn .py { color: #DCDCCC } /* Name.Property */ -.codehilite.zenburn .nt { color: #E89393; font-weight: bold } /* Name.Tag */ -.codehilite.zenburn .nv { color: #DCDCCC } /* Name.Variable */ -.codehilite.zenburn .ow { color: #F0EFD0 } /* Operator.Word */ -.codehilite.zenburn .pm { color: #F0EFD0 } /* Punctuation.Marker */ -.codehilite.zenburn .w { color: #DCDCCC } /* Text.Whitespace */ -.codehilite.zenburn .mb { color: #8CD0D3 } /* Literal.Number.Bin */ -.codehilite.zenburn .mf { color: #C0BED1 } /* Literal.Number.Float */ -.codehilite.zenburn .mh { color: #8CD0D3 } /* Literal.Number.Hex */ -.codehilite.zenburn .mi { color: #8CD0D3 } /* Literal.Number.Integer */ -.codehilite.zenburn .mo { color: #8CD0D3 } /* Literal.Number.Oct */ -.codehilite.zenburn .sa { color: #CC9393 } /* Literal.String.Affix */ -.codehilite.zenburn .sb { color: #CC9393 } /* Literal.String.Backtick */ -.codehilite.zenburn .sc { color: #CC9393 } /* Literal.String.Char */ -.codehilite.zenburn .dl { color: #CC9393 } /* Literal.String.Delimiter */ -.codehilite.zenburn .sd { color: #7F9F7F } /* Literal.String.Doc */ -.codehilite.zenburn .s2 { color: #CC9393 } /* Literal.String.Double */ -.codehilite.zenburn .se { color: #CC9393 } /* Literal.String.Escape */ -.codehilite.zenburn .sh { color: #CC9393 } /* Literal.String.Heredoc */ -.codehilite.zenburn .si { color: #DCA3A3; font-weight: bold } /* Literal.String.Interpol */ -.codehilite.zenburn .sx { color: #CC9393 } /* Literal.String.Other */ -.codehilite.zenburn .sr { color: #CC9393 } /* Literal.String.Regex */ -.codehilite.zenburn .s1 { color: #CC9393 } /* Literal.String.Single */ -.codehilite.zenburn .ss { color: #CC9393 } /* Literal.String.Symbol */ -.codehilite.zenburn .bp { color: #DCDCCC } /* Name.Builtin.Pseudo */ -.codehilite.zenburn .fm { color: #EFEF8F } /* Name.Function.Magic */ -.codehilite.zenburn .vc { color: #DCDCCC } /* Name.Variable.Class */ -.codehilite.zenburn .vg { color: #DCDCCC } /* Name.Variable.Global */ -.codehilite.zenburn .vi { color: #DCDCCC } /* Name.Variable.Instance */ -.codehilite.zenburn .vm { color: #DCDCCC } /* Name.Variable.Magic */ -.codehilite.zenburn .il { color: #8CD0D3 } /* Literal.Number.Integer.Long */ -.codehilite.a11y-dark .hll { background-color: #ffd9002e } -.codehilite.a11y-dark { background: #2b2b2b; color: #F8F8F2 } -.codehilite.a11y-dark .c { color: #D4D0AB } /* Comment */ -.codehilite.a11y-dark .err { color: #FFA07A } /* Error */ -.codehilite.a11y-dark .k { color: #DCC6E0 } /* Keyword */ -.codehilite.a11y-dark .l { color: #F5AB35 } /* Literal */ -.codehilite.a11y-dark .n { color: #F8F8F2 } /* Name */ -.codehilite.a11y-dark .o { color: #ABE338 } /* Operator */ -.codehilite.a11y-dark .p { color: #F8F8F2 } /* Punctuation */ -.codehilite.a11y-dark .ch { color: #D4D0AB } /* Comment.Hashbang */ -.codehilite.a11y-dark .cm { color: #D4D0AB } /* Comment.Multiline */ -.codehilite.a11y-dark .cp { color: #D4D0AB } /* Comment.Preproc */ -.codehilite.a11y-dark .cpf { color: #D4D0AB } /* Comment.PreprocFile */ -.codehilite.a11y-dark .c1 { color: #D4D0AB } /* Comment.Single */ -.codehilite.a11y-dark .cs { color: #D4D0AB } /* Comment.Special */ -.codehilite.a11y-dark .gd { color: #00E0E0 } /* Generic.Deleted */ -.codehilite.a11y-dark .ge { font-style: italic } /* Generic.Emph */ -.codehilite.a11y-dark .gh { color: #00E0E0 } /* Generic.Heading */ -.codehilite.a11y-dark .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.a11y-dark .gu { color: #00E0E0 } /* Generic.Subheading */ -.codehilite.a11y-dark .kc { color: #DCC6E0 } /* Keyword.Constant */ -.codehilite.a11y-dark .kd { color: #DCC6E0 } /* Keyword.Declaration */ -.codehilite.a11y-dark .kn { color: #DCC6E0 } /* Keyword.Namespace */ -.codehilite.a11y-dark .kp { color: #DCC6E0 } /* Keyword.Pseudo */ -.codehilite.a11y-dark .kr { color: #DCC6E0 } /* Keyword.Reserved */ -.codehilite.a11y-dark .kt { color: #F5AB35 } /* Keyword.Type */ -.codehilite.a11y-dark .ld { color: #F5AB35 } /* Literal.Date */ -.codehilite.a11y-dark .m { color: #F5AB35 } /* Literal.Number */ -.codehilite.a11y-dark .s { color: #ABE338 } /* Literal.String */ -.codehilite.a11y-dark .na { color: #FFD700 } /* Name.Attribute */ -.codehilite.a11y-dark .nb { color: #F5AB35 } /* Name.Builtin */ -.codehilite.a11y-dark .nc { color: #00E0E0 } /* Name.Class */ -.codehilite.a11y-dark .no { color: #00E0E0 } /* Name.Constant */ -.codehilite.a11y-dark .nd { color: #F5AB35 } /* Name.Decorator */ -.codehilite.a11y-dark .ni { color: #ABE338 } /* Name.Entity */ -.codehilite.a11y-dark .ne { color: #DCC6E0 } /* Name.Exception */ -.codehilite.a11y-dark .nf { color: #00E0E0 } /* Name.Function */ -.codehilite.a11y-dark .nl { color: #F5AB35 } /* Name.Label */ -.codehilite.a11y-dark .nn { color: #F8F8F2 } /* Name.Namespace */ -.codehilite.a11y-dark .nx { color: #F8F8F2 } /* Name.Other */ -.codehilite.a11y-dark .py { color: #00E0E0 } /* Name.Property */ -.codehilite.a11y-dark .nt { color: #00E0E0 } /* Name.Tag */ -.codehilite.a11y-dark .nv { color: #FFA07A } /* Name.Variable */ -.codehilite.a11y-dark .ow { color: #DCC6E0 } /* Operator.Word */ -.codehilite.a11y-dark .pm { color: #F8F8F2 } /* Punctuation.Marker */ -.codehilite.a11y-dark .w { color: #F8F8F2 } /* Text.Whitespace */ -.codehilite.a11y-dark .mb { color: #F5AB35 } /* Literal.Number.Bin */ -.codehilite.a11y-dark .mf { color: #F5AB35 } /* Literal.Number.Float */ -.codehilite.a11y-dark .mh { color: #F5AB35 } /* Literal.Number.Hex */ -.codehilite.a11y-dark .mi { color: #F5AB35 } /* Literal.Number.Integer */ -.codehilite.a11y-dark .mo { color: #F5AB35 } /* Literal.Number.Oct */ -.codehilite.a11y-dark .sa { color: #ABE338 } /* Literal.String.Affix */ -.codehilite.a11y-dark .sb { color: #ABE338 } /* Literal.String.Backtick */ -.codehilite.a11y-dark .sc { color: #ABE338 } /* Literal.String.Char */ -.codehilite.a11y-dark .dl { color: #ABE338 } /* Literal.String.Delimiter */ -.codehilite.a11y-dark .sd { color: #ABE338 } /* Literal.String.Doc */ -.codehilite.a11y-dark .s2 { color: #ABE338 } /* Literal.String.Double */ -.codehilite.a11y-dark .se { color: #ABE338 } /* Literal.String.Escape */ -.codehilite.a11y-dark .sh { color: #ABE338 } /* Literal.String.Heredoc */ -.codehilite.a11y-dark .si { color: #ABE338 } /* Literal.String.Interpol */ -.codehilite.a11y-dark .sx { color: #ABE338 } /* Literal.String.Other */ -.codehilite.a11y-dark .sr { color: #FFA07A } /* Literal.String.Regex */ -.codehilite.a11y-dark .s1 { color: #ABE338 } /* Literal.String.Single */ -.codehilite.a11y-dark .ss { color: #00E0E0 } /* Literal.String.Symbol */ -.codehilite.a11y-dark .bp { color: #F5AB35 } /* Name.Builtin.Pseudo */ -.codehilite.a11y-dark .fm { color: #00E0E0 } /* Name.Function.Magic */ -.codehilite.a11y-dark .vc { color: #FFA07A } /* Name.Variable.Class */ -.codehilite.a11y-dark .vg { color: #FFA07A } /* Name.Variable.Global */ -.codehilite.a11y-dark .vi { color: #FFA07A } /* Name.Variable.Instance */ -.codehilite.a11y-dark .vm { color: #F5AB35 } /* Name.Variable.Magic */ -.codehilite.a11y-dark .il { color: #F5AB35 } /* Literal.Number.Integer.Long */ -.codehilite.a11y-high-contrast-dark .hll { background-color: #ffd9002e } -.codehilite.a11y-high-contrast-dark { background: #2b2b2b; color: #F8F8F2 } -.codehilite.a11y-high-contrast-dark .c { color: #FFD900 } /* Comment */ -.codehilite.a11y-high-contrast-dark .err { color: #FFA07A } /* Error */ -.codehilite.a11y-high-contrast-dark .k { color: #DCC6E0 } /* Keyword */ -.codehilite.a11y-high-contrast-dark .l { color: #FFD900 } /* Literal */ -.codehilite.a11y-high-contrast-dark .n { color: #F8F8F2 } /* Name */ -.codehilite.a11y-high-contrast-dark .o { color: #ABE338 } /* Operator */ -.codehilite.a11y-high-contrast-dark .p { color: #F8F8F2 } /* Punctuation */ -.codehilite.a11y-high-contrast-dark .ch { color: #FFD900 } /* Comment.Hashbang */ -.codehilite.a11y-high-contrast-dark .cm { color: #FFD900 } /* Comment.Multiline */ -.codehilite.a11y-high-contrast-dark .cp { color: #FFD900 } /* Comment.Preproc */ -.codehilite.a11y-high-contrast-dark .cpf { color: #FFD900 } /* Comment.PreprocFile */ -.codehilite.a11y-high-contrast-dark .c1 { color: #FFD900 } /* Comment.Single */ -.codehilite.a11y-high-contrast-dark .cs { color: #FFD900 } /* Comment.Special */ -.codehilite.a11y-high-contrast-dark .gd { color: #00E0E0 } /* Generic.Deleted */ -.codehilite.a11y-high-contrast-dark .ge { font-style: italic } /* Generic.Emph */ -.codehilite.a11y-high-contrast-dark .gh { color: #00E0E0 } /* Generic.Heading */ -.codehilite.a11y-high-contrast-dark .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.a11y-high-contrast-dark .gu { color: #00E0E0 } /* Generic.Subheading */ -.codehilite.a11y-high-contrast-dark .kc { color: #DCC6E0 } /* Keyword.Constant */ -.codehilite.a11y-high-contrast-dark .kd { color: #DCC6E0 } /* Keyword.Declaration */ -.codehilite.a11y-high-contrast-dark .kn { color: #DCC6E0 } /* Keyword.Namespace */ -.codehilite.a11y-high-contrast-dark .kp { color: #DCC6E0 } /* Keyword.Pseudo */ -.codehilite.a11y-high-contrast-dark .kr { color: #DCC6E0 } /* Keyword.Reserved */ -.codehilite.a11y-high-contrast-dark .kt { color: #FFD900 } /* Keyword.Type */ -.codehilite.a11y-high-contrast-dark .ld { color: #FFD900 } /* Literal.Date */ -.codehilite.a11y-high-contrast-dark .m { color: #FFD900 } /* Literal.Number */ -.codehilite.a11y-high-contrast-dark .s { color: #ABE338 } /* Literal.String */ -.codehilite.a11y-high-contrast-dark .na { color: #FFD900 } /* Name.Attribute */ -.codehilite.a11y-high-contrast-dark .nb { color: #FFD900 } /* Name.Builtin */ -.codehilite.a11y-high-contrast-dark .nc { color: #00E0E0 } /* Name.Class */ -.codehilite.a11y-high-contrast-dark .no { color: #00E0E0 } /* Name.Constant */ -.codehilite.a11y-high-contrast-dark .nd { color: #FFD900 } /* Name.Decorator */ -.codehilite.a11y-high-contrast-dark .ni { color: #ABE338 } /* Name.Entity */ -.codehilite.a11y-high-contrast-dark .ne { color: #DCC6E0 } /* Name.Exception */ -.codehilite.a11y-high-contrast-dark .nf { color: #00E0E0 } /* Name.Function */ -.codehilite.a11y-high-contrast-dark .nl { color: #FFD900 } /* Name.Label */ -.codehilite.a11y-high-contrast-dark .nn { color: #F8F8F2 } /* Name.Namespace */ -.codehilite.a11y-high-contrast-dark .nx { color: #F8F8F2 } /* Name.Other */ -.codehilite.a11y-high-contrast-dark .py { color: #00E0E0 } /* Name.Property */ -.codehilite.a11y-high-contrast-dark .nt { color: #00E0E0 } /* Name.Tag */ -.codehilite.a11y-high-contrast-dark .nv { color: #FFA07A } /* Name.Variable */ -.codehilite.a11y-high-contrast-dark .ow { color: #DCC6E0 } /* Operator.Word */ -.codehilite.a11y-high-contrast-dark .pm { color: #F8F8F2 } /* Punctuation.Marker */ -.codehilite.a11y-high-contrast-dark .w { color: #F8F8F2 } /* Text.Whitespace */ -.codehilite.a11y-high-contrast-dark .mb { color: #FFD900 } /* Literal.Number.Bin */ -.codehilite.a11y-high-contrast-dark .mf { color: #FFD900 } /* Literal.Number.Float */ -.codehilite.a11y-high-contrast-dark .mh { color: #FFD900 } /* Literal.Number.Hex */ -.codehilite.a11y-high-contrast-dark .mi { color: #FFD900 } /* Literal.Number.Integer */ -.codehilite.a11y-high-contrast-dark .mo { color: #FFD900 } /* Literal.Number.Oct */ -.codehilite.a11y-high-contrast-dark .sa { color: #ABE338 } /* Literal.String.Affix */ -.codehilite.a11y-high-contrast-dark .sb { color: #ABE338 } /* Literal.String.Backtick */ -.codehilite.a11y-high-contrast-dark .sc { color: #ABE338 } /* Literal.String.Char */ -.codehilite.a11y-high-contrast-dark .dl { color: #ABE338 } /* Literal.String.Delimiter */ -.codehilite.a11y-high-contrast-dark .sd { color: #ABE338 } /* Literal.String.Doc */ -.codehilite.a11y-high-contrast-dark .s2 { color: #ABE338 } /* Literal.String.Double */ -.codehilite.a11y-high-contrast-dark .se { color: #ABE338 } /* Literal.String.Escape */ -.codehilite.a11y-high-contrast-dark .sh { color: #ABE338 } /* Literal.String.Heredoc */ -.codehilite.a11y-high-contrast-dark .si { color: #ABE338 } /* Literal.String.Interpol */ -.codehilite.a11y-high-contrast-dark .sx { color: #ABE338 } /* Literal.String.Other */ -.codehilite.a11y-high-contrast-dark .sr { color: #FFA07A } /* Literal.String.Regex */ -.codehilite.a11y-high-contrast-dark .s1 { color: #ABE338 } /* Literal.String.Single */ -.codehilite.a11y-high-contrast-dark .ss { color: #00E0E0 } /* Literal.String.Symbol */ -.codehilite.a11y-high-contrast-dark .bp { color: #FFD900 } /* Name.Builtin.Pseudo */ -.codehilite.a11y-high-contrast-dark .fm { color: #00E0E0 } /* Name.Function.Magic */ -.codehilite.a11y-high-contrast-dark .vc { color: #FFA07A } /* Name.Variable.Class */ -.codehilite.a11y-high-contrast-dark .vg { color: #FFA07A } /* Name.Variable.Global */ -.codehilite.a11y-high-contrast-dark .vi { color: #FFA07A } /* Name.Variable.Instance */ -.codehilite.a11y-high-contrast-dark .vm { color: #FFD900 } /* Name.Variable.Magic */ -.codehilite.a11y-high-contrast-dark .il { color: #FFD900 } /* Literal.Number.Integer.Long */ -.codehilite.a11y-high-contrast-light .hll { background-color: #7971292e } -.codehilite.a11y-high-contrast-light { background: #fefefe; color: #545454 } -.codehilite.a11y-high-contrast-light .c { color: #797129 } /* Comment */ -.codehilite.a11y-high-contrast-light .err { color: #D91E18 } /* Error */ -.codehilite.a11y-high-contrast-light .k { color: #7928A1 } /* Keyword */ -.codehilite.a11y-high-contrast-light .l { color: #797129 } /* Literal */ -.codehilite.a11y-high-contrast-light .n { color: #545454 } /* Name */ -.codehilite.a11y-high-contrast-light .o { color: #008000 } /* Operator */ -.codehilite.a11y-high-contrast-light .p { color: #545454 } /* Punctuation */ -.codehilite.a11y-high-contrast-light .ch { color: #797129 } /* Comment.Hashbang */ -.codehilite.a11y-high-contrast-light .cm { color: #797129 } /* Comment.Multiline */ -.codehilite.a11y-high-contrast-light .cp { color: #797129 } /* Comment.Preproc */ -.codehilite.a11y-high-contrast-light .cpf { color: #797129 } /* Comment.PreprocFile */ -.codehilite.a11y-high-contrast-light .c1 { color: #797129 } /* Comment.Single */ -.codehilite.a11y-high-contrast-light .cs { color: #797129 } /* Comment.Special */ -.codehilite.a11y-high-contrast-light .gd { color: #007FAA } /* Generic.Deleted */ -.codehilite.a11y-high-contrast-light .ge { font-style: italic } /* Generic.Emph */ -.codehilite.a11y-high-contrast-light .gh { color: #007FAA } /* Generic.Heading */ -.codehilite.a11y-high-contrast-light .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.a11y-high-contrast-light .gu { color: #007FAA } /* Generic.Subheading */ -.codehilite.a11y-high-contrast-light .kc { color: #7928A1 } /* Keyword.Constant */ -.codehilite.a11y-high-contrast-light .kd { color: #7928A1 } /* Keyword.Declaration */ -.codehilite.a11y-high-contrast-light .kn { color: #7928A1 } /* Keyword.Namespace */ -.codehilite.a11y-high-contrast-light .kp { color: #7928A1 } /* Keyword.Pseudo */ -.codehilite.a11y-high-contrast-light .kr { color: #7928A1 } /* Keyword.Reserved */ -.codehilite.a11y-high-contrast-light .kt { color: #797129 } /* Keyword.Type */ -.codehilite.a11y-high-contrast-light .ld { color: #797129 } /* Literal.Date */ -.codehilite.a11y-high-contrast-light .m { color: #797129 } /* Literal.Number */ -.codehilite.a11y-high-contrast-light .s { color: #008000 } /* Literal.String */ -.codehilite.a11y-high-contrast-light .na { color: #797129 } /* Name.Attribute */ -.codehilite.a11y-high-contrast-light .nb { color: #797129 } /* Name.Builtin */ -.codehilite.a11y-high-contrast-light .nc { color: #007FAA } /* Name.Class */ -.codehilite.a11y-high-contrast-light .no { color: #007FAA } /* Name.Constant */ -.codehilite.a11y-high-contrast-light .nd { color: #797129 } /* Name.Decorator */ -.codehilite.a11y-high-contrast-light .ni { color: #008000 } /* Name.Entity */ -.codehilite.a11y-high-contrast-light .ne { color: #7928A1 } /* Name.Exception */ -.codehilite.a11y-high-contrast-light .nf { color: #007FAA } /* Name.Function */ -.codehilite.a11y-high-contrast-light .nl { color: #797129 } /* Name.Label */ -.codehilite.a11y-high-contrast-light .nn { color: #545454 } /* Name.Namespace */ -.codehilite.a11y-high-contrast-light .nx { color: #545454 } /* Name.Other */ -.codehilite.a11y-high-contrast-light .py { color: #007FAA } /* Name.Property */ -.codehilite.a11y-high-contrast-light .nt { color: #007FAA } /* Name.Tag */ -.codehilite.a11y-high-contrast-light .nv { color: #D91E18 } /* Name.Variable */ -.codehilite.a11y-high-contrast-light .ow { color: #7928A1 } /* Operator.Word */ -.codehilite.a11y-high-contrast-light .pm { color: #545454 } /* Punctuation.Marker */ -.codehilite.a11y-high-contrast-light .w { color: #545454 } /* Text.Whitespace */ -.codehilite.a11y-high-contrast-light .mb { color: #797129 } /* Literal.Number.Bin */ -.codehilite.a11y-high-contrast-light .mf { color: #797129 } /* Literal.Number.Float */ -.codehilite.a11y-high-contrast-light .mh { color: #797129 } /* Literal.Number.Hex */ -.codehilite.a11y-high-contrast-light .mi { color: #797129 } /* Literal.Number.Integer */ -.codehilite.a11y-high-contrast-light .mo { color: #797129 } /* Literal.Number.Oct */ -.codehilite.a11y-high-contrast-light .sa { color: #008000 } /* Literal.String.Affix */ -.codehilite.a11y-high-contrast-light .sb { color: #008000 } /* Literal.String.Backtick */ -.codehilite.a11y-high-contrast-light .sc { color: #008000 } /* Literal.String.Char */ -.codehilite.a11y-high-contrast-light .dl { color: #008000 } /* Literal.String.Delimiter */ -.codehilite.a11y-high-contrast-light .sd { color: #008000 } /* Literal.String.Doc */ -.codehilite.a11y-high-contrast-light .s2 { color: #008000 } /* Literal.String.Double */ -.codehilite.a11y-high-contrast-light .se { color: #008000 } /* Literal.String.Escape */ -.codehilite.a11y-high-contrast-light .sh { color: #008000 } /* Literal.String.Heredoc */ -.codehilite.a11y-high-contrast-light .si { color: #008000 } /* Literal.String.Interpol */ -.codehilite.a11y-high-contrast-light .sx { color: #008000 } /* Literal.String.Other */ -.codehilite.a11y-high-contrast-light .sr { color: #D91E18 } /* Literal.String.Regex */ -.codehilite.a11y-high-contrast-light .s1 { color: #008000 } /* Literal.String.Single */ -.codehilite.a11y-high-contrast-light .ss { color: #007FAA } /* Literal.String.Symbol */ -.codehilite.a11y-high-contrast-light .bp { color: #797129 } /* Name.Builtin.Pseudo */ -.codehilite.a11y-high-contrast-light .fm { color: #007FAA } /* Name.Function.Magic */ -.codehilite.a11y-high-contrast-light .vc { color: #D91E18 } /* Name.Variable.Class */ -.codehilite.a11y-high-contrast-light .vg { color: #D91E18 } /* Name.Variable.Global */ -.codehilite.a11y-high-contrast-light .vi { color: #D91E18 } /* Name.Variable.Instance */ -.codehilite.a11y-high-contrast-light .vm { color: #797129 } /* Name.Variable.Magic */ -.codehilite.a11y-high-contrast-light .il { color: #797129 } /* Literal.Number.Integer.Long */ -.codehilite.a11y-light .hll { background-color: #7971292e } -.codehilite.a11y-light { background: #fefefe; color: #545454 } -.codehilite.a11y-light .c { color: #696969 } /* Comment */ -.codehilite.a11y-light .err { color: #D91E18 } /* Error */ -.codehilite.a11y-light .k { color: #7928A1 } /* Keyword */ -.codehilite.a11y-light .l { color: #AA5D00 } /* Literal */ -.codehilite.a11y-light .n { color: #545454 } /* Name */ -.codehilite.a11y-light .o { color: #008000 } /* Operator */ -.codehilite.a11y-light .p { color: #545454 } /* Punctuation */ -.codehilite.a11y-light .ch { color: #696969 } /* Comment.Hashbang */ -.codehilite.a11y-light .cm { color: #696969 } /* Comment.Multiline */ -.codehilite.a11y-light .cp { color: #696969 } /* Comment.Preproc */ -.codehilite.a11y-light .cpf { color: #696969 } /* Comment.PreprocFile */ -.codehilite.a11y-light .c1 { color: #696969 } /* Comment.Single */ -.codehilite.a11y-light .cs { color: #696969 } /* Comment.Special */ -.codehilite.a11y-light .gd { color: #007FAA } /* Generic.Deleted */ -.codehilite.a11y-light .ge { font-style: italic } /* Generic.Emph */ -.codehilite.a11y-light .gh { color: #007FAA } /* Generic.Heading */ -.codehilite.a11y-light .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.a11y-light .gu { color: #007FAA } /* Generic.Subheading */ -.codehilite.a11y-light .kc { color: #7928A1 } /* Keyword.Constant */ -.codehilite.a11y-light .kd { color: #7928A1 } /* Keyword.Declaration */ -.codehilite.a11y-light .kn { color: #7928A1 } /* Keyword.Namespace */ -.codehilite.a11y-light .kp { color: #7928A1 } /* Keyword.Pseudo */ -.codehilite.a11y-light .kr { color: #7928A1 } /* Keyword.Reserved */ -.codehilite.a11y-light .kt { color: #AA5D00 } /* Keyword.Type */ -.codehilite.a11y-light .ld { color: #AA5D00 } /* Literal.Date */ -.codehilite.a11y-light .m { color: #AA5D00 } /* Literal.Number */ -.codehilite.a11y-light .s { color: #008000 } /* Literal.String */ -.codehilite.a11y-light .na { color: #AA5D00 } /* Name.Attribute */ -.codehilite.a11y-light .nb { color: #AA5D00 } /* Name.Builtin */ -.codehilite.a11y-light .nc { color: #007FAA } /* Name.Class */ -.codehilite.a11y-light .no { color: #007FAA } /* Name.Constant */ -.codehilite.a11y-light .nd { color: #AA5D00 } /* Name.Decorator */ -.codehilite.a11y-light .ni { color: #008000 } /* Name.Entity */ -.codehilite.a11y-light .ne { color: #7928A1 } /* Name.Exception */ -.codehilite.a11y-light .nf { color: #007FAA } /* Name.Function */ -.codehilite.a11y-light .nl { color: #AA5D00 } /* Name.Label */ -.codehilite.a11y-light .nn { color: #545454 } /* Name.Namespace */ -.codehilite.a11y-light .nx { color: #545454 } /* Name.Other */ -.codehilite.a11y-light .py { color: #007FAA } /* Name.Property */ -.codehilite.a11y-light .nt { color: #007FAA } /* Name.Tag */ -.codehilite.a11y-light .nv { color: #D91E18 } /* Name.Variable */ -.codehilite.a11y-light .ow { color: #7928A1 } /* Operator.Word */ -.codehilite.a11y-light .pm { color: #545454 } /* Punctuation.Marker */ -.codehilite.a11y-light .w { color: #545454 } /* Text.Whitespace */ -.codehilite.a11y-light .mb { color: #AA5D00 } /* Literal.Number.Bin */ -.codehilite.a11y-light .mf { color: #AA5D00 } /* Literal.Number.Float */ -.codehilite.a11y-light .mh { color: #AA5D00 } /* Literal.Number.Hex */ -.codehilite.a11y-light .mi { color: #AA5D00 } /* Literal.Number.Integer */ -.codehilite.a11y-light .mo { color: #AA5D00 } /* Literal.Number.Oct */ -.codehilite.a11y-light .sa { color: #008000 } /* Literal.String.Affix */ -.codehilite.a11y-light .sb { color: #008000 } /* Literal.String.Backtick */ -.codehilite.a11y-light .sc { color: #008000 } /* Literal.String.Char */ -.codehilite.a11y-light .dl { color: #008000 } /* Literal.String.Delimiter */ -.codehilite.a11y-light .sd { color: #008000 } /* Literal.String.Doc */ -.codehilite.a11y-light .s2 { color: #008000 } /* Literal.String.Double */ -.codehilite.a11y-light .se { color: #008000 } /* Literal.String.Escape */ -.codehilite.a11y-light .sh { color: #008000 } /* Literal.String.Heredoc */ -.codehilite.a11y-light .si { color: #008000 } /* Literal.String.Interpol */ -.codehilite.a11y-light .sx { color: #008000 } /* Literal.String.Other */ -.codehilite.a11y-light .sr { color: #D91E18 } /* Literal.String.Regex */ -.codehilite.a11y-light .s1 { color: #008000 } /* Literal.String.Single */ -.codehilite.a11y-light .ss { color: #007FAA } /* Literal.String.Symbol */ -.codehilite.a11y-light .bp { color: #AA5D00 } /* Name.Builtin.Pseudo */ -.codehilite.a11y-light .fm { color: #007FAA } /* Name.Function.Magic */ -.codehilite.a11y-light .vc { color: #D91E18 } /* Name.Variable.Class */ -.codehilite.a11y-light .vg { color: #D91E18 } /* Name.Variable.Global */ -.codehilite.a11y-light .vi { color: #D91E18 } /* Name.Variable.Instance */ -.codehilite.a11y-light .vm { color: #AA5D00 } /* Name.Variable.Magic */ -.codehilite.a11y-light .il { color: #AA5D00 } /* Literal.Number.Integer.Long */ -.codehilite.blinds-dark .hll { background-color: #66666691 } -.codehilite.blinds-dark { background: #242424; color: #BBB } -.codehilite.blinds-dark .c { color: #8C8C8C } /* Comment */ -.codehilite.blinds-dark .err { color: #5391CF } /* Error */ -.codehilite.blinds-dark .k { color: #D166A3 } /* Keyword */ -.codehilite.blinds-dark .l { color: #5391CF } /* Literal */ -.codehilite.blinds-dark .n { color: #5391CF } /* Name */ -.codehilite.blinds-dark .o { color: #E67 } /* Operator */ -.codehilite.blinds-dark .p { color: #BBB } /* Punctuation */ -.codehilite.blinds-dark .ch { color: #8C8C8C } /* Comment.Hashbang */ -.codehilite.blinds-dark .cm { color: #8C8C8C } /* Comment.Multiline */ -.codehilite.blinds-dark .cp { color: #8C8C8C } /* Comment.Preproc */ -.codehilite.blinds-dark .cpf { color: #8C8C8C } /* Comment.PreprocFile */ -.codehilite.blinds-dark .c1 { color: #8C8C8C } /* Comment.Single */ -.codehilite.blinds-dark .cs { color: #8C8C8C } /* Comment.Special */ -.codehilite.blinds-dark .gd { color: #5391CF } /* Generic.Deleted */ -.codehilite.blinds-dark .ge { font-style: italic } /* Generic.Emph */ -.codehilite.blinds-dark .gh { color: #5391CF } /* Generic.Heading */ -.codehilite.blinds-dark .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.blinds-dark .gu { color: #5391CF } /* Generic.Subheading */ -.codehilite.blinds-dark .kc { color: #D166A3 } /* Keyword.Constant */ -.codehilite.blinds-dark .kd { color: #D166A3 } /* Keyword.Declaration */ -.codehilite.blinds-dark .kn { color: #D166A3 } /* Keyword.Namespace */ -.codehilite.blinds-dark .kp { color: #D166A3 } /* Keyword.Pseudo */ -.codehilite.blinds-dark .kr { color: #D166A3 } /* Keyword.Reserved */ -.codehilite.blinds-dark .kt { color: #6CE } /* Keyword.Type */ -.codehilite.blinds-dark .ld { color: #5391CF } /* Literal.Date */ -.codehilite.blinds-dark .m { color: #BBB } /* Literal.Number */ -.codehilite.blinds-dark .s { color: #D166A3 } /* Literal.String */ -.codehilite.blinds-dark .na { color: #D166A3 } /* Name.Attribute */ -.codehilite.blinds-dark .nb { color: #6CE } /* Name.Builtin */ -.codehilite.blinds-dark .nc { color: #E67 } /* Name.Class */ -.codehilite.blinds-dark .no { color: #E67 } /* Name.Constant */ -.codehilite.blinds-dark .nd { color: #CB4 } /* Name.Decorator */ -.codehilite.blinds-dark .ni { color: #CB4 } /* Name.Entity */ -.codehilite.blinds-dark .ne { color: #5391CF } /* Name.Exception */ -.codehilite.blinds-dark .nf { color: #6CE } /* Name.Function */ -.codehilite.blinds-dark .nl { color: #E67 } /* Name.Label */ -.codehilite.blinds-dark .nn { color: #6CE } /* Name.Namespace */ -.codehilite.blinds-dark .nx { color: #5391CF } /* Name.Other */ -.codehilite.blinds-dark .py { color: #5391CF } /* Name.Property */ -.codehilite.blinds-dark .nt { color: #6CE } /* Name.Tag */ -.codehilite.blinds-dark .nv { color: #5391CF } /* Name.Variable */ -.codehilite.blinds-dark .ow { color: #D166A3 } /* Operator.Word */ -.codehilite.blinds-dark .pm { color: #BBB } /* Punctuation.Marker */ -.codehilite.blinds-dark .w { color: #BBB } /* Text.Whitespace */ -.codehilite.blinds-dark .mb { color: #BBB } /* Literal.Number.Bin */ -.codehilite.blinds-dark .mf { color: #BBB } /* Literal.Number.Float */ -.codehilite.blinds-dark .mh { color: #BBB } /* Literal.Number.Hex */ -.codehilite.blinds-dark .mi { color: #BBB } /* Literal.Number.Integer */ -.codehilite.blinds-dark .mo { color: #BBB } /* Literal.Number.Oct */ -.codehilite.blinds-dark .sa { color: #D166A3 } /* Literal.String.Affix */ -.codehilite.blinds-dark .sb { color: #D166A3 } /* Literal.String.Backtick */ -.codehilite.blinds-dark .sc { color: #D166A3 } /* Literal.String.Char */ -.codehilite.blinds-dark .dl { color: #D166A3 } /* Literal.String.Delimiter */ -.codehilite.blinds-dark .sd { color: #D166A3 } /* Literal.String.Doc */ -.codehilite.blinds-dark .s2 { color: #D166A3 } /* Literal.String.Double */ -.codehilite.blinds-dark .se { color: #D166A3 } /* Literal.String.Escape */ -.codehilite.blinds-dark .sh { color: #D166A3 } /* Literal.String.Heredoc */ -.codehilite.blinds-dark .si { color: #D166A3 } /* Literal.String.Interpol */ -.codehilite.blinds-dark .sx { color: #D166A3 } /* Literal.String.Other */ -.codehilite.blinds-dark .sr { color: #D166A3 } /* Literal.String.Regex */ -.codehilite.blinds-dark .s1 { color: #D166A3 } /* Literal.String.Single */ -.codehilite.blinds-dark .ss { color: #E67 } /* Literal.String.Symbol */ -.codehilite.blinds-dark .bp { color: #6CE } /* Name.Builtin.Pseudo */ -.codehilite.blinds-dark .fm { color: #6CE } /* Name.Function.Magic */ -.codehilite.blinds-dark .vc { color: #5391CF } /* Name.Variable.Class */ -.codehilite.blinds-dark .vg { color: #5391CF } /* Name.Variable.Global */ -.codehilite.blinds-dark .vi { color: #5391CF } /* Name.Variable.Instance */ -.codehilite.blinds-dark .vm { color: #E67 } /* Name.Variable.Magic */ -.codehilite.blinds-dark .il { color: #BBB } /* Literal.Number.Integer.Long */ -.codehilite.blinds-light .hll { background-color: #add6ff } -.codehilite.blinds-light { background: #fcfcfc; color: #000 } -.codehilite.blinds-light .c { color: #737373 } /* Comment */ -.codehilite.blinds-light .err { color: #0072B2 } /* Error */ -.codehilite.blinds-light .k { color: #CC398B } /* Keyword */ -.codehilite.blinds-light .l { color: #0072B2 } /* Literal */ -.codehilite.blinds-light .n { color: #0072B2 } /* Name */ -.codehilite.blinds-light .o { color: #BF5400 } /* Operator */ -.codehilite.blinds-light .p { color: #000 } /* Punctuation */ -.codehilite.blinds-light .ch { color: #737373 } /* Comment.Hashbang */ -.codehilite.blinds-light .cm { color: #737373 } /* Comment.Multiline */ -.codehilite.blinds-light .cp { color: #737373 } /* Comment.Preproc */ -.codehilite.blinds-light .cpf { color: #737373 } /* Comment.PreprocFile */ -.codehilite.blinds-light .c1 { color: #737373 } /* Comment.Single */ -.codehilite.blinds-light .cs { color: #737373 } /* Comment.Special */ -.codehilite.blinds-light .gd { color: #0072B2 } /* Generic.Deleted */ -.codehilite.blinds-light .ge { font-style: italic } /* Generic.Emph */ -.codehilite.blinds-light .gh { color: #0072B2 } /* Generic.Heading */ -.codehilite.blinds-light .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.blinds-light .gu { color: #0072B2 } /* Generic.Subheading */ -.codehilite.blinds-light .kc { color: #CC398B } /* Keyword.Constant */ -.codehilite.blinds-light .kd { color: #CC398B } /* Keyword.Declaration */ -.codehilite.blinds-light .kn { color: #CC398B } /* Keyword.Namespace */ -.codehilite.blinds-light .kp { color: #CC398B } /* Keyword.Pseudo */ -.codehilite.blinds-light .kr { color: #CC398B } /* Keyword.Reserved */ -.codehilite.blinds-light .kt { color: #008561 } /* Keyword.Type */ -.codehilite.blinds-light .ld { color: #0072B2 } /* Literal.Date */ -.codehilite.blinds-light .m { color: #000 } /* Literal.Number */ -.codehilite.blinds-light .s { color: #CC398B } /* Literal.String */ -.codehilite.blinds-light .na { color: #CC398B } /* Name.Attribute */ -.codehilite.blinds-light .nb { color: #008561 } /* Name.Builtin */ -.codehilite.blinds-light .nc { color: #BF5400 } /* Name.Class */ -.codehilite.blinds-light .no { color: #BF5400 } /* Name.Constant */ -.codehilite.blinds-light .nd { color: #996B00 } /* Name.Decorator */ -.codehilite.blinds-light .ni { color: #0072B2 } /* Name.Entity */ -.codehilite.blinds-light .ne { color: #0072B2 } /* Name.Exception */ -.codehilite.blinds-light .nf { color: #008561 } /* Name.Function */ -.codehilite.blinds-light .nl { color: #BF5400 } /* Name.Label */ -.codehilite.blinds-light .nn { color: #008561 } /* Name.Namespace */ -.codehilite.blinds-light .nx { color: #0072B2 } /* Name.Other */ -.codehilite.blinds-light .py { color: #0072B2 } /* Name.Property */ -.codehilite.blinds-light .nt { color: #008561 } /* Name.Tag */ -.codehilite.blinds-light .nv { color: #0072B2 } /* Name.Variable */ -.codehilite.blinds-light .ow { color: #CC398B } /* Operator.Word */ -.codehilite.blinds-light .pm { color: #000 } /* Punctuation.Marker */ -.codehilite.blinds-light .w { color: #000 } /* Text.Whitespace */ -.codehilite.blinds-light .mb { color: #000 } /* Literal.Number.Bin */ -.codehilite.blinds-light .mf { color: #000 } /* Literal.Number.Float */ -.codehilite.blinds-light .mh { color: #000 } /* Literal.Number.Hex */ -.codehilite.blinds-light .mi { color: #000 } /* Literal.Number.Integer */ -.codehilite.blinds-light .mo { color: #000 } /* Literal.Number.Oct */ -.codehilite.blinds-light .sa { color: #CC398B } /* Literal.String.Affix */ -.codehilite.blinds-light .sb { color: #CC398B } /* Literal.String.Backtick */ -.codehilite.blinds-light .sc { color: #CC398B } /* Literal.String.Char */ -.codehilite.blinds-light .dl { color: #CC398B } /* Literal.String.Delimiter */ -.codehilite.blinds-light .sd { color: #CC398B } /* Literal.String.Doc */ -.codehilite.blinds-light .s2 { color: #CC398B } /* Literal.String.Double */ -.codehilite.blinds-light .se { color: #CC398B } /* Literal.String.Escape */ -.codehilite.blinds-light .sh { color: #CC398B } /* Literal.String.Heredoc */ -.codehilite.blinds-light .si { color: #CC398B } /* Literal.String.Interpol */ -.codehilite.blinds-light .sx { color: #CC398B } /* Literal.String.Other */ -.codehilite.blinds-light .sr { color: #CC398B } /* Literal.String.Regex */ -.codehilite.blinds-light .s1 { color: #CC398B } /* Literal.String.Single */ -.codehilite.blinds-light .ss { color: #BF5400 } /* Literal.String.Symbol */ -.codehilite.blinds-light .bp { color: #008561 } /* Name.Builtin.Pseudo */ -.codehilite.blinds-light .fm { color: #008561 } /* Name.Function.Magic */ -.codehilite.blinds-light .vc { color: #0072B2 } /* Name.Variable.Class */ -.codehilite.blinds-light .vg { color: #0072B2 } /* Name.Variable.Global */ -.codehilite.blinds-light .vi { color: #0072B2 } /* Name.Variable.Instance */ -.codehilite.blinds-light .vm { color: #BF5400 } /* Name.Variable.Magic */ -.codehilite.blinds-light .il { color: #000 } /* Literal.Number.Integer.Long */ -.codehilite.github-dark .hll { background-color: #6e7681 } -.codehilite.github-dark { background: #0d1117; color: #E6EDF3 } -.codehilite.github-dark .c { color: #8B949E; font-style: italic } /* Comment */ -.codehilite.github-dark .err { color: #F85149 } /* Error */ -.codehilite.github-dark .esc { color: #E6EDF3 } /* Escape */ -.codehilite.github-dark .g { color: #E6EDF3 } /* Generic */ -.codehilite.github-dark .k { color: #FF7B72 } /* Keyword */ -.codehilite.github-dark .l { color: #A5D6FF } /* Literal */ -.codehilite.github-dark .n { color: #E6EDF3 } /* Name */ -.codehilite.github-dark .o { color: #FF7B72; font-weight: bold } /* Operator */ -.codehilite.github-dark .x { color: #E6EDF3 } /* Other */ -.codehilite.github-dark .p { color: #E6EDF3 } /* Punctuation */ -.codehilite.github-dark .ch { color: #8B949E; font-style: italic } /* Comment.Hashbang */ -.codehilite.github-dark .cm { color: #8B949E; font-style: italic } /* Comment.Multiline */ -.codehilite.github-dark .cp { color: #8B949E; font-weight: bold; font-style: italic } /* Comment.Preproc */ -.codehilite.github-dark .cpf { color: #8B949E; font-style: italic } /* Comment.PreprocFile */ -.codehilite.github-dark .c1 { color: #8B949E; font-style: italic } /* Comment.Single */ -.codehilite.github-dark .cs { color: #8B949E; font-weight: bold; font-style: italic } /* Comment.Special */ -.codehilite.github-dark .gd { color: #FFA198; background-color: #490202 } /* Generic.Deleted */ -.codehilite.github-dark .ge { color: #E6EDF3; font-style: italic } /* Generic.Emph */ -.codehilite.github-dark .ges { color: #E6EDF3; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite.github-dark .gr { color: #FFA198 } /* Generic.Error */ -.codehilite.github-dark .gh { color: #79C0FF; font-weight: bold } /* Generic.Heading */ -.codehilite.github-dark .gi { color: #56D364; background-color: #0F5323 } /* Generic.Inserted */ -.codehilite.github-dark .go { color: #8B949E } /* Generic.Output */ -.codehilite.github-dark .gp { color: #8B949E } /* Generic.Prompt */ -.codehilite.github-dark .gs { color: #E6EDF3; font-weight: bold } /* Generic.Strong */ -.codehilite.github-dark .gu { color: #79C0FF } /* Generic.Subheading */ -.codehilite.github-dark .gt { color: #FF7B72 } /* Generic.Traceback */ -.codehilite.github-dark .g-Underline { color: #E6EDF3; text-decoration: underline } /* Generic.Underline */ -.codehilite.github-dark .kc { color: #79C0FF } /* Keyword.Constant */ -.codehilite.github-dark .kd { color: #FF7B72 } /* Keyword.Declaration */ -.codehilite.github-dark .kn { color: #FF7B72 } /* Keyword.Namespace */ -.codehilite.github-dark .kp { color: #79C0FF } /* Keyword.Pseudo */ -.codehilite.github-dark .kr { color: #FF7B72 } /* Keyword.Reserved */ -.codehilite.github-dark .kt { color: #FF7B72 } /* Keyword.Type */ -.codehilite.github-dark .ld { color: #79C0FF } /* Literal.Date */ -.codehilite.github-dark .m { color: #A5D6FF } /* Literal.Number */ -.codehilite.github-dark .s { color: #A5D6FF } /* Literal.String */ -.codehilite.github-dark .na { color: #E6EDF3 } /* Name.Attribute */ -.codehilite.github-dark .nb { color: #E6EDF3 } /* Name.Builtin */ -.codehilite.github-dark .nc { color: #F0883E; font-weight: bold } /* Name.Class */ -.codehilite.github-dark .no { color: #79C0FF; font-weight: bold } /* Name.Constant */ -.codehilite.github-dark .nd { color: #D2A8FF; font-weight: bold } /* Name.Decorator */ -.codehilite.github-dark .ni { color: #FFA657 } /* Name.Entity */ -.codehilite.github-dark .ne { color: #F0883E; font-weight: bold } /* Name.Exception */ -.codehilite.github-dark .nf { color: #D2A8FF; font-weight: bold } /* Name.Function */ -.codehilite.github-dark .nl { color: #79C0FF; font-weight: bold } /* Name.Label */ -.codehilite.github-dark .nn { color: #FF7B72 } /* Name.Namespace */ -.codehilite.github-dark .nx { color: #E6EDF3 } /* Name.Other */ -.codehilite.github-dark .py { color: #79C0FF } /* Name.Property */ -.codehilite.github-dark .nt { color: #7EE787 } /* Name.Tag */ -.codehilite.github-dark .nv { color: #79C0FF } /* Name.Variable */ -.codehilite.github-dark .ow { color: #FF7B72; font-weight: bold } /* Operator.Word */ -.codehilite.github-dark .pm { color: #E6EDF3 } /* Punctuation.Marker */ -.codehilite.github-dark .w { color: #6E7681 } /* Text.Whitespace */ -.codehilite.github-dark .mb { color: #A5D6FF } /* Literal.Number.Bin */ -.codehilite.github-dark .mf { color: #A5D6FF } /* Literal.Number.Float */ -.codehilite.github-dark .mh { color: #A5D6FF } /* Literal.Number.Hex */ -.codehilite.github-dark .mi { color: #A5D6FF } /* Literal.Number.Integer */ -.codehilite.github-dark .mo { color: #A5D6FF } /* Literal.Number.Oct */ -.codehilite.github-dark .sa { color: #79C0FF } /* Literal.String.Affix */ -.codehilite.github-dark .sb { color: #A5D6FF } /* Literal.String.Backtick */ -.codehilite.github-dark .sc { color: #A5D6FF } /* Literal.String.Char */ -.codehilite.github-dark .dl { color: #79C0FF } /* Literal.String.Delimiter */ -.codehilite.github-dark .sd { color: #A5D6FF } /* Literal.String.Doc */ -.codehilite.github-dark .s2 { color: #A5D6FF } /* Literal.String.Double */ -.codehilite.github-dark .se { color: #79C0FF } /* Literal.String.Escape */ -.codehilite.github-dark .sh { color: #79C0FF } /* Literal.String.Heredoc */ -.codehilite.github-dark .si { color: #A5D6FF } /* Literal.String.Interpol */ -.codehilite.github-dark .sx { color: #A5D6FF } /* Literal.String.Other */ -.codehilite.github-dark .sr { color: #79C0FF } /* Literal.String.Regex */ -.codehilite.github-dark .s1 { color: #A5D6FF } /* Literal.String.Single */ -.codehilite.github-dark .ss { color: #A5D6FF } /* Literal.String.Symbol */ -.codehilite.github-dark .bp { color: #E6EDF3 } /* Name.Builtin.Pseudo */ -.codehilite.github-dark .fm { color: #D2A8FF; font-weight: bold } /* Name.Function.Magic */ -.codehilite.github-dark .vc { color: #79C0FF } /* Name.Variable.Class */ -.codehilite.github-dark .vg { color: #79C0FF } /* Name.Variable.Global */ -.codehilite.github-dark .vi { color: #79C0FF } /* Name.Variable.Instance */ -.codehilite.github-dark .vm { color: #79C0FF } /* Name.Variable.Magic */ -.codehilite.github-dark .il { color: #A5D6FF } /* Literal.Number.Integer.Long */ -.codehilite.github-dark-colorblind .hll { background-color: #58a6ff70 } -.codehilite.github-dark-colorblind { background: #0d1117; color: #C9D1D9 } -.codehilite.github-dark-colorblind .c { color: #B1BAC4 } /* Comment */ -.codehilite.github-dark-colorblind .err { color: #EC8E2C } /* Error */ -.codehilite.github-dark-colorblind .k { color: #EC8E2C } /* Keyword */ -.codehilite.github-dark-colorblind .l { color: #FDAC54 } /* Literal */ -.codehilite.github-dark-colorblind .n { color: #D2A8FF } /* Name */ -.codehilite.github-dark-colorblind .o { color: #A5D6FF } /* Operator */ -.codehilite.github-dark-colorblind .p { color: #C9D1D9 } /* Punctuation */ -.codehilite.github-dark-colorblind .ch { color: #B1BAC4 } /* Comment.Hashbang */ -.codehilite.github-dark-colorblind .cm { color: #B1BAC4 } /* Comment.Multiline */ -.codehilite.github-dark-colorblind .cp { color: #B1BAC4 } /* Comment.Preproc */ -.codehilite.github-dark-colorblind .cpf { color: #B1BAC4 } /* Comment.PreprocFile */ -.codehilite.github-dark-colorblind .c1 { color: #B1BAC4 } /* Comment.Single */ -.codehilite.github-dark-colorblind .cs { color: #B1BAC4 } /* Comment.Special */ -.codehilite.github-dark-colorblind .gd { color: #79C0FF } /* Generic.Deleted */ -.codehilite.github-dark-colorblind .ge { font-style: italic } /* Generic.Emph */ -.codehilite.github-dark-colorblind .gr { color: #EC8E2C } /* Generic.Error */ -.codehilite.github-dark-colorblind .gh { color: #79C0FF } /* Generic.Heading */ -.codehilite.github-dark-colorblind .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.github-dark-colorblind .gu { color: #79C0FF } /* Generic.Subheading */ -.codehilite.github-dark-colorblind .kc { color: #79C0FF } /* Keyword.Constant */ -.codehilite.github-dark-colorblind .kd { color: #EC8E2C } /* Keyword.Declaration */ -.codehilite.github-dark-colorblind .kn { color: #EC8E2C } /* Keyword.Namespace */ -.codehilite.github-dark-colorblind .kp { color: #EC8E2C } /* Keyword.Pseudo */ -.codehilite.github-dark-colorblind .kr { color: #EC8E2C } /* Keyword.Reserved */ -.codehilite.github-dark-colorblind .kt { color: #EC8E2C } /* Keyword.Type */ -.codehilite.github-dark-colorblind .ld { color: #FDAC54 } /* Literal.Date */ -.codehilite.github-dark-colorblind .m { color: #FDAC54 } /* Literal.Number */ -.codehilite.github-dark-colorblind .s { color: #79C0FF } /* Literal.String */ -.codehilite.github-dark-colorblind .na { color: #FDAC54 } /* Name.Attribute */ -.codehilite.github-dark-colorblind .nb { color: #FDAC54 } /* Name.Builtin */ -.codehilite.github-dark-colorblind .nc { color: #79C0FF } /* Name.Class */ -.codehilite.github-dark-colorblind .no { color: #79C0FF } /* Name.Constant */ -.codehilite.github-dark-colorblind .nd { color: #FDAC54 } /* Name.Decorator */ -.codehilite.github-dark-colorblind .ni { color: #A5D6FF } /* Name.Entity */ -.codehilite.github-dark-colorblind .ne { color: #D2A8FF } /* Name.Exception */ -.codehilite.github-dark-colorblind .nf { color: #79C0FF } /* Name.Function */ -.codehilite.github-dark-colorblind .nl { color: #FDAC54 } /* Name.Label */ -.codehilite.github-dark-colorblind .nn { color: #C9D1D9 } /* Name.Namespace */ -.codehilite.github-dark-colorblind .nx { color: #D2A8FF } /* Name.Other */ -.codehilite.github-dark-colorblind .py { color: #79C0FF } /* Name.Property */ -.codehilite.github-dark-colorblind .nt { color: #A5D6FF } /* Name.Tag */ -.codehilite.github-dark-colorblind .nv { color: #FDAC54 } /* Name.Variable */ -.codehilite.github-dark-colorblind .ow { color: #D2A8FF } /* Operator.Word */ -.codehilite.github-dark-colorblind .pm { color: #C9D1D9 } /* Punctuation.Marker */ -.codehilite.github-dark-colorblind .w { color: #C9D1D9 } /* Text.Whitespace */ -.codehilite.github-dark-colorblind .mb { color: #FDAC54 } /* Literal.Number.Bin */ -.codehilite.github-dark-colorblind .mf { color: #FDAC54 } /* Literal.Number.Float */ -.codehilite.github-dark-colorblind .mh { color: #FDAC54 } /* Literal.Number.Hex */ -.codehilite.github-dark-colorblind .mi { color: #FDAC54 } /* Literal.Number.Integer */ -.codehilite.github-dark-colorblind .mo { color: #FDAC54 } /* Literal.Number.Oct */ -.codehilite.github-dark-colorblind .sa { color: #79C0FF } /* Literal.String.Affix */ -.codehilite.github-dark-colorblind .sb { color: #79C0FF } /* Literal.String.Backtick */ -.codehilite.github-dark-colorblind .sc { color: #79C0FF } /* Literal.String.Char */ -.codehilite.github-dark-colorblind .dl { color: #79C0FF } /* Literal.String.Delimiter */ -.codehilite.github-dark-colorblind .sd { color: #79C0FF } /* Literal.String.Doc */ -.codehilite.github-dark-colorblind .s2 { color: #79C0FF } /* Literal.String.Double */ -.codehilite.github-dark-colorblind .se { color: #79C0FF } /* Literal.String.Escape */ -.codehilite.github-dark-colorblind .sh { color: #79C0FF } /* Literal.String.Heredoc */ -.codehilite.github-dark-colorblind .si { color: #79C0FF } /* Literal.String.Interpol */ -.codehilite.github-dark-colorblind .sx { color: #79C0FF } /* Literal.String.Other */ -.codehilite.github-dark-colorblind .sr { color: #79C0FF } /* Literal.String.Regex */ -.codehilite.github-dark-colorblind .s1 { color: #79C0FF } /* Literal.String.Single */ -.codehilite.github-dark-colorblind .ss { color: #79C0FF } /* Literal.String.Symbol */ -.codehilite.github-dark-colorblind .bp { color: #FDAC54 } /* Name.Builtin.Pseudo */ -.codehilite.github-dark-colorblind .fm { color: #79C0FF } /* Name.Function.Magic */ -.codehilite.github-dark-colorblind .vc { color: #FDAC54 } /* Name.Variable.Class */ -.codehilite.github-dark-colorblind .vg { color: #FDAC54 } /* Name.Variable.Global */ -.codehilite.github-dark-colorblind .vi { color: #FDAC54 } /* Name.Variable.Instance */ -.codehilite.github-dark-colorblind .vm { color: #FDAC54 } /* Name.Variable.Magic */ -.codehilite.github-dark-colorblind .il { color: #FDAC54 } /* Literal.Number.Integer.Long */ -.codehilite.github-dark-high-contrast .hll { background-color: #58a6ff70 } -.codehilite.github-dark-high-contrast { background: #0d1117; color: #C9D1D9 } -.codehilite.github-dark-high-contrast .c { color: #D9DEE3 } /* Comment */ -.codehilite.github-dark-high-contrast .err { color: #FF9492 } /* Error */ -.codehilite.github-dark-high-contrast .k { color: #FF9492 } /* Keyword */ -.codehilite.github-dark-high-contrast .l { color: #FFB757 } /* Literal */ -.codehilite.github-dark-high-contrast .n { color: #DBB7FF } /* Name */ -.codehilite.github-dark-high-contrast .o { color: #72F088 } /* Operator */ -.codehilite.github-dark-high-contrast .p { color: #C9D1D9 } /* Punctuation */ -.codehilite.github-dark-high-contrast .ch { color: #D9DEE3 } /* Comment.Hashbang */ -.codehilite.github-dark-high-contrast .cm { color: #D9DEE3 } /* Comment.Multiline */ -.codehilite.github-dark-high-contrast .cp { color: #D9DEE3 } /* Comment.Preproc */ -.codehilite.github-dark-high-contrast .cpf { color: #D9DEE3 } /* Comment.PreprocFile */ -.codehilite.github-dark-high-contrast .c1 { color: #D9DEE3 } /* Comment.Single */ -.codehilite.github-dark-high-contrast .cs { color: #D9DEE3 } /* Comment.Special */ -.codehilite.github-dark-high-contrast .gd { color: #91CBFF } /* Generic.Deleted */ -.codehilite.github-dark-high-contrast .ge { font-style: italic } /* Generic.Emph */ -.codehilite.github-dark-high-contrast .gr { color: #FF9492 } /* Generic.Error */ -.codehilite.github-dark-high-contrast .gh { color: #91CBFF } /* Generic.Heading */ -.codehilite.github-dark-high-contrast .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.github-dark-high-contrast .gu { color: #91CBFF } /* Generic.Subheading */ -.codehilite.github-dark-high-contrast .kc { color: #91CBFF } /* Keyword.Constant */ -.codehilite.github-dark-high-contrast .kd { color: #FF9492 } /* Keyword.Declaration */ -.codehilite.github-dark-high-contrast .kn { color: #FF9492 } /* Keyword.Namespace */ -.codehilite.github-dark-high-contrast .kp { color: #FF9492 } /* Keyword.Pseudo */ -.codehilite.github-dark-high-contrast .kr { color: #FF9492 } /* Keyword.Reserved */ -.codehilite.github-dark-high-contrast .kt { color: #FF9492 } /* Keyword.Type */ -.codehilite.github-dark-high-contrast .ld { color: #FFB757 } /* Literal.Date */ -.codehilite.github-dark-high-contrast .m { color: #FFB757 } /* Literal.Number */ -.codehilite.github-dark-high-contrast .s { color: #91CBFF } /* Literal.String */ -.codehilite.github-dark-high-contrast .na { color: #FFB757 } /* Name.Attribute */ -.codehilite.github-dark-high-contrast .nb { color: #FFB757 } /* Name.Builtin */ -.codehilite.github-dark-high-contrast .nc { color: #91CBFF } /* Name.Class */ -.codehilite.github-dark-high-contrast .no { color: #91CBFF } /* Name.Constant */ -.codehilite.github-dark-high-contrast .nd { color: #FFB757 } /* Name.Decorator */ -.codehilite.github-dark-high-contrast .ni { color: #72F088 } /* Name.Entity */ -.codehilite.github-dark-high-contrast .ne { color: #DBB7FF } /* Name.Exception */ -.codehilite.github-dark-high-contrast .nf { color: #91CBFF } /* Name.Function */ -.codehilite.github-dark-high-contrast .nl { color: #FFB757 } /* Name.Label */ -.codehilite.github-dark-high-contrast .nn { color: #C9D1D9 } /* Name.Namespace */ -.codehilite.github-dark-high-contrast .nx { color: #DBB7FF } /* Name.Other */ -.codehilite.github-dark-high-contrast .py { color: #91CBFF } /* Name.Property */ -.codehilite.github-dark-high-contrast .nt { color: #72F088 } /* Name.Tag */ -.codehilite.github-dark-high-contrast .nv { color: #FFB757 } /* Name.Variable */ -.codehilite.github-dark-high-contrast .ow { color: #DBB7FF } /* Operator.Word */ -.codehilite.github-dark-high-contrast .pm { color: #C9D1D9 } /* Punctuation.Marker */ -.codehilite.github-dark-high-contrast .w { color: #C9D1D9 } /* Text.Whitespace */ -.codehilite.github-dark-high-contrast .mb { color: #FFB757 } /* Literal.Number.Bin */ -.codehilite.github-dark-high-contrast .mf { color: #FFB757 } /* Literal.Number.Float */ -.codehilite.github-dark-high-contrast .mh { color: #FFB757 } /* Literal.Number.Hex */ -.codehilite.github-dark-high-contrast .mi { color: #FFB757 } /* Literal.Number.Integer */ -.codehilite.github-dark-high-contrast .mo { color: #FFB757 } /* Literal.Number.Oct */ -.codehilite.github-dark-high-contrast .sa { color: #91CBFF } /* Literal.String.Affix */ -.codehilite.github-dark-high-contrast .sb { color: #91CBFF } /* Literal.String.Backtick */ -.codehilite.github-dark-high-contrast .sc { color: #91CBFF } /* Literal.String.Char */ -.codehilite.github-dark-high-contrast .dl { color: #91CBFF } /* Literal.String.Delimiter */ -.codehilite.github-dark-high-contrast .sd { color: #91CBFF } /* Literal.String.Doc */ -.codehilite.github-dark-high-contrast .s2 { color: #91CBFF } /* Literal.String.Double */ -.codehilite.github-dark-high-contrast .se { color: #91CBFF } /* Literal.String.Escape */ -.codehilite.github-dark-high-contrast .sh { color: #91CBFF } /* Literal.String.Heredoc */ -.codehilite.github-dark-high-contrast .si { color: #91CBFF } /* Literal.String.Interpol */ -.codehilite.github-dark-high-contrast .sx { color: #91CBFF } /* Literal.String.Other */ -.codehilite.github-dark-high-contrast .sr { color: #91CBFF } /* Literal.String.Regex */ -.codehilite.github-dark-high-contrast .s1 { color: #91CBFF } /* Literal.String.Single */ -.codehilite.github-dark-high-contrast .ss { color: #91CBFF } /* Literal.String.Symbol */ -.codehilite.github-dark-high-contrast .bp { color: #FFB757 } /* Name.Builtin.Pseudo */ -.codehilite.github-dark-high-contrast .fm { color: #91CBFF } /* Name.Function.Magic */ -.codehilite.github-dark-high-contrast .vc { color: #FFB757 } /* Name.Variable.Class */ -.codehilite.github-dark-high-contrast .vg { color: #FFB757 } /* Name.Variable.Global */ -.codehilite.github-dark-high-contrast .vi { color: #FFB757 } /* Name.Variable.Instance */ -.codehilite.github-dark-high-contrast .vm { color: #FFB757 } /* Name.Variable.Magic */ -.codehilite.github-dark-high-contrast .il { color: #FFB757 } /* Literal.Number.Integer.Long */ -.codehilite.github-light .hll { background-color: #0969da4a } -.codehilite.github-light { background: #ffffff; color: #24292F } -.codehilite.github-light .c { color: #6E7781 } /* Comment */ -.codehilite.github-light .err { color: #CF222E } /* Error */ -.codehilite.github-light .k { color: #CF222E } /* Keyword */ -.codehilite.github-light .l { color: #953800 } /* Literal */ -.codehilite.github-light .n { color: #8250DF } /* Name */ -.codehilite.github-light .o { color: #116329 } /* Operator */ -.codehilite.github-light .p { color: #24292F } /* Punctuation */ -.codehilite.github-light .ch { color: #6E7781 } /* Comment.Hashbang */ -.codehilite.github-light .cm { color: #6E7781 } /* Comment.Multiline */ -.codehilite.github-light .cp { color: #6E7781 } /* Comment.Preproc */ -.codehilite.github-light .cpf { color: #6E7781 } /* Comment.PreprocFile */ -.codehilite.github-light .c1 { color: #6E7781 } /* Comment.Single */ -.codehilite.github-light .cs { color: #6E7781 } /* Comment.Special */ -.codehilite.github-light .gd { color: #0550AE } /* Generic.Deleted */ -.codehilite.github-light .ge { font-style: italic } /* Generic.Emph */ -.codehilite.github-light .gr { color: #CF222E } /* Generic.Error */ -.codehilite.github-light .gh { color: #0550AE } /* Generic.Heading */ -.codehilite.github-light .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.github-light .gu { color: #0550AE } /* Generic.Subheading */ -.codehilite.github-light .kc { color: #0550AE } /* Keyword.Constant */ -.codehilite.github-light .kd { color: #CF222E } /* Keyword.Declaration */ -.codehilite.github-light .kn { color: #CF222E } /* Keyword.Namespace */ -.codehilite.github-light .kp { color: #CF222E } /* Keyword.Pseudo */ -.codehilite.github-light .kr { color: #CF222E } /* Keyword.Reserved */ -.codehilite.github-light .kt { color: #CF222E } /* Keyword.Type */ -.codehilite.github-light .ld { color: #953800 } /* Literal.Date */ -.codehilite.github-light .m { color: #953800 } /* Literal.Number */ -.codehilite.github-light .s { color: #0550AE } /* Literal.String */ -.codehilite.github-light .na { color: #953800 } /* Name.Attribute */ -.codehilite.github-light .nb { color: #953800 } /* Name.Builtin */ -.codehilite.github-light .nc { color: #0550AE } /* Name.Class */ -.codehilite.github-light .no { color: #0550AE } /* Name.Constant */ -.codehilite.github-light .nd { color: #953800 } /* Name.Decorator */ -.codehilite.github-light .ni { color: #116329 } /* Name.Entity */ -.codehilite.github-light .ne { color: #8250DF } /* Name.Exception */ -.codehilite.github-light .nf { color: #0550AE } /* Name.Function */ -.codehilite.github-light .nl { color: #953800 } /* Name.Label */ -.codehilite.github-light .nn { color: #24292F } /* Name.Namespace */ -.codehilite.github-light .nx { color: #8250DF } /* Name.Other */ -.codehilite.github-light .py { color: #0550AE } /* Name.Property */ -.codehilite.github-light .nt { color: #116329 } /* Name.Tag */ -.codehilite.github-light .nv { color: #953800 } /* Name.Variable */ -.codehilite.github-light .ow { color: #8250DF } /* Operator.Word */ -.codehilite.github-light .pm { color: #24292F } /* Punctuation.Marker */ -.codehilite.github-light .w { color: #24292F } /* Text.Whitespace */ -.codehilite.github-light .mb { color: #953800 } /* Literal.Number.Bin */ -.codehilite.github-light .mf { color: #953800 } /* Literal.Number.Float */ -.codehilite.github-light .mh { color: #953800 } /* Literal.Number.Hex */ -.codehilite.github-light .mi { color: #953800 } /* Literal.Number.Integer */ -.codehilite.github-light .mo { color: #953800 } /* Literal.Number.Oct */ -.codehilite.github-light .sa { color: #0550AE } /* Literal.String.Affix */ -.codehilite.github-light .sb { color: #0550AE } /* Literal.String.Backtick */ -.codehilite.github-light .sc { color: #0550AE } /* Literal.String.Char */ -.codehilite.github-light .dl { color: #0550AE } /* Literal.String.Delimiter */ -.codehilite.github-light .sd { color: #0550AE } /* Literal.String.Doc */ -.codehilite.github-light .s2 { color: #0550AE } /* Literal.String.Double */ -.codehilite.github-light .se { color: #0550AE } /* Literal.String.Escape */ -.codehilite.github-light .sh { color: #0550AE } /* Literal.String.Heredoc */ -.codehilite.github-light .si { color: #0550AE } /* Literal.String.Interpol */ -.codehilite.github-light .sx { color: #0550AE } /* Literal.String.Other */ -.codehilite.github-light .sr { color: #0550AE } /* Literal.String.Regex */ -.codehilite.github-light .s1 { color: #0550AE } /* Literal.String.Single */ -.codehilite.github-light .ss { color: #0550AE } /* Literal.String.Symbol */ -.codehilite.github-light .bp { color: #953800 } /* Name.Builtin.Pseudo */ -.codehilite.github-light .fm { color: #0550AE } /* Name.Function.Magic */ -.codehilite.github-light .vc { color: #953800 } /* Name.Variable.Class */ -.codehilite.github-light .vg { color: #953800 } /* Name.Variable.Global */ -.codehilite.github-light .vi { color: #953800 } /* Name.Variable.Instance */ -.codehilite.github-light .vm { color: #953800 } /* Name.Variable.Magic */ -.codehilite.github-light .il { color: #953800 } /* Literal.Number.Integer.Long */ -.codehilite.github-light-colorblind .hll { background-color: #0969da4a } -.codehilite.github-light-colorblind { background: #ffffff; color: #24292F } -.codehilite.github-light-colorblind .c { color: #6E7781 } /* Comment */ -.codehilite.github-light-colorblind .err { color: #B35900 } /* Error */ -.codehilite.github-light-colorblind .k { color: #B35900 } /* Keyword */ -.codehilite.github-light-colorblind .l { color: #8A4600 } /* Literal */ -.codehilite.github-light-colorblind .n { color: #8250DF } /* Name */ -.codehilite.github-light-colorblind .o { color: #0550AE } /* Operator */ -.codehilite.github-light-colorblind .p { color: #24292F } /* Punctuation */ -.codehilite.github-light-colorblind .ch { color: #6E7781 } /* Comment.Hashbang */ -.codehilite.github-light-colorblind .cm { color: #6E7781 } /* Comment.Multiline */ -.codehilite.github-light-colorblind .cp { color: #6E7781 } /* Comment.Preproc */ -.codehilite.github-light-colorblind .cpf { color: #6E7781 } /* Comment.PreprocFile */ -.codehilite.github-light-colorblind .c1 { color: #6E7781 } /* Comment.Single */ -.codehilite.github-light-colorblind .cs { color: #6E7781 } /* Comment.Special */ -.codehilite.github-light-colorblind .gd { color: #0550AE } /* Generic.Deleted */ -.codehilite.github-light-colorblind .ge { font-style: italic } /* Generic.Emph */ -.codehilite.github-light-colorblind .gr { color: #B35900 } /* Generic.Error */ -.codehilite.github-light-colorblind .gh { color: #0550AE } /* Generic.Heading */ -.codehilite.github-light-colorblind .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.github-light-colorblind .gu { color: #0550AE } /* Generic.Subheading */ -.codehilite.github-light-colorblind .kc { color: #0550AE } /* Keyword.Constant */ -.codehilite.github-light-colorblind .kd { color: #B35900 } /* Keyword.Declaration */ -.codehilite.github-light-colorblind .kn { color: #B35900 } /* Keyword.Namespace */ -.codehilite.github-light-colorblind .kp { color: #B35900 } /* Keyword.Pseudo */ -.codehilite.github-light-colorblind .kr { color: #B35900 } /* Keyword.Reserved */ -.codehilite.github-light-colorblind .kt { color: #B35900 } /* Keyword.Type */ -.codehilite.github-light-colorblind .ld { color: #8A4600 } /* Literal.Date */ -.codehilite.github-light-colorblind .m { color: #8A4600 } /* Literal.Number */ -.codehilite.github-light-colorblind .s { color: #0550AE } /* Literal.String */ -.codehilite.github-light-colorblind .na { color: #8A4600 } /* Name.Attribute */ -.codehilite.github-light-colorblind .nb { color: #8A4600 } /* Name.Builtin */ -.codehilite.github-light-colorblind .nc { color: #0550AE } /* Name.Class */ -.codehilite.github-light-colorblind .no { color: #0550AE } /* Name.Constant */ -.codehilite.github-light-colorblind .nd { color: #8A4600 } /* Name.Decorator */ -.codehilite.github-light-colorblind .ni { color: #0550AE } /* Name.Entity */ -.codehilite.github-light-colorblind .ne { color: #8250DF } /* Name.Exception */ -.codehilite.github-light-colorblind .nf { color: #0550AE } /* Name.Function */ -.codehilite.github-light-colorblind .nl { color: #8A4600 } /* Name.Label */ -.codehilite.github-light-colorblind .nn { color: #24292F } /* Name.Namespace */ -.codehilite.github-light-colorblind .nx { color: #8250DF } /* Name.Other */ -.codehilite.github-light-colorblind .py { color: #0550AE } /* Name.Property */ -.codehilite.github-light-colorblind .nt { color: #0550AE } /* Name.Tag */ -.codehilite.github-light-colorblind .nv { color: #8A4600 } /* Name.Variable */ -.codehilite.github-light-colorblind .ow { color: #8250DF } /* Operator.Word */ -.codehilite.github-light-colorblind .pm { color: #24292F } /* Punctuation.Marker */ -.codehilite.github-light-colorblind .w { color: #24292F } /* Text.Whitespace */ -.codehilite.github-light-colorblind .mb { color: #8A4600 } /* Literal.Number.Bin */ -.codehilite.github-light-colorblind .mf { color: #8A4600 } /* Literal.Number.Float */ -.codehilite.github-light-colorblind .mh { color: #8A4600 } /* Literal.Number.Hex */ -.codehilite.github-light-colorblind .mi { color: #8A4600 } /* Literal.Number.Integer */ -.codehilite.github-light-colorblind .mo { color: #8A4600 } /* Literal.Number.Oct */ -.codehilite.github-light-colorblind .sa { color: #0550AE } /* Literal.String.Affix */ -.codehilite.github-light-colorblind .sb { color: #0550AE } /* Literal.String.Backtick */ -.codehilite.github-light-colorblind .sc { color: #0550AE } /* Literal.String.Char */ -.codehilite.github-light-colorblind .dl { color: #0550AE } /* Literal.String.Delimiter */ -.codehilite.github-light-colorblind .sd { color: #0550AE } /* Literal.String.Doc */ -.codehilite.github-light-colorblind .s2 { color: #0550AE } /* Literal.String.Double */ -.codehilite.github-light-colorblind .se { color: #0550AE } /* Literal.String.Escape */ -.codehilite.github-light-colorblind .sh { color: #0550AE } /* Literal.String.Heredoc */ -.codehilite.github-light-colorblind .si { color: #0550AE } /* Literal.String.Interpol */ -.codehilite.github-light-colorblind .sx { color: #0550AE } /* Literal.String.Other */ -.codehilite.github-light-colorblind .sr { color: #0550AE } /* Literal.String.Regex */ -.codehilite.github-light-colorblind .s1 { color: #0550AE } /* Literal.String.Single */ -.codehilite.github-light-colorblind .ss { color: #0550AE } /* Literal.String.Symbol */ -.codehilite.github-light-colorblind .bp { color: #8A4600 } /* Name.Builtin.Pseudo */ -.codehilite.github-light-colorblind .fm { color: #0550AE } /* Name.Function.Magic */ -.codehilite.github-light-colorblind .vc { color: #8A4600 } /* Name.Variable.Class */ -.codehilite.github-light-colorblind .vg { color: #8A4600 } /* Name.Variable.Global */ -.codehilite.github-light-colorblind .vi { color: #8A4600 } /* Name.Variable.Instance */ -.codehilite.github-light-colorblind .vm { color: #8A4600 } /* Name.Variable.Magic */ -.codehilite.github-light-colorblind .il { color: #8A4600 } /* Literal.Number.Integer.Long */ -.codehilite.github-light-high-contrast .hll { background-color: #0969da4a } -.codehilite.github-light-high-contrast { background: #ffffff; color: #24292F } -.codehilite.github-light-high-contrast .c { color: #66707B } /* Comment */ -.codehilite.github-light-high-contrast .err { color: #A0111F } /* Error */ -.codehilite.github-light-high-contrast .k { color: #A0111F } /* Keyword */ -.codehilite.github-light-high-contrast .l { color: #702C00 } /* Literal */ -.codehilite.github-light-high-contrast .n { color: #622CBC } /* Name */ -.codehilite.github-light-high-contrast .o { color: #024C1A } /* Operator */ -.codehilite.github-light-high-contrast .p { color: #24292F } /* Punctuation */ -.codehilite.github-light-high-contrast .ch { color: #66707B } /* Comment.Hashbang */ -.codehilite.github-light-high-contrast .cm { color: #66707B } /* Comment.Multiline */ -.codehilite.github-light-high-contrast .cp { color: #66707B } /* Comment.Preproc */ -.codehilite.github-light-high-contrast .cpf { color: #66707B } /* Comment.PreprocFile */ -.codehilite.github-light-high-contrast .c1 { color: #66707B } /* Comment.Single */ -.codehilite.github-light-high-contrast .cs { color: #66707B } /* Comment.Special */ -.codehilite.github-light-high-contrast .gd { color: #023B95 } /* Generic.Deleted */ -.codehilite.github-light-high-contrast .ge { font-style: italic } /* Generic.Emph */ -.codehilite.github-light-high-contrast .gr { color: #A0111F } /* Generic.Error */ -.codehilite.github-light-high-contrast .gh { color: #023B95 } /* Generic.Heading */ -.codehilite.github-light-high-contrast .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.github-light-high-contrast .gu { color: #023B95 } /* Generic.Subheading */ -.codehilite.github-light-high-contrast .kc { color: #023B95 } /* Keyword.Constant */ -.codehilite.github-light-high-contrast .kd { color: #A0111F } /* Keyword.Declaration */ -.codehilite.github-light-high-contrast .kn { color: #A0111F } /* Keyword.Namespace */ -.codehilite.github-light-high-contrast .kp { color: #A0111F } /* Keyword.Pseudo */ -.codehilite.github-light-high-contrast .kr { color: #A0111F } /* Keyword.Reserved */ -.codehilite.github-light-high-contrast .kt { color: #A0111F } /* Keyword.Type */ -.codehilite.github-light-high-contrast .ld { color: #702C00 } /* Literal.Date */ -.codehilite.github-light-high-contrast .m { color: #702C00 } /* Literal.Number */ -.codehilite.github-light-high-contrast .s { color: #023B95 } /* Literal.String */ -.codehilite.github-light-high-contrast .na { color: #702C00 } /* Name.Attribute */ -.codehilite.github-light-high-contrast .nb { color: #702C00 } /* Name.Builtin */ -.codehilite.github-light-high-contrast .nc { color: #023B95 } /* Name.Class */ -.codehilite.github-light-high-contrast .no { color: #023B95 } /* Name.Constant */ -.codehilite.github-light-high-contrast .nd { color: #702C00 } /* Name.Decorator */ -.codehilite.github-light-high-contrast .ni { color: #024C1A } /* Name.Entity */ -.codehilite.github-light-high-contrast .ne { color: #622CBC } /* Name.Exception */ -.codehilite.github-light-high-contrast .nf { color: #023B95 } /* Name.Function */ -.codehilite.github-light-high-contrast .nl { color: #702C00 } /* Name.Label */ -.codehilite.github-light-high-contrast .nn { color: #24292F } /* Name.Namespace */ -.codehilite.github-light-high-contrast .nx { color: #622CBC } /* Name.Other */ -.codehilite.github-light-high-contrast .py { color: #023B95 } /* Name.Property */ -.codehilite.github-light-high-contrast .nt { color: #024C1A } /* Name.Tag */ -.codehilite.github-light-high-contrast .nv { color: #702C00 } /* Name.Variable */ -.codehilite.github-light-high-contrast .ow { color: #622CBC } /* Operator.Word */ -.codehilite.github-light-high-contrast .pm { color: #24292F } /* Punctuation.Marker */ -.codehilite.github-light-high-contrast .w { color: #24292F } /* Text.Whitespace */ -.codehilite.github-light-high-contrast .mb { color: #702C00 } /* Literal.Number.Bin */ -.codehilite.github-light-high-contrast .mf { color: #702C00 } /* Literal.Number.Float */ -.codehilite.github-light-high-contrast .mh { color: #702C00 } /* Literal.Number.Hex */ -.codehilite.github-light-high-contrast .mi { color: #702C00 } /* Literal.Number.Integer */ -.codehilite.github-light-high-contrast .mo { color: #702C00 } /* Literal.Number.Oct */ -.codehilite.github-light-high-contrast .sa { color: #023B95 } /* Literal.String.Affix */ -.codehilite.github-light-high-contrast .sb { color: #023B95 } /* Literal.String.Backtick */ -.codehilite.github-light-high-contrast .sc { color: #023B95 } /* Literal.String.Char */ -.codehilite.github-light-high-contrast .dl { color: #023B95 } /* Literal.String.Delimiter */ -.codehilite.github-light-high-contrast .sd { color: #023B95 } /* Literal.String.Doc */ -.codehilite.github-light-high-contrast .s2 { color: #023B95 } /* Literal.String.Double */ -.codehilite.github-light-high-contrast .se { color: #023B95 } /* Literal.String.Escape */ -.codehilite.github-light-high-contrast .sh { color: #023B95 } /* Literal.String.Heredoc */ -.codehilite.github-light-high-contrast .si { color: #023B95 } /* Literal.String.Interpol */ -.codehilite.github-light-high-contrast .sx { color: #023B95 } /* Literal.String.Other */ -.codehilite.github-light-high-contrast .sr { color: #023B95 } /* Literal.String.Regex */ -.codehilite.github-light-high-contrast .s1 { color: #023B95 } /* Literal.String.Single */ -.codehilite.github-light-high-contrast .ss { color: #023B95 } /* Literal.String.Symbol */ -.codehilite.github-light-high-contrast .bp { color: #702C00 } /* Name.Builtin.Pseudo */ -.codehilite.github-light-high-contrast .fm { color: #023B95 } /* Name.Function.Magic */ -.codehilite.github-light-high-contrast .vc { color: #702C00 } /* Name.Variable.Class */ -.codehilite.github-light-high-contrast .vg { color: #702C00 } /* Name.Variable.Global */ -.codehilite.github-light-high-contrast .vi { color: #702C00 } /* Name.Variable.Instance */ -.codehilite.github-light-high-contrast .vm { color: #702C00 } /* Name.Variable.Magic */ -.codehilite.github-light-high-contrast .il { color: #702C00 } /* Literal.Number.Integer.Long */ -.codehilite.gotthard-dark .hll { background-color: #4c4b4be8 } -.codehilite.gotthard-dark { background: #000000; color: #F5F5F5 } -.codehilite.gotthard-dark .c { color: #B19DB4 } /* Comment */ -.codehilite.gotthard-dark .err { color: #AB6369 } /* Error */ -.codehilite.gotthard-dark .k { color: #B19DB4 } /* Keyword */ -.codehilite.gotthard-dark .l { color: #B19DB4 } /* Literal */ -.codehilite.gotthard-dark .n { color: #F5F5F5 } /* Name */ -.codehilite.gotthard-dark .o { color: #6F98B3 } /* Operator */ -.codehilite.gotthard-dark .p { color: #F5F5F5 } /* Punctuation */ -.codehilite.gotthard-dark .ch { color: #B19DB4 } /* Comment.Hashbang */ -.codehilite.gotthard-dark .cm { color: #B19DB4 } /* Comment.Multiline */ -.codehilite.gotthard-dark .cp { color: #B19DB4 } /* Comment.Preproc */ -.codehilite.gotthard-dark .cpf { color: #B19DB4 } /* Comment.PreprocFile */ -.codehilite.gotthard-dark .c1 { color: #B19DB4 } /* Comment.Single */ -.codehilite.gotthard-dark .cs { color: #B19DB4 } /* Comment.Special */ -.codehilite.gotthard-dark .gd { color: #AB6369 } /* Generic.Deleted */ -.codehilite.gotthard-dark .gh { color: #81B19B } /* Generic.Heading */ -.codehilite.gotthard-dark .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.gotthard-dark .gu { color: #81B19B } /* Generic.Subheading */ -.codehilite.gotthard-dark .kc { color: #AB6369 } /* Keyword.Constant */ -.codehilite.gotthard-dark .kd { color: #B19DB4 } /* Keyword.Declaration */ -.codehilite.gotthard-dark .kn { color: #B19DB4 } /* Keyword.Namespace */ -.codehilite.gotthard-dark .kp { color: #B19DB4 } /* Keyword.Pseudo */ -.codehilite.gotthard-dark .kr { color: #B19DB4 } /* Keyword.Reserved */ -.codehilite.gotthard-dark .kt { color: #81B19B } /* Keyword.Type */ -.codehilite.gotthard-dark .ld { color: #B19DB4 } /* Literal.Date */ -.codehilite.gotthard-dark .m { color: #AB6369 } /* Literal.Number */ -.codehilite.gotthard-dark .s { color: #81B19B } /* Literal.String */ -.codehilite.gotthard-dark .na { color: #B19DB4 } /* Name.Attribute */ -.codehilite.gotthard-dark .nb { color: #81B19B } /* Name.Builtin */ -.codehilite.gotthard-dark .nc { color: #CAAB6D } /* Name.Class */ -.codehilite.gotthard-dark .no { color: #AB6369 } /* Name.Constant */ -.codehilite.gotthard-dark .nd { color: #81B19B } /* Name.Decorator */ -.codehilite.gotthard-dark .ni { color: #81B19B } /* Name.Entity */ -.codehilite.gotthard-dark .ne { color: #AB6369 } /* Name.Exception */ -.codehilite.gotthard-dark .nf { color: #B19DB4 } /* Name.Function */ -.codehilite.gotthard-dark .nl { color: #81B19B } /* Name.Label */ -.codehilite.gotthard-dark .nn { color: #CAAB6D } /* Name.Namespace */ -.codehilite.gotthard-dark .nx { color: #F5F5F5 } /* Name.Other */ -.codehilite.gotthard-dark .py { color: #B19DB4 } /* Name.Property */ -.codehilite.gotthard-dark .nt { color: #AB6369 } /* Name.Tag */ -.codehilite.gotthard-dark .nv { color: #F5F5F5 } /* Name.Variable */ -.codehilite.gotthard-dark .ow { color: #B19DB4 } /* Operator.Word */ -.codehilite.gotthard-dark .pm { color: #F5F5F5 } /* Punctuation.Marker */ -.codehilite.gotthard-dark .w { color: #F5F5F5 } /* Text.Whitespace */ -.codehilite.gotthard-dark .mb { color: #AB6369 } /* Literal.Number.Bin */ -.codehilite.gotthard-dark .mf { color: #AB6369 } /* Literal.Number.Float */ -.codehilite.gotthard-dark .mh { color: #AB6369 } /* Literal.Number.Hex */ -.codehilite.gotthard-dark .mi { color: #AB6369 } /* Literal.Number.Integer */ -.codehilite.gotthard-dark .mo { color: #AB6369 } /* Literal.Number.Oct */ -.codehilite.gotthard-dark .sa { color: #81B19B } /* Literal.String.Affix */ -.codehilite.gotthard-dark .sb { color: #CAAB6D } /* Literal.String.Backtick */ -.codehilite.gotthard-dark .sc { color: #81B19B } /* Literal.String.Char */ -.codehilite.gotthard-dark .dl { color: #81B19B } /* Literal.String.Delimiter */ -.codehilite.gotthard-dark .sd { color: #81B19B } /* Literal.String.Doc */ -.codehilite.gotthard-dark .s2 { color: #81B19B } /* Literal.String.Double */ -.codehilite.gotthard-dark .se { color: #6F98B3 } /* Literal.String.Escape */ -.codehilite.gotthard-dark .sh { color: #81B19B } /* Literal.String.Heredoc */ -.codehilite.gotthard-dark .si { color: #81B19B } /* Literal.String.Interpol */ -.codehilite.gotthard-dark .sx { color: #81B19B } /* Literal.String.Other */ -.codehilite.gotthard-dark .sr { color: #6F98B3 } /* Literal.String.Regex */ -.codehilite.gotthard-dark .s1 { color: #81B19B } /* Literal.String.Single */ -.codehilite.gotthard-dark .ss { color: #81B19B } /* Literal.String.Symbol */ -.codehilite.gotthard-dark .bp { color: #81B19B } /* Name.Builtin.Pseudo */ -.codehilite.gotthard-dark .fm { color: #B19DB4 } /* Name.Function.Magic */ -.codehilite.gotthard-dark .vc { color: #F5F5F5 } /* Name.Variable.Class */ -.codehilite.gotthard-dark .vg { color: #F5F5F5 } /* Name.Variable.Global */ -.codehilite.gotthard-dark .vi { color: #F5F5F5 } /* Name.Variable.Instance */ -.codehilite.gotthard-dark .vm { color: #F5F5F5 } /* Name.Variable.Magic */ -.codehilite.gotthard-dark .il { color: #AB6369 } /* Literal.Number.Integer.Long */ -.codehilite.gotthard-light .hll { background-color: #E1E1E1 } -.codehilite.gotthard-light { background: #F5F5F5; color: #141414 } -.codehilite.gotthard-light .c { color: #974EB7 } /* Comment */ -.codehilite.gotthard-light .err { color: #9F4E55 } /* Error */ -.codehilite.gotthard-light .k { color: #974EB7 } /* Keyword */ -.codehilite.gotthard-light .l { color: #974EB7 } /* Literal */ -.codehilite.gotthard-light .n { color: #141414 } /* Name */ -.codehilite.gotthard-light .o { color: #3D73A9 } /* Operator */ -.codehilite.gotthard-light .p { color: #141414 } /* Punctuation */ -.codehilite.gotthard-light .ch { color: #974EB7 } /* Comment.Hashbang */ -.codehilite.gotthard-light .cm { color: #974EB7 } /* Comment.Multiline */ -.codehilite.gotthard-light .cp { color: #974EB7 } /* Comment.Preproc */ -.codehilite.gotthard-light .cpf { color: #974EB7 } /* Comment.PreprocFile */ -.codehilite.gotthard-light .c1 { color: #974EB7 } /* Comment.Single */ -.codehilite.gotthard-light .cs { color: #974EB7 } /* Comment.Special */ -.codehilite.gotthard-light .gd { color: #9F4E55 } /* Generic.Deleted */ -.codehilite.gotthard-light .gh { color: #437A6B } /* Generic.Heading */ -.codehilite.gotthard-light .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.gotthard-light .gu { color: #437A6B } /* Generic.Subheading */ -.codehilite.gotthard-light .kc { color: #9F4E55 } /* Keyword.Constant */ -.codehilite.gotthard-light .kd { color: #974EB7 } /* Keyword.Declaration */ -.codehilite.gotthard-light .kn { color: #974EB7 } /* Keyword.Namespace */ -.codehilite.gotthard-light .kp { color: #974EB7 } /* Keyword.Pseudo */ -.codehilite.gotthard-light .kr { color: #974EB7 } /* Keyword.Reserved */ -.codehilite.gotthard-light .kt { color: #437A6B } /* Keyword.Type */ -.codehilite.gotthard-light .ld { color: #974EB7 } /* Literal.Date */ -.codehilite.gotthard-light .m { color: #9F4E55 } /* Literal.Number */ -.codehilite.gotthard-light .s { color: #437A6B } /* Literal.String */ -.codehilite.gotthard-light .na { color: #974EB7 } /* Name.Attribute */ -.codehilite.gotthard-light .nb { color: #437A6B } /* Name.Builtin */ -.codehilite.gotthard-light .nc { color: #98661B } /* Name.Class */ -.codehilite.gotthard-light .no { color: #9F4E55 } /* Name.Constant */ -.codehilite.gotthard-light .nd { color: #437A6B } /* Name.Decorator */ -.codehilite.gotthard-light .ni { color: #437A6B } /* Name.Entity */ -.codehilite.gotthard-light .ne { color: #9F4E55 } /* Name.Exception */ -.codehilite.gotthard-light .nf { color: #974EB7 } /* Name.Function */ -.codehilite.gotthard-light .nl { color: #437A6B } /* Name.Label */ -.codehilite.gotthard-light .nn { color: #98661B } /* Name.Namespace */ -.codehilite.gotthard-light .nx { color: #141414 } /* Name.Other */ -.codehilite.gotthard-light .py { color: #974EB7 } /* Name.Property */ -.codehilite.gotthard-light .nt { color: #9F4E55 } /* Name.Tag */ -.codehilite.gotthard-light .nv { color: #141414 } /* Name.Variable */ -.codehilite.gotthard-light .ow { color: #974EB7 } /* Operator.Word */ -.codehilite.gotthard-light .pm { color: #141414 } /* Punctuation.Marker */ -.codehilite.gotthard-light .w { color: #141414 } /* Text.Whitespace */ -.codehilite.gotthard-light .mb { color: #9F4E55 } /* Literal.Number.Bin */ -.codehilite.gotthard-light .mf { color: #9F4E55 } /* Literal.Number.Float */ -.codehilite.gotthard-light .mh { color: #9F4E55 } /* Literal.Number.Hex */ -.codehilite.gotthard-light .mi { color: #9F4E55 } /* Literal.Number.Integer */ -.codehilite.gotthard-light .mo { color: #9F4E55 } /* Literal.Number.Oct */ -.codehilite.gotthard-light .sa { color: #437A6B } /* Literal.String.Affix */ -.codehilite.gotthard-light .sb { color: #98661B } /* Literal.String.Backtick */ -.codehilite.gotthard-light .sc { color: #437A6B } /* Literal.String.Char */ -.codehilite.gotthard-light .dl { color: #437A6B } /* Literal.String.Delimiter */ -.codehilite.gotthard-light .sd { color: #437A6B } /* Literal.String.Doc */ -.codehilite.gotthard-light .s2 { color: #437A6B } /* Literal.String.Double */ -.codehilite.gotthard-light .se { color: #3D73A9 } /* Literal.String.Escape */ -.codehilite.gotthard-light .sh { color: #437A6B } /* Literal.String.Heredoc */ -.codehilite.gotthard-light .si { color: #437A6B } /* Literal.String.Interpol */ -.codehilite.gotthard-light .sx { color: #437A6B } /* Literal.String.Other */ -.codehilite.gotthard-light .sr { color: #3D73A9 } /* Literal.String.Regex */ -.codehilite.gotthard-light .s1 { color: #437A6B } /* Literal.String.Single */ -.codehilite.gotthard-light .ss { color: #437A6B } /* Literal.String.Symbol */ -.codehilite.gotthard-light .bp { color: #437A6B } /* Name.Builtin.Pseudo */ -.codehilite.gotthard-light .fm { color: #974EB7 } /* Name.Function.Magic */ -.codehilite.gotthard-light .vc { color: #141414 } /* Name.Variable.Class */ -.codehilite.gotthard-light .vg { color: #141414 } /* Name.Variable.Global */ -.codehilite.gotthard-light .vi { color: #141414 } /* Name.Variable.Instance */ -.codehilite.gotthard-light .vm { color: #141414 } /* Name.Variable.Magic */ -.codehilite.gotthard-light .il { color: #9F4E55 } /* Literal.Number.Integer.Long */ -.codehilite.greative .hll { background-color: #473d18 } -.codehilite.greative { background: #010726; color: #A2BFFC } -.codehilite.greative .c { color: #797979 } /* Comment */ -.codehilite.greative .err { color: #A2BFFC } /* Error */ -.codehilite.greative .k { color: #9E86C8 } /* Keyword */ -.codehilite.greative .l { color: #A2BFFC } /* Literal */ -.codehilite.greative .n { color: #A2BFFC } /* Name */ -.codehilite.greative .o { color: #F78C6C } /* Operator */ -.codehilite.greative .p { color: #A2BFFC } /* Punctuation */ -.codehilite.greative .ch { color: #797979 } /* Comment.Hashbang */ -.codehilite.greative .cm { color: #797979 } /* Comment.Multiline */ -.codehilite.greative .cp { color: #797979 } /* Comment.Preproc */ -.codehilite.greative .cpf { color: #797979 } /* Comment.PreprocFile */ -.codehilite.greative .c1 { color: #797979 } /* Comment.Single */ -.codehilite.greative .cs { color: #797979 } /* Comment.Special */ -.codehilite.greative .gd { color: #A2BFFC } /* Generic.Deleted */ -.codehilite.greative .ge { font-style: italic } /* Generic.Emph */ -.codehilite.greative .gh { color: #A2BFFC } /* Generic.Heading */ -.codehilite.greative .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.greative .gu { color: #A2BFFC } /* Generic.Subheading */ -.codehilite.greative .kc { color: #9E86C8 } /* Keyword.Constant */ -.codehilite.greative .kd { color: #9E86C8 } /* Keyword.Declaration */ -.codehilite.greative .kn { color: #9E86C8 } /* Keyword.Namespace */ -.codehilite.greative .kp { color: #9E86C8 } /* Keyword.Pseudo */ -.codehilite.greative .kr { color: #9E86C8 } /* Keyword.Reserved */ -.codehilite.greative .kt { color: #C5E478 } /* Keyword.Type */ -.codehilite.greative .ld { color: #A2BFFC } /* Literal.Date */ -.codehilite.greative .m { color: #9E86C8 } /* Literal.Number */ -.codehilite.greative .s { color: #9E8741 } /* Literal.String */ -.codehilite.greative .na { color: #9E86C8 } /* Name.Attribute */ -.codehilite.greative .nb { color: #C5E478 } /* Name.Builtin */ -.codehilite.greative .nc { color: #F78C6C } /* Name.Class */ -.codehilite.greative .no { color: #A2BFFC } /* Name.Constant */ -.codehilite.greative .nd { color: #9E8741 } /* Name.Decorator */ -.codehilite.greative .ni { color: #9E8741 } /* Name.Entity */ -.codehilite.greative .ne { color: #A2BFFC } /* Name.Exception */ -.codehilite.greative .nf { color: #9E86C8 } /* Name.Function */ -.codehilite.greative .nl { color: #F78C6C } /* Name.Label */ -.codehilite.greative .nn { color: #C5E478 } /* Name.Namespace */ -.codehilite.greative .nx { color: #A2BFFC } /* Name.Other */ -.codehilite.greative .py { color: #A2BFFC } /* Name.Property */ -.codehilite.greative .nt { color: #5CA7E4 } /* Name.Tag */ -.codehilite.greative .nv { color: #C5E478 } /* Name.Variable */ -.codehilite.greative .ow { color: #9E86C8 } /* Operator.Word */ -.codehilite.greative .pm { color: #A2BFFC } /* Punctuation.Marker */ -.codehilite.greative .w { color: #A2BFFC } /* Text.Whitespace */ -.codehilite.greative .mb { color: #9E86C8 } /* Literal.Number.Bin */ -.codehilite.greative .mf { color: #9E86C8 } /* Literal.Number.Float */ -.codehilite.greative .mh { color: #9E86C8 } /* Literal.Number.Hex */ -.codehilite.greative .mi { color: #9E86C8 } /* Literal.Number.Integer */ -.codehilite.greative .mo { color: #9E86C8 } /* Literal.Number.Oct */ -.codehilite.greative .sa { color: #9E8741 } /* Literal.String.Affix */ -.codehilite.greative .sb { color: #9E8741 } /* Literal.String.Backtick */ -.codehilite.greative .sc { color: #9E8741 } /* Literal.String.Char */ -.codehilite.greative .dl { color: #9E8741 } /* Literal.String.Delimiter */ -.codehilite.greative .sd { color: #9E8741 } /* Literal.String.Doc */ -.codehilite.greative .s2 { color: #9E8741 } /* Literal.String.Double */ -.codehilite.greative .se { color: #F78C6C } /* Literal.String.Escape */ -.codehilite.greative .sh { color: #9E8741 } /* Literal.String.Heredoc */ -.codehilite.greative .si { color: #9E8741 } /* Literal.String.Interpol */ -.codehilite.greative .sx { color: #9E8741 } /* Literal.String.Other */ -.codehilite.greative .sr { color: #5CA7E4 } /* Literal.String.Regex */ -.codehilite.greative .s1 { color: #9E8741 } /* Literal.String.Single */ -.codehilite.greative .ss { color: #F78C6C } /* Literal.String.Symbol */ -.codehilite.greative .bp { color: #C5E478 } /* Name.Builtin.Pseudo */ -.codehilite.greative .fm { color: #9E86C8 } /* Name.Function.Magic */ -.codehilite.greative .vc { color: #C5E478 } /* Name.Variable.Class */ -.codehilite.greative .vg { color: #C5E478 } /* Name.Variable.Global */ -.codehilite.greative .vi { color: #C5E478 } /* Name.Variable.Instance */ -.codehilite.greative .vm { color: #F78C6C } /* Name.Variable.Magic */ -.codehilite.greative .il { color: #9E86C8 } /* Literal.Number.Integer.Long */ -.codehilite.pitaya-smoothie .hll { background-color: #2A1968 } -.codehilite.pitaya-smoothie { background: #181036; color: #FEFEFF } -.codehilite.pitaya-smoothie .c { color: #8786AC } /* Comment */ -.codehilite.pitaya-smoothie .err { color: #F26196 } /* Error */ -.codehilite.pitaya-smoothie .k { color: #FAD000 } /* Keyword */ -.codehilite.pitaya-smoothie .l { color: #F5A394 } /* Literal */ -.codehilite.pitaya-smoothie .n { color: #FEFEFF } /* Name */ -.codehilite.pitaya-smoothie .o { color: #18C1C4 } /* Operator */ -.codehilite.pitaya-smoothie .p { color: #FEFEFF } /* Punctuation */ -.codehilite.pitaya-smoothie .ch { color: #8786AC } /* Comment.Hashbang */ -.codehilite.pitaya-smoothie .cm { color: #8786AC } /* Comment.Multiline */ -.codehilite.pitaya-smoothie .cp { color: #8786AC } /* Comment.Preproc */ -.codehilite.pitaya-smoothie .cpf { color: #8786AC } /* Comment.PreprocFile */ -.codehilite.pitaya-smoothie .c1 { color: #8786AC } /* Comment.Single */ -.codehilite.pitaya-smoothie .cs { color: #8786AC } /* Comment.Special */ -.codehilite.pitaya-smoothie .gd { color: #7998F2 } /* Generic.Deleted */ -.codehilite.pitaya-smoothie .ge { font-style: italic } /* Generic.Emph */ -.codehilite.pitaya-smoothie .gh { color: #7998F2 } /* Generic.Heading */ -.codehilite.pitaya-smoothie .gs { font-weight: bold } /* Generic.Strong */ -.codehilite.pitaya-smoothie .gu { color: #7998F2 } /* Generic.Subheading */ -.codehilite.pitaya-smoothie .kc { color: #C4A2F5 } /* Keyword.Constant */ -.codehilite.pitaya-smoothie .kd { color: #FAD000 } /* Keyword.Declaration */ -.codehilite.pitaya-smoothie .kn { color: #FAD000 } /* Keyword.Namespace */ -.codehilite.pitaya-smoothie .kp { color: #FAD000 } /* Keyword.Pseudo */ -.codehilite.pitaya-smoothie .kr { color: #FAD000 } /* Keyword.Reserved */ -.codehilite.pitaya-smoothie .kt { color: #F5A394 } /* Keyword.Type */ -.codehilite.pitaya-smoothie .ld { color: #F5A394 } /* Literal.Date */ -.codehilite.pitaya-smoothie .m { color: #F5A394 } /* Literal.Number */ -.codehilite.pitaya-smoothie .s { color: #7998F2 } /* Literal.String */ -.codehilite.pitaya-smoothie .na { color: #FAD000 } /* Name.Attribute */ -.codehilite.pitaya-smoothie .nb { color: #C4A2F5 } /* Name.Builtin */ -.codehilite.pitaya-smoothie .nc { color: #7998F2 } /* Name.Class */ -.codehilite.pitaya-smoothie .no { color: #C4A2F5 } /* Name.Constant */ -.codehilite.pitaya-smoothie .nd { color: #F5A394 } /* Name.Decorator */ -.codehilite.pitaya-smoothie .ni { color: #7998F2 } /* Name.Entity */ -.codehilite.pitaya-smoothie .ne { color: #C4A2F5 } /* Name.Exception */ -.codehilite.pitaya-smoothie .nf { color: #7998F2 } /* Name.Function */ -.codehilite.pitaya-smoothie .nl { color: #F5A394 } /* Name.Label */ -.codehilite.pitaya-smoothie .nn { color: #FEFEFF } /* Name.Namespace */ -.codehilite.pitaya-smoothie .nx { color: #FEFEFF } /* Name.Other */ -.codehilite.pitaya-smoothie .py { color: #7998F2 } /* Name.Property */ -.codehilite.pitaya-smoothie .nt { color: #7998F2 } /* Name.Tag */ -.codehilite.pitaya-smoothie .nv { color: #F5A394 } /* Name.Variable */ -.codehilite.pitaya-smoothie .ow { color: #C4A2F5 } /* Operator.Word */ -.codehilite.pitaya-smoothie .pm { color: #FEFEFF } /* Punctuation.Marker */ -.codehilite.pitaya-smoothie .w { color: #FEFEFF } /* Text.Whitespace */ -.codehilite.pitaya-smoothie .mb { color: #F5A394 } /* Literal.Number.Bin */ -.codehilite.pitaya-smoothie .mf { color: #F5A394 } /* Literal.Number.Float */ -.codehilite.pitaya-smoothie .mh { color: #F5A394 } /* Literal.Number.Hex */ -.codehilite.pitaya-smoothie .mi { color: #F5A394 } /* Literal.Number.Integer */ -.codehilite.pitaya-smoothie .mo { color: #F5A394 } /* Literal.Number.Oct */ -.codehilite.pitaya-smoothie .sa { color: #7998F2 } /* Literal.String.Affix */ -.codehilite.pitaya-smoothie .sb { color: #66E9EC } /* Literal.String.Backtick */ -.codehilite.pitaya-smoothie .sc { color: #7998F2 } /* Literal.String.Char */ -.codehilite.pitaya-smoothie .dl { color: #7998F2 } /* Literal.String.Delimiter */ -.codehilite.pitaya-smoothie .sd { color: #C4A2F5 } /* Literal.String.Doc */ -.codehilite.pitaya-smoothie .s2 { color: #7998F2 } /* Literal.String.Double */ -.codehilite.pitaya-smoothie .se { color: #F5A394 } /* Literal.String.Escape */ -.codehilite.pitaya-smoothie .sh { color: #7998F2 } /* Literal.String.Heredoc */ -.codehilite.pitaya-smoothie .si { color: #7998F2 } /* Literal.String.Interpol */ -.codehilite.pitaya-smoothie .sx { color: #7998F2 } /* Literal.String.Other */ -.codehilite.pitaya-smoothie .sr { color: #7998F2 } /* Literal.String.Regex */ -.codehilite.pitaya-smoothie .s1 { color: #7998F2 } /* Literal.String.Single */ -.codehilite.pitaya-smoothie .ss { color: #7998F2 } /* Literal.String.Symbol */ -.codehilite.pitaya-smoothie .bp { color: #F5A394 } /* Name.Builtin.Pseudo */ -.codehilite.pitaya-smoothie .fm { color: #7998F2 } /* Name.Function.Magic */ -.codehilite.pitaya-smoothie .vc { color: #F5A394 } /* Name.Variable.Class */ -.codehilite.pitaya-smoothie .vg { color: #F5A394 } /* Name.Variable.Global */ -.codehilite.pitaya-smoothie .vi { color: #F5A394 } /* Name.Variable.Instance */ -.codehilite.pitaya-smoothie .vm { color: #F5A394 } /* Name.Variable.Magic */ -.codehilite.pitaya-smoothie .il { color: #F5A394 } /* Literal.Number.Integer.Long */ diff --git a/site/css/pygments/arduino.css b/site/css/pygments/arduino.css deleted file mode 100644 index 586edf1..0000000 --- a/site/css/pygments/arduino.css +++ /dev/null @@ -1,66 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ffffcc } -.codehilite { background: #ffffff; } -.codehilite .c { color: #95A5A6 } /* Comment */ -.codehilite .err { color: #A61717 } /* Error */ -.codehilite .k { color: #728E00 } /* Keyword */ -.codehilite .n { color: #434F54 } /* Name */ -.codehilite .o { color: #728E00 } /* Operator */ -.codehilite .ch { color: #95A5A6 } /* Comment.Hashbang */ -.codehilite .cm { color: #95A5A6 } /* Comment.Multiline */ -.codehilite .cp { color: #728E00 } /* Comment.Preproc */ -.codehilite .cpf { color: #95A5A6 } /* Comment.PreprocFile */ -.codehilite .c1 { color: #95A5A6 } /* Comment.Single */ -.codehilite .cs { color: #95A5A6 } /* Comment.Special */ -.codehilite .kc { color: #00979D } /* Keyword.Constant */ -.codehilite .kd { color: #728E00 } /* Keyword.Declaration */ -.codehilite .kn { color: #728E00 } /* Keyword.Namespace */ -.codehilite .kp { color: #00979D } /* Keyword.Pseudo */ -.codehilite .kr { color: #00979D } /* Keyword.Reserved */ -.codehilite .kt { color: #00979D } /* Keyword.Type */ -.codehilite .m { color: #8A7B52 } /* Literal.Number */ -.codehilite .s { color: #7F8C8D } /* Literal.String */ -.codehilite .na { color: #434F54 } /* Name.Attribute */ -.codehilite .nb { color: #728E00 } /* Name.Builtin */ -.codehilite .nc { color: #434F54 } /* Name.Class */ -.codehilite .no { color: #434F54 } /* Name.Constant */ -.codehilite .nd { color: #434F54 } /* Name.Decorator */ -.codehilite .ni { color: #434F54 } /* Name.Entity */ -.codehilite .ne { color: #434F54 } /* Name.Exception */ -.codehilite .nf { color: #D35400 } /* Name.Function */ -.codehilite .nl { color: #434F54 } /* Name.Label */ -.codehilite .nn { color: #434F54 } /* Name.Namespace */ -.codehilite .nx { color: #728E00 } /* Name.Other */ -.codehilite .py { color: #434F54 } /* Name.Property */ -.codehilite .nt { color: #434F54 } /* Name.Tag */ -.codehilite .nv { color: #434F54 } /* Name.Variable */ -.codehilite .ow { color: #728E00 } /* Operator.Word */ -.codehilite .mb { color: #8A7B52 } /* Literal.Number.Bin */ -.codehilite .mf { color: #8A7B52 } /* Literal.Number.Float */ -.codehilite .mh { color: #8A7B52 } /* Literal.Number.Hex */ -.codehilite .mi { color: #8A7B52 } /* Literal.Number.Integer */ -.codehilite .mo { color: #8A7B52 } /* Literal.Number.Oct */ -.codehilite .sa { color: #7F8C8D } /* Literal.String.Affix */ -.codehilite .sb { color: #7F8C8D } /* Literal.String.Backtick */ -.codehilite .sc { color: #7F8C8D } /* Literal.String.Char */ -.codehilite .dl { color: #7F8C8D } /* Literal.String.Delimiter */ -.codehilite .sd { color: #7F8C8D } /* Literal.String.Doc */ -.codehilite .s2 { color: #7F8C8D } /* Literal.String.Double */ -.codehilite .se { color: #7F8C8D } /* Literal.String.Escape */ -.codehilite .sh { color: #7F8C8D } /* Literal.String.Heredoc */ -.codehilite .si { color: #7F8C8D } /* Literal.String.Interpol */ -.codehilite .sx { color: #7F8C8D } /* Literal.String.Other */ -.codehilite .sr { color: #7F8C8D } /* Literal.String.Regex */ -.codehilite .s1 { color: #7F8C8D } /* Literal.String.Single */ -.codehilite .ss { color: #7F8C8D } /* Literal.String.Symbol */ -.codehilite .bp { color: #728E00 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #D35400 } /* Name.Function.Magic */ -.codehilite .vc { color: #434F54 } /* Name.Variable.Class */ -.codehilite .vg { color: #434F54 } /* Name.Variable.Global */ -.codehilite .vi { color: #434F54 } /* Name.Variable.Instance */ -.codehilite .vm { color: #434F54 } /* Name.Variable.Magic */ -.codehilite .il { color: #8A7B52 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/autumn.css b/site/css/pygments/autumn.css deleted file mode 100644 index b872f68..0000000 --- a/site/css/pygments/autumn.css +++ /dev/null @@ -1,72 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ffffcc } -.codehilite { background: #ffffff; } -.codehilite .c { color: #AAA; font-style: italic } /* Comment */ -.codehilite .err { color: #F00; background-color: #FAA } /* Error */ -.codehilite .k { color: #00A } /* Keyword */ -.codehilite .ch { color: #AAA; font-style: italic } /* Comment.Hashbang */ -.codehilite .cm { color: #AAA; font-style: italic } /* Comment.Multiline */ -.codehilite .cp { color: #4C8317 } /* Comment.Preproc */ -.codehilite .cpf { color: #AAA; font-style: italic } /* Comment.PreprocFile */ -.codehilite .c1 { color: #AAA; font-style: italic } /* Comment.Single */ -.codehilite .cs { color: #00A; font-style: italic } /* Comment.Special */ -.codehilite .gd { color: #A00 } /* Generic.Deleted */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite .gr { color: #A00 } /* Generic.Error */ -.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.codehilite .gi { color: #0A0 } /* Generic.Inserted */ -.codehilite .go { color: #888 } /* Generic.Output */ -.codehilite .gp { color: #555 } /* Generic.Prompt */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.codehilite .gt { color: #A00 } /* Generic.Traceback */ -.codehilite .kc { color: #00A } /* Keyword.Constant */ -.codehilite .kd { color: #00A } /* Keyword.Declaration */ -.codehilite .kn { color: #00A } /* Keyword.Namespace */ -.codehilite .kp { color: #00A } /* Keyword.Pseudo */ -.codehilite .kr { color: #00A } /* Keyword.Reserved */ -.codehilite .kt { color: #0AA } /* Keyword.Type */ -.codehilite .m { color: #099 } /* Literal.Number */ -.codehilite .s { color: #A50 } /* Literal.String */ -.codehilite .na { color: #1E90FF } /* Name.Attribute */ -.codehilite .nb { color: #0AA } /* Name.Builtin */ -.codehilite .nc { color: #0A0; text-decoration: underline } /* Name.Class */ -.codehilite .no { color: #A00 } /* Name.Constant */ -.codehilite .nd { color: #888 } /* Name.Decorator */ -.codehilite .ni { color: #800; font-weight: bold } /* Name.Entity */ -.codehilite .nf { color: #0A0 } /* Name.Function */ -.codehilite .nn { color: #0AA; text-decoration: underline } /* Name.Namespace */ -.codehilite .nt { color: #1E90FF; font-weight: bold } /* Name.Tag */ -.codehilite .nv { color: #A00 } /* Name.Variable */ -.codehilite .ow { color: #00A } /* Operator.Word */ -.codehilite .w { color: #BBB } /* Text.Whitespace */ -.codehilite .mb { color: #099 } /* Literal.Number.Bin */ -.codehilite .mf { color: #099 } /* Literal.Number.Float */ -.codehilite .mh { color: #099 } /* Literal.Number.Hex */ -.codehilite .mi { color: #099 } /* Literal.Number.Integer */ -.codehilite .mo { color: #099 } /* Literal.Number.Oct */ -.codehilite .sa { color: #A50 } /* Literal.String.Affix */ -.codehilite .sb { color: #A50 } /* Literal.String.Backtick */ -.codehilite .sc { color: #A50 } /* Literal.String.Char */ -.codehilite .dl { color: #A50 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #A50 } /* Literal.String.Doc */ -.codehilite .s2 { color: #A50 } /* Literal.String.Double */ -.codehilite .se { color: #A50 } /* Literal.String.Escape */ -.codehilite .sh { color: #A50 } /* Literal.String.Heredoc */ -.codehilite .si { color: #A50 } /* Literal.String.Interpol */ -.codehilite .sx { color: #A50 } /* Literal.String.Other */ -.codehilite .sr { color: #099 } /* Literal.String.Regex */ -.codehilite .s1 { color: #A50 } /* Literal.String.Single */ -.codehilite .ss { color: #00A } /* Literal.String.Symbol */ -.codehilite .bp { color: #0AA } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #0A0 } /* Name.Function.Magic */ -.codehilite .vc { color: #A00 } /* Name.Variable.Class */ -.codehilite .vg { color: #A00 } /* Name.Variable.Global */ -.codehilite .vi { color: #A00 } /* Name.Variable.Instance */ -.codehilite .vm { color: #A00 } /* Name.Variable.Magic */ -.codehilite .il { color: #099 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/blinds-dark.css b/site/css/pygments/blinds-dark.css deleted file mode 100644 index 1821bfb..0000000 --- a/site/css/pygments/blinds-dark.css +++ /dev/null @@ -1,76 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #66666691 } -.codehilite { background: #242424; color: #BBB } -.codehilite .c { color: #8C8C8C } /* Comment */ -.codehilite .err { color: #5391CF } /* Error */ -.codehilite .k { color: #D166A3 } /* Keyword */ -.codehilite .l { color: #5391CF } /* Literal */ -.codehilite .n { color: #5391CF } /* Name */ -.codehilite .o { color: #E67 } /* Operator */ -.codehilite .p { color: #BBB } /* Punctuation */ -.codehilite .ch { color: #8C8C8C } /* Comment.Hashbang */ -.codehilite .cm { color: #8C8C8C } /* Comment.Multiline */ -.codehilite .cp { color: #8C8C8C } /* Comment.Preproc */ -.codehilite .cpf { color: #8C8C8C } /* Comment.PreprocFile */ -.codehilite .c1 { color: #8C8C8C } /* Comment.Single */ -.codehilite .cs { color: #8C8C8C } /* Comment.Special */ -.codehilite .gd { color: #5391CF } /* Generic.Deleted */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .gh { color: #5391CF } /* Generic.Heading */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #5391CF } /* Generic.Subheading */ -.codehilite .kc { color: #D166A3 } /* Keyword.Constant */ -.codehilite .kd { color: #D166A3 } /* Keyword.Declaration */ -.codehilite .kn { color: #D166A3 } /* Keyword.Namespace */ -.codehilite .kp { color: #D166A3 } /* Keyword.Pseudo */ -.codehilite .kr { color: #D166A3 } /* Keyword.Reserved */ -.codehilite .kt { color: #6CE } /* Keyword.Type */ -.codehilite .ld { color: #5391CF } /* Literal.Date */ -.codehilite .m { color: #BBB } /* Literal.Number */ -.codehilite .s { color: #D166A3 } /* Literal.String */ -.codehilite .na { color: #D166A3 } /* Name.Attribute */ -.codehilite .nb { color: #6CE } /* Name.Builtin */ -.codehilite .nc { color: #E67 } /* Name.Class */ -.codehilite .no { color: #E67 } /* Name.Constant */ -.codehilite .nd { color: #CB4 } /* Name.Decorator */ -.codehilite .ni { color: #CB4 } /* Name.Entity */ -.codehilite .ne { color: #5391CF } /* Name.Exception */ -.codehilite .nf { color: #6CE } /* Name.Function */ -.codehilite .nl { color: #E67 } /* Name.Label */ -.codehilite .nn { color: #6CE } /* Name.Namespace */ -.codehilite .nx { color: #5391CF } /* Name.Other */ -.codehilite .py { color: #5391CF } /* Name.Property */ -.codehilite .nt { color: #6CE } /* Name.Tag */ -.codehilite .nv { color: #5391CF } /* Name.Variable */ -.codehilite .ow { color: #D166A3 } /* Operator.Word */ -.codehilite .pm { color: #BBB } /* Punctuation.Marker */ -.codehilite .w { color: #BBB } /* Text.Whitespace */ -.codehilite .mb { color: #BBB } /* Literal.Number.Bin */ -.codehilite .mf { color: #BBB } /* Literal.Number.Float */ -.codehilite .mh { color: #BBB } /* Literal.Number.Hex */ -.codehilite .mi { color: #BBB } /* Literal.Number.Integer */ -.codehilite .mo { color: #BBB } /* Literal.Number.Oct */ -.codehilite .sa { color: #D166A3 } /* Literal.String.Affix */ -.codehilite .sb { color: #D166A3 } /* Literal.String.Backtick */ -.codehilite .sc { color: #D166A3 } /* Literal.String.Char */ -.codehilite .dl { color: #D166A3 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #D166A3 } /* Literal.String.Doc */ -.codehilite .s2 { color: #D166A3 } /* Literal.String.Double */ -.codehilite .se { color: #D166A3 } /* Literal.String.Escape */ -.codehilite .sh { color: #D166A3 } /* Literal.String.Heredoc */ -.codehilite .si { color: #D166A3 } /* Literal.String.Interpol */ -.codehilite .sx { color: #D166A3 } /* Literal.String.Other */ -.codehilite .sr { color: #D166A3 } /* Literal.String.Regex */ -.codehilite .s1 { color: #D166A3 } /* Literal.String.Single */ -.codehilite .ss { color: #E67 } /* Literal.String.Symbol */ -.codehilite .bp { color: #6CE } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #6CE } /* Name.Function.Magic */ -.codehilite .vc { color: #5391CF } /* Name.Variable.Class */ -.codehilite .vg { color: #5391CF } /* Name.Variable.Global */ -.codehilite .vi { color: #5391CF } /* Name.Variable.Instance */ -.codehilite .vm { color: #E67 } /* Name.Variable.Magic */ -.codehilite .il { color: #BBB } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/blinds-light.css b/site/css/pygments/blinds-light.css deleted file mode 100644 index 9eb334f..0000000 --- a/site/css/pygments/blinds-light.css +++ /dev/null @@ -1,76 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #add6ff } -.codehilite { background: #fcfcfc; color: #000 } -.codehilite .c { color: #737373 } /* Comment */ -.codehilite .err { color: #0072B2 } /* Error */ -.codehilite .k { color: #CC398B } /* Keyword */ -.codehilite .l { color: #0072B2 } /* Literal */ -.codehilite .n { color: #0072B2 } /* Name */ -.codehilite .o { color: #BF5400 } /* Operator */ -.codehilite .p { color: #000 } /* Punctuation */ -.codehilite .ch { color: #737373 } /* Comment.Hashbang */ -.codehilite .cm { color: #737373 } /* Comment.Multiline */ -.codehilite .cp { color: #737373 } /* Comment.Preproc */ -.codehilite .cpf { color: #737373 } /* Comment.PreprocFile */ -.codehilite .c1 { color: #737373 } /* Comment.Single */ -.codehilite .cs { color: #737373 } /* Comment.Special */ -.codehilite .gd { color: #0072B2 } /* Generic.Deleted */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .gh { color: #0072B2 } /* Generic.Heading */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #0072B2 } /* Generic.Subheading */ -.codehilite .kc { color: #CC398B } /* Keyword.Constant */ -.codehilite .kd { color: #CC398B } /* Keyword.Declaration */ -.codehilite .kn { color: #CC398B } /* Keyword.Namespace */ -.codehilite .kp { color: #CC398B } /* Keyword.Pseudo */ -.codehilite .kr { color: #CC398B } /* Keyword.Reserved */ -.codehilite .kt { color: #008561 } /* Keyword.Type */ -.codehilite .ld { color: #0072B2 } /* Literal.Date */ -.codehilite .m { color: #000 } /* Literal.Number */ -.codehilite .s { color: #CC398B } /* Literal.String */ -.codehilite .na { color: #CC398B } /* Name.Attribute */ -.codehilite .nb { color: #008561 } /* Name.Builtin */ -.codehilite .nc { color: #BF5400 } /* Name.Class */ -.codehilite .no { color: #BF5400 } /* Name.Constant */ -.codehilite .nd { color: #996B00 } /* Name.Decorator */ -.codehilite .ni { color: #0072B2 } /* Name.Entity */ -.codehilite .ne { color: #0072B2 } /* Name.Exception */ -.codehilite .nf { color: #008561 } /* Name.Function */ -.codehilite .nl { color: #BF5400 } /* Name.Label */ -.codehilite .nn { color: #008561 } /* Name.Namespace */ -.codehilite .nx { color: #0072B2 } /* Name.Other */ -.codehilite .py { color: #0072B2 } /* Name.Property */ -.codehilite .nt { color: #008561 } /* Name.Tag */ -.codehilite .nv { color: #0072B2 } /* Name.Variable */ -.codehilite .ow { color: #CC398B } /* Operator.Word */ -.codehilite .pm { color: #000 } /* Punctuation.Marker */ -.codehilite .w { color: #000 } /* Text.Whitespace */ -.codehilite .mb { color: #000 } /* Literal.Number.Bin */ -.codehilite .mf { color: #000 } /* Literal.Number.Float */ -.codehilite .mh { color: #000 } /* Literal.Number.Hex */ -.codehilite .mi { color: #000 } /* Literal.Number.Integer */ -.codehilite .mo { color: #000 } /* Literal.Number.Oct */ -.codehilite .sa { color: #CC398B } /* Literal.String.Affix */ -.codehilite .sb { color: #CC398B } /* Literal.String.Backtick */ -.codehilite .sc { color: #CC398B } /* Literal.String.Char */ -.codehilite .dl { color: #CC398B } /* Literal.String.Delimiter */ -.codehilite .sd { color: #CC398B } /* Literal.String.Doc */ -.codehilite .s2 { color: #CC398B } /* Literal.String.Double */ -.codehilite .se { color: #CC398B } /* Literal.String.Escape */ -.codehilite .sh { color: #CC398B } /* Literal.String.Heredoc */ -.codehilite .si { color: #CC398B } /* Literal.String.Interpol */ -.codehilite .sx { color: #CC398B } /* Literal.String.Other */ -.codehilite .sr { color: #CC398B } /* Literal.String.Regex */ -.codehilite .s1 { color: #CC398B } /* Literal.String.Single */ -.codehilite .ss { color: #BF5400 } /* Literal.String.Symbol */ -.codehilite .bp { color: #008561 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #008561 } /* Name.Function.Magic */ -.codehilite .vc { color: #0072B2 } /* Name.Variable.Class */ -.codehilite .vg { color: #0072B2 } /* Name.Variable.Global */ -.codehilite .vi { color: #0072B2 } /* Name.Variable.Instance */ -.codehilite .vm { color: #BF5400 } /* Name.Variable.Magic */ -.codehilite .il { color: #000 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/borland.css b/site/css/pygments/borland.css deleted file mode 100644 index e928736..0000000 --- a/site/css/pygments/borland.css +++ /dev/null @@ -1,58 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ffffcc } -.codehilite { background: #ffffff; } -.codehilite .c { color: #080; font-style: italic } /* Comment */ -.codehilite .err { color: #A61717; background-color: #E3D2D2 } /* Error */ -.codehilite .k { color: #000080; font-weight: bold } /* Keyword */ -.codehilite .ch { color: #080; font-style: italic } /* Comment.Hashbang */ -.codehilite .cm { color: #080; font-style: italic } /* Comment.Multiline */ -.codehilite .cp { color: #008080 } /* Comment.Preproc */ -.codehilite .cpf { color: #080; font-style: italic } /* Comment.PreprocFile */ -.codehilite .c1 { color: #080; font-style: italic } /* Comment.Single */ -.codehilite .cs { color: #080; font-weight: bold } /* Comment.Special */ -.codehilite .gd { color: #000; background-color: #FDD } /* Generic.Deleted */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite .gr { color: #A00 } /* Generic.Error */ -.codehilite .gh { color: #999 } /* Generic.Heading */ -.codehilite .gi { color: #000; background-color: #DFD } /* Generic.Inserted */ -.codehilite .go { color: #888 } /* Generic.Output */ -.codehilite .gp { color: #555 } /* Generic.Prompt */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #AAA } /* Generic.Subheading */ -.codehilite .gt { color: #A00 } /* Generic.Traceback */ -.codehilite .kc { color: #000080; font-weight: bold } /* Keyword.Constant */ -.codehilite .kd { color: #000080; font-weight: bold } /* Keyword.Declaration */ -.codehilite .kn { color: #000080; font-weight: bold } /* Keyword.Namespace */ -.codehilite .kp { color: #000080; font-weight: bold } /* Keyword.Pseudo */ -.codehilite .kr { color: #000080; font-weight: bold } /* Keyword.Reserved */ -.codehilite .kt { color: #000080; font-weight: bold } /* Keyword.Type */ -.codehilite .m { color: #00F } /* Literal.Number */ -.codehilite .s { color: #00F } /* Literal.String */ -.codehilite .na { color: #F00 } /* Name.Attribute */ -.codehilite .nt { color: #000080; font-weight: bold } /* Name.Tag */ -.codehilite .ow { font-weight: bold } /* Operator.Word */ -.codehilite .w { color: #BBB } /* Text.Whitespace */ -.codehilite .mb { color: #00F } /* Literal.Number.Bin */ -.codehilite .mf { color: #00F } /* Literal.Number.Float */ -.codehilite .mh { color: #00F } /* Literal.Number.Hex */ -.codehilite .mi { color: #00F } /* Literal.Number.Integer */ -.codehilite .mo { color: #00F } /* Literal.Number.Oct */ -.codehilite .sa { color: #00F } /* Literal.String.Affix */ -.codehilite .sb { color: #00F } /* Literal.String.Backtick */ -.codehilite .sc { color: #800080 } /* Literal.String.Char */ -.codehilite .dl { color: #00F } /* Literal.String.Delimiter */ -.codehilite .sd { color: #00F } /* Literal.String.Doc */ -.codehilite .s2 { color: #00F } /* Literal.String.Double */ -.codehilite .se { color: #00F } /* Literal.String.Escape */ -.codehilite .sh { color: #00F } /* Literal.String.Heredoc */ -.codehilite .si { color: #00F } /* Literal.String.Interpol */ -.codehilite .sx { color: #00F } /* Literal.String.Other */ -.codehilite .sr { color: #00F } /* Literal.String.Regex */ -.codehilite .s1 { color: #00F } /* Literal.String.Single */ -.codehilite .ss { color: #00F } /* Literal.String.Symbol */ -.codehilite .il { color: #00F } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/bw.css b/site/css/pygments/bw.css deleted file mode 100644 index ffb96c4..0000000 --- a/site/css/pygments/bw.css +++ /dev/null @@ -1,45 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ffffcc } -.codehilite { background: #ffffff; } -.codehilite .c { font-style: italic } /* Comment */ -.codehilite .err { border: 1px solid #F00 } /* Error */ -.codehilite .k { font-weight: bold } /* Keyword */ -.codehilite .ch { font-style: italic } /* Comment.Hashbang */ -.codehilite .cm { font-style: italic } /* Comment.Multiline */ -.codehilite .cpf { font-style: italic } /* Comment.PreprocFile */ -.codehilite .c1 { font-style: italic } /* Comment.Single */ -.codehilite .cs { font-style: italic } /* Comment.Special */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite .gh { font-weight: bold } /* Generic.Heading */ -.codehilite .gp { font-weight: bold } /* Generic.Prompt */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { font-weight: bold } /* Generic.Subheading */ -.codehilite .kc { font-weight: bold } /* Keyword.Constant */ -.codehilite .kd { font-weight: bold } /* Keyword.Declaration */ -.codehilite .kn { font-weight: bold } /* Keyword.Namespace */ -.codehilite .kr { font-weight: bold } /* Keyword.Reserved */ -.codehilite .s { font-style: italic } /* Literal.String */ -.codehilite .nc { font-weight: bold } /* Name.Class */ -.codehilite .ni { font-weight: bold } /* Name.Entity */ -.codehilite .ne { font-weight: bold } /* Name.Exception */ -.codehilite .nn { font-weight: bold } /* Name.Namespace */ -.codehilite .nt { font-weight: bold } /* Name.Tag */ -.codehilite .ow { font-weight: bold } /* Operator.Word */ -.codehilite .sa { font-style: italic } /* Literal.String.Affix */ -.codehilite .sb { font-style: italic } /* Literal.String.Backtick */ -.codehilite .sc { font-style: italic } /* Literal.String.Char */ -.codehilite .dl { font-style: italic } /* Literal.String.Delimiter */ -.codehilite .sd { font-style: italic } /* Literal.String.Doc */ -.codehilite .s2 { font-style: italic } /* Literal.String.Double */ -.codehilite .se { font-weight: bold; font-style: italic } /* Literal.String.Escape */ -.codehilite .sh { font-style: italic } /* Literal.String.Heredoc */ -.codehilite .si { font-weight: bold; font-style: italic } /* Literal.String.Interpol */ -.codehilite .sx { font-style: italic } /* Literal.String.Other */ -.codehilite .sr { font-style: italic } /* Literal.String.Regex */ -.codehilite .s1 { font-style: italic } /* Literal.String.Single */ -.codehilite .ss { font-style: italic } /* Literal.String.Symbol */ \ No newline at end of file diff --git a/site/css/pygments/coffee.css b/site/css/pygments/coffee.css deleted file mode 100644 index f554d6c..0000000 --- a/site/css/pygments/coffee.css +++ /dev/null @@ -1,85 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: #4e4e4e; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: #4e4e4e; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #8f9494; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #8f9494; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ddd0c0 } -.codehilite { background: #262220; color: #DDD0C0 } -.codehilite .c { color: #70757A } /* Comment */ -.codehilite .err { color: #AF5F5F } /* Error */ -.codehilite .esc { color: #DDD0C0 } /* Escape */ -.codehilite .g { color: #DDD0C0 } /* Generic */ -.codehilite .k { color: #919191 } /* Keyword */ -.codehilite .l { color: #AF875F } /* Literal */ -.codehilite .n { color: #DDD0C0 } /* Name */ -.codehilite .o { color: #878787 } /* Operator */ -.codehilite .x { color: #DDD0C0 } /* Other */ -.codehilite .p { color: #DDD0C0 } /* Punctuation */ -.codehilite .ch { color: #8F9F9F } /* Comment.Hashbang */ -.codehilite .cm { color: #70757A } /* Comment.Multiline */ -.codehilite .cp { color: #FDD0C0 } /* Comment.Preproc */ -.codehilite .cpf { color: #C9B98F } /* Comment.PreprocFile */ -.codehilite .c1 { color: #70757A } /* Comment.Single */ -.codehilite .cs { color: #AF5F5F } /* Comment.Special */ -.codehilite .gd { color: #BB6868 } /* Generic.Deleted */ -.codehilite .ge { color: #DDD0C0; font-style: italic } /* Generic.Emph */ -.codehilite .ges { color: #DDD0C0 } /* Generic.EmphStrong */ -.codehilite .gr { color: #AF5F5F } /* Generic.Error */ -.codehilite .gh { color: #DDD0C0 } /* Generic.Heading */ -.codehilite .gi { color: #849155 } /* Generic.Inserted */ -.codehilite .go { color: #DDD0C0 } /* Generic.Output */ -.codehilite .gp { color: #DDD0C0 } /* Generic.Prompt */ -.codehilite .gs { color: #DDD0C0; font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #DDD0C0 } /* Generic.Subheading */ -.codehilite .gt { color: #AF5F5F } /* Generic.Traceback */ -.codehilite .kc { color: #875F5F } /* Keyword.Constant */ -.codehilite .kd { color: #875F5F } /* Keyword.Declaration */ -.codehilite .kn { color: #875F5F } /* Keyword.Namespace */ -.codehilite .kp { color: #919191 } /* Keyword.Pseudo */ -.codehilite .kr { color: #B46276 } /* Keyword.Reserved */ -.codehilite .kt { color: #AF875F } /* Keyword.Type */ -.codehilite .ld { color: #AF875F } /* Literal.Date */ -.codehilite .m { color: #87AFAF } /* Literal.Number */ -.codehilite .s { color: #C9B98F } /* Literal.String */ -.codehilite .na { color: #DDD0C0 } /* Name.Attribute */ -.codehilite .nb { color: #DDD0C0 } /* Name.Builtin */ -.codehilite .nc { color: #875F5F } /* Name.Class */ -.codehilite .no { color: #AF8787 } /* Name.Constant */ -.codehilite .nd { color: #FDD0C0 } /* Name.Decorator */ -.codehilite .ni { color: #DDD0C0 } /* Name.Entity */ -.codehilite .ne { color: #877575 } /* Name.Exception */ -.codehilite .nf { color: #FDD0C0 } /* Name.Function */ -.codehilite .nl { color: #DDD0C0 } /* Name.Label */ -.codehilite .nn { color: #DDD0C0 } /* Name.Namespace */ -.codehilite .nx { color: #DDD0C0 } /* Name.Other */ -.codehilite .py { color: #DFAF87 } /* Name.Property */ -.codehilite .nt { color: #87AFAF } /* Name.Tag */ -.codehilite .nv { color: #DDD0C0 } /* Name.Variable */ -.codehilite .ow { color: #878787 } /* Operator.Word */ -.codehilite .pm { color: #DDD0C0 } /* Punctuation.Marker */ -.codehilite .w { color: #DDD0C0 } /* Text.Whitespace */ -.codehilite .mb { color: #87AFAF } /* Literal.Number.Bin */ -.codehilite .mf { color: #87AFAF } /* Literal.Number.Float */ -.codehilite .mh { color: #87AFAF } /* Literal.Number.Hex */ -.codehilite .mi { color: #87AFAF } /* Literal.Number.Integer */ -.codehilite .mo { color: #87AFAF } /* Literal.Number.Oct */ -.codehilite .sa { color: #DFAF87 } /* Literal.String.Affix */ -.codehilite .sb { color: #C9B98F } /* Literal.String.Backtick */ -.codehilite .sc { color: #C9B98F } /* Literal.String.Char */ -.codehilite .dl { color: #C9B98F } /* Literal.String.Delimiter */ -.codehilite .sd { color: #878787 } /* Literal.String.Doc */ -.codehilite .s2 { color: #C9B98F } /* Literal.String.Double */ -.codehilite .se { color: #AF5F5F } /* Literal.String.Escape */ -.codehilite .sh { color: #C9B98F } /* Literal.String.Heredoc */ -.codehilite .si { color: #AF5F5F } /* Literal.String.Interpol */ -.codehilite .sx { color: #FDD0C0 } /* Literal.String.Other */ -.codehilite .sr { color: #AF5F5F } /* Literal.String.Regex */ -.codehilite .s1 { color: #C9B98F } /* Literal.String.Single */ -.codehilite .ss { color: #AF5F5F } /* Literal.String.Symbol */ -.codehilite .bp { color: #87AFAF } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #FDD0C0 } /* Name.Function.Magic */ -.codehilite .vc { color: #DDD0C0 } /* Name.Variable.Class */ -.codehilite .vg { color: #DDD0C0 } /* Name.Variable.Global */ -.codehilite .vi { color: #DDD0C0 } /* Name.Variable.Instance */ -.codehilite .vm { color: #DDD0C0 } /* Name.Variable.Magic */ -.codehilite .il { color: #87AFAF } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/colorful.css b/site/css/pygments/colorful.css deleted file mode 100644 index 76db047..0000000 --- a/site/css/pygments/colorful.css +++ /dev/null @@ -1,75 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ffffcc } -.codehilite { background: #ffffff; } -.codehilite .c { color: #888 } /* Comment */ -.codehilite .err { color: #F00; background-color: #FAA } /* Error */ -.codehilite .k { color: #080; font-weight: bold } /* Keyword */ -.codehilite .o { color: #333 } /* Operator */ -.codehilite .ch { color: #888 } /* Comment.Hashbang */ -.codehilite .cm { color: #888 } /* Comment.Multiline */ -.codehilite .cp { color: #579 } /* Comment.Preproc */ -.codehilite .cpf { color: #888 } /* Comment.PreprocFile */ -.codehilite .c1 { color: #888 } /* Comment.Single */ -.codehilite .cs { color: #C00; font-weight: bold } /* Comment.Special */ -.codehilite .gd { color: #A00000 } /* Generic.Deleted */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite .gr { color: #F00 } /* Generic.Error */ -.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.codehilite .gi { color: #00A000 } /* Generic.Inserted */ -.codehilite .go { color: #888 } /* Generic.Output */ -.codehilite .gp { color: #C65D09; font-weight: bold } /* Generic.Prompt */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.codehilite .gt { color: #04D } /* Generic.Traceback */ -.codehilite .kc { color: #080; font-weight: bold } /* Keyword.Constant */ -.codehilite .kd { color: #080; font-weight: bold } /* Keyword.Declaration */ -.codehilite .kn { color: #080; font-weight: bold } /* Keyword.Namespace */ -.codehilite .kp { color: #038; font-weight: bold } /* Keyword.Pseudo */ -.codehilite .kr { color: #080; font-weight: bold } /* Keyword.Reserved */ -.codehilite .kt { color: #339; font-weight: bold } /* Keyword.Type */ -.codehilite .m { color: #60E; font-weight: bold } /* Literal.Number */ -.codehilite .s { background-color: #FFF0F0 } /* Literal.String */ -.codehilite .na { color: #00C } /* Name.Attribute */ -.codehilite .nb { color: #007020 } /* Name.Builtin */ -.codehilite .nc { color: #B06; font-weight: bold } /* Name.Class */ -.codehilite .no { color: #036; font-weight: bold } /* Name.Constant */ -.codehilite .nd { color: #555; font-weight: bold } /* Name.Decorator */ -.codehilite .ni { color: #800; font-weight: bold } /* Name.Entity */ -.codehilite .ne { color: #F00; font-weight: bold } /* Name.Exception */ -.codehilite .nf { color: #06B; font-weight: bold } /* Name.Function */ -.codehilite .nl { color: #970; font-weight: bold } /* Name.Label */ -.codehilite .nn { color: #0E84B5; font-weight: bold } /* Name.Namespace */ -.codehilite .nt { color: #070 } /* Name.Tag */ -.codehilite .nv { color: #963 } /* Name.Variable */ -.codehilite .ow { color: #000; font-weight: bold } /* Operator.Word */ -.codehilite .w { color: #BBB } /* Text.Whitespace */ -.codehilite .mb { color: #60E; font-weight: bold } /* Literal.Number.Bin */ -.codehilite .mf { color: #60E; font-weight: bold } /* Literal.Number.Float */ -.codehilite .mh { color: #058; font-weight: bold } /* Literal.Number.Hex */ -.codehilite .mi { color: #00D; font-weight: bold } /* Literal.Number.Integer */ -.codehilite .mo { color: #40E; font-weight: bold } /* Literal.Number.Oct */ -.codehilite .sa { background-color: #FFF0F0 } /* Literal.String.Affix */ -.codehilite .sb { background-color: #FFF0F0 } /* Literal.String.Backtick */ -.codehilite .sc { color: #04D } /* Literal.String.Char */ -.codehilite .dl { background-color: #FFF0F0 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #D42 } /* Literal.String.Doc */ -.codehilite .s2 { background-color: #FFF0F0 } /* Literal.String.Double */ -.codehilite .se { color: #666; font-weight: bold; background-color: #FFF0F0 } /* Literal.String.Escape */ -.codehilite .sh { background-color: #FFF0F0 } /* Literal.String.Heredoc */ -.codehilite .si { background-color: #EEE } /* Literal.String.Interpol */ -.codehilite .sx { color: #D20; background-color: #FFF0F0 } /* Literal.String.Other */ -.codehilite .sr { color: #000; background-color: #FFF0FF } /* Literal.String.Regex */ -.codehilite .s1 { background-color: #FFF0F0 } /* Literal.String.Single */ -.codehilite .ss { color: #A60 } /* Literal.String.Symbol */ -.codehilite .bp { color: #007020 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #06B; font-weight: bold } /* Name.Function.Magic */ -.codehilite .vc { color: #369 } /* Name.Variable.Class */ -.codehilite .vg { color: #D70; font-weight: bold } /* Name.Variable.Global */ -.codehilite .vi { color: #33B } /* Name.Variable.Instance */ -.codehilite .vm { color: #963 } /* Name.Variable.Magic */ -.codehilite .il { color: #00D; font-weight: bold } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/default.css b/site/css/pygments/default.css deleted file mode 100644 index f595cd4..0000000 --- a/site/css/pygments/default.css +++ /dev/null @@ -1,75 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ffffcc } -.codehilite { background: #f8f8f8; } -.codehilite .c { color: #3D7B7B; font-style: italic } /* Comment */ -.codehilite .err { border: 1px solid #F00 } /* Error */ -.codehilite .k { color: #008000; font-weight: bold } /* Keyword */ -.codehilite .o { color: #666 } /* Operator */ -.codehilite .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */ -.codehilite .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */ -.codehilite .cp { color: #9C6500 } /* Comment.Preproc */ -.codehilite .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */ -.codehilite .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */ -.codehilite .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */ -.codehilite .gd { color: #A00000 } /* Generic.Deleted */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite .gr { color: #E40000 } /* Generic.Error */ -.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.codehilite .gi { color: #008400 } /* Generic.Inserted */ -.codehilite .go { color: #717171 } /* Generic.Output */ -.codehilite .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.codehilite .gt { color: #04D } /* Generic.Traceback */ -.codehilite .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ -.codehilite .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ -.codehilite .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ -.codehilite .kp { color: #008000 } /* Keyword.Pseudo */ -.codehilite .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ -.codehilite .kt { color: #B00040 } /* Keyword.Type */ -.codehilite .m { color: #666 } /* Literal.Number */ -.codehilite .s { color: #BA2121 } /* Literal.String */ -.codehilite .na { color: #687822 } /* Name.Attribute */ -.codehilite .nb { color: #008000 } /* Name.Builtin */ -.codehilite .nc { color: #00F; font-weight: bold } /* Name.Class */ -.codehilite .no { color: #800 } /* Name.Constant */ -.codehilite .nd { color: #A2F } /* Name.Decorator */ -.codehilite .ni { color: #717171; font-weight: bold } /* Name.Entity */ -.codehilite .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */ -.codehilite .nf { color: #00F } /* Name.Function */ -.codehilite .nl { color: #767600 } /* Name.Label */ -.codehilite .nn { color: #00F; font-weight: bold } /* Name.Namespace */ -.codehilite .nt { color: #008000; font-weight: bold } /* Name.Tag */ -.codehilite .nv { color: #19177C } /* Name.Variable */ -.codehilite .ow { color: #A2F; font-weight: bold } /* Operator.Word */ -.codehilite .w { color: #BBB } /* Text.Whitespace */ -.codehilite .mb { color: #666 } /* Literal.Number.Bin */ -.codehilite .mf { color: #666 } /* Literal.Number.Float */ -.codehilite .mh { color: #666 } /* Literal.Number.Hex */ -.codehilite .mi { color: #666 } /* Literal.Number.Integer */ -.codehilite .mo { color: #666 } /* Literal.Number.Oct */ -.codehilite .sa { color: #BA2121 } /* Literal.String.Affix */ -.codehilite .sb { color: #BA2121 } /* Literal.String.Backtick */ -.codehilite .sc { color: #BA2121 } /* Literal.String.Char */ -.codehilite .dl { color: #BA2121 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ -.codehilite .s2 { color: #BA2121 } /* Literal.String.Double */ -.codehilite .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */ -.codehilite .sh { color: #BA2121 } /* Literal.String.Heredoc */ -.codehilite .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */ -.codehilite .sx { color: #008000 } /* Literal.String.Other */ -.codehilite .sr { color: #A45A77 } /* Literal.String.Regex */ -.codehilite .s1 { color: #BA2121 } /* Literal.String.Single */ -.codehilite .ss { color: #19177C } /* Literal.String.Symbol */ -.codehilite .bp { color: #008000 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #00F } /* Name.Function.Magic */ -.codehilite .vc { color: #19177C } /* Name.Variable.Class */ -.codehilite .vg { color: #19177C } /* Name.Variable.Global */ -.codehilite .vi { color: #19177C } /* Name.Variable.Instance */ -.codehilite .vm { color: #19177C } /* Name.Variable.Magic */ -.codehilite .il { color: #666 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/dracula.css b/site/css/pygments/dracula.css deleted file mode 100644 index 30fe816..0000000 --- a/site/css/pygments/dracula.css +++ /dev/null @@ -1,84 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: #f1fa8c; background-color: #44475a; padding-left: 5px; padding-right: 5px; } -span.linenos { color: #f1fa8c; background-color: #44475a; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #50fa7b; background-color: #6272a4; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #50fa7b; background-color: #6272a4; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #44475a } -.codehilite { background: #282a36; color: #F8F8F2 } -.codehilite .c { color: #6272A4 } /* Comment */ -.codehilite .err { color: #F8F8F2 } /* Error */ -.codehilite .g { color: #F8F8F2 } /* Generic */ -.codehilite .k { color: #FF79C6 } /* Keyword */ -.codehilite .l { color: #F8F8F2 } /* Literal */ -.codehilite .n { color: #F8F8F2 } /* Name */ -.codehilite .o { color: #FF79C6 } /* Operator */ -.codehilite .x { color: #F8F8F2 } /* Other */ -.codehilite .p { color: #F8F8F2 } /* Punctuation */ -.codehilite .ch { color: #6272A4 } /* Comment.Hashbang */ -.codehilite .cm { color: #6272A4 } /* Comment.Multiline */ -.codehilite .cp { color: #FF79C6 } /* Comment.Preproc */ -.codehilite .cpf { color: #6272A4 } /* Comment.PreprocFile */ -.codehilite .c1 { color: #6272A4 } /* Comment.Single */ -.codehilite .cs { color: #6272A4 } /* Comment.Special */ -.codehilite .gd { color: #8B080B } /* Generic.Deleted */ -.codehilite .ge { color: #F8F8F2; text-decoration: underline } /* Generic.Emph */ -.codehilite .ges { color: #F8F8F2; text-decoration: underline } /* Generic.EmphStrong */ -.codehilite .gr { color: #F8F8F2 } /* Generic.Error */ -.codehilite .gh { color: #F8F8F2; font-weight: bold } /* Generic.Heading */ -.codehilite .gi { color: #F8F8F2; font-weight: bold } /* Generic.Inserted */ -.codehilite .go { color: #44475A } /* Generic.Output */ -.codehilite .gp { color: #F8F8F2 } /* Generic.Prompt */ -.codehilite .gs { color: #F8F8F2 } /* Generic.Strong */ -.codehilite .gu { color: #F8F8F2; font-weight: bold } /* Generic.Subheading */ -.codehilite .gt { color: #F8F8F2 } /* Generic.Traceback */ -.codehilite .kc { color: #FF79C6 } /* Keyword.Constant */ -.codehilite .kd { color: #8BE9FD; font-style: italic } /* Keyword.Declaration */ -.codehilite .kn { color: #FF79C6 } /* Keyword.Namespace */ -.codehilite .kp { color: #FF79C6 } /* Keyword.Pseudo */ -.codehilite .kr { color: #FF79C6 } /* Keyword.Reserved */ -.codehilite .kt { color: #8BE9FD } /* Keyword.Type */ -.codehilite .ld { color: #F8F8F2 } /* Literal.Date */ -.codehilite .m { color: #FFB86C } /* Literal.Number */ -.codehilite .s { color: #BD93F9 } /* Literal.String */ -.codehilite .na { color: #50FA7B } /* Name.Attribute */ -.codehilite .nb { color: #8BE9FD; font-style: italic } /* Name.Builtin */ -.codehilite .nc { color: #50FA7B } /* Name.Class */ -.codehilite .no { color: #F8F8F2 } /* Name.Constant */ -.codehilite .nd { color: #F8F8F2 } /* Name.Decorator */ -.codehilite .ni { color: #F8F8F2 } /* Name.Entity */ -.codehilite .ne { color: #F8F8F2 } /* Name.Exception */ -.codehilite .nf { color: #50FA7B } /* Name.Function */ -.codehilite .nl { color: #8BE9FD; font-style: italic } /* Name.Label */ -.codehilite .nn { color: #F8F8F2 } /* Name.Namespace */ -.codehilite .nx { color: #F8F8F2 } /* Name.Other */ -.codehilite .py { color: #F8F8F2 } /* Name.Property */ -.codehilite .nt { color: #FF79C6 } /* Name.Tag */ -.codehilite .nv { color: #8BE9FD; font-style: italic } /* Name.Variable */ -.codehilite .ow { color: #FF79C6 } /* Operator.Word */ -.codehilite .pm { color: #F8F8F2 } /* Punctuation.Marker */ -.codehilite .w { color: #F8F8F2 } /* Text.Whitespace */ -.codehilite .mb { color: #FFB86C } /* Literal.Number.Bin */ -.codehilite .mf { color: #FFB86C } /* Literal.Number.Float */ -.codehilite .mh { color: #FFB86C } /* Literal.Number.Hex */ -.codehilite .mi { color: #FFB86C } /* Literal.Number.Integer */ -.codehilite .mo { color: #FFB86C } /* Literal.Number.Oct */ -.codehilite .sa { color: #BD93F9 } /* Literal.String.Affix */ -.codehilite .sb { color: #BD93F9 } /* Literal.String.Backtick */ -.codehilite .sc { color: #BD93F9 } /* Literal.String.Char */ -.codehilite .dl { color: #BD93F9 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #BD93F9 } /* Literal.String.Doc */ -.codehilite .s2 { color: #BD93F9 } /* Literal.String.Double */ -.codehilite .se { color: #BD93F9 } /* Literal.String.Escape */ -.codehilite .sh { color: #BD93F9 } /* Literal.String.Heredoc */ -.codehilite .si { color: #BD93F9 } /* Literal.String.Interpol */ -.codehilite .sx { color: #BD93F9 } /* Literal.String.Other */ -.codehilite .sr { color: #BD93F9 } /* Literal.String.Regex */ -.codehilite .s1 { color: #BD93F9 } /* Literal.String.Single */ -.codehilite .ss { color: #BD93F9 } /* Literal.String.Symbol */ -.codehilite .bp { color: #F8F8F2; font-style: italic } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #50FA7B } /* Name.Function.Magic */ -.codehilite .vc { color: #8BE9FD; font-style: italic } /* Name.Variable.Class */ -.codehilite .vg { color: #8BE9FD; font-style: italic } /* Name.Variable.Global */ -.codehilite .vi { color: #8BE9FD; font-style: italic } /* Name.Variable.Instance */ -.codehilite .vm { color: #8BE9FD; font-style: italic } /* Name.Variable.Magic */ -.codehilite .il { color: #FFB86C } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/emacs.css b/site/css/pygments/emacs.css deleted file mode 100644 index 1bd31ab..0000000 --- a/site/css/pygments/emacs.css +++ /dev/null @@ -1,75 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ffffcc } -.codehilite { background: #f8f8f8; } -.codehilite .c { color: #080; font-style: italic } /* Comment */ -.codehilite .err { border: 1px solid #F00 } /* Error */ -.codehilite .k { color: #A2F; font-weight: bold } /* Keyword */ -.codehilite .o { color: #666 } /* Operator */ -.codehilite .ch { color: #080; font-style: italic } /* Comment.Hashbang */ -.codehilite .cm { color: #080; font-style: italic } /* Comment.Multiline */ -.codehilite .cp { color: #080 } /* Comment.Preproc */ -.codehilite .cpf { color: #080; font-style: italic } /* Comment.PreprocFile */ -.codehilite .c1 { color: #080; font-style: italic } /* Comment.Single */ -.codehilite .cs { color: #080; font-weight: bold } /* Comment.Special */ -.codehilite .gd { color: #A00000 } /* Generic.Deleted */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite .gr { color: #F00 } /* Generic.Error */ -.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.codehilite .gi { color: #00A000 } /* Generic.Inserted */ -.codehilite .go { color: #888 } /* Generic.Output */ -.codehilite .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.codehilite .gt { color: #04D } /* Generic.Traceback */ -.codehilite .kc { color: #A2F; font-weight: bold } /* Keyword.Constant */ -.codehilite .kd { color: #A2F; font-weight: bold } /* Keyword.Declaration */ -.codehilite .kn { color: #A2F; font-weight: bold } /* Keyword.Namespace */ -.codehilite .kp { color: #A2F } /* Keyword.Pseudo */ -.codehilite .kr { color: #A2F; font-weight: bold } /* Keyword.Reserved */ -.codehilite .kt { color: #0B0; font-weight: bold } /* Keyword.Type */ -.codehilite .m { color: #666 } /* Literal.Number */ -.codehilite .s { color: #B44 } /* Literal.String */ -.codehilite .na { color: #B44 } /* Name.Attribute */ -.codehilite .nb { color: #A2F } /* Name.Builtin */ -.codehilite .nc { color: #00F } /* Name.Class */ -.codehilite .no { color: #800 } /* Name.Constant */ -.codehilite .nd { color: #A2F } /* Name.Decorator */ -.codehilite .ni { color: #999; font-weight: bold } /* Name.Entity */ -.codehilite .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ -.codehilite .nf { color: #00A000 } /* Name.Function */ -.codehilite .nl { color: #A0A000 } /* Name.Label */ -.codehilite .nn { color: #00F; font-weight: bold } /* Name.Namespace */ -.codehilite .nt { color: #008000; font-weight: bold } /* Name.Tag */ -.codehilite .nv { color: #B8860B } /* Name.Variable */ -.codehilite .ow { color: #A2F; font-weight: bold } /* Operator.Word */ -.codehilite .w { color: #BBB } /* Text.Whitespace */ -.codehilite .mb { color: #666 } /* Literal.Number.Bin */ -.codehilite .mf { color: #666 } /* Literal.Number.Float */ -.codehilite .mh { color: #666 } /* Literal.Number.Hex */ -.codehilite .mi { color: #666 } /* Literal.Number.Integer */ -.codehilite .mo { color: #666 } /* Literal.Number.Oct */ -.codehilite .sa { color: #B44 } /* Literal.String.Affix */ -.codehilite .sb { color: #B44 } /* Literal.String.Backtick */ -.codehilite .sc { color: #B44 } /* Literal.String.Char */ -.codehilite .dl { color: #B44 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #B44; font-style: italic } /* Literal.String.Doc */ -.codehilite .s2 { color: #B44 } /* Literal.String.Double */ -.codehilite .se { color: #B62; font-weight: bold } /* Literal.String.Escape */ -.codehilite .sh { color: #B44 } /* Literal.String.Heredoc */ -.codehilite .si { color: #B68; font-weight: bold } /* Literal.String.Interpol */ -.codehilite .sx { color: #008000 } /* Literal.String.Other */ -.codehilite .sr { color: #B68 } /* Literal.String.Regex */ -.codehilite .s1 { color: #B44 } /* Literal.String.Single */ -.codehilite .ss { color: #B8860B } /* Literal.String.Symbol */ -.codehilite .bp { color: #A2F } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #00A000 } /* Name.Function.Magic */ -.codehilite .vc { color: #B8860B } /* Name.Variable.Class */ -.codehilite .vg { color: #B8860B } /* Name.Variable.Global */ -.codehilite .vi { color: #B8860B } /* Name.Variable.Instance */ -.codehilite .vm { color: #B8860B } /* Name.Variable.Magic */ -.codehilite .il { color: #666 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/friendly.css b/site/css/pygments/friendly.css deleted file mode 100644 index 805aa92..0000000 --- a/site/css/pygments/friendly.css +++ /dev/null @@ -1,75 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: #666666; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: #666666; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ffffcc } -.codehilite { background: #f0f0f0; } -.codehilite .c { color: #60A0B0; font-style: italic } /* Comment */ -.codehilite .err { border: 1px solid #F00 } /* Error */ -.codehilite .k { color: #007020; font-weight: bold } /* Keyword */ -.codehilite .o { color: #666 } /* Operator */ -.codehilite .ch { color: #60A0B0; font-style: italic } /* Comment.Hashbang */ -.codehilite .cm { color: #60A0B0; font-style: italic } /* Comment.Multiline */ -.codehilite .cp { color: #007020 } /* Comment.Preproc */ -.codehilite .cpf { color: #60A0B0; font-style: italic } /* Comment.PreprocFile */ -.codehilite .c1 { color: #60A0B0; font-style: italic } /* Comment.Single */ -.codehilite .cs { color: #60A0B0; background-color: #FFF0F0 } /* Comment.Special */ -.codehilite .gd { color: #A00000 } /* Generic.Deleted */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite .gr { color: #F00 } /* Generic.Error */ -.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.codehilite .gi { color: #00A000 } /* Generic.Inserted */ -.codehilite .go { color: #888 } /* Generic.Output */ -.codehilite .gp { color: #C65D09; font-weight: bold } /* Generic.Prompt */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.codehilite .gt { color: #04D } /* Generic.Traceback */ -.codehilite .kc { color: #007020; font-weight: bold } /* Keyword.Constant */ -.codehilite .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */ -.codehilite .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */ -.codehilite .kp { color: #007020 } /* Keyword.Pseudo */ -.codehilite .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */ -.codehilite .kt { color: #902000 } /* Keyword.Type */ -.codehilite .m { color: #40A070 } /* Literal.Number */ -.codehilite .s { color: #4070A0 } /* Literal.String */ -.codehilite .na { color: #4070A0 } /* Name.Attribute */ -.codehilite .nb { color: #007020 } /* Name.Builtin */ -.codehilite .nc { color: #0E84B5; font-weight: bold } /* Name.Class */ -.codehilite .no { color: #60ADD5 } /* Name.Constant */ -.codehilite .nd { color: #555; font-weight: bold } /* Name.Decorator */ -.codehilite .ni { color: #D55537; font-weight: bold } /* Name.Entity */ -.codehilite .ne { color: #007020 } /* Name.Exception */ -.codehilite .nf { color: #06287E } /* Name.Function */ -.codehilite .nl { color: #002070; font-weight: bold } /* Name.Label */ -.codehilite .nn { color: #0E84B5; font-weight: bold } /* Name.Namespace */ -.codehilite .nt { color: #062873; font-weight: bold } /* Name.Tag */ -.codehilite .nv { color: #BB60D5 } /* Name.Variable */ -.codehilite .ow { color: #007020; font-weight: bold } /* Operator.Word */ -.codehilite .w { color: #BBB } /* Text.Whitespace */ -.codehilite .mb { color: #40A070 } /* Literal.Number.Bin */ -.codehilite .mf { color: #40A070 } /* Literal.Number.Float */ -.codehilite .mh { color: #40A070 } /* Literal.Number.Hex */ -.codehilite .mi { color: #40A070 } /* Literal.Number.Integer */ -.codehilite .mo { color: #40A070 } /* Literal.Number.Oct */ -.codehilite .sa { color: #4070A0 } /* Literal.String.Affix */ -.codehilite .sb { color: #4070A0 } /* Literal.String.Backtick */ -.codehilite .sc { color: #4070A0 } /* Literal.String.Char */ -.codehilite .dl { color: #4070A0 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #4070A0; font-style: italic } /* Literal.String.Doc */ -.codehilite .s2 { color: #4070A0 } /* Literal.String.Double */ -.codehilite .se { color: #4070A0; font-weight: bold } /* Literal.String.Escape */ -.codehilite .sh { color: #4070A0 } /* Literal.String.Heredoc */ -.codehilite .si { color: #70A0D0; font-style: italic } /* Literal.String.Interpol */ -.codehilite .sx { color: #C65D09 } /* Literal.String.Other */ -.codehilite .sr { color: #235388 } /* Literal.String.Regex */ -.codehilite .s1 { color: #4070A0 } /* Literal.String.Single */ -.codehilite .ss { color: #517918 } /* Literal.String.Symbol */ -.codehilite .bp { color: #007020 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #06287E } /* Name.Function.Magic */ -.codehilite .vc { color: #BB60D5 } /* Name.Variable.Class */ -.codehilite .vg { color: #BB60D5 } /* Name.Variable.Global */ -.codehilite .vi { color: #BB60D5 } /* Name.Variable.Instance */ -.codehilite .vm { color: #BB60D5 } /* Name.Variable.Magic */ -.codehilite .il { color: #40A070 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/friendly_grayscale.css b/site/css/pygments/friendly_grayscale.css deleted file mode 100644 index 0f0cee6..0000000 --- a/site/css/pygments/friendly_grayscale.css +++ /dev/null @@ -1,75 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ffffcc } -.codehilite { background: #f0f0f0; } -.codehilite .c { color: #959595; font-style: italic } /* Comment */ -.codehilite .err { border: 1px solid #898989 } /* Error */ -.codehilite .k { color: #575757; font-weight: bold } /* Keyword */ -.codehilite .o { color: #666 } /* Operator */ -.codehilite .ch { color: #959595; font-style: italic } /* Comment.Hashbang */ -.codehilite .cm { color: #959595; font-style: italic } /* Comment.Multiline */ -.codehilite .cp { color: #575757 } /* Comment.Preproc */ -.codehilite .cpf { color: #959595; font-style: italic } /* Comment.PreprocFile */ -.codehilite .c1 { color: #959595; font-style: italic } /* Comment.Single */ -.codehilite .cs { color: #959595; background-color: #F4F4F4 } /* Comment.Special */ -.codehilite .gd { color: #545454 } /* Generic.Deleted */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite .gr { color: #898989 } /* Generic.Error */ -.codehilite .gh { color: #373737; font-weight: bold } /* Generic.Heading */ -.codehilite .gi { color: #7D7D7D } /* Generic.Inserted */ -.codehilite .go { color: #888 } /* Generic.Output */ -.codehilite .gp { color: #7E7E7E; font-weight: bold } /* Generic.Prompt */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #5A5A5A; font-weight: bold } /* Generic.Subheading */ -.codehilite .gt { color: #6D6D6D } /* Generic.Traceback */ -.codehilite .kc { color: #575757; font-weight: bold } /* Keyword.Constant */ -.codehilite .kd { color: #575757; font-weight: bold } /* Keyword.Declaration */ -.codehilite .kn { color: #575757; font-weight: bold } /* Keyword.Namespace */ -.codehilite .kp { color: #575757 } /* Keyword.Pseudo */ -.codehilite .kr { color: #575757; font-weight: bold } /* Keyword.Reserved */ -.codehilite .kt { color: #4F4F4F } /* Keyword.Type */ -.codehilite .m { color: #888 } /* Literal.Number */ -.codehilite .s { color: #717171 } /* Literal.String */ -.codehilite .na { color: #707070 } /* Name.Attribute */ -.codehilite .nb { color: #575757 } /* Name.Builtin */ -.codehilite .nc { color: #7E7E7E; font-weight: bold } /* Name.Class */ -.codehilite .no { color: #A5A5A5 } /* Name.Constant */ -.codehilite .nd { color: #555; font-weight: bold } /* Name.Decorator */ -.codehilite .ni { color: #848484; font-weight: bold } /* Name.Entity */ -.codehilite .ne { color: #575757 } /* Name.Exception */ -.codehilite .nf { color: #3F3F3F } /* Name.Function */ -.codehilite .nl { color: #363636; font-weight: bold } /* Name.Label */ -.codehilite .nn { color: #7E7E7E; font-weight: bold } /* Name.Namespace */ -.codehilite .nt { color: #3B3B3B; font-weight: bold } /* Name.Tag */ -.codehilite .nv { color: #9A9A9A } /* Name.Variable */ -.codehilite .ow { color: #575757; font-weight: bold } /* Operator.Word */ -.codehilite .w { color: #BBB } /* Text.Whitespace */ -.codehilite .mb { color: #888 } /* Literal.Number.Bin */ -.codehilite .mf { color: #888 } /* Literal.Number.Float */ -.codehilite .mh { color: #888 } /* Literal.Number.Hex */ -.codehilite .mi { color: #888 } /* Literal.Number.Integer */ -.codehilite .mo { color: #888 } /* Literal.Number.Oct */ -.codehilite .sa { color: #717171 } /* Literal.String.Affix */ -.codehilite .sb { color: #717171 } /* Literal.String.Backtick */ -.codehilite .sc { color: #717171 } /* Literal.String.Char */ -.codehilite .dl { color: #717171 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #717171; font-style: italic } /* Literal.String.Doc */ -.codehilite .s2 { color: #717171 } /* Literal.String.Double */ -.codehilite .se { color: #717171; font-weight: bold } /* Literal.String.Escape */ -.codehilite .sh { color: #717171 } /* Literal.String.Heredoc */ -.codehilite .si { color: #9F9F9F; font-style: italic } /* Literal.String.Interpol */ -.codehilite .sx { color: #7E7E7E } /* Literal.String.Other */ -.codehilite .sr { color: #575757 } /* Literal.String.Regex */ -.codehilite .s1 { color: #717171 } /* Literal.String.Single */ -.codehilite .ss { color: #676767 } /* Literal.String.Symbol */ -.codehilite .bp { color: #575757 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #3F3F3F } /* Name.Function.Magic */ -.codehilite .vc { color: #9A9A9A } /* Name.Variable.Class */ -.codehilite .vg { color: #9A9A9A } /* Name.Variable.Global */ -.codehilite .vi { color: #9A9A9A } /* Name.Variable.Instance */ -.codehilite .vm { color: #9A9A9A } /* Name.Variable.Magic */ -.codehilite .il { color: #888 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/fruity.css b/site/css/pygments/fruity.css deleted file mode 100644 index ae6546b..0000000 --- a/site/css/pygments/fruity.css +++ /dev/null @@ -1,85 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #333333 } -.codehilite { background: #111111; color: #FFF } -.codehilite .c { color: #080; font-style: italic; background-color: #0F140F } /* Comment */ -.codehilite .err { color: #FFF } /* Error */ -.codehilite .esc { color: #FFF } /* Escape */ -.codehilite .g { color: #FFF } /* Generic */ -.codehilite .k { color: #FB660A; font-weight: bold } /* Keyword */ -.codehilite .l { color: #FFF } /* Literal */ -.codehilite .n { color: #FFF } /* Name */ -.codehilite .o { color: #FFF } /* Operator */ -.codehilite .x { color: #FFF } /* Other */ -.codehilite .p { color: #FFF } /* Punctuation */ -.codehilite .ch { color: #080; font-style: italic; background-color: #0F140F } /* Comment.Hashbang */ -.codehilite .cm { color: #080; font-style: italic; background-color: #0F140F } /* Comment.Multiline */ -.codehilite .cp { color: #FF0007; font-weight: bold; font-style: italic; background-color: #0F140F } /* Comment.Preproc */ -.codehilite .cpf { color: #080; font-style: italic; background-color: #0F140F } /* Comment.PreprocFile */ -.codehilite .c1 { color: #080; font-style: italic; background-color: #0F140F } /* Comment.Single */ -.codehilite .cs { color: #080; font-style: italic; background-color: #0F140F } /* Comment.Special */ -.codehilite .gd { color: #FFF } /* Generic.Deleted */ -.codehilite .ge { color: #FFF } /* Generic.Emph */ -.codehilite .ges { color: #FFF } /* Generic.EmphStrong */ -.codehilite .gr { color: #FFF } /* Generic.Error */ -.codehilite .gh { color: #FFF; font-weight: bold } /* Generic.Heading */ -.codehilite .gi { color: #FFF } /* Generic.Inserted */ -.codehilite .go { color: #444; background-color: #222 } /* Generic.Output */ -.codehilite .gp { color: #FFF } /* Generic.Prompt */ -.codehilite .gs { color: #FFF } /* Generic.Strong */ -.codehilite .gu { color: #FFF; font-weight: bold } /* Generic.Subheading */ -.codehilite .gt { color: #FFF } /* Generic.Traceback */ -.codehilite .kc { color: #FB660A; font-weight: bold } /* Keyword.Constant */ -.codehilite .kd { color: #FB660A; font-weight: bold } /* Keyword.Declaration */ -.codehilite .kn { color: #FB660A; font-weight: bold } /* Keyword.Namespace */ -.codehilite .kp { color: #FB660A } /* Keyword.Pseudo */ -.codehilite .kr { color: #FB660A; font-weight: bold } /* Keyword.Reserved */ -.codehilite .kt { color: #CDCAA9; font-weight: bold } /* Keyword.Type */ -.codehilite .ld { color: #FFF } /* Literal.Date */ -.codehilite .m { color: #0086F7; font-weight: bold } /* Literal.Number */ -.codehilite .s { color: #0086D2 } /* Literal.String */ -.codehilite .na { color: #FF0086; font-weight: bold } /* Name.Attribute */ -.codehilite .nb { color: #FFF } /* Name.Builtin */ -.codehilite .nc { color: #FFF } /* Name.Class */ -.codehilite .no { color: #0086D2 } /* Name.Constant */ -.codehilite .nd { color: #FFF } /* Name.Decorator */ -.codehilite .ni { color: #FFF } /* Name.Entity */ -.codehilite .ne { color: #FFF } /* Name.Exception */ -.codehilite .nf { color: #FF0086; font-weight: bold } /* Name.Function */ -.codehilite .nl { color: #FFF } /* Name.Label */ -.codehilite .nn { color: #FFF } /* Name.Namespace */ -.codehilite .nx { color: #FFF } /* Name.Other */ -.codehilite .py { color: #FFF } /* Name.Property */ -.codehilite .nt { color: #FB660A; font-weight: bold } /* Name.Tag */ -.codehilite .nv { color: #FB660A } /* Name.Variable */ -.codehilite .ow { color: #FFF } /* Operator.Word */ -.codehilite .pm { color: #FFF } /* Punctuation.Marker */ -.codehilite .w { color: #888 } /* Text.Whitespace */ -.codehilite .mb { color: #0086F7; font-weight: bold } /* Literal.Number.Bin */ -.codehilite .mf { color: #0086F7; font-weight: bold } /* Literal.Number.Float */ -.codehilite .mh { color: #0086F7; font-weight: bold } /* Literal.Number.Hex */ -.codehilite .mi { color: #0086F7; font-weight: bold } /* Literal.Number.Integer */ -.codehilite .mo { color: #0086F7; font-weight: bold } /* Literal.Number.Oct */ -.codehilite .sa { color: #0086D2 } /* Literal.String.Affix */ -.codehilite .sb { color: #0086D2 } /* Literal.String.Backtick */ -.codehilite .sc { color: #0086D2 } /* Literal.String.Char */ -.codehilite .dl { color: #0086D2 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #0086D2 } /* Literal.String.Doc */ -.codehilite .s2 { color: #0086D2 } /* Literal.String.Double */ -.codehilite .se { color: #0086D2 } /* Literal.String.Escape */ -.codehilite .sh { color: #0086D2 } /* Literal.String.Heredoc */ -.codehilite .si { color: #0086D2 } /* Literal.String.Interpol */ -.codehilite .sx { color: #0086D2 } /* Literal.String.Other */ -.codehilite .sr { color: #0086D2 } /* Literal.String.Regex */ -.codehilite .s1 { color: #0086D2 } /* Literal.String.Single */ -.codehilite .ss { color: #0086D2 } /* Literal.String.Symbol */ -.codehilite .bp { color: #FFF } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #FF0086; font-weight: bold } /* Name.Function.Magic */ -.codehilite .vc { color: #FB660A } /* Name.Variable.Class */ -.codehilite .vg { color: #FB660A } /* Name.Variable.Global */ -.codehilite .vi { color: #FB660A } /* Name.Variable.Instance */ -.codehilite .vm { color: #FB660A } /* Name.Variable.Magic */ -.codehilite .il { color: #0086F7; font-weight: bold } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/github-dark-colorblind.css b/site/css/pygments/github-dark-colorblind.css deleted file mode 100644 index bf2f468..0000000 --- a/site/css/pygments/github-dark-colorblind.css +++ /dev/null @@ -1,77 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #58a6ff70 } -.codehilite { background: #0d1117; color: #C9D1D9 } -.codehilite .c { color: #B1BAC4 } /* Comment */ -.codehilite .err { color: #EC8E2C } /* Error */ -.codehilite .k { color: #EC8E2C } /* Keyword */ -.codehilite .l { color: #FDAC54 } /* Literal */ -.codehilite .n { color: #D2A8FF } /* Name */ -.codehilite .o { color: #A5D6FF } /* Operator */ -.codehilite .p { color: #C9D1D9 } /* Punctuation */ -.codehilite .ch { color: #B1BAC4 } /* Comment.Hashbang */ -.codehilite .cm { color: #B1BAC4 } /* Comment.Multiline */ -.codehilite .cp { color: #B1BAC4 } /* Comment.Preproc */ -.codehilite .cpf { color: #B1BAC4 } /* Comment.PreprocFile */ -.codehilite .c1 { color: #B1BAC4 } /* Comment.Single */ -.codehilite .cs { color: #B1BAC4 } /* Comment.Special */ -.codehilite .gd { color: #79C0FF } /* Generic.Deleted */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .gr { color: #EC8E2C } /* Generic.Error */ -.codehilite .gh { color: #79C0FF } /* Generic.Heading */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #79C0FF } /* Generic.Subheading */ -.codehilite .kc { color: #79C0FF } /* Keyword.Constant */ -.codehilite .kd { color: #EC8E2C } /* Keyword.Declaration */ -.codehilite .kn { color: #EC8E2C } /* Keyword.Namespace */ -.codehilite .kp { color: #EC8E2C } /* Keyword.Pseudo */ -.codehilite .kr { color: #EC8E2C } /* Keyword.Reserved */ -.codehilite .kt { color: #EC8E2C } /* Keyword.Type */ -.codehilite .ld { color: #FDAC54 } /* Literal.Date */ -.codehilite .m { color: #FDAC54 } /* Literal.Number */ -.codehilite .s { color: #79C0FF } /* Literal.String */ -.codehilite .na { color: #FDAC54 } /* Name.Attribute */ -.codehilite .nb { color: #FDAC54 } /* Name.Builtin */ -.codehilite .nc { color: #79C0FF } /* Name.Class */ -.codehilite .no { color: #79C0FF } /* Name.Constant */ -.codehilite .nd { color: #FDAC54 } /* Name.Decorator */ -.codehilite .ni { color: #A5D6FF } /* Name.Entity */ -.codehilite .ne { color: #D2A8FF } /* Name.Exception */ -.codehilite .nf { color: #79C0FF } /* Name.Function */ -.codehilite .nl { color: #FDAC54 } /* Name.Label */ -.codehilite .nn { color: #C9D1D9 } /* Name.Namespace */ -.codehilite .nx { color: #D2A8FF } /* Name.Other */ -.codehilite .py { color: #79C0FF } /* Name.Property */ -.codehilite .nt { color: #A5D6FF } /* Name.Tag */ -.codehilite .nv { color: #FDAC54 } /* Name.Variable */ -.codehilite .ow { color: #D2A8FF } /* Operator.Word */ -.codehilite .pm { color: #C9D1D9 } /* Punctuation.Marker */ -.codehilite .w { color: #C9D1D9 } /* Text.Whitespace */ -.codehilite .mb { color: #FDAC54 } /* Literal.Number.Bin */ -.codehilite .mf { color: #FDAC54 } /* Literal.Number.Float */ -.codehilite .mh { color: #FDAC54 } /* Literal.Number.Hex */ -.codehilite .mi { color: #FDAC54 } /* Literal.Number.Integer */ -.codehilite .mo { color: #FDAC54 } /* Literal.Number.Oct */ -.codehilite .sa { color: #79C0FF } /* Literal.String.Affix */ -.codehilite .sb { color: #79C0FF } /* Literal.String.Backtick */ -.codehilite .sc { color: #79C0FF } /* Literal.String.Char */ -.codehilite .dl { color: #79C0FF } /* Literal.String.Delimiter */ -.codehilite .sd { color: #79C0FF } /* Literal.String.Doc */ -.codehilite .s2 { color: #79C0FF } /* Literal.String.Double */ -.codehilite .se { color: #79C0FF } /* Literal.String.Escape */ -.codehilite .sh { color: #79C0FF } /* Literal.String.Heredoc */ -.codehilite .si { color: #79C0FF } /* Literal.String.Interpol */ -.codehilite .sx { color: #79C0FF } /* Literal.String.Other */ -.codehilite .sr { color: #79C0FF } /* Literal.String.Regex */ -.codehilite .s1 { color: #79C0FF } /* Literal.String.Single */ -.codehilite .ss { color: #79C0FF } /* Literal.String.Symbol */ -.codehilite .bp { color: #FDAC54 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #79C0FF } /* Name.Function.Magic */ -.codehilite .vc { color: #FDAC54 } /* Name.Variable.Class */ -.codehilite .vg { color: #FDAC54 } /* Name.Variable.Global */ -.codehilite .vi { color: #FDAC54 } /* Name.Variable.Instance */ -.codehilite .vm { color: #FDAC54 } /* Name.Variable.Magic */ -.codehilite .il { color: #FDAC54 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/github-dark-high-contrast.css b/site/css/pygments/github-dark-high-contrast.css deleted file mode 100644 index 49dc27a..0000000 --- a/site/css/pygments/github-dark-high-contrast.css +++ /dev/null @@ -1,77 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #58a6ff70 } -.codehilite { background: #0d1117; color: #C9D1D9 } -.codehilite .c { color: #D9DEE3 } /* Comment */ -.codehilite .err { color: #FF9492 } /* Error */ -.codehilite .k { color: #FF9492 } /* Keyword */ -.codehilite .l { color: #FFB757 } /* Literal */ -.codehilite .n { color: #DBB7FF } /* Name */ -.codehilite .o { color: #72F088 } /* Operator */ -.codehilite .p { color: #C9D1D9 } /* Punctuation */ -.codehilite .ch { color: #D9DEE3 } /* Comment.Hashbang */ -.codehilite .cm { color: #D9DEE3 } /* Comment.Multiline */ -.codehilite .cp { color: #D9DEE3 } /* Comment.Preproc */ -.codehilite .cpf { color: #D9DEE3 } /* Comment.PreprocFile */ -.codehilite .c1 { color: #D9DEE3 } /* Comment.Single */ -.codehilite .cs { color: #D9DEE3 } /* Comment.Special */ -.codehilite .gd { color: #91CBFF } /* Generic.Deleted */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .gr { color: #FF9492 } /* Generic.Error */ -.codehilite .gh { color: #91CBFF } /* Generic.Heading */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #91CBFF } /* Generic.Subheading */ -.codehilite .kc { color: #91CBFF } /* Keyword.Constant */ -.codehilite .kd { color: #FF9492 } /* Keyword.Declaration */ -.codehilite .kn { color: #FF9492 } /* Keyword.Namespace */ -.codehilite .kp { color: #FF9492 } /* Keyword.Pseudo */ -.codehilite .kr { color: #FF9492 } /* Keyword.Reserved */ -.codehilite .kt { color: #FF9492 } /* Keyword.Type */ -.codehilite .ld { color: #FFB757 } /* Literal.Date */ -.codehilite .m { color: #FFB757 } /* Literal.Number */ -.codehilite .s { color: #91CBFF } /* Literal.String */ -.codehilite .na { color: #FFB757 } /* Name.Attribute */ -.codehilite .nb { color: #FFB757 } /* Name.Builtin */ -.codehilite .nc { color: #91CBFF } /* Name.Class */ -.codehilite .no { color: #91CBFF } /* Name.Constant */ -.codehilite .nd { color: #FFB757 } /* Name.Decorator */ -.codehilite .ni { color: #72F088 } /* Name.Entity */ -.codehilite .ne { color: #DBB7FF } /* Name.Exception */ -.codehilite .nf { color: #91CBFF } /* Name.Function */ -.codehilite .nl { color: #FFB757 } /* Name.Label */ -.codehilite .nn { color: #C9D1D9 } /* Name.Namespace */ -.codehilite .nx { color: #DBB7FF } /* Name.Other */ -.codehilite .py { color: #91CBFF } /* Name.Property */ -.codehilite .nt { color: #72F088 } /* Name.Tag */ -.codehilite .nv { color: #FFB757 } /* Name.Variable */ -.codehilite .ow { color: #DBB7FF } /* Operator.Word */ -.codehilite .pm { color: #C9D1D9 } /* Punctuation.Marker */ -.codehilite .w { color: #C9D1D9 } /* Text.Whitespace */ -.codehilite .mb { color: #FFB757 } /* Literal.Number.Bin */ -.codehilite .mf { color: #FFB757 } /* Literal.Number.Float */ -.codehilite .mh { color: #FFB757 } /* Literal.Number.Hex */ -.codehilite .mi { color: #FFB757 } /* Literal.Number.Integer */ -.codehilite .mo { color: #FFB757 } /* Literal.Number.Oct */ -.codehilite .sa { color: #91CBFF } /* Literal.String.Affix */ -.codehilite .sb { color: #91CBFF } /* Literal.String.Backtick */ -.codehilite .sc { color: #91CBFF } /* Literal.String.Char */ -.codehilite .dl { color: #91CBFF } /* Literal.String.Delimiter */ -.codehilite .sd { color: #91CBFF } /* Literal.String.Doc */ -.codehilite .s2 { color: #91CBFF } /* Literal.String.Double */ -.codehilite .se { color: #91CBFF } /* Literal.String.Escape */ -.codehilite .sh { color: #91CBFF } /* Literal.String.Heredoc */ -.codehilite .si { color: #91CBFF } /* Literal.String.Interpol */ -.codehilite .sx { color: #91CBFF } /* Literal.String.Other */ -.codehilite .sr { color: #91CBFF } /* Literal.String.Regex */ -.codehilite .s1 { color: #91CBFF } /* Literal.String.Single */ -.codehilite .ss { color: #91CBFF } /* Literal.String.Symbol */ -.codehilite .bp { color: #FFB757 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #91CBFF } /* Name.Function.Magic */ -.codehilite .vc { color: #FFB757 } /* Name.Variable.Class */ -.codehilite .vg { color: #FFB757 } /* Name.Variable.Global */ -.codehilite .vi { color: #FFB757 } /* Name.Variable.Instance */ -.codehilite .vm { color: #FFB757 } /* Name.Variable.Magic */ -.codehilite .il { color: #FFB757 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/github-dark.css b/site/css/pygments/github-dark.css deleted file mode 100644 index 3c717b6..0000000 --- a/site/css/pygments/github-dark.css +++ /dev/null @@ -1,86 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: #6e7681; background-color: #0d1117; padding-left: 5px; padding-right: 5px; } -span.linenos { color: #6e7681; background-color: #0d1117; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #e6edf3; background-color: #6e7681; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #e6edf3; background-color: #6e7681; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #6e7681 } -.codehilite { background: #0d1117; color: #E6EDF3 } -.codehilite .c { color: #8B949E; font-style: italic } /* Comment */ -.codehilite .err { color: #F85149 } /* Error */ -.codehilite .esc { color: #E6EDF3 } /* Escape */ -.codehilite .g { color: #E6EDF3 } /* Generic */ -.codehilite .k { color: #FF7B72 } /* Keyword */ -.codehilite .l { color: #A5D6FF } /* Literal */ -.codehilite .n { color: #E6EDF3 } /* Name */ -.codehilite .o { color: #FF7B72; font-weight: bold } /* Operator */ -.codehilite .x { color: #E6EDF3 } /* Other */ -.codehilite .p { color: #E6EDF3 } /* Punctuation */ -.codehilite .ch { color: #8B949E; font-style: italic } /* Comment.Hashbang */ -.codehilite .cm { color: #8B949E; font-style: italic } /* Comment.Multiline */ -.codehilite .cp { color: #8B949E; font-weight: bold; font-style: italic } /* Comment.Preproc */ -.codehilite .cpf { color: #8B949E; font-style: italic } /* Comment.PreprocFile */ -.codehilite .c1 { color: #8B949E; font-style: italic } /* Comment.Single */ -.codehilite .cs { color: #8B949E; font-weight: bold; font-style: italic } /* Comment.Special */ -.codehilite .gd { color: #FFA198; background-color: #490202 } /* Generic.Deleted */ -.codehilite .ge { color: #E6EDF3; font-style: italic } /* Generic.Emph */ -.codehilite .ges { color: #E6EDF3; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite .gr { color: #FFA198 } /* Generic.Error */ -.codehilite .gh { color: #79C0FF; font-weight: bold } /* Generic.Heading */ -.codehilite .gi { color: #56D364; background-color: #0F5323 } /* Generic.Inserted */ -.codehilite .go { color: #8B949E } /* Generic.Output */ -.codehilite .gp { color: #8B949E } /* Generic.Prompt */ -.codehilite .gs { color: #E6EDF3; font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #79C0FF } /* Generic.Subheading */ -.codehilite .gt { color: #FF7B72 } /* Generic.Traceback */ -.codehilite .g-Underline { color: #E6EDF3; text-decoration: underline } /* Generic.Underline */ -.codehilite .kc { color: #79C0FF } /* Keyword.Constant */ -.codehilite .kd { color: #FF7B72 } /* Keyword.Declaration */ -.codehilite .kn { color: #FF7B72 } /* Keyword.Namespace */ -.codehilite .kp { color: #79C0FF } /* Keyword.Pseudo */ -.codehilite .kr { color: #FF7B72 } /* Keyword.Reserved */ -.codehilite .kt { color: #FF7B72 } /* Keyword.Type */ -.codehilite .ld { color: #79C0FF } /* Literal.Date */ -.codehilite .m { color: #A5D6FF } /* Literal.Number */ -.codehilite .s { color: #A5D6FF } /* Literal.String */ -.codehilite .na { color: #E6EDF3 } /* Name.Attribute */ -.codehilite .nb { color: #E6EDF3 } /* Name.Builtin */ -.codehilite .nc { color: #F0883E; font-weight: bold } /* Name.Class */ -.codehilite .no { color: #79C0FF; font-weight: bold } /* Name.Constant */ -.codehilite .nd { color: #D2A8FF; font-weight: bold } /* Name.Decorator */ -.codehilite .ni { color: #FFA657 } /* Name.Entity */ -.codehilite .ne { color: #F0883E; font-weight: bold } /* Name.Exception */ -.codehilite .nf { color: #D2A8FF; font-weight: bold } /* Name.Function */ -.codehilite .nl { color: #79C0FF; font-weight: bold } /* Name.Label */ -.codehilite .nn { color: #FF7B72 } /* Name.Namespace */ -.codehilite .nx { color: #E6EDF3 } /* Name.Other */ -.codehilite .py { color: #79C0FF } /* Name.Property */ -.codehilite .nt { color: #7EE787 } /* Name.Tag */ -.codehilite .nv { color: #79C0FF } /* Name.Variable */ -.codehilite .ow { color: #FF7B72; font-weight: bold } /* Operator.Word */ -.codehilite .pm { color: #E6EDF3 } /* Punctuation.Marker */ -.codehilite .w { color: #6E7681 } /* Text.Whitespace */ -.codehilite .mb { color: #A5D6FF } /* Literal.Number.Bin */ -.codehilite .mf { color: #A5D6FF } /* Literal.Number.Float */ -.codehilite .mh { color: #A5D6FF } /* Literal.Number.Hex */ -.codehilite .mi { color: #A5D6FF } /* Literal.Number.Integer */ -.codehilite .mo { color: #A5D6FF } /* Literal.Number.Oct */ -.codehilite .sa { color: #79C0FF } /* Literal.String.Affix */ -.codehilite .sb { color: #A5D6FF } /* Literal.String.Backtick */ -.codehilite .sc { color: #A5D6FF } /* Literal.String.Char */ -.codehilite .dl { color: #79C0FF } /* Literal.String.Delimiter */ -.codehilite .sd { color: #A5D6FF } /* Literal.String.Doc */ -.codehilite .s2 { color: #A5D6FF } /* Literal.String.Double */ -.codehilite .se { color: #79C0FF } /* Literal.String.Escape */ -.codehilite .sh { color: #79C0FF } /* Literal.String.Heredoc */ -.codehilite .si { color: #A5D6FF } /* Literal.String.Interpol */ -.codehilite .sx { color: #A5D6FF } /* Literal.String.Other */ -.codehilite .sr { color: #79C0FF } /* Literal.String.Regex */ -.codehilite .s1 { color: #A5D6FF } /* Literal.String.Single */ -.codehilite .ss { color: #A5D6FF } /* Literal.String.Symbol */ -.codehilite .bp { color: #E6EDF3 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #D2A8FF; font-weight: bold } /* Name.Function.Magic */ -.codehilite .vc { color: #79C0FF } /* Name.Variable.Class */ -.codehilite .vg { color: #79C0FF } /* Name.Variable.Global */ -.codehilite .vi { color: #79C0FF } /* Name.Variable.Instance */ -.codehilite .vm { color: #79C0FF } /* Name.Variable.Magic */ -.codehilite .il { color: #A5D6FF } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/github-light-colorblind.css b/site/css/pygments/github-light-colorblind.css deleted file mode 100644 index ee93db8..0000000 --- a/site/css/pygments/github-light-colorblind.css +++ /dev/null @@ -1,77 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #0969da4a } -.codehilite { background: #ffffff; color: #24292F } -.codehilite .c { color: #6E7781 } /* Comment */ -.codehilite .err { color: #B35900 } /* Error */ -.codehilite .k { color: #B35900 } /* Keyword */ -.codehilite .l { color: #8A4600 } /* Literal */ -.codehilite .n { color: #8250DF } /* Name */ -.codehilite .o { color: #0550AE } /* Operator */ -.codehilite .p { color: #24292F } /* Punctuation */ -.codehilite .ch { color: #6E7781 } /* Comment.Hashbang */ -.codehilite .cm { color: #6E7781 } /* Comment.Multiline */ -.codehilite .cp { color: #6E7781 } /* Comment.Preproc */ -.codehilite .cpf { color: #6E7781 } /* Comment.PreprocFile */ -.codehilite .c1 { color: #6E7781 } /* Comment.Single */ -.codehilite .cs { color: #6E7781 } /* Comment.Special */ -.codehilite .gd { color: #0550AE } /* Generic.Deleted */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .gr { color: #B35900 } /* Generic.Error */ -.codehilite .gh { color: #0550AE } /* Generic.Heading */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #0550AE } /* Generic.Subheading */ -.codehilite .kc { color: #0550AE } /* Keyword.Constant */ -.codehilite .kd { color: #B35900 } /* Keyword.Declaration */ -.codehilite .kn { color: #B35900 } /* Keyword.Namespace */ -.codehilite .kp { color: #B35900 } /* Keyword.Pseudo */ -.codehilite .kr { color: #B35900 } /* Keyword.Reserved */ -.codehilite .kt { color: #B35900 } /* Keyword.Type */ -.codehilite .ld { color: #8A4600 } /* Literal.Date */ -.codehilite .m { color: #8A4600 } /* Literal.Number */ -.codehilite .s { color: #0550AE } /* Literal.String */ -.codehilite .na { color: #8A4600 } /* Name.Attribute */ -.codehilite .nb { color: #8A4600 } /* Name.Builtin */ -.codehilite .nc { color: #0550AE } /* Name.Class */ -.codehilite .no { color: #0550AE } /* Name.Constant */ -.codehilite .nd { color: #8A4600 } /* Name.Decorator */ -.codehilite .ni { color: #0550AE } /* Name.Entity */ -.codehilite .ne { color: #8250DF } /* Name.Exception */ -.codehilite .nf { color: #0550AE } /* Name.Function */ -.codehilite .nl { color: #8A4600 } /* Name.Label */ -.codehilite .nn { color: #24292F } /* Name.Namespace */ -.codehilite .nx { color: #8250DF } /* Name.Other */ -.codehilite .py { color: #0550AE } /* Name.Property */ -.codehilite .nt { color: #0550AE } /* Name.Tag */ -.codehilite .nv { color: #8A4600 } /* Name.Variable */ -.codehilite .ow { color: #8250DF } /* Operator.Word */ -.codehilite .pm { color: #24292F } /* Punctuation.Marker */ -.codehilite .w { color: #24292F } /* Text.Whitespace */ -.codehilite .mb { color: #8A4600 } /* Literal.Number.Bin */ -.codehilite .mf { color: #8A4600 } /* Literal.Number.Float */ -.codehilite .mh { color: #8A4600 } /* Literal.Number.Hex */ -.codehilite .mi { color: #8A4600 } /* Literal.Number.Integer */ -.codehilite .mo { color: #8A4600 } /* Literal.Number.Oct */ -.codehilite .sa { color: #0550AE } /* Literal.String.Affix */ -.codehilite .sb { color: #0550AE } /* Literal.String.Backtick */ -.codehilite .sc { color: #0550AE } /* Literal.String.Char */ -.codehilite .dl { color: #0550AE } /* Literal.String.Delimiter */ -.codehilite .sd { color: #0550AE } /* Literal.String.Doc */ -.codehilite .s2 { color: #0550AE } /* Literal.String.Double */ -.codehilite .se { color: #0550AE } /* Literal.String.Escape */ -.codehilite .sh { color: #0550AE } /* Literal.String.Heredoc */ -.codehilite .si { color: #0550AE } /* Literal.String.Interpol */ -.codehilite .sx { color: #0550AE } /* Literal.String.Other */ -.codehilite .sr { color: #0550AE } /* Literal.String.Regex */ -.codehilite .s1 { color: #0550AE } /* Literal.String.Single */ -.codehilite .ss { color: #0550AE } /* Literal.String.Symbol */ -.codehilite .bp { color: #8A4600 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #0550AE } /* Name.Function.Magic */ -.codehilite .vc { color: #8A4600 } /* Name.Variable.Class */ -.codehilite .vg { color: #8A4600 } /* Name.Variable.Global */ -.codehilite .vi { color: #8A4600 } /* Name.Variable.Instance */ -.codehilite .vm { color: #8A4600 } /* Name.Variable.Magic */ -.codehilite .il { color: #8A4600 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/github-light-high-contrast.css b/site/css/pygments/github-light-high-contrast.css deleted file mode 100644 index 9b50356..0000000 --- a/site/css/pygments/github-light-high-contrast.css +++ /dev/null @@ -1,77 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #0969da4a } -.codehilite { background: #ffffff; color: #24292F } -.codehilite .c { color: #66707B } /* Comment */ -.codehilite .err { color: #A0111F } /* Error */ -.codehilite .k { color: #A0111F } /* Keyword */ -.codehilite .l { color: #702C00 } /* Literal */ -.codehilite .n { color: #622CBC } /* Name */ -.codehilite .o { color: #024C1A } /* Operator */ -.codehilite .p { color: #24292F } /* Punctuation */ -.codehilite .ch { color: #66707B } /* Comment.Hashbang */ -.codehilite .cm { color: #66707B } /* Comment.Multiline */ -.codehilite .cp { color: #66707B } /* Comment.Preproc */ -.codehilite .cpf { color: #66707B } /* Comment.PreprocFile */ -.codehilite .c1 { color: #66707B } /* Comment.Single */ -.codehilite .cs { color: #66707B } /* Comment.Special */ -.codehilite .gd { color: #023B95 } /* Generic.Deleted */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .gr { color: #A0111F } /* Generic.Error */ -.codehilite .gh { color: #023B95 } /* Generic.Heading */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #023B95 } /* Generic.Subheading */ -.codehilite .kc { color: #023B95 } /* Keyword.Constant */ -.codehilite .kd { color: #A0111F } /* Keyword.Declaration */ -.codehilite .kn { color: #A0111F } /* Keyword.Namespace */ -.codehilite .kp { color: #A0111F } /* Keyword.Pseudo */ -.codehilite .kr { color: #A0111F } /* Keyword.Reserved */ -.codehilite .kt { color: #A0111F } /* Keyword.Type */ -.codehilite .ld { color: #702C00 } /* Literal.Date */ -.codehilite .m { color: #702C00 } /* Literal.Number */ -.codehilite .s { color: #023B95 } /* Literal.String */ -.codehilite .na { color: #702C00 } /* Name.Attribute */ -.codehilite .nb { color: #702C00 } /* Name.Builtin */ -.codehilite .nc { color: #023B95 } /* Name.Class */ -.codehilite .no { color: #023B95 } /* Name.Constant */ -.codehilite .nd { color: #702C00 } /* Name.Decorator */ -.codehilite .ni { color: #024C1A } /* Name.Entity */ -.codehilite .ne { color: #622CBC } /* Name.Exception */ -.codehilite .nf { color: #023B95 } /* Name.Function */ -.codehilite .nl { color: #702C00 } /* Name.Label */ -.codehilite .nn { color: #24292F } /* Name.Namespace */ -.codehilite .nx { color: #622CBC } /* Name.Other */ -.codehilite .py { color: #023B95 } /* Name.Property */ -.codehilite .nt { color: #024C1A } /* Name.Tag */ -.codehilite .nv { color: #702C00 } /* Name.Variable */ -.codehilite .ow { color: #622CBC } /* Operator.Word */ -.codehilite .pm { color: #24292F } /* Punctuation.Marker */ -.codehilite .w { color: #24292F } /* Text.Whitespace */ -.codehilite .mb { color: #702C00 } /* Literal.Number.Bin */ -.codehilite .mf { color: #702C00 } /* Literal.Number.Float */ -.codehilite .mh { color: #702C00 } /* Literal.Number.Hex */ -.codehilite .mi { color: #702C00 } /* Literal.Number.Integer */ -.codehilite .mo { color: #702C00 } /* Literal.Number.Oct */ -.codehilite .sa { color: #023B95 } /* Literal.String.Affix */ -.codehilite .sb { color: #023B95 } /* Literal.String.Backtick */ -.codehilite .sc { color: #023B95 } /* Literal.String.Char */ -.codehilite .dl { color: #023B95 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #023B95 } /* Literal.String.Doc */ -.codehilite .s2 { color: #023B95 } /* Literal.String.Double */ -.codehilite .se { color: #023B95 } /* Literal.String.Escape */ -.codehilite .sh { color: #023B95 } /* Literal.String.Heredoc */ -.codehilite .si { color: #023B95 } /* Literal.String.Interpol */ -.codehilite .sx { color: #023B95 } /* Literal.String.Other */ -.codehilite .sr { color: #023B95 } /* Literal.String.Regex */ -.codehilite .s1 { color: #023B95 } /* Literal.String.Single */ -.codehilite .ss { color: #023B95 } /* Literal.String.Symbol */ -.codehilite .bp { color: #702C00 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #023B95 } /* Name.Function.Magic */ -.codehilite .vc { color: #702C00 } /* Name.Variable.Class */ -.codehilite .vg { color: #702C00 } /* Name.Variable.Global */ -.codehilite .vi { color: #702C00 } /* Name.Variable.Instance */ -.codehilite .vm { color: #702C00 } /* Name.Variable.Magic */ -.codehilite .il { color: #702C00 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/github-light.css b/site/css/pygments/github-light.css deleted file mode 100644 index a7598a8..0000000 --- a/site/css/pygments/github-light.css +++ /dev/null @@ -1,77 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #0969da4a } -.codehilite { background: #ffffff; color: #24292F } -.codehilite .c { color: #6E7781 } /* Comment */ -.codehilite .err { color: #CF222E } /* Error */ -.codehilite .k { color: #CF222E } /* Keyword */ -.codehilite .l { color: #953800 } /* Literal */ -.codehilite .n { color: #8250DF } /* Name */ -.codehilite .o { color: #116329 } /* Operator */ -.codehilite .p { color: #24292F } /* Punctuation */ -.codehilite .ch { color: #6E7781 } /* Comment.Hashbang */ -.codehilite .cm { color: #6E7781 } /* Comment.Multiline */ -.codehilite .cp { color: #6E7781 } /* Comment.Preproc */ -.codehilite .cpf { color: #6E7781 } /* Comment.PreprocFile */ -.codehilite .c1 { color: #6E7781 } /* Comment.Single */ -.codehilite .cs { color: #6E7781 } /* Comment.Special */ -.codehilite .gd { color: #0550AE } /* Generic.Deleted */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .gr { color: #CF222E } /* Generic.Error */ -.codehilite .gh { color: #0550AE } /* Generic.Heading */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #0550AE } /* Generic.Subheading */ -.codehilite .kc { color: #0550AE } /* Keyword.Constant */ -.codehilite .kd { color: #CF222E } /* Keyword.Declaration */ -.codehilite .kn { color: #CF222E } /* Keyword.Namespace */ -.codehilite .kp { color: #CF222E } /* Keyword.Pseudo */ -.codehilite .kr { color: #CF222E } /* Keyword.Reserved */ -.codehilite .kt { color: #CF222E } /* Keyword.Type */ -.codehilite .ld { color: #953800 } /* Literal.Date */ -.codehilite .m { color: #953800 } /* Literal.Number */ -.codehilite .s { color: #0550AE } /* Literal.String */ -.codehilite .na { color: #953800 } /* Name.Attribute */ -.codehilite .nb { color: #953800 } /* Name.Builtin */ -.codehilite .nc { color: #0550AE } /* Name.Class */ -.codehilite .no { color: #0550AE } /* Name.Constant */ -.codehilite .nd { color: #953800 } /* Name.Decorator */ -.codehilite .ni { color: #116329 } /* Name.Entity */ -.codehilite .ne { color: #8250DF } /* Name.Exception */ -.codehilite .nf { color: #0550AE } /* Name.Function */ -.codehilite .nl { color: #953800 } /* Name.Label */ -.codehilite .nn { color: #24292F } /* Name.Namespace */ -.codehilite .nx { color: #8250DF } /* Name.Other */ -.codehilite .py { color: #0550AE } /* Name.Property */ -.codehilite .nt { color: #116329 } /* Name.Tag */ -.codehilite .nv { color: #953800 } /* Name.Variable */ -.codehilite .ow { color: #8250DF } /* Operator.Word */ -.codehilite .pm { color: #24292F } /* Punctuation.Marker */ -.codehilite .w { color: #24292F } /* Text.Whitespace */ -.codehilite .mb { color: #953800 } /* Literal.Number.Bin */ -.codehilite .mf { color: #953800 } /* Literal.Number.Float */ -.codehilite .mh { color: #953800 } /* Literal.Number.Hex */ -.codehilite .mi { color: #953800 } /* Literal.Number.Integer */ -.codehilite .mo { color: #953800 } /* Literal.Number.Oct */ -.codehilite .sa { color: #0550AE } /* Literal.String.Affix */ -.codehilite .sb { color: #0550AE } /* Literal.String.Backtick */ -.codehilite .sc { color: #0550AE } /* Literal.String.Char */ -.codehilite .dl { color: #0550AE } /* Literal.String.Delimiter */ -.codehilite .sd { color: #0550AE } /* Literal.String.Doc */ -.codehilite .s2 { color: #0550AE } /* Literal.String.Double */ -.codehilite .se { color: #0550AE } /* Literal.String.Escape */ -.codehilite .sh { color: #0550AE } /* Literal.String.Heredoc */ -.codehilite .si { color: #0550AE } /* Literal.String.Interpol */ -.codehilite .sx { color: #0550AE } /* Literal.String.Other */ -.codehilite .sr { color: #0550AE } /* Literal.String.Regex */ -.codehilite .s1 { color: #0550AE } /* Literal.String.Single */ -.codehilite .ss { color: #0550AE } /* Literal.String.Symbol */ -.codehilite .bp { color: #953800 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #0550AE } /* Name.Function.Magic */ -.codehilite .vc { color: #953800 } /* Name.Variable.Class */ -.codehilite .vg { color: #953800 } /* Name.Variable.Global */ -.codehilite .vi { color: #953800 } /* Name.Variable.Instance */ -.codehilite .vm { color: #953800 } /* Name.Variable.Magic */ -.codehilite .il { color: #953800 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/gotthard-dark.css b/site/css/pygments/gotthard-dark.css deleted file mode 100644 index eca6b01..0000000 --- a/site/css/pygments/gotthard-dark.css +++ /dev/null @@ -1,75 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #4c4b4be8 } -.codehilite { background: #000000; color: #F5F5F5 } -.codehilite .c { color: #B19DB4 } /* Comment */ -.codehilite .err { color: #AB6369 } /* Error */ -.codehilite .k { color: #B19DB4 } /* Keyword */ -.codehilite .l { color: #B19DB4 } /* Literal */ -.codehilite .n { color: #F5F5F5 } /* Name */ -.codehilite .o { color: #6F98B3 } /* Operator */ -.codehilite .p { color: #F5F5F5 } /* Punctuation */ -.codehilite .ch { color: #B19DB4 } /* Comment.Hashbang */ -.codehilite .cm { color: #B19DB4 } /* Comment.Multiline */ -.codehilite .cp { color: #B19DB4 } /* Comment.Preproc */ -.codehilite .cpf { color: #B19DB4 } /* Comment.PreprocFile */ -.codehilite .c1 { color: #B19DB4 } /* Comment.Single */ -.codehilite .cs { color: #B19DB4 } /* Comment.Special */ -.codehilite .gd { color: #AB6369 } /* Generic.Deleted */ -.codehilite .gh { color: #81B19B } /* Generic.Heading */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #81B19B } /* Generic.Subheading */ -.codehilite .kc { color: #AB6369 } /* Keyword.Constant */ -.codehilite .kd { color: #B19DB4 } /* Keyword.Declaration */ -.codehilite .kn { color: #B19DB4 } /* Keyword.Namespace */ -.codehilite .kp { color: #B19DB4 } /* Keyword.Pseudo */ -.codehilite .kr { color: #B19DB4 } /* Keyword.Reserved */ -.codehilite .kt { color: #81B19B } /* Keyword.Type */ -.codehilite .ld { color: #B19DB4 } /* Literal.Date */ -.codehilite .m { color: #AB6369 } /* Literal.Number */ -.codehilite .s { color: #81B19B } /* Literal.String */ -.codehilite .na { color: #B19DB4 } /* Name.Attribute */ -.codehilite .nb { color: #81B19B } /* Name.Builtin */ -.codehilite .nc { color: #CAAB6D } /* Name.Class */ -.codehilite .no { color: #AB6369 } /* Name.Constant */ -.codehilite .nd { color: #81B19B } /* Name.Decorator */ -.codehilite .ni { color: #81B19B } /* Name.Entity */ -.codehilite .ne { color: #AB6369 } /* Name.Exception */ -.codehilite .nf { color: #B19DB4 } /* Name.Function */ -.codehilite .nl { color: #81B19B } /* Name.Label */ -.codehilite .nn { color: #CAAB6D } /* Name.Namespace */ -.codehilite .nx { color: #F5F5F5 } /* Name.Other */ -.codehilite .py { color: #B19DB4 } /* Name.Property */ -.codehilite .nt { color: #AB6369 } /* Name.Tag */ -.codehilite .nv { color: #F5F5F5 } /* Name.Variable */ -.codehilite .ow { color: #B19DB4 } /* Operator.Word */ -.codehilite .pm { color: #F5F5F5 } /* Punctuation.Marker */ -.codehilite .w { color: #F5F5F5 } /* Text.Whitespace */ -.codehilite .mb { color: #AB6369 } /* Literal.Number.Bin */ -.codehilite .mf { color: #AB6369 } /* Literal.Number.Float */ -.codehilite .mh { color: #AB6369 } /* Literal.Number.Hex */ -.codehilite .mi { color: #AB6369 } /* Literal.Number.Integer */ -.codehilite .mo { color: #AB6369 } /* Literal.Number.Oct */ -.codehilite .sa { color: #81B19B } /* Literal.String.Affix */ -.codehilite .sb { color: #CAAB6D } /* Literal.String.Backtick */ -.codehilite .sc { color: #81B19B } /* Literal.String.Char */ -.codehilite .dl { color: #81B19B } /* Literal.String.Delimiter */ -.codehilite .sd { color: #81B19B } /* Literal.String.Doc */ -.codehilite .s2 { color: #81B19B } /* Literal.String.Double */ -.codehilite .se { color: #6F98B3 } /* Literal.String.Escape */ -.codehilite .sh { color: #81B19B } /* Literal.String.Heredoc */ -.codehilite .si { color: #81B19B } /* Literal.String.Interpol */ -.codehilite .sx { color: #81B19B } /* Literal.String.Other */ -.codehilite .sr { color: #6F98B3 } /* Literal.String.Regex */ -.codehilite .s1 { color: #81B19B } /* Literal.String.Single */ -.codehilite .ss { color: #81B19B } /* Literal.String.Symbol */ -.codehilite .bp { color: #81B19B } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #B19DB4 } /* Name.Function.Magic */ -.codehilite .vc { color: #F5F5F5 } /* Name.Variable.Class */ -.codehilite .vg { color: #F5F5F5 } /* Name.Variable.Global */ -.codehilite .vi { color: #F5F5F5 } /* Name.Variable.Instance */ -.codehilite .vm { color: #F5F5F5 } /* Name.Variable.Magic */ -.codehilite .il { color: #AB6369 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/gotthard-light.css b/site/css/pygments/gotthard-light.css deleted file mode 100644 index 48251eb..0000000 --- a/site/css/pygments/gotthard-light.css +++ /dev/null @@ -1,75 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #E1E1E1 } -.codehilite { background: #F5F5F5; color: #141414 } -.codehilite .c { color: #974EB7 } /* Comment */ -.codehilite .err { color: #9F4E55 } /* Error */ -.codehilite .k { color: #974EB7 } /* Keyword */ -.codehilite .l { color: #974EB7 } /* Literal */ -.codehilite .n { color: #141414 } /* Name */ -.codehilite .o { color: #3D73A9 } /* Operator */ -.codehilite .p { color: #141414 } /* Punctuation */ -.codehilite .ch { color: #974EB7 } /* Comment.Hashbang */ -.codehilite .cm { color: #974EB7 } /* Comment.Multiline */ -.codehilite .cp { color: #974EB7 } /* Comment.Preproc */ -.codehilite .cpf { color: #974EB7 } /* Comment.PreprocFile */ -.codehilite .c1 { color: #974EB7 } /* Comment.Single */ -.codehilite .cs { color: #974EB7 } /* Comment.Special */ -.codehilite .gd { color: #9F4E55 } /* Generic.Deleted */ -.codehilite .gh { color: #437A6B } /* Generic.Heading */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #437A6B } /* Generic.Subheading */ -.codehilite .kc { color: #9F4E55 } /* Keyword.Constant */ -.codehilite .kd { color: #974EB7 } /* Keyword.Declaration */ -.codehilite .kn { color: #974EB7 } /* Keyword.Namespace */ -.codehilite .kp { color: #974EB7 } /* Keyword.Pseudo */ -.codehilite .kr { color: #974EB7 } /* Keyword.Reserved */ -.codehilite .kt { color: #437A6B } /* Keyword.Type */ -.codehilite .ld { color: #974EB7 } /* Literal.Date */ -.codehilite .m { color: #9F4E55 } /* Literal.Number */ -.codehilite .s { color: #437A6B } /* Literal.String */ -.codehilite .na { color: #974EB7 } /* Name.Attribute */ -.codehilite .nb { color: #437A6B } /* Name.Builtin */ -.codehilite .nc { color: #98661B } /* Name.Class */ -.codehilite .no { color: #9F4E55 } /* Name.Constant */ -.codehilite .nd { color: #437A6B } /* Name.Decorator */ -.codehilite .ni { color: #437A6B } /* Name.Entity */ -.codehilite .ne { color: #9F4E55 } /* Name.Exception */ -.codehilite .nf { color: #974EB7 } /* Name.Function */ -.codehilite .nl { color: #437A6B } /* Name.Label */ -.codehilite .nn { color: #98661B } /* Name.Namespace */ -.codehilite .nx { color: #141414 } /* Name.Other */ -.codehilite .py { color: #974EB7 } /* Name.Property */ -.codehilite .nt { color: #9F4E55 } /* Name.Tag */ -.codehilite .nv { color: #141414 } /* Name.Variable */ -.codehilite .ow { color: #974EB7 } /* Operator.Word */ -.codehilite .pm { color: #141414 } /* Punctuation.Marker */ -.codehilite .w { color: #141414 } /* Text.Whitespace */ -.codehilite .mb { color: #9F4E55 } /* Literal.Number.Bin */ -.codehilite .mf { color: #9F4E55 } /* Literal.Number.Float */ -.codehilite .mh { color: #9F4E55 } /* Literal.Number.Hex */ -.codehilite .mi { color: #9F4E55 } /* Literal.Number.Integer */ -.codehilite .mo { color: #9F4E55 } /* Literal.Number.Oct */ -.codehilite .sa { color: #437A6B } /* Literal.String.Affix */ -.codehilite .sb { color: #98661B } /* Literal.String.Backtick */ -.codehilite .sc { color: #437A6B } /* Literal.String.Char */ -.codehilite .dl { color: #437A6B } /* Literal.String.Delimiter */ -.codehilite .sd { color: #437A6B } /* Literal.String.Doc */ -.codehilite .s2 { color: #437A6B } /* Literal.String.Double */ -.codehilite .se { color: #3D73A9 } /* Literal.String.Escape */ -.codehilite .sh { color: #437A6B } /* Literal.String.Heredoc */ -.codehilite .si { color: #437A6B } /* Literal.String.Interpol */ -.codehilite .sx { color: #437A6B } /* Literal.String.Other */ -.codehilite .sr { color: #3D73A9 } /* Literal.String.Regex */ -.codehilite .s1 { color: #437A6B } /* Literal.String.Single */ -.codehilite .ss { color: #437A6B } /* Literal.String.Symbol */ -.codehilite .bp { color: #437A6B } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #974EB7 } /* Name.Function.Magic */ -.codehilite .vc { color: #141414 } /* Name.Variable.Class */ -.codehilite .vg { color: #141414 } /* Name.Variable.Global */ -.codehilite .vi { color: #141414 } /* Name.Variable.Instance */ -.codehilite .vm { color: #141414 } /* Name.Variable.Magic */ -.codehilite .il { color: #9F4E55 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/greative.css b/site/css/pygments/greative.css deleted file mode 100644 index 9a6072e..0000000 --- a/site/css/pygments/greative.css +++ /dev/null @@ -1,76 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #473d18 } -.codehilite { background: #010726; color: #A2BFFC } -.codehilite .c { color: #797979 } /* Comment */ -.codehilite .err { color: #A2BFFC } /* Error */ -.codehilite .k { color: #9E86C8 } /* Keyword */ -.codehilite .l { color: #A2BFFC } /* Literal */ -.codehilite .n { color: #A2BFFC } /* Name */ -.codehilite .o { color: #F78C6C } /* Operator */ -.codehilite .p { color: #A2BFFC } /* Punctuation */ -.codehilite .ch { color: #797979 } /* Comment.Hashbang */ -.codehilite .cm { color: #797979 } /* Comment.Multiline */ -.codehilite .cp { color: #797979 } /* Comment.Preproc */ -.codehilite .cpf { color: #797979 } /* Comment.PreprocFile */ -.codehilite .c1 { color: #797979 } /* Comment.Single */ -.codehilite .cs { color: #797979 } /* Comment.Special */ -.codehilite .gd { color: #A2BFFC } /* Generic.Deleted */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .gh { color: #A2BFFC } /* Generic.Heading */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #A2BFFC } /* Generic.Subheading */ -.codehilite .kc { color: #9E86C8 } /* Keyword.Constant */ -.codehilite .kd { color: #9E86C8 } /* Keyword.Declaration */ -.codehilite .kn { color: #9E86C8 } /* Keyword.Namespace */ -.codehilite .kp { color: #9E86C8 } /* Keyword.Pseudo */ -.codehilite .kr { color: #9E86C8 } /* Keyword.Reserved */ -.codehilite .kt { color: #C5E478 } /* Keyword.Type */ -.codehilite .ld { color: #A2BFFC } /* Literal.Date */ -.codehilite .m { color: #9E86C8 } /* Literal.Number */ -.codehilite .s { color: #9E8741 } /* Literal.String */ -.codehilite .na { color: #9E86C8 } /* Name.Attribute */ -.codehilite .nb { color: #C5E478 } /* Name.Builtin */ -.codehilite .nc { color: #F78C6C } /* Name.Class */ -.codehilite .no { color: #A2BFFC } /* Name.Constant */ -.codehilite .nd { color: #9E8741 } /* Name.Decorator */ -.codehilite .ni { color: #9E8741 } /* Name.Entity */ -.codehilite .ne { color: #A2BFFC } /* Name.Exception */ -.codehilite .nf { color: #9E86C8 } /* Name.Function */ -.codehilite .nl { color: #F78C6C } /* Name.Label */ -.codehilite .nn { color: #C5E478 } /* Name.Namespace */ -.codehilite .nx { color: #A2BFFC } /* Name.Other */ -.codehilite .py { color: #A2BFFC } /* Name.Property */ -.codehilite .nt { color: #5CA7E4 } /* Name.Tag */ -.codehilite .nv { color: #C5E478 } /* Name.Variable */ -.codehilite .ow { color: #9E86C8 } /* Operator.Word */ -.codehilite .pm { color: #A2BFFC } /* Punctuation.Marker */ -.codehilite .w { color: #A2BFFC } /* Text.Whitespace */ -.codehilite .mb { color: #9E86C8 } /* Literal.Number.Bin */ -.codehilite .mf { color: #9E86C8 } /* Literal.Number.Float */ -.codehilite .mh { color: #9E86C8 } /* Literal.Number.Hex */ -.codehilite .mi { color: #9E86C8 } /* Literal.Number.Integer */ -.codehilite .mo { color: #9E86C8 } /* Literal.Number.Oct */ -.codehilite .sa { color: #9E8741 } /* Literal.String.Affix */ -.codehilite .sb { color: #9E8741 } /* Literal.String.Backtick */ -.codehilite .sc { color: #9E8741 } /* Literal.String.Char */ -.codehilite .dl { color: #9E8741 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #9E8741 } /* Literal.String.Doc */ -.codehilite .s2 { color: #9E8741 } /* Literal.String.Double */ -.codehilite .se { color: #F78C6C } /* Literal.String.Escape */ -.codehilite .sh { color: #9E8741 } /* Literal.String.Heredoc */ -.codehilite .si { color: #9E8741 } /* Literal.String.Interpol */ -.codehilite .sx { color: #9E8741 } /* Literal.String.Other */ -.codehilite .sr { color: #5CA7E4 } /* Literal.String.Regex */ -.codehilite .s1 { color: #9E8741 } /* Literal.String.Single */ -.codehilite .ss { color: #F78C6C } /* Literal.String.Symbol */ -.codehilite .bp { color: #C5E478 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #9E86C8 } /* Name.Function.Magic */ -.codehilite .vc { color: #C5E478 } /* Name.Variable.Class */ -.codehilite .vg { color: #C5E478 } /* Name.Variable.Global */ -.codehilite .vi { color: #C5E478 } /* Name.Variable.Instance */ -.codehilite .vm { color: #F78C6C } /* Name.Variable.Magic */ -.codehilite .il { color: #9E86C8 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/gruvbox-dark.css b/site/css/pygments/gruvbox-dark.css deleted file mode 100644 index c470c03..0000000 --- a/site/css/pygments/gruvbox-dark.css +++ /dev/null @@ -1,86 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ebdbb2 } -.codehilite { background: #282828; color: #DDD } -.codehilite .c { color: #928374; font-style: italic } /* Comment */ -.codehilite .err { color: #282828; background-color: #FB4934 } /* Error */ -.codehilite .esc { color: #DDD } /* Escape */ -.codehilite .g { color: #DDD } /* Generic */ -.codehilite .k { color: #FB4934 } /* Keyword */ -.codehilite .l { color: #DDD } /* Literal */ -.codehilite .n { color: #DDD } /* Name */ -.codehilite .o { color: #DDD } /* Operator */ -.codehilite .x { color: #DDD } /* Other */ -.codehilite .p { color: #DDD } /* Punctuation */ -.codehilite .ch { color: #928374; font-style: italic } /* Comment.Hashbang */ -.codehilite .cm { color: #928374; font-style: italic } /* Comment.Multiline */ -.codehilite .c-PreProc { color: #8EC07C; font-style: italic } /* Comment.PreProc */ -.codehilite .cp { color: #928374; font-style: italic } /* Comment.Preproc */ -.codehilite .cpf { color: #928374; font-style: italic } /* Comment.PreprocFile */ -.codehilite .c1 { color: #928374; font-style: italic } /* Comment.Single */ -.codehilite .cs { color: #EBDBB2; font-weight: bold; font-style: italic } /* Comment.Special */ -.codehilite .gd { color: #282828; background-color: #FB4934 } /* Generic.Deleted */ -.codehilite .ge { color: #DDD; font-style: italic } /* Generic.Emph */ -.codehilite .ges { color: #DDD; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite .gr { color: #FB4934 } /* Generic.Error */ -.codehilite .gh { color: #EBDBB2; font-weight: bold } /* Generic.Heading */ -.codehilite .gi { color: #282828; background-color: #B8BB26 } /* Generic.Inserted */ -.codehilite .go { color: #F2E5BC } /* Generic.Output */ -.codehilite .gp { color: #A89984 } /* Generic.Prompt */ -.codehilite .gs { color: #DDD; font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #EBDBB2; text-decoration: underline } /* Generic.Subheading */ -.codehilite .gt { color: #FB4934 } /* Generic.Traceback */ -.codehilite .kc { color: #FB4934 } /* Keyword.Constant */ -.codehilite .kd { color: #FB4934 } /* Keyword.Declaration */ -.codehilite .kn { color: #FB4934 } /* Keyword.Namespace */ -.codehilite .kp { color: #FB4934 } /* Keyword.Pseudo */ -.codehilite .kr { color: #FB4934 } /* Keyword.Reserved */ -.codehilite .kt { color: #FB4934 } /* Keyword.Type */ -.codehilite .ld { color: #DDD } /* Literal.Date */ -.codehilite .m { color: #D3869B } /* Literal.Number */ -.codehilite .s { color: #B8BB26 } /* Literal.String */ -.codehilite .na { color: #FABD2F } /* Name.Attribute */ -.codehilite .nb { color: #FE8019 } /* Name.Builtin */ -.codehilite .nc { color: #8EC07C } /* Name.Class */ -.codehilite .no { color: #D3869B } /* Name.Constant */ -.codehilite .nd { color: #FB4934 } /* Name.Decorator */ -.codehilite .ni { color: #DDD } /* Name.Entity */ -.codehilite .ne { color: #FB4934 } /* Name.Exception */ -.codehilite .nf { color: #8EC07C } /* Name.Function */ -.codehilite .nl { color: #DDD } /* Name.Label */ -.codehilite .nn { color: #8EC07C } /* Name.Namespace */ -.codehilite .nx { color: #DDD } /* Name.Other */ -.codehilite .py { color: #DDD } /* Name.Property */ -.codehilite .nt { color: #8EC07C } /* Name.Tag */ -.codehilite .nv { color: #83A598 } /* Name.Variable */ -.codehilite .ow { color: #FB4934 } /* Operator.Word */ -.codehilite .pm { color: #DDD } /* Punctuation.Marker */ -.codehilite .w { color: #DDD } /* Text.Whitespace */ -.codehilite .mb { color: #D3869B } /* Literal.Number.Bin */ -.codehilite .mf { color: #D3869B } /* Literal.Number.Float */ -.codehilite .mh { color: #D3869B } /* Literal.Number.Hex */ -.codehilite .mi { color: #D3869B } /* Literal.Number.Integer */ -.codehilite .mo { color: #D3869B } /* Literal.Number.Oct */ -.codehilite .sa { color: #B8BB26 } /* Literal.String.Affix */ -.codehilite .sb { color: #B8BB26 } /* Literal.String.Backtick */ -.codehilite .sc { color: #B8BB26 } /* Literal.String.Char */ -.codehilite .dl { color: #B8BB26 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #B8BB26 } /* Literal.String.Doc */ -.codehilite .s2 { color: #B8BB26 } /* Literal.String.Double */ -.codehilite .se { color: #FE8019 } /* Literal.String.Escape */ -.codehilite .sh { color: #B8BB26 } /* Literal.String.Heredoc */ -.codehilite .si { color: #B8BB26 } /* Literal.String.Interpol */ -.codehilite .sx { color: #B8BB26 } /* Literal.String.Other */ -.codehilite .sr { color: #B8BB26 } /* Literal.String.Regex */ -.codehilite .s1 { color: #B8BB26 } /* Literal.String.Single */ -.codehilite .ss { color: #B8BB26 } /* Literal.String.Symbol */ -.codehilite .bp { color: #FE8019 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #8EC07C } /* Name.Function.Magic */ -.codehilite .vc { color: #83A598 } /* Name.Variable.Class */ -.codehilite .vg { color: #83A598 } /* Name.Variable.Global */ -.codehilite .vi { color: #83A598 } /* Name.Variable.Instance */ -.codehilite .vm { color: #83A598 } /* Name.Variable.Magic */ -.codehilite .il { color: #D3869B } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/gruvbox-light.css b/site/css/pygments/gruvbox-light.css deleted file mode 100644 index 9e42f15..0000000 --- a/site/css/pygments/gruvbox-light.css +++ /dev/null @@ -1,71 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #3c3836 } -.codehilite { background: #fbf1c7; } -.codehilite .c { color: #928374; font-style: italic } /* Comment */ -.codehilite .err { color: #FBF1C7; background-color: #9D0006 } /* Error */ -.codehilite .k { color: #9D0006 } /* Keyword */ -.codehilite .ch { color: #928374; font-style: italic } /* Comment.Hashbang */ -.codehilite .cm { color: #928374; font-style: italic } /* Comment.Multiline */ -.codehilite .c-PreProc { color: #427B58; font-style: italic } /* Comment.PreProc */ -.codehilite .cp { color: #928374; font-style: italic } /* Comment.Preproc */ -.codehilite .cpf { color: #928374; font-style: italic } /* Comment.PreprocFile */ -.codehilite .c1 { color: #928374; font-style: italic } /* Comment.Single */ -.codehilite .cs { color: #3C3836; font-weight: bold; font-style: italic } /* Comment.Special */ -.codehilite .gd { color: #FBF1C7; background-color: #9D0006 } /* Generic.Deleted */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .gr { color: #9D0006 } /* Generic.Error */ -.codehilite .gh { color: #3C3836; font-weight: bold } /* Generic.Heading */ -.codehilite .gi { color: #FBF1C7; background-color: #79740E } /* Generic.Inserted */ -.codehilite .go { color: #32302F } /* Generic.Output */ -.codehilite .gp { color: #7C6F64 } /* Generic.Prompt */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #3C3836; text-decoration: underline } /* Generic.Subheading */ -.codehilite .gt { color: #9D0006 } /* Generic.Traceback */ -.codehilite .kc { color: #9D0006 } /* Keyword.Constant */ -.codehilite .kd { color: #9D0006 } /* Keyword.Declaration */ -.codehilite .kn { color: #9D0006 } /* Keyword.Namespace */ -.codehilite .kp { color: #9D0006 } /* Keyword.Pseudo */ -.codehilite .kr { color: #9D0006 } /* Keyword.Reserved */ -.codehilite .kt { color: #9D0006 } /* Keyword.Type */ -.codehilite .m { color: #8F3F71 } /* Literal.Number */ -.codehilite .s { color: #79740E } /* Literal.String */ -.codehilite .na { color: #B57614 } /* Name.Attribute */ -.codehilite .nb { color: #AF3A03 } /* Name.Builtin */ -.codehilite .nc { color: #427B58 } /* Name.Class */ -.codehilite .no { color: #8F3F71 } /* Name.Constant */ -.codehilite .nd { color: #9D0006 } /* Name.Decorator */ -.codehilite .ne { color: #9D0006 } /* Name.Exception */ -.codehilite .nf { color: #427B58 } /* Name.Function */ -.codehilite .nn { color: #427B58 } /* Name.Namespace */ -.codehilite .nt { color: #427B58 } /* Name.Tag */ -.codehilite .nv { color: #076678 } /* Name.Variable */ -.codehilite .ow { color: #9D0006 } /* Operator.Word */ -.codehilite .mb { color: #8F3F71 } /* Literal.Number.Bin */ -.codehilite .mf { color: #8F3F71 } /* Literal.Number.Float */ -.codehilite .mh { color: #8F3F71 } /* Literal.Number.Hex */ -.codehilite .mi { color: #8F3F71 } /* Literal.Number.Integer */ -.codehilite .mo { color: #8F3F71 } /* Literal.Number.Oct */ -.codehilite .sa { color: #79740E } /* Literal.String.Affix */ -.codehilite .sb { color: #79740E } /* Literal.String.Backtick */ -.codehilite .sc { color: #79740E } /* Literal.String.Char */ -.codehilite .dl { color: #79740E } /* Literal.String.Delimiter */ -.codehilite .sd { color: #79740E } /* Literal.String.Doc */ -.codehilite .s2 { color: #79740E } /* Literal.String.Double */ -.codehilite .se { color: #AF3A03 } /* Literal.String.Escape */ -.codehilite .sh { color: #79740E } /* Literal.String.Heredoc */ -.codehilite .si { color: #79740E } /* Literal.String.Interpol */ -.codehilite .sx { color: #79740E } /* Literal.String.Other */ -.codehilite .sr { color: #79740E } /* Literal.String.Regex */ -.codehilite .s1 { color: #79740E } /* Literal.String.Single */ -.codehilite .ss { color: #79740E } /* Literal.String.Symbol */ -.codehilite .bp { color: #AF3A03 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #427B58 } /* Name.Function.Magic */ -.codehilite .vc { color: #076678 } /* Name.Variable.Class */ -.codehilite .vg { color: #076678 } /* Name.Variable.Global */ -.codehilite .vi { color: #076678 } /* Name.Variable.Instance */ -.codehilite .vm { color: #076678 } /* Name.Variable.Magic */ -.codehilite .il { color: #8F3F71 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/igor.css b/site/css/pygments/igor.css deleted file mode 100644 index 977927b..0000000 --- a/site/css/pygments/igor.css +++ /dev/null @@ -1,39 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ffffcc } -.codehilite { background: #ffffff; } -.codehilite .c { color: #F00; font-style: italic } /* Comment */ -.codehilite .k { color: #00F } /* Keyword */ -.codehilite .ch { color: #F00; font-style: italic } /* Comment.Hashbang */ -.codehilite .cm { color: #F00; font-style: italic } /* Comment.Multiline */ -.codehilite .cp { color: #F00; font-style: italic } /* Comment.Preproc */ -.codehilite .cpf { color: #F00; font-style: italic } /* Comment.PreprocFile */ -.codehilite .c1 { color: #F00; font-style: italic } /* Comment.Single */ -.codehilite .cs { color: #F00; font-style: italic } /* Comment.Special */ -.codehilite .kc { color: #00F } /* Keyword.Constant */ -.codehilite .kd { color: #00F } /* Keyword.Declaration */ -.codehilite .kn { color: #00F } /* Keyword.Namespace */ -.codehilite .kp { color: #00F } /* Keyword.Pseudo */ -.codehilite .kr { color: #00F } /* Keyword.Reserved */ -.codehilite .kt { color: #00F } /* Keyword.Type */ -.codehilite .s { color: #009C00 } /* Literal.String */ -.codehilite .nc { color: #007575 } /* Name.Class */ -.codehilite .nd { color: #CC00A3 } /* Name.Decorator */ -.codehilite .nf { color: #C34E00 } /* Name.Function */ -.codehilite .sa { color: #009C00 } /* Literal.String.Affix */ -.codehilite .sb { color: #009C00 } /* Literal.String.Backtick */ -.codehilite .sc { color: #009C00 } /* Literal.String.Char */ -.codehilite .dl { color: #009C00 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #009C00 } /* Literal.String.Doc */ -.codehilite .s2 { color: #009C00 } /* Literal.String.Double */ -.codehilite .se { color: #009C00 } /* Literal.String.Escape */ -.codehilite .sh { color: #009C00 } /* Literal.String.Heredoc */ -.codehilite .si { color: #009C00 } /* Literal.String.Interpol */ -.codehilite .sx { color: #009C00 } /* Literal.String.Other */ -.codehilite .sr { color: #009C00 } /* Literal.String.Regex */ -.codehilite .s1 { color: #009C00 } /* Literal.String.Single */ -.codehilite .ss { color: #009C00 } /* Literal.String.Symbol */ -.codehilite .fm { color: #C34E00 } /* Name.Function.Magic */ \ No newline at end of file diff --git a/site/css/pygments/inkpot.css b/site/css/pygments/inkpot.css deleted file mode 100644 index 90e3dd2..0000000 --- a/site/css/pygments/inkpot.css +++ /dev/null @@ -1,81 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ffffcc } -.codehilite { background: #1e1e27; color: #CFBFAD } -.codehilite .c { color: #CD8B00 } /* Comment */ -.codehilite .err { color: #FFF; background-color: #6E2E2E } /* Error */ -.codehilite .k { color: #808BED } /* Keyword */ -.codehilite .n { color: #CFBFAD } /* Name */ -.codehilite .o { color: #666 } /* Operator */ -.codehilite .x { color: #CFBFAD } /* Other */ -.codehilite .p { color: #CFBFAD } /* Punctuation */ -.codehilite .ch { color: #CD8B00 } /* Comment.Hashbang */ -.codehilite .cm { color: #CD8B00 } /* Comment.Multiline */ -.codehilite .cp { color: #409090 } /* Comment.Preproc */ -.codehilite .cpf { color: #FFCD8B; background-color: #404040 } /* Comment.PreprocFile */ -.codehilite .c1 { color: #CD8B00 } /* Comment.Single */ -.codehilite .cs { color: #808BED } /* Comment.Special */ -.codehilite .gd { color: #A00000 } /* Generic.Deleted */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite .gr { color: #F00 } /* Generic.Error */ -.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.codehilite .gi { color: #00A000 } /* Generic.Inserted */ -.codehilite .go { color: #888 } /* Generic.Output */ -.codehilite .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.codehilite .gt { color: #04D } /* Generic.Traceback */ -.codehilite .kc { color: #808BED } /* Keyword.Constant */ -.codehilite .kd { color: #808BED } /* Keyword.Declaration */ -.codehilite .kn { color: #808BED } /* Keyword.Namespace */ -.codehilite .kp { color: #808BED } /* Keyword.Pseudo */ -.codehilite .kr { color: #808BED } /* Keyword.Reserved */ -.codehilite .kt { color: #FF8BFF } /* Keyword.Type */ -.codehilite .m { color: #F0AD6D } /* Literal.Number */ -.codehilite .s { color: #FFCD8B; background-color: #404040 } /* Literal.String */ -.codehilite .na { color: #CFBFAD } /* Name.Attribute */ -.codehilite .nb { color: #808BED } /* Name.Builtin */ -.codehilite .nc { color: #FF8BFF } /* Name.Class */ -.codehilite .no { color: #409090 } /* Name.Constant */ -.codehilite .nd { color: #409090 } /* Name.Decorator */ -.codehilite .ni { color: #CFBFAD } /* Name.Entity */ -.codehilite .ne { color: #F00 } /* Name.Exception */ -.codehilite .nf { color: #C080D0 } /* Name.Function */ -.codehilite .nl { color: #808BED } /* Name.Label */ -.codehilite .nn { color: #F00 } /* Name.Namespace */ -.codehilite .nx { color: #CFBFAD } /* Name.Other */ -.codehilite .py { color: #CFBFAD } /* Name.Property */ -.codehilite .nt { color: #CFBFAD } /* Name.Tag */ -.codehilite .nv { color: #CFBFAD } /* Name.Variable */ -.codehilite .ow { color: #666 } /* Operator.Word */ -.codehilite .pm { color: #CFBFAD } /* Punctuation.Marker */ -.codehilite .w { color: #434357 } /* Text.Whitespace */ -.codehilite .mb { color: #F0AD6D } /* Literal.Number.Bin */ -.codehilite .mf { color: #F0AD6D } /* Literal.Number.Float */ -.codehilite .mh { color: #F0AD6D } /* Literal.Number.Hex */ -.codehilite .mi { color: #F0AD6D } /* Literal.Number.Integer */ -.codehilite .mo { color: #F0AD6D } /* Literal.Number.Oct */ -.codehilite .sa { color: #FFCD8B; background-color: #404040 } /* Literal.String.Affix */ -.codehilite .sb { color: #FFCD8B; background-color: #404040 } /* Literal.String.Backtick */ -.codehilite .sc { color: #FFCD8B; background-color: #404040 } /* Literal.String.Char */ -.codehilite .dl { color: #FFCD8B; background-color: #404040 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #808BED; background-color: #404040 } /* Literal.String.Doc */ -.codehilite .s2 { color: #FFCD8B; background-color: #404040 } /* Literal.String.Double */ -.codehilite .se { color: #FFCD8B; background-color: #404040 } /* Literal.String.Escape */ -.codehilite .sh { color: #FFCD8B; background-color: #404040 } /* Literal.String.Heredoc */ -.codehilite .si { color: #FFCD8B; background-color: #404040 } /* Literal.String.Interpol */ -.codehilite .sx { color: #FFCD8B; background-color: #404040 } /* Literal.String.Other */ -.codehilite .sr { color: #FFCD8B; background-color: #404040 } /* Literal.String.Regex */ -.codehilite .s1 { color: #FFCD8B; background-color: #404040 } /* Literal.String.Single */ -.codehilite .ss { color: #FFCD8B; background-color: #404040 } /* Literal.String.Symbol */ -.codehilite .bp { color: #FF0 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #C080D0 } /* Name.Function.Magic */ -.codehilite .vc { color: #CFBFAD } /* Name.Variable.Class */ -.codehilite .vg { color: #CFBFAD } /* Name.Variable.Global */ -.codehilite .vi { color: #CFBFAD } /* Name.Variable.Instance */ -.codehilite .vm { color: #CFBFAD } /* Name.Variable.Magic */ -.codehilite .il { color: #F0AD6D } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/lightbulb.css b/site/css/pygments/lightbulb.css deleted file mode 100644 index 9d86ef0..0000000 --- a/site/css/pygments/lightbulb.css +++ /dev/null @@ -1,85 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: #3c4354; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: #3c4354; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #3c4354; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #3c4354; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #6e7681 } -.codehilite { background: #1d2331; color: #D4D2C8 } -.codehilite .c { color: #7E8AA1 } /* Comment */ -.codehilite .err { color: #F88F7F } /* Error */ -.codehilite .esc { color: #D4D2C8 } /* Escape */ -.codehilite .g { color: #D4D2C8 } /* Generic */ -.codehilite .k { color: #FFAD66 } /* Keyword */ -.codehilite .l { color: #D5FF80 } /* Literal */ -.codehilite .n { color: #D4D2C8 } /* Name */ -.codehilite .o { color: #FFAD66 } /* Operator */ -.codehilite .x { color: #D4D2C8 } /* Other */ -.codehilite .p { color: #D4D2C8 } /* Punctuation */ -.codehilite .ch { color: #F88F7F; font-style: italic } /* Comment.Hashbang */ -.codehilite .cm { color: #7E8AA1 } /* Comment.Multiline */ -.codehilite .cp { color: #FFAD66; font-weight: bold } /* Comment.Preproc */ -.codehilite .cpf { color: #7E8AA1 } /* Comment.PreprocFile */ -.codehilite .c1 { color: #7E8AA1 } /* Comment.Single */ -.codehilite .cs { color: #7E8AA1; font-style: italic } /* Comment.Special */ -.codehilite .gd { color: #F88F7F; background-color: #3D1E20 } /* Generic.Deleted */ -.codehilite .ge { color: #D4D2C8; font-style: italic } /* Generic.Emph */ -.codehilite .ges { color: #D4D2C8 } /* Generic.EmphStrong */ -.codehilite .gr { color: #F88F7F } /* Generic.Error */ -.codehilite .gh { color: #D4D2C8 } /* Generic.Heading */ -.codehilite .gi { color: #6AD4AF; background-color: #19362C } /* Generic.Inserted */ -.codehilite .go { color: #7E8AA1 } /* Generic.Output */ -.codehilite .gp { color: #D4D2C8 } /* Generic.Prompt */ -.codehilite .gs { color: #D4D2C8; font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #D4D2C8 } /* Generic.Subheading */ -.codehilite .gt { color: #F88F7F } /* Generic.Traceback */ -.codehilite .kc { color: #FFAD66 } /* Keyword.Constant */ -.codehilite .kd { color: #FFAD66 } /* Keyword.Declaration */ -.codehilite .kn { color: #FFAD66 } /* Keyword.Namespace */ -.codehilite .kp { color: #FFAD66 } /* Keyword.Pseudo */ -.codehilite .kr { color: #FFAD66 } /* Keyword.Reserved */ -.codehilite .kt { color: #73D0FF } /* Keyword.Type */ -.codehilite .ld { color: #D5FF80 } /* Literal.Date */ -.codehilite .m { color: #DFBFFF } /* Literal.Number */ -.codehilite .s { color: #D5FF80 } /* Literal.String */ -.codehilite .na { color: #FFD173 } /* Name.Attribute */ -.codehilite .nb { color: #FFD173 } /* Name.Builtin */ -.codehilite .nc { color: #73D0FF } /* Name.Class */ -.codehilite .no { color: #FFD173 } /* Name.Constant */ -.codehilite .nd { color: #7E8AA1; font-weight: bold; font-style: italic } /* Name.Decorator */ -.codehilite .ni { color: #95E6CB } /* Name.Entity */ -.codehilite .ne { color: #73D0FF } /* Name.Exception */ -.codehilite .nf { color: #FFD173 } /* Name.Function */ -.codehilite .nl { color: #D4D2C8 } /* Name.Label */ -.codehilite .nn { color: #D4D2C8 } /* Name.Namespace */ -.codehilite .nx { color: #D4D2C8 } /* Name.Other */ -.codehilite .py { color: #FFD173 } /* Name.Property */ -.codehilite .nt { color: #5CCFE6 } /* Name.Tag */ -.codehilite .nv { color: #D4D2C8 } /* Name.Variable */ -.codehilite .ow { color: #FFAD66 } /* Operator.Word */ -.codehilite .pm { color: #D4D2C8 } /* Punctuation.Marker */ -.codehilite .w { color: #D4D2C8 } /* Text.Whitespace */ -.codehilite .mb { color: #DFBFFF } /* Literal.Number.Bin */ -.codehilite .mf { color: #DFBFFF } /* Literal.Number.Float */ -.codehilite .mh { color: #DFBFFF } /* Literal.Number.Hex */ -.codehilite .mi { color: #DFBFFF } /* Literal.Number.Integer */ -.codehilite .mo { color: #DFBFFF } /* Literal.Number.Oct */ -.codehilite .sa { color: #F29E74 } /* Literal.String.Affix */ -.codehilite .sb { color: #D5FF80 } /* Literal.String.Backtick */ -.codehilite .sc { color: #D5FF80 } /* Literal.String.Char */ -.codehilite .dl { color: #D5FF80 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #7E8AA1 } /* Literal.String.Doc */ -.codehilite .s2 { color: #D5FF80 } /* Literal.String.Double */ -.codehilite .se { color: #95E6CB } /* Literal.String.Escape */ -.codehilite .sh { color: #D5FF80 } /* Literal.String.Heredoc */ -.codehilite .si { color: #95E6CB } /* Literal.String.Interpol */ -.codehilite .sx { color: #95E6CB } /* Literal.String.Other */ -.codehilite .sr { color: #95E6CB } /* Literal.String.Regex */ -.codehilite .s1 { color: #D5FF80 } /* Literal.String.Single */ -.codehilite .ss { color: #DFBFFF } /* Literal.String.Symbol */ -.codehilite .bp { color: #5CCFE6 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #FFD173 } /* Name.Function.Magic */ -.codehilite .vc { color: #D4D2C8 } /* Name.Variable.Class */ -.codehilite .vg { color: #D4D2C8 } /* Name.Variable.Global */ -.codehilite .vi { color: #D4D2C8 } /* Name.Variable.Instance */ -.codehilite .vm { color: #D4D2C8 } /* Name.Variable.Magic */ -.codehilite .il { color: #DFBFFF } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/lilypond.css b/site/css/pygments/lilypond.css deleted file mode 100644 index ff00576..0000000 --- a/site/css/pygments/lilypond.css +++ /dev/null @@ -1,61 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ffffcc } -.codehilite { background: #ffffff; } -.codehilite .-ChordModifier { color: #976806 } /* ChordModifier */ -.codehilite .c { color: #A3AAB2; font-style: italic } /* Comment */ -.codehilite .k { font-weight: bold } /* Keyword */ -.codehilite .ch { color: #A3AAB2; font-style: italic } /* Comment.Hashbang */ -.codehilite .cm { color: #A3AAB2; font-style: italic } /* Comment.Multiline */ -.codehilite .cp { color: #A3AAB2; font-style: italic } /* Comment.Preproc */ -.codehilite .cpf { color: #A3AAB2; font-style: italic } /* Comment.PreprocFile */ -.codehilite .c1 { color: #A3AAB2; font-style: italic } /* Comment.Single */ -.codehilite .cs { color: #A3AAB2; font-style: italic } /* Comment.Special */ -.codehilite .kc { font-weight: bold } /* Keyword.Constant */ -.codehilite .kd { font-weight: bold } /* Keyword.Declaration */ -.codehilite .kn { font-weight: bold } /* Keyword.Namespace */ -.codehilite .kp { font-weight: bold } /* Keyword.Pseudo */ -.codehilite .kr { font-weight: bold } /* Keyword.Reserved */ -.codehilite .kt { font-weight: bold } /* Keyword.Type */ -.codehilite .m { color: #976806 } /* Literal.Number */ -.codehilite .s { color: #AB0909 } /* Literal.String */ -.codehilite .n-BackslashReference { color: #08547A } /* Name.BackslashReference */ -.codehilite .n-Lvalue { color: #08547A } /* Name.Lvalue */ -.codehilite .mb { color: #976806 } /* Literal.Number.Bin */ -.codehilite .mf { color: #976806 } /* Literal.Number.Float */ -.codehilite .mh { color: #976806 } /* Literal.Number.Hex */ -.codehilite .mi { color: #976806 } /* Literal.Number.Integer */ -.codehilite .mo { color: #976806 } /* Literal.Number.Oct */ -.codehilite .sa { color: #AB0909 } /* Literal.String.Affix */ -.codehilite .sb { color: #AB0909 } /* Literal.String.Backtick */ -.codehilite .sc { color: #AB0909 } /* Literal.String.Char */ -.codehilite .dl { color: #AB0909 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #AB0909 } /* Literal.String.Doc */ -.codehilite .s2 { color: #AB0909 } /* Literal.String.Double */ -.codehilite .se { color: #C46C6C } /* Literal.String.Escape */ -.codehilite .sh { color: #AB0909 } /* Literal.String.Heredoc */ -.codehilite .si { color: #AB0909 } /* Literal.String.Interpol */ -.codehilite .sx { color: #AB0909 } /* Literal.String.Other */ -.codehilite .sr { color: #AB0909 } /* Literal.String.Regex */ -.codehilite .s1 { color: #AB0909 } /* Literal.String.Single */ -.codehilite .nb-Articulation { color: #68175A } /* Name.Builtin.Articulation */ -.codehilite .nb-Clef { color: #08547A; font-weight: bold } /* Name.Builtin.Clef */ -.codehilite .nb-Context { color: #038B8B; font-weight: bold } /* Name.Builtin.Context */ -.codehilite .nb-ContextProperty { color: #038B8B } /* Name.Builtin.ContextProperty */ -.codehilite .nb-Dynamic { color: #68175A } /* Name.Builtin.Dynamic */ -.codehilite .nb-Grob { color: #0C7441; font-weight: bold } /* Name.Builtin.Grob */ -.codehilite .nb-GrobProperty { color: #0C7441 } /* Name.Builtin.GrobProperty */ -.codehilite .nb-HeaderVariable { color: #6C5A05; font-weight: bold } /* Name.Builtin.HeaderVariable */ -.codehilite .nb-MarkupCommand { color: #831E71; font-weight: bold } /* Name.Builtin.MarkupCommand */ -.codehilite .nb-MusicCommand { color: #08547A; font-weight: bold } /* Name.Builtin.MusicCommand */ -.codehilite .nb-MusicFunction { color: #08547A; font-weight: bold } /* Name.Builtin.MusicFunction */ -.codehilite .nb-PaperVariable { color: #6C5A05; font-weight: bold } /* Name.Builtin.PaperVariable */ -.codehilite .nb-RepeatType { color: #08547A } /* Name.Builtin.RepeatType */ -.codehilite .nb-Scale { color: #08547A; font-weight: bold } /* Name.Builtin.Scale */ -.codehilite .nb-SchemeBuiltin { font-weight: bold } /* Name.Builtin.SchemeBuiltin */ -.codehilite .nb-SchemeFunction { color: #A83401; font-weight: bold } /* Name.Builtin.SchemeFunction */ -.codehilite .nb-Translator { color: #6200A4; font-weight: bold } /* Name.Builtin.Translator */ -.codehilite .il { color: #976806 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/lovelace.css b/site/css/pygments/lovelace.css deleted file mode 100644 index 22fe2e4..0000000 --- a/site/css/pygments/lovelace.css +++ /dev/null @@ -1,77 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ffffcc } -.codehilite { background: #ffffff; } -.codehilite .c { color: #888; font-style: italic } /* Comment */ -.codehilite .err { background-color: #A848A8 } /* Error */ -.codehilite .k { color: #2838B0 } /* Keyword */ -.codehilite .o { color: #666 } /* Operator */ -.codehilite .p { color: #888 } /* Punctuation */ -.codehilite .ch { color: #287088; font-style: italic } /* Comment.Hashbang */ -.codehilite .cm { color: #888; font-style: italic } /* Comment.Multiline */ -.codehilite .cp { color: #289870 } /* Comment.Preproc */ -.codehilite .cpf { color: #888; font-style: italic } /* Comment.PreprocFile */ -.codehilite .c1 { color: #888; font-style: italic } /* Comment.Single */ -.codehilite .cs { color: #888; font-style: italic } /* Comment.Special */ -.codehilite .gd { color: #C02828 } /* Generic.Deleted */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite .gr { color: #C02828 } /* Generic.Error */ -.codehilite .gh { color: #666 } /* Generic.Heading */ -.codehilite .gi { color: #388038 } /* Generic.Inserted */ -.codehilite .go { color: #666 } /* Generic.Output */ -.codehilite .gp { color: #444 } /* Generic.Prompt */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #444 } /* Generic.Subheading */ -.codehilite .gt { color: #2838B0 } /* Generic.Traceback */ -.codehilite .kc { color: #444; font-style: italic } /* Keyword.Constant */ -.codehilite .kd { color: #2838B0; font-style: italic } /* Keyword.Declaration */ -.codehilite .kn { color: #2838B0 } /* Keyword.Namespace */ -.codehilite .kp { color: #2838B0 } /* Keyword.Pseudo */ -.codehilite .kr { color: #2838B0 } /* Keyword.Reserved */ -.codehilite .kt { color: #2838B0; font-style: italic } /* Keyword.Type */ -.codehilite .m { color: #444 } /* Literal.Number */ -.codehilite .s { color: #B83838 } /* Literal.String */ -.codehilite .na { color: #388038 } /* Name.Attribute */ -.codehilite .nb { color: #388038 } /* Name.Builtin */ -.codehilite .nc { color: #287088 } /* Name.Class */ -.codehilite .no { color: #B85820 } /* Name.Constant */ -.codehilite .nd { color: #287088 } /* Name.Decorator */ -.codehilite .ni { color: #709030 } /* Name.Entity */ -.codehilite .ne { color: #908828 } /* Name.Exception */ -.codehilite .nf { color: #785840 } /* Name.Function */ -.codehilite .nl { color: #289870 } /* Name.Label */ -.codehilite .nn { color: #289870 } /* Name.Namespace */ -.codehilite .nt { color: #2838B0 } /* Name.Tag */ -.codehilite .nv { color: #B04040 } /* Name.Variable */ -.codehilite .ow { color: #A848A8 } /* Operator.Word */ -.codehilite .pm { color: #888 } /* Punctuation.Marker */ -.codehilite .w { color: #A89028 } /* Text.Whitespace */ -.codehilite .mb { color: #444 } /* Literal.Number.Bin */ -.codehilite .mf { color: #444 } /* Literal.Number.Float */ -.codehilite .mh { color: #444 } /* Literal.Number.Hex */ -.codehilite .mi { color: #444 } /* Literal.Number.Integer */ -.codehilite .mo { color: #444 } /* Literal.Number.Oct */ -.codehilite .sa { color: #444 } /* Literal.String.Affix */ -.codehilite .sb { color: #B83838 } /* Literal.String.Backtick */ -.codehilite .sc { color: #A848A8 } /* Literal.String.Char */ -.codehilite .dl { color: #B85820 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #B85820; font-style: italic } /* Literal.String.Doc */ -.codehilite .s2 { color: #B83838 } /* Literal.String.Double */ -.codehilite .se { color: #709030 } /* Literal.String.Escape */ -.codehilite .sh { color: #B83838 } /* Literal.String.Heredoc */ -.codehilite .si { color: #B83838; text-decoration: underline } /* Literal.String.Interpol */ -.codehilite .sx { color: #A848A8 } /* Literal.String.Other */ -.codehilite .sr { color: #A848A8 } /* Literal.String.Regex */ -.codehilite .s1 { color: #B83838 } /* Literal.String.Single */ -.codehilite .ss { color: #B83838 } /* Literal.String.Symbol */ -.codehilite .bp { color: #388038; font-style: italic } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #B85820 } /* Name.Function.Magic */ -.codehilite .vc { color: #B04040 } /* Name.Variable.Class */ -.codehilite .vg { color: #908828 } /* Name.Variable.Global */ -.codehilite .vi { color: #B04040 } /* Name.Variable.Instance */ -.codehilite .vm { color: #B85820 } /* Name.Variable.Magic */ -.codehilite .il { color: #444 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/manni.css b/site/css/pygments/manni.css deleted file mode 100644 index 463fe62..0000000 --- a/site/css/pygments/manni.css +++ /dev/null @@ -1,75 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ffffcc } -.codehilite { background: #f0f3f3; } -.codehilite .c { color: #09F; font-style: italic } /* Comment */ -.codehilite .err { color: #A00; background-color: #FAA } /* Error */ -.codehilite .k { color: #069; font-weight: bold } /* Keyword */ -.codehilite .o { color: #555 } /* Operator */ -.codehilite .ch { color: #09F; font-style: italic } /* Comment.Hashbang */ -.codehilite .cm { color: #09F; font-style: italic } /* Comment.Multiline */ -.codehilite .cp { color: #099 } /* Comment.Preproc */ -.codehilite .cpf { color: #09F; font-style: italic } /* Comment.PreprocFile */ -.codehilite .c1 { color: #09F; font-style: italic } /* Comment.Single */ -.codehilite .cs { color: #09F; font-weight: bold; font-style: italic } /* Comment.Special */ -.codehilite .gd { background-color: #FCC; border: 1px solid #C00 } /* Generic.Deleted */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite .gr { color: #F00 } /* Generic.Error */ -.codehilite .gh { color: #030; font-weight: bold } /* Generic.Heading */ -.codehilite .gi { background-color: #CFC; border: 1px solid #0C0 } /* Generic.Inserted */ -.codehilite .go { color: #AAA } /* Generic.Output */ -.codehilite .gp { color: #009; font-weight: bold } /* Generic.Prompt */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #030; font-weight: bold } /* Generic.Subheading */ -.codehilite .gt { color: #9C6 } /* Generic.Traceback */ -.codehilite .kc { color: #069; font-weight: bold } /* Keyword.Constant */ -.codehilite .kd { color: #069; font-weight: bold } /* Keyword.Declaration */ -.codehilite .kn { color: #069; font-weight: bold } /* Keyword.Namespace */ -.codehilite .kp { color: #069 } /* Keyword.Pseudo */ -.codehilite .kr { color: #069; font-weight: bold } /* Keyword.Reserved */ -.codehilite .kt { color: #078; font-weight: bold } /* Keyword.Type */ -.codehilite .m { color: #F60 } /* Literal.Number */ -.codehilite .s { color: #C30 } /* Literal.String */ -.codehilite .na { color: #309 } /* Name.Attribute */ -.codehilite .nb { color: #366 } /* Name.Builtin */ -.codehilite .nc { color: #0A8; font-weight: bold } /* Name.Class */ -.codehilite .no { color: #360 } /* Name.Constant */ -.codehilite .nd { color: #99F } /* Name.Decorator */ -.codehilite .ni { color: #999; font-weight: bold } /* Name.Entity */ -.codehilite .ne { color: #C00; font-weight: bold } /* Name.Exception */ -.codehilite .nf { color: #C0F } /* Name.Function */ -.codehilite .nl { color: #99F } /* Name.Label */ -.codehilite .nn { color: #0CF; font-weight: bold } /* Name.Namespace */ -.codehilite .nt { color: #309; font-weight: bold } /* Name.Tag */ -.codehilite .nv { color: #033 } /* Name.Variable */ -.codehilite .ow { color: #000; font-weight: bold } /* Operator.Word */ -.codehilite .w { color: #BBB } /* Text.Whitespace */ -.codehilite .mb { color: #F60 } /* Literal.Number.Bin */ -.codehilite .mf { color: #F60 } /* Literal.Number.Float */ -.codehilite .mh { color: #F60 } /* Literal.Number.Hex */ -.codehilite .mi { color: #F60 } /* Literal.Number.Integer */ -.codehilite .mo { color: #F60 } /* Literal.Number.Oct */ -.codehilite .sa { color: #C30 } /* Literal.String.Affix */ -.codehilite .sb { color: #C30 } /* Literal.String.Backtick */ -.codehilite .sc { color: #C30 } /* Literal.String.Char */ -.codehilite .dl { color: #C30 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #C30; font-style: italic } /* Literal.String.Doc */ -.codehilite .s2 { color: #C30 } /* Literal.String.Double */ -.codehilite .se { color: #C30; font-weight: bold } /* Literal.String.Escape */ -.codehilite .sh { color: #C30 } /* Literal.String.Heredoc */ -.codehilite .si { color: #A00 } /* Literal.String.Interpol */ -.codehilite .sx { color: #C30 } /* Literal.String.Other */ -.codehilite .sr { color: #3AA } /* Literal.String.Regex */ -.codehilite .s1 { color: #C30 } /* Literal.String.Single */ -.codehilite .ss { color: #FC3 } /* Literal.String.Symbol */ -.codehilite .bp { color: #366 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #C0F } /* Name.Function.Magic */ -.codehilite .vc { color: #033 } /* Name.Variable.Class */ -.codehilite .vg { color: #033 } /* Name.Variable.Global */ -.codehilite .vi { color: #033 } /* Name.Variable.Instance */ -.codehilite .vm { color: #033 } /* Name.Variable.Magic */ -.codehilite .il { color: #F60 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/material.css b/site/css/pygments/material.css deleted file mode 100644 index dcaa89d..0000000 --- a/site/css/pygments/material.css +++ /dev/null @@ -1,84 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: #37474F; background-color: #263238; padding-left: 5px; padding-right: 5px; } -span.linenos { color: #37474F; background-color: #263238; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #607A86; background-color: #263238; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #607A86; background-color: #263238; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #2C3B41 } -.codehilite { background: #263238; color: #EFF } -.codehilite .c { color: #546E7A; font-style: italic } /* Comment */ -.codehilite .err { color: #FF5370 } /* Error */ -.codehilite .esc { color: #89DDFF } /* Escape */ -.codehilite .g { color: #EFF } /* Generic */ -.codehilite .k { color: #BB80B3 } /* Keyword */ -.codehilite .l { color: #C3E88D } /* Literal */ -.codehilite .n { color: #EFF } /* Name */ -.codehilite .o { color: #89DDFF } /* Operator */ -.codehilite .p { color: #89DDFF } /* Punctuation */ -.codehilite .ch { color: #546E7A; font-style: italic } /* Comment.Hashbang */ -.codehilite .cm { color: #546E7A; font-style: italic } /* Comment.Multiline */ -.codehilite .cp { color: #546E7A; font-style: italic } /* Comment.Preproc */ -.codehilite .cpf { color: #546E7A; font-style: italic } /* Comment.PreprocFile */ -.codehilite .c1 { color: #546E7A; font-style: italic } /* Comment.Single */ -.codehilite .cs { color: #546E7A; font-style: italic } /* Comment.Special */ -.codehilite .gd { color: #FF5370 } /* Generic.Deleted */ -.codehilite .ge { color: #89DDFF } /* Generic.Emph */ -.codehilite .ges { color: #FFCB6B } /* Generic.EmphStrong */ -.codehilite .gr { color: #FF5370 } /* Generic.Error */ -.codehilite .gh { color: #C3E88D } /* Generic.Heading */ -.codehilite .gi { color: #C3E88D } /* Generic.Inserted */ -.codehilite .go { color: #546E7A } /* Generic.Output */ -.codehilite .gp { color: #FFCB6B } /* Generic.Prompt */ -.codehilite .gs { color: #FF5370 } /* Generic.Strong */ -.codehilite .gu { color: #89DDFF } /* Generic.Subheading */ -.codehilite .gt { color: #FF5370 } /* Generic.Traceback */ -.codehilite .kc { color: #89DDFF } /* Keyword.Constant */ -.codehilite .kd { color: #BB80B3 } /* Keyword.Declaration */ -.codehilite .kn { color: #89DDFF; font-style: italic } /* Keyword.Namespace */ -.codehilite .kp { color: #89DDFF } /* Keyword.Pseudo */ -.codehilite .kr { color: #BB80B3 } /* Keyword.Reserved */ -.codehilite .kt { color: #BB80B3 } /* Keyword.Type */ -.codehilite .ld { color: #C3E88D } /* Literal.Date */ -.codehilite .m { color: #F78C6C } /* Literal.Number */ -.codehilite .s { color: #C3E88D } /* Literal.String */ -.codehilite .na { color: #BB80B3 } /* Name.Attribute */ -.codehilite .nb { color: #82AAFF } /* Name.Builtin */ -.codehilite .nc { color: #FFCB6B } /* Name.Class */ -.codehilite .no { color: #EFF } /* Name.Constant */ -.codehilite .nd { color: #82AAFF } /* Name.Decorator */ -.codehilite .ni { color: #89DDFF } /* Name.Entity */ -.codehilite .ne { color: #FFCB6B } /* Name.Exception */ -.codehilite .nf { color: #82AAFF } /* Name.Function */ -.codehilite .nl { color: #82AAFF } /* Name.Label */ -.codehilite .nn { color: #FFCB6B } /* Name.Namespace */ -.codehilite .nx { color: #EFF } /* Name.Other */ -.codehilite .py { color: #FFCB6B } /* Name.Property */ -.codehilite .nt { color: #FF5370 } /* Name.Tag */ -.codehilite .nv { color: #89DDFF } /* Name.Variable */ -.codehilite .ow { color: #89DDFF; font-style: italic } /* Operator.Word */ -.codehilite .pm { color: #89DDFF } /* Punctuation.Marker */ -.codehilite .w { color: #EFF } /* Text.Whitespace */ -.codehilite .mb { color: #F78C6C } /* Literal.Number.Bin */ -.codehilite .mf { color: #F78C6C } /* Literal.Number.Float */ -.codehilite .mh { color: #F78C6C } /* Literal.Number.Hex */ -.codehilite .mi { color: #F78C6C } /* Literal.Number.Integer */ -.codehilite .mo { color: #F78C6C } /* Literal.Number.Oct */ -.codehilite .sa { color: #BB80B3 } /* Literal.String.Affix */ -.codehilite .sb { color: #C3E88D } /* Literal.String.Backtick */ -.codehilite .sc { color: #C3E88D } /* Literal.String.Char */ -.codehilite .dl { color: #EFF } /* Literal.String.Delimiter */ -.codehilite .sd { color: #546E7A; font-style: italic } /* Literal.String.Doc */ -.codehilite .s2 { color: #C3E88D } /* Literal.String.Double */ -.codehilite .se { color: #EFF } /* Literal.String.Escape */ -.codehilite .sh { color: #C3E88D } /* Literal.String.Heredoc */ -.codehilite .si { color: #89DDFF } /* Literal.String.Interpol */ -.codehilite .sx { color: #C3E88D } /* Literal.String.Other */ -.codehilite .sr { color: #89DDFF } /* Literal.String.Regex */ -.codehilite .s1 { color: #C3E88D } /* Literal.String.Single */ -.codehilite .ss { color: #89DDFF } /* Literal.String.Symbol */ -.codehilite .bp { color: #89DDFF } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #82AAFF } /* Name.Function.Magic */ -.codehilite .vc { color: #89DDFF } /* Name.Variable.Class */ -.codehilite .vg { color: #89DDFF } /* Name.Variable.Global */ -.codehilite .vi { color: #89DDFF } /* Name.Variable.Instance */ -.codehilite .vm { color: #82AAFF } /* Name.Variable.Magic */ -.codehilite .il { color: #F78C6C } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/monokai.css b/site/css/pygments/monokai.css deleted file mode 100644 index 3983d64..0000000 --- a/site/css/pygments/monokai.css +++ /dev/null @@ -1,85 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #49483e } -.codehilite { background: #272822; color: #F8F8F2 } -.codehilite .c { color: #959077 } /* Comment */ -.codehilite .err { color: #ED007E; background-color: #1E0010 } /* Error */ -.codehilite .esc { color: #F8F8F2 } /* Escape */ -.codehilite .g { color: #F8F8F2 } /* Generic */ -.codehilite .k { color: #66D9EF } /* Keyword */ -.codehilite .l { color: #AE81FF } /* Literal */ -.codehilite .n { color: #F8F8F2 } /* Name */ -.codehilite .o { color: #FF4689 } /* Operator */ -.codehilite .x { color: #F8F8F2 } /* Other */ -.codehilite .p { color: #F8F8F2 } /* Punctuation */ -.codehilite .ch { color: #959077 } /* Comment.Hashbang */ -.codehilite .cm { color: #959077 } /* Comment.Multiline */ -.codehilite .cp { color: #959077 } /* Comment.Preproc */ -.codehilite .cpf { color: #959077 } /* Comment.PreprocFile */ -.codehilite .c1 { color: #959077 } /* Comment.Single */ -.codehilite .cs { color: #959077 } /* Comment.Special */ -.codehilite .gd { color: #FF4689 } /* Generic.Deleted */ -.codehilite .ge { color: #F8F8F2; font-style: italic } /* Generic.Emph */ -.codehilite .ges { color: #F8F8F2; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite .gr { color: #F8F8F2 } /* Generic.Error */ -.codehilite .gh { color: #F8F8F2 } /* Generic.Heading */ -.codehilite .gi { color: #A6E22E } /* Generic.Inserted */ -.codehilite .go { color: #66D9EF } /* Generic.Output */ -.codehilite .gp { color: #FF4689; font-weight: bold } /* Generic.Prompt */ -.codehilite .gs { color: #F8F8F2; font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #959077 } /* Generic.Subheading */ -.codehilite .gt { color: #F8F8F2 } /* Generic.Traceback */ -.codehilite .kc { color: #66D9EF } /* Keyword.Constant */ -.codehilite .kd { color: #66D9EF } /* Keyword.Declaration */ -.codehilite .kn { color: #FF4689 } /* Keyword.Namespace */ -.codehilite .kp { color: #66D9EF } /* Keyword.Pseudo */ -.codehilite .kr { color: #66D9EF } /* Keyword.Reserved */ -.codehilite .kt { color: #66D9EF } /* Keyword.Type */ -.codehilite .ld { color: #E6DB74 } /* Literal.Date */ -.codehilite .m { color: #AE81FF } /* Literal.Number */ -.codehilite .s { color: #E6DB74 } /* Literal.String */ -.codehilite .na { color: #A6E22E } /* Name.Attribute */ -.codehilite .nb { color: #F8F8F2 } /* Name.Builtin */ -.codehilite .nc { color: #A6E22E } /* Name.Class */ -.codehilite .no { color: #66D9EF } /* Name.Constant */ -.codehilite .nd { color: #A6E22E } /* Name.Decorator */ -.codehilite .ni { color: #F8F8F2 } /* Name.Entity */ -.codehilite .ne { color: #A6E22E } /* Name.Exception */ -.codehilite .nf { color: #A6E22E } /* Name.Function */ -.codehilite .nl { color: #F8F8F2 } /* Name.Label */ -.codehilite .nn { color: #F8F8F2 } /* Name.Namespace */ -.codehilite .nx { color: #A6E22E } /* Name.Other */ -.codehilite .py { color: #F8F8F2 } /* Name.Property */ -.codehilite .nt { color: #FF4689 } /* Name.Tag */ -.codehilite .nv { color: #F8F8F2 } /* Name.Variable */ -.codehilite .ow { color: #FF4689 } /* Operator.Word */ -.codehilite .pm { color: #F8F8F2 } /* Punctuation.Marker */ -.codehilite .w { color: #F8F8F2 } /* Text.Whitespace */ -.codehilite .mb { color: #AE81FF } /* Literal.Number.Bin */ -.codehilite .mf { color: #AE81FF } /* Literal.Number.Float */ -.codehilite .mh { color: #AE81FF } /* Literal.Number.Hex */ -.codehilite .mi { color: #AE81FF } /* Literal.Number.Integer */ -.codehilite .mo { color: #AE81FF } /* Literal.Number.Oct */ -.codehilite .sa { color: #E6DB74 } /* Literal.String.Affix */ -.codehilite .sb { color: #E6DB74 } /* Literal.String.Backtick */ -.codehilite .sc { color: #E6DB74 } /* Literal.String.Char */ -.codehilite .dl { color: #E6DB74 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #E6DB74 } /* Literal.String.Doc */ -.codehilite .s2 { color: #E6DB74 } /* Literal.String.Double */ -.codehilite .se { color: #AE81FF } /* Literal.String.Escape */ -.codehilite .sh { color: #E6DB74 } /* Literal.String.Heredoc */ -.codehilite .si { color: #E6DB74 } /* Literal.String.Interpol */ -.codehilite .sx { color: #E6DB74 } /* Literal.String.Other */ -.codehilite .sr { color: #E6DB74 } /* Literal.String.Regex */ -.codehilite .s1 { color: #E6DB74 } /* Literal.String.Single */ -.codehilite .ss { color: #E6DB74 } /* Literal.String.Symbol */ -.codehilite .bp { color: #F8F8F2 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #A6E22E } /* Name.Function.Magic */ -.codehilite .vc { color: #F8F8F2 } /* Name.Variable.Class */ -.codehilite .vg { color: #F8F8F2 } /* Name.Variable.Global */ -.codehilite .vi { color: #F8F8F2 } /* Name.Variable.Instance */ -.codehilite .vm { color: #F8F8F2 } /* Name.Variable.Magic */ -.codehilite .il { color: #AE81FF } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/murphy.css b/site/css/pygments/murphy.css deleted file mode 100644 index 9962890..0000000 --- a/site/css/pygments/murphy.css +++ /dev/null @@ -1,75 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ffffcc } -.codehilite { background: #ffffff; } -.codehilite .c { color: #666; font-style: italic } /* Comment */ -.codehilite .err { color: #F00; background-color: #FAA } /* Error */ -.codehilite .k { color: #289; font-weight: bold } /* Keyword */ -.codehilite .o { color: #333 } /* Operator */ -.codehilite .ch { color: #666; font-style: italic } /* Comment.Hashbang */ -.codehilite .cm { color: #666; font-style: italic } /* Comment.Multiline */ -.codehilite .cp { color: #579 } /* Comment.Preproc */ -.codehilite .cpf { color: #666; font-style: italic } /* Comment.PreprocFile */ -.codehilite .c1 { color: #666; font-style: italic } /* Comment.Single */ -.codehilite .cs { color: #C00; font-weight: bold; font-style: italic } /* Comment.Special */ -.codehilite .gd { color: #A00000 } /* Generic.Deleted */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite .gr { color: #F00 } /* Generic.Error */ -.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.codehilite .gi { color: #00A000 } /* Generic.Inserted */ -.codehilite .go { color: #888 } /* Generic.Output */ -.codehilite .gp { color: #C65D09; font-weight: bold } /* Generic.Prompt */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.codehilite .gt { color: #04D } /* Generic.Traceback */ -.codehilite .kc { color: #289; font-weight: bold } /* Keyword.Constant */ -.codehilite .kd { color: #289; font-weight: bold } /* Keyword.Declaration */ -.codehilite .kn { color: #289; font-weight: bold } /* Keyword.Namespace */ -.codehilite .kp { color: #08F; font-weight: bold } /* Keyword.Pseudo */ -.codehilite .kr { color: #289; font-weight: bold } /* Keyword.Reserved */ -.codehilite .kt { color: #66F; font-weight: bold } /* Keyword.Type */ -.codehilite .m { color: #60E; font-weight: bold } /* Literal.Number */ -.codehilite .s { background-color: #E0E0FF } /* Literal.String */ -.codehilite .na { color: #007 } /* Name.Attribute */ -.codehilite .nb { color: #072 } /* Name.Builtin */ -.codehilite .nc { color: #E9E; font-weight: bold } /* Name.Class */ -.codehilite .no { color: #5ED; font-weight: bold } /* Name.Constant */ -.codehilite .nd { color: #555; font-weight: bold } /* Name.Decorator */ -.codehilite .ni { color: #800 } /* Name.Entity */ -.codehilite .ne { color: #F00; font-weight: bold } /* Name.Exception */ -.codehilite .nf { color: #5ED; font-weight: bold } /* Name.Function */ -.codehilite .nl { color: #970; font-weight: bold } /* Name.Label */ -.codehilite .nn { color: #0E84B5; font-weight: bold } /* Name.Namespace */ -.codehilite .nt { color: #070 } /* Name.Tag */ -.codehilite .nv { color: #036 } /* Name.Variable */ -.codehilite .ow { color: #000; font-weight: bold } /* Operator.Word */ -.codehilite .w { color: #BBB } /* Text.Whitespace */ -.codehilite .mb { color: #60E; font-weight: bold } /* Literal.Number.Bin */ -.codehilite .mf { color: #60E; font-weight: bold } /* Literal.Number.Float */ -.codehilite .mh { color: #058; font-weight: bold } /* Literal.Number.Hex */ -.codehilite .mi { color: #66F; font-weight: bold } /* Literal.Number.Integer */ -.codehilite .mo { color: #40E; font-weight: bold } /* Literal.Number.Oct */ -.codehilite .sa { background-color: #E0E0FF } /* Literal.String.Affix */ -.codehilite .sb { background-color: #E0E0FF } /* Literal.String.Backtick */ -.codehilite .sc { color: #88F } /* Literal.String.Char */ -.codehilite .dl { background-color: #E0E0FF } /* Literal.String.Delimiter */ -.codehilite .sd { color: #D42 } /* Literal.String.Doc */ -.codehilite .s2 { background-color: #E0E0FF } /* Literal.String.Double */ -.codehilite .se { color: #666; font-weight: bold; background-color: #E0E0FF } /* Literal.String.Escape */ -.codehilite .sh { background-color: #E0E0FF } /* Literal.String.Heredoc */ -.codehilite .si { background-color: #EEE } /* Literal.String.Interpol */ -.codehilite .sx { color: #F88; background-color: #E0E0FF } /* Literal.String.Other */ -.codehilite .sr { color: #000; background-color: #E0E0FF } /* Literal.String.Regex */ -.codehilite .s1 { background-color: #E0E0FF } /* Literal.String.Single */ -.codehilite .ss { color: #FC8 } /* Literal.String.Symbol */ -.codehilite .bp { color: #072 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #5ED; font-weight: bold } /* Name.Function.Magic */ -.codehilite .vc { color: #CCF } /* Name.Variable.Class */ -.codehilite .vg { color: #F84 } /* Name.Variable.Global */ -.codehilite .vi { color: #AAF } /* Name.Variable.Instance */ -.codehilite .vm { color: #036 } /* Name.Variable.Magic */ -.codehilite .il { color: #66F; font-weight: bold } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/native.css b/site/css/pygments/native.css deleted file mode 100644 index ec84906..0000000 --- a/site/css/pygments/native.css +++ /dev/null @@ -1,85 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #404040 } -.codehilite { background: #202020; color: #D0D0D0 } -.codehilite .c { color: #ABABAB; font-style: italic } /* Comment */ -.codehilite .err { color: #A61717; background-color: #E3D2D2 } /* Error */ -.codehilite .esc { color: #D0D0D0 } /* Escape */ -.codehilite .g { color: #D0D0D0 } /* Generic */ -.codehilite .k { color: #6EBF26; font-weight: bold } /* Keyword */ -.codehilite .l { color: #D0D0D0 } /* Literal */ -.codehilite .n { color: #D0D0D0 } /* Name */ -.codehilite .o { color: #D0D0D0 } /* Operator */ -.codehilite .x { color: #D0D0D0 } /* Other */ -.codehilite .p { color: #D0D0D0 } /* Punctuation */ -.codehilite .ch { color: #ABABAB; font-style: italic } /* Comment.Hashbang */ -.codehilite .cm { color: #ABABAB; font-style: italic } /* Comment.Multiline */ -.codehilite .cp { color: #FF3A3A; font-weight: bold } /* Comment.Preproc */ -.codehilite .cpf { color: #ABABAB; font-style: italic } /* Comment.PreprocFile */ -.codehilite .c1 { color: #ABABAB; font-style: italic } /* Comment.Single */ -.codehilite .cs { color: #E50808; font-weight: bold; background-color: #520000 } /* Comment.Special */ -.codehilite .gd { color: #FF3A3A } /* Generic.Deleted */ -.codehilite .ge { color: #D0D0D0; font-style: italic } /* Generic.Emph */ -.codehilite .ges { color: #D0D0D0; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite .gr { color: #FF3A3A } /* Generic.Error */ -.codehilite .gh { color: #FFF; font-weight: bold } /* Generic.Heading */ -.codehilite .gi { color: #589819 } /* Generic.Inserted */ -.codehilite .go { color: #CCC } /* Generic.Output */ -.codehilite .gp { color: #AAA } /* Generic.Prompt */ -.codehilite .gs { color: #D0D0D0; font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #FFF; text-decoration: underline } /* Generic.Subheading */ -.codehilite .gt { color: #FF3A3A } /* Generic.Traceback */ -.codehilite .kc { color: #6EBF26; font-weight: bold } /* Keyword.Constant */ -.codehilite .kd { color: #6EBF26; font-weight: bold } /* Keyword.Declaration */ -.codehilite .kn { color: #6EBF26; font-weight: bold } /* Keyword.Namespace */ -.codehilite .kp { color: #6EBF26 } /* Keyword.Pseudo */ -.codehilite .kr { color: #6EBF26; font-weight: bold } /* Keyword.Reserved */ -.codehilite .kt { color: #6EBF26; font-weight: bold } /* Keyword.Type */ -.codehilite .ld { color: #D0D0D0 } /* Literal.Date */ -.codehilite .m { color: #51B2FD } /* Literal.Number */ -.codehilite .s { color: #ED9D13 } /* Literal.String */ -.codehilite .na { color: #BBB } /* Name.Attribute */ -.codehilite .nb { color: #2FBCCD } /* Name.Builtin */ -.codehilite .nc { color: #71ADFF; text-decoration: underline } /* Name.Class */ -.codehilite .no { color: #40FFFF } /* Name.Constant */ -.codehilite .nd { color: #FFA500 } /* Name.Decorator */ -.codehilite .ni { color: #D0D0D0 } /* Name.Entity */ -.codehilite .ne { color: #BBB } /* Name.Exception */ -.codehilite .nf { color: #71ADFF } /* Name.Function */ -.codehilite .nl { color: #D0D0D0 } /* Name.Label */ -.codehilite .nn { color: #71ADFF; text-decoration: underline } /* Name.Namespace */ -.codehilite .nx { color: #D0D0D0 } /* Name.Other */ -.codehilite .py { color: #D0D0D0 } /* Name.Property */ -.codehilite .nt { color: #6EBF26; font-weight: bold } /* Name.Tag */ -.codehilite .nv { color: #40FFFF } /* Name.Variable */ -.codehilite .ow { color: #6EBF26; font-weight: bold } /* Operator.Word */ -.codehilite .pm { color: #D0D0D0 } /* Punctuation.Marker */ -.codehilite .w { color: #666 } /* Text.Whitespace */ -.codehilite .mb { color: #51B2FD } /* Literal.Number.Bin */ -.codehilite .mf { color: #51B2FD } /* Literal.Number.Float */ -.codehilite .mh { color: #51B2FD } /* Literal.Number.Hex */ -.codehilite .mi { color: #51B2FD } /* Literal.Number.Integer */ -.codehilite .mo { color: #51B2FD } /* Literal.Number.Oct */ -.codehilite .sa { color: #ED9D13 } /* Literal.String.Affix */ -.codehilite .sb { color: #ED9D13 } /* Literal.String.Backtick */ -.codehilite .sc { color: #ED9D13 } /* Literal.String.Char */ -.codehilite .dl { color: #ED9D13 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #ED9D13 } /* Literal.String.Doc */ -.codehilite .s2 { color: #ED9D13 } /* Literal.String.Double */ -.codehilite .se { color: #ED9D13 } /* Literal.String.Escape */ -.codehilite .sh { color: #ED9D13 } /* Literal.String.Heredoc */ -.codehilite .si { color: #ED9D13 } /* Literal.String.Interpol */ -.codehilite .sx { color: #FFA500 } /* Literal.String.Other */ -.codehilite .sr { color: #ED9D13 } /* Literal.String.Regex */ -.codehilite .s1 { color: #ED9D13 } /* Literal.String.Single */ -.codehilite .ss { color: #ED9D13 } /* Literal.String.Symbol */ -.codehilite .bp { color: #2FBCCD } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #71ADFF } /* Name.Function.Magic */ -.codehilite .vc { color: #40FFFF } /* Name.Variable.Class */ -.codehilite .vg { color: #40FFFF } /* Name.Variable.Global */ -.codehilite .vi { color: #40FFFF } /* Name.Variable.Instance */ -.codehilite .vm { color: #40FFFF } /* Name.Variable.Magic */ -.codehilite .il { color: #51B2FD } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/nord-darker.css b/site/css/pygments/nord-darker.css deleted file mode 100644 index 58158bf..0000000 --- a/site/css/pygments/nord-darker.css +++ /dev/null @@ -1,85 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: #D8DEE9; background-color: #242933; padding-left: 5px; padding-right: 5px; } -span.linenos { color: #D8DEE9; background-color: #242933; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #242933; background-color: #D8DEE9; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #242933; background-color: #D8DEE9; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #3B4252 } -.codehilite { background: #242933; color: #D8DEE9 } -.codehilite .c { color: #616E87; font-style: italic } /* Comment */ -.codehilite .err { color: #BF616A } /* Error */ -.codehilite .esc { color: #D8DEE9 } /* Escape */ -.codehilite .g { color: #D8DEE9 } /* Generic */ -.codehilite .k { color: #81A1C1; font-weight: bold } /* Keyword */ -.codehilite .l { color: #D8DEE9 } /* Literal */ -.codehilite .n { color: #D8DEE9 } /* Name */ -.codehilite .o { color: #81A1C1; font-weight: bold } /* Operator */ -.codehilite .x { color: #D8DEE9 } /* Other */ -.codehilite .p { color: #ECEFF4 } /* Punctuation */ -.codehilite .ch { color: #616E87; font-style: italic } /* Comment.Hashbang */ -.codehilite .cm { color: #616E87; font-style: italic } /* Comment.Multiline */ -.codehilite .cp { color: #5E81AC; font-style: italic } /* Comment.Preproc */ -.codehilite .cpf { color: #616E87; font-style: italic } /* Comment.PreprocFile */ -.codehilite .c1 { color: #616E87; font-style: italic } /* Comment.Single */ -.codehilite .cs { color: #616E87; font-style: italic } /* Comment.Special */ -.codehilite .gd { color: #BF616A } /* Generic.Deleted */ -.codehilite .ge { color: #D8DEE9; font-style: italic } /* Generic.Emph */ -.codehilite .ges { color: #D8DEE9 } /* Generic.EmphStrong */ -.codehilite .gr { color: #BF616A } /* Generic.Error */ -.codehilite .gh { color: #88C0D0; font-weight: bold } /* Generic.Heading */ -.codehilite .gi { color: #A3BE8C } /* Generic.Inserted */ -.codehilite .go { color: #D8DEE9 } /* Generic.Output */ -.codehilite .gp { color: #616E88; font-weight: bold } /* Generic.Prompt */ -.codehilite .gs { color: #D8DEE9; font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #88C0D0; font-weight: bold } /* Generic.Subheading */ -.codehilite .gt { color: #BF616A } /* Generic.Traceback */ -.codehilite .kc { color: #81A1C1; font-weight: bold } /* Keyword.Constant */ -.codehilite .kd { color: #81A1C1; font-weight: bold } /* Keyword.Declaration */ -.codehilite .kn { color: #81A1C1; font-weight: bold } /* Keyword.Namespace */ -.codehilite .kp { color: #81A1C1 } /* Keyword.Pseudo */ -.codehilite .kr { color: #81A1C1; font-weight: bold } /* Keyword.Reserved */ -.codehilite .kt { color: #81A1C1 } /* Keyword.Type */ -.codehilite .ld { color: #D8DEE9 } /* Literal.Date */ -.codehilite .m { color: #B48EAD } /* Literal.Number */ -.codehilite .s { color: #A3BE8C } /* Literal.String */ -.codehilite .na { color: #8FBCBB } /* Name.Attribute */ -.codehilite .nb { color: #81A1C1 } /* Name.Builtin */ -.codehilite .nc { color: #8FBCBB } /* Name.Class */ -.codehilite .no { color: #8FBCBB } /* Name.Constant */ -.codehilite .nd { color: #D08770 } /* Name.Decorator */ -.codehilite .ni { color: #D08770 } /* Name.Entity */ -.codehilite .ne { color: #BF616A } /* Name.Exception */ -.codehilite .nf { color: #88C0D0 } /* Name.Function */ -.codehilite .nl { color: #D8DEE9 } /* Name.Label */ -.codehilite .nn { color: #8FBCBB } /* Name.Namespace */ -.codehilite .nx { color: #D8DEE9 } /* Name.Other */ -.codehilite .py { color: #D8DEE9 } /* Name.Property */ -.codehilite .nt { color: #81A1C1 } /* Name.Tag */ -.codehilite .nv { color: #D8DEE9 } /* Name.Variable */ -.codehilite .ow { color: #81A1C1; font-weight: bold } /* Operator.Word */ -.codehilite .pm { color: #ECEFF4 } /* Punctuation.Marker */ -.codehilite .w { color: #D8DEE9 } /* Text.Whitespace */ -.codehilite .mb { color: #B48EAD } /* Literal.Number.Bin */ -.codehilite .mf { color: #B48EAD } /* Literal.Number.Float */ -.codehilite .mh { color: #B48EAD } /* Literal.Number.Hex */ -.codehilite .mi { color: #B48EAD } /* Literal.Number.Integer */ -.codehilite .mo { color: #B48EAD } /* Literal.Number.Oct */ -.codehilite .sa { color: #A3BE8C } /* Literal.String.Affix */ -.codehilite .sb { color: #A3BE8C } /* Literal.String.Backtick */ -.codehilite .sc { color: #A3BE8C } /* Literal.String.Char */ -.codehilite .dl { color: #A3BE8C } /* Literal.String.Delimiter */ -.codehilite .sd { color: #616E87 } /* Literal.String.Doc */ -.codehilite .s2 { color: #A3BE8C } /* Literal.String.Double */ -.codehilite .se { color: #EBCB8B } /* Literal.String.Escape */ -.codehilite .sh { color: #A3BE8C } /* Literal.String.Heredoc */ -.codehilite .si { color: #A3BE8C } /* Literal.String.Interpol */ -.codehilite .sx { color: #A3BE8C } /* Literal.String.Other */ -.codehilite .sr { color: #EBCB8B } /* Literal.String.Regex */ -.codehilite .s1 { color: #A3BE8C } /* Literal.String.Single */ -.codehilite .ss { color: #A3BE8C } /* Literal.String.Symbol */ -.codehilite .bp { color: #81A1C1 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #88C0D0 } /* Name.Function.Magic */ -.codehilite .vc { color: #D8DEE9 } /* Name.Variable.Class */ -.codehilite .vg { color: #D8DEE9 } /* Name.Variable.Global */ -.codehilite .vi { color: #D8DEE9 } /* Name.Variable.Instance */ -.codehilite .vm { color: #D8DEE9 } /* Name.Variable.Magic */ -.codehilite .il { color: #B48EAD } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/nord.css b/site/css/pygments/nord.css deleted file mode 100644 index 3857bf8..0000000 --- a/site/css/pygments/nord.css +++ /dev/null @@ -1,85 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: #D8DEE9; background-color: #242933; padding-left: 5px; padding-right: 5px; } -span.linenos { color: #D8DEE9; background-color: #242933; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #242933; background-color: #D8DEE9; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #242933; background-color: #D8DEE9; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #3B4252 } -.codehilite { background: #2E3440; color: #D8DEE9 } -.codehilite .c { color: #616E87; font-style: italic } /* Comment */ -.codehilite .err { color: #BF616A } /* Error */ -.codehilite .esc { color: #D8DEE9 } /* Escape */ -.codehilite .g { color: #D8DEE9 } /* Generic */ -.codehilite .k { color: #81A1C1; font-weight: bold } /* Keyword */ -.codehilite .l { color: #D8DEE9 } /* Literal */ -.codehilite .n { color: #D8DEE9 } /* Name */ -.codehilite .o { color: #81A1C1; font-weight: bold } /* Operator */ -.codehilite .x { color: #D8DEE9 } /* Other */ -.codehilite .p { color: #ECEFF4 } /* Punctuation */ -.codehilite .ch { color: #616E87; font-style: italic } /* Comment.Hashbang */ -.codehilite .cm { color: #616E87; font-style: italic } /* Comment.Multiline */ -.codehilite .cp { color: #5E81AC; font-style: italic } /* Comment.Preproc */ -.codehilite .cpf { color: #616E87; font-style: italic } /* Comment.PreprocFile */ -.codehilite .c1 { color: #616E87; font-style: italic } /* Comment.Single */ -.codehilite .cs { color: #616E87; font-style: italic } /* Comment.Special */ -.codehilite .gd { color: #BF616A } /* Generic.Deleted */ -.codehilite .ge { color: #D8DEE9; font-style: italic } /* Generic.Emph */ -.codehilite .ges { color: #D8DEE9; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite .gr { color: #BF616A } /* Generic.Error */ -.codehilite .gh { color: #88C0D0; font-weight: bold } /* Generic.Heading */ -.codehilite .gi { color: #A3BE8C } /* Generic.Inserted */ -.codehilite .go { color: #D8DEE9 } /* Generic.Output */ -.codehilite .gp { color: #616E88; font-weight: bold } /* Generic.Prompt */ -.codehilite .gs { color: #D8DEE9; font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #88C0D0; font-weight: bold } /* Generic.Subheading */ -.codehilite .gt { color: #BF616A } /* Generic.Traceback */ -.codehilite .kc { color: #81A1C1; font-weight: bold } /* Keyword.Constant */ -.codehilite .kd { color: #81A1C1; font-weight: bold } /* Keyword.Declaration */ -.codehilite .kn { color: #81A1C1; font-weight: bold } /* Keyword.Namespace */ -.codehilite .kp { color: #81A1C1 } /* Keyword.Pseudo */ -.codehilite .kr { color: #81A1C1; font-weight: bold } /* Keyword.Reserved */ -.codehilite .kt { color: #81A1C1 } /* Keyword.Type */ -.codehilite .ld { color: #D8DEE9 } /* Literal.Date */ -.codehilite .m { color: #B48EAD } /* Literal.Number */ -.codehilite .s { color: #A3BE8C } /* Literal.String */ -.codehilite .na { color: #8FBCBB } /* Name.Attribute */ -.codehilite .nb { color: #81A1C1 } /* Name.Builtin */ -.codehilite .nc { color: #8FBCBB } /* Name.Class */ -.codehilite .no { color: #8FBCBB } /* Name.Constant */ -.codehilite .nd { color: #D08770 } /* Name.Decorator */ -.codehilite .ni { color: #D08770 } /* Name.Entity */ -.codehilite .ne { color: #BF616A } /* Name.Exception */ -.codehilite .nf { color: #88C0D0 } /* Name.Function */ -.codehilite .nl { color: #D8DEE9 } /* Name.Label */ -.codehilite .nn { color: #8FBCBB } /* Name.Namespace */ -.codehilite .nx { color: #D8DEE9 } /* Name.Other */ -.codehilite .py { color: #D8DEE9 } /* Name.Property */ -.codehilite .nt { color: #81A1C1 } /* Name.Tag */ -.codehilite .nv { color: #D8DEE9 } /* Name.Variable */ -.codehilite .ow { color: #81A1C1; font-weight: bold } /* Operator.Word */ -.codehilite .pm { color: #ECEFF4 } /* Punctuation.Marker */ -.codehilite .w { color: #D8DEE9 } /* Text.Whitespace */ -.codehilite .mb { color: #B48EAD } /* Literal.Number.Bin */ -.codehilite .mf { color: #B48EAD } /* Literal.Number.Float */ -.codehilite .mh { color: #B48EAD } /* Literal.Number.Hex */ -.codehilite .mi { color: #B48EAD } /* Literal.Number.Integer */ -.codehilite .mo { color: #B48EAD } /* Literal.Number.Oct */ -.codehilite .sa { color: #A3BE8C } /* Literal.String.Affix */ -.codehilite .sb { color: #A3BE8C } /* Literal.String.Backtick */ -.codehilite .sc { color: #A3BE8C } /* Literal.String.Char */ -.codehilite .dl { color: #A3BE8C } /* Literal.String.Delimiter */ -.codehilite .sd { color: #616E87 } /* Literal.String.Doc */ -.codehilite .s2 { color: #A3BE8C } /* Literal.String.Double */ -.codehilite .se { color: #EBCB8B } /* Literal.String.Escape */ -.codehilite .sh { color: #A3BE8C } /* Literal.String.Heredoc */ -.codehilite .si { color: #A3BE8C } /* Literal.String.Interpol */ -.codehilite .sx { color: #A3BE8C } /* Literal.String.Other */ -.codehilite .sr { color: #EBCB8B } /* Literal.String.Regex */ -.codehilite .s1 { color: #A3BE8C } /* Literal.String.Single */ -.codehilite .ss { color: #A3BE8C } /* Literal.String.Symbol */ -.codehilite .bp { color: #81A1C1 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #88C0D0 } /* Name.Function.Magic */ -.codehilite .vc { color: #D8DEE9 } /* Name.Variable.Class */ -.codehilite .vg { color: #D8DEE9 } /* Name.Variable.Global */ -.codehilite .vi { color: #D8DEE9 } /* Name.Variable.Instance */ -.codehilite .vm { color: #D8DEE9 } /* Name.Variable.Magic */ -.codehilite .il { color: #B48EAD } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/one-dark.css b/site/css/pygments/one-dark.css deleted file mode 100644 index 11ddeae..0000000 --- a/site/css/pygments/one-dark.css +++ /dev/null @@ -1,85 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ffffcc } -.codehilite { background: #282C34; color: #ABB2BF } -.codehilite .c { color: #7F848E } /* Comment */ -.codehilite .err { color: #ABB2BF } /* Error */ -.codehilite .esc { color: #ABB2BF } /* Escape */ -.codehilite .g { color: #ABB2BF } /* Generic */ -.codehilite .k { color: #C678DD } /* Keyword */ -.codehilite .l { color: #ABB2BF } /* Literal */ -.codehilite .n { color: #E06C75 } /* Name */ -.codehilite .o { color: #56B6C2 } /* Operator */ -.codehilite .x { color: #ABB2BF } /* Other */ -.codehilite .p { color: #ABB2BF } /* Punctuation */ -.codehilite .ch { color: #7F848E } /* Comment.Hashbang */ -.codehilite .cm { color: #7F848E } /* Comment.Multiline */ -.codehilite .cp { color: #7F848E } /* Comment.Preproc */ -.codehilite .cpf { color: #7F848E } /* Comment.PreprocFile */ -.codehilite .c1 { color: #7F848E } /* Comment.Single */ -.codehilite .cs { color: #7F848E } /* Comment.Special */ -.codehilite .gd { color: #ABB2BF } /* Generic.Deleted */ -.codehilite .ge { color: #ABB2BF } /* Generic.Emph */ -.codehilite .ges { color: #ABB2BF } /* Generic.EmphStrong */ -.codehilite .gr { color: #ABB2BF } /* Generic.Error */ -.codehilite .gh { color: #ABB2BF } /* Generic.Heading */ -.codehilite .gi { color: #ABB2BF } /* Generic.Inserted */ -.codehilite .go { color: #ABB2BF } /* Generic.Output */ -.codehilite .gp { color: #ABB2BF } /* Generic.Prompt */ -.codehilite .gs { color: #ABB2BF } /* Generic.Strong */ -.codehilite .gu { color: #ABB2BF } /* Generic.Subheading */ -.codehilite .gt { color: #ABB2BF } /* Generic.Traceback */ -.codehilite .kc { color: #E5C07B } /* Keyword.Constant */ -.codehilite .kd { color: #C678DD } /* Keyword.Declaration */ -.codehilite .kn { color: #C678DD } /* Keyword.Namespace */ -.codehilite .kp { color: #C678DD } /* Keyword.Pseudo */ -.codehilite .kr { color: #C678DD } /* Keyword.Reserved */ -.codehilite .kt { color: #E5C07B } /* Keyword.Type */ -.codehilite .ld { color: #ABB2BF } /* Literal.Date */ -.codehilite .m { color: #D19A66 } /* Literal.Number */ -.codehilite .s { color: #98C379 } /* Literal.String */ -.codehilite .na { color: #E06C75 } /* Name.Attribute */ -.codehilite .nb { color: #E5C07B } /* Name.Builtin */ -.codehilite .nc { color: #E5C07B } /* Name.Class */ -.codehilite .no { color: #E06C75 } /* Name.Constant */ -.codehilite .nd { color: #61AFEF } /* Name.Decorator */ -.codehilite .ni { color: #E06C75 } /* Name.Entity */ -.codehilite .ne { color: #E06C75 } /* Name.Exception */ -.codehilite .nf { color: #61AFEF; font-weight: bold } /* Name.Function */ -.codehilite .nl { color: #E06C75 } /* Name.Label */ -.codehilite .nn { color: #E06C75 } /* Name.Namespace */ -.codehilite .nx { color: #E06C75 } /* Name.Other */ -.codehilite .py { color: #E06C75 } /* Name.Property */ -.codehilite .nt { color: #E06C75 } /* Name.Tag */ -.codehilite .nv { color: #E06C75 } /* Name.Variable */ -.codehilite .ow { color: #56B6C2 } /* Operator.Word */ -.codehilite .pm { color: #ABB2BF } /* Punctuation.Marker */ -.codehilite .w { color: #ABB2BF } /* Text.Whitespace */ -.codehilite .mb { color: #D19A66 } /* Literal.Number.Bin */ -.codehilite .mf { color: #D19A66 } /* Literal.Number.Float */ -.codehilite .mh { color: #D19A66 } /* Literal.Number.Hex */ -.codehilite .mi { color: #D19A66 } /* Literal.Number.Integer */ -.codehilite .mo { color: #D19A66 } /* Literal.Number.Oct */ -.codehilite .sa { color: #98C379 } /* Literal.String.Affix */ -.codehilite .sb { color: #98C379 } /* Literal.String.Backtick */ -.codehilite .sc { color: #98C379 } /* Literal.String.Char */ -.codehilite .dl { color: #98C379 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #98C379 } /* Literal.String.Doc */ -.codehilite .s2 { color: #98C379 } /* Literal.String.Double */ -.codehilite .se { color: #98C379 } /* Literal.String.Escape */ -.codehilite .sh { color: #98C379 } /* Literal.String.Heredoc */ -.codehilite .si { color: #98C379 } /* Literal.String.Interpol */ -.codehilite .sx { color: #98C379 } /* Literal.String.Other */ -.codehilite .sr { color: #98C379 } /* Literal.String.Regex */ -.codehilite .s1 { color: #98C379 } /* Literal.String.Single */ -.codehilite .ss { color: #98C379 } /* Literal.String.Symbol */ -.codehilite .bp { color: #E5C07B } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #56B6C2; font-weight: bold } /* Name.Function.Magic */ -.codehilite .vc { color: #E06C75 } /* Name.Variable.Class */ -.codehilite .vg { color: #E06C75 } /* Name.Variable.Global */ -.codehilite .vi { color: #E06C75 } /* Name.Variable.Instance */ -.codehilite .vm { color: #E06C75 } /* Name.Variable.Magic */ -.codehilite .il { color: #D19A66 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/paraiso-dark.css b/site/css/pygments/paraiso-dark.css deleted file mode 100644 index 78258a7..0000000 --- a/site/css/pygments/paraiso-dark.css +++ /dev/null @@ -1,79 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #4f424c } -.codehilite { background: #2f1e2e; color: #E7E9DB } -.codehilite .c { color: #776E71 } /* Comment */ -.codehilite .err { color: #EF6155 } /* Error */ -.codehilite .k { color: #815BA4 } /* Keyword */ -.codehilite .l { color: #F99B15 } /* Literal */ -.codehilite .n { color: #E7E9DB } /* Name */ -.codehilite .o { color: #5BC4BF } /* Operator */ -.codehilite .p { color: #E7E9DB } /* Punctuation */ -.codehilite .ch { color: #776E71 } /* Comment.Hashbang */ -.codehilite .cm { color: #776E71 } /* Comment.Multiline */ -.codehilite .cp { color: #776E71 } /* Comment.Preproc */ -.codehilite .cpf { color: #776E71 } /* Comment.PreprocFile */ -.codehilite .c1 { color: #776E71 } /* Comment.Single */ -.codehilite .cs { color: #776E71 } /* Comment.Special */ -.codehilite .gd { color: #EF6155 } /* Generic.Deleted */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite .gh { color: #E7E9DB; font-weight: bold } /* Generic.Heading */ -.codehilite .gi { color: #48B685 } /* Generic.Inserted */ -.codehilite .gp { color: #776E71; font-weight: bold } /* Generic.Prompt */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #5BC4BF; font-weight: bold } /* Generic.Subheading */ -.codehilite .kc { color: #815BA4 } /* Keyword.Constant */ -.codehilite .kd { color: #815BA4 } /* Keyword.Declaration */ -.codehilite .kn { color: #5BC4BF } /* Keyword.Namespace */ -.codehilite .kp { color: #815BA4 } /* Keyword.Pseudo */ -.codehilite .kr { color: #815BA4 } /* Keyword.Reserved */ -.codehilite .kt { color: #FEC418 } /* Keyword.Type */ -.codehilite .ld { color: #48B685 } /* Literal.Date */ -.codehilite .m { color: #F99B15 } /* Literal.Number */ -.codehilite .s { color: #48B685 } /* Literal.String */ -.codehilite .na { color: #06B6EF } /* Name.Attribute */ -.codehilite .nb { color: #E7E9DB } /* Name.Builtin */ -.codehilite .nc { color: #FEC418 } /* Name.Class */ -.codehilite .no { color: #EF6155 } /* Name.Constant */ -.codehilite .nd { color: #5BC4BF } /* Name.Decorator */ -.codehilite .ni { color: #E7E9DB } /* Name.Entity */ -.codehilite .ne { color: #EF6155 } /* Name.Exception */ -.codehilite .nf { color: #06B6EF } /* Name.Function */ -.codehilite .nl { color: #E7E9DB } /* Name.Label */ -.codehilite .nn { color: #FEC418 } /* Name.Namespace */ -.codehilite .nx { color: #06B6EF } /* Name.Other */ -.codehilite .py { color: #E7E9DB } /* Name.Property */ -.codehilite .nt { color: #5BC4BF } /* Name.Tag */ -.codehilite .nv { color: #EF6155 } /* Name.Variable */ -.codehilite .ow { color: #5BC4BF } /* Operator.Word */ -.codehilite .pm { color: #E7E9DB } /* Punctuation.Marker */ -.codehilite .w { color: #E7E9DB } /* Text.Whitespace */ -.codehilite .mb { color: #F99B15 } /* Literal.Number.Bin */ -.codehilite .mf { color: #F99B15 } /* Literal.Number.Float */ -.codehilite .mh { color: #F99B15 } /* Literal.Number.Hex */ -.codehilite .mi { color: #F99B15 } /* Literal.Number.Integer */ -.codehilite .mo { color: #F99B15 } /* Literal.Number.Oct */ -.codehilite .sa { color: #48B685 } /* Literal.String.Affix */ -.codehilite .sb { color: #48B685 } /* Literal.String.Backtick */ -.codehilite .sc { color: #E7E9DB } /* Literal.String.Char */ -.codehilite .dl { color: #48B685 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #776E71 } /* Literal.String.Doc */ -.codehilite .s2 { color: #48B685 } /* Literal.String.Double */ -.codehilite .se { color: #F99B15 } /* Literal.String.Escape */ -.codehilite .sh { color: #48B685 } /* Literal.String.Heredoc */ -.codehilite .si { color: #F99B15 } /* Literal.String.Interpol */ -.codehilite .sx { color: #48B685 } /* Literal.String.Other */ -.codehilite .sr { color: #48B685 } /* Literal.String.Regex */ -.codehilite .s1 { color: #48B685 } /* Literal.String.Single */ -.codehilite .ss { color: #48B685 } /* Literal.String.Symbol */ -.codehilite .bp { color: #E7E9DB } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #06B6EF } /* Name.Function.Magic */ -.codehilite .vc { color: #EF6155 } /* Name.Variable.Class */ -.codehilite .vg { color: #EF6155 } /* Name.Variable.Global */ -.codehilite .vi { color: #EF6155 } /* Name.Variable.Instance */ -.codehilite .vm { color: #EF6155 } /* Name.Variable.Magic */ -.codehilite .il { color: #F99B15 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/paraiso-light.css b/site/css/pygments/paraiso-light.css deleted file mode 100644 index aeee4af..0000000 --- a/site/css/pygments/paraiso-light.css +++ /dev/null @@ -1,79 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #a39e9b } -.codehilite { background: #e7e9db; color: #2F1E2E } -.codehilite .c { color: #8D8687 } /* Comment */ -.codehilite .err { color: #EF6155 } /* Error */ -.codehilite .k { color: #815BA4 } /* Keyword */ -.codehilite .l { color: #F99B15 } /* Literal */ -.codehilite .n { color: #2F1E2E } /* Name */ -.codehilite .o { color: #5BC4BF } /* Operator */ -.codehilite .p { color: #2F1E2E } /* Punctuation */ -.codehilite .ch { color: #8D8687 } /* Comment.Hashbang */ -.codehilite .cm { color: #8D8687 } /* Comment.Multiline */ -.codehilite .cp { color: #8D8687 } /* Comment.Preproc */ -.codehilite .cpf { color: #8D8687 } /* Comment.PreprocFile */ -.codehilite .c1 { color: #8D8687 } /* Comment.Single */ -.codehilite .cs { color: #8D8687 } /* Comment.Special */ -.codehilite .gd { color: #EF6155 } /* Generic.Deleted */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite .gh { color: #2F1E2E; font-weight: bold } /* Generic.Heading */ -.codehilite .gi { color: #48B685 } /* Generic.Inserted */ -.codehilite .gp { color: #8D8687; font-weight: bold } /* Generic.Prompt */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #5BC4BF; font-weight: bold } /* Generic.Subheading */ -.codehilite .kc { color: #815BA4 } /* Keyword.Constant */ -.codehilite .kd { color: #815BA4 } /* Keyword.Declaration */ -.codehilite .kn { color: #5BC4BF } /* Keyword.Namespace */ -.codehilite .kp { color: #815BA4 } /* Keyword.Pseudo */ -.codehilite .kr { color: #815BA4 } /* Keyword.Reserved */ -.codehilite .kt { color: #FEC418 } /* Keyword.Type */ -.codehilite .ld { color: #48B685 } /* Literal.Date */ -.codehilite .m { color: #F99B15 } /* Literal.Number */ -.codehilite .s { color: #48B685 } /* Literal.String */ -.codehilite .na { color: #06B6EF } /* Name.Attribute */ -.codehilite .nb { color: #2F1E2E } /* Name.Builtin */ -.codehilite .nc { color: #FEC418 } /* Name.Class */ -.codehilite .no { color: #EF6155 } /* Name.Constant */ -.codehilite .nd { color: #5BC4BF } /* Name.Decorator */ -.codehilite .ni { color: #2F1E2E } /* Name.Entity */ -.codehilite .ne { color: #EF6155 } /* Name.Exception */ -.codehilite .nf { color: #06B6EF } /* Name.Function */ -.codehilite .nl { color: #2F1E2E } /* Name.Label */ -.codehilite .nn { color: #FEC418 } /* Name.Namespace */ -.codehilite .nx { color: #06B6EF } /* Name.Other */ -.codehilite .py { color: #2F1E2E } /* Name.Property */ -.codehilite .nt { color: #5BC4BF } /* Name.Tag */ -.codehilite .nv { color: #EF6155 } /* Name.Variable */ -.codehilite .ow { color: #5BC4BF } /* Operator.Word */ -.codehilite .pm { color: #2F1E2E } /* Punctuation.Marker */ -.codehilite .w { color: #2F1E2E } /* Text.Whitespace */ -.codehilite .mb { color: #F99B15 } /* Literal.Number.Bin */ -.codehilite .mf { color: #F99B15 } /* Literal.Number.Float */ -.codehilite .mh { color: #F99B15 } /* Literal.Number.Hex */ -.codehilite .mi { color: #F99B15 } /* Literal.Number.Integer */ -.codehilite .mo { color: #F99B15 } /* Literal.Number.Oct */ -.codehilite .sa { color: #48B685 } /* Literal.String.Affix */ -.codehilite .sb { color: #48B685 } /* Literal.String.Backtick */ -.codehilite .sc { color: #2F1E2E } /* Literal.String.Char */ -.codehilite .dl { color: #48B685 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #8D8687 } /* Literal.String.Doc */ -.codehilite .s2 { color: #48B685 } /* Literal.String.Double */ -.codehilite .se { color: #F99B15 } /* Literal.String.Escape */ -.codehilite .sh { color: #48B685 } /* Literal.String.Heredoc */ -.codehilite .si { color: #F99B15 } /* Literal.String.Interpol */ -.codehilite .sx { color: #48B685 } /* Literal.String.Other */ -.codehilite .sr { color: #48B685 } /* Literal.String.Regex */ -.codehilite .s1 { color: #48B685 } /* Literal.String.Single */ -.codehilite .ss { color: #48B685 } /* Literal.String.Symbol */ -.codehilite .bp { color: #2F1E2E } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #06B6EF } /* Name.Function.Magic */ -.codehilite .vc { color: #EF6155 } /* Name.Variable.Class */ -.codehilite .vg { color: #EF6155 } /* Name.Variable.Global */ -.codehilite .vi { color: #EF6155 } /* Name.Variable.Instance */ -.codehilite .vm { color: #EF6155 } /* Name.Variable.Magic */ -.codehilite .il { color: #F99B15 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/pastie.css b/site/css/pygments/pastie.css deleted file mode 100644 index c944f9a..0000000 --- a/site/css/pygments/pastie.css +++ /dev/null @@ -1,74 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ffffcc } -.codehilite { background: #ffffff; } -.codehilite .c { color: #888 } /* Comment */ -.codehilite .err { color: #A61717; background-color: #E3D2D2 } /* Error */ -.codehilite .k { color: #080; font-weight: bold } /* Keyword */ -.codehilite .ch { color: #888 } /* Comment.Hashbang */ -.codehilite .cm { color: #888 } /* Comment.Multiline */ -.codehilite .cp { color: #C00; font-weight: bold } /* Comment.Preproc */ -.codehilite .cpf { color: #888 } /* Comment.PreprocFile */ -.codehilite .c1 { color: #888 } /* Comment.Single */ -.codehilite .cs { color: #C00; font-weight: bold; background-color: #FFF0F0 } /* Comment.Special */ -.codehilite .gd { color: #000; background-color: #FDD } /* Generic.Deleted */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite .gr { color: #A00 } /* Generic.Error */ -.codehilite .gh { color: #333 } /* Generic.Heading */ -.codehilite .gi { color: #000; background-color: #DFD } /* Generic.Inserted */ -.codehilite .go { color: #888 } /* Generic.Output */ -.codehilite .gp { color: #555 } /* Generic.Prompt */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #666 } /* Generic.Subheading */ -.codehilite .gt { color: #A00 } /* Generic.Traceback */ -.codehilite .kc { color: #080; font-weight: bold } /* Keyword.Constant */ -.codehilite .kd { color: #080; font-weight: bold } /* Keyword.Declaration */ -.codehilite .kn { color: #080; font-weight: bold } /* Keyword.Namespace */ -.codehilite .kp { color: #080 } /* Keyword.Pseudo */ -.codehilite .kr { color: #080; font-weight: bold } /* Keyword.Reserved */ -.codehilite .kt { color: #888; font-weight: bold } /* Keyword.Type */ -.codehilite .m { color: #00D; font-weight: bold } /* Literal.Number */ -.codehilite .s { color: #D20; background-color: #FFF0F0 } /* Literal.String */ -.codehilite .na { color: #369 } /* Name.Attribute */ -.codehilite .nb { color: #038 } /* Name.Builtin */ -.codehilite .nc { color: #B06; font-weight: bold } /* Name.Class */ -.codehilite .no { color: #036; font-weight: bold } /* Name.Constant */ -.codehilite .nd { color: #555 } /* Name.Decorator */ -.codehilite .ne { color: #B06; font-weight: bold } /* Name.Exception */ -.codehilite .nf { color: #06B; font-weight: bold } /* Name.Function */ -.codehilite .nl { color: #369; font-style: italic } /* Name.Label */ -.codehilite .nn { color: #B06; font-weight: bold } /* Name.Namespace */ -.codehilite .py { color: #369; font-weight: bold } /* Name.Property */ -.codehilite .nt { color: #B06; font-weight: bold } /* Name.Tag */ -.codehilite .nv { color: #369 } /* Name.Variable */ -.codehilite .ow { color: #080 } /* Operator.Word */ -.codehilite .w { color: #BBB } /* Text.Whitespace */ -.codehilite .mb { color: #00D; font-weight: bold } /* Literal.Number.Bin */ -.codehilite .mf { color: #00D; font-weight: bold } /* Literal.Number.Float */ -.codehilite .mh { color: #00D; font-weight: bold } /* Literal.Number.Hex */ -.codehilite .mi { color: #00D; font-weight: bold } /* Literal.Number.Integer */ -.codehilite .mo { color: #00D; font-weight: bold } /* Literal.Number.Oct */ -.codehilite .sa { color: #D20; background-color: #FFF0F0 } /* Literal.String.Affix */ -.codehilite .sb { color: #D20; background-color: #FFF0F0 } /* Literal.String.Backtick */ -.codehilite .sc { color: #D20; background-color: #FFF0F0 } /* Literal.String.Char */ -.codehilite .dl { color: #D20; background-color: #FFF0F0 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #D20; background-color: #FFF0F0 } /* Literal.String.Doc */ -.codehilite .s2 { color: #D20; background-color: #FFF0F0 } /* Literal.String.Double */ -.codehilite .se { color: #04D; background-color: #FFF0F0 } /* Literal.String.Escape */ -.codehilite .sh { color: #D20; background-color: #FFF0F0 } /* Literal.String.Heredoc */ -.codehilite .si { color: #33B; background-color: #FFF0F0 } /* Literal.String.Interpol */ -.codehilite .sx { color: #2B2; background-color: #F0FFF0 } /* Literal.String.Other */ -.codehilite .sr { color: #080; background-color: #FFF0FF } /* Literal.String.Regex */ -.codehilite .s1 { color: #D20; background-color: #FFF0F0 } /* Literal.String.Single */ -.codehilite .ss { color: #A60; background-color: #FFF0F0 } /* Literal.String.Symbol */ -.codehilite .bp { color: #038 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #06B; font-weight: bold } /* Name.Function.Magic */ -.codehilite .vc { color: #369 } /* Name.Variable.Class */ -.codehilite .vg { color: #D70 } /* Name.Variable.Global */ -.codehilite .vi { color: #33B } /* Name.Variable.Instance */ -.codehilite .vm { color: #369 } /* Name.Variable.Magic */ -.codehilite .il { color: #00D; font-weight: bold } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/perldoc.css b/site/css/pygments/perldoc.css deleted file mode 100644 index 49cdeea..0000000 --- a/site/css/pygments/perldoc.css +++ /dev/null @@ -1,72 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ffffcc } -.codehilite { background: #eeeedd; } -.codehilite .c { color: #228B22 } /* Comment */ -.codehilite .err { color: #A61717; background-color: #E3D2D2 } /* Error */ -.codehilite .k { color: #8B008B; font-weight: bold } /* Keyword */ -.codehilite .ch { color: #228B22 } /* Comment.Hashbang */ -.codehilite .cm { color: #228B22 } /* Comment.Multiline */ -.codehilite .cp { color: #1E889B } /* Comment.Preproc */ -.codehilite .cpf { color: #228B22 } /* Comment.PreprocFile */ -.codehilite .c1 { color: #228B22 } /* Comment.Single */ -.codehilite .cs { color: #8B008B; font-weight: bold } /* Comment.Special */ -.codehilite .gd { color: #A00 } /* Generic.Deleted */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite .gr { color: #A00 } /* Generic.Error */ -.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.codehilite .gi { color: #0A0 } /* Generic.Inserted */ -.codehilite .go { color: #888 } /* Generic.Output */ -.codehilite .gp { color: #555 } /* Generic.Prompt */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.codehilite .gt { color: #A00 } /* Generic.Traceback */ -.codehilite .kc { color: #8B008B; font-weight: bold } /* Keyword.Constant */ -.codehilite .kd { color: #8B008B; font-weight: bold } /* Keyword.Declaration */ -.codehilite .kn { color: #8B008B; font-weight: bold } /* Keyword.Namespace */ -.codehilite .kp { color: #8B008B; font-weight: bold } /* Keyword.Pseudo */ -.codehilite .kr { color: #8B008B; font-weight: bold } /* Keyword.Reserved */ -.codehilite .kt { color: #00688B; font-weight: bold } /* Keyword.Type */ -.codehilite .m { color: #B452CD } /* Literal.Number */ -.codehilite .s { color: #CD5555 } /* Literal.String */ -.codehilite .na { color: #658B00 } /* Name.Attribute */ -.codehilite .nb { color: #658B00 } /* Name.Builtin */ -.codehilite .nc { color: #008B45; font-weight: bold } /* Name.Class */ -.codehilite .no { color: #00688B } /* Name.Constant */ -.codehilite .nd { color: #707A7C } /* Name.Decorator */ -.codehilite .ne { color: #008B45; font-weight: bold } /* Name.Exception */ -.codehilite .nf { color: #008B45 } /* Name.Function */ -.codehilite .nn { color: #008B45; text-decoration: underline } /* Name.Namespace */ -.codehilite .nt { color: #8B008B; font-weight: bold } /* Name.Tag */ -.codehilite .nv { color: #00688B } /* Name.Variable */ -.codehilite .ow { color: #8B008B } /* Operator.Word */ -.codehilite .w { color: #BBB } /* Text.Whitespace */ -.codehilite .mb { color: #B452CD } /* Literal.Number.Bin */ -.codehilite .mf { color: #B452CD } /* Literal.Number.Float */ -.codehilite .mh { color: #B452CD } /* Literal.Number.Hex */ -.codehilite .mi { color: #B452CD } /* Literal.Number.Integer */ -.codehilite .mo { color: #B452CD } /* Literal.Number.Oct */ -.codehilite .sa { color: #CD5555 } /* Literal.String.Affix */ -.codehilite .sb { color: #CD5555 } /* Literal.String.Backtick */ -.codehilite .sc { color: #CD5555 } /* Literal.String.Char */ -.codehilite .dl { color: #CD5555 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #CD5555 } /* Literal.String.Doc */ -.codehilite .s2 { color: #CD5555 } /* Literal.String.Double */ -.codehilite .se { color: #CD5555 } /* Literal.String.Escape */ -.codehilite .sh { color: #1C7E71; font-style: italic } /* Literal.String.Heredoc */ -.codehilite .si { color: #CD5555 } /* Literal.String.Interpol */ -.codehilite .sx { color: #CB6C20 } /* Literal.String.Other */ -.codehilite .sr { color: #1C7E71 } /* Literal.String.Regex */ -.codehilite .s1 { color: #CD5555 } /* Literal.String.Single */ -.codehilite .ss { color: #CD5555 } /* Literal.String.Symbol */ -.codehilite .bp { color: #658B00 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #008B45 } /* Name.Function.Magic */ -.codehilite .vc { color: #00688B } /* Name.Variable.Class */ -.codehilite .vg { color: #00688B } /* Name.Variable.Global */ -.codehilite .vi { color: #00688B } /* Name.Variable.Instance */ -.codehilite .vm { color: #00688B } /* Name.Variable.Magic */ -.codehilite .il { color: #B452CD } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/pitaya-smoothie.css b/site/css/pygments/pitaya-smoothie.css deleted file mode 100644 index fbe9454..0000000 --- a/site/css/pygments/pitaya-smoothie.css +++ /dev/null @@ -1,76 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #2A1968 } -.codehilite { background: #181036; color: #FEFEFF } -.codehilite .c { color: #8786AC } /* Comment */ -.codehilite .err { color: #F26196 } /* Error */ -.codehilite .k { color: #FAD000 } /* Keyword */ -.codehilite .l { color: #F5A394 } /* Literal */ -.codehilite .n { color: #FEFEFF } /* Name */ -.codehilite .o { color: #18C1C4 } /* Operator */ -.codehilite .p { color: #FEFEFF } /* Punctuation */ -.codehilite .ch { color: #8786AC } /* Comment.Hashbang */ -.codehilite .cm { color: #8786AC } /* Comment.Multiline */ -.codehilite .cp { color: #8786AC } /* Comment.Preproc */ -.codehilite .cpf { color: #8786AC } /* Comment.PreprocFile */ -.codehilite .c1 { color: #8786AC } /* Comment.Single */ -.codehilite .cs { color: #8786AC } /* Comment.Special */ -.codehilite .gd { color: #7998F2 } /* Generic.Deleted */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .gh { color: #7998F2 } /* Generic.Heading */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #7998F2 } /* Generic.Subheading */ -.codehilite .kc { color: #C4A2F5 } /* Keyword.Constant */ -.codehilite .kd { color: #FAD000 } /* Keyword.Declaration */ -.codehilite .kn { color: #FAD000 } /* Keyword.Namespace */ -.codehilite .kp { color: #FAD000 } /* Keyword.Pseudo */ -.codehilite .kr { color: #FAD000 } /* Keyword.Reserved */ -.codehilite .kt { color: #F5A394 } /* Keyword.Type */ -.codehilite .ld { color: #F5A394 } /* Literal.Date */ -.codehilite .m { color: #F5A394 } /* Literal.Number */ -.codehilite .s { color: #7998F2 } /* Literal.String */ -.codehilite .na { color: #FAD000 } /* Name.Attribute */ -.codehilite .nb { color: #C4A2F5 } /* Name.Builtin */ -.codehilite .nc { color: #7998F2 } /* Name.Class */ -.codehilite .no { color: #C4A2F5 } /* Name.Constant */ -.codehilite .nd { color: #F5A394 } /* Name.Decorator */ -.codehilite .ni { color: #7998F2 } /* Name.Entity */ -.codehilite .ne { color: #C4A2F5 } /* Name.Exception */ -.codehilite .nf { color: #7998F2 } /* Name.Function */ -.codehilite .nl { color: #F5A394 } /* Name.Label */ -.codehilite .nn { color: #FEFEFF } /* Name.Namespace */ -.codehilite .nx { color: #FEFEFF } /* Name.Other */ -.codehilite .py { color: #7998F2 } /* Name.Property */ -.codehilite .nt { color: #7998F2 } /* Name.Tag */ -.codehilite .nv { color: #F5A394 } /* Name.Variable */ -.codehilite .ow { color: #C4A2F5 } /* Operator.Word */ -.codehilite .pm { color: #FEFEFF } /* Punctuation.Marker */ -.codehilite .w { color: #FEFEFF } /* Text.Whitespace */ -.codehilite .mb { color: #F5A394 } /* Literal.Number.Bin */ -.codehilite .mf { color: #F5A394 } /* Literal.Number.Float */ -.codehilite .mh { color: #F5A394 } /* Literal.Number.Hex */ -.codehilite .mi { color: #F5A394 } /* Literal.Number.Integer */ -.codehilite .mo { color: #F5A394 } /* Literal.Number.Oct */ -.codehilite .sa { color: #7998F2 } /* Literal.String.Affix */ -.codehilite .sb { color: #66E9EC } /* Literal.String.Backtick */ -.codehilite .sc { color: #7998F2 } /* Literal.String.Char */ -.codehilite .dl { color: #7998F2 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #C4A2F5 } /* Literal.String.Doc */ -.codehilite .s2 { color: #7998F2 } /* Literal.String.Double */ -.codehilite .se { color: #F5A394 } /* Literal.String.Escape */ -.codehilite .sh { color: #7998F2 } /* Literal.String.Heredoc */ -.codehilite .si { color: #7998F2 } /* Literal.String.Interpol */ -.codehilite .sx { color: #7998F2 } /* Literal.String.Other */ -.codehilite .sr { color: #7998F2 } /* Literal.String.Regex */ -.codehilite .s1 { color: #7998F2 } /* Literal.String.Single */ -.codehilite .ss { color: #7998F2 } /* Literal.String.Symbol */ -.codehilite .bp { color: #F5A394 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #7998F2 } /* Name.Function.Magic */ -.codehilite .vc { color: #F5A394 } /* Name.Variable.Class */ -.codehilite .vg { color: #F5A394 } /* Name.Variable.Global */ -.codehilite .vi { color: #F5A394 } /* Name.Variable.Instance */ -.codehilite .vm { color: #F5A394 } /* Name.Variable.Magic */ -.codehilite .il { color: #F5A394 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/rainbow_dash.css b/site/css/pygments/rainbow_dash.css deleted file mode 100644 index 5abfe53..0000000 --- a/site/css/pygments/rainbow_dash.css +++ /dev/null @@ -1,68 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ffffcc } -.codehilite { background: #ffffff; color: #4D4D4D } -.codehilite .c { color: #0080FF; font-style: italic } /* Comment */ -.codehilite .err { color: #FFF; background-color: #C00 } /* Error */ -.codehilite .k { color: #2C5DCD; font-weight: bold } /* Keyword */ -.codehilite .o { color: #2C5DCD } /* Operator */ -.codehilite .ch { color: #0080FF; font-style: italic } /* Comment.Hashbang */ -.codehilite .cm { color: #0080FF; font-style: italic } /* Comment.Multiline */ -.codehilite .cp { color: #0080FF } /* Comment.Preproc */ -.codehilite .cpf { color: #0080FF; font-style: italic } /* Comment.PreprocFile */ -.codehilite .c1 { color: #0080FF; font-style: italic } /* Comment.Single */ -.codehilite .cs { color: #0080FF; font-weight: bold; font-style: italic } /* Comment.Special */ -.codehilite .gd { background-color: #FCC; border: 1px solid #C5060B } /* Generic.Deleted */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite .gr { color: #F00 } /* Generic.Error */ -.codehilite .gh { color: #2C5DCD; font-weight: bold } /* Generic.Heading */ -.codehilite .gi { background-color: #CFC; border: 1px solid #0C0 } /* Generic.Inserted */ -.codehilite .go { color: #AAA } /* Generic.Output */ -.codehilite .gp { color: #2C5DCD; font-weight: bold } /* Generic.Prompt */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #2C5DCD; font-weight: bold } /* Generic.Subheading */ -.codehilite .gt { color: #C5060B } /* Generic.Traceback */ -.codehilite .kc { color: #2C5DCD; font-weight: bold } /* Keyword.Constant */ -.codehilite .kd { color: #2C5DCD; font-weight: bold } /* Keyword.Declaration */ -.codehilite .kn { color: #2C5DCD; font-weight: bold } /* Keyword.Namespace */ -.codehilite .kp { color: #2C5DCD } /* Keyword.Pseudo */ -.codehilite .kr { color: #2C5DCD; font-weight: bold } /* Keyword.Reserved */ -.codehilite .kt { color: #5918BB; font-weight: bold } /* Keyword.Type */ -.codehilite .m { color: #5918BB; font-weight: bold } /* Literal.Number */ -.codehilite .s { color: #0C6 } /* Literal.String */ -.codehilite .na { color: #2C5DCD; font-style: italic } /* Name.Attribute */ -.codehilite .nb { color: #5918BB; font-weight: bold } /* Name.Builtin */ -.codehilite .nc { text-decoration: underline } /* Name.Class */ -.codehilite .no { color: #318495 } /* Name.Constant */ -.codehilite .nd { color: #FF8000; font-weight: bold } /* Name.Decorator */ -.codehilite .ni { color: #5918BB; font-weight: bold } /* Name.Entity */ -.codehilite .ne { color: #5918BB; font-weight: bold } /* Name.Exception */ -.codehilite .nf { color: #FF8000; font-weight: bold } /* Name.Function */ -.codehilite .nt { color: #2C5DCD; font-weight: bold } /* Name.Tag */ -.codehilite .ow { color: #2C5DCD; font-weight: bold } /* Operator.Word */ -.codehilite .w { color: #CBCBCB } /* Text.Whitespace */ -.codehilite .mb { color: #5918BB; font-weight: bold } /* Literal.Number.Bin */ -.codehilite .mf { color: #5918BB; font-weight: bold } /* Literal.Number.Float */ -.codehilite .mh { color: #5918BB; font-weight: bold } /* Literal.Number.Hex */ -.codehilite .mi { color: #5918BB; font-weight: bold } /* Literal.Number.Integer */ -.codehilite .mo { color: #5918BB; font-weight: bold } /* Literal.Number.Oct */ -.codehilite .sa { color: #0C6 } /* Literal.String.Affix */ -.codehilite .sb { color: #0C6 } /* Literal.String.Backtick */ -.codehilite .sc { color: #0C6 } /* Literal.String.Char */ -.codehilite .dl { color: #0C6 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #0C6; font-style: italic } /* Literal.String.Doc */ -.codehilite .s2 { color: #0C6 } /* Literal.String.Double */ -.codehilite .se { color: #C5060B; font-weight: bold } /* Literal.String.Escape */ -.codehilite .sh { color: #0C6 } /* Literal.String.Heredoc */ -.codehilite .si { color: #0C6 } /* Literal.String.Interpol */ -.codehilite .sx { color: #318495 } /* Literal.String.Other */ -.codehilite .sr { color: #0C6 } /* Literal.String.Regex */ -.codehilite .s1 { color: #0C6 } /* Literal.String.Single */ -.codehilite .ss { color: #C5060B; font-weight: bold } /* Literal.String.Symbol */ -.codehilite .bp { color: #5918BB; font-weight: bold } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #FF8000; font-weight: bold } /* Name.Function.Magic */ -.codehilite .il { color: #5918BB; font-weight: bold } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/rrt.css b/site/css/pygments/rrt.css deleted file mode 100644 index 0a89441..0000000 --- a/site/css/pygments/rrt.css +++ /dev/null @@ -1,85 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #0000ff } -.codehilite { background: #000000; color: #DDD } -.codehilite .c { color: #0F0 } /* Comment */ -.codehilite .err { color: #DDD } /* Error */ -.codehilite .esc { color: #DDD } /* Escape */ -.codehilite .g { color: #DDD } /* Generic */ -.codehilite .k { color: #F00 } /* Keyword */ -.codehilite .l { color: #DDD } /* Literal */ -.codehilite .n { color: #DDD } /* Name */ -.codehilite .o { color: #DDD } /* Operator */ -.codehilite .x { color: #DDD } /* Other */ -.codehilite .p { color: #DDD } /* Punctuation */ -.codehilite .ch { color: #0F0 } /* Comment.Hashbang */ -.codehilite .cm { color: #0F0 } /* Comment.Multiline */ -.codehilite .cp { color: #E5E5E5 } /* Comment.Preproc */ -.codehilite .cpf { color: #0F0 } /* Comment.PreprocFile */ -.codehilite .c1 { color: #0F0 } /* Comment.Single */ -.codehilite .cs { color: #0F0 } /* Comment.Special */ -.codehilite .gd { color: #DDD } /* Generic.Deleted */ -.codehilite .ge { color: #DDD } /* Generic.Emph */ -.codehilite .ges { color: #DDD } /* Generic.EmphStrong */ -.codehilite .gr { color: #DDD } /* Generic.Error */ -.codehilite .gh { color: #DDD } /* Generic.Heading */ -.codehilite .gi { color: #DDD } /* Generic.Inserted */ -.codehilite .go { color: #DDD } /* Generic.Output */ -.codehilite .gp { color: #DDD } /* Generic.Prompt */ -.codehilite .gs { color: #DDD } /* Generic.Strong */ -.codehilite .gu { color: #DDD } /* Generic.Subheading */ -.codehilite .gt { color: #DDD } /* Generic.Traceback */ -.codehilite .kc { color: #F00 } /* Keyword.Constant */ -.codehilite .kd { color: #F00 } /* Keyword.Declaration */ -.codehilite .kn { color: #F00 } /* Keyword.Namespace */ -.codehilite .kp { color: #F00 } /* Keyword.Pseudo */ -.codehilite .kr { color: #F00 } /* Keyword.Reserved */ -.codehilite .kt { color: #EE82EE } /* Keyword.Type */ -.codehilite .ld { color: #DDD } /* Literal.Date */ -.codehilite .m { color: #F0F } /* Literal.Number */ -.codehilite .s { color: #87CEEB } /* Literal.String */ -.codehilite .na { color: #DDD } /* Name.Attribute */ -.codehilite .nb { color: #DDD } /* Name.Builtin */ -.codehilite .nc { color: #DDD } /* Name.Class */ -.codehilite .no { color: #7FFFD4 } /* Name.Constant */ -.codehilite .nd { color: #DDD } /* Name.Decorator */ -.codehilite .ni { color: #DDD } /* Name.Entity */ -.codehilite .ne { color: #DDD } /* Name.Exception */ -.codehilite .nf { color: #FF0 } /* Name.Function */ -.codehilite .nl { color: #DDD } /* Name.Label */ -.codehilite .nn { color: #DDD } /* Name.Namespace */ -.codehilite .nx { color: #DDD } /* Name.Other */ -.codehilite .py { color: #DDD } /* Name.Property */ -.codehilite .nt { color: #DDD } /* Name.Tag */ -.codehilite .nv { color: #EEDD82 } /* Name.Variable */ -.codehilite .ow { color: #F00 } /* Operator.Word */ -.codehilite .pm { color: #DDD } /* Punctuation.Marker */ -.codehilite .w { color: #DDD } /* Text.Whitespace */ -.codehilite .mb { color: #F0F } /* Literal.Number.Bin */ -.codehilite .mf { color: #F0F } /* Literal.Number.Float */ -.codehilite .mh { color: #F0F } /* Literal.Number.Hex */ -.codehilite .mi { color: #F0F } /* Literal.Number.Integer */ -.codehilite .mo { color: #F0F } /* Literal.Number.Oct */ -.codehilite .sa { color: #87CEEB } /* Literal.String.Affix */ -.codehilite .sb { color: #87CEEB } /* Literal.String.Backtick */ -.codehilite .sc { color: #87CEEB } /* Literal.String.Char */ -.codehilite .dl { color: #87CEEB } /* Literal.String.Delimiter */ -.codehilite .sd { color: #87CEEB } /* Literal.String.Doc */ -.codehilite .s2 { color: #87CEEB } /* Literal.String.Double */ -.codehilite .se { color: #87CEEB } /* Literal.String.Escape */ -.codehilite .sh { color: #87CEEB } /* Literal.String.Heredoc */ -.codehilite .si { color: #87CEEB } /* Literal.String.Interpol */ -.codehilite .sx { color: #87CEEB } /* Literal.String.Other */ -.codehilite .sr { color: #87CEEB } /* Literal.String.Regex */ -.codehilite .s1 { color: #87CEEB } /* Literal.String.Single */ -.codehilite .ss { color: #87CEEB } /* Literal.String.Symbol */ -.codehilite .bp { color: #DDD } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #FF0 } /* Name.Function.Magic */ -.codehilite .vc { color: #EEDD82 } /* Name.Variable.Class */ -.codehilite .vg { color: #EEDD82 } /* Name.Variable.Global */ -.codehilite .vi { color: #EEDD82 } /* Name.Variable.Instance */ -.codehilite .vm { color: #EEDD82 } /* Name.Variable.Magic */ -.codehilite .il { color: #F0F } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/sas.css b/site/css/pygments/sas.css deleted file mode 100644 index 6729993..0000000 --- a/site/css/pygments/sas.css +++ /dev/null @@ -1,66 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ffffcc } -.codehilite { background: #ffffff; } -.codehilite .c { color: #080; font-style: italic } /* Comment */ -.codehilite .err { color: #A61717; background-color: #E3D2D2 } /* Error */ -.codehilite .g { color: #2C2CFF } /* Generic */ -.codehilite .k { color: #2C2CFF } /* Keyword */ -.codehilite .x { background-color: #FFFFE0 } /* Other */ -.codehilite .ch { color: #080; font-style: italic } /* Comment.Hashbang */ -.codehilite .cm { color: #080; font-style: italic } /* Comment.Multiline */ -.codehilite .cp { color: #080; font-style: italic } /* Comment.Preproc */ -.codehilite .cpf { color: #080; font-style: italic } /* Comment.PreprocFile */ -.codehilite .c1 { color: #080; font-style: italic } /* Comment.Single */ -.codehilite .cs { color: #080; font-style: italic } /* Comment.Special */ -.codehilite .gd { color: #2C2CFF } /* Generic.Deleted */ -.codehilite .ge { color: #080 } /* Generic.Emph */ -.codehilite .ges { color: #2C2CFF } /* Generic.EmphStrong */ -.codehilite .gr { color: #D30202 } /* Generic.Error */ -.codehilite .gh { color: #2C2CFF } /* Generic.Heading */ -.codehilite .gi { color: #2C2CFF } /* Generic.Inserted */ -.codehilite .go { color: #2C2CFF } /* Generic.Output */ -.codehilite .gp { color: #2C2CFF } /* Generic.Prompt */ -.codehilite .gs { color: #2C2CFF } /* Generic.Strong */ -.codehilite .gu { color: #2C2CFF } /* Generic.Subheading */ -.codehilite .gt { color: #2C2CFF } /* Generic.Traceback */ -.codehilite .kc { color: #2C2CFF; font-weight: bold } /* Keyword.Constant */ -.codehilite .kd { color: #2C2CFF } /* Keyword.Declaration */ -.codehilite .kn { color: #2C2CFF } /* Keyword.Namespace */ -.codehilite .kp { color: #2C2CFF } /* Keyword.Pseudo */ -.codehilite .kr { color: #353580; font-weight: bold } /* Keyword.Reserved */ -.codehilite .kt { color: #2C2CFF } /* Keyword.Type */ -.codehilite .m { color: #2C8553; font-weight: bold } /* Literal.Number */ -.codehilite .s { color: #800080 } /* Literal.String */ -.codehilite .nb { color: #2C2CFF } /* Name.Builtin */ -.codehilite .nf { font-weight: bold; font-style: italic } /* Name.Function */ -.codehilite .nv { color: #2C2CFF; font-weight: bold } /* Name.Variable */ -.codehilite .w { color: #BBB } /* Text.Whitespace */ -.codehilite .mb { color: #2C8553; font-weight: bold } /* Literal.Number.Bin */ -.codehilite .mf { color: #2C8553; font-weight: bold } /* Literal.Number.Float */ -.codehilite .mh { color: #2C8553; font-weight: bold } /* Literal.Number.Hex */ -.codehilite .mi { color: #2C8553; font-weight: bold } /* Literal.Number.Integer */ -.codehilite .mo { color: #2C8553; font-weight: bold } /* Literal.Number.Oct */ -.codehilite .sa { color: #800080 } /* Literal.String.Affix */ -.codehilite .sb { color: #800080 } /* Literal.String.Backtick */ -.codehilite .sc { color: #800080 } /* Literal.String.Char */ -.codehilite .dl { color: #800080 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #800080 } /* Literal.String.Doc */ -.codehilite .s2 { color: #800080 } /* Literal.String.Double */ -.codehilite .se { color: #800080 } /* Literal.String.Escape */ -.codehilite .sh { color: #800080 } /* Literal.String.Heredoc */ -.codehilite .si { color: #800080 } /* Literal.String.Interpol */ -.codehilite .sx { color: #800080 } /* Literal.String.Other */ -.codehilite .sr { color: #800080 } /* Literal.String.Regex */ -.codehilite .s1 { color: #800080 } /* Literal.String.Single */ -.codehilite .ss { color: #800080 } /* Literal.String.Symbol */ -.codehilite .bp { color: #2C2CFF } /* Name.Builtin.Pseudo */ -.codehilite .fm { font-weight: bold; font-style: italic } /* Name.Function.Magic */ -.codehilite .vc { color: #2C2CFF; font-weight: bold } /* Name.Variable.Class */ -.codehilite .vg { color: #2C2CFF; font-weight: bold } /* Name.Variable.Global */ -.codehilite .vi { color: #2C2CFF; font-weight: bold } /* Name.Variable.Instance */ -.codehilite .vm { color: #2C2CFF; font-weight: bold } /* Name.Variable.Magic */ -.codehilite .il { color: #2C8553; font-weight: bold } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/shadcn-light.css b/site/css/pygments/shadcn-light.css deleted file mode 100644 index 7b8e70b..0000000 --- a/site/css/pygments/shadcn-light.css +++ /dev/null @@ -1,244 +0,0 @@ -pre { - line-height: 125%; -} -td.linenos .normal { - color: inherit; - background-color: transparent; - padding-left: 5px; - padding-right: 5px; -} -span.linenos { - color: inherit; - background-color: transparent; - padding-left: 5px; - padding-right: 5px; -} -td.linenos .special { - color: #000000; - background-color: #ffffc0; - padding-left: 5px; - padding-right: 5px; -} -span.linenos.special { - color: #000000; - background-color: #ffffc0; - padding-left: 5px; - padding-right: 5px; -} -.codehilite .hll { - background-color: var(--color-code-highlight); -} -.codehilite { - background: var(--color-code); - color: var(--color-code-foreground); -} -.codehilite .c { - color: #6e7781; -} /* Comment */ -.codehilite .err { - color: #cf222e; -} /* Error */ -.codehilite .k { - color: #cf222e; -} /* Keyword */ -.codehilite .l { - color: #953800; -} /* Literal */ -.codehilite .n { - color: #8250df; -} /* Name */ -.codehilite .o { - color: #116329; -} /* Operator */ -.codehilite .p { - color: #24292f; -} /* Punctuation */ -.codehilite .ch { - color: #6e7781; -} /* Comment.Hashbang */ -.codehilite .cm { - color: #6e7781; -} /* Comment.Multiline */ -.codehilite .cp { - color: #6e7781; -} /* Comment.Preproc */ -.codehilite .cpf { - color: #6e7781; -} /* Comment.PreprocFile */ -.codehilite .c1 { - color: #6e7781; -} /* Comment.Single */ -.codehilite .cs { - color: #6e7781; -} /* Comment.Special */ -.codehilite .gd { - color: #0550ae; -} /* Generic.Deleted */ -.codehilite .ge { - font-style: italic; -} /* Generic.Emph */ -.codehilite .gr { - color: #cf222e; -} /* Generic.Error */ -.codehilite .gh { - color: #0550ae; -} /* Generic.Heading */ -.codehilite .gs { - font-weight: bold; -} /* Generic.Strong */ -.codehilite .gu { - color: #0550ae; -} /* Generic.Subheading */ -.codehilite .kc { - color: #0550ae; -} /* Keyword.Constant */ -.codehilite .kd { - color: #cf222e; -} /* Keyword.Declaration */ -.codehilite .kn { - color: #cf222e; -} /* Keyword.Namespace */ -.codehilite .kp { - color: #cf222e; -} /* Keyword.Pseudo */ -.codehilite .kr { - color: #cf222e; -} /* Keyword.Reserved */ -.codehilite .kt { - color: #cf222e; -} /* Keyword.Type */ -.codehilite .ld { - color: #953800; -} /* Literal.Date */ -.codehilite .m { - color: #953800; -} /* Literal.Number */ -.codehilite .s { - color: #0a3069; -} /* Literal.String */ -.codehilite .na { - color: #0550ae; -} /* Name.Attribute */ -.codehilite .nb { - color: #953800; -} /* Name.Builtin */ -.codehilite .nc { - color: #0550ae; -} /* Name.Class */ -.codehilite .no { - color: #0550ae; -} /* Name.Constant */ -.codehilite .nd { - color: #0550ae; -} /* Name.Decorator */ -.codehilite .ni { - color: #116329; -} /* Name.Entity */ -.codehilite .ne { - color: #8250df; -} /* Name.Exception */ -.codehilite .nf { - color: #0550ae; -} /* Name.Function */ -.codehilite .nl { - color: #953800; -} /* Name.Label */ -.codehilite .nn { - color: #24292f; -} /* Name.Namespace */ -.codehilite .nx { - color: #1f2328; -} /* Name.Other */ -.codehilite .py { - color: #0550ae; -} /* Name.Property */ -.codehilite .nt { - color: #116329; -} /* Name.Tag */ -.codehilite .nv { - color: #953800; -} /* Name.Variable */ -.codehilite .ow { - color: #8250df; -} /* Operator.Word */ -.codehilite .pm { - color: #24292f; -} /* Punctuation.Marker */ -.codehilite .w { - color: #24292f; -} /* Text.Whitespace */ -.codehilite .mb { - color: #953800; -} /* Literal.Number.Bin */ -.codehilite .mf { - color: #0550ae; -} /* Literal.Number.Float */ -.codehilite .mh { - color: #953800; -} /* Literal.Number.Hex */ -.codehilite .mi { - color: #0550ae; -} /* Literal.Number.Integer */ -.codehilite .mo { - color: #953800; -} /* Literal.Number.Oct */ -.codehilite .sa { - color: #0550ae; -} /* Literal.String.Affix */ -.codehilite .sb { - color: #0550ae; -} /* Literal.String.Backtick */ -.codehilite .sc { - color: #0550ae; -} /* Literal.String.Char */ -.codehilite .dl { - color: #0550ae; -} /* Literal.String.Delimiter */ -.codehilite .sd { - color: #0550ae; -} /* Literal.String.Doc */ -.codehilite .s2 { - color: #0550ae; -} /* Literal.String.Double */ -.codehilite .se { - color: #0550ae; -} /* Literal.String.Escape */ -.codehilite .sh { - color: #0550ae; -} /* Literal.String.Heredoc */ -.codehilite .si { - color: #0550ae; -} /* Literal.String.Interpol */ -.codehilite .sx { - color: #0550ae; -} /* Literal.String.Other */ -.codehilite .sr { - color: #0550ae; -} /* Literal.String.Regex */ -.codehilite .s1 { - color: #0550ae; -} /* Literal.String.Single */ -.codehilite .ss { - color: #0550ae; -} /* Literal.String.Symbol */ -.codehilite .bp { - color: #953800; -} /* Name.Builtin.Pseudo */ -.codehilite .fm { - color: #0550ae; -} /* Name.Function.Magic */ -.codehilite .vc { - color: #953800; -} /* Name.Variable.Class */ -.codehilite .vg { - color: #953800; -} /* Name.Variable.Global */ -.codehilite .vi { - color: #953800; -} /* Name.Variable.Instance */ -.codehilite .vm { - color: #953800; -} /* Name.Variable.Magic */ -.codehilite .il { - color: #953800; -} /* Literal.Number.Integer.Long */ diff --git a/site/css/pygments/solarized-dark.css b/site/css/pygments/solarized-dark.css deleted file mode 100644 index 606d0da..0000000 --- a/site/css/pygments/solarized-dark.css +++ /dev/null @@ -1,85 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: #586e75; background-color: #073642; padding-left: 5px; padding-right: 5px; } -span.linenos { color: #586e75; background-color: #073642; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #073642 } -.codehilite { background: #002b36; color: #839496 } -.codehilite .c { color: #586E75; font-style: italic } /* Comment */ -.codehilite .err { color: #839496; background-color: #DC322F } /* Error */ -.codehilite .esc { color: #839496 } /* Escape */ -.codehilite .g { color: #839496 } /* Generic */ -.codehilite .k { color: #859900 } /* Keyword */ -.codehilite .l { color: #839496 } /* Literal */ -.codehilite .n { color: #839496 } /* Name */ -.codehilite .o { color: #586E75 } /* Operator */ -.codehilite .x { color: #839496 } /* Other */ -.codehilite .p { color: #839496 } /* Punctuation */ -.codehilite .ch { color: #586E75; font-style: italic } /* Comment.Hashbang */ -.codehilite .cm { color: #586E75; font-style: italic } /* Comment.Multiline */ -.codehilite .cp { color: #D33682 } /* Comment.Preproc */ -.codehilite .cpf { color: #586E75 } /* Comment.PreprocFile */ -.codehilite .c1 { color: #586E75; font-style: italic } /* Comment.Single */ -.codehilite .cs { color: #586E75; font-style: italic } /* Comment.Special */ -.codehilite .gd { color: #DC322F } /* Generic.Deleted */ -.codehilite .ge { color: #839496; font-style: italic } /* Generic.Emph */ -.codehilite .ges { color: #839496; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite .gr { color: #DC322F } /* Generic.Error */ -.codehilite .gh { color: #839496; font-weight: bold } /* Generic.Heading */ -.codehilite .gi { color: #859900 } /* Generic.Inserted */ -.codehilite .go { color: #839496 } /* Generic.Output */ -.codehilite .gp { color: #268BD2; font-weight: bold } /* Generic.Prompt */ -.codehilite .gs { color: #839496; font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #839496; text-decoration: underline } /* Generic.Subheading */ -.codehilite .gt { color: #268BD2 } /* Generic.Traceback */ -.codehilite .kc { color: #2AA198 } /* Keyword.Constant */ -.codehilite .kd { color: #2AA198 } /* Keyword.Declaration */ -.codehilite .kn { color: #CB4B16 } /* Keyword.Namespace */ -.codehilite .kp { color: #859900 } /* Keyword.Pseudo */ -.codehilite .kr { color: #859900 } /* Keyword.Reserved */ -.codehilite .kt { color: #B58900 } /* Keyword.Type */ -.codehilite .ld { color: #839496 } /* Literal.Date */ -.codehilite .m { color: #2AA198 } /* Literal.Number */ -.codehilite .s { color: #2AA198 } /* Literal.String */ -.codehilite .na { color: #839496 } /* Name.Attribute */ -.codehilite .nb { color: #268BD2 } /* Name.Builtin */ -.codehilite .nc { color: #268BD2 } /* Name.Class */ -.codehilite .no { color: #268BD2 } /* Name.Constant */ -.codehilite .nd { color: #268BD2 } /* Name.Decorator */ -.codehilite .ni { color: #268BD2 } /* Name.Entity */ -.codehilite .ne { color: #268BD2 } /* Name.Exception */ -.codehilite .nf { color: #268BD2 } /* Name.Function */ -.codehilite .nl { color: #268BD2 } /* Name.Label */ -.codehilite .nn { color: #268BD2 } /* Name.Namespace */ -.codehilite .nx { color: #839496 } /* Name.Other */ -.codehilite .py { color: #839496 } /* Name.Property */ -.codehilite .nt { color: #268BD2 } /* Name.Tag */ -.codehilite .nv { color: #268BD2 } /* Name.Variable */ -.codehilite .ow { color: #859900 } /* Operator.Word */ -.codehilite .pm { color: #839496 } /* Punctuation.Marker */ -.codehilite .w { color: #839496 } /* Text.Whitespace */ -.codehilite .mb { color: #2AA198 } /* Literal.Number.Bin */ -.codehilite .mf { color: #2AA198 } /* Literal.Number.Float */ -.codehilite .mh { color: #2AA198 } /* Literal.Number.Hex */ -.codehilite .mi { color: #2AA198 } /* Literal.Number.Integer */ -.codehilite .mo { color: #2AA198 } /* Literal.Number.Oct */ -.codehilite .sa { color: #2AA198 } /* Literal.String.Affix */ -.codehilite .sb { color: #2AA198 } /* Literal.String.Backtick */ -.codehilite .sc { color: #2AA198 } /* Literal.String.Char */ -.codehilite .dl { color: #2AA198 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #586E75 } /* Literal.String.Doc */ -.codehilite .s2 { color: #2AA198 } /* Literal.String.Double */ -.codehilite .se { color: #2AA198 } /* Literal.String.Escape */ -.codehilite .sh { color: #2AA198 } /* Literal.String.Heredoc */ -.codehilite .si { color: #2AA198 } /* Literal.String.Interpol */ -.codehilite .sx { color: #2AA198 } /* Literal.String.Other */ -.codehilite .sr { color: #CB4B16 } /* Literal.String.Regex */ -.codehilite .s1 { color: #2AA198 } /* Literal.String.Single */ -.codehilite .ss { color: #2AA198 } /* Literal.String.Symbol */ -.codehilite .bp { color: #268BD2 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #268BD2 } /* Name.Function.Magic */ -.codehilite .vc { color: #268BD2 } /* Name.Variable.Class */ -.codehilite .vg { color: #268BD2 } /* Name.Variable.Global */ -.codehilite .vi { color: #268BD2 } /* Name.Variable.Instance */ -.codehilite .vm { color: #268BD2 } /* Name.Variable.Magic */ -.codehilite .il { color: #2AA198 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/solarized-light.css b/site/css/pygments/solarized-light.css deleted file mode 100644 index 138f83d..0000000 --- a/site/css/pygments/solarized-light.css +++ /dev/null @@ -1,85 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: #93a1a1; background-color: #eee8d5; padding-left: 5px; padding-right: 5px; } -span.linenos { color: #93a1a1; background-color: #eee8d5; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #eee8d5 } -.codehilite { background: #fdf6e3; color: #657B83 } -.codehilite .c { color: #93A1A1; font-style: italic } /* Comment */ -.codehilite .err { color: #657B83; background-color: #DC322F } /* Error */ -.codehilite .esc { color: #657B83 } /* Escape */ -.codehilite .g { color: #657B83 } /* Generic */ -.codehilite .k { color: #859900 } /* Keyword */ -.codehilite .l { color: #657B83 } /* Literal */ -.codehilite .n { color: #657B83 } /* Name */ -.codehilite .o { color: #93A1A1 } /* Operator */ -.codehilite .x { color: #657B83 } /* Other */ -.codehilite .p { color: #657B83 } /* Punctuation */ -.codehilite .ch { color: #93A1A1; font-style: italic } /* Comment.Hashbang */ -.codehilite .cm { color: #93A1A1; font-style: italic } /* Comment.Multiline */ -.codehilite .cp { color: #D33682 } /* Comment.Preproc */ -.codehilite .cpf { color: #93A1A1 } /* Comment.PreprocFile */ -.codehilite .c1 { color: #93A1A1; font-style: italic } /* Comment.Single */ -.codehilite .cs { color: #93A1A1; font-style: italic } /* Comment.Special */ -.codehilite .gd { color: #DC322F } /* Generic.Deleted */ -.codehilite .ge { color: #657B83; font-style: italic } /* Generic.Emph */ -.codehilite .ges { color: #657B83; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite .gr { color: #DC322F } /* Generic.Error */ -.codehilite .gh { color: #657B83; font-weight: bold } /* Generic.Heading */ -.codehilite .gi { color: #859900 } /* Generic.Inserted */ -.codehilite .go { color: #657B83 } /* Generic.Output */ -.codehilite .gp { color: #268BD2; font-weight: bold } /* Generic.Prompt */ -.codehilite .gs { color: #657B83; font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #657B83; text-decoration: underline } /* Generic.Subheading */ -.codehilite .gt { color: #268BD2 } /* Generic.Traceback */ -.codehilite .kc { color: #2AA198 } /* Keyword.Constant */ -.codehilite .kd { color: #2AA198 } /* Keyword.Declaration */ -.codehilite .kn { color: #CB4B16 } /* Keyword.Namespace */ -.codehilite .kp { color: #859900 } /* Keyword.Pseudo */ -.codehilite .kr { color: #859900 } /* Keyword.Reserved */ -.codehilite .kt { color: #B58900 } /* Keyword.Type */ -.codehilite .ld { color: #657B83 } /* Literal.Date */ -.codehilite .m { color: #2AA198 } /* Literal.Number */ -.codehilite .s { color: #2AA198 } /* Literal.String */ -.codehilite .na { color: #657B83 } /* Name.Attribute */ -.codehilite .nb { color: #268BD2 } /* Name.Builtin */ -.codehilite .nc { color: #268BD2 } /* Name.Class */ -.codehilite .no { color: #268BD2 } /* Name.Constant */ -.codehilite .nd { color: #268BD2 } /* Name.Decorator */ -.codehilite .ni { color: #268BD2 } /* Name.Entity */ -.codehilite .ne { color: #268BD2 } /* Name.Exception */ -.codehilite .nf { color: #268BD2 } /* Name.Function */ -.codehilite .nl { color: #268BD2 } /* Name.Label */ -.codehilite .nn { color: #268BD2 } /* Name.Namespace */ -.codehilite .nx { color: #657B83 } /* Name.Other */ -.codehilite .py { color: #657B83 } /* Name.Property */ -.codehilite .nt { color: #268BD2 } /* Name.Tag */ -.codehilite .nv { color: #268BD2 } /* Name.Variable */ -.codehilite .ow { color: #859900 } /* Operator.Word */ -.codehilite .pm { color: #657B83 } /* Punctuation.Marker */ -.codehilite .w { color: #657B83 } /* Text.Whitespace */ -.codehilite .mb { color: #2AA198 } /* Literal.Number.Bin */ -.codehilite .mf { color: #2AA198 } /* Literal.Number.Float */ -.codehilite .mh { color: #2AA198 } /* Literal.Number.Hex */ -.codehilite .mi { color: #2AA198 } /* Literal.Number.Integer */ -.codehilite .mo { color: #2AA198 } /* Literal.Number.Oct */ -.codehilite .sa { color: #2AA198 } /* Literal.String.Affix */ -.codehilite .sb { color: #2AA198 } /* Literal.String.Backtick */ -.codehilite .sc { color: #2AA198 } /* Literal.String.Char */ -.codehilite .dl { color: #2AA198 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #93A1A1 } /* Literal.String.Doc */ -.codehilite .s2 { color: #2AA198 } /* Literal.String.Double */ -.codehilite .se { color: #2AA198 } /* Literal.String.Escape */ -.codehilite .sh { color: #2AA198 } /* Literal.String.Heredoc */ -.codehilite .si { color: #2AA198 } /* Literal.String.Interpol */ -.codehilite .sx { color: #2AA198 } /* Literal.String.Other */ -.codehilite .sr { color: #CB4B16 } /* Literal.String.Regex */ -.codehilite .s1 { color: #2AA198 } /* Literal.String.Single */ -.codehilite .ss { color: #2AA198 } /* Literal.String.Symbol */ -.codehilite .bp { color: #268BD2 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #268BD2 } /* Name.Function.Magic */ -.codehilite .vc { color: #268BD2 } /* Name.Variable.Class */ -.codehilite .vg { color: #268BD2 } /* Name.Variable.Global */ -.codehilite .vi { color: #268BD2 } /* Name.Variable.Instance */ -.codehilite .vm { color: #268BD2 } /* Name.Variable.Magic */ -.codehilite .il { color: #2AA198 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/staroffice.css b/site/css/pygments/staroffice.css deleted file mode 100644 index e2e800a..0000000 --- a/site/css/pygments/staroffice.css +++ /dev/null @@ -1,85 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ffffcc } -.codehilite { background: #ffffff; color: #000080 } -.codehilite .c { color: #696969 } /* Comment */ -.codehilite .err { color: #800000 } /* Error */ -.codehilite .esc { color: #000080 } /* Escape */ -.codehilite .g { color: #000080 } /* Generic */ -.codehilite .k { color: #000080 } /* Keyword */ -.codehilite .l { color: #E00 } /* Literal */ -.codehilite .n { color: #008000 } /* Name */ -.codehilite .o { color: #000080 } /* Operator */ -.codehilite .x { color: #000080 } /* Other */ -.codehilite .p { color: #000080 } /* Punctuation */ -.codehilite .ch { color: #696969 } /* Comment.Hashbang */ -.codehilite .cm { color: #696969 } /* Comment.Multiline */ -.codehilite .cp { color: #696969 } /* Comment.Preproc */ -.codehilite .cpf { color: #696969 } /* Comment.PreprocFile */ -.codehilite .c1 { color: #696969 } /* Comment.Single */ -.codehilite .cs { color: #696969 } /* Comment.Special */ -.codehilite .gd { color: #000080 } /* Generic.Deleted */ -.codehilite .ge { color: #000080 } /* Generic.Emph */ -.codehilite .ges { color: #000080 } /* Generic.EmphStrong */ -.codehilite .gr { color: #000080 } /* Generic.Error */ -.codehilite .gh { color: #000080 } /* Generic.Heading */ -.codehilite .gi { color: #000080 } /* Generic.Inserted */ -.codehilite .go { color: #000080 } /* Generic.Output */ -.codehilite .gp { color: #000080 } /* Generic.Prompt */ -.codehilite .gs { color: #000080 } /* Generic.Strong */ -.codehilite .gu { color: #000080 } /* Generic.Subheading */ -.codehilite .gt { color: #000080 } /* Generic.Traceback */ -.codehilite .kc { color: #000080 } /* Keyword.Constant */ -.codehilite .kd { color: #000080 } /* Keyword.Declaration */ -.codehilite .kn { color: #000080 } /* Keyword.Namespace */ -.codehilite .kp { color: #000080 } /* Keyword.Pseudo */ -.codehilite .kr { color: #000080 } /* Keyword.Reserved */ -.codehilite .kt { color: #000080 } /* Keyword.Type */ -.codehilite .ld { color: #E00 } /* Literal.Date */ -.codehilite .m { color: #E00 } /* Literal.Number */ -.codehilite .s { color: #E00 } /* Literal.String */ -.codehilite .na { color: #008000 } /* Name.Attribute */ -.codehilite .nb { color: #008000 } /* Name.Builtin */ -.codehilite .nc { color: #008000 } /* Name.Class */ -.codehilite .no { color: #008000 } /* Name.Constant */ -.codehilite .nd { color: #008000 } /* Name.Decorator */ -.codehilite .ni { color: #008000 } /* Name.Entity */ -.codehilite .ne { color: #008000 } /* Name.Exception */ -.codehilite .nf { color: #008000 } /* Name.Function */ -.codehilite .nl { color: #008000 } /* Name.Label */ -.codehilite .nn { color: #008000 } /* Name.Namespace */ -.codehilite .nx { color: #008000 } /* Name.Other */ -.codehilite .py { color: #008000 } /* Name.Property */ -.codehilite .nt { color: #008000 } /* Name.Tag */ -.codehilite .nv { color: #008000 } /* Name.Variable */ -.codehilite .ow { color: #000080 } /* Operator.Word */ -.codehilite .pm { color: #000080 } /* Punctuation.Marker */ -.codehilite .w { color: #000080 } /* Text.Whitespace */ -.codehilite .mb { color: #E00 } /* Literal.Number.Bin */ -.codehilite .mf { color: #E00 } /* Literal.Number.Float */ -.codehilite .mh { color: #E00 } /* Literal.Number.Hex */ -.codehilite .mi { color: #E00 } /* Literal.Number.Integer */ -.codehilite .mo { color: #E00 } /* Literal.Number.Oct */ -.codehilite .sa { color: #E00 } /* Literal.String.Affix */ -.codehilite .sb { color: #E00 } /* Literal.String.Backtick */ -.codehilite .sc { color: #E00 } /* Literal.String.Char */ -.codehilite .dl { color: #E00 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #E00 } /* Literal.String.Doc */ -.codehilite .s2 { color: #E00 } /* Literal.String.Double */ -.codehilite .se { color: #E00 } /* Literal.String.Escape */ -.codehilite .sh { color: #E00 } /* Literal.String.Heredoc */ -.codehilite .si { color: #E00 } /* Literal.String.Interpol */ -.codehilite .sx { color: #E00 } /* Literal.String.Other */ -.codehilite .sr { color: #E00 } /* Literal.String.Regex */ -.codehilite .s1 { color: #E00 } /* Literal.String.Single */ -.codehilite .ss { color: #E00 } /* Literal.String.Symbol */ -.codehilite .bp { color: #008000 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #008000 } /* Name.Function.Magic */ -.codehilite .vc { color: #008000 } /* Name.Variable.Class */ -.codehilite .vg { color: #008000 } /* Name.Variable.Global */ -.codehilite .vi { color: #008000 } /* Name.Variable.Instance */ -.codehilite .vm { color: #008000 } /* Name.Variable.Magic */ -.codehilite .il { color: #E00 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/stata-dark.css b/site/css/pygments/stata-dark.css deleted file mode 100644 index 9152dff..0000000 --- a/site/css/pygments/stata-dark.css +++ /dev/null @@ -1,85 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #49483e } -.codehilite { background: #232629; color: #CCC } -.codehilite .c { color: #777; font-style: italic } /* Comment */ -.codehilite .err { color: #A61717; background-color: #E3D2D2 } /* Error */ -.codehilite .esc { color: #CCC } /* Escape */ -.codehilite .g { color: #CCC } /* Generic */ -.codehilite .k { color: #7686BB; font-weight: bold } /* Keyword */ -.codehilite .l { color: #CCC } /* Literal */ -.codehilite .n { color: #CCC } /* Name */ -.codehilite .o { color: #CCC } /* Operator */ -.codehilite .x { color: #CCC } /* Other */ -.codehilite .p { color: #CCC } /* Punctuation */ -.codehilite .ch { color: #777; font-style: italic } /* Comment.Hashbang */ -.codehilite .cm { color: #777; font-style: italic } /* Comment.Multiline */ -.codehilite .cp { color: #777; font-style: italic } /* Comment.Preproc */ -.codehilite .cpf { color: #777; font-style: italic } /* Comment.PreprocFile */ -.codehilite .c1 { color: #777; font-style: italic } /* Comment.Single */ -.codehilite .cs { color: #777; font-style: italic } /* Comment.Special */ -.codehilite .gd { color: #CCC } /* Generic.Deleted */ -.codehilite .ge { color: #CCC } /* Generic.Emph */ -.codehilite .ges { color: #CCC } /* Generic.EmphStrong */ -.codehilite .gr { color: #CCC } /* Generic.Error */ -.codehilite .gh { color: #CCC } /* Generic.Heading */ -.codehilite .gi { color: #CCC } /* Generic.Inserted */ -.codehilite .go { color: #CCC } /* Generic.Output */ -.codehilite .gp { color: #FFF } /* Generic.Prompt */ -.codehilite .gs { color: #CCC } /* Generic.Strong */ -.codehilite .gu { color: #CCC } /* Generic.Subheading */ -.codehilite .gt { color: #CCC } /* Generic.Traceback */ -.codehilite .kc { color: #7686BB; font-weight: bold } /* Keyword.Constant */ -.codehilite .kd { color: #7686BB; font-weight: bold } /* Keyword.Declaration */ -.codehilite .kn { color: #7686BB; font-weight: bold } /* Keyword.Namespace */ -.codehilite .kp { color: #7686BB; font-weight: bold } /* Keyword.Pseudo */ -.codehilite .kr { color: #7686BB; font-weight: bold } /* Keyword.Reserved */ -.codehilite .kt { color: #7686BB; font-weight: bold } /* Keyword.Type */ -.codehilite .ld { color: #CCC } /* Literal.Date */ -.codehilite .m { color: #4FB8CC } /* Literal.Number */ -.codehilite .s { color: #51CC99 } /* Literal.String */ -.codehilite .na { color: #CCC } /* Name.Attribute */ -.codehilite .nb { color: #CCC } /* Name.Builtin */ -.codehilite .nc { color: #CCC } /* Name.Class */ -.codehilite .no { color: #CCC } /* Name.Constant */ -.codehilite .nd { color: #CCC } /* Name.Decorator */ -.codehilite .ni { color: #CCC } /* Name.Entity */ -.codehilite .ne { color: #CCC } /* Name.Exception */ -.codehilite .nf { color: #6A6AFF } /* Name.Function */ -.codehilite .nl { color: #CCC } /* Name.Label */ -.codehilite .nn { color: #CCC } /* Name.Namespace */ -.codehilite .nx { color: #E2828E } /* Name.Other */ -.codehilite .py { color: #CCC } /* Name.Property */ -.codehilite .nt { color: #CCC } /* Name.Tag */ -.codehilite .nv { color: #7AB4DB; font-weight: bold } /* Name.Variable */ -.codehilite .ow { color: #CCC } /* Operator.Word */ -.codehilite .pm { color: #CCC } /* Punctuation.Marker */ -.codehilite .w { color: #BBB } /* Text.Whitespace */ -.codehilite .mb { color: #4FB8CC } /* Literal.Number.Bin */ -.codehilite .mf { color: #4FB8CC } /* Literal.Number.Float */ -.codehilite .mh { color: #4FB8CC } /* Literal.Number.Hex */ -.codehilite .mi { color: #4FB8CC } /* Literal.Number.Integer */ -.codehilite .mo { color: #4FB8CC } /* Literal.Number.Oct */ -.codehilite .sa { color: #51CC99 } /* Literal.String.Affix */ -.codehilite .sb { color: #51CC99 } /* Literal.String.Backtick */ -.codehilite .sc { color: #51CC99 } /* Literal.String.Char */ -.codehilite .dl { color: #51CC99 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #51CC99 } /* Literal.String.Doc */ -.codehilite .s2 { color: #51CC99 } /* Literal.String.Double */ -.codehilite .se { color: #51CC99 } /* Literal.String.Escape */ -.codehilite .sh { color: #51CC99 } /* Literal.String.Heredoc */ -.codehilite .si { color: #51CC99 } /* Literal.String.Interpol */ -.codehilite .sx { color: #51CC99 } /* Literal.String.Other */ -.codehilite .sr { color: #51CC99 } /* Literal.String.Regex */ -.codehilite .s1 { color: #51CC99 } /* Literal.String.Single */ -.codehilite .ss { color: #51CC99 } /* Literal.String.Symbol */ -.codehilite .bp { color: #CCC } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #6A6AFF } /* Name.Function.Magic */ -.codehilite .vc { color: #7AB4DB; font-weight: bold } /* Name.Variable.Class */ -.codehilite .vg { color: #BE646C; font-weight: bold } /* Name.Variable.Global */ -.codehilite .vi { color: #7AB4DB; font-weight: bold } /* Name.Variable.Instance */ -.codehilite .vm { color: #7AB4DB; font-weight: bold } /* Name.Variable.Magic */ -.codehilite .il { color: #4FB8CC } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/stata-light.css b/site/css/pygments/stata-light.css deleted file mode 100644 index eaab81b..0000000 --- a/site/css/pygments/stata-light.css +++ /dev/null @@ -1,52 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ffffcc } -.codehilite { background: #ffffff; color: #111 } -.codehilite .c { color: #080; font-style: italic } /* Comment */ -.codehilite .err { color: #A61717; background-color: #E3D2D2 } /* Error */ -.codehilite .k { color: #353580; font-weight: bold } /* Keyword */ -.codehilite .ch { color: #080; font-style: italic } /* Comment.Hashbang */ -.codehilite .cm { color: #080; font-style: italic } /* Comment.Multiline */ -.codehilite .cp { color: #080; font-style: italic } /* Comment.Preproc */ -.codehilite .cpf { color: #080; font-style: italic } /* Comment.PreprocFile */ -.codehilite .c1 { color: #080; font-style: italic } /* Comment.Single */ -.codehilite .cs { color: #080; font-style: italic } /* Comment.Special */ -.codehilite .kc { color: #353580; font-weight: bold } /* Keyword.Constant */ -.codehilite .kd { color: #353580; font-weight: bold } /* Keyword.Declaration */ -.codehilite .kn { color: #353580; font-weight: bold } /* Keyword.Namespace */ -.codehilite .kp { color: #353580; font-weight: bold } /* Keyword.Pseudo */ -.codehilite .kr { color: #353580; font-weight: bold } /* Keyword.Reserved */ -.codehilite .kt { color: #353580; font-weight: bold } /* Keyword.Type */ -.codehilite .m { color: #2C2CFF } /* Literal.Number */ -.codehilite .s { color: #7A2424 } /* Literal.String */ -.codehilite .nf { color: #2C2CFF } /* Name.Function */ -.codehilite .nx { color: #BE646C } /* Name.Other */ -.codehilite .nv { color: #35BABA; font-weight: bold } /* Name.Variable */ -.codehilite .w { color: #BBB } /* Text.Whitespace */ -.codehilite .mb { color: #2C2CFF } /* Literal.Number.Bin */ -.codehilite .mf { color: #2C2CFF } /* Literal.Number.Float */ -.codehilite .mh { color: #2C2CFF } /* Literal.Number.Hex */ -.codehilite .mi { color: #2C2CFF } /* Literal.Number.Integer */ -.codehilite .mo { color: #2C2CFF } /* Literal.Number.Oct */ -.codehilite .sa { color: #7A2424 } /* Literal.String.Affix */ -.codehilite .sb { color: #7A2424 } /* Literal.String.Backtick */ -.codehilite .sc { color: #7A2424 } /* Literal.String.Char */ -.codehilite .dl { color: #7A2424 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #7A2424 } /* Literal.String.Doc */ -.codehilite .s2 { color: #7A2424 } /* Literal.String.Double */ -.codehilite .se { color: #7A2424 } /* Literal.String.Escape */ -.codehilite .sh { color: #7A2424 } /* Literal.String.Heredoc */ -.codehilite .si { color: #7A2424 } /* Literal.String.Interpol */ -.codehilite .sx { color: #7A2424 } /* Literal.String.Other */ -.codehilite .sr { color: #7A2424 } /* Literal.String.Regex */ -.codehilite .s1 { color: #7A2424 } /* Literal.String.Single */ -.codehilite .ss { color: #7A2424 } /* Literal.String.Symbol */ -.codehilite .fm { color: #2C2CFF } /* Name.Function.Magic */ -.codehilite .vc { color: #35BABA; font-weight: bold } /* Name.Variable.Class */ -.codehilite .vg { color: #B5565E; font-weight: bold } /* Name.Variable.Global */ -.codehilite .vi { color: #35BABA; font-weight: bold } /* Name.Variable.Instance */ -.codehilite .vm { color: #35BABA; font-weight: bold } /* Name.Variable.Magic */ -.codehilite .il { color: #2C2CFF } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/tango.css b/site/css/pygments/tango.css deleted file mode 100644 index ef72254..0000000 --- a/site/css/pygments/tango.css +++ /dev/null @@ -1,84 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ffffcc } -.codehilite { background: #f8f8f8; } -.codehilite .c { color: #8F5902; font-style: italic } /* Comment */ -.codehilite .err { color: #A40000; border: 1px solid #EF2929 } /* Error */ -.codehilite .g { color: #000 } /* Generic */ -.codehilite .k { color: #204A87; font-weight: bold } /* Keyword */ -.codehilite .l { color: #000 } /* Literal */ -.codehilite .n { color: #000 } /* Name */ -.codehilite .o { color: #CE5C00; font-weight: bold } /* Operator */ -.codehilite .x { color: #000 } /* Other */ -.codehilite .p { color: #000; font-weight: bold } /* Punctuation */ -.codehilite .ch { color: #8F5902; font-style: italic } /* Comment.Hashbang */ -.codehilite .cm { color: #8F5902; font-style: italic } /* Comment.Multiline */ -.codehilite .cp { color: #8F5902; font-style: italic } /* Comment.Preproc */ -.codehilite .cpf { color: #8F5902; font-style: italic } /* Comment.PreprocFile */ -.codehilite .c1 { color: #8F5902; font-style: italic } /* Comment.Single */ -.codehilite .cs { color: #8F5902; font-style: italic } /* Comment.Special */ -.codehilite .gd { color: #A40000 } /* Generic.Deleted */ -.codehilite .ge { color: #000; font-style: italic } /* Generic.Emph */ -.codehilite .ges { color: #000; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite .gr { color: #EF2929 } /* Generic.Error */ -.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.codehilite .gi { color: #00A000 } /* Generic.Inserted */ -.codehilite .go { color: #000; font-style: italic } /* Generic.Output */ -.codehilite .gp { color: #8F5902 } /* Generic.Prompt */ -.codehilite .gs { color: #000; font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.codehilite .gt { color: #A40000; font-weight: bold } /* Generic.Traceback */ -.codehilite .kc { color: #204A87; font-weight: bold } /* Keyword.Constant */ -.codehilite .kd { color: #204A87; font-weight: bold } /* Keyword.Declaration */ -.codehilite .kn { color: #204A87; font-weight: bold } /* Keyword.Namespace */ -.codehilite .kp { color: #204A87; font-weight: bold } /* Keyword.Pseudo */ -.codehilite .kr { color: #204A87; font-weight: bold } /* Keyword.Reserved */ -.codehilite .kt { color: #204A87; font-weight: bold } /* Keyword.Type */ -.codehilite .ld { color: #000 } /* Literal.Date */ -.codehilite .m { color: #0000CF; font-weight: bold } /* Literal.Number */ -.codehilite .s { color: #4E9A06 } /* Literal.String */ -.codehilite .na { color: #C4A000 } /* Name.Attribute */ -.codehilite .nb { color: #204A87 } /* Name.Builtin */ -.codehilite .nc { color: #000 } /* Name.Class */ -.codehilite .no { color: #000 } /* Name.Constant */ -.codehilite .nd { color: #5C35CC; font-weight: bold } /* Name.Decorator */ -.codehilite .ni { color: #CE5C00 } /* Name.Entity */ -.codehilite .ne { color: #C00; font-weight: bold } /* Name.Exception */ -.codehilite .nf { color: #000 } /* Name.Function */ -.codehilite .nl { color: #F57900 } /* Name.Label */ -.codehilite .nn { color: #000 } /* Name.Namespace */ -.codehilite .nx { color: #000 } /* Name.Other */ -.codehilite .py { color: #000 } /* Name.Property */ -.codehilite .nt { color: #204A87; font-weight: bold } /* Name.Tag */ -.codehilite .nv { color: #000 } /* Name.Variable */ -.codehilite .ow { color: #204A87; font-weight: bold } /* Operator.Word */ -.codehilite .pm { color: #000; font-weight: bold } /* Punctuation.Marker */ -.codehilite .w { color: #F8F8F8 } /* Text.Whitespace */ -.codehilite .mb { color: #0000CF; font-weight: bold } /* Literal.Number.Bin */ -.codehilite .mf { color: #0000CF; font-weight: bold } /* Literal.Number.Float */ -.codehilite .mh { color: #0000CF; font-weight: bold } /* Literal.Number.Hex */ -.codehilite .mi { color: #0000CF; font-weight: bold } /* Literal.Number.Integer */ -.codehilite .mo { color: #0000CF; font-weight: bold } /* Literal.Number.Oct */ -.codehilite .sa { color: #4E9A06 } /* Literal.String.Affix */ -.codehilite .sb { color: #4E9A06 } /* Literal.String.Backtick */ -.codehilite .sc { color: #4E9A06 } /* Literal.String.Char */ -.codehilite .dl { color: #4E9A06 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #8F5902; font-style: italic } /* Literal.String.Doc */ -.codehilite .s2 { color: #4E9A06 } /* Literal.String.Double */ -.codehilite .se { color: #4E9A06 } /* Literal.String.Escape */ -.codehilite .sh { color: #4E9A06 } /* Literal.String.Heredoc */ -.codehilite .si { color: #4E9A06 } /* Literal.String.Interpol */ -.codehilite .sx { color: #4E9A06 } /* Literal.String.Other */ -.codehilite .sr { color: #4E9A06 } /* Literal.String.Regex */ -.codehilite .s1 { color: #4E9A06 } /* Literal.String.Single */ -.codehilite .ss { color: #4E9A06 } /* Literal.String.Symbol */ -.codehilite .bp { color: #3465A4 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #000 } /* Name.Function.Magic */ -.codehilite .vc { color: #000 } /* Name.Variable.Class */ -.codehilite .vg { color: #000 } /* Name.Variable.Global */ -.codehilite .vi { color: #000 } /* Name.Variable.Instance */ -.codehilite .vm { color: #000 } /* Name.Variable.Magic */ -.codehilite .il { color: #0000CF; font-weight: bold } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/trac.css b/site/css/pygments/trac.css deleted file mode 100644 index 39ec8ab..0000000 --- a/site/css/pygments/trac.css +++ /dev/null @@ -1,73 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ffffcc } -.codehilite { background: #ffffff; } -.codehilite .c { color: #998; font-style: italic } /* Comment */ -.codehilite .err { color: #A61717; background-color: #E3D2D2 } /* Error */ -.codehilite .k { font-weight: bold } /* Keyword */ -.codehilite .o { font-weight: bold } /* Operator */ -.codehilite .ch { color: #998; font-style: italic } /* Comment.Hashbang */ -.codehilite .cm { color: #998; font-style: italic } /* Comment.Multiline */ -.codehilite .cp { color: #999; font-weight: bold } /* Comment.Preproc */ -.codehilite .cpf { color: #998; font-style: italic } /* Comment.PreprocFile */ -.codehilite .c1 { color: #998; font-style: italic } /* Comment.Single */ -.codehilite .cs { color: #999; font-weight: bold; font-style: italic } /* Comment.Special */ -.codehilite .gd { color: #000; background-color: #FDD } /* Generic.Deleted */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite .gr { color: #A00 } /* Generic.Error */ -.codehilite .gh { color: #999 } /* Generic.Heading */ -.codehilite .gi { color: #000; background-color: #DFD } /* Generic.Inserted */ -.codehilite .go { color: #888 } /* Generic.Output */ -.codehilite .gp { color: #555 } /* Generic.Prompt */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #AAA } /* Generic.Subheading */ -.codehilite .gt { color: #A00 } /* Generic.Traceback */ -.codehilite .kc { font-weight: bold } /* Keyword.Constant */ -.codehilite .kd { font-weight: bold } /* Keyword.Declaration */ -.codehilite .kn { font-weight: bold } /* Keyword.Namespace */ -.codehilite .kp { font-weight: bold } /* Keyword.Pseudo */ -.codehilite .kr { font-weight: bold } /* Keyword.Reserved */ -.codehilite .kt { color: #458; font-weight: bold } /* Keyword.Type */ -.codehilite .m { color: #099 } /* Literal.Number */ -.codehilite .s { color: #B84 } /* Literal.String */ -.codehilite .na { color: #008080 } /* Name.Attribute */ -.codehilite .nb { color: #999 } /* Name.Builtin */ -.codehilite .nc { color: #458; font-weight: bold } /* Name.Class */ -.codehilite .no { color: #008080 } /* Name.Constant */ -.codehilite .ni { color: #800080 } /* Name.Entity */ -.codehilite .ne { color: #900; font-weight: bold } /* Name.Exception */ -.codehilite .nf { color: #900; font-weight: bold } /* Name.Function */ -.codehilite .nn { color: #555 } /* Name.Namespace */ -.codehilite .nt { color: #000080 } /* Name.Tag */ -.codehilite .nv { color: #008080 } /* Name.Variable */ -.codehilite .ow { font-weight: bold } /* Operator.Word */ -.codehilite .w { color: #BBB } /* Text.Whitespace */ -.codehilite .mb { color: #099 } /* Literal.Number.Bin */ -.codehilite .mf { color: #099 } /* Literal.Number.Float */ -.codehilite .mh { color: #099 } /* Literal.Number.Hex */ -.codehilite .mi { color: #099 } /* Literal.Number.Integer */ -.codehilite .mo { color: #099 } /* Literal.Number.Oct */ -.codehilite .sa { color: #B84 } /* Literal.String.Affix */ -.codehilite .sb { color: #B84 } /* Literal.String.Backtick */ -.codehilite .sc { color: #B84 } /* Literal.String.Char */ -.codehilite .dl { color: #B84 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #B84 } /* Literal.String.Doc */ -.codehilite .s2 { color: #B84 } /* Literal.String.Double */ -.codehilite .se { color: #B84 } /* Literal.String.Escape */ -.codehilite .sh { color: #B84 } /* Literal.String.Heredoc */ -.codehilite .si { color: #B84 } /* Literal.String.Interpol */ -.codehilite .sx { color: #B84 } /* Literal.String.Other */ -.codehilite .sr { color: #808000 } /* Literal.String.Regex */ -.codehilite .s1 { color: #B84 } /* Literal.String.Single */ -.codehilite .ss { color: #B84 } /* Literal.String.Symbol */ -.codehilite .bp { color: #999 } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #900; font-weight: bold } /* Name.Function.Magic */ -.codehilite .vc { color: #008080 } /* Name.Variable.Class */ -.codehilite .vg { color: #008080 } /* Name.Variable.Global */ -.codehilite .vi { color: #008080 } /* Name.Variable.Instance */ -.codehilite .vm { color: #008080 } /* Name.Variable.Magic */ -.codehilite .il { color: #099 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/vim.css b/site/css/pygments/vim.css deleted file mode 100644 index 5fdc788..0000000 --- a/site/css/pygments/vim.css +++ /dev/null @@ -1,85 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #222222 } -.codehilite { background: #000000; color: #CCC } -.codehilite .c { color: #000080 } /* Comment */ -.codehilite .err { color: #CCC; border: 1px solid #F00 } /* Error */ -.codehilite .esc { color: #CCC } /* Escape */ -.codehilite .g { color: #CCC } /* Generic */ -.codehilite .k { color: #CDCD00 } /* Keyword */ -.codehilite .l { color: #CCC } /* Literal */ -.codehilite .n { color: #CCC } /* Name */ -.codehilite .o { color: #39C } /* Operator */ -.codehilite .x { color: #CCC } /* Other */ -.codehilite .p { color: #CCC } /* Punctuation */ -.codehilite .ch { color: #000080 } /* Comment.Hashbang */ -.codehilite .cm { color: #000080 } /* Comment.Multiline */ -.codehilite .cp { color: #000080 } /* Comment.Preproc */ -.codehilite .cpf { color: #000080 } /* Comment.PreprocFile */ -.codehilite .c1 { color: #000080 } /* Comment.Single */ -.codehilite .cs { color: #CD0000; font-weight: bold } /* Comment.Special */ -.codehilite .gd { color: #CD0000 } /* Generic.Deleted */ -.codehilite .ge { color: #CCC; font-style: italic } /* Generic.Emph */ -.codehilite .ges { color: #CCC; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite .gr { color: #F00 } /* Generic.Error */ -.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.codehilite .gi { color: #00CD00 } /* Generic.Inserted */ -.codehilite .go { color: #888 } /* Generic.Output */ -.codehilite .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ -.codehilite .gs { color: #CCC; font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.codehilite .gt { color: #04D } /* Generic.Traceback */ -.codehilite .kc { color: #CDCD00 } /* Keyword.Constant */ -.codehilite .kd { color: #00CD00 } /* Keyword.Declaration */ -.codehilite .kn { color: #CD00CD } /* Keyword.Namespace */ -.codehilite .kp { color: #CDCD00 } /* Keyword.Pseudo */ -.codehilite .kr { color: #CDCD00 } /* Keyword.Reserved */ -.codehilite .kt { color: #00CD00 } /* Keyword.Type */ -.codehilite .ld { color: #CCC } /* Literal.Date */ -.codehilite .m { color: #CD00CD } /* Literal.Number */ -.codehilite .s { color: #CD0000 } /* Literal.String */ -.codehilite .na { color: #CCC } /* Name.Attribute */ -.codehilite .nb { color: #CD00CD } /* Name.Builtin */ -.codehilite .nc { color: #00CDCD } /* Name.Class */ -.codehilite .no { color: #CCC } /* Name.Constant */ -.codehilite .nd { color: #CCC } /* Name.Decorator */ -.codehilite .ni { color: #CCC } /* Name.Entity */ -.codehilite .ne { color: #669; font-weight: bold } /* Name.Exception */ -.codehilite .nf { color: #CCC } /* Name.Function */ -.codehilite .nl { color: #CCC } /* Name.Label */ -.codehilite .nn { color: #CCC } /* Name.Namespace */ -.codehilite .nx { color: #CCC } /* Name.Other */ -.codehilite .py { color: #CCC } /* Name.Property */ -.codehilite .nt { color: #CCC } /* Name.Tag */ -.codehilite .nv { color: #00CDCD } /* Name.Variable */ -.codehilite .ow { color: #CDCD00 } /* Operator.Word */ -.codehilite .pm { color: #CCC } /* Punctuation.Marker */ -.codehilite .w { color: #CCC } /* Text.Whitespace */ -.codehilite .mb { color: #CD00CD } /* Literal.Number.Bin */ -.codehilite .mf { color: #CD00CD } /* Literal.Number.Float */ -.codehilite .mh { color: #CD00CD } /* Literal.Number.Hex */ -.codehilite .mi { color: #CD00CD } /* Literal.Number.Integer */ -.codehilite .mo { color: #CD00CD } /* Literal.Number.Oct */ -.codehilite .sa { color: #CD0000 } /* Literal.String.Affix */ -.codehilite .sb { color: #CD0000 } /* Literal.String.Backtick */ -.codehilite .sc { color: #CD0000 } /* Literal.String.Char */ -.codehilite .dl { color: #CD0000 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #CD0000 } /* Literal.String.Doc */ -.codehilite .s2 { color: #CD0000 } /* Literal.String.Double */ -.codehilite .se { color: #CD0000 } /* Literal.String.Escape */ -.codehilite .sh { color: #CD0000 } /* Literal.String.Heredoc */ -.codehilite .si { color: #CD0000 } /* Literal.String.Interpol */ -.codehilite .sx { color: #CD0000 } /* Literal.String.Other */ -.codehilite .sr { color: #CD0000 } /* Literal.String.Regex */ -.codehilite .s1 { color: #CD0000 } /* Literal.String.Single */ -.codehilite .ss { color: #CD0000 } /* Literal.String.Symbol */ -.codehilite .bp { color: #CD00CD } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #CCC } /* Name.Function.Magic */ -.codehilite .vc { color: #00CDCD } /* Name.Variable.Class */ -.codehilite .vg { color: #00CDCD } /* Name.Variable.Global */ -.codehilite .vi { color: #00CDCD } /* Name.Variable.Instance */ -.codehilite .vm { color: #00CDCD } /* Name.Variable.Magic */ -.codehilite .il { color: #CD00CD } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/vs.css b/site/css/pygments/vs.css deleted file mode 100644 index 6db5834..0000000 --- a/site/css/pygments/vs.css +++ /dev/null @@ -1,44 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ffffcc } -.codehilite { background: #ffffff; } -.codehilite .c { color: #008000 } /* Comment */ -.codehilite .err { border: 1px solid #F00 } /* Error */ -.codehilite .k { color: #00F } /* Keyword */ -.codehilite .ch { color: #008000 } /* Comment.Hashbang */ -.codehilite .cm { color: #008000 } /* Comment.Multiline */ -.codehilite .cp { color: #00F } /* Comment.Preproc */ -.codehilite .cpf { color: #008000 } /* Comment.PreprocFile */ -.codehilite .c1 { color: #008000 } /* Comment.Single */ -.codehilite .cs { color: #008000 } /* Comment.Special */ -.codehilite .ge { font-style: italic } /* Generic.Emph */ -.codehilite .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.codehilite .gh { font-weight: bold } /* Generic.Heading */ -.codehilite .gp { font-weight: bold } /* Generic.Prompt */ -.codehilite .gs { font-weight: bold } /* Generic.Strong */ -.codehilite .gu { font-weight: bold } /* Generic.Subheading */ -.codehilite .kc { color: #00F } /* Keyword.Constant */ -.codehilite .kd { color: #00F } /* Keyword.Declaration */ -.codehilite .kn { color: #00F } /* Keyword.Namespace */ -.codehilite .kp { color: #00F } /* Keyword.Pseudo */ -.codehilite .kr { color: #00F } /* Keyword.Reserved */ -.codehilite .kt { color: #2B91AF } /* Keyword.Type */ -.codehilite .s { color: #A31515 } /* Literal.String */ -.codehilite .nc { color: #2B91AF } /* Name.Class */ -.codehilite .ow { color: #00F } /* Operator.Word */ -.codehilite .sa { color: #A31515 } /* Literal.String.Affix */ -.codehilite .sb { color: #A31515 } /* Literal.String.Backtick */ -.codehilite .sc { color: #A31515 } /* Literal.String.Char */ -.codehilite .dl { color: #A31515 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #A31515 } /* Literal.String.Doc */ -.codehilite .s2 { color: #A31515 } /* Literal.String.Double */ -.codehilite .se { color: #A31515 } /* Literal.String.Escape */ -.codehilite .sh { color: #A31515 } /* Literal.String.Heredoc */ -.codehilite .si { color: #A31515 } /* Literal.String.Interpol */ -.codehilite .sx { color: #A31515 } /* Literal.String.Other */ -.codehilite .sr { color: #A31515 } /* Literal.String.Regex */ -.codehilite .s1 { color: #A31515 } /* Literal.String.Single */ -.codehilite .ss { color: #A31515 } /* Literal.String.Symbol */ \ No newline at end of file diff --git a/site/css/pygments/xcode.css b/site/css/pygments/xcode.css deleted file mode 100644 index 46d7108..0000000 --- a/site/css/pygments/xcode.css +++ /dev/null @@ -1,68 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #ffffcc } -.codehilite { background: #ffffff; } -.codehilite .c { color: #177500 } /* Comment */ -.codehilite .err { color: #000 } /* Error */ -.codehilite .k { color: #A90D91 } /* Keyword */ -.codehilite .l { color: #1C01CE } /* Literal */ -.codehilite .n { color: #000 } /* Name */ -.codehilite .o { color: #000 } /* Operator */ -.codehilite .ch { color: #177500 } /* Comment.Hashbang */ -.codehilite .cm { color: #177500 } /* Comment.Multiline */ -.codehilite .cp { color: #633820 } /* Comment.Preproc */ -.codehilite .cpf { color: #177500 } /* Comment.PreprocFile */ -.codehilite .c1 { color: #177500 } /* Comment.Single */ -.codehilite .cs { color: #177500 } /* Comment.Special */ -.codehilite .kc { color: #A90D91 } /* Keyword.Constant */ -.codehilite .kd { color: #A90D91 } /* Keyword.Declaration */ -.codehilite .kn { color: #A90D91 } /* Keyword.Namespace */ -.codehilite .kp { color: #A90D91 } /* Keyword.Pseudo */ -.codehilite .kr { color: #A90D91 } /* Keyword.Reserved */ -.codehilite .kt { color: #A90D91 } /* Keyword.Type */ -.codehilite .ld { color: #1C01CE } /* Literal.Date */ -.codehilite .m { color: #1C01CE } /* Literal.Number */ -.codehilite .s { color: #C41A16 } /* Literal.String */ -.codehilite .na { color: #836C28 } /* Name.Attribute */ -.codehilite .nb { color: #A90D91 } /* Name.Builtin */ -.codehilite .nc { color: #3F6E75 } /* Name.Class */ -.codehilite .no { color: #000 } /* Name.Constant */ -.codehilite .nd { color: #000 } /* Name.Decorator */ -.codehilite .ni { color: #000 } /* Name.Entity */ -.codehilite .ne { color: #000 } /* Name.Exception */ -.codehilite .nf { color: #000 } /* Name.Function */ -.codehilite .nl { color: #000 } /* Name.Label */ -.codehilite .nn { color: #000 } /* Name.Namespace */ -.codehilite .nx { color: #000 } /* Name.Other */ -.codehilite .py { color: #000 } /* Name.Property */ -.codehilite .nt { color: #000 } /* Name.Tag */ -.codehilite .nv { color: #000 } /* Name.Variable */ -.codehilite .ow { color: #000 } /* Operator.Word */ -.codehilite .mb { color: #1C01CE } /* Literal.Number.Bin */ -.codehilite .mf { color: #1C01CE } /* Literal.Number.Float */ -.codehilite .mh { color: #1C01CE } /* Literal.Number.Hex */ -.codehilite .mi { color: #1C01CE } /* Literal.Number.Integer */ -.codehilite .mo { color: #1C01CE } /* Literal.Number.Oct */ -.codehilite .sa { color: #C41A16 } /* Literal.String.Affix */ -.codehilite .sb { color: #C41A16 } /* Literal.String.Backtick */ -.codehilite .sc { color: #2300CE } /* Literal.String.Char */ -.codehilite .dl { color: #C41A16 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #C41A16 } /* Literal.String.Doc */ -.codehilite .s2 { color: #C41A16 } /* Literal.String.Double */ -.codehilite .se { color: #C41A16 } /* Literal.String.Escape */ -.codehilite .sh { color: #C41A16 } /* Literal.String.Heredoc */ -.codehilite .si { color: #C41A16 } /* Literal.String.Interpol */ -.codehilite .sx { color: #C41A16 } /* Literal.String.Other */ -.codehilite .sr { color: #C41A16 } /* Literal.String.Regex */ -.codehilite .s1 { color: #C41A16 } /* Literal.String.Single */ -.codehilite .ss { color: #C41A16 } /* Literal.String.Symbol */ -.codehilite .bp { color: #5B269A } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #000 } /* Name.Function.Magic */ -.codehilite .vc { color: #000 } /* Name.Variable.Class */ -.codehilite .vg { color: #000 } /* Name.Variable.Global */ -.codehilite .vi { color: #000 } /* Name.Variable.Instance */ -.codehilite .vm { color: #000 } /* Name.Variable.Magic */ -.codehilite .il { color: #1C01CE } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/css/pygments/zenburn.css b/site/css/pygments/zenburn.css deleted file mode 100644 index ad64891..0000000 --- a/site/css/pygments/zenburn.css +++ /dev/null @@ -1,85 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: #5d6262; background-color: #353535; padding-left: 5px; padding-right: 5px; } -span.linenos { color: #5d6262; background-color: #353535; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #7a8080; background-color: #353535; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #7a8080; background-color: #353535; padding-left: 5px; padding-right: 5px; } -.codehilite .hll { background-color: #484848 } -.codehilite { background: #3f3f3f; color: #DCDCCC } -.codehilite .c { color: #7F9F7F; font-style: italic } /* Comment */ -.codehilite .err { color: #E37170; font-weight: bold } /* Error */ -.codehilite .esc { color: #DCDCCC } /* Escape */ -.codehilite .g { color: #ECBCBC; font-weight: bold } /* Generic */ -.codehilite .k { color: #EFDCBC } /* Keyword */ -.codehilite .l { color: #9FAFAF } /* Literal */ -.codehilite .n { color: #DCDCCC } /* Name */ -.codehilite .o { color: #F0EFD0 } /* Operator */ -.codehilite .x { color: #DCDCCC } /* Other */ -.codehilite .p { color: #F0EFD0 } /* Punctuation */ -.codehilite .ch { color: #7F9F7F; font-style: italic } /* Comment.Hashbang */ -.codehilite .cm { color: #7F9F7F; font-style: italic } /* Comment.Multiline */ -.codehilite .cp { color: #DFAF8F; font-weight: bold; font-style: italic } /* Comment.Preproc */ -.codehilite .cpf { color: #CC9393; font-style: italic } /* Comment.PreprocFile */ -.codehilite .c1 { color: #7F9F7F; font-style: italic } /* Comment.Single */ -.codehilite .cs { color: #DFDFDF; font-weight: bold; font-style: italic } /* Comment.Special */ -.codehilite .gd { color: #C3BF9F; font-weight: bold; background-color: #313C36 } /* Generic.Deleted */ -.codehilite .ge { color: #FFF; font-weight: bold } /* Generic.Emph */ -.codehilite .ges { color: #ECBCBC; font-weight: bold } /* Generic.EmphStrong */ -.codehilite .gr { color: #ECBCBC; font-weight: bold } /* Generic.Error */ -.codehilite .gh { color: #EFEFEF; font-weight: bold } /* Generic.Heading */ -.codehilite .gi { color: #709080; font-weight: bold; background-color: #313C36 } /* Generic.Inserted */ -.codehilite .go { color: #5B605E; font-weight: bold } /* Generic.Output */ -.codehilite .gp { color: #ECBCBC; font-weight: bold } /* Generic.Prompt */ -.codehilite .gs { color: #ECBCBC; font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #EFEFEF; font-weight: bold } /* Generic.Subheading */ -.codehilite .gt { color: #80D4AA; font-weight: bold; background-color: #2F2F2F } /* Generic.Traceback */ -.codehilite .kc { color: #DCA3A3 } /* Keyword.Constant */ -.codehilite .kd { color: #F0DFAF } /* Keyword.Declaration */ -.codehilite .kn { color: #F0DFAF } /* Keyword.Namespace */ -.codehilite .kp { color: #EFDCBC } /* Keyword.Pseudo */ -.codehilite .kr { color: #EFDCBC } /* Keyword.Reserved */ -.codehilite .kt { color: #DFDFBF; font-weight: bold } /* Keyword.Type */ -.codehilite .ld { color: #9FAFAF } /* Literal.Date */ -.codehilite .m { color: #8CD0D3 } /* Literal.Number */ -.codehilite .s { color: #CC9393 } /* Literal.String */ -.codehilite .na { color: #EFEF8F } /* Name.Attribute */ -.codehilite .nb { color: #EFEF8F } /* Name.Builtin */ -.codehilite .nc { color: #EFEF8F } /* Name.Class */ -.codehilite .no { color: #DCA3A3 } /* Name.Constant */ -.codehilite .nd { color: #DCDCCC } /* Name.Decorator */ -.codehilite .ni { color: #CFBFAF } /* Name.Entity */ -.codehilite .ne { color: #C3BF9F; font-weight: bold } /* Name.Exception */ -.codehilite .nf { color: #EFEF8F } /* Name.Function */ -.codehilite .nl { color: #DCDCCC } /* Name.Label */ -.codehilite .nn { color: #DCDCCC } /* Name.Namespace */ -.codehilite .nx { color: #DCDCCC } /* Name.Other */ -.codehilite .py { color: #DCDCCC } /* Name.Property */ -.codehilite .nt { color: #E89393; font-weight: bold } /* Name.Tag */ -.codehilite .nv { color: #DCDCCC } /* Name.Variable */ -.codehilite .ow { color: #F0EFD0 } /* Operator.Word */ -.codehilite .pm { color: #F0EFD0 } /* Punctuation.Marker */ -.codehilite .w { color: #DCDCCC } /* Text.Whitespace */ -.codehilite .mb { color: #8CD0D3 } /* Literal.Number.Bin */ -.codehilite .mf { color: #C0BED1 } /* Literal.Number.Float */ -.codehilite .mh { color: #8CD0D3 } /* Literal.Number.Hex */ -.codehilite .mi { color: #8CD0D3 } /* Literal.Number.Integer */ -.codehilite .mo { color: #8CD0D3 } /* Literal.Number.Oct */ -.codehilite .sa { color: #CC9393 } /* Literal.String.Affix */ -.codehilite .sb { color: #CC9393 } /* Literal.String.Backtick */ -.codehilite .sc { color: #CC9393 } /* Literal.String.Char */ -.codehilite .dl { color: #CC9393 } /* Literal.String.Delimiter */ -.codehilite .sd { color: #7F9F7F } /* Literal.String.Doc */ -.codehilite .s2 { color: #CC9393 } /* Literal.String.Double */ -.codehilite .se { color: #CC9393 } /* Literal.String.Escape */ -.codehilite .sh { color: #CC9393 } /* Literal.String.Heredoc */ -.codehilite .si { color: #DCA3A3; font-weight: bold } /* Literal.String.Interpol */ -.codehilite .sx { color: #CC9393 } /* Literal.String.Other */ -.codehilite .sr { color: #CC9393 } /* Literal.String.Regex */ -.codehilite .s1 { color: #CC9393 } /* Literal.String.Single */ -.codehilite .ss { color: #CC9393 } /* Literal.String.Symbol */ -.codehilite .bp { color: #DCDCCC } /* Name.Builtin.Pseudo */ -.codehilite .fm { color: #EFEF8F } /* Name.Function.Magic */ -.codehilite .vc { color: #DCDCCC } /* Name.Variable.Class */ -.codehilite .vg { color: #DCDCCC } /* Name.Variable.Global */ -.codehilite .vi { color: #DCDCCC } /* Name.Variable.Instance */ -.codehilite .vm { color: #DCDCCC } /* Name.Variable.Magic */ -.codehilite .il { color: #8CD0D3 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/site/fonts/Geist.woff2 b/site/fonts/Geist.woff2 deleted file mode 100644 index 6fd61c44dbbbede2b274bb765fb83f75c5e26872..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64184 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 Z9l1KaEN!|Y^dj@eBco%<{=&Qt006$H)jI$H diff --git a/site/fonts/Inter-Italic.woff2 b/site/fonts/Inter-Italic.woff2 deleted file mode 100644 index b3530f3f5269165314114a9e1c2f129e20fddcbd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 387976 zcmZr%Q;;T1kR02#ZQHhO?HD`Qv2EM7x#Jz%wr%_S?!V`|?C7ZKj*5Qh&X>x__E45$ z0|5mA0fD@V1VR5VB3>{5mm`5dfQbFK`ai&11jmo+(IW`z;S!e75>?wq6;}K&1kpg5 z2&-#|Y6KZjbASX*h%pCo!9~83M6CL;VQCyKo%%N2Yrj`M?3B$ z+(}nn+3ipUQqp@`20`d?J9aUd+XcfNgCb+Vc?e2fY~ZPBau*eWs;pS_=XW6k$VaE& z{`^v6A>b3$m_DzisIb}M;M=;+i`XtblfO@7lPRU@gh z2Xl~DI)hC`H--}{x|*Y2`n5GV`@~?HO6s7V4Jttxl#~Vs1+lcIEG90elKm{9D`pLZ zp0#aqI4MB3xK76Km9B>gEBiJFCb5zVZr7(*uUsC!FA{1E_XcVs75_>ekV6|v(hGA= z{KGI9&2zg^1@Q=`-q6tYxzzaG#Y23QhK~<3ak?zk(1?jP`O3L~jIc1zbB;Q5?Ndo`7)f9*6mj(GPb(n0 zCjpzHXZNJirre_QeSiQdusM;>`KZ&u6(SOOId{-B|3s}krm`L5G46socMF?uSDdIO z0qb>;f@d^Ks7EYz)OI$~mn!OSXr(Z^pXTw5Cycerp;^7AB_m6rNg84oZJcB{upC7u zH{Q(CjY9F+8@6dMlq=M`lb*sW3Q1l}fcc{Dqy=02!EKKFXjy)b*{5FB<?#VQo0B_0ja$B0ZMBtJxQl4mIzn4aJO*b6QIe047 zf~S$tMid?0WPXHsa&)ZY`jghYHJz^tM%sx-z*Gf`l$|JhhWj|5EEJqH=p%EHYe&2pVtEiP1m;?Q#>eV6lOSQj+PvaF81j-ikSU))>76k3 z;w#3A>~W0874kQUtTurL#QQ0iw2D!DZdi^!RqJ1%4c=L6;8%{DM~2_eIzEy?b1l{00Q9~`k{f!lgkIZE2U3BWLZXwiDV133wm~i_$(afuMn^9^Qx(*| zW`UL&&Jy$vN`#0<8ecBOx5FtdF!MBb>eh3RZfxps7ygIj6=!D3M}dseeE3bhmhSNu zAZQ|~)m$C-iZoHn0G7@oefX`I#cf~DCa8!7zP@gkG)T*eM9i0r!+S94K{uQKC~n_%31}mf ziC0d!`?h);&P%kskoJ&zueHnBf{E&JI;>}%=V_Ffx&};w@{)Y+2XI~h2|;3m1!Y@Y zx@0jy*jdw}S(EhQ{o7aIAGB1b_rUZcGH}X5<=wbB9RB;=rjE~_PfE=%SL83U+{4!_ z^Ef5B#Q5EaHPxfuGIcbn1!i=>vAe78R~poDavjUnw|6&thdN3A7pykN5u$QogJSr5 zL%gKHmreLf7-m$bG@?fAcl0Z__)L^11>}O5t<3ipPAqdbDR$`I*2$W44*6#k<0&)?p_5ec;11cY#d?N=)KBl`T52M?{sCK1I z4(VGVrf$JE31s#EJmR?M?Z(SA7)2%~@qw1$KGA67ura*@@!upzFHK#d(LTd+X|d$u zJwGB-{Kmfwz5UGP?Ns;?97Z7x|2B}okZHf`|C8j18VlW!h3JmLAsuWvsA?OpG zsX2YE)K$H=#C_k*0fX3g#=!pSuDMS3yRF!NGLe`+3X!A|Xwu!#)_HGlbme50nd4Q8 zBkU{eMl-{s5+fG1EQE9SWIhP@Q#W^5_Kge4b%7>JSTO2DGEXACkwiVZZVA1D1Lwj!o~G&J)3+OdcWpP#$}6fvc8NoA zhm;W`i`|N@kr$nrZOAgyQ9(F|9S|GE>YN!he_(U+&27hK%g_GbxN@OClVzfVco0im zwFwZ;;N1syfnkQESCi?{(4vuqQs^is+echq_WQB86SqDxgkR>5HXhhMg7?Mjlk~`t zX2FZP@CyicyaIqU&&Vj_tg`1tHflBfocBCQNl4;Ml#m`jhy7(BADB-_vKB;0!ytwKbI zMUl{86rS7nP}a1ZTb^dCj{ck6D@Ve)!);n+dN=mlHE4(^rIu}0xdFOQT`^+VGAdw% zk)*WBa@KAIOBvtsPuaR>4AR>mk-!qQy69R4czG0v3(4rzlI2uAhwJBR5VgyN=h~)I ztLrQ_5(H6XdE~*wP)eCV5)d?yxO0o2*3B+fr5jHG&|&4Q51A~P4nEsTO2py^Pei{Q zwSxRbUji%fV0st%}VNU0q)UoB!LaTP?WE(dHT=rL(7&sgUpc>BFGA ztk`K`jHSWdy1rQmdmttof5%-TCdMb34FgFreH!t)$MvWmi%U&^S+TP<>#XQh+!4Dy zJs8Vw)<0sDD=-WP!$CVv9dz*F@B?g^fkLG(&&93C6IgjOTIRj`i8X1_WY9pNpmT4; z*OM5DuHs>@a5Xb(LfC%^vj+s&oc?=a7T?|RxHV?hRP+n0byok&sBkr^XC17cU8q8X zF(4BQkxy;V!u?2{0s_CBPNy+l*}3pK%Zu4ixrqK?I1VynqfLWB77y7WA{I(99EZXo zMgodP5*&$+#H?eno9ZYK}k7-{0G&a8~;wOYhB#SGLD{D^MNR7%C_5hq^ySD@sPcZbW+^OuW zM&1J}vhRLnx0ciX=~8Hp{bP_KuPhk|S?n8M{Q7E8mnNrDEBnDi`~~7B0uQl-A!b3B zWb(Q6OCZz7wm~+fd}@c7!USuIg~$#SrlDv)dBW2VLPb-^t3x*MLf}906S3k&Tl5}=Z5){!hwMFy%4vn-&OC<``T-oD)Re{-0BA>Q!;1sljF`ktdNAq3!_{8OMy$xSp;s z;w1IOYkFbl8&{rz`9!WLb-JJ+B^UFcLJaJ+k^b9`xa&?^zL z?|+Z%i8+t`U|}XfDwQHt_03AxS(664WGUuR3x1G+rN~FRH`g0@l0PrbLQa)5U}JKc%B(P<~)u zIQJslY*M_^BSh?!^p+`uz}%bF&z+m-rr`>NB{DHlKm*^$y+WoShyw=Np8j9ijR)ej zPmj4?St@xIFphl98hU$OPqPxc1@KNBA1{b9;pc0u-0=FwEJ5P&B_XDUv$q|Eic|MRyxT- z)@s03NPd9SvF`K{4NH9*9UeY$R*g^WXJ6)xb2v3iCGrmqlSmd9I0#cU2 z7}DeU&ZsS~*V{y{IUHzO;KxS1nF|ZK zCV%I7V9PM}Q_f&%CSlNEr86X}gf7{-O^<3+K8gsR?g9=IhZkgn^vfw8XjCbqy~axP zWiI;~PGe(fO2Rp1)5g@9_WEzznhl4>q5e*fJ5+0s7}}qH1iUu^I_9RarNuDik1a`i zBSPh<)Put$IA>ITn1J%yr{fD+eY7L_G zlFe>tFq_n{66o*}!9qzTF4Ha6$w6Ej5K_DpQ?_9<_EauxjPPzBjV;p1*@_yWwifW6 zrJZ24BDhkzv_SnGfn|Om2#NdgJZt?J#;1|vnbHqa&p5#_bmZ4tw~jcQ%+4EYn?Ywh zFc0g(W6Tx@=CFt)NT9KVzT3RbxSGP}RFB(c77Tx{GpcE+Kn9p`|HTw4Qe1A0B!wjO*PzEd-9n1le$02vqLbw#V$&l#?82s+mY`FFn zJ^%F{IQ@5bw^yUiZwqUnAa0!^?0FOsT@B1t8f1;c?r-~Tgi}fPj}0F+V0jkZ6XZ(Ghl~rC|B=viWyn(BD1CbdWhL@xgyV86HydX?`QDp z8hMr2n0PdKhv4n91eE^=$11@nfJ_3erf8z<$S>MYR>vWs*_=N5PqxlxF!_2(;-p%-m1utx zJEEKQXs%>ChZ+UPDrQ~`q69w|>|WLLi=5fkeYsx^>fssc;{_H%_8*FC1@?dZ_g-V_SP&uurCb$kD)u&ky9Mh0_7l=NNH!U&1aMaKIILTFr4ElqqqpxqjZ&xS?C*U3 ztb6p9ACYv{cF_^I2a_A2p1c4rV7p&B$zYGyatKMYgqa|A@mXi{C9fR2oy2Y?b4OOl z!!H(Irwky_Zq8}X;cWIRvlM{tI73&{Vtq&{axTn)7G+U{YO|VkaPbS~b}z5mY1F%J zv60XbuDkr+^Ke5B?QkF+>7c-^Wz8Ejay7;ocMYvHTVX1m(c-Igcxfa_;5y`FTwagb2{KV(uMWZJV19+!#*Xgoi2Oz!Oh&BD&omP+tq9 zg3}teOiZa}0KS3on1aV=+q(R-5?1`!v-V&B+g4^KB*7s1hxcm$l;K<0PWcOAo83u# zFMT9Cj*P6B4|VaYut=$W9^PDJnU=w^?04^+NYFv+cZF$=w<4U&;}&qQf{*>JufHJ` zeUmlQ4V6|cNDh-mhHFvc8UBU#M{2E9H1H$QICS!AInn4f{tkmZ-6im85{->yAri{J`oRc(?l&DtDt1 z6MyD4DjY^9-6CM-^Z_04=hnB8BWVM+QU&()TQGreANa0>Hc*`2O42;2Pe=^W%1(O$ zc2N)CGuv{V7S6RFgyhSW%>b5AUZz3K-Mf&RG`(v-XT3{sQ@1rqnUvZNw7y$>mfOLew?DS`8UX{%=>Ux{tmlh@tkrRzqo75iE9{~_>HB0G*fC*)}e$f-V_ih zv~pST799L6!*8!L3+3Xj(Wasyt;tV$GCp3OaQV66l;iW}MY7wCok&DPg6mmGupe>_ z0=fYS=9URjrvMUck(_MUZm%7_)m%a_i=dsMNUYm0@^99nWV}>{U%i;E*kVHWq_x@O zkD`Uv+H1?62K(n#g00q)@Yj&=x1AB^=g#l%hya$aC1E_EKi4NvTfJ8*e;a+tcY7r?HU z_GLTd8E;}7YW~;X+)Di`r?0J{)^R;7y!3gKW77dp76IVgX8&e)h|@9ltugN-Yz`(p zQK%9X2W$sjy*g4N`EN+H$<+zE6*z66Fz1atC>JlqOWyNZ_IUQYenwd3SG9@=W;Nox z;*w(Y3{{mf7cV=g z%&i>QPq=Zf7E}*~LEp#$_idV`DF>67Wn8KZ!K7?qANP-+w@>+Hoh7ppsiZ_W+jxuB z_CirB16SC))hkdzaqEMh{g9y%TZD$P`f#K3{I^EAtB2%GG2VApLIR|_Na#)qMDigk zZRj|pi6Fs$ZIv5e2NNCkFS&amrRK(GmFI=wz@lDDSx)gwNluG%Pa(Y%H(aQo|VR5P4ks~_P58Qi!b~JpV}EC6Aej^>_DM~vx6rnw)CpLog2q) zjytMM%;&0WczJERvY!vclsK1vubQbnHyfSxeL^ZhUsD^2s$1av@IV5y5r)>WM^rtj za9{whN^ifL(IVWk-a^z?^1wIn^~=vMBtnTM)suLBSZ`7H>EBUV7DXGpRlh0DG{w;# z2UHq_5%9C@7#X;d)}`N@)v(#XACkY#6G)q|@0F`m;@)^^Ovq* z-Xgz~nE1IY*IBO*Y1_cFbkbQ)2n&BgNn)t_sYxo|MROV1R70j(_4VOQ)@sOj=|h#! zEo)vqTo0xEa0wa@|A#-Y@3Q}9I-eK&ALs`J5@l8?ae!P|%;;M%cC!CCQfC#d$XsHe z{33>NXeqH-IS({;Daho7)dXwmt;e*X}~uM3+G(nFRp^ zDymm!z1`IdqL;xYGMLfE70M;9wA-Ah!O8KN2nCfjyN!m>u(|<&bSs}X-Lk<*Dy?}k zIkzB;8Q{;qiR|0>&xIL!D6B8$sl2S1v zOYH+8iXdp4mfNqHl^<)gh!CA|SC2iQ$tr;e-wm5geLnOnlG(3t`&Nr&5vHeOn$t8OfB+ z&)5##IlSc$TjsR6N*>l>)WQ>F8$_jsDh6>7r1!P5g^Tqd*UFtYU-=MoLns9w6;^4`mi?u6;}22~n6Ei)X>uyFqMwj!MXpP2r8 zuDG%TUjz==|NJ$l_qFXYyM7Dbz=Of*qB}0e5jSslEcNU=L7h9^L>@uK9Z%g1^m%=C zTHTfWl8+)pLQ@+0jR)048W|a>V<$Nr9XT#4AyFGT#d7!dA*RFQpzUqeT^P(>B`lKh z`{3jA<|V&7#aG*&zMaz+!3OtJE>?xSJ%J_EOMIAC6L`}RQ;;k+ z9IY}NVBhi%E1VkL+iWxGmW0QL!RDQPlx?*0cVF7F_u$9T*fe0HTdo zrTPm6#Y7Vd3LFdp3=E4w0oj3l7@fiAjMw75(=~$ZEGD2-RHGsnMZ z-;~pfPA5=(PmA&|BLr?R0-0zyN^s=XWT%@K;0r#_l~~3S3ya8?#uvs{2L=OdM2rN5 z28%6kWb?}ChZ%mx5sV5{6SgvV_2QR;b?36n>P2!MG$Sh&n|3mjmMZecWCq_TL4Ka` zcVW(8O&P1B(r0D;mMOq_3y8b>;F|;h!qqG!@ZhIZMl}xL#8^6G*Wwg@R~58a*;HNr zaapNB+zKvBT5m$7_=h_fiB?NmN=j<<<83?#5Z(gxS94K!q9AGfr^*f&8s(c2tK7Z! z?zP$hpqGSgKZ^=l=7M5xm;PSbY3p&?Ke>2qkkL)DG=X$Q*Rqb{NQgn8+Nch7h1VFD z4Ln_C80S`J3Hq0J{PxL+!1(VeB_!Zb{{t+k42;=a@~)(qcTmMP!0T>f<%dj*B`pA>`KkE#-~FyYpiey_*=ST{;KOB9K8i8Tr1o3Dv+!cL z^bTMzRaG@a0#|@SWf$sD zguk7%2u+uXX1R;p^UY^71`Xt7BH9RZiN|=B$NznDux25! z`fB3R9nJ$znx;_OUlcJyfRDnmF4`QK~VT32?| zg%xi@v#OG0^pW5|p+k_L2b*Bpq12wi1ot094*+^&gXPkRVKjcliWEv6L4k4Rkf2nK zFa(MCb)ba4I&s46tQ-9&A%~DWTT6@5ytG!S6`Cu+5yZ*|DdWIlVMQmR$R%UQvC^g5 zXjvnj%?s2QK?;b)K!$2f!4RsTe`>g#+np4-dW&(+tMuxfbFwYVz+XTXp*oL~!Ea!Y zQWHHETXe+nY=dGXKo?4c;-r?U1gep>7FvX%rs^F)lo|aMwZZaN(UXKpHA(_0Go}#D zGQgqf#)h4gAuTd6f}jbAf*?eXr2{o7WQDw{MKR(vs>gmT2^&~9WtZe($Q03O=n89~|ADOrPWv(_pjnVHA-eNn;{R=lHgbRq7|kc zm-C5J(zWR^yk&BRS9J46@3UUgE{(W+XwVGL`tkALNJmdtD4g;~!-sJ}RkAY6MnO(`dN}7p8L}7{O0(YiL;l? zg|e2zo+rYWy;`L}5H8fc4`?~%69*&IYWp?iCs%Pa2KEFNW2nUO;nE+=Zbe(rwi&`{ zj%*ny7!%sh2cMZc*HfhuSbNdZK#4h(5BRh|vQ9K0_C_%vdz~-EQ*__agVY~ZHLOBfUkfxI>(YYHk1Uv*CD-<wD3dFQ z1b_D1Hs;O}QAj{=o*M)`zEuaVueq%TluxOXoq}Zp`wu&h@CZKX)kWpt&+v!i=Qz5O z_5eS3ez2?a*GlXrKyLWX{y z&kt@YAaIT0#`0}jnT^4!H=?3)`-HM8ph~#Vjf3IH&oQuWK6{2CYD!Hyx%#&7sJA;EO z(TYBci>FnIxZpU#ME?DT#=v#t9k5MHrNS~JE3TY+Ic2#sWK(2>#*XReuSc8sPTMra(W;C~$fM?BKGysR#EIV@#IJZT1A8UVU_);n_4R|{0yzVA$SIn{(o9-NHus8J1 zxQ*>q2W*!+*z~+_M)`$p5Z7U@I?iBdJ05}5beu+Wrsxis$7W}jCHyix^hiQZCeZaw_Kn3pnr0EL5@r{0s z%}FA3BD`pwqno&i26A;u>prR~%-<3STt~ju#x{Rpb-GwTu?ce#wD~PU4 zg&wv4wH09`(Cv4OIcHa&D)wF&uTL9w#2+BowkG71$G_Lb=sVJ})ANb{bgpR+(ZEbB zP;EJbUa(!7D3a8kfmNB|FD!^RG}@P_WUi3WELG0VnFjQE7XNT_qc_$kWc&&D*R#E5 z)}VtHw})@aRB(sM5eMxr$X0iqnKdI8&_WLR_tAYv|MtQfGrvJ7PpjiM|`fpFdo5`2Y@H^q=GN_;jHoi>eZAz9)z_P&`{vZ9EH zkM`|3SMd8Z$Js&l`|ho33%R;Yf-DjFL6TpA`}W337#r~Fkq@sg)M%hQ$6_rW6OZ0R zf`oDQQXMe-Q*hWU$B}q}@v6+HSaZpP<>8E2Z)DsCoDOM_U=gqDW@cF~oXy~`IjzGru34zgrY^>UZu~kn)Ea0?< zN)Iq&J^4X8$k8L*O5hv#KBW69bB{cR@H2#w4hUk8p?q7P;4`sU8*;rtGKaZc9!iX?5P6z?_D{p=a5%+&yLhzPs~t*yrgP3}Xu>1g*RFF7_#>f=j88jMGd zS{5(GRwNthsqx}hxXJ*pn&MHNV>?`T#`wAK9hNs9t(f+8%cCP}F01GCYmb)KFLtMm zX2y4D!5*~*PS&(n4P3K7mZw*wXG?LNar@nt9^B-P_q*>b1l_xt`X$-i{YL|1_%18l zEkzo=X0AH7+qG8{P7*_p`dkc^068`Hz2;8(XMsHftS;RW1GhQHdKYu$cB96GUmZ|v zNfG)h5btg=`X#MSKmg`f3*(HN(Dq}$`jgMGM=$6ld4Lji5%rem^asL#J0os8Fp#qSlnB7DLQK#AziO6b@QTs3?5P2So&MJ(pF zj!$3X$$lnIcos{B%1s^nqYxDC=GOU^=rtfMUXd+U`uAuM40O)+mud(VsmG;XL(+P6 z6EemT)Qr7As8b$y_RN^w@3kRtxOE=1KR55S2`WA9*cOx!g?|4nKV~8Tn7dI2YEX+> z@>~qL^z4*IQN^y5|WH*nB*ND1|tQaf&_rE?n$$7F+ z?$%`To}`19P4i;gD%2SzzlvC%^L|#$^#eqjDS3<`duylO>F2M!mS^TErwdF*qwl zo`Pz^d;draw`9pEA%zM(ia0ey*&WfisIGX+w1Ed~$z){jpfBAi8p6v}QUz;;KCvRK>7p79+?X_2?&}+b_z)vu5#&7jY zx8q>`mR}6snX(;NxT@Z{rZ(jLxH36j&WSr<2g)9QEKE#M=DxWu!=lNs<~c$0PzEpl zD)4nB**MRLG5(rnbvA5%PX0s0_kp-Vt8uV36BV4HU41cqa>pXl$KazA-jhm;biL}v z?Y7~V`S^l5l%eyr{g6pRGA+RUXp9us9V)n6ja{#Wnd4LAGukWF#!x+0vp(nkC+!KE zs@}6oP(5v2=%IR}(z`)#!t#9*=T75CK==#d`_|AmWzNs_N2`K(SpN7Q|NUcW)G=p@ za&09q^tr}=H+x_ha@pnBJ0yut*xml*>y*xHsVBk!PUHj1oIvX6PtpF|m1E2|0>=HH ziehPZ)#u$AE@d}?mt_jejggVCK7Le$AGGbXE%RWuFEzlKWvi>{j#P6=`FWA4SR~rf z-xd-H!CD>iRt(EF>tQE-I{?`gM=GsAU6{k=0VUxx*w$03ar$d*5yENDL)o-{k z;v3^u#sW2rVB(OCHl334+gfXYmX3>p@c14Lef(#h^KjPTk=Kmv1V*uNqYuZMA#GDIFuQAyd$qLvx(aSwkBV0U@PbP;Ddm@FG-XRY0zL- zp*%eSZ$|WB74Np2BYX!OeYti~>9IIuC`JReOx*h?82Z5I4XI@@r0Bpf9Ge!gdA886 zA`=Cf0kLOU@q}L6uhqkPEKFLX4X>l(U}VZm@5w0~pgk(49)PS|i(HZ{7&0a{IWW35 zG#-PpS-@B$qV34c+;-ci23B8uWFA4-_>)}yS@fbI`_|%uCoMW{mNF|!P0RO)Za|Gq zt@={8QG)2`yKvsb8)}^U-PalE%*)8Cl9D$6Ax%T1;KWvM4#9-{t0>Pc(Y*!JA~uyT zrKC1+0ZJ!&o?xd7PYqD-S279I%)qC2aycc*5)&NL7Wc9L@Nn(Uw7Se``o*gHkWrTl z!{FgEXwq48!wfBjSxErP42vgrKZjw3wGZ4}KMRuU@CpYpcp3gfh`b5FZCsk0YnhQY5oij4Yy0(xkg5cUOWG@lFYr>SFwc!CCW( zjEi)b!v1S~GWOe}|B?IeU!6`TRoa^MLRUuo`e9@}Rgw+uDqM_0v#$&5vVtqnm1XOl zRQRMv9ZW|@DeVcau}X&JH6OpLC(NqP@GsbBVFW?^9W1}tV&rIVHg7ePoJrlLi=s1U zCR9JPJGA)&0kH}sZF_#}pt*#S#->A2dO27zT}pg0%~T?F5UFU1f^W&O1!M!Yfq1ws zruMRmrl(+~GG6~vo!yJ(qQeV$^O3j#ZXOhJ?15@J)>u;t;(aWmdDpn)!P_b#4&7K& z1T6)VTEkegTtgIjPj@hNmAZ8@ZxToDieM71Yadgia1ql!?k01cK#Z{WaK^*Yxo}(} zf1`b=a*Q)b1q5bk7FAQd$*}T-Azyd6F&!grP!KA<;Oj>GF<|muD-TUKBK5k_+@!7c zKo$*Y(AOmRL>Ovr+#!0Dm#nJ`6k3%v${Fk+4_QmYAY{!!T2pz#l%qcBJ(Fwtm!50t z*}#ysdVCup-L8t!JHOxk+P%k*a6B4+IXU)luNZ&q2pK;K)2WWRSvsfcXd4F&FFIK! zX#quf0eWt*Orbe%qO2H83JL2pL{VXuO)(KMlf(J5f>lCRKF>8Ll?CZwsI?hql)dqAnaiBWI4_wE=V~!~F(^5! zU<@Toa*Ed0s{GV$+I*@p2{tx`6_LffL)n}wGeOZmFq6u>`pY;cT=L-T$0YMsa8)iS zoEa2y@9%wq`Ds3`81dP~P?vn_mF#Dde98$*ka3y&rh+q#F;XYtA(lUxvR$l{%`c36 zsyk5Mx|y&3Q~^c@EeHaG8eM<&V;nX`2qIZ9KvbAWTU(Uyg0F&nw7G9vu8!!0Kyi`~p*!a;r4r{_!U__9^*$ zMEbPso7&mMU$7S)qkT5S{j8tU+665B>lA%5F0?wQVWBhpyv^ekY40ORHr=fk{UNau zm<@hPvq#>A8A|yh8u-_gN=dQWY zax7TNA~8yiHJVNmj}SjWHfSBWAd9E-^H|VNGb7%uX5}SvlPyn0xxJ$9yKOB%^-^Zn z*mmt&JX7#cjaK+C6|I7O`(Q>zhtGigXB$AwxCMO=%N^ql1MnS%q%nnqGr`ed2h%x3;;iz3p-( z=R703p^MjN_p(1{%FjGP55E7|FmU|8uv|i*J%RRKKrG_!UAgAx)1)V9ec2`}4;x}0 zg^IG%4dOi^_dwu>$fct2Hv~cN`$7k~`<8J}xBu^lALiJBkw%o=i+sV)h#vmGFP-zS#mv6`2+ewNA?V821h<5fZja?i)HO_LFF0>F7O zW&=1OB=8<0B<=0%XSiaOE7nibx5mBaeduLmB+R8#@Y6nYY8;T?&nMuO-N3b$05IY+ z5PtQUATa`vv*3V!JrdKs5u2BI!nFLmsQ*e1xanytl4@4$?`W^cxUKUN+{th60De$5 zoF3eXF63O*kIMA+mWvavc8+9Nxa~FCec4?b<+c4F0pFfoCDGBcOCVG?keL+2~ zTEq22;0e*$)3o9@S<@dCIl-vsDybBB0 z$&CVEF2EPoj4ip3oO%?N?u50E9+30t1D1R3Ouv8r?Oaq3nR4L@`TpPwT2*Wpud7FY zW@uCT15m}j@|-%&zjmCw9KJ#t5Hah#Oy6%?9eCsCqlo=yE-W!TZ${JO2qAONjDLn} zqS=%Pmx$%$vctt}Wm69{1lG z^p-aLe)6*fjwn;)d}sIrM92C+^Zfk%_U|$aZ{Bk1v;yB<^n&;-8}S=U;)?#|J@S&h zKbuRFSN7fg%G>cBOPbwq1AyJ9EkQ1L%oVM@`cUOrTH{_n9^}nEFW=`I8?JM9cY(%s z)JpNJV+awX^7d=bokA>+o+Qs=FLp9wj*tN&Un|1P zJi82TP$4Fxx6(K$k6xCGvzxS%|`?VI>rm;~myIBDB|NvFes=-1HsM1D>VF8^@v zB((|TcN_?o)G%^-V%<(08=0SY6EX!i!GGft{!h&nhbn0WvglPB2&gPeImR|Q$UMed2gNx1uLJ({xVcSOQlUvJ* zqKTeL=T&L%b5ty|I(U8hw2d8>LmW94_eI9#6R@U%Ur9UQkT zuq}PK(zdyVlm+bP^b@!-{Pr;1t$d6butm|lT~i9_#!IRUkvWnqz{$N6a+V2agbV>i zC>^y3K#gSvEy*mMz-XLfgGxMx8KG>OB&~%*)4*ITrz=L}l>ghFl0pOa_fNElV_k9P zSFZDO+I0$y8Qi(u+3c`k6p8*wg69*BaGiAaX=>K&(FfZJrl%W&YvT@)e(gBB)V{*; zXe>U@5Wkr(!Q}7CC8Z(+5;sOuaVd~xc@1RTlAO87P5y@RylDD{E2qQh4F4Rz?zkXECRJ#&xK zYP4j{j2iONX92Nw+naDW{(`YYp^0@KP50L{Q%3Ig;$Ocz7X|pR?j(Nd?#@>hJDI9# zBOM*biRWL9G#4|bd`Z{9CF zv`e4CYJMLv#ds^LLMLy@+s?Ye`aXmvk^sW?!$6Vie0#9JQWa8d_H@Ap`2A zkhE)hKeIOLIRjn|ZB@zwfZ|;?v;)J3d4c^4B$^sk&xCSl3omGx44$dt2U6QVn|jAJoEan zVq9=poCg(*wITu^GCk3P)jp~DgYQ`3IrZ`yf3}@LRG{D1qvVn7C_DmBx|^glz;_69 zqd%DyR`e)@4qsB3tGI_AA?yK?8KC`$6KW1VkF3L0vdGVVG5late9!}Qc))b3-Zleiq4P9M!9WFlKx4LN%*pjb^!*WuvV;a)7JCuR zsy)0a8!DS<|D~QVaZBucyDk1P`LpMYq$4n9iFZz({7XGWNqAl*wa-)l=QmPgCNECq z9}s$cOH`1DuAkKfB%!lc6XlQeOvQl8R%Xuf@{b;dY zG+}Vmzv+>op=tIhv5NM&QA8qIa*wQ-T);s%N;Pk|`5xBJcl1ElMpu%(3~~q@QWGPd z7xvcZ|M{+{(+345HA)-ZEP^j^r`VEuB}k4jXnq63gKD78jm*2JPK|D@Vg!5<{IpX0 zhM+^w6crmn9?2{l5kUMNmpzpWYpK2FI87uAFY|lU-f|M{L0i|pHn~N&u7)Q62Sq@- zzm4wzcZ#VS~{oVnn_@D>mt7Z=LCx{S6B^V`sGHuBxL_0tU>*}O4_hNepI(tNeU2oh4X01Bh{XA+4&#Y&S4lZW=_`c8*;$ClZ~hPW(+neT}{ zxVs%dE|cXD`)DV0)WNPRb*8fO;1kqu&?7bIcUGMxB7;KSRH?PDb_;5v*8#dpIUK(? zrhM*7C?ed!3vGpMT$=t)-eSueGJF_TXC+sw+lP$b6D5C;}DL z?pu@ji*GNRip76LEoSJJ>`L7 zqm>+Vu`KmB=7DDK&_Zk{5esE|Q=2K+MotU(K0e0nZV<8A|Hv>Hm{ zZP8_t`L+_@bf?v=`R(6Q`6s_be8iyD|0cP$Y@4|N3kphO+BFhqe>NTp<#)|AX)v%C zLST03RzoyUu6?<)_j7T&A)a$>BBt?0SkE~i(7Mb6OT+)U_sz!01;2( z>8AtV%*ofb2nsNoBZ?*qR{c4XPzhQVsYz~tVU#o%nPxhR1`{`V8+o%c4NIb;m$R`u z*?)gVtV`_R>asMa+)ZiyCE--JeUu#V>sSprOX}DOiu{1~W8QPA_=Cb4#JSjdlak6* zCsXy-a8}esVew15k`3j>KmMwb0EbIICAJCDMW9GbkImvJ)>s2myLp-S4x1Z1 z>d7T~hK8c?jHNX+LI-&s-8gl7*p$qgor0%)gg&Ppew+Z46KjUtka2J$K9Gy zv?WVbuhw8KthC7%E9>#E$pY|^D6N_{$jk*@24xy0OaCv*yG&W#+052%qRiE;zvfY) zOsZ5=09Xi-wEVWEtz4#cXcVUPXbPrnGTtId@Fy>Y|4xCCmjdMW3<^cyO$_!;5(yne zl25Y%$5*x7P$n|D^Kbv_|B^|$kza*iZ>EG5i*R8T>#y5^hPmO4i;qSYNUSbcKhoL% zI&GZ7zbtGN_6vV^qnq0NR<^mlZEv{&3QO9ieL8mGl|9R!RUh2!UNm)+*u^1E5JM6< zlu<`3`z{|6s9=B%9>kDAQyFP^EA@F+K-^fuv)*?1+UYwVg$0RluIMT%(^A**c-F}E z-R+*gi!*rlEfOQJG?q-hExffuv0XrA`h(#M;PLuU{G$9}uUvhO!j6+~i3!A|`>F}& z=`}uWI{I#Wn2_9jySGn`iq;zK?vFuBQm$|GL00F;an^p-!*BjOff3q{ydt|rxc7VL zE+gT)elmAq)^r8K7Ojd zJHPsO2i*Ns|9EOj1JbjCAK3j-IF^(D5u}=M2r4RFV{WXCt?{;mN$R=(l|IJU<^TAL zpU}-L&`dzf zacj1^oc3&dTe0b_mq%~JfqBTw1J>99)r+R$jH zt#_;1fHOXkH`A7sEV4fkxwLs$a0M9dD{?1`=`~ORfz(?=X1g+**_Pac?68JFm`#x5 zoQI>w^H+(D=V)Wz{izr9XTv>!d0#;BU?McxrxmSJb=do_;Wwv_zDl;@xb@UX-|sVj%kjvrdG{B zLAR&C{j82#@T@!6M<*fDg|%63JRRD(+9(RL*ozlNpjJTmA}t}E0W$Vx;>jFVu;aiP zt|M+d_!4%#BqgQMQfqxsOYQS8C&O*AnExg!6e#^@7jDy8c6wO5{k39%8_VY&g2F=( zLOV9kJq|eG#R_X|u*CrhiIAJ7_K_*#blgoFCsicZ(YN(}-U!%tM$A&P@1d|~6 z$1HO!vcxhgth31$JM6N@J_j6f#4#tFJ@;Pj8#-4O6Y_S_i;M!euF7cDP!3PGqw)>}~wM=t~s+*w<+z#YuL^$_hw|eBzXs zRUh#du3LMy=~=(0nv|D6vMp8nTXv4*m(&(SQm^{BdJU$w+1O~i0k>FjqG@LCqr@^_ z7m6kEZgIqW#h>8)QZAL1zACa-DOs<~mW`^dy3LQ!TDQA_T(OU|)j(IB7)&&>6mJq& zl;oil?}@Z9@{ES^zidt$WZqlHC8H*4O`9DBqcO*mC{T8JF@+&}y_CX~#eu9KdGN^A z8vl86)>DeERU#X1_Mty4UZFNA7nY7bXgXi9k5rm{ui@VT-z2HE zv7E+e)*I`c#b9w+BFmT9J+Q2PaVs*sVMp8 zr)1jhAeJ4U?OofJk-KcMwGAG7g2=%~mqL^0iQ{o3@oGwBU#hphR)3}+>(3$E3Gg=A zmG+;wrOqlyiNiI}s@^t=`6C%W6qKRNjsKqzv`0;2_Dl7&{n{{VFPPxyWpAgM`fYF0 z9NVE1=J>A6(t+LFbj>RmvU^+FavwLmqmpi5kB|phs!=xOgJ2`#-NLTeEyX?8klV6Fv)95o8oq?1b<6C?9vv$0Js z5OE+hv>{{R426JT=)}asAR`|p70s|E+~SAAWB|M5p_E}_6jB=b5ZiSx5Kto~~(s9-z_Au6Og$VulIw*s#ifbpIZ zOz*3w^QB={f12R%m(%ijx;l2f-xsr2;@jb4Wz} z`&Yj}-_gzU0}n)=HNGnU&(@6f(`}#Tf$g5@!R=kb&$oXmzu3WLJ+$Xm@XH-u*{^nF z>%4H8W5E4x`coOV;RWTl?UJ7BJ4bbZp6L!FVt2C0T*0nzB_HJ~BnMu~l~WEo<&|Ks zl1ezLjhb<~!R{aOZ=)un{M3#fkHxfjY(G_f<#c8?h}C;mwu^D_T!K&Naw4)<_D3jp z)1Ttp-~N{9AQIZcDuKKNeU2{Qt^2Uu>?Vul#Lop^RsLZ27yX@7hx6XlLh#7S>Ag!Wd z;7TJRN=rhLj+Q<>BV#6J=FF_DS!Bx0%E6gU4SN5m$L?QE`2DAYG=PFKh>0~67gso5 z-theV5d=jd%99sWp~7g<ovmGKOlkF*Rt2qg88M9lGPa+E<(Cb-vET6SWk{QkVib zNwu%kwz`Ve`nc2XL~zqv_)vrt7}OfPsL7fJlW zNF=)yiapvo_?>w@yx<=PdicV>3|fG18(WB9ix2D1rbhL5i({(X%DAfbU}38FcmlP1 zHlez`dhuSA`{38Pf@2GKKwygnKw+z8AUU8Kw@)RL_O)_yCiM7qSD^mR4K@F02kBqj zrutV;XeMnkowOr>I2QZ1Gnsd~PO9}Ci#E97OYmTGS7Ky;UYXJTZI#CMkJT98vuiTB7uRNL|KE^@ ztJ@v7S7bYh)qf}D?t!lr{{~NuzXh)Kx5d!?CKZhTq6UtCSrga4Vi@wJ%*O5cQsD+O zzOsyO{GBDAoP6(z&tHRi)>M8eyKKlJ^n03FI z=Gp~kMD|bSW%eJgDeOOetg`=d3$_3DIc}3$$vdfoG30BX+B4tz+P?iIkf>qe^5hst z%uAu<@h_!G)4TZF+d|5Qul58^^rTMyR8I5s&d51E_vL+_CFjgpcF2Eh&hgv^Fa|}# zFJo{om0cQLw234w9&2%E!jX-73}YSVcpViog?$pg*VmlP6sI=r8O&ssvpeU`^Kh#Y zxd4fK3lYowvZ$w zzVMNB-1n09@h%;hr0*Bf=xn-xQmUw@g&*`V$QaWsuzGcDvCpv_+4!Tx1-Cr$E}&pS ze}DV_{+;oi`&}ftG%`+&rm+P#_5bmETdycsA35CSYi#)f1di8WYJfbqCKQ2&OsKBs zkIVs=asc4PjFM@vJj?t(0LWTGu36MbT}hUt&V?@op=)oFh(`Bua9$K=-t#IzNLHHw z^*Lr>NriB$PdnJ@rNp*EJT(paa)gKz~D+}xUrPdnsyx^+KVNduc zesk|@i;0>?Iyc|B4bd35Rj&j}=&RPw2$ znO;VjXOm-YfFH#V{15UE`VY{ z6su6HN&CZm*F0EEmwqEA%~`f#*Dq(TJ$N-V{+a#6{UrUQ{bc_XR9aQ_we+K&1{-U- zg;v{YzvC{t?WuPx)j-2uT!W1OOS1Xv_;Q7r)tZ2{0ikNTvB)jM`w@OakjtHxtz4&N zmQ`_#yK}50f58ka6j}^b-O{(fr@KF|VPM*(OwZWUDq#8ZEA8c8(P}~r8Z`D;Shg=st)xRi*2Yi{KmU$=5l07)A4d0n7kZkK_>rmCwnX> z7KxkAZ%m>_?t)%^gZOeCdl3zfvmIVEW4wW7Vs9@4X)7NKTKHnT!*9xO=5OALS3zp5 zdrfO!*ZMc|s(q-i{bah(ff1kAd3n1M&(fExkiuv34pT*vdM zpefU`>=( zdasg<*YA>H@$))`HMTkE)e|nc`}~dyp7{`n8G;M*ogn&QiYVWi-+9>LWQs9bmrSzD zCBGs{DyOm<(r)t6$`I?6Z}fZjrknlcOU<;_L74QKqxn$fD={Nu;3g5yKVHpY#Lmlx z#Go(rHf#xF$rMseD}CgM=Gt)<+2-V0?hgO(AJvbyAMZaH zKe$JE@-!GD^7!~n7{;G0{P-qehkieGUiK801WH>fs9#tw4i|P9`WQ`#@&7SpMRCuC zk&V$3OfWNHQkhsLQHrHz{C)Qm#jMD;C75|rUxfLkWZ23SQ^u@A63cBd1NS=vM&+x) zAM?CoHCgp1l=<(-xf_q(3R5OS!CdkuUi$Kr{FDBZ^HVrkvTfoYm!E2@G}KyWy-NN) z^XyRLe}$i!7Mop@)t10C@;?Xveocxe!Ilj$tXV5am@LZAUC;NqJ}{v{D@+ZyVSW&X zMToIQc`2LCv!eK$U@5ZW-~Vx1n{2ns{!!7BSP>@;mL)xP%DL=WkgSHgvkdhm9Gd^djXusIM1d&c-R^3-2s*mqSZ!Qr_KH~Yo z5`R;Fv${AHC97PWu6;gde6gM1X6><#b#EXZb!NSzWdAqy4s9wgMfUhz+2;0kwDWyw zv&X$1CDvDOT_}&@_6;U6!BYTSz+j&7O28v%5VED`q#|vnA^v{c(2I^%VKX zUi$*#s4mUNU!Kv>1pY40ZuSEuTFP!Aj>0WtWw>2*n2BxNaynz?gZSq#^&6*O-Q>nQ zy`jOD0wGRka7v9c%p1}yVkBQ!Cn0!AiD<)P@E*KjqDN+6JlYzplqP^Z>|DT=hw<^u zML=0WP)#@1*D^#tR*mhCU5!(Pwe~>uD+V@rG89edZxZtM(!8V$Uz z?r(H!V(*Ij&8`c=m`syn3V9Ze&9YbsR5NT-FEvT6>eit8;cIl##SJAdT?Lnt8fBll z4u`M0Ktb2q(?YNi(#=Xo+Z|W$tE-t#tHL;ZNf3(K5J+5ygB$zp2}Xx?6PIq3i@#yKi~m|@eEO-%TC4umzP=1j zbOfej7Up6Rma5b$gKADSuUb;QQh7b#8xxKFf!V*TA5G9BCC2CZ2U@a^1jF~a>oXIx z(N$e@J|HyiG%~}Q>6}r*Cm4}WYo{MiTc#JLoztH1O*H-mf$?RGU>uiOy)!fxdAf9o zAVLZ|8WAQ)GD=JZBkp+i)xp8HP_#Lf4Q571LgmJBcQP?CzCM!_9SO) z^-?)z+_hGl^`><*`&T*>s?&-WUP74_SHJPaa=RH3=-0b}9(xRF&>%AK{ zK;~$)xyOy%)Xival9^K|q31_6D)|zV^2dqpT8nl;>(qM2H(RrSFZ6h#lNe&8v8OTN zXWr@|Kjd#9SPXze4sW|NIba{4a_olk2(>|5AkLULX{F8;Q4e(o97eusPPiSfShp%~ME*Nd^lzXb+R>Ke1LwEB=Y_^r+M)in&Lc=!}h~>yK70 zBbp_aR7ko<3ylJS9lV`dhE#}&WaA*)N*pq=955zSlZK@HcqxFq#S~`-4aF;l9Z_W% z2UkF7rNuxDc?wKm%LY;cA{M{LIF8J6?!HmjP6P$ES=VR_J|U`<*L&<^3Da$Z zHuw_G7kFdC&ElI z<5cM)0&`InV!k!>)yP93eiahMQ21zCN`)RHIbp&dHsK>!%0&&KiiS`}OK74!fi_m- ziY`870$2Pe2zNrt1i^frZ-f$2L@ZGsk$B=K!OJ8~vRBENTvEv|h5YOD_Y`7mpp;+g zX=?1Cl`g(9?etDRoea(h{frNiaTaHrP4?!5`|I!b*2dq(?c)3&@-AZ5X87ZB5c`A- zlC7Ub>iiHHo8e&CEDy^f{OpS%P)p$OOVOn*GC$(dHf=BCm&WHcU;Pzsad>cDT_$)m z+#N9USolIIJp1N5U&(X9JeF7GoiW)am&fL938uw++G2yx;)rJO`I`+4@MWZsucIR0 z#Lk=e7KBCZpoC_pM@xO53Bxg(Ue77CMEQ7`fC)T_AU4i;S5BVRFp`Ez3)U%IYF@lWV9(c4&*Z zvazt=45a78!n%e#%J%Y|<)C^98_V%Uwxy@5IP#3-W=JY#IF2w<<<;>bplqk0Z$Hw* z*i|9Nb#z}K6*2Tev4|e&`zqCQB1V1^)pKsd^tcmh5lnVmmX2j~ObC~EEL1IPS!2*8 zI`(zC#&J@0U?4()S{g!h4+91abb3M4&Xo!1 zFhMq8hQV-bN@NA^9vKhbH*tdx#11};BYbqUIUA>rYdJHU36{TQjJV%uV)@%7aqHr` z`ptxt{|@o|_fm6D;s`(b^!784AHnAMNWnx*28W5)aN}5vAuM&B! zC~Pw>uNN~XSBbo3kHU-Nt{v<5QNYiM4A7c@z5n z71U9JW(vQrz>Cg)~Ri8POev*#5&crXML(^ z4gzvi*Opyp1$EzdgFCpN9EPA!Sd|9d7+ox($cHcPZ;%LNjoexc;;h2og%LzCR8mDH zRTP|Pg@U8-n(kLoXxUPAf4&Ff;#P1R8;Kz@%VXEQUx~77{qipBeMp@jMyL+}Ztj!+ zCg&c(;au?a&LH;89rFL2+h)Wf{JU&;2Fp_`rV>=OU|91Pnd)`;@{8rHOM}Gp4M+4U zWJF1-Kx!ty0*mc|;*2sgRBRXIf6W@1v`Yy)Wzd6@5`0Xv@;|ybBhnd~3+p|2iSE^f ztGIzL!-~RQHb(wds zV+6tI0cB~wR9dD#t84rBQ5R(z5KF!ksS+qLK~sOKu!cl>`E$nXu%WR=VC?9by=RVaAO z8-Ky$0Rrmnc&QVks1?NBa4>cagjI>!T|(CdL^@}XbcUCm0t_d(bnI_w33iI)1ytE_ z=+t4X3DhL$_Eqh^@l=0Qf%h85+nqnmo8KKAzz_E(E4!%~VMe*nMfg<;s<4Twlu7fStg7}BjtrKc zDSsA}e$HVKujyOLhU?(a4joE!F?NJK693c~v!)o^p;wpr&@1_!lD~O=u_qA8;U_u6|IqFLxjBOwl7|F(yLB* z)$y-7_Ekr}=*Sy}Bh}CWS#Ow*?)CEAD?hp?KYiueXP$M;NO;dXZ;|mDWi8XpWv=Og z$7@Q)1dcwKNhz?5!FXDDf=F*wjPLD3z}AA(@M~_91}^Cnnf&O zOl3Yp<`xG-DK(hJH$ZaXkeMT5*?Bt@A!Jz?50gjhRTf7GUhRY z{vt<%R9d}EygP)cl_J$hMqJ}cm6+Wnq>qJI2J>7rp}g}TQZ{-feb-(5*(Vq8dAjE1 zzHP-6;CdsX!u!8MVMh*JG|!qwoLH+lpQvN>0XY_h1Js6%GjymRx^F`Uzf3K?7HHKwO#q{ zIStwGEx5wC&=6UWc7(MBg0obymt)DUc*TMp{LU_GmkUK)GH)}3(yV%Q zloeOdRR*NeS!zh=C>g4vt%Sg!r8qFrRCJ(&p~xfeI6HlM)id$a6pGs)TK-z(w!>Jn zc&$tK_6PA@hc?r`4%eKLj#)!=rg4e!JNoWoW?V@yri4yc5H<8v5W4(9%zVC7W8kw0 zbAQ##`hlo#K4n+oJ(dsu;Q5sh zZp##=fuQT?Ca^hx(}&_Y{rNu*=t6bG3~h(o*5a?t@Yr|}U0@zuH!ZWFa-Dn*?xK%-okS0)y83MwbSb8M8(fUg%T|3?}c{=D;U zfoROWQeY4LcJU-<{M!y**@m$#^w~5L=7GgYpndXB%gUc6U|7VR1kv^z-X=^Fnr}dy zxx{2=NB{bf4+9JlCoHz85Ae;69bLU zoL|PQqK~hwLV6c%=K96SY*B~P4Kqa+&c#Zy%i}B8BHb15{+m?nWmmqNNo5arkKJfN zxW<*{Gk6g^W6nui&BdV=dZ9(95;j6fvN8czFGj zy*?u3P$K<8vLs+$+q)C~VagHvk25<$G$y#ZM&&??7lH{+ex3xS?UFD7XI%YlAa&07 z{FUydKO)^0Hr;&0@{%;&oIdu`RY?W+L#BV)EC`jXs~e~irPUU2WFFVzWChGZ#SFwu zLt2zf!a^4D;Ge5IqYFDA{W5p$L zY2;l!MOlJnAL0lhfnPuy2c^}2`8&NG(7bQHXV1_m>>dSAxq?}CJ*JyMM(aZ;R`Z>V zqT9gKt)S)>(C%l7;`qZpej zD=N*|LH2#3qdQ~yCv5X2Qktb3Y+!SfG(Zhq_FR4GZMyxdR4W_PY3X$U0Gy77oM`a19nee3}b z+G2O~Wg+XCIboj72}{bIf$EOHnG@>GZQCxfj6ANtp(EulBh{CUFFjnGvDmG!f#Nipy(EzO5znt-^v$}BaQ z*(GD!hN*8Cf0j0?wW^;i2vxf*&xz9N%chg$S!*e69sHxXrLUhPT!jD}cq@NJNHX`i z9AX7mwygI&OV++Ey*H1&#vC@?L<%oAt4~Sq93nl` z$gDpr%sRZf{LuD!U8H1tatMbiuMV1fzm$T{o@?=Hj7;NKQ#_N&y$}oH?$B0cmWfx?cMPFMZJ z_I*kkn=9}?#j6=(h8rqgC2%yxuc70bBE}l7s%5mNdMoe}9+*kKq!@K8{Y!vaE_pvf zW1K22W1MM8VvTmGT(WWXkgfQe7}X-HNOlY3xePB-`TmO`GNhBt|VNq)K7d za0s0-vUkm3J|(3^G_fK5*~SQo#j&GcNMc))ctgS<=|i|ZqSPV52Sjl(Z-G6?0moM< zJ!4RC3R%DdOb5W>3vl~q;lRdAiysQ}voE-=s6OP^v@O&@Xvb$>rxFUti}dEvm9stR}7-X zrr=Y_>PE|0 z;nR`7;NWW1=xf^)rA9xByG8MQWsfQInR$he>BuA<(KHE1=4Y0~sDutXu36XzX7as< zPYXEABuEwcDntyw#vGzk!$;&wMdAT3hwsQK){umRz#swHw>dwtAECqSM88*X1ovu} z^Du}~ef4L6py?tm?VS>uE8sDSLi&kP0%zMPKikI)uG3Lwj4)I#SVTRDlQ+@?gjbaPs3-cP$ zw)0_$9p`Ozv$;kE_k7HhpE;l4bz0$#Cl6wN?G zob<6tlt7!RaOyqFV|a1L&{GZpV-|t^#md0JHD|BlA3xynZHUg7H5y))5U)y%7w~yD zIDXCb@g5Wz_uz8}oJ%V_Ujkrtxq!t;#Y~m+ys{DLEs?8Za5w_91;s+%98bGT;e>MZ zy=WV-w*}Bf2}v58(0+W1VwB$Z?}@MuvZg{dRl<{p^QNnOoUCZfCCS5Bv%!rS@BSJU z)3FBhgUY*@_v=qg&HIKqdMX^XJ|z##N#~FOr*b=PiJz6tl!!YA zjJ>d*{ZUTTF->zPM#s1vXdNS+e=((y5^8Q`@Ra-@W4BRahkc=?l-?e=3~@}RC7#4X zw8cu;jvQT~JF>$E%2OosP)e2Hhgj1L&_mSQQ>QuVMfBpiMxd9NEUn}_&2NjV@UqXP_VpeXZKNL<#=p| z>T1-;;o;GymwCa;CI?nmOB*kCK?@rtoWtCPqLY~ofRU+n!_Q2tBW5wSHuzQ}Yc7_j zp*0eGKLl3q?Vu%n$mPdubBP{~ha|c<47cKB2|x#XU|?ipJERtdNxsppcNW_g%rsN4}t`u$_EYvpzx zAapxR9k;>kd=>1rxR`4ewD~e{DL0>P2uDxnUF=32&l4<;Uvmq8b1)b9ReN(RHX(Lq z-}d{S>8??h9>75KEzh50rf#B(uP~?-_9#XV=u$kzeUE_|?$WC1J!8iEKo?Wq6%v~8 z){=V0ys>TIIyIq&A+Lmd2E3%dok99JRA{Sogwn-X!}%23jg`Mn`fR|)8RQpW=qcnb zp5O^&i%UI@OeJygDALwNS^2A@Isd&Nel;$eFsP_!ls)}bP_x%6qqt{tQb>c1UA5kxzh-|v@N4|MZhIF~M?n|2oAslB z=Mk}OIk>H^?9^-oX$_lK?r(lNPz){_H00mbKYI7u9#;AOpN1QoYHj}X^cl>1%YW&N z1$VBC+IRSsp8VQck$NB=66=YDZv6r_;XY zVDRkxBYl5s!#G+xrr#go@s0g{AT;JoR7-Wfn$=d*c`JmNe+%Up-cjnc(Dd8#37d4N zVQ6kM{5NJB$$NU7<-p06FT=%=#V|u>t_lcO<8)5-*pVbQiaLofT9FS(JDKGs;^1m6 zC?mc1lKHw4UwyXeaD!vfl;#_{Ep!(Tels5G%nTAZ3)MpTHPft?*NXc)kwGN2?WY_H zxG9TJYAuACVwJ28lld%fuGcZRF1)&3@98A@U4*cE@_x(D?V9k}rSO%oMe<3RtNgip zs@L1IK)C`Yx_IC&H1FE7MqioWR2-rS8#SCnRzBURx1h$_DSko_{f-;L9x>Udy84Zy zvwOR}Jr(`7q=YJ^8)+%=qaD`7r`MJwsYVH#Ql-}f|F*HYI!L+I>7a(H)>7-*j@NQf z4>n*T(r3m)eLy5v(}Bd9L5Qyf1`%H~01^AF&R5?~w#;!c@pQsWT{BFB8rMX7)7(~W z4;oH|X-G+(PLr(V(>+lf54Fml#=$kGlZhR0tDzkyg7}(B%Aa9(3!xj7Jwsg>*jZxh zi`*)N8bF7g1rWm1{GT-8Hxi-fF%h4-^R1FpGatK?&v4^L03tQv(tw)!=TBYx$W?DO zt7ULxs^{$;&bpzg>PgVs(Zz z{uIJ+-xe?AavTgDc3be``%|IH7?+Ax#KJ`Cw^Dj#=#zT8cO>-FNfYI@@{#mC5sQES zUA5{t3pt_Kn#nz_Xf%$!xGnblDTKlsNpZ>;?v652s_~gHUkUe<=Uv~!zlJ~kU8K7` zAW8P*=9ADm4g+j-4*Ds|>aiJGtrCw!%&my4nq|ry?UfR0>Pfhtt3q7ui%VB>jN_nVl92;((Nd8)SBtscB z8aauCc)C|8Ck?4`c7hB=OtWCmM~VB9WA18jXc%61pd%yK2Cx9a14D5a6la(6@Z>cjb1u@XL|2$HuA{ zNaF+?ICIR$#uty?8I1Kt)_%QhUNOm{T%F3AlFZIRMi8c~SyVvIYV`GfP)WH8ubFz* zd!qEMwlq~a66jaZXPLGHEfq?y4zJCXc=AEY()=H=Pzuh9;X3mX>d8Ca#7Mb7UdP#q zDQvRt^2r?WxRcp zEug8nz_}iYww*FCVIVOXK?a3P>1t(YNmTPE{;E^8^B~)siJ%}(4EfOQTAgJfCz4+l zyt`$Hicg9u;WeshR$FeOH@Zk3mxUt)7N@y?BFNR`mI{+prQUTx&g|ILr8C>j%CLOK z`q*evgt1~rh_1IQ!8LOW){Y_IN5=-K)R56GYo-iCK~<+SwpmUjTH7Vyd*N=^g{mEE zDC8AB#H=VqvHVY~mYxPuK z_N{*3{q1x2x%zSEk2S^`GiQ#>h|Gv5o=6-Ugq&;ah&RL zG>ExaaPdMxxWolrWyQ-ruYo3g5UU&RGFX;+RNIhiRvYyq&HEx7f_2tL4niKb@hVGQ zxq#toDzT7;d5zzmQX|41#=}ols00trZN=D-I;{k`q}J#E||z=lA(*62w&cTNfUoG3f>*W-SP}TAcUY%PZ4n|$^j{97hfAAR)+N5 zY{4jNS3jw4f-4$OFi86)lDZ{c(8E3=>v{mR{WPx6tY_xgfV@HZQo3$0GgI+?;NtV9 z)^e-jCyx`pg_=o$78hyQVyT_=8Ge4G`oo`1?SgM)^;iMnmetY1O0%YhQggF8wx1Q& z8?jqvGd&egd|-+AOL^oK%(KwPzPfbt22&MqrU&^&^u&A%scJ&bE;OFxJGXDi0AEif zCwD`@j}Hzw1A41KYz!UpKiGNrTff(yF6c~&57a-YP62gAGx$Nf!clwUl-^MMC?eSX zdSn}0;|Ab*)A-!?fig?#Gukj>4zryo-t|Np1Bdr;BS2Z%dNnv0CMO<)&mzTr@X@HU zOD~BztLnUM!OwGy0L^w7;?ea{iVE@@Aknw6T3253sbiU8ej1F984D4dYN-yPxL9^b zlCK_9h3JFCpl8s+p&egbetXSqjlTYEj52QqIp(F4HBQOch%%BMS#CWvEXx(=kH(Op zDFUIUiyzGM67!OhX$-?bsmX5~hRmIwuJXo{3iL%O+3(*AUmrRHe+j`Ags;c{N6RQS z)&U|!8MD}dlDj*7-HM^;1jpWNfyRcUFVe0f+;N)@Uvslr3xZQ+vJKO zZmW3IzjWOf1DarD3TkuYmk>m`(|Vik@QYKA#3syk8LV3RIwyphn5~_3ya*zY)fM*s z5HlPR7B$lyUBAfh73*xPo{jHVK-i%+Rrn{$WY z_qUW1PGiG7DLtC1cCy911N~@ae$Wc>zY-pf?HkH+i1`hF3(68)D=$17F+Ggr;;ZQrsg5Jz3`Tpm@sJy?wmLJ9Wv4)H%ngaoqSOF$wlyBHJ5XY$ z)D5eVQkzv=sE0`yWu{GeJ@*q-3bB7lA(-Q*X>}_DGj#2MmWGDJwWjI*dTr}Fw2JJ{ z%tgS=lUJ9atGbrmmZ;qmW6APs<>#wf4wWgH15AZL?`oL_)1Ot^`aJ5Een5T!jI|P? zwv{q$Cr;^jPsf!`ytxEesfqROf?372w#XPENzx$ln=}?1d)L6E<0FT zL!eG;u~G6z4^(O1-jPdwYu1?5vWtLCo!H8q*sxri9PceMH0@fLRMVB89JtNV z3kT9(TLlFqQ0>2Hwf%Mt59&?d5<93nVCS zL9OPOvX%y4bxi#1B~fNka_lVhtcE7Y2G=aVeCoa&vW zUFsRU_DMaDYkSle-Kezc)9(wK&3j5BE#MaHtt(Fh+l0M$6~ZXPNbR3Kbx5e5D2NYF znaytdr*RbX7fKdLwL7em_pac6K%U@_8BttJeg9E-*CL`TO;mhc$?{&xMe*)dc%NKo zwqIdtb_<>J7lUuX`>59}`KRUEIM6L8Ve5_Hi=|H1+H8@J^10J0;%9`s2p0`EtTtRV zM@9-c)~>AnqSlR+2f%(mww#iZu&1g8T*hZ_Bzzlz1{l`YpCPnP<}i>GZw%)jQq zpa3z~eM`VJyHVL&nC>6xy(Mi2N*MOPPwT*tnVF(M+$B5Vna?K?6dx+x`?UbQsD?0q zSZ+!lI$ei9iK6QA93V7caDcMF+#pq}7`(=PB3*1}Uuy*q9#6jp=EZCU{)p2mmQ+2R zV9FGuT)A44nMoFvdC*{R;kS}kVS3RK88dy-c9!+VGij`!n)RpE6K3Il;|ON7;4u`v z)I_CkfNXu3XLJ(Sc5=47A%^P?jYhrBVz7+mjMZYT?xIImX01jCR-+w%&z9f^(w`1H z!wZA)SZdiWpujK`YH`zbW{g^)f+!d4y_kmZKBCKIpeZ+7u>VoS7=Sn_WC8ICCZK?u zf@aTa*E+N5e#3v=ms|8l+~FCM;TlYVk~yn|@sTh65?9f>0baSQUq(`eR?Lhztjcf) zXm}EhMy=Uo8*F-$1(!`qysf)d|2iFurk3s*%z!?>o^Mr^M$;k}`UlO}C8fNR&U9?J z!ON>uDl4$*VjArFs;TF{Q{FZN|oE?AQ9J|FjeEI8~AM^$pSDUVLOPGW_t;heNA| z<4h)4+-sH3p>6l2v;P$21U@x|$yj20Tj@lm|IYWYy6w(03O-YN?_Y7BIdYId`GcFn zIAw?opPFjktvNYrj5+wo>p!{swWvuEC;gEA3YneJ~ z%po;-Vb*=Y8w8q7x5Zq@yx+dBbzfj?=9ErrG@GxIY{vV|!M4d-09VCF^)=)FPCp~3$?5WLib z;l)&k!Ll2)bl#Zk+}qvRLqtGAjE{+n{UxU$tR=~UO*a|iy@bQzctse^G?7?RXE4aw zUdU`>`W!cajPQr8!CCvy_2!ua-*C1AS^2TVaXS~-@iSBO*J~j8EJVtf1ExNiRBuZC z^>@g!WU*4Gj~`rjGY9ixJQ@4z3GY_*a(`TlZ&u&v+5Pq<7vm31HT$8gIekc&^ppXX;#kiY<8p}_%CzBmOPQ%p4oMVa6H z^5SZsV4?)_CNOBhvtKzf+HFq8 z1{NAqTS1eD(E$Vy{18!)cR|EMNtuZa4ebII3YSbA-TVt@$JSz{av4-{viL}1DHlxE zUq3B-h)p%x=RfMAgBxg9zc9Y(q{#HCfVS$zt@)lN-1f)wqnsf&3uJj@6p5lQDpr-1 z=lu@(pL_W%FSeOwJd~OnKRZ0$f&2veh-^TR0*7>LU4UYRisVckzwS9$9`?(cCMNZqY=l(M)SKR!Uj?r(esXrH)tjeLzDL^qyna(_|@gT{F`wA8ACV zZUyH@G#yIlA`5e4gX3JKvlRdV1dK0H3#C>sv$+L;1IYn882L0qUG?YL)o; z{R?G5$Oy49wYD}l%;w95>A}yhFLhb+2LLA@y{72Kz+3q{|p1$m{pMCP(Fd7q259B^lqbzHix@w*EHjH05rQp${mFg z)pRHBA*NbAYuVX;ES}D@o7{$G$JD7%ZLR7&2oh_mm}@2fvCmPGxi2QcYil&j&vn*i zN?_0|(_I#VjzadXkS&A7Pma)PyE(~*$P&TELh((P7g5Y0uxJz_3)Q`tptF#3N*kPV zO|h`BQj@eZXH#06(5^r$Y8tq#LT1*iw!lDaq{VqB$oUIa{Za_(B~I&pr{r_4<1}KG z#n#=6nBl>Rr*QM2n!RxJ^@_MbmiC|P8thg6i?Ta5kxX23MT>7b%WMOV+AyP@yq7(} zA05PaZ;nS2rD!li!jC=s)^td-kGW9WfC41tJp^u7dWh{$*Ag4xLI&r8uN%t#-k`KH z9S4JwO06is674!LUDOC6T5N*buo`=$%rUr4VOIr?X2l=$y-WaMOXN9W$MIqVRJlxA znDyVcT!Cd+oPz5?ygAh zB-(Mt&<8GsVqMGO4<}~>DYY`0sh1OlsXrzN+ELWcB=qvJdz_kMJ}$+`xf!K8)wgR% ztdA9#7aTSFMQo9m3sRRYCes{gm)cgBtZ>uZpB{5wevr@?Ef#i8(AsHlFVnh;Ub#qa zmU7KAI$siL>{e|yDz~jaa$lT0opQSU>1@r)a^I@1!+`Sr)XMU%kOme z$yo*rZx-%~Z<@5Kt6t`{Qw|U4AX98;+}Wvs&33skI5;cHQ>TNSd{tFjrXy^IRxfQY zN$;e-yk)gST{kYRYnVyHW!2d*)Ck=`1*hCrvhLpsp6c0#HNLshKMJ|5x*EC6!l%4q zLO;2JR!O;}W?Q+${u=EH1~@(o@bC6=h-eQE_x2Y;VG|OzkI#y2F{LYO5mjFFpyV>z zzRzI$(AT_yyO(9Scz6KQ*y`QNb#adQa&~-kcI&;U=I=UzdyIbW;##Y&l)UVR^PYD2 zwT*b$cGLxqmG&R(LTibuMHM-vQwIo#9-spd1XTeh1?9hH2dlhde4V{~sbYO*ZfUk~?)cjXz}mDBfDlszAs1M`G+jN1YQNTd zKO28)|EJKubKfy@HHWm4R6PPqI?eHTVKAQQuA9R)O@OTFov;HL5fwQ(CLt~CNse*X}XJ_x6iJ_&w`PI(xK($<{L?c$?smseh z9vD#!1hxSjxZdr+9P zFr?W53B+&wC`OIKSu}Prqp|eC|LN9H?@2T7OEriyx+a1jgI`jeU7$q1q;?Eq!SvyS z&^ArROhkgC-3uFEoSv$T$ViMXnGu>Ys}tN0D?Bei1D#qF0H8o!-Tj@m9~tKa2=ovz zG&n!Mm5EcwaY&(bSXS-1uK~|}yAt0)(YR#fUQ=^(4JkHCS!#;m`ZA$mGpNL7*L+{z z!J#+4#IWy5NJK^UgOHMxmYABn8sHz>4HLzeH-kX~Crc1Fg7VLh`s+QbOA0FT%8GRL z%#5sbP5(;E_*-1x{_6D4PeDw;R^Z-QU^Ll6wgg~u`k_fOX%{NuyZgOj7R`Q*e@LH_rChJ}T`UC0XE)Z6|4 z)y!q=e`|&VloXXE5~Xx*#c*sdW|C60luE_(0(;x-ICeP8CAPV6Y0Uy2jrDteQgV>8 zz!KACyFypBoQhl~c^xZl;f&r^T5zrj2q{Ww3MfdZizv(d1_S`{C6vR!@fG@S#P)Xp z8vKJ^z5$}Jl63#T!oP5oc&AS#C}GXp~%5_kSHIUH8#3L1bAf|!D= z4>Ar((nMrz>;S4zqH^~19!xSnu`#l;(?37nJWxWZY_UXXczl?SfPy6AKLbUf&M^tu z>)}9Xbu@-ZDa`@X;xE1mB>u)%V3Oa6@^AZaX2Y9skiSFmZ}13*!)bRq(K;EeoBt#T z0?-eXZoQ%2THjP#e*}#aKvXMK2DFd^HrF?zgYF&hi@D$Kdx{z~v2${?w>-rRt4q3E zHjG=jpEphej>2&sr0mPEpKufCAjr{Q_jcsC)|nKDC6Z}@(c*FoE)U=Mh^sOL^az2bc3Z;LcAD zPL|E~0xv-oZT%=Jn8=&|>AISm2QPhqHlgKgpqcFXYo zOj}5S{N=hbEV9lpJXCA=Exn7joGyQ>fHyo0R=tK{os9r-co={CK@DIK^oAf6K&Y+(M{Uhf-nP_Znj%eCO}p) zzpS!rzWux;82$5-{J8kqqT^Y(9*uSV4)N>d)f3PxMG>ErA6+ra; z?)|}x(2Q#v7=g2@0D=7s$=4tN!^2{aghn-i0eq(`Ff;pntd7_$QN zlk8m8xel3#$-pmULUihew~sSIUuB!yzK_tA^W%O+3IQ z2grJuIo5BB9)FB33Uu6wumqlI0RNsDPeV&?+z9m1+rSQAonCmDw$wlS0*Ev}>TLwF zWeirAM3V$LxC_%U7j45ver0(o&3?`f`aOjC<6oo{OC6bu^(1$a})#^@ix`xP0~E)7`O6R19X>TsL5*xQMY zy**n=BZ44_9*D|d_IC5nil};ZW@bVL+}pb(hY#y)QH=U?1(8S%425*)W! zdXa}K{Ei38<0O@|)y1F)MR95}h6*S|(Gad!o_8lSY$nh0@jqDGN{4e6w{`62Mhal)`!%Fe^bnA=D zByaCJ5`v?Kcq*~vB>K9E73AIiWfO!2Xe0$9dCj8_=@vEzh3gGFjPHCs!KNcz!+pj21%ODKtQI=X4EBN*zM$Fn)28SNmV7t-;dTD6I&;^29M^={WH#?K#xCDPUV$zgyLcS7ww$Po+rb!-CYOA^5o~WpzO4H>fx(@OGUz_0ca-!yDP zgE%{G!F}9sSTNH86(4o*H#R%JGHJ61e7V6f)N8w|CtG)b~6_IQmf{dOcFln)$tsZP`1V8|Q zYR}r_VPJ3%(q+FzAv0#tY3s``FZDczf8HLWGF&rINON4eTs5NqB^voc1X2WmKl+pOw z$dELY83O^3X#tVDpYg=1TH=X{03jm)?v%y@q8;Rzves>Wu-?-QldLbHEcNAGf+rJs8N7UsHUN2#wFxLg!bLy&Zt=cH(sT7h8Qh#StlC zQkx+!Su0V!Vfd`EFx9NXRXUzl>VopEij=rk8dp;5oym^OYCf;CFF0J-NigGMR@R$9z~3szh@FIC07-XxVQlfB^q_bO3DyAP55xzJJKS znN)-EJ=$+>QCJu8$+#@!e?1Cpcz|dC0Gd>V$j(3jJ0zI^F(R6lmCRS)i}31Mx3X_} zq|r?NL?wsaFZ63Iz_ducB(@1`O8oLF$ab`e4^ik?4hvIu9u>VS6Z}5Igf>x$Ejf0u z5!v)qt{4@0+Fc^IPvE)KaY|B(Kf##Jz9z}k5)A~O1{Li=PTCAD@wHpU-g!KLWg5F_ zr-!!VDU)>X1PL+Pj;dZIoOKaCtvliSy1>t^XzsHIl_5t@LVn$Ag2>( zKI@!4qsh0D5~mgmAm98_{NNv(LhoZGY*Bv!H(lRa9;7YcZ+Wmribpze1JH+V4hPM! zCck$i#@W4mdiNC3TbhavCu@mMv2$x)Ouk>z)!V2}?nSE2fm}ou>J`K(=2l@<;T~1^ zI&%voQkA>R$T9aL$@CzT@-y&!M@BwIe-R5+JT| z&g*SsoC{C21_EMi*o?=rm&=hxc1N`GSK$fBedr|+R*Xd9f3yVvV56>5>$NUJl_>G8 z!(uPOwM^ezOew+0lAkoB->lywQL@XK3AC>m(XSGMztP?b(5|9(8hl?LKH!V|BXl3u z4=twH@eLXqwOU81gT{0C-ZR8%L~V~t-&)d~;|N64ekn-9F(E zl#9@ms+{5caSwh1392+JfDroJ2>IICe*p}K^I{{ zZR9t>AxTkP)gNubVdV$T(_9++z>_cX@KbZv6h`!EHb8uFd6-H2pz?K|pHIqepP{3t z7a-@ILtmWDxl@CV1HU?;KF5YQms?21<203cg>5A?A?i6QM_*e*5oN=ZdtC2!$D_Mt zfjrPC#A*< zP$*Oi6$UDYUs$s!f4!K)5%c{Vc4G^A=hGWD5YyWkc^CAiPSwxQq zLC^XtkIlYb$h2P1{1L=5it>+a#2I!i&E+Z?CH zxs`aIcGk=+U*WOz^1x?S%?CYAeOXK_Oh?&hAam2sSaVuq)IWdu~BLY zfy4wQoiZDif7#)KhowC{@cn_NB9B8Hv|av#@~wk6Z;@6>%S-Ns{nlTr!0A8u(|L3u zhKxe{jRu#hOjoToJa3VE7aTHmwg!EC@NZYPa) zSWS$MOaAP!}+28S*rZW858q?Ad)^U^0C5=Lu>@5DEl;zOqmoFi9G3G8y0JE;$uaUzL7T32X74~8OQKw)#^x%d@g@5Ao9}iiXf^2H0FpPpoC({ zY>sE_kDAIn=k`YzB)T4CPce_BKCkC4;$`;~c!K0{D?#>`pFzI9zLs-7{DLeV`0WLH zkl#03lsrOOeFr7A7{p{Wtij{^(879-u+p@anGTbb9Fk2qt+xl%3Kc@7|3qE{Tu84 zO*>z#I`7QH>XXZ4ayaiIpd&OG-(x0%_6k0Q`tkZs(uR$+p=yIP2&#M>$+b1mTNwn?lh-6_v>T*=Zp3f z+}D|%Tlf(J7%rSu@ZKebYxpy_(yrEU$5Bgs*OR}tmV;^Msid;AqPYqD3Jxds z4|u0P>5O#0lvCI1p1{tESG|9&CY6Hnr7%*;>E1vkz$DsO^eVLfO*36k6Q00)x)Vqt1ok0U5Xa*M zJF6`hCc~o)GV6FzW37{4R*&>`^_m*s8iz0MYEr;+6Dwle^1f?lKWYxR)2l*d?qhlV z_Q6q0iRtu-kmU5BZNvEnn&Z8z9QD-K+*paa>=|rPug)(iLF_bp6M1`B4b#hxSi!pp zV6!e;rMu{0b)6lv-WwHYX&-f$IEiqQJ{sCIwi?sX+Ooo8v~9*NR1a#_O1qqDCCT!@ zg`_13IMr86)}Fa5C%3`|C$JvvM#m$ocW!S$z)TzF*oE8Tz=B!Z64q5X=1v2)vZ$|Ir7)%>Uv2bPqx$Er5$f<^BNB)I3JlcZcw|9mJ**<0Fr1- zf%O1X)MK)(pRB%?)x$cR$RK0D79Zj=63YY7GIXvz@f0}2eWI@c2m8?M(3(Bt?%${c zGb`i7Lnw-h$8f4GJp%tOL0<}C_o=n2Y0Nh4fAs32;p#K#7| zSxdt=*hh~jgMhL&z^I@?s!FbG0jpBRx`z30ZCmARM%zaOqQxapiDioA^5s$g@{Sn) zC*JOADS$ydj%3sji5!zsp-?=zx9@NMOzvM-^k4Zi1~~s{iv)& z#wh1Crs)^4>@JTt+aajJzZo^e2_5EL5Fe63=sc2iTIKcEMR&sSl1aw@woUWa-lyIC z5g(x634#dKg8Ief%-EqgixJe)nd5tHi_A*#*F}`{VvvIA#j|?quuD$^GGC*Db32CAPFtW;6MuTbO>%MKaUV_N2O(o4l#Zq4@d=#Gh?$d9!7`U0IZQs{Y;?Ib8gy%5?*R}Mj6e-7DhAS-;to^T7FTZ znXfdV6O@(i_oWD;0c)z{w+WleyENSpG!EaqW+bc_nSf>URWU|c(d$hlOR;xG)|~VT zd-gAE!V3mIAKtPUy|hw{DWN&+si{Jx{(TnizxbL)s<7ZYqJDFl3_R!Rak?BG#M?N4 zqEfaxE|zYK{bzHRnCt7u1a^t}pJ>C;&~~WkWyhUBjOcCV(Q*XiWTi_hWwt5eNZ}M-*ud^fg>7uRbA-|DEs04Qq83CHT$g@Ws^>$7u)bjwsu*2w33&d7e0^qnhPy&$(R9|5Q_b#FfjNl6kl}_TY`UyUSuS(=@Od|k_7&I~?LmF!RCvZ8 zgaZ(D?B)8YmY*^K2jjjiWQT1~CAro13GmV?Vi#z8osb_%7ZTzL{&`*$uFSd#NOY*r zbw<_YPh8dsBQ~oJF`Z$}NevV$FR={u{2hvDJRRFp-TQ=K?zNO0W)whlW=*0f0Ld6K7L2EwnR_!LpPL0k)GfuxDG9I?iQ9 z{GTl*wKaI&B+aZ~`5u|S=tefj>Xr^KX`bXGshDBMzbkU05ih}|y5Q3uPEPE$aMS)? z!1{Kni&IvOuQusU?U1J+tC+n_>v?yCcs5s@p?u&{4F2w2XL)W zA>7%iL*}#rGr_T1$QIzj)0eDj`4$`$ffkBeI6e>Xl`!IoTjKfrrzp8~v=IEDW@qiP z>r6IIjltIow|uW~$#z{5zCo4*rweLD$An*n#c#+GqiuT#AcFXZ+w<@3(vBl*NP#{` zdzauBPJAMso0nyQ{o%rQq|LTT7KR$UYxEOE*n;`Hi;mTG6EGD7SlrT7%JqtZBZp8? z)&wz__05A|Gb#etBhINnu9IvbIAjp>9uV}!7KZAw?^1Vjtb>W9W$AorT3q1nf|mST z%7%p(Rf@piXlXd@7bv1lKkCuopF8$BDI`iQ{3(;X-}mqVVTg4(S&NuzHFg@bXqLR; z9+bd0Qz;Hg;rYLJF;IW<9Tzur zGI(k>5ml-Q?A|tlub7}fmK3lfki?Qn+a*QxMtMVDiu17#K^@#enQ=G3nUlAT=(2-( zFlVyB05C{9oJ^yT8M7Gfqk7Qq7!sO?@fja*U~djaYEL?8zE+6BG27l-L5=p!So?5M zSX-xT#6sCyAsLRdAcq68WIIkk%XU8E#uqt1c;z>5l4sVf7XX{GM$Ey32&Q|tFI_K= z0bpN990_qAR}2bvY7!@33Q@+SS6jlUNq_M=m*bozob-+#g zldJ}hr@7`X$aQ`)RFL|Ctl;9Kr7hFKMq~1moGjGyrxiYtPU@7%ez?ip_7mb9s2j6z z)J#ZW{fQ;Em?9*RPopj)g$SYnE?9^2Q8A8S3ggFu>#E`md&WAXMb%zsj%RIkR-RU2 z!V766LbJN5ujh9bkHJ(COtP4@)A8Ju4?BFAlgkJ|PG26anGY!?Q>Mb%S;zf5buLC$eO z8#XW*yOSrF%qaoe>hf<@*lsV*i+Y)DzTeQMovLT$QD-}Hdq+AGZe)zFUu$|H6KHl^ zx|~Xkdtbl=V^#B=d*syk1dvPyUL{S%PJIzl#`aI|(fGh?>CH2s*`iU~QrjAY<0g~D z_@j++0|qagsV{RS=!xS$dMwNflBsv7`r5*%_FM&`)~r0|AEq7=y%|u};>?j~<2T9= zc8<%0o;x*!R?m2}fbEs_@;cwFZVHya;DLXK0E$Z+3B2kLAy(ltm;FA)DR(@A_As3* zOR~2|XTIBjb&GPfD)im&mw_D4%!kzXKuHK_x`#^~*+(VB&-dqwK|;}Vre317kwCa$a!8cK!Ov*+y^0z`G7EG5 zLTSmvFjo1rkNjBv>XsRYKbc8-du$h5Q-OFFnn($wma>CA+q0$4$6T3IS>>l1>u9$) zupDSyy$m7z7@+{+{m%F2h}faIHjf8QDmB0xv6d2-xI&iOrOPq167@&R0T!0f2)>z3 z-Da0(gid>NX(n0{I+78VzRuEccuPTUT%N&()4?zF?fcjnLfyC;5_kv=HwV4=3OVEC z#pk#j>tN{XXwUKL++R#mDq;eCH5`Lrl5Jy^BYR!QJW`L3GBlf|TsXB0Ug?IbPPlUiTvxY}ayO6kF^~5n znPGi=AGbx|PDjDtF&|Gac>ox;Mk}X3%=! zAL0=yP!sfaV0zZPdEqlNo$@no+RzO%=98lo8J<@}XsNfyx1U7ed(YqxrPg|z9vQ}5 z`qtoyO5JvUO?*Q7g!)_U!N+qY9{|XcBlVM`O=bsXx1orJlE&H9_ny^Gatcu1+43)hfU7rbNGANJ68S^&D>_W zyR_5jZyCI~$lWjeTeb;bae%fb;Z|K)EFRqhaG;K#ua;~o_;rFEM?4Sw?D@fWteZ`P z+c^9XGCfm7pHX5_E6G?^8AUI~zrkT8wtMP;; zfsES?(C;*3qzF8`c(nK(2cU}pG+Ea#UryD4CS>X&p8(i6%scCaG6_O3f~m)VKU7WW zYR-bl#j#BSq2McnYk%b_#5x2v;gb&&+9qJpuwhXT#C{S4XoLooF%uCzWF89poI|)N01t!td!eKL|dP18qN{6N9Iic3Rcep;UK=HLPXKf`wa+; zu4VEFm=;prAW<^5vknOpoEpMCmekX8jT3T(rBo`S$iCE5C-9?)@pQieb6@kt-?FfY zc!FF>j>Qf1lKtWPZ1Ufs?JJv<5N+fQhqzDxA-_^4o<;iN#6@*d`9_fr3v;g(hjFhV zZSp+EKM0S^&yvnfXIfzojbg11BjaL53KiQxdt`{Pobm1|rl_{@6p zApEEY+Ph6~oc-q_rXsV8g)@Uj#b;~g9!HQ~UWl5M_#h1}9SJki#W}}DhzEK`!?p#YgKv)@x`#J1U*&MzD`u5*j4OPqfYya9 z3V;c18$>tYK0^?Bkp}~W&^81y($-2N;aVkl@FmC%LP!$_q%OosDQf5TrA7jH&<1bB z3otc$0E(qlNBpK*vRX17t-7|~J&yn^3Bf$TYl0M1VFZ^|JSi#%hglFq8fFelu=Z-W8FyI?dd1J@&C9>)o3^M*eGos=g{G@Q@4-VWB zB>mXelu{rHW+E95K;lR;x4ntgEW2yYUd|J3C=g&gF2lB7Q<$W73-=VGG{po0dMMVM zfkmjHom$xqL*8{p22yo<(k9?FHcvWO^~j{v0!f_$&m`m|#~mDi1taZ(0wk>k^@ZXM zB%$&^Y9swh`Fx*-Q;RxbK5ejV^l&<|9Cuw+%80oZzZm{eIa%F`!PZp$Q*uhayg^t0 z`__mx6xg$bqD%b7d1>C2hAq6hNViaG*C&aqMp^uOaqpA*+xe`Y?5xeiaI?9WErRYQ zT>JDmRZ~AZf~&)$XJ#+v^1bifuR%~AW*}*}GfZcmLaYZw@R5=qxPqEzts*1F-y&*3 z%%;nzXd2e@1AXj4v<5+!c#q(<1x&UD zRk6iov&9A=KtKpo9Uw$3rQlO?44kVLX$yJ{KS6TZ>{88}Z!8$Mc};RvgVS@BHg*Gb z{H(klN>!U>;i~7l`ZIk;PjUHUEC-qGwf8#iFxW;fr0Us|L-C0PD~+pzp~3l{DEJ5V zZe+h_68SI$_e+-7etW!C+Lm!aHX*OR7ulE;8McMdpIfE+=L*-Q$)WnIRo?Y!&@ta8n(_h?L*%y3|TN$WZW?nZMF+#8we zF5cmQf%5k2sy0_hx>X-|8WB1d4lrz8aMoS6JSTYM4?ur#nK`SOPV26%8S5$yL}Tm= z&-}DdN<+HGTZNy-v2E*CUF9mrYYSX8_*i7Xi4}}O@LqIuc`JEWs`u5D11c^yv8-s0 zaOnQ-3Iwr_)a-LHc6fo~By-GbFk3(j)^%%pRhV^0VsFBNrVhTyeu#zgiqC@y^D>Dg zN{;jVP86A>cDVx(KTl6J2b5n>&@@@Qs_tR)Iy>U(3I}dnDYagg*H@KIp4`+c!O#1h zR=k|vUPV^=;7`kWZ=G5LUs>{fAr9nKal}a3!3xk&!5KrNfYeBAwSS!Z#Q?fu+Us3U|c4oVdws;q+Sw2 zq>#Xn#y*DWni)7HgBpyiQfJYlt!#lKqexQBh^xSvwQ=w^>q=v~p5ryCe8`5&X#3hV zUp6c;YuyNP)DR7a>d0WgA~uPYxUTuTf;nTumLz>)N)9=}+af~HS4EMlD-5FSB9Cq$ z8i9sAP>dlLDzKDsH!M_+Lcuj}55n#iK^ie3fnPY2xx|S9>bpxn>=^m?tX(w?=L*Ln z!m3r6Cc;u8^Zt~4)GBtnj@8_ z+9kdsEnZOzXM{#yH{LFKD~V(ba-O4$RdM3wH=H&)*{j_on8_!#Rh}-CC%iE1T#;wx z=V67u%>=Al0xr);OLB)5o8s0-{B}~rH@1MUc7+5MknE=z4}oH!4i{dmr5Y=OXwSnj zU(HxaaY9D?%_-?K+!9S`pJFW0OoJI+5bZi?t`4h6!mmXOstpa`n7Dl*exc0osLXYb z7muAt0sw&k1OO-i<^t9Q+b9Kt=0B*@ZT!=?8SbI4u3xgkf>f}piGvhSpbda9AdXQ$ zTt*xXM6PJo)PaBx0s!RuO8^3ZU^Inz`TklP(IaXWDMch`?at6udL>ZPd6tqEv_~;$ zknxS!1HzJPrJ;Idd+{1s*H$1ny+^xJdP=-uDgdbTd;Q56k8bHw(Fj@ z93zL<`+ouL&hf3z0pB2El2B2KL{T7@7R{Imp9I3x2AJL0sTIb+CDLet)kV%)$%>L| zAd-x;&j9uBL`DdpVFZ^o0C8H7Khv}m9<3l#uPb)ofFmDq`O%!4n7Ycu;W;vDMLsbq zy7JmDs8yiy^eOMaapbl_v4E3K=p+z4#=B}hqosG zJXIgl>ykxv1eRWiY+!k1@C4;Gq&WjDg7TVDh}N$8;~r93p>3P+(Bg4`tGDE?b3m*f zPdqVVd>%o^Zm4Ys-L)s&h3ItH(DLLJPqwA!*+l#_ECkpEsUsd`DM`R;I#Ov+K$>mQ z<$I#&Ux{_C1zS6xKrjipjwa-(5$B*SoyK}#DmiN^nhM8!LR5J{mVY6${sjK&<<3}y z{_81NZN1B46F+&A8?sEBpxrC5bk~LjsEY}%aT?^_h)86aq=IMuCVh2)CAmUPOg^0A z?TtsNK8372<+Vb;y4y9K`<5eT;fraEqipR%+aPN@H4S0^gkzO%COcMKD!iGCsVE^tb_1qLw$ z4%J`Z-Lz#%an!)q%qV=ZMr^ry=Tc<%((3zeakP+2tN6pqN0&=9K6Lt9dPI&Ww9FEd z6jaNA)f|VJAVWsV?^|M1&u6$KQHrC({heY-jGX(LhsY7!%bR1=_vc->ch82d1U}~B# zC5n#rE=LA12&QO?Rf000brw4!mFImlebh*ZyNd9U^6v6u)%N@Mn1)GJcR0 zVI0suaYa*PhA7XORE|!^c|CSR5H(?xP!&cpne{aCI=HeZ&l(gA&VhnGaJZqaIc%=e zr{VtxW9JYgO0=%oI%V5BW!tuG+qP}nwr%T_ZQHh8UH87%J?@B%j2z`42Rm~A`&;V+ z_;@0{$q#pO-*N(OGhhbRYD9&t(UfhM{r&WvE{QMAU*NZW{NQef48UFcVSu)7fxAGu zB_FQz^0mh&drtzwOoYPEqT%Plku|}C`1t1H;+7cdlGAA|vv1}51sDlJDJE~&mEl_E zFz&UDwBk#{3hLU;^WaRP022$bF z5a9_L3I)WihjN(>Nvpp(UViKHViPM2D#F2IYDU8e19d*lBj8!5I$r%J_)Mi}dOEu& zM)_HnJ%l54*cl&kLIAON0^te<&){@NZh(3|>UO7{zpxGj`4*Q8CZ9k@sm`srG^$5B zgDMM9AL%RNe6YN0{aRKh2e5)PN9Q+ZhE3=i)MFR)C2Xyzx+r8EKWQh|7Qy11Wo(pfl zwkvLAm0A!0G9-a^Y6Bjy`vK&W1Fy39hb8+jb~4^?gy!Q(NNKs8GR|>Yc#4=@J38YX zaVI}kV-YKiJpEQtrEFVQ=(KrR>bWP{93V2h5 zlfq$|)Z(3Mi5l_b4G4@_wAH$-yKO$OO%vXJS}gj}Jp5SFQfwwK2UDW1+-@+uT_;Xr z9G^_JRY<=G^B7tKJ@u}LPmc|>9Cx-?k7N6>mAW$ah(-p9+q z0eBPcVaJ64=g~C6Y5?xvhbOZ$ebjVUB{Z0q0zI8AfqOxDz)%f>DpNT((wspr0!q5^ z%@2{3&{B+dk>7mmBuv;!W`G9`R8R?lrfTjs5B&!M90I*2RIWLYdj2~pEhrTjX?tzR zA;$AbCw#6fP7(~Hq3O3Geb5k%dzYKHv?)XL1kS0@NyqwD&T_N> zT^|~t@M3H#Kdtm?8uw|9!G_1|(1=5L;F6cKq>An?Hyg6!kgJULxrxJ85_j=oth9@&-ZUQCh)s6%5Cz%){>Hi0jYy zE9I%ez3q#Dp2V`r`;FZWp*VUMS*f)2S~+dUI^Ot)j8F7Ga!W&}hSEB4su;3eP_Y=5 zyjYr!5q3sfC8h!qIj6Z)`EN%sx6U7|22A98HU>c4S@v5r*fSfc%$o!|U@!L223ZC6 zGqXSAJ-4_2J~IEYun$^sIgY3{M}9(hwoEKtd^5QkfnS=*dK!Z+(=f!gfMf7Wtumaj zukr3=FuZdgC-WSB4>VAMm5Pxh@gh-Vfsf(P)W?-37hIwS0131arv+~Apq{b1ULH^F z|KnbWU^CFPv^K2%0n;3V>_txr;p;zY*d|Xmu9!WsOre5-Dx{K%psVaJfT*Og3aQKN z)BjTnqXi4E)qjPMlOUOv1;P&GfO$wj0x7kc0OgtSFB{`CJ&%Ww$<*)paW)(FeW72j zAut>piI{|95)_za`N)7pEY-M~N;t!5a#}Ek?Ys?1#vh2r@fE}#kst&G6@?Xi(_4{z z?o=c3*y&KChkXO1!ws%Gb?t2-O4obNvwphQXm2|8RnEseONmA1?cqyHJI%A`ac7-v z-=^b(^2vR*2hNpOZtkX@0{7qFEy9y@TeFvM4Qy-Mr_UD=?U=3^&l@msLPOQ<^JI2l zu6oU1IQL5%>tppdkojM<4j-_8P&|%E7^1jnOim=l!9gjmGyzb#52-Wz&{lY|7iBA& z)g{Iq?mjd6&UgN&v~}wk`>)>2)7y&oZ7ZwKeSd7u>i|&i$3Iq0;hl~d_Q^*C z4rTLVU$WC%ZV@q%jIo}FYr4Z%rq_}nVkj3rEYA9>Bd1chBuuO z@N672o5Y2-Cz3|wC?Mu>c3}W$t;@V403wR`$HkUEe+QVlF?OToq>LBAKxIvp)1}e` zoMi7BdA$F!Aj?vTl$Rg^QY&d;OU>y9tUHVA+NfX4zGmZeNg2zmMYEYR5lEVRm{WnH zG<90BOas>umut0WP+b;Y$SmJiT51fOvx-A}=+f5+VNA@U9NARd_9nX}99h$m&1^{R z^-|uIkgb`hB-bhi|5Od8LblFKXZJ1y`}WpuipyC#Njw05+z|rrhGp?cx7%#OksLvH zROWLuS4E(#M2LxP57-XY$`aJ_xCw6d1nib=bgVZjL}_mjFpp(`0ja&|AI~_bJ&kdS zKz@h=d_14Heqx|sHUuW8DC`Sga#{eyuWTfEqT|HijUh$lq-d}cD>70qFcLPGOL}AK z(dyDkQa5fwQdT#tV_H^oUIqsw+XSKb-k9jjZb)F(Ju(0DbsoORhdCHM@6QQ!uB~C< z+4$`$0i{G44jT;r*rLHtlvSXxc*)&i6l-85?d6nyW+Np%XXp5noHbqE=APTu<}uBc zml&K>V6*xY{SSr6J)%@MMgyK76vc_|A1Im^IDQDz4>v4uf)T(D##dwrOX$8#m(?-& zcKaFjKDZD=@~~cnMyvir3A25r>Gu=bf@#rMUa_f>fxdC#6ge6`mEy7qiFgfC4%l3H z*SK~c(RG!=(ZrmbeFYeA^DUe^8NHp_3Eye_A)D$&nkeruLhK@`rdvh~beTYal9ISW z&Ui&ulC?4)SP$!YlCg%Q23)~ta$tN((>a{!$*bM5VUKT4%7-A+7nFihn37g~o9mhafFH zVnxaiLj9doAk^Fj{YG~FgQ)&5-WHNfsf1a*t@j_0@j}nE7v5i)2euaW8M|J$1;&5r z2l^lRM!J0cq(pPDg>QgdkMygM)S-~{m9I72>vL=+1q zv$_1zZQZDJ2Gg+&>nr8%0a~12uY`8@oIXzA5e7P1 z3K@tope5L;8AC;^b);uL#~bXR2TT(qb#ukh{UC?*mwfd03{2T{nWA(F@wl-hrn>D@ zz(nLHotH_T$A8bofQGdz|HoEZO5vRv<}rx~7g5Sg4h@CNVz4mCbR@izzJh0%j`UO2 zu)^jVM8snr1%N=!e)N@;Er(yiy~1^DUsI&ur^11{L{<;Tig&%jr(TxOHw_yLA_fSx z$*=s#8^EdPN7!&PJ824hOdXL*s@=@Jb-9i|cd$p#>FQ}|)6Md)@TA1~4DR}GCYZon zkWn4&&OcaJTVUSyyZ6t%#;x2gYaRf?myajdwChBjg-;QGbx39P6VFEXbRd;`*<&!> z`Q0kAq@qVF-@Rd&1bkAn%c5Yuj8xPfL5r#Q@X177ZpFlrFS#Wu>XXm*R$Ir1(U|O! z&ef({;G&WhXaL;(S~B+c%h8c)u^0|8ME1&&BwYbT&&;!Dqp49Uh12hagbXZ_c6bl_ z22KGh zpXbnsIUic$UJMxLFi!EcLRU6h>KlrQ(00dw8__(jX0y&RuCZpkkqRiu@Es0xw~^KD zcsFSWtJLE9@{z~Aa~RH@-Z|QHP|;-ax9of;?WWZnfER8_Y)mlJe;&Zsu4@Ae5o0?tc=@Do2gvQtG*F*jgzwYEZD1ac`k>5bJrB`WJ~b`b#fd_cCT z4VvLwYWu@BGjAUVY-{oUiK&v09cp-N=UV=ezQO)qv%~-?9uWZvJ~3fwUQt0wesQ6x zo{@oxzOmuSu9s5T;4ciT7ph&87grai;%ZU*584Bmo2O+C`M4|H^kjD6w4KR&vzvWn z8w7Uhns%IHq!r?Ngj{^xm%2=~PbNzG@&I|I4Fqz83aGH$5A^*H6f}^IuAEL90FZ)^ zm^@jShP)Gcz1~PT)?a>tLGk!vzVr+djk7$>ek(M|(t2|*OjrV^(}y9VWOF%b>*K0b zhuukLT@Xg1l1P3t3YaA1mYcxs_f_vK9v*9XstnG7{pT^F6e$VwqEvAe_DM#)*3x>| z$}w+K-U`(Aa)BBpo60QqcweQ={I%9v@@i(`DfnjUf)pAHVS$*YKiyXis`EI~ysj7w z8Prfj^@Kk^#Tr-IcGGM6t#(cA1EI8NVjYSX+XsD5ve=Qj2MeZM8$7><8@kILK$@-9 zANb*)ePKolVuZ1u6xSV7O43JA7XBdHJeD9b4$x0`v zC#!{Kbd;q0fpKj+f7m$e$1>7*O{w7Rlq?2!;y$`@Pb)+C z{;yT-_|`M>Hc7vzES4Vq59jjTPPD3M$l@Ou17SxgMAi~2o>ci-sSKZ4lQTxgGv>Ws z%|nw>Zt|ROvykM24FH&VlqG7bpnyzcIUVRU9g$h=TlTu#d=;XHT4x{b-uRtKTjkcm zW0xZdOuJgxQ_+($BBGxJ9jdE$#?Fl?-%WJCqC=2lTUAA8;~equ3FWamqwm?nfj2Q0 z4iNVx4Ui;A7c?){%9yQQAS3y@hsqni=rA;zVI^N zKFhOYB3@boAcM9dv?C2C2@!=%FM+>#yMzhxD*hegJFU4{6>E)45RA8@Sw@* zK-t*%>Hq-Wws#(ZjyS9lC@}KDw5at%B>36j@f1)|I@@Mg<7*}?3?^)r3M!I1)tb*c zq8hzcuoCA}3-CO@)FNrL*7-8}{XktT>4nGCOI1-fZ*8cT(SN$Pl?vLgkp6U)A50wbI`lNRQx9VNUq{p@SX%PSg&qtxB9Vp;zQGFs2 zGZ)`{6KLDUA4eCHet)8Y)fbm901sYpzc5)%1faQF>cRfrpA3GR z>uH9n_Jh{^`BM9gz-1~54o@F(rWUp|zGSv|T*@;*GO5vEBdR1JypmFA#Z6HbC84lZ z!6ZKJl&)@oIImws;_WQ?hGkf9fMUUHzEZpsChnMGz1mDgxY%k)76X|Hfj}r6gLvIe z2)MPuG{9ey?z}w`&RzJWVpXlm=)Kdv`OUcvm^>x{)>z1Bjw8|})o+H88h6aIYT{@k9`k>6c+0q?vce;;f= z^j8B|ehAUlK%6Ai;oN)(Qy8zUjzIV@;$EV%q9?^?QBgoWIca3aw&xb@9Wh=6+kJ6v z^#N|)Jx{C0QKBXvz|m#9mY$?#Ead~v>22QjQJG+Q0_xo1Ij~2C@DP_ z=5L;jcog`wMWi@0M95lQ(9L$hp7w(_YQY?+Yp zukH$1@a%X4!w2JgoDo`hv6|kdKl3h+tfN#Q`YXCZYu)dsD8DjIPvrGJ9tF0f5_Jlx z&Ck4=sjt6;+CS1|9=(JHtJS=6NTy3LpPv-t{<~j@lv_(>UGI$i1vAvJUD}N<^)N*ZVV+WzNhAV(Vx(u%$ ze-D{mzXgOPlW0`$4q-ToTq~7Z`^7!C>&k-kp2zmxp)8x%yh#V>QI(6vNJaM^SNI?s z%gF^AkV#`3%Hzfnc-Li%!{Q3~qG1VBNOOq;A%IM*ymtGcu7ziYqu~IV*uv!U2JRDD z_xfdn*u)tQ$>oc`?c(H|tpjLjnp}_up8xazuaGwhlBy+dIQ@o-r+NfM35M;|f2M&h zg^H3&JRv!b{YlT5Hn$&qQuhr@-09gZ!~R`b_S|`KjciIM48T8;UeuQa22G!31Qkg} z%h7PxI2xrlp~K^KaH|R=Ju;W~mSjE;$Uj;v40=7rPX=lW#LU&aWTT070iBLQH=dyZ!j(W6;aYx#e#crRpVgm{Pc_Da}Wfk zhCcB9yZ0&gG>s?|@IH}9P+lTmia5&sDb}Nj{_iCP+n=tfjv~QcdfxQ8z{q3kfGfT^ zg-(wCvK{kHfmJww%c62?9JAh(_0uw$xpWTQR0@R(fo6_qji%mjYwmG-8HbF$SEsG#%fFPm*yIG=bp^6oyT+1&L(8=g}x|B*Y zmRO*k=kxJ?w{3*pmitrd%F%)2kgLkcL|{7gSs4Kx-Q?`x2dv6r8iKc}rQPbKb>&4H z19w;ZOMHFEQ#;wQ5R(TR-=AXhpP3F9@t2y@Eo1o=iuZMa@28Q@4iihu`YsVl%Z6sq z%*xiD<+}QowBP;%-Gtx->J$U=(&YK7RP#crOydoT5tsJ8vMw@UoQBIm&fboK;%uDf zdE|5Lq{Axh!Xl?1$Y=_viydR<(vQGqRdwrTu$VzNSP3d3jf$jhaN!zQ zQ##$V-lCiDRs!JdSPPyEG#3sVW+_^&)`=%53A6kG6L;N!sYoz44h=PGG;0&J9v&hS zDd__dPM#K69)<)pr=fA4g9+3077;qkKrgTz!kk)-bQn$<+=%G8nXl#igQ6|!(wgJb*%gr_2IfeLi_6EuW zI#^fYX-~sy6zUaD>5+USsXH`}bmFP=2VvZyQevfY5dMrK%;R2;)9?lgGYu-na}h^| z$1B*AjM?9rK6CcAY*$isjCi0J0lQSM({&)asB==ZxD^T>sU?*P?q`5c`UNZPZL1+E z8tI%ujFG#~)2|B&e~k!;JTr4GBdK9+diJ-LQw*sZf{5%Cs$U;G&mx*I@HwL-L%8F* zM@O8@=Oi&$#Oub@V%i>zc4WXl_H`FLz@8DyT zvdM$DciYu3rL#JTH|O1FwjDNGiH6*2D3>+a<`UYbjEG<^M@Y7EP!;Y;glJ1ic zm0Z^*^z4i^CNRhpD(Ao{Iy#1w*o~SRY&vi%yw0&rHYxq4n%X<-lbDu`wyi6pFa7^= zzwW2H{fK>cey-@gaJ@YzZGP($XkU~DP20+*@$5#mvO*SZt9au&10(Wx+hPnI1Moo| zJTX;ge&IE%7FZDU1(SB6mhC!FFbsB{d0l+@al@&IYD*?@1{y}=yFo=M&V@_Isov3q ziR!N54$4@JtlnurdZk@Gd=Q6xY;uZ6wbwquICOJJCG$Bj(LSOQ+7Dk|;feUp-<9g9 zah7c26?(`a>fdm-)Y9v^So% zIFp^u_+LR(ye99J{TZClU z#Va~~X~7Qs6WZZG4@;@LS-crl}rw5oste!4|~;Nv>x+BAbm%EHNpaq`yraSI!n zt*6BezJchbT0xu}AyUqzGa8rnO77Z1In+T=dp<3AIHN>7AZ=KD0@!*b4Gxu~Q8M&Z zwnHW>?9Tv580(q@Uy~1Vmu_jznCyCoSdgL61Y}Ju$8lVzIs{Qn_au4IjUxB+9H`~n z^u{afS80`a<~yRqXZ0>BijpjwW%mLTzU9NNb? z3flgeiS9gUAASi|RQt7;uVQ`J@Ci)7Gv)L)Z%2J$n_GjYL?WW}h(uy>hgbNxO9EkP zO~DiTI2SLaQs+h71+w}wRL9cagl|c$-Ly|dqyavVW(VAC_`@~a+lk!V<=eFFEzPxt z*%ulw9?O-TqW*y|e;>A9`7!N&C?z zQ&?C6Y~S6#!Sr8beQbC*PPqI`0(nwi>t1qs+KaIb5BgG-VY9dr*PG(=_?{ZhwdLCP zM)e6lI>rR{eYvi2H>{AnIG8K)@y+izsM!ziy(|0$qC5K4@eG+Hv8>C zx7R7}Ym=*!hfBcv?`Ctx0Rx%@K$ZRU6=m}=$Wn$kNAP7gB(#dL7UM}6(Iq!Y6y^FS zA&uIRgCGVwxOpdYcnPRO_2eTb~v^_dv`_#9NfJ8~}(mSLgtrn88N5FoGWUnWb{k zfz`kw001Nq5sME zBGi1mnGB~z@e|Avwdqe|CT}CVBmD4cKYqt4L0G$lZ(oGQUJA!yR@9!BQ?qdpb@vgK9i!K)&YF1w5*11cuAG6DKqh2z9ypNJoY$&kb=b# z@j8lesly0=1Wjg%tzr6nboeN0V@+&AwvKgel@pJXO)8XEN_9RyHC5fVfoA5|*=!`sZw`ciMA0xpzHy`>&mdhVQ4n&i zouGvB=}9Ct>g$hPek1DUvb+ zPFobQ-Hi1}UeRuN?%>nhxhW+{&()@avYedh1|&H#=tc5bmH2%_q3ishxjbLgn0%yT zGWT5Ys_h2TM!!AAJIRlFsHXYbiE5477JLML^14Bu1+|lXYfA&lbY+yigYs!X+z{SD zFvld4mG{(K=jMv4NA=;sNz#c3^MkDq71loJ;M~Y(kIB(_jmL%g#~Bsrqz(PI2NQ0i zz~vEx!H`mNZQR~Q;3)ais}P`=j#mykm58?ZEtWvRlkKWH{Omz-#xt_7nj|a?GGmFa zEAo|#YK=(%6pUnd%itMXGkUj?L*Eips61SO@r=#&8Rh+yF4eLVY}H7nf?9ZJ$aM7s zi{0^SW$0sVXDZ8X@NR%~9@|EEx+y_rF8teMSd)~b-{zi`g{DZ}w`bG#oJ)If zu5p2XYGZ1->{#U>eIv1o8Y7MOV^C^x5^&Y@*od7kP@Oo^&^`2MLFTzR`?}kutBz|Y z9HQWsCo4T>^ZL{!Z3c~#TcMP3eN^^+VcU06_rlj>hU=qqt_5iQ)zI=}Xcdz&%u-As zC7nddvwT8;G8reWCqX-lOEC$VQysV+sdWT&_jlGpv*mW)em zVqk6S)}QegnN!DJESyiB+YkPouLvGEALUS_MqRj;o!O&P)|)P-6^ygpRukC zw6YopB_F_|-*vdsihn7g2aJ@gszXT78G?WBSF%Ha1d|K_k5W((loxfbV|(FMTYubl z8Yxc4$as?F2>U;aw0!p@>oE4Jg^9^=mgDpv0KSAGBJ%Z&BziCw6BCnZ_7iLX03vaT z1QlMW)~5fOd;afDEP?13`v2cc;r~7TJ}A8Xo`C8OY(TQd3+U?%;ztrH2#oxj+NH$z z;)PZl{X_LB2{0hZp|`jAy>{`o5G;tyrh^XvG=xAAxPBbN>Dkk9knI_>>3SM37>nz% zlMjdeKAInk^S+p$FZ+|bp}UXc4IiAoee_B5nWn!D)L*9aZTsG4*<=0krCd6_apI$o z+IAsx=?)evLnmd8g)4Ywi_aCeGmo}b%(jTt3{(9#TDqCZYH?$Ddu>caaf_eVf@*|$ zn@Vi=LH}xPD1^7aglDj0NDEWKCZ8InxM}qZaEDejYNj=*WD2h2Tk>7*?5(8eM1q&M z-0eV21IpQ+syn%XE{Dg}NU!US=IvT&*y`T#O*f47TPl57hLiD{6zx#2aM$6H^h$k! zR1nMqz63t}t%|Vn?{`k|rM%{aW^jujr1kQEcGwhDMEAQ3cosY|0m^}g&uwzZA?bas zn{*I>fW-IGM$+2dri+;XG#xt?VEY5H+fmTA{Fht=rtmWrt~c2gJSNi9Jd0zOiU&r; z5)NGBdr;Qa$n`|eU1sBS(h1+l&~+r=Qr3qT*^pcX=ABc(Vu&kBqXja+h2BTh+9q!m z7ttx!*21J@$1c{!f|APi;K$bc{@;x)B2X&^-$EAxn2M#G0s*Art)%-wPUf^gK;HAc zg(o~cu1Qetrdy#kwwy|k)_nKE-I_90GJ(7^JR}Pu7dOxaoIQIR6;6QxR>x>q{$w+y zs+GUGS>oLwpBqAhcrsE??^+(vgRCbC)5!#5+r_4?Xut;9o!5Fpf?_xQhv@!fL~>c%2TU$|Hc^Ankh?KNah5)h4%jOLRAlX;`!{yWp^ zhxV{&ngUQZtj0MO77QhdZhf~5F{CcG{mGUgbYO`rZ{Wfao-X;p-wfhHJDSHN6;$QL z;lUb0j+2Ty27P{*gSVMiFGLq=`@3c+X#BKiMHC;x0h7kNXp68YowN&(?&eml zdPPZh(TFoORY(+zKF*(F#BN6QLcFI{v5%`=nvxhUP%ug0L_{JVNWgIoLM^xV3XByv zmx5Y?&WQi>w%E*#0UL5t3L9DbEd=z$K|SY3lwQW(rainCwsdR4t4G}$`gauKZghUc zs;P6*Ej-opP$%ejFel?AlMmLaenlgBIMJ9sPAG}4MNB!cR7va+xIC6L$u7R^m83bx z5z_9x8Ojk`iYw}#a?IB6I7x~*BaOk<{aad;;>H&~V&tY(rFN^B`lSG4y+F%0f}-iD z1aIXle8UuYCx)b@!lhcw_IiK*)xX%2rkgflku`E32rH*IK8%Qoi!jgq*wC=$^dWp% zlu;c+j%U68I^fy=bpz@Hs#P^Uu=T>av!m)TrvAp|eWa@zUFmN(G`vxE^<#F=qvy!` zm0;<@+CG5Gv9Dd?7E8>d=O1fDGBd$fd}s_2t`x)4dQ8|uGiuEcaU-$&F_|vg*JX7L z>nM}5M8-)aYcwtNo+8!s3eXeffkLlefT>ksa zMW2!Ml@(bgo1o=y;|c?vYb281=}%4PMBQx*o>g26AKq1Ti~7sn3L1y+78>3gt8vW- znbe5JP#oInnJZVF-R4P-E*r19YsZk+`V#T^*7vr|SFlEz+VfrxC$8u(jRN;*-_~w3o4(liPlmbFy7V%neLZYbifY)196|`-JPHZTBjZ6_OJQJE$GC9 zZCA(3!-cKL!9B^R29OtBF^_NYn>ZdW!Z5{g*suhQFU93V1zQkJ(xPp3)z_h? zlb7^f)h&=NB)lK#xSuj!(l)7A{CKI%T)}hJH6P`El*VAT2M^TLL~qJo-@KwJH7dyS zsHKVmsWmH$`=W;{L0$50Q@$|zSnryvS0JkW7JFzR^WSNivT*L3J4IWUv zodL9RJL=+kJzf&cnx;Lbl2`hluI?WLImR zjPasew7FH{E)^^P=8ch;+JgIKqUC^map&729r(bL9sb*l1tlf~xKFZu2A+=WeI^Rt zzE&sab8pn`M1T7B;dJZs^L=>bZ*#4`G*SU6si_abZ+eU7(n2t<5GRX`!qA!k5}UgH zRA2|Ci)X(>o&4SEUIB#|-q^1AbEkCbpuMVnm(ZOa+&*!J54vyH3*n-fGl#BLa3Sd!MD`}hL3m349vCRX zyuPo9qcJC26C$|Sp4H6zt+BznGc9M5)zA2ot*oPLG%eDjh%x>TCBttVAH;k{KOqep zADBfJQ&=wNT3tFL_0vN+=%M{B#P98$ zPRR3{6XZ9I$OR+^!hr|-M;aD7pAAI4NM#YS>)`zsL_w^J@2_M#o?(Wb4Wx-hha6Np zy|t6#<=! z%NFT)Q@Cpn9EA@nFlzuDOJ4dw4O41n}m70sl zcWWQ3BTuyFohR}QOlV)TkxXGkOI{J1^jtUIyBZCpU@Y?<WE-gv$EeIJIA!T4jiIwwn27>2giCKH(E{bpCV-GBkN zS#!&b4j8MATJu@VrV(@oAVsmp8lk#_@x+z~nS^~L3j~q)o-YC)D`xA@v-X_^%T~kQ z=fd~b+p%{sFGfNi!fV}PJ~Bj_?np@wfCX%7l*3nz-kM^~h%KL6PsS}Drd8+_Lp7cr znYjaZ7{$JV7xqnb`yBnFV@WssuygImC(&WH@d?hIEiqP+_w6`Y`Hw@JQyS2U3GKcf zepBy%sm6c8a@9^Kk>#g6BJ2&dLfO^1+}3Y(e3aXe zHd+>rK!!?wL^VajESn#PnGRGZ9SR|RNtiUz)!h35TDyB(Z5BCe4EPK}X_hEuwQ3~; zLl8^nu`i|e-P|-#gT$jZrW>DO8F|c4i>sw9=q6V4h*_RE;#6#C>LBMnRNZRU7o9a4OerKidzLIA7AVMi zbPgrpWxLOqO$Y)JiQ49)&ZP}1k)}u;O&-e>XD8E@OI$KXH(ju_H~d$`oVu2}C*>1I zUOZKfM6^G!zK-M$zi2=u<-1a~oA5~w{^Fw%u%%76o1kTKqQ}nb^X4m}@{(c4>*HBD zLP}reoK75E*oG#gXGz-l*Vps=P5hQ4X}X0_7Igb`$KuQ~cRCKCxd46@YXtgPPEaz= zuPV&lymWt;lMQB1gE1rMxcijn5AdMe3($U;8h&ca8RQ*+3*5kwVq7xv*ZUa$zJlH=(x zgssgBS3Y}~K-Gv2|EstIMPQ?(WgR%~05!xmM{U`a)=HmGuft76zSuxqx~)M^5kYIMm+0)SpUpR1c~8($&IVBgsb4 zf!wKTCRA5nWVgnNw>+~^GbdGP9pg1*QNlkGzd2+-cx|tXJP{I2h z((g19C_gVLj(itSdHWvK>dM!%-mw3GB)@+xSDs)D*T!!4h{TC8yp0O#)=0tNw7oRmlrMOurcvsDzP#Di$_aFTe=)CLO%`XOxDN%NwYH^S zdV9ZdZ1>`DyDzNd&hgu7-L)1_9$r6)yV50%OWaNWb>mosONW=&o$<6|r3JP(ei8gY zBYc{~SEn80x=n?i9;?5$n#AJ&cvuE9U(a8uXZ0l3e6bRJ?$r4lYQ|1v{Jw8(j|r%6 z-Yz06rQrGAr!A=1Ql)9-3aNM5l06H`I#cx#ASICi&5k`=G>_VH^~ujCciF;C2iX+W zjaI8{d_CdYGF`2m&LYY|(Y`}N*=Ih>=-pW&GkIs~8R(x>l4E?ZOW~v;7+-j zLtZeaK>T-8_T3?I!^ZQytwa@W&Wh*mMo~Dkn+c2u?`F?#6`TB1{`x1%Ty&9EeqL=5 zsM$awKR!R2+qk4IIsQK5`^qKK{m#3n)mXWovt?CI(79_f>O{)qwIKL9N#cfm5b{E4 z{dqNB`pLR-)roH6D)f_C%q!QtTH4jDUm4pJqg)PNPYfWL+$30yK=iEmVV&26+?(lQPxgrX$Dq;M z)!IKmAspr9Ks2!D$Az)tl<)lHY0zBu##L}otnmPjRV>bCBey0FZ)ur#D-E!yT*8n2 zQ2&dAxlL9gICc4;Xs|URb{8$Y73J@c%zUMH_Kzzf`l{v;t;5=KX$UgIeTc83-U8uF zR_3Y|}IV;#vBmtZJ<$Wa>?Pw`9xh=GLYx1}+_@R;jBgfufVl z&8*b!@HO^m*arIC#2XJP@uRdL>h%TMNBWg!ur?f39kSc`zGK*J{6Hylj9}PTiPa5V zaK~QI+IApxuSB2l9_Jqd7JlmpUcW&kof&?%k%~M)lX3naxJ`snI9wjZKUL65*d#8t zaQ;I+nWiBClWc}tQ{()7;+@}qiXUq2Oyy;?>H+D~6Pc`MFmBV?ED5+9L1}T@YKf zb&b!D*}H-3xXk>kw06c2y3KR~>32WP_0}!aYZ?w(Hp^%CL-4AQKn{Zm678TYILp^w zSKNLjch~qhnzNs%Jz;?ybDNu|qFW($(a9Hypeh`Ta)En&(av-6tz^2pa!~50{^66; zD88w0Y>oCRqB$*1?J%5rNSSM>A>JQr8)KL;VeI1}VpaSlkNvyxsSrV#%8v1Nv}^r4 zX|j8N76h?TrR0g!Cmlm!0F3(*PT$^plK*FqfzD zbm`RJI|=6eTKC7v#lveJfbqWz#5uBB<+HE7T*xaj(HU1)m1P!Zp*Z(URW+mD#Ey6& zs1iFQN5ct^j@Bhhks{dwxKV1BvDOaR<=7Fi*XY!;R;8Fhn24;gy*_`|{9?7c{)h+a z+{}R&&DAn0Mqra|IZ!%CpUYwCZ94B3)B_}H(dF^s+QUkp64n%g8HvLtAl?^%PHPVm ztXN^=j07x$!Id&*&@JT*Lp!dL1_j$%&|59gB9T+(vxu^ODLCP;X$#2w3PN?$saYTsqf4U$PT7qu zlw8)P#494yYk$W~WAHK3*w_R3gW3J7Zi(e?YUfUn0*&#kWy9TtF5sjqc76*@+*SqY zQVswsrYvj<3|BiiO6uycLoi9y!6{3O1fe$cg@h1L zgh$7w*i0b~*fL`Y1-;GiId23q*x$lEMNDUNDpXkrD(3736{?S4eUI?;6SRN4r+hX^ z>Gs=CFH%kD!y>R!T8pbn=~h(}3r&>%X@AS`XDlop{6Qmv9?SKDic~E1|CYTN=?4LA z?zYHL<+DzOk**7xLACe!JRrRp3Hz;vk@tvuN=`{qh&!3n2c)L&MSb!TQ4Z_;F=U&e zKetrx8bKV{lt;$Zb6_$aV^GvTLKU(UEGXI)WpfkAV?u()x(9)sbHBG?Mx0_KNN}N8Dq(aCu$q#hJbc^jzd2Mp76&zRJ*hmDPN> z*TcLJqPw38FN{4X{P~NS?4SHYiRA8a@GXL=&-I_<#?)n*M)<&7wdnEYi+@o2P(woH zW!1t;C^$ZFy|H=)s>IhW!%l$j4i=YEfCV>NC6pI|zOy6k?{kuKL#Od6XC)hn{G@iJ z?3`}0P^Oq_Y(M0!7dk?R@JB<5-(*rnL4Gz|sq`0jK2cL+z<8_L+ ze{Y_x$a)!ZHDiPLs_X8ZRo(Kz$UIE5pbI9#n)a$?xB&%VySqP^z=N zUYO%+z?2vy8oUhms#E&ta4-^RmjX0a1MqgPX_z7-ZgyVDxdfI z5XTp`DIHGrgO_2hfEHSeP{G_|oYB^=>0pJ&NZa=xis^zLOkF-En<$v9U7?eF6b5)( z*l7NV~>Z-tv<3;U1)WmU+nLqTJ ziocn{`i4Gc{HEFMKpN8AXjve0t^te*82@a}8+oKP`nuO~x7JT9<}*+g#_KyhFmm~R zc8Ux|%ZZKETM6?M?Pdy_ayo}{gzS?EK@C-}QHOS~A%d+*fWVG1Ef_`_R4J5|(I9B; z0Fn3Vzz8IkoG>z)HLD8Q#(8kavhxzkYnAyGHHt>o>Pr~P{Sr)^5FG7m0D*&je$Vi$ zPit?6_Po20KucbR>JqBTqBLKNj1D$Mg8~Br*Q&&6Z#+?9Z1Q>($k%{aY&_1F2%6Ck zkA&LF?wj)1(Vxuned>h(-r&awN-UPwy(MtgQ=k`LPula*MzA|yevan(A&|N>!Aqru z%EX<=P)v=I7O5Q4Vz?LPjtnn6qxyI3qAZkjODA`08%AH|zJk8dMrVyhIuqDBgdNkE_e zl1L8G!i$n3kR}rov^2cLx4{$TQ?jFh@P@ad@D5sIpJU1avG%jF&i@B_K!(2tOg@=Z zTIAGSG2pAR&j_ubyS+1efwQ0&w>PsZV9GF!MfC#|hn)9c9^Y$;(xwTulHO~Uq zajhla-tt&`T0Jw`=e5-1k^%q^r~Q*6T^R#V9U5hN^_Qu8)?k70qR+CXgFr{7n7xBv z5qvQVzIY-zE^@^pbrGKa0BS`4!M}YVC{nB9p#swSjAjs-=GQRZ92LzxfQB0Y4f_;U zd>RE8W;8egfR9F*9GD57Xw!cN!lo4idIA7;YTW@i#0Ehm6u^uP;1;s%Z@o)x1HPJ< zX;6y*7yOGBsO3ONkf)h`Cb2h1aSG>inMKw?0H8*=fJ|*n7Ghcxj!J9FRg~G8HZr5!I-bM>PRSuN`S(Eq9bOaC|i5B@Ly#18+TfO_D#e)d1-|D6BZoDt2;6r}hh z@@L3D&)zxk$6Let&|H2dY(!(*zbyVu>8(Qlu5j)#H1GEv29A6P9s)GvfQ1eRB|%Dg z@!OQKxm2UIcJIBPRG`#3cb(H*o$G8JQ&})l);mI`s~~E^L{)d`p8u;p)&N%xDgy7gxrd-QT=b8Tu zO}qpAfDne_s3hsUaL)0`j!ifeMCa(hVj2o|CIDsI3nlHb(nc-Rjq4NJLq933IBYNX6Q+P+wbC!SqbM8 z68z99zdpLvvUP5SWBzGN3E)}-Sfl`!zV#<l+JfCv;C(o;X=oTPv+` zqmOY3fN`*~zJc6`-KgHs8#e&}U{V2?gpYo0Om2(;U}HQ&KI~Y}S<6{@4e-x`nwI*T zHNKX3z;XX*b!fGJBV*M8!QTHpd}VOuVC^0Nd4EYmO57&6EpVIdpzoi*^up}ChPUI7 z&2!|jRE_fG(Fu;(h*?wgO} zgy~`_+oxH60st_-TmFd|v20C`l>&g>pY}rWx+9Bv4rmAKO9)U&ycmw`+g$bBzQ(nv z3l5^g&AUibyFemPK<||7P@S)ia{LpHeeWYqk7U9zOJ}leSG43dLo{^`yT%#+tLQb>FY5sL!030~&kqFpE0Y47L?b}|C*Ghr2oqxvJ0G$C^^ zyW3JvT613~VL}JFQv*NGJS2Av!0(=Ch2osd-PFy_9B=2`&Rbi^uKlNd=Koahz%tMM z)NkSDZqfKdMPR|8NCuz=3%rLVtd`T)MgP9pymFc_{344gw2{)~0}f1io$4 zy;rAa$EJ73XMFFpYVWpsXIiuO+P3f7zVqh~ec#bt>)8J7`2Op}Zg+A(oda9C);4dX zi#?mZ=j-jo3|z&h@4cj4FHG@_+#9RkpzQD;g@-Xr+ zc1at*q9YyoC`Swo>;PnP^->@*UdIKYz-tQo?iNFu1~q5Mx`(P~=z53oWAH&7zy}A$ zh{)}(CfTj7b+c#Y2hp5A#^XuseG@qtBq{z*%`Joo_&y3GOE-~IzUbrv0RdDNpu`b1 z(~7d)_rAX+khfb3`8q^hJJGYl)<0Ysd%qp~{`>#p@+{&l0$(i{Q(}Hycfz2+bhMJU z45Gc|5S^`n=q>=Vv{C)`2h)EqFD=bB!p@1B-Mzg>hl44VK3zRr;2h`%f)%~J19Nys z=F<(KTGXP&Z6-3x25j(#9OxeFaUR=%D;KZ*EgZ1{NGO8$k1=`r^d6s&ty^_q*Y#9Q z+Kk1Qyo6FpZFc!X4t)`uvOzVDH`^f(wNneMam(A7WA5D{UC0u0h8!V@+qs{&`jLIH zF&W`#%a4YvA-k3j_&pMe81vBI&Ee}%=Emu7f$ODe-(Kq|LW4`cv|jJ%rL}^u;=1@x zOYhJWPIzIrZ2k64sL|>e5}*dmj?0tZY5Hql(y?`aFvX5#Q~5^3X>=w-)FX&juGKsK_HUIB9uN;?qfez^hrTpRi&TsSqnB%5Qy|Xebr|<>#wl5Xsv$*$^GYY z{_65}w|4aohGG5Rk2}nH{gvDIAa9jCT}m8AzpL$j?Wg_LzuL32zTNq3d8dbavQ6A( zGTE9Pu^t5#jf7ODtPY~oSQBbC`W!ko4lW);5~`Tp){;%W$x=-nby~~N;7r`MJp`wkpAcIbkg<6Hg7zPy5_Gyfa@%%9sR>sL`s(W$dts}}WpzjbYk`(sP` zQ%n1E%lb>p`)e!uTPv-Np=7CBTGcujPiPwFUo$1r@K z_pF7Mw!T+tYJ=7G74EYW)^?)W>)potq*uSC^YWxaOg@@7pXc_2Z9u_HpG|XfHqWiu zGPhU!`q*t|N1Hjhmb5(QUiEW-w$6j)y@grCg+dnEG5>cS z?|g6M!U$UgAc7Mfwb(lE8-Gw=5{V@|sZ6d=zT!l!(dzUDcoD&)EWF~ko6M3^)i{5&cEdM$m}OMr|=>t8u$**lp7uTb^?!%DHG4gf69oq=ZnEJ2d49 zLv>QlH@ zOQoeAR zgwHfWW)Xu$$~oHu6=~66vRqCipXVtnoY-_4` zYFt;V@mI6G3~1}|Y%a!kArNhD_BFjYmemP7*kWkPtuqQX)SG;|-Z0sDI zTynTG6<6Hx#2a7y2`KCt-}bCOdJe9E?Cf8u8scf>yc!i96B`$w;1(IQbo302Os6$I zp=`PG6)O78$1fmPP)ImQ*ozTH8DpFYwmZ_{s#vK?;=io#KhvjqN@f;THum$Sk?5F8 z-~5T6R0#rNbCHk_dsh2fJjs*s($F@Hfk{Vy2k+rMy2m%5V9|M%IX&0)YV&{WX!`gk z=s)$(S6fjNc%AKcA?Azc5BKHj>{C_PsWH+;C$^TPWyK{R3!S3gak#2Pih zF7|N{N3HB-q@tX+AI-?9rOf{IL@nxHZU`WP3LG8-pG%$uo5zn5s9f_1Bw%tMT<-D! zbS^mM2~cLJC0@9f^L;%KPS2EQO#yjQq`RnNcE^$aYpifYWLIdEs76a} zwN#tfY6Rk8Z(XS<+UfQ@Gc3%^s9GmWv>)oDZ&9@=v>OT=o~k@V2UfOV8a~& zP!lNvPz!k-KyBo90Clispf2t$0QJ0Vla)K`)YDg+Fk@DZIdk5bH*d#+1 zdCQj7k&qH1vqsFiEmF2^TeV}yMRIaCDJX1HQre)Rl7=8kF51!zh50&`MOPeW@xrC{ zd!_M5rS)&6^Zw}X0EN)i4h*+o85z-;m`E@)Q($3X!piC>8=D+MsU~XxJl$*z zcxH(@JbSsrbDo3eJ@0NWctM;OHMbtXOG|z^ynOl3D_*hJt6ueu*S+rNyrH?x0Nz~k z@8PY>NpHV*7WMLOL~$Phcn@s^nr`177<-VNIn)9F4>+vmrJ8Pz zyko7edFP!;iDteBaG{xT06uLx2f$}drNQS*+k-ji zE@AZan0oaRGcb_q(69XE$ z2GB7dV4!OO6Y~QWx(=|h0N|kO0T&Ab9=Z+iu_U};xdISiF(5>D0TI>!Vstl9tYK3o9&=w}eXNg&Ab457<1!!;lbJ0g=C zLDY+gb#4an-@~vkp^U`jL3o8Kl9Pu(3U#DA55wy=5Re%j09g!?o7@HRc%v}+2o&)} zY4R~B=`YLoXsooX~DKSR@-XiWi#x76}(3Iw#lqcepAbOlFmiWKMziNO?U zF!Uuxmxx+pVqLWcE1y| z_SD2-3LG5O#%W3bIID}xl+WO*K5kP2!CgZ>ObG%Hjrn+q==EeIUQ=2DZXw>6e6&6+ zmant;9c->Y=lL{c3j$o^Gah9d0g&2fv*fIgfij~hHipy=qd=u zJP?6yhe&iQM6p~0qOk{d3`4m&o`2kSa1`0)E_~ASM6kn32L<#gQ zB_m~B^r5^hcYumElu$Wh0#%AqeIU9u6j!bC)OGQO`c@2R7=s3lkZGDS2tVBBXO~s@ zCD&RW4!>{v?@u-Fp-+q1V4zhimi#p%Mw>Ql+O<>Fq03v{x@n~s?xs7TuUP^5#{k3t zrVMue1w&&%7$%dE&R2lZrtJX6nxQb>^b1T37s4dLg1etnVIqhX8p|E zl&^sFEAvxAVZrY#Ua1lWOV}2c(GCDB7zb9-PGAk=!#cVEY+!oWM9;t$_JVEn66`>R z{a_bC_9nN$K8+kqfx;op9KjS6IA(bSoG`R-iksk!6c+BJh8h0iM|8xrYh^L%YBbSOF*P217q^q8Pd#qtXuA z*VDtIqZ5pSUl)_2U>*Fn*nAI8hZYt)S8k2M;}m!L7?Ol2%3XoLZJPEf!?+_9`bCk* zyTxL^B$0TJRO+i_G9N9M`!z&z1~=>nx0eImaCYWh09=ov!;PCZ9y~Dc;-!NRA58rC=@K9S ziy%Quga{d3VfstNencmQ1t6x3`0ZueSAj&!x#89CaIYlXkvd?!lB6*u0k7$s0A%QT zfGmpx06A7FkSFH{P+c$2^@S1z)@{E=_zM@<)SyPcVPKmxpB8v zAFP&#gZgNEky~>HU`tyjnw1^c8DNdYa@#1YH(OQ}#=|U%2 zG8QRPa7vYmLz*-sNk_CD?F3}Bl@2n;fqnp4J|}y^ss)gvp>nlXp5^3ss8CSwSXK%Z zV&5X<>pR7ibl8_cX`$NmH#|~tEErY(s%o!QtHz{eYai$esw|?e*^%F-9Pf;wY5q z(B``bgE5E2x{JeE#N#ax2>^+Afi?0ebTIIa@kHGm{M zbc95Su8{OAnS-QsdXS_x?m*IpJ|O9ilF{ielGz|9Sxx64*$+6#k>mB|a-6&gTaxc2 z1z%5BTf}L;AC#WO2AibBSxP_0EGbj&JQbb(A(f47Ql)9D;wRO&>8Vk}TCG~2)v1%A zUOh1let74nUo8Fhhku&2sUR(@u{*6FO;MF1t8wxZY8|h0ir4jeTZ%q?Dt`AzpMf_R zRo@}p5@^`4%-{4?4$i;T6_kn!(GHSs2+0ivdNG5zyTWoELb>16g&Z_%P+OP16* zb>>IT31eY$F+aNmZsdyjMXuQlk~?%Wxd%@2csb#t$^5@Pzf9?)fE#4!5egCsbQ&Xy z0%e*<{swvwcMD$eAJ0n&e?>H?47HNkK_>&7^`MR{;IjJ}Se*jxaZY7mZUI*#`*vf-C0k(N0cdm1aMHwMR+*n>t^OZ`NtXF1A z60)Q$MEVlOea&iQx(HC&VG$~4E%IMq$11QM#jh`SmDnm}JJzQoth{B-#{07MjvWV| zIIh#1>~z*}0USbg#spJcx1aRnwfesds5%XO=AYDvv9p+T4yLAU!l+rBPzw9<16Xsm zV{tcDZ+-vXzOiJBG|KM$AN=LjvU!@;v|YQXAWGrh~~G=*vWI3@3^0@S|}fJTx9&B^XR%HzqXc_b_ZSJeA_QQV~{~ z(WH0dN;BHT)64-W%`#QlNGiv4@-IBMfPX2R^bReunC}PgZ81w#g11WDR2lv%cbAH8 z+-T*?B)qli9e35LC8|;5gIcwc)T!g4UcKbA!QdZlv{_AP>WBOKiLQRxt>5VDkG*Qf zkd}+Nw-tf<>mh9iAGK?jqC+Q7UAm-hH>A}Ak=|+Gw9jn%C%sJvEN5`iyL8A(hP&~m zBRfy(0|RzCW-xLhCR z@wE7SzabF#`wQL>y&_K~o|FUU0PJAmdeZAyitld%b}+;D9{}ccl!NC14E9>Q>VOg| z^W5=$GZ`|xRhcqx%WmT>u-|^70}hfMb(H3~<8n?oq2QELO3pc_?7R!6Tz1*C7rbEE zi(d3*FL~M9{M)}t{_p=(U--gYt{C5kxq9~v`ipmyoBq@-_xz3f?z__i&;6r1jb6jU z<3D*tEo;-}zqD)jE**ybw<)puhPL(p_qzp9+(Q6_QUJL(Kq(s(?oFta9UAu*bjksP z`v4{tg2jCZn@YjqK7vc7;c*|sr?0)>K0!cb5OSX)qOyp&&yY|(q}=Dos6KM;3l!7< zCHEyNYKWTq3Jo2dPa!|QKsiqh%i-p;SCX?MlY!oJsJ#~Cef$GaJ(f3 z-Z5O-#E=fdqf30~F+TdlmjUBvNWvH~ImYB06DH4;gfn9bU?hS$Q)EGsyk~D&l4Mrw z9cz-phH0}UsqB~zdy>Y1>2f4_oVJ*pk$f&&WUfd7w=F(*q|k>gDG#K@M;5`8wDMw+ z;N&lF7R86O@nzBcNIQQP;}aPaz<&8mh6J+Tg2<@gEx8b6%$E&)MaG4)W?^K)w~eWA zWKsm{5J{#)v2M|1S`6zEOP0lLC?2_#z;+~(D@kluGP#z*_N1;crC|=zS*Hv(E|ZeT zqV95dAS-uSC=UEeFSP0jUiKkB6x`naF;)At6r{|wS%L)`y{X^9bHWR&3> zBgV$r3lqe|BqM+zrluI7X=3IdBQir^W*MjMO4|Z;6pvCYDwhxm99i zjZs)9);1WWP10eD#o8vFc37NU(q)gu+b7))Sb{^+j3qlKD=yfC zOS0;UO}Zv)ZWzKXS$D^#1U7-T{LLdz-u9R&Qwr0jJ#NN~mY7&QF%eNo<9Y|lAK9`7 zqO#kzyt10O-thFW(WX}$Gc8XalC-e~*-SP4i^MOqw3&uIYwk7s-|JxqKfhf;L3_f& z_C-pswKA2L>#J1-m1V6mzgcVaJ!_r$!`h%OtWBnwwMD~O+e`~d!~a&`khtI@AfCtS%2E!tgimHf0;h^ul>*Z+yD0Z<=LaXd9^i7@v%?L z^l6`u5;uR?zVL-4U;0u`zS0=W0F!>*=nnu)dSw_(x$3G-uDNEt>veNuWp2A;ue)_` zQ;xdtfmU`w@-&S0N;5f%MnVqcqI|Gv2B5EM>>Alo(Y4JOqyiRl!noOBAsrGjetpK{=+B%OeU2!coW%`v+2I%8tPZ% z$@8Ur1Wg~7XK-IWn5OS(gjtjT%~5~SFPGNYSj2Xb868|M>hAy1M|#N zX}-OW~89k9(d=I?gg zX0yW%!*<$f$S%7KWVc5B4q&o94c`QqZ0}GjSUVvg6hcBthlX|(21XJrtiN#ZxJE;J`X!jh!)1wDbuU-ru9w=U36h1y!efq%l>qj?W0MejA)C_4K z@64D0wuDJeqC{GfWD%)SDQVL9(q(XD$`r_v!;&kPkS7mSpg@9v03#%nA|jHG*i-{j zQpBD6)k^) zea%esSZl4h*46r*ztE%S=NS3ko;H^0)@NUH-123%Y4HxQf7tRj*pH3w;iQvpams18 zJL9Z%&be%ZE3W&W8*W(bX8pJ4Cpd8MDMyYbaN_KP#Zp1e*xJRP)YYh%bzHzUTzFlB0hEn8h&xai@|U9VcT z22-cG2rm7pI&Qwtr|GgjAK4?aTAsG=VHMGw1^2kgwUH)GEa}E6vSdlfmaSCYk39K5 z@)al$B_NO_CKgwyP>GTsB}#vkDpRIXxpGyhG_t5tr7U%tGvGcjxq@NCwacFdZmY$k zpwUM@Qsb6e>U`o8^}ejHcF}}sP6L+kVZ|llyz>fd*l1wO)$|N&^H+e$(br6w@`Gv9 z{`~3komsPf&K&ypaY@sE@bupD#phY!(oD+|6;@eg*BB7SJA;?M(GYm~kLhoCCF(Ws zrcGV|K5wC>g0EuU3;b-z{3ZB>jgG5v&9~#j{MPfA{mejcJ2*If@bHcyAUJ`DXa)(- zR`}*2Ed&G%XlQsyshoX8POc)Qiq+^-tJWH~dd3ZYLt~RV;qc|;AGO25YwhbnK2{ADW}CbB=T=WMpw2OOwFFL3bZ@HE}HXwGpiIl;-UIMwN{JKH&Kx`kW1 z<<@TPjyt-eyY5u?+urYSe-E(Wfga+RhkCj{^9;}Se$VlIAIVEJ&jg?x{_(i~f#Bpy}XZHS3lprAM^|VaNIxrr#}4mbZG7m0@&%QfdD9{dktCvu+#nK zm;jX1Q{z0%v}xaz87;5|l+$y~`~LuT`nWGh$O#7eBTlSSx8obXr{T75cZM_klCz!d z|6KTP6W{E%Z-HOVBWm1_@kp0=BA05O{{h(P%f`FJKJl_tu|wQ032=z%qaFKkvx@jrRg; zt*giXPXAc*90#!F(xk5QUztn7-0uoRKXeDBLG5dvNC+hYvvyT^`}6TLKTwwRZJ6DI}iONe0;o|LzM4 z0yUWgC~@Z`M2$c9GtegR_(>MJSht^zKEV`Baup%2{lC8Q0FcH&VEqk9J>bjsz&{@Y zK0gPqJ^=tA0{Gv6dw&?8^)kf|#h8n%3m>))jS~l`xC15$$q9r~GX!)6$_)Jxm^?xS zKS7LTXRg!*wYHh-Ox}N#e0c7XF_pm89^#N)qv=}qLA;2R{vD%~N9dGt6A5SH77$e4|#Ftw+O!8#z8`;rEoG zD@OcPmpr;ZhHAa@iI@?DBtwu{cN+LT{O~G=V_RhshRelM*S>lpbi9`%4dezmc zyBZN@m=s)oj^(b=379*bsChg-EkyG&IRC^56G{tjNLWSE*(|jO4&quhh>6UpeYdPD zgS!%yX|Vf|`ha;9FCRtaw!R7U@qK=foC4hxt|}}Stpkim+Wm$23#>2Sod9VIO$;zQ z1j$;8%dc|9^_oE+p3WjG*4~HvOA}yADEW)bplTbyCH*vsb*C7UIatqBQ5Bf!FQbSQ z=z=Z=iF5&Wzrz<>uk&^5A9UM()fS4S=Gz2pi$SC?z9v|`epESy%l`)1$^$HTo|8@{X zCOZYG)>E*{JEV*r?<3nEpFRjA@a>4e;{0-j{`m(h>vBfP$m`5}JWe5Ox(zlPp=8I; zABL;}#P~-rmo8$!{r&F5Ep#wo2N!HN{_EEp9dXwVAk-SFspsH7NWmHZZtf=7$n$n& zTzDG4P2*-0^;i5O)~zD zg6QAb9(qi=H{*`KL7NA`J6v&SO!UpN1FAL_48TY4Jz_D!##~{FcNn#BI6SA$Qh`fxMauT~k(BXUovj%M& zBO84)>WUnF^IHS;4i10fQ_4#OTC-JZx&9K3=_&Kl^JT(;GssZ`;GCH=_uRb|^n98o z;@NKnhUcfnYNHQ3m)R^t=WF7P8DK)LvGVv`cXzILW@e&BdTuM85P5_XxsG*jI7Z`$ z>$>&Ish#Im1KMmKWwQO@gT5jBJ1~EEc`mJx9w8-5X?fXAL2B|KFM=eFbsJCO=DQ9U z=bqL*E!_{rYFSpxN+}!>JiS_tvV!S2sKbUx;9y%BX&6TC!vp&h0Y9U{w6H}8y$I~+ zuj|9@c-(Y-ZcrCgrBcE+BJyDir7lVdKNs09hkd#|i||AIbTE(a0IPXD+~W^1qk3pS z-Qn)sO!FaSC_xnA^*xYZ+#`731r>u<->nM+pxa7mlm>d2i{k$9g9bI-Ek2s#&Rq6! z*z-ysJTqn-FJ~yl3hTSlzQuB?>+Dr@H?8)^$N!C=Tf~3~qqU7b=QCaDY&G;VzegPr zW67~XB4dAmg31O5B!{~UeC=Ww&lJ}Cut6VM@#K1e~h|^F)JH{@nt85+=d?*7SOsKxeTIYBb zMlv{bDzr(c8uc@_Z4l!1notlyW zizcu~U!Asd%9Bh!6!&^sa|n{yNN}$u$dRgCg9o~J!aN1cF4Pu(9BwPt`1en9rEdcL zB~>95uMC$JGU53K0V+6&^_Q-__S=D|cnwI(4p$Wd5dQibB7+vS4`t9EKqnG_Gj_Ov zZ8EEE*4P)pai`)4z6>UqCLemLne#7hi#lprWTpUlVi+^3J5gU87)&7ol)&4pPkAf4 z|8+ZyyXJgB4w?6eDe8>~`l~>O7bNY~mF#xnSy}=oABt}bCJgw4A`Em_wkO**BfOEZ zil@P2jxKCR_bHb(kZh{*)Smjg9fbjZ%io*ObH>wTbkEnk1QSjz)GBuF_c~LNK>Ej$ z{QFR`oVcem;SypFG|k2d5;U?mhQQ|J3h&aueipv}HlNjO_-9LI8SboZK<}l|bYtF; zN$Vl1gM(}LFNc8&Q)u!kO~+Qu{jhQ@%1eNk_WAmh1Bt=Vb2RVcf(Hd}=n*QT+q$O} zwC`OT-M`E@O|CjdH>Bxof8*#L>wl{8Tg>csBIah$kkYZgxGNN<6TOv{?gfzjOIf;NfU7hNq(s6ljR+&VKdtP;@3vSSYs zmf-?90U6_y6JD#4x#R=tpmiqtvYSK2B3w!YM%4%h=|O#kv-F*(=&kvq(7En3_#Mp^ zYLTNnm(kg<;*NqV88S4nBGnAU7RDbJ<1+4>I@?$CkiO7kupifn|DN^O)P&TF9c1Hf z*cBAb9f|?|kpJD>kR<{x6P`Wh;dp`r{)ZUUP<2MTj+h2XXu)z^#ldvjj-mNOjCrI$ z^Dv@fRqJ69)83MCQyT`45wM_5NTyc^<;7#{)f7&QNP(R*_&Si2s$`pm3_y4=Gugnd zbSdE8a_p{>EG?3!e@!Z}$kzl{uSG_o zO&)F<5L*r}39B)SmbYM+ZV3l&Un~9noR9(ERvhb2yxQDUPVtBQHw*WztyrHC#1Nfg*ks6zjw?i7H5G)B8KIY!gV{{{f?alk)8m2;b zr1=RdSiwnG_n|iCT+VTz7+)#!-?);L2HzcUP(l$7T1YDuV&6^vVLU~Dt|MtLGmP6p zOMPv7A-ezdsUD%{Gf3LLDva(kY5q;M0kfdeHGM8A>}4bsC2gpC9}LAqHXD#tsjTFM zaj8b1_E0ib6L=66m6wHUHYQl|Rk+B%`;-O7xlZ=MNE+xIFt7OGsf|rP+@=-Z2!a_f z7Ff1=Jn5xP1QO8KNr)S;#5`P0%#AP(_0E}tp;3r%cYa6VakTS9^0mp=T^y<7AQW6F zLbvPzZ#Qjh76`~ShJzc^jrS)(Hb)T7!TXA{jjWv!*k1dy$j`k z36hr>O^cW1(TLS5^?u?S*pXRbp6UYMja|d(@Q18dq{^lBkB&ry6*p-xHVp+q3vQvj zS-kB)VkT$FENH5O925_V-RjYZSbl5y<-GaJ_f9Jl2+#;4%SPdn1`8DHJb7wHTLrsr8>pbsJ2uzVj{(46)J-fZRSy0P3g<{S7e&{%8DlLl3N69P7%Hz~1_I}{YBix?= zveW%RaJ*HQc$5w3hh?9l_l;(kRQoTC;ICEm6lK1Znph4SAiKccz=fs^`a4!`a3tLqN> zB+PH(>95T_V(oE1TwSlTBt>lRs7{U}H{nK0Zf3cI|BO8@t?U^*&UeFI6^5t^S2Juz zvKZzmxQga}?{p1Pm8`0lUnlt4`j;^WK{xaM@KV8u9eP>{|zQ*Xk6piLmC$! z-B?!H7C($Xd*zY9DZ#Yp$dklckTzT-S zBXx|&KsThrkWj7n(we^x4poEfn76;eks``6_l%G9+tA-(PpBV*1;q}kTc#s%-mzc6 zh)d6gmZ)vtw$GhdYHTHhuDNl-3Uz_`^Udy$R=A5B`$scp`yn4+d?)#bMz}YhCW%k% zZM99(ix9D$`#t=FU*pB^vjbPPq0DXriL*;Y zLZnfY_ZHYtQD~%zXIV`IJh~oBS1(#-&z;4e&ilFuwGk(Q)uJtEI@Ti6s&&~F%&VBW z^2lvzLshqZ$@z=c8t^ayzbgrZ;5dklx_HhbywE_9tVRzEoiFCr-mt&j5Mx0T<0Uox z08l;)8{{t%)m*>AQzOCZ|K{}*xdEcdX?0BjXW+33b%a>Yb7=Ea94-BD0!?d)kqlrB zjmzpVgW(|wp%MlA><)yjXAW*8mL6uED5&%A&`$@u zXr4X4lC1#J`A&ep<@Mr9GrPDx$|jxT@`K+j;3*iq-{I7d=_LyV#%nwne^M8`*HlLc zyjOVu5FmO@fT6!jQ;Ud|vG2XAasDBH6}P51uLU?y)ZBb<6n@N5mGF;?hbT{luPx#MKV(=s z%4GvErmEu8TMO6&|HcXQ#hJ@1mLC3QJ*7g{MyY`Wrnr1ovIdrqa$lpFUZ*tQcaX*H z-9hB~+MSQ0&@e9fR5N>ly4M^jeygm3OP48<2{kG*Pp+=ErssMZyANuk^&pkI@>I!H z$>hR%L$8Q`YP4LLLsTwkkAdrv9lr4=6&y(4=RWc@890>-f$?^rVu%r(j#1~ajZw-b z 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 z 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[G8ma>d@I@Ptv~HW&n>5!LJ>IqF?wh27o@tW3v1 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 W%eOyDp`ynDC{VwN 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 z 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 z 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 diff --git a/site/fonts/katex/KaTeX_AMS-Regular.woff2 b/site/fonts/katex/KaTeX_AMS-Regular.woff2 deleted file mode 100644 index 0acaaff03d4bb7606de02a827aeee338e5a86910..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28076 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 G2<`xUL{2yW diff --git a/site/fonts/katex/KaTeX_Caligraphic-Regular.woff2 b/site/fonts/katex/KaTeX_Caligraphic-Regular.woff2 deleted file mode 100644 index 75344a1f98e37e2c631e178065854c3a81fb842f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6908 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 CFgb+) diff --git a/site/fonts/katex/KaTeX_Fraktur-Bold.woff2 b/site/fonts/katex/KaTeX_Fraktur-Bold.woff2 deleted file mode 100644 index 395f28beac23c7b0f7f3a1e714bd8dac253dd3bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11348 zcmV-aEUVLZPew8T0RR9104!7h4gdfE08HQj04x0f0RR9100000000000000000000 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 diff --git a/site/fonts/katex/KaTeX_Main-Italic.woff2 b/site/fonts/katex/KaTeX_Main-Italic.woff2 deleted file mode 100644 index b50920e138807f385d0b0359f4f0f09891f18406..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16988 zcmV(>K-j-`Pew8T0RR91076^<4gdfE0E4su073x(0RR9100000000000000000000 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 diff --git a/site/fonts/katex/KaTeX_Main-Regular.woff2 b/site/fonts/katex/KaTeX_Main-Regular.woff2 deleted file mode 100644 index eb24a7ba282b03d830fa6c63ee897d92a5188736..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26272 zcmV)0K+eB+Pew8T0RR910A`>74gdfE0Mb|h0A@!30RR9100000000000000000000 z00006U;u_x2wDl83=s$lg4ZO1h%W&)0we>7bPI$&00bZfh>~Lg>lfqq!H9{pqisKVY-r;FZ|J_}3x%f#O2oVCoLIe_|K;jSrB#_|6tcF#nQYuiY zRK(X+)^(Nr)_--CzcH|L6YOKIgtS zV^e?n{KWzdGz>Uvr3ogO(O4za|Gv{cJ82%+Gi-Qo5zvVr0DLZxboS5QW$DVXQ;r?L zmIH039WJ0HEy6d@pqu?CAy_CO;Dwq|QLaaOJrjSrzwPh3%zqSH-@JXOXu3ou^maSn zD6Y9G97Z4w7UP0&7>6YQ{`#g?zwBT4E;k4aiG}91V;Mr|0QXGWtJ_n;Rp(_G-LZ7X zBgu&ZY&pQNp#j4J@h#fb%-g|!nDK9Z{#y17F$vj|Ow$cw^7Zx5lyr?)4bguwH}XpQ zh^e)Sc&Uh2jvmQxaQ?x06H|Yz6Aq_$_jY?{Yg@O_mO4~aKnjeqsU9vsh70XIBy6)b zDEZG{)L+!>A4obA0Y9^&d{=I z1rQNW-S`)HK@33?1Q_TF+)dX^5`^^cPky~Ft6Q`9TUr!UZBCSJl$f=3h(YRSXRjSf z|1Z&uk0Zv)$I=m0ewE+k>r|MjE&PC~R_Rj!|nOT6qEFfVQj7#Ym zT#(NMmbwG?5(z-e(xsRnh)SU3rz4djk$ndW^Y3v+-m1yqPKC2`3yQvS0RN8Pob@ zd;8b!bXHN=2_&HZ8t7F$c?Gy^Nih!q&MrSe2jI^R0kDYQI<#j9%){aPfS)?x`Q=&T ze;vONSt<60DE_GxGmtaG3@m-&0D!*R0D!`{Qih;{g+tkB+RXlPxk(?CPmP(j+F`GQ zj(Fb(uJ9QTdCD7m7S|H|w>SDl@6XB!CYp(vn%POFc7rMk#lR-EFj=&{{lr&x)zesW zo%Ggj?bnAoubcV=pc+-I%2cJQ&y*#GBe3Jl9S1IQ$j46|O^jh0a~NO=>)6F!u5gu~ z_(jcDPuwRQ3n#;e;bQnHHpB_(`}9-#Gv@EO>}~ZQzI_W&s53_1v-aUppUVH2i=Oh8 zUh8N5YF50z;;G)iid@mRvCYk9@@waPI-_&)9l3J4dyfH&BTol!q@AhsGk^3j+vQ90 z%O}UwV^UsNR`u6KTZH&&GeE;Z?ohz3NPHDm~^WFB$G|bQc{%3#t zH$VCDj~eXRv1#=-x$atBdbrr%&&ypOiNWIh<`>T%eDmOxlRj|5aql|hpab^VYmYTn zT5i}<3oX!VvTjXkj8-ZnUmm?$81vtj|1v0$zr1pCBzfUmiYZV@#p@p#Ym?$XdCBE4^S-Ac8B(w}LdoqS zW{SNqT+QhZn;21I>&bWg=z=wGxLwj{noRNmp)%vbIlS`JibX7HBJo@N->MG@^Rsy1pre=gd~{zgdtpy zn2n_Z+Sm>>R52!1rK&`UBA$BF7r=;I6;&lbvI-NX#p-VGC!c$0vW0^JY!88O1>p%H zDGt6c0`W*mKw2U)l8}|W*nrUgC57b6b`VsA56Kdl`^~*g$Dez)niYTfv>cY$x|!>Q z>G3*Y7tCXxITjL*q7X{rP!>i-JgO2XO&mKpn8??2YsiG;$qkT$&t(L+zLq z40TcUyY+XHJEaF;3U6AHmgU5rzW{T_OMSAk3Ts#3Q{}fUIH7`~80902Nxl5E?yOGI?4JPi3SJD(HQ~V!qEX=>C!sDHfKlD)RXhnK;z_jrBbge7wwh!-@4pFm_VvjVzjHy%f1I zr46__VjuTY9Z2x%YPmJ+3}kD28wJ42B&V_3;nbrKcK-s-hM>YE7bSIMO(_WI=rNA> zsQ3^VMNNd>0niYKOcAoO5(c{ipd;>e@gpFT=o#U60St^op_o9CC>A9$l&U1HEXk2~ z04&6zQiPnUgrV*L*oea|T%@ec)*)qGwjNubZNN6-7A`OX5%8%5oj6dP@hY_{ic7gA-L&R?^ME=QQtoyyBdiN-P$&opG?g=KBml07vkd* zUTfQfs%iHeN@>zlRDVFPtw=6=#zGKmEnltGSDw0CL*K1B!#q8-j^-x4YUAEYp65S^H&E4vkORn<)pBD;FR^%>Kd zRDt-5P{wP{7;-*i0IA&@F{6mG^AKYAxd+Si>-;U4})pIlVQG zF@uXIkQ*_YVfrFqqU?8*PRBGd>H_8v0dOZW;^kbUX(1JRfZ;^x|B)`UU~%cisy;j8` z9Mq=7g)VqrMa)i`jv|a6WoyK5m8vGIEj;L!kzzW4TBhy<%oB+Ggee0!2k_0bA)ELN z25&eu&w0+Psylo-vv~-ISRrnMl8SW+1P9F|{i8+`woj}t=L6PXmL%)x(w&6-lMWom zZ9O8Qq67y(gfVKf0^3Zyn>m$hn+0PrLLJ^h!wPYb9hrQd6fie(w|u2QiJKHBb(s-o znW8u7iL6WUY(DD6PAX?JNlxb=j+IKnZKW1Ma6jG65ys-J$dL|4`V2+>7{dP(lK8Az zHAiH(brn_HU8@J!7dj)P%>SgN`d#R_4t*jgJidVmxc zj}otq)`2S4#+h<4F)=pSXK@*vD9}`vB&SdsN54)ail`KuH z$E{0(c+#09wUL9k7-0Dven`ECk(qi|FPt{Ce;r>fiS@R8n#OZ>dSTsnBBB*?keR3A zTVYWDj+Up5*4+EFS)8RWaE1OS{(HJzGX_n57cq~@)>Bg%Am(ZOqYMw$)pjZyc~Bg~ zYXiHiY17y1@vYkK@t*jnsz zr`UQ=i6j#3U=TS}sfyzK5T%RU@aT>H6I>l@tMw+Cg{?i-vi|;nZJILrhPDXckS^{3 zy`Wv{B8(nPy11x+%cx)fC~R!354^)Jx9rvx5lb38GUyaBnGB25B_732qnFy3+LOW^ zB`9RsX2M=^+smS$K_bn`Q8mDmreayLj2T8A5>iVQf5sk<@mb~@JHj82N|svW!kL_4 z$`sM&BCAYAL7|V>8#4A>h9}jc+mkCXU_+rY!iJs}BGdb~Z4Zi;SFlFkPs6Z@uJ7R} zD%(p{%YxqC7KZhp;;LIa8Hj{xV)jtw&R#kKo&5UBmCH8m3nzHJ{RjIGui9$mp?!^8 zYcvzm1&?#YTCSM*e&SuZ-5@DY0_Sd-R9My4Ma#f^8l?<0a=<~Y^R}C&Bf8*s*HcHi zLw8wY{e~DC-~95jxoFw=lkx9#L~g@w+vLC#Y(@W%_d&$*k=qaxlW}e@g&<+{VnS3- zmttqEOTy_~nM{Jlup|r@>0sBY?)P-c5~ybEe}DyR4Nq zA4V*rw|CGu#H{A~NQLMPanLp~3-o=<9^=jNDd41-fV6DV+v4N?Mz&pr^Z6ukF+jSQ z`CIfUxhi2gP`7zZQ9s;!1jl|uNs8a2bQ%U)$F+pI)abWQzSVQVn0u|Lt>v@t=xrQX z*hRNxI%+xMpYlu%RZk*I38b(}bt0x6u2oan1AV>unzadQyX$e~90~A=9{V|mXlB{C za&|FH_++zvnnbtOeN@IbHuNeD&A7uf~*FDSy3;WfpSsD zw}^*&btbEnHcA3>YB?&C3sfUDhN!#((oH;40r=WRn+Q?1)S|IJCSg^%ByBdnHKcJ> zjZzF(=X4@S@Sua^3y+1Zf+nLxu*8I#XB^BuBLS~dzY3r_H5=4fPNU#1HRcW-VC!kL z{Ix76G)Pin%=$oDR#el;5Y;#+5R$;i21*JAV+3bE5NVkUdQdVpvKwYaz0uSaOb*EU z(2`!WzrPE46M(LWEOx$Tv?>E>c4JH;FCV_e(o25Dq&BP2>l9QdI%<9EkFj^71cN;Zg~_`Xs&ATcc$3?RsJ(YF)OoL3-jy(L zXluqq>#qSkoSczTNO2RLIsVi2=) zizn^4xjUrGUCpx}u#{L5{p)bcJ0y->C_MSpJ~q>26w(bu%2^MF zf|o1+P5u2qni@7?bva zAJrx^;k%Hmfh4hSvWkLbw`N!h^Q4jt;GCgB54RPFYmb!HVfeVFnO;R7Hzr z?VCdyR<)4fE#lW|?FSJ(Ax1TS6n=(QO|-iof5oYvfE_8e6gu#}@dFi7APpiOC7PBl z+q3ROzl*$g6sJzJQj4^F#1lw`NT_WS(`CtscsC;x(+2_zwbQMF1XZ>+qG?PHkaD_V zJP$cI_}eVD$^cNwB6c58yY7eHaEZ4#=p^yuewOsjU>@<1_T(J4`fLlL5?5nEz_D`8 z&j9lf$wmQzI;pn(W5yg33_RR~Iczu(8LJUvsey8iF4SNL6?K42V9x~3Uf zEEt&X{@|0x&6m?sM9DT!2#@0CF^VY!Q5{qJ>Tx4pv#ab1j>@{5&5C=8Oxd<)v>n{h zSM9P7fBjX-jgxDMqIgd|(=%KJ;%fX*Hj?aUW<%^xW%+VrJ!5I7Pd8nq&d`DOq1&!* zQd2T5X7NNTVvU2TYzcH@*UUFmJtr8X^`z?_UJa(L&1b`OOUUkdo>Xk&BaZ`>2@4M5 zQUCldPjNCn+Vo3bxCB{hD#4%?x|hY@$}VC%geoD`8?pJgH}-1SK?H*sBy<>9e$()r zZ83R%7lC6tdkMaYX&%XgvCEu+Tq9;F?0F z&4h1lhzZrqI%Kb4BgK`K+{*BjuG5=4Q|}$A9QE3=S@9qOQxL>MBpfM8bT=$j?8}BS zr8#Awi)9|7La~HYRo_+-KZno{P7Og`-w~2Z(M^2utY;EoS7z-`3DLBA(QWSE(hF(P z553&cgp7{M^1J=+bHeZ_i69Ay)<`z?qaiCE_QGBjS8PvL`Wrh2es17acd;lbypvn# zEqNZeRL>}N={gCB3e!ZfO+ML438Q%WvV-4PC`Eck3gI~$4f(3`nio2uNX=aXe1c+q)R+RGsKc| zwJ5y<2>D=Sl3t%%HKcgSgWg zB5KwlsBMe-P>ad+Y4HK3BQYQMJB=gwL|x(S5kL2<$wU1t1ZOC;NI}gXjjj=|qrFGS zUK?^-&EE_N1Lm6*ERNC?| z*%)mwO?OL9Sr3U0rB@g?ujr-xiuIBzBoIqd7 z-D~b$LM5ggZyx6FicZAd7gO| zi^gD+ZXhM;q_3mp?4ahM7F>FY&*0iOS}=$tHVDQ|qD6Zt^T(E5?Yg-454z>Ok94yh zakth*Es;?u2I9gD2bvRvTCX1FIZhD8a{42{?Da;qW`Z*;n+$Ksks{KT2_a@v8^NO$ z;-edNnrJ4VO4njA2t=n%J*Ddn!wy+ZEjWf;V*9B--~@JTrW4dNsezalN?#x_hcyRw zKbR@z;*}h8wY+2%5qv4!C6cArQCTu-;B5j$=(+gU^d&AP>&%RotKUSssXc3mV*w$x z59~tZeYSw7hDS5x9NxzPQ#O&|uKNp$GJGEJF&Ci*;uwd$xb$gwPD#Thwn|+PzoJ&L zB}O$}m4u?4z=kBKDlbz_KG?2Om)h3o>3dN*$_3b<_DtQ9gZf}v%&crEfE*W(BJoNz zpx$A~Y6#t!DyNex2-Bz47$r%}%JAo}V_q*RA$EC>_{b4po|p{WqhbFd6Kla)?gV0J zi8uN-`Q%!T^h=rJ)Q8-w7SeGwdPY~b1q7}u8VR{_F?96gNoJrZ02JR$jNgzEJ%U^V zJXzsor_7`Fl0lA>*kL33pRlf4VmJv4e+*Ek6Oms#QeJqOH0SON2CR}>4m|=s6FS@G z6NDD<1F6ZA(ugdECDdh!-t(E&O*Ofr@w8mpLI=VF^GbH(KO!tAbThH5 z78-kQ>g=)Q@@#efpCuMmZr|dRgLrP_*1AHsuwZu-O3nu2VW?rTWqWU>^fo_o^>XD% z;ha$IQDpZJ@>xgW&`c)e98{;-Y3ht|7VsKo)qxC9rk#)vPEpAT6+RN?G*|BWBanqY zg>R$w6%)Efhu_rN^dEeftuSuaSx~7PH0m$D7}=UW2@GDcH0jaOCIHv6c94wC@H@g% zad8lzRSTIuGzyu<^oUfm{>i536nt9RLr*Yps;HGdi*EucbH*3ieWz*_V&jaXE~?je zEvpe_69B(d9EI4Svv(Cu$qSw)RR{#6(@GgMy3hj*^ZqRWfk`EO8bI%3Lgu>SX^jKq zJ&&(i2OQ8OEkccb5ZsL zY|P?LMF&ks4I(g$q+;fJDmMtTVst}>BtY2=Y*ZB`kJ7Vg5M!4XUw%51{sG*NC1QHL zWCrqu{k`KimViHuLi!Tn1kf*{-?jm{G>bbR=-1QLD&qVp!tg*JsVQ~od$G`O05*oT znDs}*T|L$;Fo+aj3-dB87LJQXx~&Wjt)c| z^8?1NRva9C8K7(|(==;ZP*Xn&J3hYXeZ$jspRl&N9X)*5%fj_zdH}?Qb9m27QS)$& zPM%yk^cvqo3|w&A#rKlw#qO51gQ1mc{wQp^N38ooP^bap4!&X@hm0+ZEzYQW4%razh!{`nq z3Yoz|-nFzhZtzWTQ4+VSYg@gv(1~Z2XB4t(Ro;KIr2sIak#6Z#vs_L{C6YL!y*@|; zsr#EcQfI9L5Cl%~_;bDBbyne!TA z{acJn&8rC?J;UiDGjjcEUC*v8oBJ~)M$-=_i!)ZxO**NU<)JU+m(wjzfUv_vfJKGl zzCQvSr@}J2$&aXR$*$H=CdUw*eZY4Q3^i?le^x~t#;oxTmXgNl)&nGSxnwS#6Gu}8VDpAza%6LOQefAp}3xW5f$Pb zT`1(|m4Ay=Vv7!Krym7%UJ^(9ZWy^!sAA;&-JSi$X_DBZJsx{lXEyE`i$<>=Wq1|D|ZCeVe>LXoHc)0bU z*a!mI*+R~-Pt9lM>1JO6-s*}>$A*k%LL1?#%Y)v z8WRg+?OZZXi86$Pb-vl@s6M?Hq6RHDSGq|n@M~dIhha+en5{koVMvO~Q2DTR>eH!) zdA-Fv-3+GK)>a3*RmN1aNO((kGK!WDXE| z30Cl8z>>!6B_L-=6Dxq&V5Lv5q<#A40w+ zUu5}QPVdGUMb9(0ESb&d0XAwtg_cw(Jz4rft6n2KZD{1avCE%_hd}Z@LENdRoR z`xXZcugNpUNacXF5M0M06fzP@bQ^FJeeKup(GywScqA|z>bSG4*~(T7qwxvID5Kwi zChNRb`C2y$(W)?dQo{;oC3TLh2TF}DbXTIk7Qy{m?64bACK7y2x&URhw4(x(IMj33 zG&NF>4pmu>I$!iNOliB#;FvS}y6bugal5}_g)0SK>q-_P3I`TX*E^ zTZ}LE2nIRUcE-MXLz{~UKv;jrvY*^G!pq2q?mx+dVio6q7Cs`&xouPZ0a24ZV1u$H zVSh<#;m$%0GkvOa`t;Q4J3OwZun+h5CnDlrYWHeb(ZT?#`yvw2qyHK}||8xP1*G?TAIW21E>k)$yjWXqP5 z3g(|w@}tJ$5?%oKMItuNa-ij+l36;3RU5ohPx?6%sTpVrOWzCkiP@^a6SzB!CevAb zvAcXXqyV%*EH8Ty1j8lCM8Pq<7K#yi1=@9$Mt~9ZaMEzpYTfap47_d)d;kvTAbUgc zw8L0Tl5PO!AJaWpoXP#{aQgGuMld`8Y1~2CnCN}pZv@eNt%9DW-D;{3&k>A5>t$t} zLk9tzx6)b4&bdO|$yP#Og~jL?f)A%QkLi9|gzbup7;pqo643xoNJosB^V-7J%aWCH zs&E2^wdl4WE|6rhCa#`qe`LxIYES%$Z#AuD-#v92PppbNhId%)Gw|RU+836DzB@{j zxQ!5$+(`1+KiE5mh!a8q|6cXBbo^wB@47Q={eb(4-mCjxaJKtTo?TF@co<v)1EjY6M*LB+h&!)K&x{4T}LtAPQB z{^=2fP1}=}Lh;_Gb@@@TGA7JzH$c3m&N!2o!^ysFGRA8U^vXp(t#r|c&=|3~`WJYk zyUwvseBm$@4~GB)Q_^3fi4o!=kFpvAnKah&J8qLq_SR2;0|@e}ogBDwD6R-~+xP_d zd3-LnXvyudVs}daRln~}E#wICvPHurY+_}E8nHN5l{CcuU zD{WLRWPcOtl#UDM(3X1-P)T;(oUO%-9+Nb?JzKQl<4{3+uWY5&Oe4!Bjs$#|EdbYDl<8{6+jt793g!I>RxGOT1Q>8{&fB+S5XU(u;Qz-={*xd^u18@? zmoO&?y?&EJoOFt?xi>uq|Hae>Q1}hoS*?oTm|9bS*M3-L#z5_)hH8V}E^B1&*~lfA z<+4ejs^McfaTrhy%8Ou2`fP?>jJDtY3H&?nW3(*{aqsG!RX(^pB;1Wj8(u;_{ozyV zpQJxqu*{N&EjWK~R<&O!0DH1f2yPEXg^fTC<3S~rbRWn1sx=fV=%7XBAUZR86xl6B zSsKK+9NNUO3jT{89l{W!Vp9jWfJ9b?#z)(>3E!?`qT@D|O0{sL6LndY!xL2jT?%*m z)Cf@_biAyTEE?6?JNSmSR^F;+BC2eRlw&1elM4${+|Z1JHV&oNF?*QPB2l^~fdkyK zG7?kKq6;7l>s7Dj+PsO^KA73kN9=6~1AIb<4?0aIp1aOBV=?@XIHaz`RO8lLZ3v3| zgkIGgd(PdhJnFMdGx%2mW&r%e_XTUmQ2c<0EJtzGg68oX8GMUnmZinT@pegCN(vu< z=dEvh&}Yh46uibBsR@^X&Knf^vjDy`Ux0ITL$=@G8}<{zZ3-sgN>4e?mDGrTDc+iW z*zl>$sPY^&tR^Dae=+l+wnMrF0XIN8`7f)B0b$%>4qw-W2 zi*L~!cJ1NEPKs=t;I^Y3_2y+`i>% zHD4>Qv=AbYzn6;`n?aXFv*I{Hruz-t)(>Q~{U3oSdZ~6 z?ygr~(4oWe>)$lkwo{^qVidV@_o7~?hitPIrBrNjT6|V!k)d)OLta?<4>=x;-%&i z9zw0KBFqn&3KPA@#J~<Vv%n*=4@AN?XFJc7NgKP6b0r>>Zh??`I~-ZL%G^EZx-b#>9=SHBE9AmlHy0``7R2SifUGn()1FR%>&LmSre-F)6&ZMS)DmTCO9w#l@rfDkCC`PBKuD+_HD?(~!4n+JOi33Jzqy%#)$4qq(eHbfHWw5xtvy z@qeam0+|tA{dF$4<1|Va9y^^|&caS%EaAlu(V85Kzb?0KUu;y-@P@d+$?}!)-N~(S zfeoW2Q$W`3;KLHW4f3PFCaM)8uD?U?#Kpc7`WtZxYem3@LVmst+X^pP1aowxyR$4S-9(wAV7l~ci4;a>eiZgNEUnzPo1gvKrr^X9 z897xAHY?tFuDB{AIXN`Y<+3+fQNCME0?sZSO$J9k`UD0WQl8uON_0zS_aDpO3H>-42rdY0X z5{S?pxmWOoZ!EytKal{bI8w-n`swpH&yP`+EjyM)7sNQs^=v{&9gu?nI~65hp;hYi zSi`#M7|He5PLG^7d~oq7Drm=p6ALS6&KaG3H2&l9nc;8Ip0ZGv`$wI10Wy7|Tc-+T zly-$hl48dx>Y(>G3H79s2);LOY~D6ULMS`kooSZd(%+CK!q1K+Xqv&e@*|u6P?~mq z(`&);v|h}74dS=++hKu##=7rC=Jdums=g`8AWeSeKq_$aI83Jg87Vmz!B6AO&mYLn zE_*Qg&^$v!aXJnmTJ%5xKiQQQ|94f;Y;iWYPtZw`m}kpN!W$rbBH_&_4@~MRpO#iW z$0Qc>^86{qGyZ!te%j<(S&C`CB0kl*a}}5ws$gg`LcX+EyOPC>h*wPZ>OZ5+>pA{i zdN1o>jW7?^L!ar}R8-wxP|Fa*qjh-w7UxBYBRO538!~xN10n466N$mNl7)*hYGdlN z%-O#5jui2Y#@EAS^nTY(uhZk=MMu0l>7c5h(>D$qN(uH}#M@c-KaYb{GAy%ohMTzl znn5&@LJt0SGhH1Csr2F4aS~m^(=1rxSn6zKv3o`lJjN0fYXX62#o&&7@xM*zIb+dg zJms=K%>-Gmj`3ej2aT#|8u#gp5v&;S7NLycilvSvg$0d-axiiLB}lp^Iqc>C6DK4O zSihGfqjMnLb8*hmwo5Qhr_GBgcrMRw8*Qg5J<;J|1_c|Bf)dz2rIz0&H%D<3cj!~| zR0{o2tT=P`S?`VPZj~N$3mw0yUBdtY;Plv7<&E9BWAh6fi8&>>pDHsKX(Uoyk8yjJ z`npK|>hk%us@$aN^7u2Eqt5s=)vH@fw?swLr-b+>W#-aIv_4~9ur*gUC4OeULz$;( z8fMormCKJ@naS=Td^LZw)(DfgZ0EBSU!=4-ij`Cn`)DSk{AM`=drQ`pA7$wH9@q@G zBsUvD49?W2fU{|0x5l(jFV``jbj*Ij(sA7+EcS@q->0Xebahp&h^|{x5nfW0Zdhep z4K+1m{o~fD`;@wCSHbx*YFYiMa8n>?<1cqH8uM?^NwN5PU9ppS{u3~wQ}(IXO}m(s z>{tUyYolsq@VRL9j2XqnU|3NX7-w)w1!)NrCBvWxONXQ4O1zZc<;Ks6GX2m_%I?F&fx@ajO;W)euNQ{gj69G7RaC66&=~? zaupQp>D9P?=yG^+$F#EDITRy=&enRk`$0#rPB3>DcO0doxZ@XZ9YdVI3a;tu!m?m7 zkOPsP!<5Ki$#7?>%}b5Sw;pYZpFZ&nHme=tO^?#ByLAw-M7(KHgtRT)4#T_^ET zX9Yg|uALuTS)-2+st{=QtmI|I$WB6t^C~2EBE`#+`@pQpuMTh3gy}fT7tKqIfzk9tV4i1ZxY z9wXARiw#BM9~#iI!(m3bvy2jDMq$~J#0T_)6F@S{fpJ#(s^t;2LORP%2Bj_1@_j1_Rk(8i_gD@>=$IFpTQ6Wb z!hyWdpj(BbXv?$0bhlOb{y&4$kGh>|JIvk-Mm98GV4}f6kAfJj(!}GdLQC^JGyr$@ z%7NYuuDSTXAz4EkzIH3wkrOu%X#2Xxn^}YP5#!1|{(H6nubcQ+Iy+ix%XPLhy?JT> zYYt%9BEN&1Z7bcAmM2(?rQpZf>2tL{`lND>T`UrcKd32s9&7~FQzn!5b)r#gqScERd-DBuy4jYSbODn)nVRpI3rXgDGdn-@$x`Nx6CKsm!%Q>}NTNPJmE8TRdJ=95q zVK_RNEj&aCHwcyc_9Cq9*{lJ)vb=i|s1(CjRn3JT`ey~rgz{;M480B4!H8Izo+T#=4@vEZ1io8b0sLatL-P%IvdsTt^-DLF< z{Cs~ABH1Yld`7XhFgn?8PfoRM-FdT)^1C4;>pz#2*((qiIX7# ziK;pp@#kgWNZFWRLA`_G+7f}XQ+uMoCFz7Z1@h;j4}&A3b-~|UB2~y(S(jU z9Gdi)t>fzczZ|9I{os9`b-{WQ7UqQ3-wD@Y_u6~yEFITFuKsNC5dlp7)z8+UybC?` zM=>2y2LGP2`8NnYB2>xEJb{k+WWw|!wvJA$7a)^P!BERqsN&|MCzy_TKt=#2RjyWB zv)<>;Y}J(GwUK4h>LqkZ7>K7cCr3qWdRp|<)&K(r?{xsvq3ExDGvi_=Tc<{~wl^Pa zc}I0$FBFW4UpxBxWkCL{gM&*$OY&yr_d_Hz;(tsXb6dU3z|irFkb|IlOXa%OHY(=c zlO&N2b)I6fZiIaj;_?C69U#Kf%0QnLb6BocpgBw}2JvYK_RG&e8O7yMXA(}vK+DeM z(Y!8}$0C3Q=)^z1TcE95Tc<@WUr-dg+$_BKA%l4mOJsEt6<*dZXz^Da`r-7wlV?wZ zOImIjYVyZl-_tyixP5D#3C+^{ra_1Fx`!fO=k@%ERC{g4Px)|NJ;)i&!OmHo8=C98=WUo)hrWg99VUPXvMa42*C$2jc12c^^aP+ zv|oe?_tRFeU}Vi&NU0iEL_TqItEZGvksN>5_)va(^DsF!2g=b4;t~Je@kBdl)P z>=N&?=GMi_qBr=F(@?wscV$gj`zT5MT9JZne#K~(@x3YP+_L!Frg!5)Tmg%wRTtSu zQFDjN1F^?6RbyrrF!ij;>h^#Q8*3HS-$~|YmoYxV2y$Hgy>~k)?jNJ=+dMjt9oVJ6 z2OL)*Kv({u5}($c7L!8S?DO5Nn~H(gK0!Bj>vqV}xngUi4$WD6I!*dOhMRCjeuNu> zAicFay9XvnOdq>j=d9Jo?;zF7=7C4Wpr-?;s>Kv3yf-7gpy;FfcZB@d=Pwz%vQl(c zPFv!37vyP@Oef!+W)|xd9o{6T;*33FSzgk2qpMp?5su5LO+vPI(j+&fR8XGz%>u59 zCEHJ5!GaJ^rnhJsy91ru2hE6M<2vlZl?#{-$5L=;5X@&xc&ni z20c5B86FKx8DW}YV6!M78=n{L-}p&0g6x=rkk zW5Bi)DtJL($AV}u_>vc|U|>{gqC*!ezOQ>JmUe%Pa{4zja>6#!P3v)iSR8;a)Mwz^ zKq@~ljpZkFH8FqZPTirfxo={^L*DvalrbmW$QKQ}xTAYZsYs^P zH~Pxw3TMWoP$|^wzzivrkeDJ-dDB4zwEh|!9_}$&f6{t9ae~qYS7zHDJ=UW?ou68s zvGD&xt}(eQqUE)A&iqp7_un;g1>h1vm2fbk%)v$u!$-9Cb8fq({Xl@=`<;A6Eo)cSA%>r69uf|49?+r7>tYH-b*0^aKttlOJ2BoUN|*h|&2=O>~B? z+fZfWQUmXOwjl2X;iQwEpvO1r*rdTwa39796Ix!=U)LZ{r>5ED z?;z~%MO=eH`{3F9>+_f+J2w;_LKl_twI2-V29|;8pn61|z;rXB)mpXAvBwr~{?m>w zUQnoE+BZIQxV(Cyj)N0)FA){4-N5uid_#f(=c`VS(WCE;mGbbf57+XxXqDBaTY-Yv zU@X(K#mE+m(ZC^Fd{kN|UB~VcQ2hZxj)2Np*h))#cBDh1LzkD zAY%)LufS|wi_-wVC zq%5<$+FxxI>Co+g3c#1n03V8<6+Z(xL@ZP_`4^}Mae)q9?yb7V(4p6!1ijl)9nVbz zrWaqP<){0JK@zI-hp;P9$Uh#83aHH(`zIDG7NbeFxHCfDA3F?&1}^`TFD)vT z=Y8*~@rg{njUqC;omiyGKP7e>VDuZ^u+x@mOn& z7>z|?=6VdgLiLMEb@WFN?qep#qep1L!}FgjjY+7GlRb68@9H1QWraXjaeZG8C>w1tAVs zMe@3QSw+5qemXOMoNBxV^V0hVd>b6<**sE(u6ZLH_Y{0PT{^7msPzkO3XAD)OSz{7 zJjM!_DFJv2G0ymRd@Rrd7Q7avxRZ^!x$G3o;Evrw1A}0IC~690VYTO^G14nY-{RI9 zuoQH0(rB^p{5FYtWAm3^Ko(RxLWs8=S^hWwF8X&Kc}$H90%Spc;^gKimMAqNZ&aH# znv^^a_!&*PahZ;X(TVTDP(nfoMwS58XsXD%CM!6h(&B}BR-O8Bgy8GvpIw&j;7c%A zEE!##DditJKlZ+rGn-0!o`)gQIbNfY4B~ni!ewoOpfzNEC6W@j@QH3O=2T_mmroXJ zt+D@Hmrs{^g zM?Yl0hUFw?I99HO;_b%353G(Su{J|lZXB+_A*{MV1WP5bNDNEo{d`_2*s6v)V6jpx zQHn)Ln8hv|0dFRd+2Pgq{&JJSS_In1yhc~dpKgxwt*#=es@0yD&FAIM~0I0 z)*I}d2F3Pu=4I#b_+salw2Lj}q(*x&A@E$A+PfyIZ7{kZU-`Y1u3Ix^vDiw}FH9PM zV22Z%7>=E0(j$GomX_AmwicxU!ERu%P}AJp;?Nn=P&d*UBcN=nBWUaMMbeq4F`8vT ziy~eq7Bp!QuRZL07dlE{E(`yR{8>gqIf?Ev3*a=**eH#!7q{ zW)CK@&-QZ9SnH|oKh%!;Y@f})FC-oFeAC~X|3QL>Qw@3TP{tbw`TfdgDW)p@d#rxA z@+jhaRV~mJAskR z!iq5=NNEb=EU41{7_P{CUusgxR6+my3o_P7Dzn`!D{A60Lg%MPrSHAgj&;i+p_)-R z^GcmK%uoN-?*~8y{VNt7M1-!4XyVr~VG!KXg387Fu(@56+<8hRWb1?-&hhb8rrfrlYf{X*enk|7V5uCkup$qE#?K&{Im{!YX)to*Cg|HH^2%C5*;A{?9hjY(I58ggy=YtC zWpG(_mx2a~*a)kRH~GtKiC4cY7Mj*O$__z|pW&?GqsFiHKz3-0Id=siC2tk*hfVo|2J+J%5cghjX?~lXjB1lHxS= z!u*tu6)v=9gf$hC@%A!nabuRf$c(o!ByuU&*W6mb;1n!sIO~Q?DcJ>;MP(Cq#MqOx zM=ou3+R5B&+<3j|_PFs;CUoq_`p4wQuknHq4{mK?r5u9B`Nf3K`ObPjG(HP%?0W+x zf2*r@gojK}LIuJ4JxDEg?=3{QXePYAXaFlk>lL zMlD|pz|V)MmWs{nH_=7VF@e-LJqf}$wr5ZPN>Zi zv0JUn@WBt$ZL2Gg*RL%dj-jc4y$0ANxHX#;e^f*}47*v46Zu7(UA9RaUw-@izZ9m* z)Vunkd3CZpZ+Y;|;1;dwFO~LY$ynJJJtPA2>NG@sR)Z}i+1P1d`*B*B4tvr*1v6LN z910o!1QNNPh&x4{2vt=lq1SeT>jT@-LG83>;A}Ih`x{0Vqfi3$Iy@~*O{xF*=*RU_ zC|Fzh|C3r%vPqi{y$?aqwG4p(P8<^-T6T2k=(14!m_%40*d1V5jh~)C>Pg2~1dnUAFn+vN{ajMI^3-Ixtm4~v4<4uI0RJ%|f8BNyDtQ-c9J&e1d zBs`Z+k@OQK{=50{9|O2NXg~JoQ8#M)nY@}@e%HsG>gxMZq57dOpfq~7T-EpM2_d&5 z*U6-t5LU{JWY??DoGiP?xVx5w3lZE z82J>US5zd>wlmk9)Yc^=n3U3qX#Jk6aNK_rX0H&RPvjWb-jLVviciDPC-Buhs1M?W z_(1~J(&(9EXC^Bz`4f<#*&{czn_sU~$fpXui^o0*Vzed$PPbvUYV_*y3i>in!*K;G+Un@#@H0dG+Kz zIk))~`erf-eM!&e@A3&LC5?9fn@B~l^R8|R6z^Y0L;g5$6aEy)2=t!>_4GSNb^l|3 zo+LwWJd2XORPFDo|Ff*J2j|#-v{oQdEYB7W9Uj;qBIidl_ zhhjf%PFrr}*%=7EhBz-=l9)`1HthX{#@WL1L^@yIdL_h%G8-Xp-bmb&gs&?~ia6Dh){m-7Ra(ob z!%3s6Mf>Ysu>UXgcTeS?cUhN{WW{2-6g~JZVVbm-#u$G-_aRz8b)pcv!E-taR(`#k z%?$0@^#-_bHLRq;*hwb!?7)6-mBqLT%8krF0yCH_!C_$tQP?qP2@B$|nBoe!s_Ges z^~ZUHDkSrun?8#zC0VTNPn>~^xV`Lf&b_!|u7H<%O7H$zD~*wB@C~{t9EVPvVIVv0 zTw`FYa(?9Oyz7yi2^@AdJ#xBYI;@JqzX9eyi>7o33%sUay7$-5*^!U{>*Bx=6SZnk z&e)~33Ee9!&WwY(l5q3JH2XAEn6pG`WxClMH_JDrjPKMp?Bq7EC65$b!@pK(bgQ4W zuSUqa9_6m$_hpV64#r`N=J)=}3b6?r#;9fS{Lsajd$@ZyUTa2p0|dDYdn|UpD9hZDWO%!snv6 z))G(#?t^*)RPJR4s1L6)h4I z9#y9=2WwG1xM9jkn}#6@8kfKqv0#L74&|6()-@p-N!R{1>1P#!&Qu8~DCAQDp80k4 zl}I{{BD4m2J!4!t2+qT+5JDUO^gGDVxo-*$qtj?68kTthR=&J^i38=v2mIhwsfK}! z>Kgg<$cvb@p!hh8tIwFqj5Ni_-v_Mu%9p>1vKQKW=n2z2<%6oP97*dQ2*{L#r#6O* zg>2mhqgYtjUYvrkw~If!8lHqsK{2jALp5RQ{N)>*$hGk}Qu6f^F&=T0X0^mUq986? zMdHMl6j?VxHBBuT{b5q^Ht6mDe;-fdMP#i684xOY_P46JAaZI5VGB8pQjwI%Y3y`| zeH+E4++mHKL=GH=#27nKAsY!rOlmDs{S9QBSQL$pkgyG|!+q3*DI7nm=!y=ai(ou| zOqZ9$>tGv9B6OO7h4yzxT5H=LjFXLf(3a@R*NDLXn?~jzcXG6M=}Z`b*aA+YMBO8_ zH?=xM{dm7a)YK}pHyWjloIdYWK7CB#Kj5>_{Nut)j_JblVG$kDUGZ}`{s~ij)XXtq z0#(61ygqq>=6AsQIkuQ%g1x!DFmk%V6Q_C-He2VibRhdtw*kg?bMuuZ6^$vi$Kx2= zol9u{qUu|0)Z0h(8QnnSiK0r+9XWdTb6J_S- zt58gWr0;cAClxG4O$cMFxui`dF|*MC8v0BP4H*J3b_SzCf}x>*|6RBUYSiF{B9=3b z1!}%Td!4nW5n8zT-+zV{QV@c@gQ3dTLJ-5t3JQvg9T1Q+NzKOO^LBGk%MAnh(=tBp9{qf?)Vtd*VGQaO_c`Q=x zSw2h(WNE;xZ4BDeqylnycPEDaYDxo{--Z}i%IX1s#&QVG(D%`Cq1vC+-%_aJK9f8H z=C_PcL$v0(&L5id^3}C|wGihN=Vz^$Tevy}9Q}$!qWsg z$NAE*XhSoDw__-nG3*O+U=!m59U9)y(OYq*r!DJmgfqZ8?$d^K8kIATh6&j9sky^T zTr0m^9%KcVH%T}4CstP2xHuEZQ#m#38vagI+yipfppFP*pvAIg*?+2D{=nBqL5j*~ zL$HIuU^o?c`Ck-n=5kVYmB#gNmDNK+gu?YOW|h_VZ!L}6mBQgR!{~qC$|;~XF5>X4 zix&DLY?NSa;X>d6mJ05OKC{lHv4xC!(p|WDr}LlpX*dlJJ14OswTL6YXz=IV%EdR+ zU;GLzJI+~T1o~6@w>o5&#rJItYqH|jFBGARulJX`mw{6TU{E(Vyoy%m0QVwmgq0Gk z^)FmJ9>o3aE9Md$h9%6JY=d6Eg4Cu@!|Zu9mZ&z6lImDB*9E8Sz;~p;LwT7?Q&R%9 zA{H%A^fA7AU9kdRQE)+CLi~V5b#c|ILU}L->7}AblwGn~2^8$+Z2`*V@ zML)NufK>@#)z^Qa);f|)ynl7v+{fW#>+rg<;Tx|lIngdds|78cZVP`OwTNU3E->r}9THk&f%Ha_t4cVu13*2gW_eKc9p@I6T zR&ebvYA(qd^=(d0!dwPN=`Z5d54B_n1E%-N1AcFPiYsbwO}!*cQ7UToIvklcj#?}? z+eEk{jw&*D7pV4!NBVx3cv)Nht>9pp_vr;_Ov$dzno!(*zbi_93>sCq ztJsJ(#U`K1C_nEvFN-LWx|d0;@xM$%mLDaJg`M2K4k4F;%>&f1y9#28ur>Z{5_zhJH?# zG(6?9uC{>jV5OIAt0kPJT=>j0$+I&sx0G#Fal6T?b+a27was-;x$LX0H?K6j=q;3_D7E*o(@ zlRR?)%e_RNp~n#utOKr?M018PP6f4URs1w--{7ypeS#n8S1+)Ps-y5d3*sMGbp=@nIWz&i|DvF8|>JAQebr|Z`tIZOv`2k zPQM9scN7E{mihx769S^q5Jv97Ug*}okKT9SUb>2i@L1E7~dm~GHd)7$W= z&2HiEGM7Dj)0UU>}uMf2&lKtY5YIYH<~xJOb8H+^5dpxv;R!GE{`qnb$Ei z8Mq1uH(7JJ$xOh$3VsDy3NZI!KF+G3u2U5pECdW-+JwiK808$Mv)u4Bg)ljP6K4!mw zpR9R|AL7izJH*=r)nRjUcvfb@*qafpp7(Dg`)Bi4i~rXDLX?a48)Hs`i{p7p($tw; zV0#dbg_l0evscep8lG;Uy>$-ix=F5BJgF79hnT)x)3VDYR+z{T4)7v+{mOC=z z8RyT-1a$77@FLSP{YiVnl=(ln5~Du9I;EB}w(`{B2EnXT7A`$#A>hNbcriZR_rak5 z>4WgA5UY#veYgV8K2efumD=Fsz|4T{@$r9p>j&^7Qt{pScrq6!@dFq_Qxna2xo5Q8 zBg)G5XhCVQy@I}57N;;h$0b~U6rMA&1Nh0_`uX@>vGm9gF{$preu6({pEiHp<$^e{ zoF<`(`}@>a=T3&_n!$aC-ea%r4Is>e_@BPL|JzPz=p=!LQp!Q1k;6LP9gk+eV1MU0 zL~^}7idxY{3@mCeVi5fC`�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 bkH82T%!~T~dOL3iZSfI!+IWoKhyte*`46Vs diff --git a/site/fonts/katex/KaTeX_Math-BoldItalic.woff2 b/site/fonts/katex/KaTeX_Math-BoldItalic.woff2 deleted file mode 100644 index 29657023adc09956249f6295746c8ce4469b50d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16400 zcmV+rK<~eIPew8T0RR9106-7`4gdfE0D43K06(+<0RR9100000000000000000000 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 diff --git a/site/fonts/katex/KaTeX_Math-Italic.woff2 b/site/fonts/katex/KaTeX_Math-Italic.woff2 deleted file mode 100644 index 215c143fd7805a5c2b222bd7892a1a2b09610020..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16440 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 G>;nKVNojrn diff --git a/site/fonts/katex/KaTeX_SansSerif-Italic.woff2 b/site/fonts/katex/KaTeX_SansSerif-Italic.woff2 deleted file mode 100644 index 349c06dc609f896392fd5bc8b364d3bc3efc9330..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12028 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 GG{*pT{>~Tx diff --git a/site/fonts/katex/KaTeX_Script-Regular.woff2 b/site/fonts/katex/KaTeX_Script-Regular.woff2 deleted file mode 100644 index b3048fc115681ee6c1bc86b0aa158cfbbf59daa3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9644 zcmV;dB~#jWPew8T0RR91041yd4gdfE06`=G03}%f0RR9100000000000000000000 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 diff --git a/site/fonts/katex/KaTeX_Size1-Regular.woff2 b/site/fonts/katex/KaTeX_Size1-Regular.woff2 deleted file mode 100644 index c5a8462fbfe2c39a7c1857b9e296e62500a8a8a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5468 zcmV-i6{G5RPew8T0RR9102N#S4gdfE059|a02KrP0RR9100000000000000000000 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 diff --git a/site/fonts/katex/KaTeX_Size4-Regular.woff2 b/site/fonts/katex/KaTeX_Size4-Regular.woff2 deleted file mode 100644 index 680c13085076a2f6c5a7e695935ec3f21cddb65f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4928 zcmV-G6Tj?tPew8T0RR91024p}4gdfE04S^g021l|0RR9100000000000000000000 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 diff --git a/site/fonts/katex/KaTeX_Typewriter-Regular.woff2 b/site/fonts/katex/KaTeX_Typewriter-Regular.woff2 deleted file mode 100644 index 771f1af705f5cef5f578b3a1e7d8eff66f9b76b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13568 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 G0ssIW - - - - - - - - - - - - - -Configuration - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/getting-started/installation.md b/site/getting-started/installation.md deleted file mode 100644 index 65eb5b4..0000000 --- a/site/getting-started/installation.md +++ /dev/null @@ -1,25 +0,0 @@ -# Installation - -`python-naming-linter` is available on PyPI and can be installed with any standard Python package manager. - -## pip - -```bash -pip install python-naming-linter -``` - -## uv - -```bash -uv add python-naming-linter -``` - -## Verify the Installation - -After installation, confirm the CLI is available: - -```bash -pnl --help -``` - -You should see the help output listing the available commands. diff --git a/site/getting-started/installation/index.html b/site/getting-started/installation/index.html deleted file mode 100644 index b15c49b..0000000 --- a/site/getting-started/installation/index.html +++ /dev/null @@ -1,1129 +0,0 @@ - - - - - - - - - - - - - - -Installation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
- - - -
- - - - - - - - - - - - - - - - -
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- - -
-
- -
-
-
-

python-naming-linter is available on PyPI and can be installed with any standard Python package manager.

-

pip

-
pip install python-naming-linter
-
- -

uv

-
uv add python-naming-linter
-
- -

Verify the Installation

-

After installation, confirm the CLI is available:

-
pnl --help
-
- -

You should see the help output listing the available commands.

-
- - -
- - - - -
- -
-
-
-
-
- -
- - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/getting-started/quick-start.md b/site/getting-started/quick-start.md deleted file mode 100644 index 8bf9501..0000000 --- a/site/getting-started/quick-start.md +++ /dev/null @@ -1,63 +0,0 @@ -# Quick Start - -Get `pnl` running in your project in three steps. - -## Step 1: Create a Config File - -Create `.python-naming-linter.yaml` in your project root and define your naming rules: - -```yaml -rules: - - name: bool-method-prefix - type: function - filter: { return_type: bool } - naming: { prefix: [is_, has_, should_] } - - - name: exception-naming - type: class - filter: { base_class: Exception } - naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" } - -apply: - - name: all - rules: [bool-method-prefix, exception-naming] - modules: "**" -``` - -This config defines two rules: - -- `bool-method-prefix` — functions that return `bool` must start with `is_`, `has_`, or `should_`. -- `exception-naming` — classes that extend `Exception` must follow the given regex pattern. - -Both rules are applied to all modules (`**`). - -## Step 2: Run the Linter - -From your project root, run: - -```bash -pnl check -``` - -`pnl` automatically discovers the config file by searching upward from the current working directory. - -## Step 3: Review the Output - -Violations are reported with the file path, line number, rule name, and what was expected: - -``` -src/domain/service.py:12 - [bool-method-prefix] validate (expected prefix: is_ | has_ | should_) - -src/domain/exceptions.py:8 - [exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$) - -Found 2 violation(s). -``` - -Fix the reported names and re-run `pnl check` until no violations remain. - -## Next Steps - -- Learn all available config options in [Configuration](./configuration.md). -- See rule type details and naming constraint options in the full reference. diff --git a/site/getting-started/quick-start/index.html b/site/getting-started/quick-start/index.html deleted file mode 100644 index 278d122..0000000 --- a/site/getting-started/quick-start/index.html +++ /dev/null @@ -1,1171 +0,0 @@ - - - - - - - - - - - - - - -Quick Start - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
- - - -
- - - - - - - - - - - - - - - - -
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- - -
-
- -
-
-
-

Get pnl running in your project in three steps.

-

Step 1: Create a Config File

-

Create .python-naming-linter.yaml in your project root and define your naming rules:

-
rules:
-  - name: bool-method-prefix
-    type: function
-    filter: { return_type: bool }
-    naming: { prefix: [is_, has_, should_] }
-
-  - name: exception-naming
-    type: class
-    filter: { base_class: Exception }
-    naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" }
-
-apply:
-  - name: all
-    rules: [bool-method-prefix, exception-naming]
-    modules: "**"
-
- -

This config defines two rules:

-
    -
  • bool-method-prefix — functions that return bool must start with is_, has_, or should_.
  • -
  • exception-naming — classes that extend Exception must follow the given regex pattern.
  • -
-

Both rules are applied to all modules (**).

-

Step 2: Run the Linter

-

From your project root, run:

-
pnl check
-
- -

pnl automatically discovers the config file by searching upward from the current working directory.

-

Step 3: Review the Output

-

Violations are reported with the file path, line number, rule name, and what was expected:

-
src/domain/service.py:12
-    [bool-method-prefix] validate (expected prefix: is_ | has_ | should_)
-
-src/domain/exceptions.py:8
-    [exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$)
-
-Found 2 violation(s).
-
- -

Fix the reported names and re-run pnl check until no violations remain.

-

Next Steps

-
    -
  • Learn all available config options in Configuration.
  • -
  • See rule type details and naming constraint options in the full reference.
  • -
-
- - -
- - - - -
- -
-
-
-
-
- -
- - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/guide/apply-and-modules.md b/site/guide/apply-and-modules.md deleted file mode 100644 index 3a8e139..0000000 --- a/site/guide/apply-and-modules.md +++ /dev/null @@ -1,169 +0,0 @@ -# Apply & Modules - -The `apply` block connects rules to the parts of your codebase where they should be enforced. Without an `apply` entry, a rule is defined but never executed. - ---- - -## The `apply` Block - -Each entry in `apply` is a named group that maps one or more rules to one or more modules: - -```yaml -apply: - - name: domain-layer # A label for this group (used in output) - rules: # Rules to enforce in this group - - attribute-matches-type - - bool-method-prefix - modules: contexts.*.domain # Module path pattern to match -``` - -### Fields - -| Field | Required | Description | -|-------|----------|-------------| -| `name` | Yes | Human-readable label for this application group | -| `rules` | Yes | List of rule names to enforce (must be defined in the `rules` block) | -| `modules` | Yes | A module path pattern that selects which files to check | - -### Inline syntax - -For short rule lists, you can use inline YAML syntax: - -```yaml -apply: - - name: all - rules: [bool-method-prefix, exception-naming] - modules: "**" -``` - ---- - -## Module Path Patterns - -Module paths use Python's dotted notation — the same way you would import them. For example, `src/domain/service.py` becomes `src.domain.service`. - -### Exact match - -To target a single module, write its full dotted path: - -```yaml -modules: myapp.core.utils -``` - -This matches only the file `myapp/core/utils.py`. - ---- - -## Wildcards - -### `*` — Single level - -`*` matches exactly one segment in a dotted module path. It cannot match across dots. - -```yaml -modules: contexts.*.domain -``` - -This matches: - -- `contexts.boards.domain` -- `contexts.auth.domain` -- `contexts.payments.domain` - -But **not:** - -- `contexts.domain` (missing the middle segment) -- `contexts.boards.sub.domain` (too many levels between `contexts` and `domain`) - -**Example:** - -```yaml -apply: - - name: domain-layer - rules: [attribute-matches-type] - modules: contexts.*.domain -``` - ---- - -### `**` — One or more levels - -`**` matches one or more segments. Use it to select all modules under a path, regardless of depth. - -```yaml -modules: contexts.**.domain -``` - -This matches: - -- `contexts.boards.domain` -- `contexts.boards.sub.domain` -- `contexts.a.b.c.domain` - -**Example — apply a rule to the entire codebase:** - -```yaml -apply: - - name: all - rules: [bool-method-prefix] - modules: "**" -``` - -The `"**"` pattern matches every module in the project. Use quotes to avoid YAML parsing issues. - -**Example — apply rules to all modules under a sub-package:** - -```yaml -apply: - - name: services - rules: [function-snake-case] - modules: myapp.services.** -``` - ---- - -## Named Capture - -`{name}` captures a single path segment (equivalent to `*`) and makes the captured value available for back-referencing within the same pattern. - -```yaml -modules: contexts.{context}.domain -``` - -This behaves like `contexts.*.domain` but the captured value (e.g. `boards`) is bound to the name `context`. You can reference it later in the same pattern using `{context}`. - -### Back-referencing example - -Named captures are useful when you want to enforce that two parts of a path are related — for example, that a submodule name must match its parent package name: - -```yaml -apply: - - name: domain-isolation - rules: [attribute-matches-type] - modules: contexts.{context}.domain -``` - -In this example, every module matching `contexts..domain` is selected, and the middle segment is captured as `context`. This can be used in rule logic that references the captured value, enabling context-aware enforcement. - ---- - -## Multiple Apply Groups - -You can define multiple `apply` groups to apply different rules to different parts of your codebase: - -```yaml -apply: - - name: domain-layer - rules: - - attribute-matches-type - - bool-method-prefix - - domain-module-naming - - constant-upper-case - modules: contexts.*.domain - - - name: global-exceptions - rules: [exception-naming] - modules: "**" -``` - -Here, the domain-specific rules are enforced only in `contexts.*.domain`, while `exception-naming` is enforced everywhere. A single module can be matched by multiple groups — all matching rules will be applied. diff --git a/site/guide/apply-and-modules/index.html b/site/guide/apply-and-modules/index.html deleted file mode 100644 index 25a33ba..0000000 --- a/site/guide/apply-and-modules/index.html +++ /dev/null @@ -1,1316 +0,0 @@ - - - - - - - - - - - - - - -Apply & Modules - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
- - - -
- - - - - - - - - - - - - - - - -
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- - -
-
- -
-
-
-

The apply block connects rules to the parts of your codebase where they should be enforced. Without an apply entry, a rule is defined but never executed.

-
-

The apply Block

-

Each entry in apply is a named group that maps one or more rules to one or more modules:

-
apply:
-  - name: domain-layer        # A label for this group (used in output)
-    rules:                    # Rules to enforce in this group
-      - attribute-matches-type
-      - bool-method-prefix
-    modules: contexts.*.domain  # Module path pattern to match
-
- -

Fields

-
- - - - - - - - - - - - - - - - - - - - - - - - -
FieldRequiredDescription
nameYesHuman-readable label for this application group
rulesYesList of rule names to enforce (must be defined in the rules block)
modulesYesA module path pattern that selects which files to check
-

Inline syntax

-

For short rule lists, you can use inline YAML syntax:

-
apply:
-  - name: all
-    rules: [bool-method-prefix, exception-naming]
-    modules: "**"
-
- -
-

Module Path Patterns

-

Module paths use Python's dotted notation — the same way you would import them. For example, src/domain/service.py becomes src.domain.service.

-

Exact match

-

To target a single module, write its full dotted path:

-
modules: myapp.core.utils
-
- -

This matches only the file myapp/core/utils.py.

-
-

Wildcards

-

* — Single level

-

* matches exactly one segment in a dotted module path. It cannot match across dots.

-
modules: contexts.*.domain
-
- -

This matches:

-
    -
  • contexts.boards.domain
  • -
  • contexts.auth.domain
  • -
  • contexts.payments.domain
  • -
-

But not:

-
    -
  • contexts.domain (missing the middle segment)
  • -
  • contexts.boards.sub.domain (too many levels between contexts and domain)
  • -
-

Example:

-
apply:
-  - name: domain-layer
-    rules: [attribute-matches-type]
-    modules: contexts.*.domain
-
- -
-

** — One or more levels

-

** matches one or more segments. Use it to select all modules under a path, regardless of depth.

-
modules: contexts.**.domain
-
- -

This matches:

-
    -
  • contexts.boards.domain
  • -
  • contexts.boards.sub.domain
  • -
  • contexts.a.b.c.domain
  • -
-

Example — apply a rule to the entire codebase:

-
apply:
-  - name: all
-    rules: [bool-method-prefix]
-    modules: "**"
-
- -

The "**" pattern matches every module in the project. Use quotes to avoid YAML parsing issues.

-

Example — apply rules to all modules under a sub-package:

-
apply:
-  - name: services
-    rules: [function-snake-case]
-    modules: myapp.services.**
-
- -
-

Named Capture

-

{name} captures a single path segment (equivalent to *) and makes the captured value available for back-referencing within the same pattern.

-
modules: contexts.{context}.domain
-
- -

This behaves like contexts.*.domain but the captured value (e.g. boards) is bound to the name context. You can reference it later in the same pattern using {context}.

-

Back-referencing example

-

Named captures are useful when you want to enforce that two parts of a path are related — for example, that a submodule name must match its parent package name:

-
apply:
-  - name: domain-isolation
-    rules: [attribute-matches-type]
-    modules: contexts.{context}.domain
-
- -

In this example, every module matching contexts.<anything>.domain is selected, and the middle segment is captured as context. This can be used in rule logic that references the captured value, enabling context-aware enforcement.

-
-

Multiple Apply Groups

-

You can define multiple apply groups to apply different rules to different parts of your codebase:

-
apply:
-  - name: domain-layer
-    rules:
-      - attribute-matches-type
-      - bool-method-prefix
-      - domain-module-naming
-      - constant-upper-case
-    modules: contexts.*.domain
-
-  - name: global-exceptions
-    rules: [exception-naming]
-    modules: "**"
-
- -

Here, the domain-specific rules are enforced only in contexts.*.domain, while exception-naming is enforced everywhere. A single module can be matched by multiple groups — all matching rules will be applied.

-
- - -
- - - - -
- -
-
-
-
-
- -
- - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/guide/filters.md b/site/guide/filters.md deleted file mode 100644 index 454699c..0000000 --- a/site/guide/filters.md +++ /dev/null @@ -1,178 +0,0 @@ -# Filters - -Filters let you narrow the scope of a rule so it only applies to a specific subset of names. Without a filter, a rule matches every name of its `type`. With a filter, only names that satisfy all filter conditions are checked. - -Filters are specified in the `filter` block of a rule: - -```yaml -rules: - - name: my-rule - type: function - filter: { return_type: bool } - naming: { prefix: [is_, has_] } -``` - -Multiple filter fields can be combined — a name must satisfy **all** of them to be checked. - ---- - -## `target` - -Narrows which names within the rule type are checked based on their role in the code. - -### For `variable` rules - -| Value | Matches | -|-------|---------| -| `attribute` | Class-level attribute assignments, including annotated attributes (`x: int = 1`) | -| `parameter` | Function or method parameters | -| `local_variable` | Variables assigned inside a function body | -| `constant` | Module-level assignments (typically treated as constants) | - -**Supported rule types:** `variable` - -**Example — lint only class attributes:** - -```yaml -rules: - - name: attribute-matches-type - type: variable - filter: { target: attribute } - naming: { source: type_annotation, transform: snake_case } -``` - -**Example — lint only module-level constants:** - -```yaml -rules: - - name: constant-upper-case - type: variable - filter: { target: constant } - naming: { case: UPPER_CASE } -``` - -### For `function` rules - -| Value | Matches | -|-------|---------| -| `method` | Functions defined inside a class body | -| `function` | Functions defined at module level or inside other functions | - -**Supported rule types:** `function` - -**Example — lint only module-level functions (not methods):** - -```yaml -rules: - - name: function-snake-case - type: function - filter: { target: function } - naming: { case: snake_case } -``` - ---- - -## `return_type` - -Matches functions whose return type annotation equals the specified type name. - -**Supported rule types:** `function` - -**Accepted values:** any Python type name as a string, e.g. `bool`, `str`, `int`, `None` - -**Example — require a boolean-indicating prefix on `bool`-returning functions:** - -```yaml -rules: - - name: bool-method-prefix - type: function - filter: { return_type: bool } - naming: { prefix: [is_, has_, should_] } - -apply: - - name: all - rules: [bool-method-prefix] - modules: "**" -``` - -The filter matches functions with `-> bool` in their signature. Functions without a return type annotation, or with a different annotation, are not checked. - ---- - -## `decorator` - -Matches functions or classes that are decorated with the specified decorator name. - -**Supported rule types:** `function`, `class` - -**Accepted values:** any decorator name as a string (without `@`), e.g. `staticmethod`, `classmethod`, `property`, `dataclass`, `abstractmethod` - -**Example — require a suffix on static methods:** - -```yaml -rules: - - name: static-method-suffix - type: function - filter: { decorator: staticmethod } - naming: { suffix: [_impl] } - -apply: - - name: all - rules: [static-method-suffix] - modules: "**" -``` - -**Example — require a `DTO` suffix on dataclasses:** - -```yaml -rules: - - name: dataclass-dto-suffix - type: class - filter: { decorator: dataclass } - naming: { suffix: [DTO] } - -apply: - - name: all - rules: [dataclass-dto-suffix] - modules: "**" -``` - -The filter matches the decorator by its bare name. Both `@dataclass` and `@dataclasses.dataclass` are matched by the value `dataclass`. - ---- - -## `base_class` - -Matches classes that inherit from the specified base class. - -**Supported rule types:** `class` - -**Accepted values:** any class name as a string, e.g. `Exception`, `BaseModel`, `ABC` - -**Example — enforce a naming pattern for all exception classes:** - -```yaml -rules: - - name: exception-naming - type: class - filter: { base_class: Exception } - naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" } - -apply: - - name: all - rules: [exception-naming] - modules: "**" -``` - -The filter matches the direct base class name. `class MyError(Exception)` matches the value `Exception`. - ---- - -## Filter Support by Rule Type - -| Filter | `variable` | `function` | `class` | `module` | `package` | -|--------|-----------|-----------|---------|---------|---------| -| `target` | `attribute`, `parameter`, `local_variable`, `constant` | `method`, `function` | — | — | — | -| `return_type` | — | any type string | — | — | — | -| `decorator` | — | any decorator name | any decorator name | — | — | -| `base_class` | — | — | any class name | — | — | diff --git a/site/guide/filters/index.html b/site/guide/filters/index.html deleted file mode 100644 index 08b7a9b..0000000 --- a/site/guide/filters/index.html +++ /dev/null @@ -1,1347 +0,0 @@ - - - - - - - - - - - - - - -Filters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
- - - -
- - - - - - - - - - - - - - - - -
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- - -
-
- -
-
-
-

Filters let you narrow the scope of a rule so it only applies to a specific subset of names. Without a filter, a rule matches every name of its type. With a filter, only names that satisfy all filter conditions are checked.

-

Filters are specified in the filter block of a rule:

-
rules:
-  - name: my-rule
-    type: function
-    filter: { return_type: bool }
-    naming: { prefix: [is_, has_] }
-
- -

Multiple filter fields can be combined — a name must satisfy all of them to be checked.

-
-

target

-

Narrows which names within the rule type are checked based on their role in the code.

-

For variable rules

-
- - - - - - - - - - - - - - - - - - - - - - - - -
ValueMatches
attributeClass-level attribute assignments, including annotated attributes (x: int = 1)
parameterFunction or method parameters
local_variableVariables assigned inside a function body
constantModule-level assignments (typically treated as constants)
-

Supported rule types: variable

-

Example — lint only class attributes:

-
rules:
-  - name: attribute-matches-type
-    type: variable
-    filter: { target: attribute }
-    naming: { source: type_annotation, transform: snake_case }
-
- -

Example — lint only module-level constants:

-
rules:
-  - name: constant-upper-case
-    type: variable
-    filter: { target: constant }
-    naming: { case: UPPER_CASE }
-
- -

For function rules

-
- - - - - - - - - - - - - - - - -
ValueMatches
methodFunctions defined inside a class body
functionFunctions defined at module level or inside other functions
-

Supported rule types: function

-

Example — lint only module-level functions (not methods):

-
rules:
-  - name: function-snake-case
-    type: function
-    filter: { target: function }
-    naming: { case: snake_case }
-
- -
-

return_type

-

Matches functions whose return type annotation equals the specified type name.

-

Supported rule types: function

-

Accepted values: any Python type name as a string, e.g. bool, str, int, None

-

Example — require a boolean-indicating prefix on bool-returning functions:

-
rules:
-  - name: bool-method-prefix
-    type: function
-    filter: { return_type: bool }
-    naming: { prefix: [is_, has_, should_] }
-
-apply:
-  - name: all
-    rules: [bool-method-prefix]
-    modules: "**"
-
- -

The filter matches functions with -> bool in their signature. Functions without a return type annotation, or with a different annotation, are not checked.

-
-

decorator

-

Matches functions or classes that are decorated with the specified decorator name.

-

Supported rule types: function, class

-

Accepted values: any decorator name as a string (without @), e.g. staticmethod, classmethod, property, dataclass, abstractmethod

-

Example — require a suffix on static methods:

-
rules:
-  - name: static-method-suffix
-    type: function
-    filter: { decorator: staticmethod }
-    naming: { suffix: [_impl] }
-
-apply:
-  - name: all
-    rules: [static-method-suffix]
-    modules: "**"
-
- -

Example — require a DTO suffix on dataclasses:

-
rules:
-  - name: dataclass-dto-suffix
-    type: class
-    filter: { decorator: dataclass }
-    naming: { suffix: [DTO] }
-
-apply:
-  - name: all
-    rules: [dataclass-dto-suffix]
-    modules: "**"
-
- -

The filter matches the decorator by its bare name. Both @dataclass and @dataclasses.dataclass are matched by the value dataclass.

-
-

base_class

-

Matches classes that inherit from the specified base class.

-

Supported rule types: class

-

Accepted values: any class name as a string, e.g. Exception, BaseModel, ABC

-

Example — enforce a naming pattern for all exception classes:

-
rules:
-  - name: exception-naming
-    type: class
-    filter: { base_class: Exception }
-    naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" }
-
-apply:
-  - name: all
-    rules: [exception-naming]
-    modules: "**"
-
- -

The filter matches the direct base class name. class MyError(Exception) matches the value Exception.

-
-

Filter Support by Rule Type

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Filtervariablefunctionclassmodulepackage
targetattribute, parameter, local_variable, constantmethod, function
return_typeany type string
decoratorany decorator nameany decorator name
base_classany class name
-
- - -
- - - - -
- -
-
-
-
-
- -
- - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/guide/include-exclude.md b/site/guide/include-exclude.md deleted file mode 100644 index 1b615cb..0000000 --- a/site/guide/include-exclude.md +++ /dev/null @@ -1,140 +0,0 @@ -# Include / Exclude - -The `include` and `exclude` keys control which files `pnl` scans. They are top-level config keys and are applied before any rule matching. - -```yaml -include: - - src - -exclude: - - src/generated/** - -rules: - - name: ... - -apply: - - name: ... -``` - -Both keys accept a list of file path patterns. Patterns are matched against file paths relative to the project root. - ---- - -## Scenarios - -### No `include` or `exclude` - -When neither key is present, `pnl` scans all `.py` files under the project root recursively. - -```yaml -rules: - - name: bool-method-prefix - type: function - filter: { return_type: bool } - naming: { prefix: [is_, has_, should_] } - -apply: - - name: all - rules: [bool-method-prefix] - modules: "**" -``` - -Every `.py` file in the project is a candidate for scanning. The `apply` block's `modules` pattern then determines which of those files are actually checked by each rule. - ---- - -### `include` only - -When only `include` is specified, only files matching the listed paths are scanned. Everything else is ignored. - -```yaml -include: - - src - -rules: - - name: bool-method-prefix - type: function - filter: { return_type: bool } - naming: { prefix: [is_, has_, should_] } - -apply: - - name: all - rules: [bool-method-prefix] - modules: "**" -``` - -Only `.py` files under `src/` are scanned. Files in `tests/`, `scripts/`, or other top-level directories are not checked, even if they match the `modules` pattern in `apply`. - -Use `include` when your project has multiple top-level directories and you only want to lint a specific one. - ---- - -### `exclude` only - -When only `exclude` is specified, all `.py` files under the project root are scanned **except** those matching the excluded paths. - -```yaml -exclude: - - tests/** - - scripts/** - -rules: - - name: bool-method-prefix - type: function - filter: { return_type: bool } - naming: { prefix: [is_, has_, should_] } - -apply: - - name: all - rules: [bool-method-prefix] - modules: "**" -``` - -All files are scanned by default, but `tests/` and `scripts/` are skipped. This is useful when you want broad coverage but need to exclude generated code, fixtures, or tooling directories. - ---- - -### Both `include` and `exclude` - -When both keys are present, `include` is applied first and `exclude` is applied to that result. - -```yaml -include: - - src - -exclude: - - src/generated/** - -rules: - - name: bool-method-prefix - type: function - filter: { return_type: bool } - naming: { prefix: [is_, has_, should_] } - -apply: - - name: all - rules: [bool-method-prefix] - modules: "**" -``` - -Step-by-step: - -1. Start with all `.py` files under the project root. -2. Keep only files under `src/` (apply `include`). -3. Remove files under `src/generated/` (apply `exclude`). - -The result is all files under `src/` except those in `src/generated/`. - ---- - -## Summary - -| `include` | `exclude` | Files scanned | -|-----------|-----------|--------------| -| Not set | Not set | All `.py` files under project root | -| Set | Not set | Only files matching `include` paths | -| Not set | Set | All files **except** those matching `exclude` paths | -| Set | Set | Files matching `include`, then filtered by `exclude` | - -!!! note - `include` and `exclude` control the file scanning scope. The `modules` patterns in `apply` blocks are evaluated against the scanned files — so a file excluded here will never be checked, regardless of what `modules` patterns are defined. diff --git a/site/guide/include-exclude/index.html b/site/guide/include-exclude/index.html deleted file mode 100644 index d8bce54..0000000 --- a/site/guide/include-exclude/index.html +++ /dev/null @@ -1,1269 +0,0 @@ - - - - - - - - - - - - - - -Include / Exclude - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
- - - -
- - - - - - - - - - - - - - - - -
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- - -
-
- -
-
-
-

The include and exclude keys control which files pnl scans. They are top-level config keys and are applied before any rule matching.

-
include:
-  - src
-
-exclude:
-  - src/generated/**
-
-rules:
-  - name: ...
-
-apply:
-  - name: ...
-
- -

Both keys accept a list of file path patterns. Patterns are matched against file paths relative to the project root.

-
-

Scenarios

-

No include or exclude

-

When neither key is present, pnl scans all .py files under the project root recursively.

-
rules:
-  - name: bool-method-prefix
-    type: function
-    filter: { return_type: bool }
-    naming: { prefix: [is_, has_, should_] }
-
-apply:
-  - name: all
-    rules: [bool-method-prefix]
-    modules: "**"
-
- -

Every .py file in the project is a candidate for scanning. The apply block's modules pattern then determines which of those files are actually checked by each rule.

-
-

include only

-

When only include is specified, only files matching the listed paths are scanned. Everything else is ignored.

-
include:
-  - src
-
-rules:
-  - name: bool-method-prefix
-    type: function
-    filter: { return_type: bool }
-    naming: { prefix: [is_, has_, should_] }
-
-apply:
-  - name: all
-    rules: [bool-method-prefix]
-    modules: "**"
-
- -

Only .py files under src/ are scanned. Files in tests/, scripts/, or other top-level directories are not checked, even if they match the modules pattern in apply.

-

Use include when your project has multiple top-level directories and you only want to lint a specific one.

-
-

exclude only

-

When only exclude is specified, all .py files under the project root are scanned except those matching the excluded paths.

-
exclude:
-  - tests/**
-  - scripts/**
-
-rules:
-  - name: bool-method-prefix
-    type: function
-    filter: { return_type: bool }
-    naming: { prefix: [is_, has_, should_] }
-
-apply:
-  - name: all
-    rules: [bool-method-prefix]
-    modules: "**"
-
- -

All files are scanned by default, but tests/ and scripts/ are skipped. This is useful when you want broad coverage but need to exclude generated code, fixtures, or tooling directories.

-
-

Both include and exclude

-

When both keys are present, include is applied first and exclude is applied to that result.

-
include:
-  - src
-
-exclude:
-  - src/generated/**
-
-rules:
-  - name: bool-method-prefix
-    type: function
-    filter: { return_type: bool }
-    naming: { prefix: [is_, has_, should_] }
-
-apply:
-  - name: all
-    rules: [bool-method-prefix]
-    modules: "**"
-
- -

Step-by-step:

-
    -
  1. Start with all .py files under the project root.
  2. -
  3. Keep only files under src/ (apply include).
  4. -
  5. Remove files under src/generated/ (apply exclude).
  6. -
-

The result is all files under src/ except those in src/generated/.

-
-

Summary

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
includeexcludeFiles scanned
Not setNot setAll .py files under project root
SetNot setOnly files matching include paths
Not setSetAll files except those matching exclude paths
SetSetFiles matching include, then filtered by exclude
-
-

Note

-

include and exclude control the file scanning scope. The modules patterns in apply blocks are evaluated against the scanned files — so a file excluded here will never be checked, regardless of what modules patterns are defined.

-
-
- - -
- - - - -
- -
-
-
-
-
- -
- - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/guide/inline-ignore.md b/site/guide/inline-ignore.md deleted file mode 100644 index e3bf64d..0000000 --- a/site/guide/inline-ignore.md +++ /dev/null @@ -1,83 +0,0 @@ -# Inline Ignore - -Sometimes a specific line legitimately violates a naming rule — a third-party interface, a legacy name you cannot change, or a deliberate exception to your convention. Rather than disabling the rule globally or restructuring your config, you can suppress violations on a per-line basis using inline ignore comments. - ---- - -## Ignore all rules on a line - -Add `# pnl: ignore` at the end of a line to suppress all `pnl` violations reported for that line: - -```python -x: int = 1 # pnl: ignore -``` - -Any rule that would have flagged the name on this line is silenced. This is the broadest form of suppression — use it when multiple rules apply and you want to silence all of them at once. - ---- - -## Ignore a specific rule on a line - -To suppress only one rule, specify the rule name after `=`: - -```python -x: int = 1 # pnl: ignore=attribute-matches-type -``` - -Only the `attribute-matches-type` rule is suppressed on this line. Any other rules that match this line will still report violations. - -The rule name must exactly match the `name` field defined in your config: - -```yaml -rules: - - name: attribute-matches-type # This is the name to use in ignore comments - type: variable - filter: { target: attribute } - naming: { source: type_annotation, transform: snake_case } -``` - ---- - -## Ignore multiple specific rules on a line - -To suppress more than one rule on the same line, list rule names separated by commas: - -```python -x: int = 1 # pnl: ignore=attribute-matches-type,constant-upper-case -``` - -Both `attribute-matches-type` and `constant-upper-case` are suppressed on this line. There is no space around the commas. - ---- - -## Practical examples - -**Suppressing a legacy attribute name that doesn't match its type:** - -```python -class UserService: - repo: UserRepository # pnl: ignore=attribute-matches-type -``` - -**Suppressing a constant that follows a third-party naming convention:** - -```python -# Required by the framework to be this exact name -default_app_config = "myapp.apps.MyAppConfig" # pnl: ignore=constant-upper-case -``` - -**Suppressing all rules on a generated or protocol-required name:** - -```python -def __repr__(self) -> str: # pnl: ignore - ... -``` - ---- - -## Notes - -- Inline ignore comments apply only to the line they appear on. They do not affect other lines. -- Rule names are case-sensitive and must match exactly. -- If you specify a rule name that does not exist in your config, the comment is silently ignored — no error is raised. -- Prefer targeted suppression (`# pnl: ignore=rule-name`) over blanket suppression (`# pnl: ignore`) so that future rules are not accidentally silenced. diff --git a/site/guide/inline-ignore/index.html b/site/guide/inline-ignore/index.html deleted file mode 100644 index fb93580..0000000 --- a/site/guide/inline-ignore/index.html +++ /dev/null @@ -1,1185 +0,0 @@ - - - - - - - - - - - - - - -Inline Ignore - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
- - - -
- - - - - - - - - - - - - - - - -
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- - -
-
- -
-
-
-

Sometimes a specific line legitimately violates a naming rule — a third-party interface, a legacy name you cannot change, or a deliberate exception to your convention. Rather than disabling the rule globally or restructuring your config, you can suppress violations on a per-line basis using inline ignore comments.

-
-

Ignore all rules on a line

-

Add # pnl: ignore at the end of a line to suppress all pnl violations reported for that line:

-
x: int = 1  # pnl: ignore
-
- -

Any rule that would have flagged the name on this line is silenced. This is the broadest form of suppression — use it when multiple rules apply and you want to silence all of them at once.

-
-

Ignore a specific rule on a line

-

To suppress only one rule, specify the rule name after =:

-
x: int = 1  # pnl: ignore=attribute-matches-type
-
- -

Only the attribute-matches-type rule is suppressed on this line. Any other rules that match this line will still report violations.

-

The rule name must exactly match the name field defined in your config:

-
rules:
-  - name: attribute-matches-type   # This is the name to use in ignore comments
-    type: variable
-    filter: { target: attribute }
-    naming: { source: type_annotation, transform: snake_case }
-
- -
-

Ignore multiple specific rules on a line

-

To suppress more than one rule on the same line, list rule names separated by commas:

-
x: int = 1  # pnl: ignore=attribute-matches-type,constant-upper-case
-
- -

Both attribute-matches-type and constant-upper-case are suppressed on this line. There is no space around the commas.

-
-

Practical examples

-

Suppressing a legacy attribute name that doesn't match its type:

-
class UserService:
-    repo: UserRepository  # pnl: ignore=attribute-matches-type
-
- -

Suppressing a constant that follows a third-party naming convention:

-
# Required by the framework to be this exact name
-default_app_config = "myapp.apps.MyAppConfig"  # pnl: ignore=constant-upper-case
-
- -

Suppressing all rules on a generated or protocol-required name:

-
def __repr__(self) -> str:  # pnl: ignore
-    ...
-
- -
-

Notes

-
    -
  • Inline ignore comments apply only to the line they appear on. They do not affect other lines.
  • -
  • Rule names are case-sensitive and must match exactly.
  • -
  • If you specify a rule name that does not exist in your config, the comment is silently ignored — no error is raised.
  • -
  • Prefer targeted suppression (# pnl: ignore=rule-name) over blanket suppression (# pnl: ignore) so that future rules are not accidentally silenced.
  • -
-
- - -
- - - - -
- -
-
-
-
-
- -
- - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/guide/naming-constraints.md b/site/guide/naming-constraints.md deleted file mode 100644 index e79ef48..0000000 --- a/site/guide/naming-constraints.md +++ /dev/null @@ -1,218 +0,0 @@ -# Naming Constraints - -Naming constraints define how a name must be formed. They are specified in the `naming` block of a rule: - -```yaml -rules: - - name: my-rule - type: function - naming: { prefix: [is_, has_] } -``` - -Each rule must have exactly one naming constraint (or one `source` + `transform` pair). The constraint is evaluated against every name that passes the rule's type and filter checks. - ---- - -## `prefix` - -The name must start with one of the listed prefixes. - -**Accepted value:** a list of one or more prefix strings. - -**Example:** - -```yaml -rules: - - name: bool-method-prefix - type: function - filter: { return_type: bool } - naming: { prefix: [is_, has_, should_] } -``` - -| Name | Result | -|------|--------| -| `is_active` | Pass — starts with `is_` | -| `has_permission` | Pass — starts with `has_` | -| `should_retry` | Pass — starts with `should_` | -| `validate` | **Violation** — no matching prefix | -| `check_active` | **Violation** — `check_` is not in the list | - -**Violation message example:** - -``` -[bool-method-prefix] validate (expected prefix: is_ | has_ | should_) -``` - ---- - -## `suffix` - -The name must end with one of the listed suffixes. - -**Accepted value:** a list of one or more suffix strings. - -**Example:** - -```yaml -rules: - - name: repository-suffix - type: class - naming: { suffix: [Repository, Service] } -``` - -| Name | Result | -|------|--------| -| `UserRepository` | Pass — ends with `Repository` | -| `OrderService` | Pass — ends with `Service` | -| `UserManager` | **Violation** — no matching suffix | -| `User` | **Violation** — no matching suffix | - -**Violation message example:** - -``` -[repository-suffix] UserManager (expected suffix: Repository | Service) -``` - ---- - -## `regex` - -The name must match a regular expression. - -**Accepted value:** a string containing a valid Python regular expression. - -This is the most expressive constraint — use it when `prefix`, `suffix`, or `case` are not specific enough. - -**Example:** - -```yaml -rules: - - name: exception-naming - type: class - filter: { base_class: Exception } - naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" } -``` - -| Name | Result | -|------|--------| -| `UserNotFoundError` | Pass — matches the pattern | -| `OrderInvalidError` | Pass — matches the pattern | -| `FilterError` | **Violation** — does not end with the required suffix group | -| `userNotFoundError` | **Violation** — does not start with an uppercase letter | - -**Violation message example:** - -``` -[exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$) -``` - ---- - -## `source` + `transform` - -The name must be derived from another element in the code, after applying a transformation. This is used for relational naming — where the name of one thing must reflect another. - -Both fields must be specified together. - -### `source` values - -| Value | What it reads | -|-------|--------------| -| `type_annotation` | The type annotation of the variable (e.g. `SubscriptionRepository` from `x: SubscriptionRepository`) | -| `class_name` | The name of a class defined in the module (used with `type: module`) | - -### `transform` values - -| Value | What it does | -|-------|-------------| -| `snake_case` | Converts PascalCase or camelCase to snake_case (e.g. `SubscriptionRepository` → `subscription_repository`) | - -**Example — variable name must match its type annotation:** - -```yaml -rules: - - name: attribute-matches-type - type: variable - filter: { target: attribute } - naming: { source: type_annotation, transform: snake_case } -``` - -| Declaration | Result | -|-------------|--------| -| `subscription_repository: SubscriptionRepository` | Pass — name matches transformed type | -| `repo: SubscriptionRepository` | **Violation** — `repo` does not match `subscription_repository` | -| `source_object_context: ObjectContext` | Pass — name ends with `_object_context` (prefix + expected form is allowed) | - -The `{prefix}_{expected}` form is accepted. If the expected derived name is `object_context`, then `source_object_context` passes because it ends with `_object_context`. - -**Example — module filename must match the class it contains:** - -```yaml -rules: - - name: domain-module-naming - type: module - naming: { source: class_name, transform: snake_case } -``` - -| File | Class | Result | -|------|-------|--------| -| `custom_object.py` | `CustomObject` | Pass — filename matches transformed class name | -| `custom.py` | `CustomObject` | **Violation** — `custom` does not match `custom_object` | - ---- - -## `case` - -The name must follow a specific casing convention. - -**Accepted values:** - -| Value | Pattern | Example | -|-------|---------|---------| -| `snake_case` | all lowercase, words separated by underscores | `my_variable_name` | -| `PascalCase` | each word starts with uppercase, no separators | `MyClassName` | -| `UPPER_CASE` | all uppercase, words separated by underscores | `MAX_RETRIES` | - -**Example — enforce UPPER_CASE for constants:** - -```yaml -rules: - - name: constant-upper-case - type: variable - filter: { target: constant } - naming: { case: UPPER_CASE } -``` - -| Name | Result | -|------|--------| -| `MAX_RETRIES` | Pass | -| `DEFAULT_TIMEOUT` | Pass | -| `max_retries` | **Violation** — lowercase | -| `maxRetries` | **Violation** — camelCase | - -**Example — enforce PascalCase for classes:** - -```yaml -rules: - - name: class-pascal-case - type: class - naming: { case: PascalCase } -``` - -| Name | Result | -|------|--------| -| `MyService` | Pass | -| `my_service` | **Violation** | -| `myService` | **Violation** | - ---- - -## Summary Table - -| Constraint | Value type | Use when | -|-----------|-----------|---------| -| `prefix` | list of strings | Names must start with one of several prefixes | -| `suffix` | list of strings | Names must end with one of several suffixes | -| `regex` | string (regex) | Names must match a complex pattern | -| `source` + `transform` | string + string | Names must be derived from another code element | -| `case` | `snake_case`, `PascalCase`, or `UPPER_CASE` | Names must follow a casing convention | diff --git a/site/guide/naming-constraints/index.html b/site/guide/naming-constraints/index.html deleted file mode 100644 index baa42eb..0000000 --- a/site/guide/naming-constraints/index.html +++ /dev/null @@ -1,1518 +0,0 @@ - - - - - - - - - - - - - - -Naming Constraints - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
- - - -
- - - - - - - - - - - - - - - - -
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- - -
-
- -
-
-
-

Naming constraints define how a name must be formed. They are specified in the naming block of a rule:

-
rules:
-  - name: my-rule
-    type: function
-    naming: { prefix: [is_, has_] }
-
- -

Each rule must have exactly one naming constraint (or one source + transform pair). The constraint is evaluated against every name that passes the rule's type and filter checks.

-
-

prefix

-

The name must start with one of the listed prefixes.

-

Accepted value: a list of one or more prefix strings.

-

Example:

-
rules:
-  - name: bool-method-prefix
-    type: function
-    filter: { return_type: bool }
-    naming: { prefix: [is_, has_, should_] }
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameResult
is_activePass — starts with is_
has_permissionPass — starts with has_
should_retryPass — starts with should_
validateViolation — no matching prefix
check_activeViolationcheck_ is not in the list
-

Violation message example:

-
[bool-method-prefix] validate (expected prefix: is_ | has_ | should_)
-
- -
-

suffix

-

The name must end with one of the listed suffixes.

-

Accepted value: a list of one or more suffix strings.

-

Example:

-
rules:
-  - name: repository-suffix
-    type: class
-    naming: { suffix: [Repository, Service] }
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - -
NameResult
UserRepositoryPass — ends with Repository
OrderServicePass — ends with Service
UserManagerViolation — no matching suffix
UserViolation — no matching suffix
-

Violation message example:

-
[repository-suffix] UserManager (expected suffix: Repository | Service)
-
- -
-

regex

-

The name must match a regular expression.

-

Accepted value: a string containing a valid Python regular expression.

-

This is the most expressive constraint — use it when prefix, suffix, or case are not specific enough.

-

Example:

-
rules:
-  - name: exception-naming
-    type: class
-    filter: { base_class: Exception }
-    naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" }
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - -
NameResult
UserNotFoundErrorPass — matches the pattern
OrderInvalidErrorPass — matches the pattern
FilterErrorViolation — does not end with the required suffix group
userNotFoundErrorViolation — does not start with an uppercase letter
-

Violation message example:

-
[exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$)
-
- -
-

source + transform

-

The name must be derived from another element in the code, after applying a transformation. This is used for relational naming — where the name of one thing must reflect another.

-

Both fields must be specified together.

-

source values

-
- - - - - - - - - - - - - - - - -
ValueWhat it reads
type_annotationThe type annotation of the variable (e.g. SubscriptionRepository from x: SubscriptionRepository)
class_nameThe name of a class defined in the module (used with type: module)
-

transform values

-
- - - - - - - - - - - - -
ValueWhat it does
snake_caseConverts PascalCase or camelCase to snake_case (e.g. SubscriptionRepositorysubscription_repository)
-

Example — variable name must match its type annotation:

-
rules:
-  - name: attribute-matches-type
-    type: variable
-    filter: { target: attribute }
-    naming: { source: type_annotation, transform: snake_case }
-
- -
- - - - - - - - - - - - - - - - - - - - -
DeclarationResult
subscription_repository: SubscriptionRepositoryPass — name matches transformed type
repo: SubscriptionRepositoryViolationrepo does not match subscription_repository
source_object_context: ObjectContextPass — name ends with _object_context (prefix + expected form is allowed)
-

The {prefix}_{expected} form is accepted. If the expected derived name is object_context, then source_object_context passes because it ends with _object_context.

-

Example — module filename must match the class it contains:

-
rules:
-  - name: domain-module-naming
-    type: module
-    naming: { source: class_name, transform: snake_case }
-
- -
- - - - - - - - - - - - - - - - - - - -
FileClassResult
custom_object.pyCustomObjectPass — filename matches transformed class name
custom.pyCustomObjectViolationcustom does not match custom_object
-
-

case

-

The name must follow a specific casing convention.

-

Accepted values:

-
- - - - - - - - - - - - - - - - - - - - - - - - -
ValuePatternExample
snake_caseall lowercase, words separated by underscoresmy_variable_name
PascalCaseeach word starts with uppercase, no separatorsMyClassName
UPPER_CASEall uppercase, words separated by underscoresMAX_RETRIES
-

Example — enforce UPPER_CASE for constants:

-
rules:
-  - name: constant-upper-case
-    type: variable
-    filter: { target: constant }
-    naming: { case: UPPER_CASE }
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - -
NameResult
MAX_RETRIESPass
DEFAULT_TIMEOUTPass
max_retriesViolation — lowercase
maxRetriesViolation — camelCase
-

Example — enforce PascalCase for classes:

-
rules:
-  - name: class-pascal-case
-    type: class
-    naming: { case: PascalCase }
-
- -
- - - - - - - - - - - - - - - - - - - - -
NameResult
MyServicePass
my_serviceViolation
myServiceViolation
-
-

Summary Table

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ConstraintValue typeUse when
prefixlist of stringsNames must start with one of several prefixes
suffixlist of stringsNames must end with one of several suffixes
regexstring (regex)Names must match a complex pattern
source + transformstring + stringNames must be derived from another code element
casesnake_case, PascalCase, or UPPER_CASENames must follow a casing convention
-
- - -
- - - - -
- -
-
-
-
-
- -
- - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/guide/rules.md b/site/guide/rules.md deleted file mode 100644 index a084b59..0000000 --- a/site/guide/rules.md +++ /dev/null @@ -1,210 +0,0 @@ -# Rules - -Rules are the core building blocks of `pnl`. Each rule targets a specific kind of Python name, optionally narrows its scope with filters, and then enforces a naming constraint. - -## Rule Structure - -Every rule has three required fields and two optional ones: - -```yaml -rules: - - name: my-rule # Unique identifier for this rule - type: variable # What kind of name to lint - filter: { ... } # (optional) Narrow which names are checked - naming: { ... } # How the name must be formed -``` - -The `name` is used to reference the rule in `apply` blocks and in `# pnl: ignore` comments. - ---- - -## Rule Types - -### `variable` - -Targets variable names — any assignment that introduces a name into a scope. - -**Sub-targets** (set via `filter.target`): - -| Value | What it covers | -|-------|---------------| -| `attribute` | Class-level attributes (`self.x`, `x: int = ...`) | -| `parameter` | Function/method parameters | -| `local_variable` | Variables declared inside a function body | -| `constant` | Module-level constants (typically `ALL_CAPS`) | - -**Supported filter fields:** `target` - -**Supported naming fields:** `prefix`, `suffix`, `regex`, `source` + `transform`, `case` - -**Example — enforce UPPER_CASE for module-level constants:** - -```yaml -rules: - - name: constant-upper-case - type: variable - filter: { target: constant } - naming: { case: UPPER_CASE } - -apply: - - name: all - rules: [constant-upper-case] - modules: "**" -``` - -**Example — enforce attribute names match their type annotation:** - -```yaml -rules: - - name: attribute-matches-type - type: variable - filter: { target: attribute } - naming: { source: type_annotation, transform: snake_case } - -apply: - - name: domain-layer - rules: [attribute-matches-type] - modules: contexts.*.domain -``` - ---- - -### `function` - -Targets function and method definitions — any `def` statement at any scope level. - -**Supported filter fields:** `target`, `return_type`, `decorator` - -**Supported naming fields:** `prefix`, `suffix`, `regex`, `case` - -**Example — require `is_` / `has_` / `should_` prefix on boolean-returning methods:** - -```yaml -rules: - - name: bool-method-prefix - type: function - filter: { return_type: bool } - naming: { prefix: [is_, has_, should_] } - -apply: - - name: all - rules: [bool-method-prefix] - modules: "**" -``` - -**Example — require `_impl` suffix on `@staticmethod` functions:** - -```yaml -rules: - - name: static-impl-suffix - type: function - filter: { decorator: staticmethod } - naming: { suffix: [_impl] } - -apply: - - name: all - rules: [static-impl-suffix] - modules: "**" -``` - ---- - -### `class` - -Targets class definitions — any `class` statement. - -**Supported filter fields:** `base_class`, `decorator` - -**Supported naming fields:** `prefix`, `suffix`, `regex`, `case` - -**Example — enforce a specific pattern for exception classes:** - -```yaml -rules: - - name: exception-naming - type: class - filter: { base_class: Exception } - naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" } - -apply: - - name: all - rules: [exception-naming] - modules: "**" -``` - -**Example — require `DTO` suffix on dataclasses:** - -```yaml -rules: - - name: dataclass-dto-suffix - type: class - filter: { decorator: dataclass } - naming: { suffix: [DTO] } - -apply: - - name: all - rules: [dataclass-dto-suffix] - modules: "**" -``` - ---- - -### `module` - -Targets the filename of each `.py` file (without the `.py` extension). Useful for enforcing that module names reflect their contents. - -**Supported filter fields:** none - -**Supported naming fields:** `prefix`, `suffix`, `regex`, `source` + `transform`, `case` - -**Example — enforce that a module's filename matches the primary class it contains:** - -```yaml -rules: - - name: domain-module-naming - type: module - naming: { source: class_name, transform: snake_case } - -apply: - - name: domain-layer - rules: [domain-module-naming] - modules: contexts.*.domain -``` - -A file `custom.py` that contains only `class CustomObject` is a violation — the file should be named `custom_object.py`. - ---- - -### `package` - -Targets the directory name of each Python package (a directory containing `__init__.py`). - -**Supported filter fields:** none - -**Supported naming fields:** `prefix`, `suffix`, `regex`, `case` - -**Example — require all package names to be lowercase:** - -```yaml -rules: - - name: package-snake-case - type: package - naming: { case: snake_case } - -apply: - - name: all - rules: [package-snake-case] - modules: "**" -``` - ---- - -## Summary Table - -| Type | What it targets | Supported filters | Notes | -|------|----------------|-------------------|-------| -| `variable` | Variables by scope/role | `target` | Use `target` to narrow to attributes, parameters, etc. | -| `function` | Function and method definitions | `target`, `return_type`, `decorator` | | -| `class` | Class definitions | `base_class`, `decorator` | | -| `module` | Module (file) names | none | Supports `source` + `transform` | -| `package` | Package (directory) names | none | | diff --git a/site/guide/rules/index.html b/site/guide/rules/index.html deleted file mode 100644 index 3e8afe3..0000000 --- a/site/guide/rules/index.html +++ /dev/null @@ -1,1357 +0,0 @@ - - - - - - - - - - - - - - -Rules - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
- - - -
- - - - - - - - - - - - - - - - -
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- - -
-
- -
-
-
-

Rules are the core building blocks of pnl. Each rule targets a specific kind of Python name, optionally narrows its scope with filters, and then enforces a naming constraint.

-

Rule Structure

-

Every rule has three required fields and two optional ones:

-
rules:
-  - name: my-rule          # Unique identifier for this rule
-    type: variable         # What kind of name to lint
-    filter: { ... }        # (optional) Narrow which names are checked
-    naming: { ... }        # How the name must be formed
-
- -

The name is used to reference the rule in apply blocks and in # pnl: ignore comments.

-
-

Rule Types

-

variable

-

Targets variable names — any assignment that introduces a name into a scope.

-

Sub-targets (set via filter.target):

-
- - - - - - - - - - - - - - - - - - - - - - - - -
ValueWhat it covers
attributeClass-level attributes (self.x, x: int = ...)
parameterFunction/method parameters
local_variableVariables declared inside a function body
constantModule-level constants (typically ALL_CAPS)
-

Supported filter fields: target

-

Supported naming fields: prefix, suffix, regex, source + transform, case

-

Example — enforce UPPER_CASE for module-level constants:

-
rules:
-  - name: constant-upper-case
-    type: variable
-    filter: { target: constant }
-    naming: { case: UPPER_CASE }
-
-apply:
-  - name: all
-    rules: [constant-upper-case]
-    modules: "**"
-
- -

Example — enforce attribute names match their type annotation:

-
rules:
-  - name: attribute-matches-type
-    type: variable
-    filter: { target: attribute }
-    naming: { source: type_annotation, transform: snake_case }
-
-apply:
-  - name: domain-layer
-    rules: [attribute-matches-type]
-    modules: contexts.*.domain
-
- -
-

function

-

Targets function and method definitions — any def statement at any scope level.

-

Supported filter fields: target, return_type, decorator

-

Supported naming fields: prefix, suffix, regex, case

-

Example — require is_ / has_ / should_ prefix on boolean-returning methods:

-
rules:
-  - name: bool-method-prefix
-    type: function
-    filter: { return_type: bool }
-    naming: { prefix: [is_, has_, should_] }
-
-apply:
-  - name: all
-    rules: [bool-method-prefix]
-    modules: "**"
-
- -

Example — require _impl suffix on @staticmethod functions:

-
rules:
-  - name: static-impl-suffix
-    type: function
-    filter: { decorator: staticmethod }
-    naming: { suffix: [_impl] }
-
-apply:
-  - name: all
-    rules: [static-impl-suffix]
-    modules: "**"
-
- -
-

class

-

Targets class definitions — any class statement.

-

Supported filter fields: base_class, decorator

-

Supported naming fields: prefix, suffix, regex, case

-

Example — enforce a specific pattern for exception classes:

-
rules:
-  - name: exception-naming
-    type: class
-    filter: { base_class: Exception }
-    naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" }
-
-apply:
-  - name: all
-    rules: [exception-naming]
-    modules: "**"
-
- -

Example — require DTO suffix on dataclasses:

-
rules:
-  - name: dataclass-dto-suffix
-    type: class
-    filter: { decorator: dataclass }
-    naming: { suffix: [DTO] }
-
-apply:
-  - name: all
-    rules: [dataclass-dto-suffix]
-    modules: "**"
-
- -
-

module

-

Targets the filename of each .py file (without the .py extension). Useful for enforcing that module names reflect their contents.

-

Supported filter fields: none

-

Supported naming fields: prefix, suffix, regex, source + transform, case

-

Example — enforce that a module's filename matches the primary class it contains:

-
rules:
-  - name: domain-module-naming
-    type: module
-    naming: { source: class_name, transform: snake_case }
-
-apply:
-  - name: domain-layer
-    rules: [domain-module-naming]
-    modules: contexts.*.domain
-
- -

A file custom.py that contains only class CustomObject is a violation — the file should be named custom_object.py.

-
-

package

-

Targets the directory name of each Python package (a directory containing __init__.py).

-

Supported filter fields: none

-

Supported naming fields: prefix, suffix, regex, case

-

Example — require all package names to be lowercase:

-
rules:
-  - name: package-snake-case
-    type: package
-    naming: { case: snake_case }
-
-apply:
-  - name: all
-    rules: [package-snake-case]
-    modules: "**"
-
- -
-

Summary Table

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TypeWhat it targetsSupported filtersNotes
variableVariables by scope/roletargetUse target to narrow to attributes, parameters, etc.
functionFunction and method definitionstarget, return_type, decorator
classClass definitionsbase_class, decorator
moduleModule (file) namesnoneSupports source + transform
packagePackage (directory) namesnone
-
- - -
- - - - -
- -
-
-
-
-
- -
- - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/icons/github.svg b/site/icons/github.svg deleted file mode 100644 index 905f426..0000000 --- a/site/icons/github.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - \ No newline at end of file diff --git a/site/icons/gitlab.svg b/site/icons/gitlab.svg deleted file mode 100644 index e919c7a..0000000 --- a/site/icons/gitlab.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - \ No newline at end of file diff --git a/site/icons/moon.svg b/site/icons/moon.svg deleted file mode 100644 index 93f683c..0000000 --- a/site/icons/moon.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - \ No newline at end of file diff --git a/site/icons/shadcn.svg b/site/icons/shadcn.svg deleted file mode 100644 index bc0d1c0..0000000 --- a/site/icons/shadcn.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - \ No newline at end of file diff --git a/site/icons/sun.svg b/site/icons/sun.svg deleted file mode 100644 index 7dab98b..0000000 --- a/site/icons/sun.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/site/img/favicon.ico b/site/img/favicon.ico deleted file mode 100644 index f4f7adbb9f079fd6c702ea15ac88232051167fd8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 379 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC&H|6fVg?3oVGw3ym^DWND9BhG zJq(Fes|9`UO^?8J-fj$2IBI5Oe?wK|8E-05C*eU1)6r@fnUm3e>4HS%q4tJ&}> z`=m5W!>1|BYaBm0Jp9DVHI04S>iJvuTu9#kht=!TA>Q9lwAY9$uG*t8i9daV*uU?E z^Iu7;ESSf(>Z3fH - - - - - - - - - - - - - -Home - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
- - - -
- - - - - - - - - - - - - - - - -
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- - -
-
- -
-
-
-

A naming convention linter for Python projects. Define custom naming rules and enforce them with a single CLI command.

-

What It Does

-
    -
  • Define naming rules for variables, functions, classes, modules, and packages
  • -
  • Apply rules to specific modules using pattern matching
  • -
  • Integrate into CI or pre-commit to keep your naming conventions consistent
  • -
-

For Python developers who want to enforce team-specific naming conventions beyond what PEP 8 and ruff cover.

-

Key Features

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FeatureDescription
Rule TypesVariable, function, class, module, and package naming rules
FiltersNarrow rules by return type, base class, decorator, and more
Naming ConstraintsPrefix, suffix, regex, case convention, or derived from another element
Module TargetingApply rules to specific parts of your codebase using glob-style patterns
Inline IgnoreSuppress violations on specific lines with # pnl: ignore
Pre-commitDrop-in integration with pre-commit hooks
-

Quick Start

-

Install:

-
pip install python-naming-linter
-
- -

Create .python-naming-linter.yaml in your project root:

-
rules:
-  - name: bool-method-prefix
-    type: function
-    filter: { return_type: bool }
-    naming: { prefix: [is_, has_, should_] }
-
-  - name: exception-naming
-    type: class
-    filter: { base_class: Exception }
-    naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" }
-
-apply:
-  - name: all
-    rules: [bool-method-prefix, exception-naming]
-    modules: "**"
-
- -

Run:

-
pnl check
-
- -

Output:

-
src/domain/service.py:12
-    [bool-method-prefix] validate (expected prefix: is_ | has_ | should_)
-
-src/domain/exceptions.py:8
-    [exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$)
-
-Found 2 violation(s).
-
- -

More Examples

-

Variable Naming — Match Type Annotation

-

Enforce that variable names match their type annotation in snake_case:

-
rules:
-  - name: attribute-matches-type
-    type: variable
-    filter: { target: attribute }
-    naming: { source: type_annotation, transform: snake_case }
-
-apply:
-  - name: domain-layer
-    rules: [attribute-matches-type]
-    modules: contexts.*.domain
-
- -

This catches repo: SubscriptionRepository — the name should be subscription_repository.

-

Combining Rules Per Layer

-

Apply different rules to different parts of your codebase:

-
apply:
-  - name: domain-layer
-    rules:
-      - attribute-matches-type
-      - bool-method-prefix
-      - domain-module-naming
-    modules: contexts.*.domain
-
-  - name: global-exceptions
-    rules: [exception-naming]
-    modules: "**"
-
- -

Next Steps

- -
- - -
- - - - -
- -
-
-
-
-
- -
- - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/index.md b/site/index.md deleted file mode 100644 index ca3fe50..0000000 --- a/site/index.md +++ /dev/null @@ -1,114 +0,0 @@ -# python-naming-linter - -A naming convention linter for Python projects. Define custom naming rules and enforce them with a single CLI command. - -## What It Does - -- Define naming rules for variables, functions, classes, modules, and packages -- Apply rules to specific modules using pattern matching -- Integrate into CI or pre-commit to keep your naming conventions consistent - -For Python developers who want to enforce team-specific naming conventions beyond what PEP 8 and ruff cover. - -## Key Features - -| Feature | Description | -|---------|-------------| -| **Rule Types** | Variable, function, class, module, and package naming rules | -| **Filters** | Narrow rules by return type, base class, decorator, and more | -| **Naming Constraints** | Prefix, suffix, regex, case convention, or derived from another element | -| **Module Targeting** | Apply rules to specific parts of your codebase using glob-style patterns | -| **Inline Ignore** | Suppress violations on specific lines with `# pnl: ignore` | -| **Pre-commit** | Drop-in integration with pre-commit hooks | - -## Quick Start - -**Install:** - -```bash -pip install python-naming-linter -``` - -**Create `.python-naming-linter.yaml` in your project root:** - -```yaml -rules: - - name: bool-method-prefix - type: function - filter: { return_type: bool } - naming: { prefix: [is_, has_, should_] } - - - name: exception-naming - type: class - filter: { base_class: Exception } - naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" } - -apply: - - name: all - rules: [bool-method-prefix, exception-naming] - modules: "**" -``` - -**Run:** - -```bash -pnl check -``` - -**Output:** - -``` -src/domain/service.py:12 - [bool-method-prefix] validate (expected prefix: is_ | has_ | should_) - -src/domain/exceptions.py:8 - [exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$) - -Found 2 violation(s). -``` - -## More Examples - -### Variable Naming — Match Type Annotation - -Enforce that variable names match their type annotation in snake_case: - -```yaml -rules: - - name: attribute-matches-type - type: variable - filter: { target: attribute } - naming: { source: type_annotation, transform: snake_case } - -apply: - - name: domain-layer - rules: [attribute-matches-type] - modules: contexts.*.domain -``` - -This catches `repo: SubscriptionRepository` — the name should be `subscription_repository`. - -### Combining Rules Per Layer - -Apply different rules to different parts of your codebase: - -```yaml -apply: - - name: domain-layer - rules: - - attribute-matches-type - - bool-method-prefix - - domain-module-naming - modules: contexts.*.domain - - - name: global-exceptions - rules: [exception-naming] - modules: "**" -``` - -## Next Steps - -- [Installation](getting-started/installation.md) — detailed install instructions -- [Quick Start](getting-started/quick-start.md) — step-by-step setup guide -- [Configuration](getting-started/configuration.md) — full configuration reference -- [Cookbook](cookbook/index.md) — real-world usage patterns diff --git a/site/js/auto-render.min.js b/site/js/auto-render.min.js deleted file mode 100644 index 7504ac1..0000000 --- a/site/js/auto-render.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("katex")):"function"==typeof define&&define.amd?define(["katex"],t):"object"==typeof exports?exports.renderMathInElement=t(require("katex")):e.renderMathInElement=t(e.katex)}("undefined"!=typeof self?self:this,function(e){return function(){"use strict";var t={757:function(t){t.exports=e}},n={};function r(e){var o=n[e];if(void 0!==o)return o.exports;var i=n[e]={exports:{}};return t[e](i,i.exports,r),i.exports}r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};var o={};r.d(o,{default:function(){return p}});var i=r(757),a=r.n(i);const l=function(e,t,n){let r=n,o=0;const i=e.length;for(;re.left.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")).join("|")+")");for(;n=e.search(o),-1!==n;){n>0&&(r.push({type:"text",data:e.slice(0,n)}),e=e.slice(n));const o=t.findIndex(t=>e.startsWith(t.left));if(n=l(t[o].right,e,t[o].left.length),-1===n)break;const i=e.slice(0,n+t[o].right.length),a=s.test(i)?i:e.slice(t[o].left.length,n);r.push({type:"math",data:a,rawData:i,display:t[o].display}),e=e.slice(n+t[o].right.length)}return""!==e&&r.push({type:"text",data:e}),r};const c=function(e,t){const n=d(e,t.delimiters);if(1===n.length&&"text"===n[0].type)return null;const r=document.createDocumentFragment();for(let e=0;e!e.includes(" "+t+" "))&&f(r,t)}}};var p=function(e,t){if(!e)throw new Error("No element provided to render");const n={};for(const e in t)t.hasOwnProperty(e)&&(n[e]=t[e]);n.delimiters=n.delimiters||[{left:"$$",right:"$$",display:!0},{left:"\\(",right:"\\)",display:!1},{left:"\\begin{equation}",right:"\\end{equation}",display:!0},{left:"\\begin{align}",right:"\\end{align}",display:!0},{left:"\\begin{alignat}",right:"\\end{alignat}",display:!0},{left:"\\begin{gather}",right:"\\end{gather}",display:!0},{left:"\\begin{CD}",right:"\\end{CD}",display:!0},{left:"\\[",right:"\\]",display:!0}],n.ignoredTags=new Set(n.ignoredTags||["script","noscript","style","textarea","pre","code","option"]),n.ignoredClasses=n.ignoredClasses||[],n.errorCallback=n.errorCallback||console.error,n.macros=n.macros||{},f(e,n)};return o=o.default}()}); \ No newline at end of file diff --git a/site/js/callbacks.js b/site/js/callbacks.js deleted file mode 100644 index 2696e7b..0000000 --- a/site/js/callbacks.js +++ /dev/null @@ -1,266 +0,0 @@ -const onSearchBarClick = (event) => { - const dialog = document.getElementById("search-dialog"); - if (dialog) { - dialog.showModal(); - } -}; - -const closeDialogFactory = (targetID, event) => { - const dialog = document.getElementById(targetID); - if (dialog && event.target === dialog) { - dialog.close(); - } -}; - -const onSearchDialogClick = (event) => { - return closeDialogFactory("search-dialog", event); -}; - -const onInputHandler = (event) => { - const query = event.target.value; - if (window.debounceTimer) { - clearTimeout(debounceTimer); - } - window.debounceTimer = setTimeout(() => { - if (searchWorker && query.length > 2) { - console.log(`Posting message { "query": "${query}" }`); - // https://lunrjs.com/guides/searching.html - // we should append a wilcard and also a boost on exact term - const lunrQuery = `${query}^10 ${query}* ${query}~1`; - searchWorker.postMessage({ query: lunrQuery }); - } else if (query.length > 2) { - console.warn("searchWorker is not defined"); - } else { - const results = document.getElementById("mkdocs-search-results"); - if (results) { - while (results.firstChild) { - results.removeChild(results.firstChild); - } - } - } - }, 300); -}; - -const searchShortcutHandler = (event) => { - if ((event.metaKey || event.ctrlKey) && event.key.toLowerCase() === "k") { - event.preventDefault(); // Prevents default browser behavior (e.g., search bar in some apps) - const dialog = document.getElementById("search-dialog"); - if (dialog) { - dialog.showModal(); - } - } -}; - -const updatePygmentsStylesheet = () => { - const root = document.documentElement; - const lightLink = document.getElementById("pygments-light"); - const darkLink = document.getElementById("pygments-dark"); - if (root.classList.contains("dark")) { - if (darkLink && lightLink) { - darkLink.media = "all"; - lightLink.media = "none"; - } - } else { - if (darkLink && lightLink) { - darkLink.media = "none"; - lightLink.media = "all"; - } - } -}; - -const onThemeSwitch = (event) => { - const root = document.documentElement; - root.classList.toggle("dark"); - if (root.classList.contains("dark")) { - localStorage.setItem("theme", "dark"); - } else { - localStorage.setItem("theme", "light"); - } - - updatePygmentsStylesheet(); -}; - -const onBottomSidebarDialogClick = (event) => { - const dialog = document.getElementById("bottom-sidebar"); - if (dialog && event.target === dialog) { - dialog.close(); - const button = document.getElementById("menu-button"); - if (button) { - button.dataset.state = "closed"; - } - } -}; - -const onMobileMenuButtonClick = (event) => { - event.currentTarget.dataset.state = - event.target.dataset.state === "open" ? "closed" : "open"; - const dialog = document.getElementById("bottom-sidebar"); - if (dialog) { - dialog.showModal(); - } -}; - -const clipboardIcon = () => { - const svgElement = document.createElementNS( - "http://www.w3.org/2000/svg", - "svg", - ); - svgElement.setAttribute("xmlns", "http://www.w3.org/2000/svg"); - svgElement.setAttribute("width", "24"); - svgElement.setAttribute("height", "24"); - svgElement.setAttribute("viewBox", "0 0 24 24"); - svgElement.setAttribute("fill", "none"); - svgElement.setAttribute("stroke", "currentColor"); - svgElement.setAttribute("stroke-width", "2"); - svgElement.setAttribute("stroke-linecap", "round"); - svgElement.setAttribute("stroke-linejoin", "round"); - svgElement.setAttribute( - "class", - "lucide lucide-clipboard-icon lucide-clipboard", - ); - - const rect = document.createElementNS("http://www.w3.org/2000/svg", "rect"); - rect.setAttribute("width", "8"); - rect.setAttribute("height", "4"); - rect.setAttribute("x", "8"); - rect.setAttribute("y", "2"); - rect.setAttribute("rx", "1"); - rect.setAttribute("ry", "1"); - svgElement.appendChild(rect); - - const path = document.createElementNS("http://www.w3.org/2000/svg", "path"); - path.setAttribute( - "d", - "M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2", - ); - svgElement.appendChild(path); - - return svgElement; -}; - -const checkIcon = () => { - const svgElement = document.createElementNS( - "http://www.w3.org/2000/svg", - "svg", - ); - svgElement.setAttribute("xmlns", "http://www.w3.org/2000/svg"); - svgElement.setAttribute("width", "24"); - svgElement.setAttribute("height", "24"); - svgElement.setAttribute("viewBox", "0 0 24 24"); - svgElement.setAttribute("fill", "none"); - svgElement.setAttribute("stroke", "currentColor"); - svgElement.setAttribute("stroke-width", "2"); - svgElement.setAttribute("stroke-linecap", "round"); - svgElement.setAttribute("stroke-linejoin", "round"); - svgElement.setAttribute("class", "lucide lucide-check-icon lucide-check"); - - const path = document.createElementNS("http://www.w3.org/2000/svg", "path"); - path.setAttribute("d", "M20 6 9 17l-5-5"); - svgElement.appendChild(path); - - return svgElement; -}; - -const onCodeCopy = (event) => { - const button = event.target; - const code = button.parentElement.querySelector("code"); - if (code) { - const text = code.innerText; - navigator.clipboard.writeText(text).then( - // change the inner icon of the button (inline svg) - () => { - const svg = button.querySelector("svg"); - if (svg) { - button.removeChild(svg); - const check = checkIcon(); - button.appendChild(check); - // reset the icon after few seconds - setTimeout(() => { - button.removeChild(check); - const resetSvg = clipboardIcon(); - button.appendChild(resetSvg); - }, 2000); - } - }, - ); - } -}; - -const toggleLayout = (event) => { - if (document.documentElement.classList.contains("layout-fixed")) { - document.documentElement.classList.remove("layout-fixed"); - document.documentElement.classList.add("layout-full"); - localStorage.setItem("html-layout", "layout-full"); - } else { - document.documentElement.classList.remove("layout-full"); - document.documentElement.classList.add("layout-fixed"); - localStorage.setItem("html-layout", "layout-fixed"); - } -}; - -const fetchStargazers = (repoUrl) => { - const span = document.getElementById("stargazers"); - if (span) { - const chunks = repoUrl.split("/"); - if (chunks.length > 2) { - const repo = chunks[chunks.length - 1]; - const owner = chunks[chunks.length - 2]; - const url = `https://api.github.com/repos/${owner}/${repo}`; - fetch(url) - .catch((error) => { - console.error(`Error fetching stargazers at ${owner}:`, error); - }) - .then((response) => response.json()) - .then((data) => { - span.textContent = data.stargazers_count; - console.log("Stargazers updated"); - }); - } - } -}; - -const setActiveTocLink = (id) => { - id = id.replace("#", ""); - const tocLinks = document.querySelectorAll("#toc a"); - tocLinks.forEach((link) => { - if (link.getAttribute("href") === `#${id}`) { - link.dataset.active = "true"; - } else { - link.dataset.active = "false"; - } - }); -}; - -const deferSetActiveTocLink = (id) => { - console.log(`Deferring setActiveTocLink for id: ${id}`); - setTimeout(() => { - setActiveTocLink(id); - }, 500); -}; - -const toc = { - forceActiveId: "", - currentActiveId: "", - observer: new IntersectionObserver( - (entries) => { - // track the "topmost visible heading" - entries.forEach((entry) => { - if (entry.isIntersecting) { - toc.currentActiveId = entry.target.id - ? entry.target.id - : toc.currentActiveId; - } - }); - - if (toc.forceActiveId) { - toc.currentActiveId = toc.forceActiveId; - toc.forceActiveId = ""; - } - setActiveTocLink(toc.currentActiveId); - }, - { - // rootMargin: top offset to trigger "early" - rootMargin: "0px 0px -60% 0px", - }, - ), -}; diff --git a/site/js/copy-button.js b/site/js/copy-button.js deleted file mode 100644 index 283c8ed..0000000 --- a/site/js/copy-button.js +++ /dev/null @@ -1,21 +0,0 @@ -// walk through all div.codehilite -// and add a copy button to each of them -for (const ch of document.querySelectorAll("div.codehilite")) { - // the copy button can be found anywhere in the ui.shadcn website - // ex: https://ui.shadcn.com/docs/theming - const button = document.createElement("button"); - button.setAttribute( - "class", - "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 bg-transparent absolute top-3 right-2 z-10 size-7 hover:opacity-100 focus-visible:opacity-100", - ); - - const span = document.createElement("span"); - span.setAttribute("class", "sr-only"); - span.innerText = "Copy"; - button.appendChild(span); - - const icon = clipboardIcon(); - button.appendChild(icon); - button.onclick = onCodeCopy; - ch.appendChild(button); -} diff --git a/site/js/katex.min.js b/site/js/katex.min.js deleted file mode 100644 index 2270ffb..0000000 --- a/site/js/katex.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.katex=t():e.katex=t()}("undefined"!=typeof self?self:this,function(){return function(){"use strict";var e={d:function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{default:function(){return so}});class r{constructor(e,t){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;let n,o,s="KaTeX parse error: "+e;const i=t&&t.loc;if(i&&i.start<=i.end){const e=i.lexer.input;n=i.start,o=i.end,n===e.length?s+=" at end of input: ":s+=" at position "+(n+1)+": ";const t=e.slice(n,o).replace(/[^]/g,"$&\u0332");let r,l;r=n>15?"\u2026"+e.slice(n-15,n):e.slice(0,n),l=o+15e.replace(o,"-$1").toLowerCase(),i={"&":"&",">":">","<":"<",'"':""","'":"'"},l=/[&><"']/g,a=e=>String(e).replace(l,e=>i[e]),h=e=>"ordgroup"===e.type||"color"===e.type?1===e.body.length?h(e.body[0]):e:"font"===e.type?h(e.body):e,c=new Set(["mathord","textord","atom"]),m=e=>c.has(h(e).type),u={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:e=>"#"+e},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:e=>Math.max(0,e),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:e=>Math.max(0,e),cli:"-e, --max-expand ",cliProcessor:e=>"Infinity"===e?1/0:parseInt(e)},globalGroup:{type:"boolean",cli:!1}};function p(e){if(e.default)return e.default;const t=e.type,r=Array.isArray(t)?t[0]:t;if("string"!=typeof r)return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class d{constructor(e){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{};for(const t in u)if(u.hasOwnProperty(t)){const r=u[t];this[t]=void 0!==e[t]?r.processor?r.processor(e[t]):e[t]:p(r)}}reportNonstrict(e,t,r){let o=this.strict;if("function"==typeof o&&(o=o(e,t,r)),o&&"ignore"!==o){if(!0===o||"error"===o)throw new n("LaTeX-incompatible input and strict mode is set to 'error': "+t+" ["+e+"]",r);"warn"===o?"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+t+" ["+e+"]"):"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+o+"': "+t+" ["+e+"]")}}useStrictBehavior(e,t,r){let n=this.strict;if("function"==typeof n)try{n=n(e,t,r)}catch(e){n="error"}return!(!n||"ignore"===n)&&(!0===n||"error"===n||("warn"===n?("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+t+" ["+e+"]"),!1):("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+n+"': "+t+" ["+e+"]"),!1)))}isTrusted(e){if(e.url&&!e.protocol){const t=(e=>{const t=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return t?":"!==t[2]?null:/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?t[1].toLowerCase():null:"_relative"})(e.url);if(null==t)return!1;e.protocol=t}const t="function"==typeof this.trust?this.trust(e):this.trust;return Boolean(t)}}class g{constructor(e,t,r){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=r}sup(){return f[b[this.id]]}sub(){return f[y[this.id]]}fracNum(){return f[x[this.id]]}fracDen(){return f[w[this.id]]}cramp(){return f[v[this.id]]}text(){return f[k[this.id]]}isTight(){return this.size>=2}}const f=[new g(0,0,!1),new g(1,0,!0),new g(2,1,!1),new g(3,1,!0),new g(4,2,!1),new g(5,2,!0),new g(6,3,!1),new g(7,3,!0)],b=[4,5,4,5,6,7,6,7],y=[5,5,5,5,7,7,7,7],x=[2,3,4,5,6,7,6,7],w=[3,3,5,5,7,7,7,7],v=[1,1,3,3,5,5,7,7],k=[0,1,2,3,2,3,2,3];var z={DISPLAY:f[0],TEXT:f[2],SCRIPT:f[4],SCRIPTSCRIPT:f[6]};const S=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];const M=[];function A(e){for(let t=0;t=M[t]&&e<=M[t+1])return!0;return!1}S.forEach(e=>e.blocks.forEach(e=>M.push(...e)));const T=80,B={doubleleftarrow:"M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z",doublerightarrow:"M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z",leftarrow:"M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z",leftbrace:"M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z",leftbraceunder:"M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z",leftgroup:"M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z",leftgroupunder:"M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z",leftharpoon:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z",leftharpoonplus:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z",leftharpoondown:"M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z",leftharpoondownplus:"M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z",lefthook:"M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z",leftlinesegment:"M40 281 V428 H0 V94 H40 V241 H400000 v40z\nM40 281 V428 H0 V94 H40 V241 H400000 v40z",leftmapsto:"M40 281 V448H0V74H40V241H400000v40z\nM40 281 V448H0V74H40V241H400000v40z",leftToFrom:"M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z",longequal:"M0 50 h400000 v40H0z m0 194h40000v40H0z\nM0 50 h400000 v40H0z m0 194h40000v40H0z",midbrace:"M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z",midbraceunder:"M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z",oiintSize1:"M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z",oiintSize2:"M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z",oiiintSize1:"M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z",oiiintSize2:"M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z",rightarrow:"M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z",rightbrace:"M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z",rightbraceunder:"M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z",rightgroup:"M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z",rightgroupunder:"M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z",rightharpoon:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z",rightharpoonplus:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z",rightharpoondown:"M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z",rightharpoondownplus:"M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z",righthook:"M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z",rightlinesegment:"M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z",rightToFrom:"M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z",twoheadleftarrow:"M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z",twoheadrightarrow:"M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z",tilde1:"M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z",tilde2:"M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z",tilde3:"M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z",tilde4:"M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z",vec:"M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z",widehat1:"M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z",widehat2:"M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat3:"M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat4:"M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widecheck1:"M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z",widecheck2:"M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck3:"M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck4:"M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",baraboveleftarrow:"M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z",rightarrowabovebar:"M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z",baraboveshortleftharpoon:"M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z",rightharpoonaboveshortbar:"M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z",shortbaraboveleftharpoon:"M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z",shortrightharpoonabovebar:"M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z"};var q={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}};const C={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},I={"\xc5":"A","\xd0":"D","\xde":"o","\xe5":"a","\xf0":"d","\xfe":"o","\u0410":"A","\u0411":"B","\u0412":"B","\u0413":"F","\u0414":"A","\u0415":"E","\u0416":"K","\u0417":"3","\u0418":"N","\u0419":"N","\u041a":"K","\u041b":"N","\u041c":"M","\u041d":"H","\u041e":"O","\u041f":"N","\u0420":"P","\u0421":"C","\u0422":"T","\u0423":"y","\u0424":"O","\u0425":"X","\u0426":"U","\u0427":"h","\u0428":"W","\u0429":"W","\u042a":"B","\u042b":"X","\u042c":"B","\u042d":"3","\u042e":"X","\u042f":"R","\u0430":"a","\u0431":"b","\u0432":"a","\u0433":"r","\u0434":"y","\u0435":"e","\u0436":"m","\u0437":"e","\u0438":"n","\u0439":"n","\u043a":"n","\u043b":"n","\u043c":"m","\u043d":"n","\u043e":"o","\u043f":"n","\u0440":"p","\u0441":"c","\u0442":"o","\u0443":"y","\u0444":"b","\u0445":"x","\u0446":"n","\u0447":"n","\u0448":"w","\u0449":"w","\u044a":"a","\u044b":"m","\u044c":"a","\u044d":"e","\u044e":"m","\u044f":"r"};function H(e,t,r){if(!q[t])throw new Error("Font metrics not found for font: "+t+".");let n=e.charCodeAt(0),o=q[t][n];if(!o&&e[0]in I&&(n=I[e[0]].charCodeAt(0),o=q[t][n]),o||"text"!==r||A(n)&&(o=q[t][77]),o)return{depth:o[0],height:o[1],italic:o[2],skew:o[3],width:o[4]}}const R={};const E=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],O=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],N=function(e,t){return t.size<2?e:E[e-1][t.size-1]};class D{constructor(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||D.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=O[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){const t={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(const r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);return new D(t)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:N(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:O[e-1]})}havingBaseStyle(e){e=e||this.style.text();const t=N(D.BASESIZE,e);return this.size===t&&this.textSize===D.BASESIZE&&this.style===e?this:this.extend({style:e,size:t})}havingBaseSizing(){let e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==D.BASESIZE?["sizing","reset-size"+this.size,"size"+D.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=function(e){let t;if(t=e>=5?0:e>=3?1:2,!R[t]){const e=R[t]={cssEmPerMu:C.quad[t]/18};for(const r in C)C.hasOwnProperty(r)&&(e[r]=C[r][t])}return R[t]}(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}D.BASESIZE=6;var P=D;const L={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:1.00375,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:1.00375},V={ex:!0,em:!0,mu:!0},F=function(e){return"string"!=typeof e&&(e=e.unit),e in L||e in V||"ex"===e},G=function(e,t){let r;if(e.unit in L)r=L[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if("mu"===e.unit)r=t.fontMetrics().cssEmPerMu;else{let o;if(o=t.style.isTight()?t.havingStyle(t.style.text()):t,"ex"===e.unit)r=o.fontMetrics().xHeight;else{if("em"!==e.unit)throw new n("Invalid unit: '"+e.unit+"'");r=o.fontMetrics().quad}o!==t&&(r*=o.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*r,t.maxSize)},U=function(e){return+e.toFixed(4)+"em"},W=function(e){return e.filter(e=>e).join(" ")},Y=function(e,t,r){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=r||{},t){t.style.isTight()&&this.classes.push("mtight");const e=t.getColor();e&&(this.style.color=e)}},X=function(e){const t=document.createElement(e);t.className=W(this.classes);for(const e in this.style)this.style.hasOwnProperty(e)&&(t.style[e]=this.style[e]);for(const e in this.attributes)this.attributes.hasOwnProperty(e)&&t.setAttribute(e,this.attributes[e]);for(let e=0;e/=\x00-\x1f]/,j=function(e){let t="<"+e;this.classes.length&&(t+=' class="'+a(W(this.classes))+'"');let r="";for(const e in this.style)this.style.hasOwnProperty(e)&&(r+=s(e)+":"+this.style[e]+";");r&&(t+=' style="'+a(r)+'"');for(const e in this.attributes)if(this.attributes.hasOwnProperty(e)){if(_.test(e))throw new n("Invalid attribute name '"+e+"'");t+=" "+e+'="'+a(this.attributes[e])+'"'}t+=">";for(let e=0;e",t};class ${constructor(e,t,r,n){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,Y.call(this,e,r,n),this.children=t||[]}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return X.call(this,"span")}toMarkup(){return j.call(this,"span")}}class Z{constructor(e,t,r,n){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,Y.call(this,t,n),this.children=r||[],this.setAttribute("href",e)}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return X.call(this,"a")}toMarkup(){return j.call(this,"a")}}class K{constructor(e,t,r){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=t,this.src=e,this.classes=["mord"],this.style=r}hasClass(e){return this.classes.includes(e)}toNode(){const e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(const t in this.style)this.style.hasOwnProperty(t)&&(e.style[t]=this.style[t]);return e}toMarkup(){let e=''+a(this.alt)+'=n[0]&&e<=n[1])return r.name}}return null}(this.text.charCodeAt(0));a&&this.classes.push(a+"_fallback"),/[\xee\xef\xed\xec]/.test(this.text)&&(this.text=J[this.text])}hasClass(e){return this.classes.includes(e)}toNode(){const e=document.createTextNode(this.text);let t=null;this.italic>0&&(t=document.createElement("span"),t.style.marginRight=U(this.italic)),this.classes.length>0&&(t=t||document.createElement("span"),t.className=W(this.classes));for(const e in this.style)this.style.hasOwnProperty(e)&&(t=t||document.createElement("span"),t.style[e]=this.style[e]);return t?(t.appendChild(e),t):e}toMarkup(){let e=!1,t="0&&(r+="margin-right:"+this.italic+"em;");for(const e in this.style)this.style.hasOwnProperty(e)&&(r+=s(e)+":"+this.style[e]+";");r&&(e=!0,t+=' style="'+a(r)+'"');const n=a(this.text);return e?(t+=">",t+=n,t+="",t):n}}class ee{constructor(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}toNode(){const e=document.createElementNS("http://www.w3.org/2000/svg","svg");for(const t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);for(let t=0;t':''}}class re{constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){const e=document.createElementNS("http://www.w3.org/2000/svg","line");for(const t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);return e}toMarkup(){let e="","\\gt",!0),ae(he,me,ve,"\u2208","\\in",!0),ae(he,me,ve,"\ue020","\\@not"),ae(he,me,ve,"\u2282","\\subset",!0),ae(he,me,ve,"\u2283","\\supset",!0),ae(he,me,ve,"\u2286","\\subseteq",!0),ae(he,me,ve,"\u2287","\\supseteq",!0),ae(he,ue,ve,"\u2288","\\nsubseteq",!0),ae(he,ue,ve,"\u2289","\\nsupseteq",!0),ae(he,me,ve,"\u22a8","\\models"),ae(he,me,ve,"\u2190","\\leftarrow",!0),ae(he,me,ve,"\u2264","\\le"),ae(he,me,ve,"\u2264","\\leq",!0),ae(he,me,ve,"<","\\lt",!0),ae(he,me,ve,"\u2192","\\rightarrow",!0),ae(he,me,ve,"\u2192","\\to"),ae(he,ue,ve,"\u2271","\\ngeq",!0),ae(he,ue,ve,"\u2270","\\nleq",!0),ae(he,me,ke,"\xa0","\\ "),ae(he,me,ke,"\xa0","\\space"),ae(he,me,ke,"\xa0","\\nobreakspace"),ae(ce,me,ke,"\xa0","\\ "),ae(ce,me,ke,"\xa0"," "),ae(ce,me,ke,"\xa0","\\space"),ae(ce,me,ke,"\xa0","\\nobreakspace"),ae(he,me,ke,null,"\\nobreak"),ae(he,me,ke,null,"\\allowbreak"),ae(he,me,we,",",","),ae(he,me,we,";",";"),ae(he,ue,de,"\u22bc","\\barwedge",!0),ae(he,ue,de,"\u22bb","\\veebar",!0),ae(he,me,de,"\u2299","\\odot",!0),ae(he,me,de,"\u2295","\\oplus",!0),ae(he,me,de,"\u2297","\\otimes",!0),ae(he,me,ze,"\u2202","\\partial",!0),ae(he,me,de,"\u2298","\\oslash",!0),ae(he,ue,de,"\u229a","\\circledcirc",!0),ae(he,ue,de,"\u22a1","\\boxdot",!0),ae(he,me,de,"\u25b3","\\bigtriangleup"),ae(he,me,de,"\u25bd","\\bigtriangledown"),ae(he,me,de,"\u2020","\\dagger"),ae(he,me,de,"\u22c4","\\diamond"),ae(he,me,de,"\u22c6","\\star"),ae(he,me,de,"\u25c3","\\triangleleft"),ae(he,me,de,"\u25b9","\\triangleright"),ae(he,me,xe,"{","\\{"),ae(ce,me,ze,"{","\\{"),ae(ce,me,ze,"{","\\textbraceleft"),ae(he,me,ge,"}","\\}"),ae(ce,me,ze,"}","\\}"),ae(ce,me,ze,"}","\\textbraceright"),ae(he,me,xe,"{","\\lbrace"),ae(he,me,ge,"}","\\rbrace"),ae(he,me,xe,"[","\\lbrack",!0),ae(ce,me,ze,"[","\\lbrack",!0),ae(he,me,ge,"]","\\rbrack",!0),ae(ce,me,ze,"]","\\rbrack",!0),ae(he,me,xe,"(","\\lparen",!0),ae(he,me,ge,")","\\rparen",!0),ae(ce,me,ze,"<","\\textless",!0),ae(ce,me,ze,">","\\textgreater",!0),ae(he,me,xe,"\u230a","\\lfloor",!0),ae(he,me,ge,"\u230b","\\rfloor",!0),ae(he,me,xe,"\u2308","\\lceil",!0),ae(he,me,ge,"\u2309","\\rceil",!0),ae(he,me,ze,"\\","\\backslash"),ae(he,me,ze,"\u2223","|"),ae(he,me,ze,"\u2223","\\vert"),ae(ce,me,ze,"|","\\textbar",!0),ae(he,me,ze,"\u2225","\\|"),ae(he,me,ze,"\u2225","\\Vert"),ae(ce,me,ze,"\u2225","\\textbardbl"),ae(ce,me,ze,"~","\\textasciitilde"),ae(ce,me,ze,"\\","\\textbackslash"),ae(ce,me,ze,"^","\\textasciicircum"),ae(he,me,ve,"\u2191","\\uparrow",!0),ae(he,me,ve,"\u21d1","\\Uparrow",!0),ae(he,me,ve,"\u2193","\\downarrow",!0),ae(he,me,ve,"\u21d3","\\Downarrow",!0),ae(he,me,ve,"\u2195","\\updownarrow",!0),ae(he,me,ve,"\u21d5","\\Updownarrow",!0),ae(he,me,ye,"\u2210","\\coprod"),ae(he,me,ye,"\u22c1","\\bigvee"),ae(he,me,ye,"\u22c0","\\bigwedge"),ae(he,me,ye,"\u2a04","\\biguplus"),ae(he,me,ye,"\u22c2","\\bigcap"),ae(he,me,ye,"\u22c3","\\bigcup"),ae(he,me,ye,"\u222b","\\int"),ae(he,me,ye,"\u222b","\\intop"),ae(he,me,ye,"\u222c","\\iint"),ae(he,me,ye,"\u222d","\\iiint"),ae(he,me,ye,"\u220f","\\prod"),ae(he,me,ye,"\u2211","\\sum"),ae(he,me,ye,"\u2a02","\\bigotimes"),ae(he,me,ye,"\u2a01","\\bigoplus"),ae(he,me,ye,"\u2a00","\\bigodot"),ae(he,me,ye,"\u222e","\\oint"),ae(he,me,ye,"\u222f","\\oiint"),ae(he,me,ye,"\u2230","\\oiiint"),ae(he,me,ye,"\u2a06","\\bigsqcup"),ae(he,me,ye,"\u222b","\\smallint"),ae(ce,me,fe,"\u2026","\\textellipsis"),ae(he,me,fe,"\u2026","\\mathellipsis"),ae(ce,me,fe,"\u2026","\\ldots",!0),ae(he,me,fe,"\u2026","\\ldots",!0),ae(he,me,fe,"\u22ef","\\@cdots",!0),ae(he,me,fe,"\u22f1","\\ddots",!0),ae(he,me,ze,"\u22ee","\\varvdots"),ae(ce,me,ze,"\u22ee","\\varvdots"),ae(he,me,pe,"\u02ca","\\acute"),ae(he,me,pe,"\u02cb","\\grave"),ae(he,me,pe,"\xa8","\\ddot"),ae(he,me,pe,"~","\\tilde"),ae(he,me,pe,"\u02c9","\\bar"),ae(he,me,pe,"\u02d8","\\breve"),ae(he,me,pe,"\u02c7","\\check"),ae(he,me,pe,"^","\\hat"),ae(he,me,pe,"\u20d7","\\vec"),ae(he,me,pe,"\u02d9","\\dot"),ae(he,me,pe,"\u02da","\\mathring"),ae(he,me,be,"\ue131","\\@imath"),ae(he,me,be,"\ue237","\\@jmath"),ae(he,me,ze,"\u0131","\u0131"),ae(he,me,ze,"\u0237","\u0237"),ae(ce,me,ze,"\u0131","\\i",!0),ae(ce,me,ze,"\u0237","\\j",!0),ae(ce,me,ze,"\xdf","\\ss",!0),ae(ce,me,ze,"\xe6","\\ae",!0),ae(ce,me,ze,"\u0153","\\oe",!0),ae(ce,me,ze,"\xf8","\\o",!0),ae(ce,me,ze,"\xc6","\\AE",!0),ae(ce,me,ze,"\u0152","\\OE",!0),ae(ce,me,ze,"\xd8","\\O",!0),ae(ce,me,pe,"\u02ca","\\'"),ae(ce,me,pe,"\u02cb","\\`"),ae(ce,me,pe,"\u02c6","\\^"),ae(ce,me,pe,"\u02dc","\\~"),ae(ce,me,pe,"\u02c9","\\="),ae(ce,me,pe,"\u02d8","\\u"),ae(ce,me,pe,"\u02d9","\\."),ae(ce,me,pe,"\xb8","\\c"),ae(ce,me,pe,"\u02da","\\r"),ae(ce,me,pe,"\u02c7","\\v"),ae(ce,me,pe,"\xa8",'\\"'),ae(ce,me,pe,"\u02dd","\\H"),ae(ce,me,pe,"\u25ef","\\textcircled");const Se={"--":!0,"---":!0,"``":!0,"''":!0};ae(ce,me,ze,"\u2013","--",!0),ae(ce,me,ze,"\u2013","\\textendash"),ae(ce,me,ze,"\u2014","---",!0),ae(ce,me,ze,"\u2014","\\textemdash"),ae(ce,me,ze,"\u2018","`",!0),ae(ce,me,ze,"\u2018","\\textquoteleft"),ae(ce,me,ze,"\u2019","'",!0),ae(ce,me,ze,"\u2019","\\textquoteright"),ae(ce,me,ze,"\u201c","``",!0),ae(ce,me,ze,"\u201c","\\textquotedblleft"),ae(ce,me,ze,"\u201d","''",!0),ae(ce,me,ze,"\u201d","\\textquotedblright"),ae(he,me,ze,"\xb0","\\degree",!0),ae(ce,me,ze,"\xb0","\\degree"),ae(ce,me,ze,"\xb0","\\textdegree",!0),ae(he,me,ze,"\xa3","\\pounds"),ae(he,me,ze,"\xa3","\\mathsterling",!0),ae(ce,me,ze,"\xa3","\\pounds"),ae(ce,me,ze,"\xa3","\\textsterling",!0),ae(he,ue,ze,"\u2720","\\maltese"),ae(ce,ue,ze,"\u2720","\\maltese");const Me='0123456789/@."';for(let e=0;e<14;e++){const t=Me.charAt(e);ae(he,me,ze,t,t)}const Ae='0123456789!@*()-=+";:?/.,';for(let e=0;e<25;e++){const t=Ae.charAt(e);ae(ce,me,ze,t,t)}const Te="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";for(let e=0;e<52;e++){const t=Te.charAt(e);ae(he,me,be,t,t),ae(ce,me,ze,t,t)}ae(he,ue,ze,"C","\u2102"),ae(ce,ue,ze,"C","\u2102"),ae(he,ue,ze,"H","\u210d"),ae(ce,ue,ze,"H","\u210d"),ae(he,ue,ze,"N","\u2115"),ae(ce,ue,ze,"N","\u2115"),ae(he,ue,ze,"P","\u2119"),ae(ce,ue,ze,"P","\u2119"),ae(he,ue,ze,"Q","\u211a"),ae(ce,ue,ze,"Q","\u211a"),ae(he,ue,ze,"R","\u211d"),ae(ce,ue,ze,"R","\u211d"),ae(he,ue,ze,"Z","\u2124"),ae(ce,ue,ze,"Z","\u2124"),ae(he,me,be,"h","\u210e"),ae(ce,me,be,"h","\u210e");let Be="";for(let e=0;e<52;e++){const t=Te.charAt(e);Be=String.fromCharCode(55349,56320+e),ae(he,me,be,t,Be),ae(ce,me,ze,t,Be),Be=String.fromCharCode(55349,56372+e),ae(he,me,be,t,Be),ae(ce,me,ze,t,Be),Be=String.fromCharCode(55349,56424+e),ae(he,me,be,t,Be),ae(ce,me,ze,t,Be),Be=String.fromCharCode(55349,56580+e),ae(he,me,be,t,Be),ae(ce,me,ze,t,Be),Be=String.fromCharCode(55349,56684+e),ae(he,me,be,t,Be),ae(ce,me,ze,t,Be),Be=String.fromCharCode(55349,56736+e),ae(he,me,be,t,Be),ae(ce,me,ze,t,Be),Be=String.fromCharCode(55349,56788+e),ae(he,me,be,t,Be),ae(ce,me,ze,t,Be),Be=String.fromCharCode(55349,56840+e),ae(he,me,be,t,Be),ae(ce,me,ze,t,Be),Be=String.fromCharCode(55349,56944+e),ae(he,me,be,t,Be),ae(ce,me,ze,t,Be),e<26&&(Be=String.fromCharCode(55349,56632+e),ae(he,me,be,t,Be),ae(ce,me,ze,t,Be),Be=String.fromCharCode(55349,56476+e),ae(he,me,be,t,Be),ae(ce,me,ze,t,Be))}Be=String.fromCharCode(55349,56668),ae(he,me,be,"k",Be),ae(ce,me,ze,"k",Be);for(let e=0;e<10;e++){const t=e.toString();Be=String.fromCharCode(55349,57294+e),ae(he,me,be,t,Be),ae(ce,me,ze,t,Be),Be=String.fromCharCode(55349,57314+e),ae(he,me,be,t,Be),ae(ce,me,ze,t,Be),Be=String.fromCharCode(55349,57324+e),ae(he,me,be,t,Be),ae(ce,me,ze,t,Be),Be=String.fromCharCode(55349,57334+e),ae(he,me,be,t,Be),ae(ce,me,ze,t,Be)}const qe="\xd0\xde\xfe";for(let e=0;e<3;e++){const t=qe.charAt(e);ae(he,me,be,t,t),ae(ce,me,ze,t,t)}const Ce=[["mathbf","textbf","Main-Bold"],["mathbf","textbf","Main-Bold"],["mathnormal","textit","Math-Italic"],["mathnormal","textit","Math-Italic"],["boldsymbol","boldsymbol","Main-BoldItalic"],["boldsymbol","boldsymbol","Main-BoldItalic"],["mathscr","textscr","Script-Regular"],["","",""],["","",""],["","",""],["mathfrak","textfrak","Fraktur-Regular"],["mathfrak","textfrak","Fraktur-Regular"],["mathbb","textbb","AMS-Regular"],["mathbb","textbb","AMS-Regular"],["mathboldfrak","textboldfrak","Fraktur-Regular"],["mathboldfrak","textboldfrak","Fraktur-Regular"],["mathsf","textsf","SansSerif-Regular"],["mathsf","textsf","SansSerif-Regular"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathitsf","textitsf","SansSerif-Italic"],["mathitsf","textitsf","SansSerif-Italic"],["","",""],["","",""],["mathtt","texttt","Typewriter-Regular"],["mathtt","texttt","Typewriter-Regular"]],Ie=[["mathbf","textbf","Main-Bold"],["","",""],["mathsf","textsf","SansSerif-Regular"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathtt","texttt","Typewriter-Regular"]];class He{constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return this.classes.includes(e)}toNode(){const e=document.createDocumentFragment();for(let t=0;te.toText()).join("")}}const Re=function(e,t,r){return le[r][e]&&le[r][e].replace&&(e=le[r][e].replace),{value:e,metrics:H(e,t,r)}},Ee=function(e,t,r,n,o){const s=Re(e,t,r),i=s.metrics;let l;if(e=s.value,i){let t=i.italic;("text"===r||n&&"mathit"===n.font)&&(t=0),l=new Q(e,i.height,i.depth,t,i.skew,i.width,o)}else"undefined"!=typeof console&&console.warn("No character metrics for '"+e+"' in style '"+t+"' and mode '"+r+"'"),l=new Q(e,0,0,0,0,0,o);if(n){l.maxFontSize=n.sizeMultiplier,n.style.isTight()&&l.classes.push("mtight");const e=n.getColor();e&&(l.style.color=e)}return l},Oe=function(e,t,r,n){return void 0===n&&(n=[]),"boldsymbol"===r.font&&Re(e,"Main-Bold",t).metrics?Ee(e,"Main-Bold",t,r,n.concat(["mathbf"])):"\\"===e||"main"===le[t][e].font?Ee(e,"Main-Regular",t,r,n):Ee(e,"AMS-Regular",t,r,n.concat(["amsrm"]))},Ne=function(e,t,r){const o=e.mode,s=e.text,i=["mord"],l="math"===o||"text"===o&&t.font,a=l?t.font:t.fontFamily;let h="",c="";if(55349===s.charCodeAt(0)&&([h,c]=function(e,t){const r=1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536,o="math"===t?0:1;if(119808<=r&&r<120484){const e=Math.floor((r-119808)/26);return[Ce[e][2],Ce[e][o]]}if(120782<=r&&r<=120831){const e=Math.floor((r-120782)/10);return[Ie[e][2],Ie[e][o]]}if(120485===r||120486===r)return[Ce[0][2],Ce[0][o]];if(1204860)return Ee(s,h,o,t,i.concat(c));if(a){let e,n;if("boldsymbol"===a){const t=function(e,t,r,n,o){return"textord"!==o&&Re(e,"Math-BoldItalic",t).metrics?{fontName:"Math-BoldItalic",fontClass:"boldsymbol"}:{fontName:"Main-Bold",fontClass:"mathbf"}}(s,o,0,0,r);e=t.fontName,n=[t.fontClass]}else l?(e=je[a].fontName,n=[a]):(e=_e(a,t.fontWeight,t.fontShape),n=[a,t.fontWeight,t.fontShape]);if(Re(s,e,o).metrics)return Ee(s,e,o,t,i.concat(n));if(Se.hasOwnProperty(s)&&"Typewriter"===e.slice(0,10)){const r=[];for(let l=0;l{if(W(e.classes)!==W(t.classes)||e.skew!==t.skew||e.maxFontSize!==t.maxFontSize||0!==e.italic&&e.hasClass("mathnormal"))return!1;if(1===e.classes.length){const t=e.classes[0];if("mbin"===t||"mord"===t)return!1}for(const r in e.style)if(e.style.hasOwnProperty(r)&&e.style[r]!==t.style[r])return!1;for(const r in t.style)if(t.style.hasOwnProperty(r)&&e.style[r]!==t.style[r])return!1;return!0},Pe=e=>{for(let t=0;tt&&(t=s.height),s.depth>r&&(r=s.depth),s.maxFontSize>n&&(n=s.maxFontSize)}e.height=t,e.depth=r,e.maxFontSize=n},Ve=function(e,t,r,n){const o=new $(e,t,r,n);return Le(o),o},Fe=(e,t,r,n)=>new $(e,t,r,n),Ge=function(e,t,r){const n=Ve([e],[],t);return n.height=Math.max(r||t.fontMetrics().defaultRuleThickness,t.minRuleThickness),n.style.borderBottomWidth=U(n.height),n.maxFontSize=1,n},Ue=function(e){const t=new He(e);return Le(t),t},We=function(e,t){return e instanceof He?Ve([],[e],t):e},Ye=function(e,t){const{children:r,depth:n}=function(e){if("individualShift"===e.positionType){const t=e.children,r=[t[0]],n=-t[0].shift-t[0].elem.depth;let o=n;for(let e=1;e{const r=Ve(["mspace"],[],t),n=G(e,t);return r.style.marginRight=U(n),r},_e=function(e,t,r){let n,o="";switch(e){case"amsrm":o="AMS";break;case"textrm":o="Main";break;case"textsf":o="SansSerif";break;case"texttt":o="Typewriter";break;default:o=e}return n="textbf"===t&&"textit"===r?"BoldItalic":"textbf"===t?"Bold":"textit"===t?"Italic":"Regular",o+"-"+n},je={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},$e={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},Ze=function(e,t){const[r,n,o]=$e[e],s=new te(r),i=new ee([s],{width:U(n),height:U(o),style:"width:"+U(n),viewBox:"0 0 "+1e3*n+" "+1e3*o,preserveAspectRatio:"xMinYMin"}),l=Fe(["overlay"],[i],t);return l.height=o,l.style.height=U(o),l.style.width=U(n),l},Ke={number:3,unit:"mu"},Je={number:4,unit:"mu"},Qe={number:5,unit:"mu"},et={mord:{mop:Ke,mbin:Je,mrel:Qe,minner:Ke},mop:{mord:Ke,mop:Ke,mrel:Qe,minner:Ke},mbin:{mord:Je,mop:Je,mopen:Je,minner:Je},mrel:{mord:Qe,mop:Qe,mopen:Qe,minner:Qe},mopen:{},mclose:{mop:Ke,mbin:Je,mrel:Qe,minner:Ke},mpunct:{mord:Ke,mop:Ke,mrel:Qe,mopen:Ke,mclose:Ke,mpunct:Ke,minner:Ke},minner:{mord:Ke,mop:Ke,mbin:Je,mrel:Qe,mopen:Ke,mpunct:Ke,minner:Ke}},tt={mord:{mop:Ke},mop:{mord:Ke,mop:Ke},mbin:{},mrel:{},mopen:{},mclose:{mop:Ke},mpunct:{},minner:{mop:Ke}},rt={},nt={},ot={};function st(e){let{type:t,names:r,props:n,handler:o,htmlBuilder:s,mathmlBuilder:i}=e;const l={type:t,numArgs:n.numArgs,argTypes:n.argTypes,allowedInArgument:!!n.allowedInArgument,allowedInText:!!n.allowedInText,allowedInMath:void 0===n.allowedInMath||n.allowedInMath,numOptionalArgs:n.numOptionalArgs||0,infix:!!n.infix,primitive:!!n.primitive,handler:o};for(let e=0;e{const r=t.classes[0],n=e.classes[0];"mbin"===r&&ct.has(n)?t.classes[0]="mord":"mbin"===n&&ht.has(r)&&(e.classes[0]="mord")},{node:i},l,a),dt(o,(e,t)=>{const r=bt(t),n=bt(e),o=r&&n?e.hasClass("mtight")?tt[r][n]:et[r][n]:null;if(o)return Xe(o,s)},{node:i},l,a),o},dt=function(e,t,r,n,o){n&&e.push(n);let s=0;for(;sr=>{e.splice(t+1,0,r),s++})(s)}n&&e.pop()},gt=function(e){return e instanceof He||e instanceof Z||e instanceof $&&e.hasClass("enclosing")?e:null},ft=function(e,t){const r=gt(e);if(r){const e=r.children;if(e.length){if("right"===t)return ft(e[e.length-1],"right");if("left"===t)return ft(e[0],"left")}}return e},bt=function(e,t){return e?(t&&(e=ft(e,t)),ut[e.classes[0]]||null):null},yt=function(e,t){const r=["nulldelimiter"].concat(e.baseSizingClasses());return Ve(t.concat(r))},xt=function(e,t,r){if(!e)return Ve();if(nt[e.type]){let n=nt[e.type](e,t);if(r&&t.size!==r.size){n=Ve(t.sizingClasses(r),[n],t);const e=t.sizeMultiplier/r.sizeMultiplier;n.height*=e,n.depth*=e}return n}throw new n("Got group of unknown type: '"+e.type+"'")};function wt(e,t){const r=Ve(["base"],e,t),n=Ve(["strut"]);return n.style.height=U(r.height+r.depth),r.depth&&(n.style.verticalAlign=U(-r.depth)),r.children.unshift(n),r}function vt(e,t){let r=null;1===e.length&&"tag"===e[0].type&&(r=e[0].tag,e=e[0].body);const n=pt(e,t,"root");let o;2===n.length&&n[1].hasClass("tag")&&(o=n.pop());const s=[];let i,l=[];for(let e=0;e0&&(s.push(wt(l,t)),l=[]),s.push(n[e]));l.length>0&&s.push(wt(l,t)),r?(i=wt(pt(r,t,!0)),i.classes=["tag"],s.push(i)):o&&s.push(o);const a=Ve(["katex-html"],s);if(a.setAttribute("aria-hidden","true"),i){const e=i.children[0];e.style.height=U(a.height+a.depth),a.depth&&(e.style.verticalAlign=U(-a.depth))}return a}function kt(e){return new He(e)}class zt{constructor(e,t,r){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=t||[],this.classes=r||[]}setAttribute(e,t){this.attributes[e]=t}getAttribute(e){return this.attributes[e]}toNode(){const e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(const t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);this.classes.length>0&&(e.className=W(this.classes));for(let t=0;t0&&(e+=' class ="'+a(W(this.classes))+'"'),e+=">";for(let t=0;t",e}toText(){return this.children.map(e=>e.toText()).join("")}}class St{constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return a(this.toText())}toText(){return this.text}}class Mt{constructor(e){this.width=void 0,this.character=void 0,this.width=e,this.character=e>=.05555&&e<=.05556?"\u200a":e>=.1666&&e<=.1667?"\u2009":e>=.2222&&e<=.2223?"\u2005":e>=.2777&&e<=.2778?"\u2005\u200a":e>=-.05556&&e<=-.05555?"\u200a\u2063":e>=-.1667&&e<=-.1666?"\u2009\u2063":e>=-.2223&&e<=-.2222?"\u205f\u2063":e>=-.2778&&e<=-.2777?"\u2005\u2063":null}toNode(){if(this.character)return document.createTextNode(this.character);{const e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",U(this.width)),e}}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}}const At=new Set(["\\imath","\\jmath"]),Tt=new Set(["mrow","mtable"]),Bt=function(e,t,r){return!le[t][e]||!le[t][e].replace||55349===e.charCodeAt(0)||Se.hasOwnProperty(e)&&r&&(r.fontFamily&&"tt"===r.fontFamily.slice(4,6)||r.font&&"tt"===r.font.slice(4,6))||(e=le[t][e].replace),new St(e)},qt=function(e){return 1===e.length?e[0]:new zt("mrow",e)},Ct=function(e,t){if("texttt"===t.fontFamily)return"monospace";if("textsf"===t.fontFamily)return"textit"===t.fontShape&&"textbf"===t.fontWeight?"sans-serif-bold-italic":"textit"===t.fontShape?"sans-serif-italic":"textbf"===t.fontWeight?"bold-sans-serif":"sans-serif";if("textit"===t.fontShape&&"textbf"===t.fontWeight)return"bold-italic";if("textit"===t.fontShape)return"italic";if("textbf"===t.fontWeight)return"bold";const r=t.font;if(!r||"mathnormal"===r)return null;const n=e.mode;if("mathit"===r)return"italic";if("boldsymbol"===r)return"textord"===e.type?"bold":"bold-italic";if("mathbf"===r)return"bold";if("mathbb"===r)return"double-struck";if("mathsfit"===r)return"sans-serif-italic";if("mathfrak"===r)return"fraktur";if("mathscr"===r||"mathcal"===r)return"script";if("mathsf"===r)return"sans-serif";if("mathtt"===r)return"monospace";let o=e.text;if(At.has(o))return null;le[n][o]&&le[n][o].replace&&(o=le[n][o].replace);return H(o,je[r].fontName,n)?je[r].variant:null};function It(e){if(!e)return!1;if("mi"===e.type&&1===e.children.length){const t=e.children[0];return t instanceof St&&"."===t.text}if("mo"===e.type&&1===e.children.length&&"true"===e.getAttribute("separator")&&"0em"===e.getAttribute("lspace")&&"0em"===e.getAttribute("rspace")){const t=e.children[0];return t instanceof St&&","===t.text}return!1}const Ht=function(e,t,r){if(1===e.length){const n=Et(e[0],t);return r&&n instanceof zt&&"mo"===n.type&&(n.setAttribute("lspace","0em"),n.setAttribute("rspace","0em")),[n]}const n=[];let o;for(let r=0;r=1&&("mn"===o.type||It(o))){const e=s.children[0];e instanceof zt&&"mn"===e.type&&(e.children=[...o.children,...e.children],n.pop())}else if("mi"===o.type&&1===o.children.length){const e=o.children[0];if(e instanceof St&&"\u0338"===e.text&&("mo"===s.type||"mi"===s.type||"mn"===s.type)){const e=s.children[0];e instanceof St&&e.text.length>0&&(e.text=e.text.slice(0,1)+"\u0338"+e.text.slice(1),n.pop())}}}n.push(s),o=s}return n},Rt=function(e,t,r){return qt(Ht(e,t,r))},Et=function(e,t){if(!e)return new zt("mrow");if(ot[e.type]){return ot[e.type](e,t)}throw new n("Got group of unknown type: '"+e.type+"'")};function Ot(e,t,r,n,o){const s=Ht(e,r);let i;i=1===s.length&&s[0]instanceof zt&&Tt.has(s[0].type)?s[0]:new zt("mrow",s);const l=new zt("annotation",[new St(t)]);l.setAttribute("encoding","application/x-tex");const a=new zt("semantics",[i,l]),h=new zt("math",[a]);h.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&h.setAttribute("display","block");return Ve([o?"katex":"katex-mathml"],[h])}const Nt=function(e){return new P({style:e.displayMode?z.DISPLAY:z.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},Dt=function(e,t){if(t.displayMode){const r=["katex-display"];t.leqno&&r.push("leqno"),t.fleqn&&r.push("fleqn"),e=Ve(r,[e])}return e},Pt=function(e,t,r){const n=Nt(r);let o;if("mathml"===r.output)return Ot(e,t,n,r.displayMode,!0);if("html"===r.output){const t=vt(e,n);o=Ve(["katex"],[t])}else{const s=Ot(e,t,n,r.displayMode,!1),i=vt(e,n);o=Ve(["katex"],[s,i])}return Dt(o,r)};const Lt={widehat:"^",widecheck:"\u02c7",widetilde:"~",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",underbrace:"\u23df",overbrace:"\u23de",overgroup:"\u23e0",undergroup:"\u23e1",overleftrightarrow:"\u2194",underleftrightarrow:"\u2194",xleftrightarrow:"\u2194",Overrightarrow:"\u21d2",xRightarrow:"\u21d2",overleftharpoon:"\u21bc",xleftharpoonup:"\u21bc",overrightharpoon:"\u21c0",xrightharpoonup:"\u21c0",xLeftarrow:"\u21d0",xLeftrightarrow:"\u21d4",xhookleftarrow:"\u21a9",xhookrightarrow:"\u21aa",xmapsto:"\u21a6",xrightharpoondown:"\u21c1",xleftharpoondown:"\u21bd",xrightleftharpoons:"\u21cc",xleftrightharpoons:"\u21cb",xtwoheadleftarrow:"\u219e",xtwoheadrightarrow:"\u21a0",xlongequal:"=",xtofrom:"\u21c4",xrightleftarrows:"\u21c4",xrightequilibrium:"\u21cc",xleftequilibrium:"\u21cb","\\cdrightarrow":"\u2192","\\cdleftarrow":"\u2190","\\cdlongequal":"="},Vt=function(e){const t=new zt("mo",[new St(Lt[e.replace(/^\\/,"")])]);return t.setAttribute("stretchy","true"),t},Ft={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},Gt=new Set(["widehat","widecheck","widetilde","utilde"]),Ut=function(e,t){const{span:r,minWidth:n,height:o}=function(){let r=4e5;const n=e.label.slice(1);if(Gt.has(n)){const o=e,s="ordgroup"===o.base.type?o.base.body.length:1;let i,l,a;if(s>5)"widehat"===n||"widecheck"===n?(i=420,r=2364,a=.42,l=n+"4"):(i=312,r=2340,a=.34,l="tilde4");else{const e=[1,1,2,2,3,3][s];"widehat"===n||"widecheck"===n?(r=[0,1062,2364,2364,2364][e],i=[0,239,300,360,420][e],a=[0,.24,.3,.3,.36,.42][e],l=n+e):(r=[0,600,1033,2339,2340][e],i=[0,260,286,306,312][e],a=[0,.26,.286,.3,.306,.34][e],l="tilde"+e)}const h=new te(l),c=new ee([h],{width:"100%",height:U(a),viewBox:"0 0 "+r+" "+i,preserveAspectRatio:"none"});return{span:Fe([],[c],t),minWidth:0,height:a}}{const e=[],o=Ft[n],[s,i,l]=o,a=l/1e3,h=s.length;let c,m;if(1===h){c=["hide-tail"],m=[o[3]]}else if(2===h)c=["halfarrow-left","halfarrow-right"],m=["xMinYMin","xMaxYMin"];else{if(3!==h)throw new Error("Correct katexImagesData or update code here to support\n "+h+" children.");c=["brace-left","brace-center","brace-right"],m=["xMinYMin","xMidYMin","xMaxYMin"]}for(let n=0;n0&&(r.style.minWidth=U(n)),r};function Wt(e,t){if(!e||e.type!==t)throw new Error("Expected node of type "+t+", but got "+(e?"node of type "+e.type:String(e)));return e}function Yt(e){const t=Xt(e);if(!t)throw new Error("Expected node of symbol group type, but got "+(e?"node of type "+e.type:String(e)));return t}function Xt(e){return e&&("atom"===e.type||se.hasOwnProperty(e.type))?e:null}const _t=(e,t)=>{let r,n,o;e&&"supsub"===e.type?(n=Wt(e.base,"accent"),r=n.base,e.base=r,o=function(e){if(e instanceof $)return e;throw new Error("Expected span but got "+String(e)+".")}(xt(e,t)),e.base=n):(n=Wt(e,"accent"),r=n.base);const s=xt(r,t.havingCrampedStyle());let i=0;if(n.isShifty&&m(r)){const e=h(r);i=ne(xt(e,t.havingCrampedStyle())).skew}const l="\\c"===n.label;let a,c=l?s.height+s.depth:Math.min(s.height,t.fontMetrics().xHeight);if(n.isStretchy)a=Ut(n,t),a=Ye({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"elem",elem:a,wrapperClasses:["svg-align"],wrapperStyle:i>0?{width:"calc(100% - "+U(2*i)+")",marginLeft:U(2*i)}:void 0}]});else{let e,r;"\\vec"===n.label?(e=Ze("vec",t),r=$e.vec[1]):(e=Ne({mode:n.mode,text:n.label},t,"textord"),e=ne(e),e.italic=0,r=e.width,l&&(c+=e.depth)),a=Ve(["accent-body"],[e]);const o="\\textcircled"===n.label;o&&(a.classes.push("accent-full"),c=s.height);let h=i;o||(h-=r/2),a.style.left=U(h),"\\textcircled"===n.label&&(a.style.top=".2em"),a=Ye({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"kern",size:-c},{type:"elem",elem:a}]})}const u=Ve(["mord","accent"],[a],t);return o?(o.children[0]=u,o.height=Math.max(u.height,o.height),o.classes[0]="mord",o):u},jt=(e,t)=>{const r=e.isStretchy?Vt(e.label):new zt("mo",[Bt(e.label,e.mode)]),n=new zt("mover",[Et(e.base,t),r]);return n.setAttribute("accent","true"),n},$t=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(e=>"\\"+e).join("|"));st({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(e,t)=>{const r=lt(t[0]),n=!$t.test(e.funcName),o=!n||"\\widehat"===e.funcName||"\\widetilde"===e.funcName||"\\widecheck"===e.funcName;return{type:"accent",mode:e.parser.mode,label:e.funcName,isStretchy:n,isShifty:o,base:r}},htmlBuilder:_t,mathmlBuilder:jt}),st({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(e,t)=>{const r=t[0];let n=e.parser.mode;return"math"===n&&(e.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+e.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:e.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:_t,mathmlBuilder:jt}),st({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=t[0];return{type:"accentUnder",mode:r.mode,label:n,base:o}},htmlBuilder:(e,t)=>{const r=xt(e.base,t),n=Ut(e,t),o="\\utilde"===e.label?.12:0,s=Ye({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:o},{type:"elem",elem:r}]});return Ve(["mord","accentunder"],[s],t)},mathmlBuilder:(e,t)=>{const r=Vt(e.label),n=new zt("munder",[Et(e.base,t),r]);return n.setAttribute("accentunder","true"),n}});const Zt=e=>{const t=new zt("mpadded",e?[e]:[]);return t.setAttribute("width","+0.6em"),t.setAttribute("lspace","0.3em"),t};function Kt(e,t){const r=pt(e.body,t,!0);return Ve([e.mclass],r,t)}function Jt(e,t){let r;const n=Ht(e.body,t);return"minner"===e.mclass?r=new zt("mpadded",n):"mord"===e.mclass?e.isCharacterBox?(r=n[0],r.type="mi"):r=new zt("mi",n):(e.isCharacterBox?(r=n[0],r.type="mo"):r=new zt("mo",n),"mbin"===e.mclass?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):"mpunct"===e.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):"mopen"===e.mclass||"mclose"===e.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0em"):"minner"===e.mclass&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}st({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(e,t,r){let{parser:n,funcName:o}=e;return{type:"xArrow",mode:n.mode,label:o,body:t[0],below:r[0]}},htmlBuilder(e,t){const r=t.style;let n=t.havingStyle(r.sup());const o=We(xt(e.body,n,t),t),s="\\x"===e.label.slice(0,2)?"x":"cd";let i;o.classes.push(s+"-arrow-pad"),e.below&&(n=t.havingStyle(r.sub()),i=We(xt(e.below,n,t),t),i.classes.push(s+"-arrow-pad"));const l=Ut(e,t),a=-t.fontMetrics().axisHeight+.5*l.height;let h,c=-t.fontMetrics().axisHeight-.5*l.height-.111;if((o.depth>.25||"\\xleftequilibrium"===e.label)&&(c-=o.depth),i){const e=-t.fontMetrics().axisHeight+i.height+.5*l.height+.111;h=Ye({positionType:"individualShift",children:[{type:"elem",elem:o,shift:c},{type:"elem",elem:l,shift:a},{type:"elem",elem:i,shift:e}]})}else h=Ye({positionType:"individualShift",children:[{type:"elem",elem:o,shift:c},{type:"elem",elem:l,shift:a}]});return h.children[0].children[0].children[1].classes.push("svg-align"),Ve(["mrel","x-arrow"],[h],t)},mathmlBuilder(e,t){const r=Vt(e.label);let n;if(r.setAttribute("minsize","x"===e.label.charAt(0)?"1.75em":"3.0em"),e.body){const o=Zt(Et(e.body,t));if(e.below){const s=Zt(Et(e.below,t));n=new zt("munderover",[r,s,o])}else n=new zt("mover",[r,o])}else if(e.below){const o=Zt(Et(e.below,t));n=new zt("munder",[r,o])}else n=Zt(),n=new zt("mover",[r,n]);return n}}),st({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(e,t){let{parser:r,funcName:n}=e;const o=t[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:at(o),isCharacterBox:m(o)}},htmlBuilder:Kt,mathmlBuilder:Jt});const Qt=e=>{const t="ordgroup"===e.type&&e.body.length?e.body[0]:e;return"atom"!==t.type||"bin"!==t.family&&"rel"!==t.family?"mord":"m"+t.family};st({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(e,t){let{parser:r}=e;return{type:"mclass",mode:r.mode,mclass:Qt(t[0]),body:at(t[1]),isCharacterBox:m(t[1])}}}),st({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(e,t){let{parser:r,funcName:n}=e;const o=t[1],s=t[0];let i;i="\\stackrel"!==n?Qt(o):"mrel";const l={type:"op",mode:o.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:"\\stackrel"!==n,body:at(o)},a={type:"supsub",mode:s.mode,base:l,sup:"\\underset"===n?null:s,sub:"\\underset"===n?s:null};return{type:"mclass",mode:r.mode,mclass:i,body:[a],isCharacterBox:m(a)}},htmlBuilder:Kt,mathmlBuilder:Jt}),st({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(e,t){let{parser:r}=e;return{type:"pmb",mode:r.mode,mclass:Qt(t[0]),body:at(t[0])}},htmlBuilder(e,t){const r=pt(e.body,t,!0),n=Ve([e.mclass],r,t);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder(e,t){const r=Ht(e.body,t),n=new zt("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});const er={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},tr=()=>({type:"styling",body:[],mode:"math",style:"display"}),rr=e=>"textord"===e.type&&"@"===e.text,nr=(e,t)=>("mathord"===e.type||"atom"===e.type)&&e.text===t;function or(e,t,r){const n=er[e];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[t[0]],[t[1]]);case"\\uparrow":case"\\downarrow":{const e={type:"atom",text:n,mode:"math",family:"rel"},o={type:"ordgroup",mode:"math",body:[r.callFunction("\\\\cdleft",[t[0]],[]),r.callFunction("\\Big",[e],[]),r.callFunction("\\\\cdright",[t[1]],[])]};return r.callFunction("\\\\cdparent",[o],[])}case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{const e={type:"textord",text:"\\Vert",mode:"math"};return r.callFunction("\\Big",[e],[])}default:return{type:"textord",text:" ",mode:"math"}}}st({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(e,t){let{parser:r,funcName:n}=e;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:t[0]}},htmlBuilder(e,t){const r=t.havingStyle(t.style.sup()),n=We(xt(e.label,r,t),t);return n.classes.push("cd-label-"+e.side),n.style.bottom=U(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder(e,t){let r=new zt("mrow",[Et(e.label,t)]);return r=new zt("mpadded",[r]),r.setAttribute("width","0"),"left"===e.side&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),r=new zt("mstyle",[r]),r.setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}}),st({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(e,t){let{parser:r}=e;return{type:"cdlabelparent",mode:r.mode,fragment:t[0]}},htmlBuilder(e,t){const r=We(xt(e.fragment,t),t);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder(e,t){return new zt("mrow",[Et(e.fragment,t)])}}),st({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(e,t){let{parser:r}=e;const o=Wt(t[0],"ordgroup").body;let s="";for(let e=0;e=1114111)throw new n("\\@char with invalid code point "+s);return l<=65535?i=String.fromCharCode(l):(l-=65536,i=String.fromCharCode(55296+(l>>10),56320+(1023&l))),{type:"textord",mode:r.mode,text:i}}});const sr=(e,t)=>{const r=pt(e.body,t.withColor(e.color),!1);return Ue(r)},ir=(e,t)=>{const r=Ht(e.body,t.withColor(e.color)),n=new zt("mstyle",r);return n.setAttribute("mathcolor",e.color),n};st({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(e,t){let{parser:r}=e;const n=Wt(t[0],"color-token").color,o=t[1];return{type:"color",mode:r.mode,color:n,body:at(o)}},htmlBuilder:sr,mathmlBuilder:ir}),st({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(e,t){let{parser:r,breakOnTokenText:n}=e;const o=Wt(t[0],"color-token").color;r.gullet.macros.set("\\current@color",o);const s=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:o,body:s}},htmlBuilder:sr,mathmlBuilder:ir}),st({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(e,t,r){let{parser:n}=e;const o="["===n.gullet.future().text?n.parseSizeGroup(!0):null,s=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:s,size:o&&Wt(o,"size").value}},htmlBuilder(e,t){const r=Ve(["mspace"],[],t);return e.newLine&&(r.classes.push("newline"),e.size&&(r.style.marginTop=U(G(e.size,t)))),r},mathmlBuilder(e,t){const r=new zt("mspace");return e.newLine&&(r.setAttribute("linebreak","newline"),e.size&&r.setAttribute("height",U(G(e.size,t)))),r}});const lr={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},ar=e=>{const t=e.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(t))throw new n("Expected a control sequence",e);return t},hr=(e,t,r,n)=>{let o=e.gullet.macros.get(r.text);null==o&&(r.noexpand=!0,o={tokens:[r],numArgs:0,unexpandable:!e.gullet.isExpandable(r.text)}),e.gullet.macros.set(t,o,n)};st({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(e){let{parser:t,funcName:r}=e;t.consumeSpaces();const o=t.fetch();if(lr[o.text])return"\\global"!==r&&"\\\\globallong"!==r||(o.text=lr[o.text]),Wt(t.parseFunction(),"internal");throw new n("Invalid token after macro prefix",o)}}),st({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){let{parser:t,funcName:r}=e,o=t.gullet.popToken();const s=o.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(s))throw new n("Expected a control sequence",o);let i,l=0;const a=[[]];for(;"{"!==t.gullet.future().text;)if(o=t.gullet.popToken(),"#"===o.text){if("{"===t.gullet.future().text){i=t.gullet.future(),a[l].push("{");break}if(o=t.gullet.popToken(),!/^[1-9]$/.test(o.text))throw new n('Invalid argument number "'+o.text+'"');if(parseInt(o.text)!==l+1)throw new n('Argument number "'+o.text+'" out of order');l++,a.push([])}else{if("EOF"===o.text)throw new n("Expected a macro definition");a[l].push(o.text)}let{tokens:h}=t.gullet.consumeArg();return i&&h.unshift(i),"\\edef"!==r&&"\\xdef"!==r||(h=t.gullet.expandTokens(h),h.reverse()),t.gullet.macros.set(s,{tokens:h,numArgs:l,delimiters:a},r===lr[r]),{type:"internal",mode:t.mode}}}),st({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){let{parser:t,funcName:r}=e;const n=ar(t.gullet.popToken());t.gullet.consumeSpaces();const o=(e=>{let t=e.gullet.popToken();return"="===t.text&&(t=e.gullet.popToken()," "===t.text&&(t=e.gullet.popToken())),t})(t);return hr(t,n,o,"\\\\globallet"===r),{type:"internal",mode:t.mode}}}),st({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){let{parser:t,funcName:r}=e;const n=ar(t.gullet.popToken()),o=t.gullet.popToken(),s=t.gullet.popToken();return hr(t,n,s,"\\\\globalfuture"===r),t.gullet.pushToken(s),t.gullet.pushToken(o),{type:"internal",mode:t.mode}}});const cr=function(e,t,r){const n=H(le.math[e]&&le.math[e].replace||e,t,r);if(!n)throw new Error("Unsupported symbol "+e+" and font size "+t+".");return n},mr=function(e,t,r,n){const o=r.havingBaseStyle(t),s=Ve(n.concat(o.sizingClasses(r)),[e],r),i=o.sizeMultiplier/r.sizeMultiplier;return s.height*=i,s.depth*=i,s.maxFontSize=o.sizeMultiplier,s},ur=function(e,t,r){const n=t.havingBaseStyle(r),o=(1-t.sizeMultiplier/n.sizeMultiplier)*t.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=U(o),e.height-=o,e.depth+=o},pr=function(e,t,r,n,o,s){const i=function(e,t,r,n){return Ee(e,"Size"+t+"-Regular",r,n)}(e,t,o,n),l=mr(Ve(["delimsizing","size"+t],[i],n),z.TEXT,n,s);return r&&ur(l,n,z.TEXT),l},dr=function(e,t,r){let n;n="Size1-Regular"===t?"delim-size1":"delim-size4";return{type:"elem",elem:Ve(["delimsizinginner",n],[Ve([],[Ee(e,t,r)])])}},gr=function(e,t,r){const n=q["Size4-Regular"][e.charCodeAt(0)]?q["Size4-Regular"][e.charCodeAt(0)][4]:q["Size1-Regular"][e.charCodeAt(0)][4],o=new te("inner",function(e,t){switch(e){case"\u239c":return"M291 0 H417 V"+t+" H291z M291 0 H417 V"+t+" H291z";case"\u2223":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145z";case"\u2225":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145zM367 0 H410 V"+t+" H367z M367 0 H410 V"+t+" H367z";case"\u239f":return"M457 0 H583 V"+t+" H457z M457 0 H583 V"+t+" H457z";case"\u23a2":return"M319 0 H403 V"+t+" H319z M319 0 H403 V"+t+" H319z";case"\u23a5":return"M263 0 H347 V"+t+" H263z M263 0 H347 V"+t+" H263z";case"\u23aa":return"M384 0 H504 V"+t+" H384z M384 0 H504 V"+t+" H384z";case"\u23d0":return"M312 0 H355 V"+t+" H312z M312 0 H355 V"+t+" H312z";case"\u2016":return"M257 0 H300 V"+t+" H257z M257 0 H300 V"+t+" H257zM478 0 H521 V"+t+" H478z M478 0 H521 V"+t+" H478z";default:return""}}(e,Math.round(1e3*t))),s=new ee([o],{width:U(n),height:U(t),style:"width:"+U(n),viewBox:"0 0 "+1e3*n+" "+Math.round(1e3*t),preserveAspectRatio:"xMinYMin"}),i=Fe([],[s],r);return i.height=t,i.style.height=U(t),i.style.width=U(n),{type:"elem",elem:i}},fr={type:"kern",size:-.008},br=new Set(["|","\\lvert","\\rvert","\\vert"]),yr=new Set(["\\|","\\lVert","\\rVert","\\Vert"]),xr=function(e,t,r,n,o,s){let i,l,a,h,c="",m=0;i=a=h=e,l=null;let u="Size1-Regular";"\\uparrow"===e?a=h="\u23d0":"\\Uparrow"===e?a=h="\u2016":"\\downarrow"===e?i=a="\u23d0":"\\Downarrow"===e?i=a="\u2016":"\\updownarrow"===e?(i="\\uparrow",a="\u23d0",h="\\downarrow"):"\\Updownarrow"===e?(i="\\Uparrow",a="\u2016",h="\\Downarrow"):br.has(e)?(a="\u2223",c="vert",m=333):yr.has(e)?(a="\u2225",c="doublevert",m=556):"["===e||"\\lbrack"===e?(i="\u23a1",a="\u23a2",h="\u23a3",u="Size4-Regular",c="lbrack",m=667):"]"===e||"\\rbrack"===e?(i="\u23a4",a="\u23a5",h="\u23a6",u="Size4-Regular",c="rbrack",m=667):"\\lfloor"===e||"\u230a"===e?(a=i="\u23a2",h="\u23a3",u="Size4-Regular",c="lfloor",m=667):"\\lceil"===e||"\u2308"===e?(i="\u23a1",a=h="\u23a2",u="Size4-Regular",c="lceil",m=667):"\\rfloor"===e||"\u230b"===e?(a=i="\u23a5",h="\u23a6",u="Size4-Regular",c="rfloor",m=667):"\\rceil"===e||"\u2309"===e?(i="\u23a4",a=h="\u23a5",u="Size4-Regular",c="rceil",m=667):"("===e||"\\lparen"===e?(i="\u239b",a="\u239c",h="\u239d",u="Size4-Regular",c="lparen",m=875):")"===e||"\\rparen"===e?(i="\u239e",a="\u239f",h="\u23a0",u="Size4-Regular",c="rparen",m=875):"\\{"===e||"\\lbrace"===e?(i="\u23a7",l="\u23a8",h="\u23a9",a="\u23aa",u="Size4-Regular"):"\\}"===e||"\\rbrace"===e?(i="\u23ab",l="\u23ac",h="\u23ad",a="\u23aa",u="Size4-Regular"):"\\lgroup"===e||"\u27ee"===e?(i="\u23a7",h="\u23a9",a="\u23aa",u="Size4-Regular"):"\\rgroup"===e||"\u27ef"===e?(i="\u23ab",h="\u23ad",a="\u23aa",u="Size4-Regular"):"\\lmoustache"===e||"\u23b0"===e?(i="\u23a7",h="\u23ad",a="\u23aa",u="Size4-Regular"):"\\rmoustache"!==e&&"\u23b1"!==e||(i="\u23ab",h="\u23a9",a="\u23aa",u="Size4-Regular");const p=cr(i,u,o),d=p.height+p.depth,g=cr(a,u,o),f=g.height+g.depth,b=cr(h,u,o),y=b.height+b.depth;let x=0,w=1;if(null!==l){const e=cr(l,u,o);x=e.height+e.depth,w=2}const v=d+y+x,k=v+Math.max(0,Math.ceil((t-v)/(w*f)))*w*f;let S=n.fontMetrics().axisHeight;r&&(S*=n.sizeMultiplier);const M=k/2-S,A=[];if(c.length>0){const e=k-d-y,t=Math.round(1e3*k),r=function(e,t){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+" v1759 h347 v-84\nH403z M403 1759 V0 H319 V1759 v"+t+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+" v1759 H0 v84 H347z\nM347 1759 V0 H263 V1759 v"+t+" v1759 h84z";case"vert":return"M145 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+t+" v585 h43z";case"doublevert":return"M145 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+t+" v585 h43z\nM367 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M410 15 H367 v585 v"+t+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+t+" v1715 h263 v84 H319z\nMM319 602 V0 H403 V602 v"+t+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+t+" v1799 H0 v-84 H319z\nMM319 602 V0 H403 V602 v"+t+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+" v602 h84z\nM403 1759 V0 H319 V1759 v"+t+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+" v602 h84z\nM347 1759 V0 h-84 V1759 v"+t+" v602 h84z";case"lparen":return"M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1\nc-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,\n-36,557 l0,"+(t+84)+"c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,\n949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9\nc0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,\n-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189\nl0,-"+(t+92)+"c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,\n-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z";case"rparen":return"M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,\n63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5\nc11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,"+(t+9)+"\nc-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664\nc-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11\nc0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17\nc242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558\nl0,-"+(t+144)+"c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,\n-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z";default:throw new Error("Unknown stretchy delimiter.")}}(c,Math.round(1e3*e)),o=new te(c,r),s=(m/1e3).toFixed(3)+"em",i=(t/1e3).toFixed(3)+"em",l=new ee([o],{width:s,height:i,viewBox:"0 0 "+m+" "+t}),a=Fe([],[l],n);a.height=t/1e3,a.style.width=s,a.style.height=i,A.push({type:"elem",elem:a})}else{if(A.push(dr(h,u,o)),A.push(fr),null===l){const e=k-d-y+.016;A.push(gr(a,e,n))}else{const e=(k-d-y-x)/2+.016;A.push(gr(a,e,n)),A.push(fr),A.push(dr(l,u,o)),A.push(fr),A.push(gr(a,e,n))}A.push(fr),A.push(dr(i,u,o))}const T=n.havingBaseStyle(z.TEXT),B=Ye({positionType:"bottom",positionData:M,children:A});return mr(Ve(["delimsizing","mult"],[B],T),z.TEXT,n,s)},wr=.08,vr=function(e,t,r,n,o){const s=function(e,t,r){t*=1e3;let n="";switch(e){case"sqrtMain":n=function(e,t){return"M95,"+(622+e+t)+"\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl"+e/2.075+" -"+e+"\nc5.3,-9.3,12,-14,20,-14\nH400000v"+(40+e)+"H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM"+(834+e)+" "+t+"h400000v"+(40+e)+"h-400000z"}(t,T);break;case"sqrtSize1":n=function(e,t){return"M263,"+(601+e+t)+"c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl"+e/2.084+" -"+e+"\nc4.7,-7.3,11,-11,19,-11\nH40000v"+(40+e)+"H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM"+(1001+e)+" "+t+"h400000v"+(40+e)+"h-400000z"}(t,T);break;case"sqrtSize2":n=function(e,t){return"M983 "+(10+e+t)+"\nl"+e/3.13+" -"+e+"\nc4,-6.7,10,-10,18,-10 H400000v"+(40+e)+"\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\nM"+(1001+e)+" "+t+"h400000v"+(40+e)+"h-400000z"}(t,T);break;case"sqrtSize3":n=function(e,t){return"M424,"+(2398+e+t)+"\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\nl"+e/4.223+" -"+e+"c4,-6.7,10,-10,18,-10 H400000\nv"+(40+e)+"H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\nc-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M"+(1001+e)+" "+t+"\nh400000v"+(40+e)+"h-400000z"}(t,T);break;case"sqrtSize4":n=function(e,t){return"M473,"+(2713+e+t)+"\nc339.3,-1799.3,509.3,-2700,510,-2702 l"+e/5.298+" -"+e+"\nc3.3,-7.3,9.3,-11,18,-11 H400000v"+(40+e)+"H1017.7\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\n606zM"+(1001+e)+" "+t+"h400000v"+(40+e)+"H1017.7z"}(t,T);break;case"sqrtTall":n=function(e,t,r){return"M702 "+(e+t)+"H400000"+(40+e)+"\nH742v"+(r-54-t-e)+"l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 "+t+"H400000v"+(40+e)+"H742z"}(t,T,r)}return n}(e,n,r),i=new te(e,s),l=new ee([i],{width:"400em",height:U(t),viewBox:"0 0 400000 "+r,preserveAspectRatio:"xMinYMin slice"});return Fe(["hide-tail"],[l],o)},kr=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230a","\u230b","\\lceil","\\rceil","\u2308","\u2309","\\surd"]),zr=new Set(["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27ee","\u27ef","\\lmoustache","\\rmoustache","\u23b0","\u23b1"]),Sr=new Set(["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"]),Mr=[0,1.2,1.8,2.4,3],Ar=function(e,t,r,o,s){if("<"===e||"\\lt"===e||"\u27e8"===e?e="\\langle":">"!==e&&"\\gt"!==e&&"\u27e9"!==e||(e="\\rangle"),kr.has(e)||Sr.has(e))return pr(e,t,!1,r,o,s);if(zr.has(e))return xr(e,Mr[t],!1,r,o,s);throw new n("Illegal delimiter: '"+e+"'")},Tr=[{type:"small",style:z.SCRIPTSCRIPT},{type:"small",style:z.SCRIPT},{type:"small",style:z.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],Br=[{type:"small",style:z.SCRIPTSCRIPT},{type:"small",style:z.SCRIPT},{type:"small",style:z.TEXT},{type:"stack"}],qr=[{type:"small",style:z.SCRIPTSCRIPT},{type:"small",style:z.SCRIPT},{type:"small",style:z.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],Cr=function(e){if("small"===e.type)return"Main-Regular";if("large"===e.type)return"Size"+e.size+"-Regular";if("stack"===e.type)return"Size4-Regular";throw new Error("Add support for delim type '"+e.type+"' here.")},Ir=function(e,t,r,n){for(let o=Math.min(2,3-n.style.size);ot)return r[o]}return r[r.length-1]},Hr=function(e,t,r,n,o,s){let i;"<"===e||"\\lt"===e||"\u27e8"===e?e="\\langle":">"!==e&&"\\gt"!==e&&"\u27e9"!==e||(e="\\rangle"),i=Sr.has(e)?Tr:kr.has(e)?qr:Br;const l=Ir(e,t,i,n);return"small"===l.type?function(e,t,r,n,o,s){const i=Ee(e,"Main-Regular",o,n),l=mr(i,t,n,s);return r&&ur(l,n,t),l}(e,l.style,r,n,o,s):"large"===l.type?pr(e,l.size,r,n,o,s):xr(e,t,r,n,o,s)},Rr=function(e,t,r,n,o,s){const i=n.fontMetrics().axisHeight*n.sizeMultiplier,l=5/n.fontMetrics().ptPerEm,a=Math.max(t-i,r+i),h=Math.max(a/500*901,2*a-l);return Hr(e,h,!0,n,o,s)},Er={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},Or=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230a","\u230b","\\lceil","\\rceil","\u2308","\u2309","<",">","\\langle","\u27e8","\\rangle","\u27e9","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27ee","\u27ef","\\lmoustache","\\rmoustache","\u23b0","\u23b1","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."]);function Nr(e,t){const r=Xt(e);if(r&&Or.has(r.text))return r;throw new n(r?"Invalid delimiter '"+r.text+"' after '"+t.funcName+"'":"Invalid delimiter type '"+e.type+"'",e)}function Dr(e){if(!e.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}st({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(e,t)=>{const r=Nr(t[0],e);return{type:"delimsizing",mode:e.parser.mode,size:Er[e.funcName].size,mclass:Er[e.funcName].mclass,delim:r.text}},htmlBuilder:(e,t)=>"."===e.delim?Ve([e.mclass]):Ar(e.delim,e.size,t,e.mode,[e.mclass]),mathmlBuilder:e=>{const t=[];"."!==e.delim&&t.push(Bt(e.delim,e.mode));const r=new zt("mo",t);"mopen"===e.mclass||"mclose"===e.mclass?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");const n=U(Mr[e.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r}}),st({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{const r=e.parser.gullet.macros.get("\\current@color");if(r&&"string"!=typeof r)throw new n("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:e.parser.mode,delim:Nr(t[0],e).text,color:r}}}),st({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{const r=Nr(t[0],e),n=e.parser;++n.leftrightDepth;const o=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);const s=Wt(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:o,left:r.text,right:s.delim,rightColor:s.color}},htmlBuilder:(e,t)=>{Dr(e);const r=pt(e.body,t,!0,["mopen","mclose"]);let n,o,s=0,i=0,l=!1;for(let e=0;e{Dr(e);const r=Ht(e.body,t);if("."!==e.left){const t=new zt("mo",[Bt(e.left,e.mode)]);t.setAttribute("fence","true"),r.unshift(t)}if("."!==e.right){const t=new zt("mo",[Bt(e.right,e.mode)]);t.setAttribute("fence","true"),e.rightColor&&t.setAttribute("mathcolor",e.rightColor),r.push(t)}return qt(r)}}),st({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{const r=Nr(t[0],e);if(!e.parser.leftrightDepth)throw new n("\\middle without preceding \\left",r);return{type:"middle",mode:e.parser.mode,delim:r.text}},htmlBuilder:(e,t)=>{let r;if("."===e.delim)r=yt(t,[]);else{r=Ar(e.delim,1,t,e.mode,[]);const n={delim:e.delim,options:t};r.isMiddle=n}return r},mathmlBuilder:(e,t)=>{const r="\\vert"===e.delim||"|"===e.delim?Bt("|","text"):Bt(e.delim,e.mode),n=new zt("mo",[r]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n}});const Pr=(e,t)=>{const r=We(xt(e.body,t),t),n=e.label.slice(1);let o,s=t.sizeMultiplier,i=0;const l=m(e.body);if("sout"===n)o=Ve(["stretchy","sout"]),o.height=t.fontMetrics().defaultRuleThickness/s,i=-.5*t.fontMetrics().xHeight;else if("phase"===n){const e=G({number:.6,unit:"pt"},t),n=G({number:.35,unit:"ex"},t);s/=t.havingBaseSizing().sizeMultiplier;const l=r.height+r.depth+e+n;r.style.paddingLeft=U(l/2+e);const h=Math.floor(1e3*l*s),c="M400000 "+(a=h)+" H0 L"+a/2+" 0 l65 45 L145 "+(a-80)+" H400000z",m=new ee([new te("phase",c)],{width:"400em",height:U(h/1e3),viewBox:"0 0 400000 "+h,preserveAspectRatio:"xMinYMin slice"});o=Fe(["hide-tail"],[m],t),o.style.height=U(l),i=r.depth+e+n}else{/cancel/.test(n)?l||r.classes.push("cancel-pad"):"angl"===n?r.classes.push("anglpad"):r.classes.push("boxpad");let s=0,a=0,h=0;/box/.test(n)?(h=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness),s=t.fontMetrics().fboxsep+("colorbox"===n?0:h),a=s):"angl"===n?(h=Math.max(t.fontMetrics().defaultRuleThickness,t.minRuleThickness),s=4*h,a=Math.max(0,.25-r.depth)):(s=l?.2:0,a=s),o=function(e,t,r,n,o){let s;const i=e.height+e.depth+r+n;if(/fbox|color|angl/.test(t)){if(s=Ve(["stretchy",t],[],o),"fbox"===t){const e=o.color&&o.getColor();e&&(s.style.borderColor=e)}}else{const e=[];/^[bx]cancel$/.test(t)&&e.push(new re({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(t)&&e.push(new re({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));const r=new ee(e,{width:"100%",height:U(i)});s=Fe([],[r],o)}return s.height=i,s.style.height=U(i),s}(r,n,s,a,t),/fbox|boxed|fcolorbox/.test(n)?(o.style.borderStyle="solid",o.style.borderWidth=U(h)):"angl"===n&&.049!==h&&(o.style.borderTopWidth=U(h),o.style.borderRightWidth=U(h)),i=r.depth+a,e.backgroundColor&&(o.style.backgroundColor=e.backgroundColor,e.borderColor&&(o.style.borderColor=e.borderColor))}var a;let h;if(e.backgroundColor)h=Ye({positionType:"individualShift",children:[{type:"elem",elem:o,shift:i},{type:"elem",elem:r,shift:0}]});else{const e=/cancel|phase/.test(n)?["svg-align"]:[];h=Ye({positionType:"individualShift",children:[{type:"elem",elem:r,shift:0},{type:"elem",elem:o,shift:i,wrapperClasses:e}]})}return/cancel/.test(n)&&(h.height=r.height,h.depth=r.depth),/cancel/.test(n)&&!l?Ve(["mord","cancel-lap"],[h],t):Ve(["mord"],[h],t)},Lr=(e,t)=>{let r=0;const n=new zt(e.label.includes("colorbox")?"mpadded":"menclose",[Et(e.body,t)]);switch(e.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=t.fontMetrics().fboxsep*t.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),"\\fcolorbox"===e.label){const r=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness);n.setAttribute("style","border: "+r+"em solid "+String(e.borderColor))}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike")}return e.backgroundColor&&n.setAttribute("mathbackground",e.backgroundColor),n};st({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(e,t,r){let{parser:n,funcName:o}=e;const s=Wt(t[0],"color-token").color,i=t[1];return{type:"enclose",mode:n.mode,label:o,backgroundColor:s,body:i}},htmlBuilder:Pr,mathmlBuilder:Lr}),st({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(e,t,r){let{parser:n,funcName:o}=e;const s=Wt(t[0],"color-token").color,i=Wt(t[1],"color-token").color,l=t[2];return{type:"enclose",mode:n.mode,label:o,backgroundColor:i,borderColor:s,body:l}},htmlBuilder:Pr,mathmlBuilder:Lr}),st({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(e,t){let{parser:r}=e;return{type:"enclose",mode:r.mode,label:"\\fbox",body:t[0]}}}),st({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(e,t){let{parser:r,funcName:n}=e;const o=t[0];return{type:"enclose",mode:r.mode,label:n,body:o}},htmlBuilder:Pr,mathmlBuilder:Lr}),st({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(e,t){let{parser:r}=e;return{type:"enclose",mode:r.mode,label:"\\angl",body:t[0]}}});const Vr={};function Fr(e){let{type:t,names:r,props:n,handler:o,htmlBuilder:s,mathmlBuilder:i}=e;const l={type:t,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:o};for(let e=0;e{if(!e.parser.settings.displayMode)throw new n("{"+e.envName+"} can be used only in display mode.")},jr=new Set(["gather","gather*"]);function $r(e){if(!e.includes("ed"))return!e.includes("*")}function Zr(e,t,r){let{hskipBeforeAndAfter:o,addJot:s,cols:i,arraystretch:l,colSeparationType:a,autoTag:h,singleRow:c,emptySingleRow:m,maxNumCols:u,leqno:p}=t;if(e.gullet.beginGroup(),c||e.gullet.macros.set("\\cr","\\\\\\relax"),!l){const t=e.gullet.expandMacroAsText("\\arraystretch");if(null==t)l=1;else if(l=parseFloat(t),!l||l<0)throw new n("Invalid \\arraystretch: "+t)}e.gullet.beginGroup();let d=[];const g=[d],f=[],b=[],y=null!=h?[]:void 0;function x(){h&&e.gullet.macros.set("\\@eqnsw","1",!0)}function w(){y&&(e.gullet.macros.get("\\df@tag")?(y.push(e.subparse([new Yr("\\df@tag")])),e.gullet.macros.set("\\df@tag",void 0,!0)):y.push(Boolean(h)&&"1"===e.gullet.macros.get("\\@eqnsw")))}for(x(),b.push(Xr(e));;){let t=e.parseExpression(!1,c?"\\end":"\\\\");e.gullet.endGroup(),e.gullet.beginGroup(),t={type:"ordgroup",mode:e.mode,body:t},r&&(t={type:"styling",mode:e.mode,style:r,body:[t]}),d.push(t);const o=e.fetch().text;if("&"===o){if(u&&d.length===u){if(c||a)throw new n("Too many tab characters: &",e.nextToken);e.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}e.consume()}else{if("\\end"===o){w(),1===d.length&&"styling"===t.type&&0===t.body[0].body.length&&(g.length>1||!m)&&g.pop(),b.length0&&(y+=.25),h.push({pos:y,isDashed:e[t]})}for(x(i[0]),r=0;r0&&(u+=b,he))for(r=0;r=l)continue;var T;if(o>0||e.hskipBeforeAndAfter)i=null!=(T=h.pregap)?T:u,0!==i&&(S=Ve(["arraycolsep"],[]),S.style.width=U(i),k.push(S));let p=[];for(r=0;r0){const e=Ge("hline",t,c),r=Ge("hdashline",t,c),n=[{type:"elem",elem:a,shift:0}];for(;h.length>0;){const t=h.pop(),o=t.pos-w;t.isDashed?n.push({type:"elem",elem:r,shift:o}):n.push({type:"elem",elem:e,shift:o})}a=Ye({positionType:"individualShift",children:n})}if(0===A.length)return Ve(["mord"],[a],t);{let e=Ye({positionType:"individualShift",children:A});return e=Ve(["tag"],[e],t),Ue([a,e])}},Qr={c:"center ",l:"left ",r:"right "},en=function(e,t){const r=[],n=new zt("mtd",[],["mtr-glue"]),o=new zt("mtd",[],["mml-eqn-num"]);for(let s=0;s0){const t=e.cols;let r="",n=!1,o=0,i=t.length;"separator"===t[0].type&&(l+="top ",o=1),"separator"===t[t.length-1].type&&(l+="bottom ",i-=1);for(let e=o;e0?"left ":"",l+=c[c.length-1].length>0?"right ":"";for(let e=1;e0&&c&&(n=1),r[e]={type:"align",align:t,pregap:n,postgap:0}}return i.colSeparationType=c?"align":"alignat",i};Fr({type:"array",names:["array","darray"],props:{numArgs:1},handler(e,t){const r=(Xt(t[0])?[t[0]]:Wt(t[0],"ordgroup").body).map(function(e){const t=Yt(e).text;if("lcr".includes(t))return{type:"align",align:t};if("|"===t)return{type:"separator",separator:"|"};if(":"===t)return{type:"separator",separator:":"};throw new n("Unknown column alignment: "+t,e)}),o={cols:r,hskipBeforeAndAfter:!0,maxNumCols:r.length};return Zr(e.parser,o,Kr(e.envName))},htmlBuilder:Jr,mathmlBuilder:en}),Fr({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(e){const t={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[e.envName.replace("*","")];let r="c";const o={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if("*"===e.envName.charAt(e.envName.length-1)){const t=e.parser;if(t.consumeSpaces(),"["===t.fetch().text){if(t.consume(),t.consumeSpaces(),r=t.fetch().text,!"lcr".includes(r))throw new n("Expected l or c or r",t.nextToken);t.consume(),t.consumeSpaces(),t.expect("]"),t.consume(),o.cols=[{type:"align",align:r}]}}const s=Zr(e.parser,o,Kr(e.envName)),i=Math.max(0,...s.body.map(e=>e.length));return s.cols=new Array(i).fill({type:"align",align:r}),t?{type:"leftright",mode:e.mode,body:[s],left:t[0],right:t[1],rightColor:void 0}:s},htmlBuilder:Jr,mathmlBuilder:en}),Fr({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(e){const t=Zr(e.parser,{arraystretch:.5},"script");return t.colSeparationType="small",t},htmlBuilder:Jr,mathmlBuilder:en}),Fr({type:"array",names:["subarray"],props:{numArgs:1},handler(e,t){const r=(Xt(t[0])?[t[0]]:Wt(t[0],"ordgroup").body).map(function(e){const t=Yt(e).text;if("lc".includes(t))return{type:"align",align:t};throw new n("Unknown column alignment: "+t,e)});if(r.length>1)throw new n("{subarray} can contain only one column");let o={cols:r,hskipBeforeAndAfter:!1,arraystretch:.5};if(o=Zr(e.parser,o,"script"),o.body.length>0&&o.body[0].length>1)throw new n("{subarray} can contain only one column");return o},htmlBuilder:Jr,mathmlBuilder:en}),Fr({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(e){const t=Zr(e.parser,{arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},Kr(e.envName));return{type:"leftright",mode:e.mode,body:[t],left:e.envName.includes("r")?".":"\\{",right:e.envName.includes("r")?"\\}":".",rightColor:void 0}},htmlBuilder:Jr,mathmlBuilder:en}),Fr({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:tn,htmlBuilder:Jr,mathmlBuilder:en}),Fr({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(e){jr.has(e.envName)&&_r(e);const t={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:$r(e.envName),emptySingleRow:!0,leqno:e.parser.settings.leqno};return Zr(e.parser,t,"display")},htmlBuilder:Jr,mathmlBuilder:en}),Fr({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:tn,htmlBuilder:Jr,mathmlBuilder:en}),Fr({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(e){_r(e);const t={autoTag:$r(e.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:e.parser.settings.leqno};return Zr(e.parser,t,"display")},htmlBuilder:Jr,mathmlBuilder:en}),Fr({type:"array",names:["CD"],props:{numArgs:0},handler(e){return _r(e),function(e){const t=[];for(e.gullet.beginGroup(),e.gullet.macros.set("\\cr","\\\\\\relax"),e.gullet.beginGroup();;){t.push(e.parseExpression(!1,"\\\\")),e.gullet.endGroup(),e.gullet.beginGroup();const r=e.fetch().text;if("&"!==r&&"\\\\"!==r){if("\\end"===r){0===t[t.length-1].length&&t.pop();break}throw new n("Expected \\\\ or \\cr or \\end",e.nextToken)}e.consume()}let r=[];const o=[r];for(let s=0;sAV".includes(o))throw new n('Expected one of "<>AV=|." after @',i[t]);for(let e=0;e<2;e++){let r=!0;for(let l=t+1;l{const r=e.font,n=t.withFont(r);return xt(e.body,n)},on=(e,t)=>{const r=e.font,n=t.withFont(r);return Et(e.body,n)},sn={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};st({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=lt(t[0]);let s=n;return s in sn&&(s=sn[s]),{type:"font",mode:r.mode,font:s.slice(1),body:o}},htmlBuilder:nn,mathmlBuilder:on}),st({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(e,t)=>{let{parser:r}=e;const n=t[0];return{type:"mclass",mode:r.mode,mclass:Qt(n),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:n}],isCharacterBox:m(n)}}}),st({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(e,t)=>{let{parser:r,funcName:n,breakOnTokenText:o}=e;const{mode:s}=r,i=r.parseExpression(!0,o);return{type:"font",mode:s,font:"math"+n.slice(1),body:{type:"ordgroup",mode:r.mode,body:i}}},htmlBuilder:nn,mathmlBuilder:on});const ln=(e,t)=>{if(!t)return e;return{type:"styling",mode:e.mode,style:t,body:[e]}};st({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=t[0],s=t[1];let i,l=null,a=null;switch(n){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":i=!0;break;case"\\\\atopfrac":i=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":i=!1,l="(",a=")";break;case"\\\\bracefrac":i=!1,l="\\{",a="\\}";break;case"\\\\brackfrac":i=!1,l="[",a="]";break;default:throw new Error("Unrecognized genfrac command")}const h="\\cfrac"===n;let c=null;return h||n.startsWith("\\d")?c="display":n.startsWith("\\t")&&(c="text"),ln({type:"genfrac",mode:r.mode,numer:o,denom:s,continued:h,hasBarLine:i,leftDelim:l,rightDelim:a,barSize:null},c)},htmlBuilder:(e,t)=>{const r=t.style,n=r.fracNum(),o=r.fracDen();let s;s=t.havingStyle(n);const i=xt(e.numer,s,t);if(e.continued){const e=8.5/t.fontMetrics().ptPerEm,r=3.5/t.fontMetrics().ptPerEm;i.height=i.height0?3*c:7*c,p=t.fontMetrics().denom1):(h>0?(m=t.fontMetrics().num2,u=c):(m=t.fontMetrics().num3,u=3*c),p=t.fontMetrics().denom2),a){const e=t.fontMetrics().axisHeight;m-i.depth-(e+.5*h){const r=new zt("mfrac",[Et(e.numer,t),Et(e.denom,t)]);if(e.hasBarLine){if(e.barSize){const n=G(e.barSize,t);r.setAttribute("linethickness",U(n))}}else r.setAttribute("linethickness","0px");if(null!=e.leftDelim||null!=e.rightDelim){const t=[];if(null!=e.leftDelim){const r=new zt("mo",[new St(e.leftDelim.replace("\\",""))]);r.setAttribute("fence","true"),t.push(r)}if(t.push(r),null!=e.rightDelim){const r=new zt("mo",[new St(e.rightDelim.replace("\\",""))]);r.setAttribute("fence","true"),t.push(r)}return qt(t)}return r}}),st({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(e){let t,{parser:r,funcName:n,token:o}=e;switch(n){case"\\over":t="\\frac";break;case"\\choose":t="\\binom";break;case"\\atop":t="\\\\atopfrac";break;case"\\brace":t="\\\\bracefrac";break;case"\\brack":t="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:r.mode,replaceWith:t,token:o}}});const an=["display","text","script","scriptscript"],hn=function(e){let t=null;return e.length>0&&(t=e,t="."===t?null:t),t};st({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(e,t){let{parser:r}=e;const n=t[4],o=t[5],s=lt(t[0]),i="atom"===s.type&&"open"===s.family?hn(s.text):null,l=lt(t[1]),a="atom"===l.type&&"close"===l.family?hn(l.text):null,h=Wt(t[2],"size");let c,m=null;h.isBlank?c=!0:(m=h.value,c=m.number>0);let u=null,p=t[3];if("ordgroup"===p.type){if(p.body.length>0){const e=Wt(p.body[0],"textord");u=an[Number(e.text)]}}else p=Wt(p,"textord"),u=an[Number(p.text)];return ln({type:"genfrac",mode:r.mode,numer:n,denom:o,continued:!1,hasBarLine:c,barSize:m,leftDelim:i,rightDelim:a},u)}}),st({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(e,t){let{parser:r,funcName:n,token:o}=e;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:Wt(t[0],"size").value,token:o}}}),st({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=t[0],s=Wt(t[1],"infix").size;if(!s)throw new Error("\\\\abovefrac expected size, but got "+String(s));const i=t[2],l=s.number>0;return{type:"genfrac",mode:r.mode,numer:o,denom:i,continued:!1,hasBarLine:l,barSize:s,leftDelim:null,rightDelim:null}}});const cn=(e,t)=>{const r=t.style;let n,o;"supsub"===e.type?(n=e.sup?xt(e.sup,t.havingStyle(r.sup()),t):xt(e.sub,t.havingStyle(r.sub()),t),o=Wt(e.base,"horizBrace")):o=Wt(e,"horizBrace");const s=xt(o.base,t.havingBaseStyle(z.DISPLAY)),i=Ut(o,t);let l;if(o.isOver?(l=Ye({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:i}]}),l.children[0].children[0].children[1].classes.push("svg-align")):(l=Ye({positionType:"bottom",positionData:s.depth+.1+i.height,children:[{type:"elem",elem:i},{type:"kern",size:.1},{type:"elem",elem:s}]}),l.children[0].children[0].children[0].classes.push("svg-align")),n){const e=Ve(["mord",o.isOver?"mover":"munder"],[l],t);l=o.isOver?Ye({positionType:"firstBaseline",children:[{type:"elem",elem:e},{type:"kern",size:.2},{type:"elem",elem:n}]}):Ye({positionType:"bottom",positionData:e.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:e}]})}return Ve(["mord",o.isOver?"mover":"munder"],[l],t)};st({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(e,t){let{parser:r,funcName:n}=e;return{type:"horizBrace",mode:r.mode,label:n,isOver:/^\\over/.test(n),base:t[0]}},htmlBuilder:cn,mathmlBuilder:(e,t)=>{const r=Vt(e.label);return new zt(e.isOver?"mover":"munder",[Et(e.base,t),r])}}),st({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;const n=t[1],o=Wt(t[0],"url").url;return r.settings.isTrusted({command:"\\href",url:o})?{type:"href",mode:r.mode,href:o,body:at(n)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:(e,t)=>{const r=pt(e.body,t,!1);return function(e,t,r,n){const o=new Z(e,t,r,n);return Le(o),o}(e.href,[],r,t)},mathmlBuilder:(e,t)=>{let r=Rt(e.body,t);return r instanceof zt||(r=new zt("mrow",[r])),r.setAttribute("href",e.href),r}}),st({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;const n=Wt(t[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");const o=[];for(let e=0;e{let{parser:r,funcName:o,token:s}=e;const i=Wt(t[0],"raw").string,l=t[1];let a;r.settings.strict&&r.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");const h={};switch(o){case"\\htmlClass":h.class=i,a={command:"\\htmlClass",class:i};break;case"\\htmlId":h.id=i,a={command:"\\htmlId",id:i};break;case"\\htmlStyle":h.style=i,a={command:"\\htmlStyle",style:i};break;case"\\htmlData":{const e=i.split(",");for(let t=0;t{const r=pt(e.body,t,!1),n=["enclosing"];e.attributes.class&&n.push(...e.attributes.class.trim().split(/\s+/));const o=Ve(n,r,t);for(const t in e.attributes)"class"!==t&&e.attributes.hasOwnProperty(t)&&o.setAttribute(t,e.attributes[t]);return o},mathmlBuilder:(e,t)=>Rt(e.body,t)}),st({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInArgument:!0,allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;return{type:"htmlmathml",mode:r.mode,html:at(t[0]),mathml:at(t[1])}},htmlBuilder:(e,t)=>{const r=pt(e.html,t,!1);return Ue(r)},mathmlBuilder:(e,t)=>Rt(e.mathml,t)});const mn=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};{const t=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!t)throw new n("Invalid size: '"+e+"' in \\includegraphics");const r={number:+(t[1]+t[2]),unit:t[3]};if(!F(r))throw new n("Invalid unit: '"+r.unit+"' in \\includegraphics.");return r}};st({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(e,t,r)=>{let{parser:o}=e,s={number:0,unit:"em"},i={number:.9,unit:"em"},l={number:0,unit:"em"},a="";if(r[0]){const e=Wt(r[0],"raw").string.split(",");for(let t=0;t{const r=G(e.height,t);let n=0;e.totalheight.number>0&&(n=G(e.totalheight,t)-r);let o=0;e.width.number>0&&(o=G(e.width,t));const s={height:U(r+n)};o>0&&(s.width=U(o)),n>0&&(s.verticalAlign=U(-n));const i=new K(e.src,e.alt,s);return i.height=r,i.depth=n,i},mathmlBuilder:(e,t)=>{const r=new zt("mglyph",[]);r.setAttribute("alt",e.alt);const n=G(e.height,t);let o=0;if(e.totalheight.number>0&&(o=G(e.totalheight,t)-n,r.setAttribute("valign",U(-o))),r.setAttribute("height",U(n+o)),e.width.number>0){const n=G(e.width,t);r.setAttribute("width",U(n))}return r.setAttribute("src",e.src),r}}),st({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(e,t){let{parser:r,funcName:n}=e;const o=Wt(t[0],"size");if(r.settings.strict){const e="m"===n[1],t="mu"===o.value.unit;e?(t||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, not "+o.value.unit+" units"),"math"!==r.mode&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):t&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:o.value}},htmlBuilder(e,t){return Xe(e.dimension,t)},mathmlBuilder(e,t){const r=G(e.dimension,t);return new Mt(r)}}),st({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=t[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:o}},htmlBuilder:(e,t)=>{let r;"clap"===e.alignment?(r=Ve([],[xt(e.body,t)]),r=Ve(["inner"],[r],t)):r=Ve(["inner"],[xt(e.body,t)]);const n=Ve(["fix"],[]);let o=Ve([e.alignment],[r,n],t);const s=Ve(["strut"]);return s.style.height=U(o.height+o.depth),o.depth&&(s.style.verticalAlign=U(-o.depth)),o.children.unshift(s),o=Ve(["thinbox"],[o],t),Ve(["mord","vbox"],[o],t)},mathmlBuilder:(e,t)=>{const r=new zt("mpadded",[Et(e.body,t)]);if("rlap"!==e.alignment){const t="llap"===e.alignment?"-1":"-0.5";r.setAttribute("lspace",t+"width")}return r.setAttribute("width","0px"),r}}),st({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(e,t){let{funcName:r,parser:n}=e;const o=n.mode;n.switchMode("math");const s="\\("===r?"\\)":"$",i=n.parseExpression(!1,s);return n.expect(s),n.switchMode(o),{type:"styling",mode:n.mode,style:"text",body:i}}}),st({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(e,t){throw new n("Mismatched "+e.funcName)}});const un=(e,t)=>{switch(t.style.size){case z.DISPLAY.size:return e.display;case z.TEXT.size:return e.text;case z.SCRIPT.size:return e.script;case z.SCRIPTSCRIPT.size:return e.scriptscript;default:return e.text}};st({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(e,t)=>{let{parser:r}=e;return{type:"mathchoice",mode:r.mode,display:at(t[0]),text:at(t[1]),script:at(t[2]),scriptscript:at(t[3])}},htmlBuilder:(e,t)=>{const r=un(e,t),n=pt(r,t,!1);return Ue(n)},mathmlBuilder:(e,t)=>{const r=un(e,t);return Rt(r,t)}});const pn=(e,t,r,n,o,s,i)=>{e=Ve([],[e]);const l=r&&m(r);let a,h,c;if(t){const e=xt(t,n.havingStyle(o.sup()),n);h={elem:e,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-e.depth)}}if(r){const e=xt(r,n.havingStyle(o.sub()),n);a={elem:e,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-e.height)}}if(h&&a){const t=n.fontMetrics().bigOpSpacing5+a.elem.height+a.elem.depth+a.kern+e.depth+i;c=Ye({positionType:"bottom",positionData:t,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:a.elem,marginLeft:U(-s)},{type:"kern",size:a.kern},{type:"elem",elem:e},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:U(s)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}else if(a){const t=e.height-i;c=Ye({positionType:"top",positionData:t,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:a.elem,marginLeft:U(-s)},{type:"kern",size:a.kern},{type:"elem",elem:e}]})}else{if(!h)return e;{const t=e.depth+i;c=Ye({positionType:"bottom",positionData:t,children:[{type:"elem",elem:e},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:U(s)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}}const u=[c];if(a&&0!==s&&!l){const e=Ve(["mspace"],[],n);e.style.marginRight=U(s),u.unshift(e)}return Ve(["mop","op-limits"],u,n)},dn=new Set(["\\smallint"]),gn=(e,t)=>{let r,n,o,s=!1;"supsub"===e.type?(r=e.sup,n=e.sub,o=Wt(e.base,"op"),s=!0):o=Wt(e,"op");const i=t.style;let l,a=!1;if(i.size===z.DISPLAY.size&&o.symbol&&!dn.has(o.name)&&(a=!0),o.symbol){const e=a?"Size2-Regular":"Size1-Regular";let r="";if("\\oiint"!==o.name&&"\\oiiint"!==o.name||(r=o.name.slice(1),o.name="oiint"===r?"\\iint":"\\iiint"),l=Ee(o.name,e,"math",t,["mop","op-symbol",a?"large-op":"small-op"]),r.length>0){const e=l.italic,n=Ze(r+"Size"+(a?"2":"1"),t);l=Ye({positionType:"individualShift",children:[{type:"elem",elem:l,shift:0},{type:"elem",elem:n,shift:a?.08:0}]}),o.name="\\"+r,l.classes.unshift("mop"),l.italic=e}}else if(o.body){const e=pt(o.body,t,!0);1===e.length&&e[0]instanceof Q?(l=e[0],l.classes[0]="mop"):l=Ve(["mop"],e,t)}else{const e=[];for(let r=1;r{let r;if(e.symbol)r=new zt("mo",[Bt(e.name,e.mode)]),dn.has(e.name)&&r.setAttribute("largeop","false");else if(e.body)r=new zt("mo",Ht(e.body,t));else{r=new zt("mi",[new St(e.name.slice(1))]);const t=new zt("mo",[Bt("\u2061","text")]);r=e.parentIsSupSub?new zt("mrow",[r,t]):kt([r,t])}return r},bn={"\u220f":"\\prod","\u2210":"\\coprod","\u2211":"\\sum","\u22c0":"\\bigwedge","\u22c1":"\\bigvee","\u22c2":"\\bigcap","\u22c3":"\\bigcup","\u2a00":"\\bigodot","\u2a01":"\\bigoplus","\u2a02":"\\bigotimes","\u2a04":"\\biguplus","\u2a06":"\\bigsqcup"};st({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","\u220f","\u2210","\u2211","\u22c0","\u22c1","\u22c2","\u22c3","\u2a00","\u2a01","\u2a02","\u2a04","\u2a06"],props:{numArgs:0},handler:(e,t)=>{let{parser:r,funcName:n}=e,o=n;return 1===o.length&&(o=bn[o]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:o}},htmlBuilder:gn,mathmlBuilder:fn}),st({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{let{parser:r}=e;const n=t[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:at(n)}},htmlBuilder:gn,mathmlBuilder:fn});const yn={"\u222b":"\\int","\u222c":"\\iint","\u222d":"\\iiint","\u222e":"\\oint","\u222f":"\\oiint","\u2230":"\\oiiint"};st({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(e){let{parser:t,funcName:r}=e;return{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:gn,mathmlBuilder:fn}),st({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(e){let{parser:t,funcName:r}=e;return{type:"op",mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:gn,mathmlBuilder:fn}),st({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","\u222b","\u222c","\u222d","\u222e","\u222f","\u2230"],props:{numArgs:0,allowedInArgument:!0},handler(e){let{parser:t,funcName:r}=e,n=r;return 1===n.length&&(n=yn[n]),{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:gn,mathmlBuilder:fn});const xn=(e,t)=>{let r,n,o,s,i=!1;if("supsub"===e.type?(r=e.sup,n=e.sub,o=Wt(e.base,"operatorname"),i=!0):o=Wt(e,"operatorname"),o.body.length>0){const e=o.body.map(e=>{const t=e.text;return"string"==typeof t?{type:"textord",mode:e.mode,text:t}:e}),r=pt(e,t.withFont("mathrm"),!0);for(let e=0;e{let{parser:r,funcName:n}=e;const o=t[0];return{type:"operatorname",mode:r.mode,body:at(o),alwaysHandleSupSub:"\\operatornamewithlimits"===n,limits:!1,parentIsSupSub:!1}},htmlBuilder:xn,mathmlBuilder:(e,t)=>{let r=Ht(e.body,t.withFont("mathrm")),n=!0;for(let e=0;ee.toText()).join("");r=[new St(e)]}const o=new zt("mi",r);o.setAttribute("mathvariant","normal");const s=new zt("mo",[Bt("\u2061","text")]);return e.parentIsSupSub?new zt("mrow",[o,s]):kt([o,s])}}),Ur("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@"),it({type:"ordgroup",htmlBuilder(e,t){return e.semisimple?Ue(pt(e.body,t,!1)):Ve(["mord"],pt(e.body,t,!0),t)},mathmlBuilder(e,t){return Rt(e.body,t,!0)}}),st({type:"overline",names:["\\overline"],props:{numArgs:1},handler(e,t){let{parser:r}=e;const n=t[0];return{type:"overline",mode:r.mode,body:n}},htmlBuilder(e,t){const r=xt(e.body,t.havingCrampedStyle()),n=Ge("overline-line",t),o=t.fontMetrics().defaultRuleThickness,s=Ye({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*o},{type:"elem",elem:n},{type:"kern",size:o}]});return Ve(["mord","overline"],[s],t)},mathmlBuilder(e,t){const r=new zt("mo",[new St("\u203e")]);r.setAttribute("stretchy","true");const n=new zt("mover",[Et(e.body,t),r]);return n.setAttribute("accent","true"),n}}),st({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;const n=t[0];return{type:"phantom",mode:r.mode,body:at(n)}},htmlBuilder:(e,t)=>{const r=pt(e.body,t.withPhantom(),!1);return Ue(r)},mathmlBuilder:(e,t)=>{const r=Ht(e.body,t);return new zt("mphantom",r)}}),st({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;const n=t[0];return{type:"hphantom",mode:r.mode,body:n}},htmlBuilder:(e,t)=>{let r=Ve([],[xt(e.body,t.withPhantom())]);if(r.height=0,r.depth=0,r.children)for(let e=0;e{const r=Ht(at(e.body),t),n=new zt("mphantom",r),o=new zt("mpadded",[n]);return o.setAttribute("height","0px"),o.setAttribute("depth","0px"),o}}),st({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;const n=t[0];return{type:"vphantom",mode:r.mode,body:n}},htmlBuilder:(e,t)=>{const r=Ve(["inner"],[xt(e.body,t.withPhantom())]),n=Ve(["fix"],[]);return Ve(["mord","rlap"],[r,n],t)},mathmlBuilder:(e,t)=>{const r=Ht(at(e.body),t),n=new zt("mphantom",r),o=new zt("mpadded",[n]);return o.setAttribute("width","0px"),o}}),st({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(e,t){let{parser:r}=e;const n=Wt(t[0],"size").value,o=t[1];return{type:"raisebox",mode:r.mode,dy:n,body:o}},htmlBuilder(e,t){const r=xt(e.body,t),n=G(e.dy,t);return Ye({positionType:"shift",positionData:-n,children:[{type:"elem",elem:r}]})},mathmlBuilder(e,t){const r=new zt("mpadded",[Et(e.body,t)]),n=e.dy.number+e.dy.unit;return r.setAttribute("voffset",n),r}}),st({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(e){let{parser:t}=e;return{type:"internal",mode:t.mode}}}),st({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(e,t,r){let{parser:n}=e;const o=r[0],s=Wt(t[0],"size"),i=Wt(t[1],"size");return{type:"rule",mode:n.mode,shift:o&&Wt(o,"size").value,width:s.value,height:i.value}},htmlBuilder(e,t){const r=Ve(["mord","rule"],[],t),n=G(e.width,t),o=G(e.height,t),s=e.shift?G(e.shift,t):0;return r.style.borderRightWidth=U(n),r.style.borderTopWidth=U(o),r.style.bottom=U(s),r.width=n,r.height=o+s,r.depth=-s,r.maxFontSize=1.125*o*t.sizeMultiplier,r},mathmlBuilder(e,t){const r=G(e.width,t),n=G(e.height,t),o=e.shift?G(e.shift,t):0,s=t.color&&t.getColor()||"black",i=new zt("mspace");i.setAttribute("mathbackground",s),i.setAttribute("width",U(r)),i.setAttribute("height",U(n));const l=new zt("mpadded",[i]);return o>=0?l.setAttribute("height",U(o)):(l.setAttribute("height",U(o)),l.setAttribute("depth",U(-o))),l.setAttribute("voffset",U(o)),l}});const vn=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"];st({type:"sizing",names:vn,props:{numArgs:0,allowedInText:!0},handler:(e,t)=>{let{breakOnTokenText:r,funcName:n,parser:o}=e;const s=o.parseExpression(!1,r);return{type:"sizing",mode:o.mode,size:vn.indexOf(n)+1,body:s}},htmlBuilder:(e,t)=>{const r=t.havingSize(e.size);return wn(e.body,r,t)},mathmlBuilder:(e,t)=>{const r=t.havingSize(e.size),n=Ht(e.body,r),o=new zt("mstyle",n);return o.setAttribute("mathsize",U(r.sizeMultiplier)),o}}),st({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(e,t,r)=>{let{parser:n}=e,o=!1,s=!1;const i=r[0]&&Wt(r[0],"ordgroup");if(i){let e="";for(let t=0;t{const r=Ve([],[xt(e.body,t)]);if(!e.smashHeight&&!e.smashDepth)return r;if(e.smashHeight&&(r.height=0,r.children))for(let e=0;e{const r=new zt("mpadded",[Et(e.body,t)]);return e.smashHeight&&r.setAttribute("height","0px"),e.smashDepth&&r.setAttribute("depth","0px"),r}}),st({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(e,t,r){let{parser:n}=e;const o=r[0],s=t[0];return{type:"sqrt",mode:n.mode,body:s,index:o}},htmlBuilder(e,t){let r=xt(e.body,t.havingCrampedStyle());0===r.height&&(r.height=t.fontMetrics().xHeight),r=We(r,t);const n=t.fontMetrics().defaultRuleThickness;let o=n;t.style.idr.height+r.depth+s&&(s=(s+c-r.height-r.depth)/2);const m=l.height-r.height-s-a;r.style.paddingLeft=U(h);const u=Ye({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+m)},{type:"elem",elem:l},{type:"kern",size:a}]});if(e.index){const r=t.havingStyle(z.SCRIPTSCRIPT),n=xt(e.index,r,t),o=.6*(u.height-u.depth),s=Ye({positionType:"shift",positionData:-o,children:[{type:"elem",elem:n}]}),i=Ve(["root"],[s]);return Ve(["mord","sqrt"],[i,u],t)}return Ve(["mord","sqrt"],[u],t)},mathmlBuilder(e,t){const{body:r,index:n}=e;return n?new zt("mroot",[Et(r,t),Et(n,t)]):new zt("msqrt",[Et(r,t)])}});const kn={display:z.DISPLAY,text:z.TEXT,script:z.SCRIPT,scriptscript:z.SCRIPTSCRIPT};st({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e,t){let{breakOnTokenText:r,funcName:n,parser:o}=e;const s=o.parseExpression(!0,r),i=n.slice(1,n.length-5);return{type:"styling",mode:o.mode,style:i,body:s}},htmlBuilder(e,t){const r=kn[e.style],n=t.havingStyle(r).withFont("");return wn(e.body,n,t)},mathmlBuilder(e,t){const r=kn[e.style],n=t.havingStyle(r),o=Ht(e.body,n),s=new zt("mstyle",o),i={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]}[e.style];return s.setAttribute("scriptlevel",i[0]),s.setAttribute("displaystyle",i[1]),s}});it({type:"supsub",htmlBuilder(e,t){const r=function(e,t){const r=e.base;if(r)return"op"===r.type?r.limits&&(t.style.size===z.DISPLAY.size||r.alwaysHandleSupSub)?gn:null:"operatorname"===r.type?r.alwaysHandleSupSub&&(t.style.size===z.DISPLAY.size||r.limits)?xn:null:"accent"===r.type?m(r.base)?_t:null:"horizBrace"===r.type&&!e.sub===r.isOver?cn:null;return null}(e,t);if(r)return r(e,t);const{base:n,sup:o,sub:s}=e,i=xt(n,t);let l,a;const h=t.fontMetrics();let c=0,u=0;const p=n&&m(n);if(o){const e=t.havingStyle(t.style.sup());l=xt(o,e,t),p||(c=i.height-e.fontMetrics().supDrop*e.sizeMultiplier/t.sizeMultiplier)}if(s){const e=t.havingStyle(t.style.sub());a=xt(s,e,t),p||(u=i.depth+e.fontMetrics().subDrop*e.sizeMultiplier/t.sizeMultiplier)}let d;d=t.style===z.DISPLAY?h.sup1:t.style.cramped?h.sup3:h.sup2;const g=t.sizeMultiplier,f=U(.5/h.ptPerEm/g);let b,y=null;if(a){const t=e.base&&"op"===e.base.type&&e.base.name&&("\\oiint"===e.base.name||"\\oiiint"===e.base.name);(i instanceof Q||t)&&(y=U(-i.italic))}if(l&&a){c=Math.max(c,d,l.depth+.25*h.xHeight),u=Math.max(u,h.sub2);const e=4*h.defaultRuleThickness;if(c-l.depth-(a.height-u)0&&(c+=t,u-=t)}b=Ye({positionType:"individualShift",children:[{type:"elem",elem:a,shift:u,marginRight:f,marginLeft:y},{type:"elem",elem:l,shift:-c,marginRight:f}]})}else if(a){u=Math.max(u,h.sub1,a.height-.8*h.xHeight);b=Ye({positionType:"shift",positionData:u,children:[{type:"elem",elem:a,marginLeft:y,marginRight:f}]})}else{if(!l)throw new Error("supsub must have either sup or sub.");c=Math.max(c,d,l.depth+.25*h.xHeight),b=Ye({positionType:"shift",positionData:-c,children:[{type:"elem",elem:l,marginRight:f}]})}const x=bt(i,"right")||"mord";return Ve([x],[i,Ve(["msupsub"],[b])],t)},mathmlBuilder(e,t){let r,n,o=!1;e.base&&"horizBrace"===e.base.type&&(n=!!e.sup,n===e.base.isOver&&(o=!0,r=e.base.isOver)),!e.base||"op"!==e.base.type&&"operatorname"!==e.base.type||(e.base.parentIsSupSub=!0);const s=[Et(e.base,t)];let i;if(e.sub&&s.push(Et(e.sub,t)),e.sup&&s.push(Et(e.sup,t)),o)i=r?"mover":"munder";else if(e.sub)if(e.sup){const r=e.base;i=r&&"op"===r.type&&r.limits&&t.style===z.DISPLAY||r&&"operatorname"===r.type&&r.alwaysHandleSupSub&&(t.style===z.DISPLAY||r.limits)?"munderover":"msubsup"}else{const r=e.base;i=r&&"op"===r.type&&r.limits&&(t.style===z.DISPLAY||r.alwaysHandleSupSub)||r&&"operatorname"===r.type&&r.alwaysHandleSupSub&&(r.limits||t.style===z.DISPLAY)?"munder":"msub"}else{const r=e.base;i=r&&"op"===r.type&&r.limits&&(t.style===z.DISPLAY||r.alwaysHandleSupSub)||r&&"operatorname"===r.type&&r.alwaysHandleSupSub&&(r.limits||t.style===z.DISPLAY)?"mover":"msup"}return new zt(i,s)}}),it({type:"atom",htmlBuilder(e,t){return Oe(e.text,e.mode,t,["m"+e.family])},mathmlBuilder(e,t){const r=new zt("mo",[Bt(e.text,e.mode)]);if("bin"===e.family){const n=Ct(e,t);"bold-italic"===n&&r.setAttribute("mathvariant",n)}else"punct"===e.family?r.setAttribute("separator","true"):"open"!==e.family&&"close"!==e.family||r.setAttribute("stretchy","false");return r}});const zn={mi:"italic",mn:"normal",mtext:"normal"};it({type:"mathord",htmlBuilder(e,t){return Ne(e,t,"mathord")},mathmlBuilder(e,t){const r=new zt("mi",[Bt(e.text,e.mode,t)]),n=Ct(e,t)||"italic";return n!==zn[r.type]&&r.setAttribute("mathvariant",n),r}}),it({type:"textord",htmlBuilder(e,t){return Ne(e,t,"textord")},mathmlBuilder(e,t){const r=Bt(e.text,e.mode,t),n=Ct(e,t)||"normal";let o;return o="text"===e.mode?new zt("mtext",[r]):/[0-9]/.test(e.text)?new zt("mn",[r]):"\\prime"===e.text?new zt("mo",[r]):new zt("mi",[r]),n!==zn[o.type]&&o.setAttribute("mathvariant",n),o}});const Sn={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},Mn={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};it({type:"spacing",htmlBuilder(e,t){if(Mn.hasOwnProperty(e.text)){const r=Mn[e.text].className||"";if("text"===e.mode){const n=Ne(e,t,"textord");return n.classes.push(r),n}return Ve(["mspace",r],[Oe(e.text,e.mode,t)],t)}if(Sn.hasOwnProperty(e.text))return Ve(["mspace",Sn[e.text]],[],t);throw new n('Unknown type of space "'+e.text+'"')},mathmlBuilder(e,t){let r;if(!Mn.hasOwnProperty(e.text)){if(Sn.hasOwnProperty(e.text))return new zt("mspace");throw new n('Unknown type of space "'+e.text+'"')}return r=new zt("mtext",[new St("\xa0")]),r}});const An=()=>{const e=new zt("mtd",[]);return e.setAttribute("width","50%"),e};it({type:"tag",mathmlBuilder(e,t){const r=new zt("mtable",[new zt("mtr",[An(),new zt("mtd",[Rt(e.body,t)]),An(),new zt("mtd",[Rt(e.tag,t)])])]);return r.setAttribute("width","100%"),r}});const Tn={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},Bn={"\\textbf":"textbf","\\textmd":"textmd"},qn={"\\textit":"textit","\\textup":"textup"},Cn=(e,t)=>{const r=e.font;return r?Tn[r]?t.withTextFontFamily(Tn[r]):Bn[r]?t.withTextFontWeight(Bn[r]):"\\emph"===r?"textit"===t.fontShape?t.withTextFontShape("textup"):t.withTextFontShape("textit"):t.withTextFontShape(qn[r]):t};st({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(e,t){let{parser:r,funcName:n}=e;const o=t[0];return{type:"text",mode:r.mode,body:at(o),font:n}},htmlBuilder(e,t){const r=Cn(e,t),n=pt(e.body,r,!0);return Ve(["mord","text"],n,r)},mathmlBuilder(e,t){const r=Cn(e,t);return Rt(e.body,r)}}),st({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(e,t){let{parser:r}=e;return{type:"underline",mode:r.mode,body:t[0]}},htmlBuilder(e,t){const r=xt(e.body,t),n=Ge("underline-line",t),o=t.fontMetrics().defaultRuleThickness,s=Ye({positionType:"top",positionData:r.height,children:[{type:"kern",size:o},{type:"elem",elem:n},{type:"kern",size:3*o},{type:"elem",elem:r}]});return Ve(["mord","underline"],[s],t)},mathmlBuilder(e,t){const r=new zt("mo",[new St("\u203e")]);r.setAttribute("stretchy","true");const n=new zt("munder",[Et(e.body,t),r]);return n.setAttribute("accentunder","true"),n}}),st({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(e,t){let{parser:r}=e;return{type:"vcenter",mode:r.mode,body:t[0]}},htmlBuilder(e,t){const r=xt(e.body,t),n=t.fontMetrics().axisHeight,o=.5*(r.height-n-(r.depth+n));return Ye({positionType:"shift",positionData:o,children:[{type:"elem",elem:r}]})},mathmlBuilder(e,t){return new zt("mpadded",[Et(e.body,t)],["vcenter"])}}),st({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(e,t,r){throw new n("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(e,t){const r=In(e),n=[],o=t.havingStyle(t.style.text());for(let t=0;te.body.replace(/ /g,e.star?"\u2423":"\xa0");var Hn=rt;const Rn="[ \r\n\t]",En="(\\\\[a-zA-Z@]+)"+Rn+"*",On="[\u0300-\u036f]",Nn=new RegExp(On+"+$"),Dn="("+Rn+"+)|\\\\(\n|[ \r\t]+\n?)[ \r\t]*|([!-\\[\\]-\u2027\u202a-\ud7ff\uf900-\uffff]"+On+"*|[\ud800-\udbff][\udc00-\udfff]"+On+"*|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5|"+En+"|\\\\[^\ud800-\udfff])";class Pn{constructor(e,t){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=t,this.tokenRegex=new RegExp(Dn,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,t){this.catcodes[e]=t}lex(){const e=this.input,t=this.tokenRegex.lastIndex;if(t===e.length)return new Yr("EOF",new Wr(this,t,t));const r=this.tokenRegex.exec(e);if(null===r||r.index!==t)throw new n("Unexpected character: '"+e[t]+"'",new Yr(e[t],new Wr(this,t,t+1)));const o=r[6]||r[3]||(r[2]?"\\ ":" ");if(14===this.catcodes[o]){const t=e.indexOf("\n",this.tokenRegex.lastIndex);return-1===t?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=t+1,this.lex()}return new Yr(o,new Wr(this,t,this.tokenRegex.lastIndex))}}class Ln{constructor(e,t){void 0===e&&(e={}),void 0===t&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(0===this.undefStack.length)throw new n("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");const e=this.undefStack.pop();for(const t in e)e.hasOwnProperty(t)&&(null==e[t]?delete this.current[t]:this.current[t]=e[t])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,t,r){if(void 0===r&&(r=!1),r){for(let t=0;t0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{const t=this.undefStack[this.undefStack.length-1];t&&!t.hasOwnProperty(e)&&(t[e]=this.current[e])}null==t?delete this.current[e]:this.current[e]=t}}var Vn=Gr;Ur("\\noexpand",function(e){const t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}}),Ur("\\expandafter",function(e){const t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}}),Ur("\\@firstoftwo",function(e){return{tokens:e.consumeArgs(2)[0],numArgs:0}}),Ur("\\@secondoftwo",function(e){return{tokens:e.consumeArgs(2)[1],numArgs:0}}),Ur("\\@ifnextchar",function(e){const t=e.consumeArgs(3);e.consumeSpaces();const r=e.future();return 1===t[0].length&&t[0][0].text===r.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}}),Ur("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),Ur("\\TextOrMath",function(e){const t=e.consumeArgs(2);return"text"===e.mode?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}});const Fn={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};Ur("\\char",function(e){let t,r=e.popToken(),o="";if("'"===r.text)t=8,r=e.popToken();else if('"'===r.text)t=16,r=e.popToken();else if("`"===r.text)if(r=e.popToken(),"\\"===r.text[0])o=r.text.charCodeAt(1);else{if("EOF"===r.text)throw new n("\\char` missing argument");o=r.text.charCodeAt(0)}else t=10;if(t){if(o=Fn[r.text],null==o||o>=t)throw new n("Invalid base-"+t+" digit "+r.text);let s;for(;null!=(s=Fn[e.future().text])&&s{let s=e.consumeArg().tokens;if(1!==s.length)throw new n("\\newcommand's first argument must be a macro name");const i=s[0].text,l=e.isDefined(i);if(l&&!t)throw new n("\\newcommand{"+i+"} attempting to redefine "+i+"; use \\renewcommand");if(!l&&!r)throw new n("\\renewcommand{"+i+"} when command "+i+" does not yet exist; use \\newcommand");let a=0;if(s=e.consumeArg().tokens,1===s.length&&"["===s[0].text){let t="",r=e.expandNextToken();for(;"]"!==r.text&&"EOF"!==r.text;)t+=r.text,r=e.expandNextToken();if(!t.match(/^\s*[0-9]+\s*$/))throw new n("Invalid number of arguments: "+t);a=parseInt(t),s=e.consumeArg().tokens}return l&&o||e.macros.set(i,{tokens:s,numArgs:a}),""};Ur("\\newcommand",e=>Gn(e,!1,!0,!1)),Ur("\\renewcommand",e=>Gn(e,!0,!1,!1)),Ur("\\providecommand",e=>Gn(e,!0,!0,!0)),Ur("\\message",e=>{const t=e.consumeArgs(1)[0];return console.log(t.reverse().map(e=>e.text).join("")),""}),Ur("\\errmessage",e=>{const t=e.consumeArgs(1)[0];return console.error(t.reverse().map(e=>e.text).join("")),""}),Ur("\\show",e=>{const t=e.popToken(),r=t.text;return console.log(t,e.macros.get(r),Hn[r],le.math[r],le.text[r]),""}),Ur("\\bgroup","{"),Ur("\\egroup","}"),Ur("~","\\nobreakspace"),Ur("\\lq","`"),Ur("\\rq","'"),Ur("\\aa","\\r a"),Ur("\\AA","\\r A"),Ur("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`\xa9}"),Ur("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"),Ur("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xae}"),Ur("\u212c","\\mathscr{B}"),Ur("\u2130","\\mathscr{E}"),Ur("\u2131","\\mathscr{F}"),Ur("\u210b","\\mathscr{H}"),Ur("\u2110","\\mathscr{I}"),Ur("\u2112","\\mathscr{L}"),Ur("\u2133","\\mathscr{M}"),Ur("\u211b","\\mathscr{R}"),Ur("\u212d","\\mathfrak{C}"),Ur("\u210c","\\mathfrak{H}"),Ur("\u2128","\\mathfrak{Z}"),Ur("\\Bbbk","\\Bbb{k}"),Ur("\xb7","\\cdotp"),Ur("\\llap","\\mathllap{\\textrm{#1}}"),Ur("\\rlap","\\mathrlap{\\textrm{#1}}"),Ur("\\clap","\\mathclap{\\textrm{#1}}"),Ur("\\mathstrut","\\vphantom{(}"),Ur("\\underbar","\\underline{\\text{#1}}"),Ur("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}'),Ur("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}"),Ur("\\ne","\\neq"),Ur("\u2260","\\neq"),Ur("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}"),Ur("\u2209","\\notin"),Ur("\u2258","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}"),Ur("\u2259","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}"),Ur("\u225a","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225a}}"),Ur("\u225b","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225b}}"),Ur("\u225d","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225d}}"),Ur("\u225e","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225e}}"),Ur("\u225f","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225f}}"),Ur("\u27c2","\\perp"),Ur("\u203c","\\mathclose{!\\mkern-0.8mu!}"),Ur("\u220c","\\notni"),Ur("\u231c","\\ulcorner"),Ur("\u231d","\\urcorner"),Ur("\u231e","\\llcorner"),Ur("\u231f","\\lrcorner"),Ur("\xa9","\\copyright"),Ur("\xae","\\textregistered"),Ur("\ufe0f","\\textregistered"),Ur("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}'),Ur("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}'),Ur("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}'),Ur("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}'),Ur("\\vdots","{\\varvdots\\rule{0pt}{15pt}}"),Ur("\u22ee","\\vdots"),Ur("\\varGamma","\\mathit{\\Gamma}"),Ur("\\varDelta","\\mathit{\\Delta}"),Ur("\\varTheta","\\mathit{\\Theta}"),Ur("\\varLambda","\\mathit{\\Lambda}"),Ur("\\varXi","\\mathit{\\Xi}"),Ur("\\varPi","\\mathit{\\Pi}"),Ur("\\varSigma","\\mathit{\\Sigma}"),Ur("\\varUpsilon","\\mathit{\\Upsilon}"),Ur("\\varPhi","\\mathit{\\Phi}"),Ur("\\varPsi","\\mathit{\\Psi}"),Ur("\\varOmega","\\mathit{\\Omega}"),Ur("\\substack","\\begin{subarray}{c}#1\\end{subarray}"),Ur("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax"),Ur("\\boxed","\\fbox{$\\displaystyle{#1}$}"),Ur("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;"),Ur("\\implies","\\DOTSB\\;\\Longrightarrow\\;"),Ur("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;"),Ur("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}"),Ur("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");const Un={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"},Wn=new Set(["bin","rel"]);Ur("\\dots",function(e){let t="\\dotso";const r=e.expandAfterFuture().text;return r in Un?t=Un[r]:("\\not"===r.slice(0,4)||r in le.math&&Wn.has(le.math[r].group))&&(t="\\dotsb"),t});const Yn={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};Ur("\\dotso",function(e){return e.future().text in Yn?"\\ldots\\,":"\\ldots"}),Ur("\\dotsc",function(e){const t=e.future().text;return t in Yn&&","!==t?"\\ldots\\,":"\\ldots"}),Ur("\\cdots",function(e){return e.future().text in Yn?"\\@cdots\\,":"\\@cdots"}),Ur("\\dotsb","\\cdots"),Ur("\\dotsm","\\cdots"),Ur("\\dotsi","\\!\\cdots"),Ur("\\dotsx","\\ldots\\,"),Ur("\\DOTSI","\\relax"),Ur("\\DOTSB","\\relax"),Ur("\\DOTSX","\\relax"),Ur("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),Ur("\\,","\\tmspace+{3mu}{.1667em}"),Ur("\\thinspace","\\,"),Ur("\\>","\\mskip{4mu}"),Ur("\\:","\\tmspace+{4mu}{.2222em}"),Ur("\\medspace","\\:"),Ur("\\;","\\tmspace+{5mu}{.2777em}"),Ur("\\thickspace","\\;"),Ur("\\!","\\tmspace-{3mu}{.1667em}"),Ur("\\negthinspace","\\!"),Ur("\\negmedspace","\\tmspace-{4mu}{.2222em}"),Ur("\\negthickspace","\\tmspace-{5mu}{.277em}"),Ur("\\enspace","\\kern.5em "),Ur("\\enskip","\\hskip.5em\\relax"),Ur("\\quad","\\hskip1em\\relax"),Ur("\\qquad","\\hskip2em\\relax"),Ur("\\tag","\\@ifstar\\tag@literal\\tag@paren"),Ur("\\tag@paren","\\tag@literal{({#1})}"),Ur("\\tag@literal",e=>{if(e.macros.get("\\df@tag"))throw new n("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"}),Ur("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),Ur("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),Ur("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}"),Ur("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),Ur("\\newline","\\\\\\relax"),Ur("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");const Xn=U(q["Main-Regular"]["T".charCodeAt(0)][1]-.7*q["Main-Regular"]["A".charCodeAt(0)][1]);Ur("\\LaTeX","\\textrm{\\html@mathml{L\\kern-.36em\\raisebox{"+Xn+"}{\\scriptstyle A}\\kern-.15em\\TeX}{LaTeX}}"),Ur("\\KaTeX","\\textrm{\\html@mathml{K\\kern-.17em\\raisebox{"+Xn+"}{\\scriptstyle A}\\kern-.15em\\TeX}{KaTeX}}"),Ur("\\hspace","\\@ifstar\\@hspacer\\@hspace"),Ur("\\@hspace","\\hskip #1\\relax"),Ur("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax"),Ur("\\ordinarycolon",":"),Ur("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}"),Ur("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'),Ur("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'),Ur("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'),Ur("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'),Ur("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'),Ur("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'),Ur("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'),Ur("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'),Ur("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'),Ur("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'),Ur("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'),Ur("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'),Ur("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'),Ur("\u2237","\\dblcolon"),Ur("\u2239","\\eqcolon"),Ur("\u2254","\\coloneqq"),Ur("\u2255","\\eqqcolon"),Ur("\u2a74","\\Coloneqq"),Ur("\\ratio","\\vcentcolon"),Ur("\\coloncolon","\\dblcolon"),Ur("\\colonequals","\\coloneqq"),Ur("\\coloncolonequals","\\Coloneqq"),Ur("\\equalscolon","\\eqqcolon"),Ur("\\equalscoloncolon","\\Eqqcolon"),Ur("\\colonminus","\\coloneq"),Ur("\\coloncolonminus","\\Coloneq"),Ur("\\minuscolon","\\eqcolon"),Ur("\\minuscoloncolon","\\Eqcolon"),Ur("\\coloncolonapprox","\\Colonapprox"),Ur("\\coloncolonsim","\\Colonsim"),Ur("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),Ur("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),Ur("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),Ur("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),Ur("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220c}}"),Ur("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),Ur("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),Ur("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}"),Ur("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}"),Ur("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}"),Ur("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}"),Ur("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}"),Ur("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}"),Ur("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}"),Ur("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}"),Ur("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}"),Ur("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}"),Ur("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}"),Ur("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}"),Ur("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}"),Ur("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}"),Ur("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}"),Ur("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}"),Ur("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228a}"),Ur("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2acb}"),Ur("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228b}"),Ur("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2acc}"),Ur("\\imath","\\html@mathml{\\@imath}{\u0131}"),Ur("\\jmath","\\html@mathml{\\@jmath}{\u0237}"),Ur("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27e6}}"),Ur("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27e7}}"),Ur("\u27e6","\\llbracket"),Ur("\u27e7","\\rrbracket"),Ur("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}"),Ur("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}"),Ur("\u2983","\\lBrace"),Ur("\u2984","\\rBrace"),Ur("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29b5}}"),Ur("\u29b5","\\minuso"),Ur("\\darr","\\downarrow"),Ur("\\dArr","\\Downarrow"),Ur("\\Darr","\\Downarrow"),Ur("\\lang","\\langle"),Ur("\\rang","\\rangle"),Ur("\\uarr","\\uparrow"),Ur("\\uArr","\\Uparrow"),Ur("\\Uarr","\\Uparrow"),Ur("\\N","\\mathbb{N}"),Ur("\\R","\\mathbb{R}"),Ur("\\Z","\\mathbb{Z}"),Ur("\\alef","\\aleph"),Ur("\\alefsym","\\aleph"),Ur("\\Alpha","\\mathrm{A}"),Ur("\\Beta","\\mathrm{B}"),Ur("\\bull","\\bullet"),Ur("\\Chi","\\mathrm{X}"),Ur("\\clubs","\\clubsuit"),Ur("\\cnums","\\mathbb{C}"),Ur("\\Complex","\\mathbb{C}"),Ur("\\Dagger","\\ddagger"),Ur("\\diamonds","\\diamondsuit"),Ur("\\empty","\\emptyset"),Ur("\\Epsilon","\\mathrm{E}"),Ur("\\Eta","\\mathrm{H}"),Ur("\\exist","\\exists"),Ur("\\harr","\\leftrightarrow"),Ur("\\hArr","\\Leftrightarrow"),Ur("\\Harr","\\Leftrightarrow"),Ur("\\hearts","\\heartsuit"),Ur("\\image","\\Im"),Ur("\\infin","\\infty"),Ur("\\Iota","\\mathrm{I}"),Ur("\\isin","\\in"),Ur("\\Kappa","\\mathrm{K}"),Ur("\\larr","\\leftarrow"),Ur("\\lArr","\\Leftarrow"),Ur("\\Larr","\\Leftarrow"),Ur("\\lrarr","\\leftrightarrow"),Ur("\\lrArr","\\Leftrightarrow"),Ur("\\Lrarr","\\Leftrightarrow"),Ur("\\Mu","\\mathrm{M}"),Ur("\\natnums","\\mathbb{N}"),Ur("\\Nu","\\mathrm{N}"),Ur("\\Omicron","\\mathrm{O}"),Ur("\\plusmn","\\pm"),Ur("\\rarr","\\rightarrow"),Ur("\\rArr","\\Rightarrow"),Ur("\\Rarr","\\Rightarrow"),Ur("\\real","\\Re"),Ur("\\reals","\\mathbb{R}"),Ur("\\Reals","\\mathbb{R}"),Ur("\\Rho","\\mathrm{P}"),Ur("\\sdot","\\cdot"),Ur("\\sect","\\S"),Ur("\\spades","\\spadesuit"),Ur("\\sub","\\subset"),Ur("\\sube","\\subseteq"),Ur("\\supe","\\supseteq"),Ur("\\Tau","\\mathrm{T}"),Ur("\\thetasym","\\vartheta"),Ur("\\weierp","\\wp"),Ur("\\Zeta","\\mathrm{Z}"),Ur("\\argmin","\\DOTSB\\operatorname*{arg\\,min}"),Ur("\\argmax","\\DOTSB\\operatorname*{arg\\,max}"),Ur("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),Ur("\\bra","\\mathinner{\\langle{#1}|}"),Ur("\\ket","\\mathinner{|{#1}\\rangle}"),Ur("\\braket","\\mathinner{\\langle{#1}\\rangle}"),Ur("\\Bra","\\left\\langle#1\\right|"),Ur("\\Ket","\\left|#1\\right\\rangle");const _n=e=>t=>{const r=t.consumeArg().tokens,n=t.consumeArg().tokens,o=t.consumeArg().tokens,s=t.consumeArg().tokens,i=t.macros.get("|"),l=t.macros.get("\\|");t.macros.beginGroup();const a=t=>r=>{e&&(r.macros.set("|",i),o.length&&r.macros.set("\\|",l));let s=t;if(!t&&o.length){"|"===r.future().text&&(r.popToken(),s=!0)}return{tokens:s?o:n,numArgs:0}};t.macros.set("|",a(!1)),o.length&&t.macros.set("\\|",a(!0));const h=t.consumeArg().tokens,c=t.expandTokens([...s,...h,...r]);return t.macros.endGroup(),{tokens:c.reverse(),numArgs:0}};Ur("\\bra@ket",_n(!1)),Ur("\\bra@set",_n(!0)),Ur("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}"),Ur("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}"),Ur("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}"),Ur("\\angln","{\\angl n}"),Ur("\\blue","\\textcolor{##6495ed}{#1}"),Ur("\\orange","\\textcolor{##ffa500}{#1}"),Ur("\\pink","\\textcolor{##ff00af}{#1}"),Ur("\\red","\\textcolor{##df0030}{#1}"),Ur("\\green","\\textcolor{##28ae7b}{#1}"),Ur("\\gray","\\textcolor{gray}{#1}"),Ur("\\purple","\\textcolor{##9d38bd}{#1}"),Ur("\\blueA","\\textcolor{##ccfaff}{#1}"),Ur("\\blueB","\\textcolor{##80f6ff}{#1}"),Ur("\\blueC","\\textcolor{##63d9ea}{#1}"),Ur("\\blueD","\\textcolor{##11accd}{#1}"),Ur("\\blueE","\\textcolor{##0c7f99}{#1}"),Ur("\\tealA","\\textcolor{##94fff5}{#1}"),Ur("\\tealB","\\textcolor{##26edd5}{#1}"),Ur("\\tealC","\\textcolor{##01d1c1}{#1}"),Ur("\\tealD","\\textcolor{##01a995}{#1}"),Ur("\\tealE","\\textcolor{##208170}{#1}"),Ur("\\greenA","\\textcolor{##b6ffb0}{#1}"),Ur("\\greenB","\\textcolor{##8af281}{#1}"),Ur("\\greenC","\\textcolor{##74cf70}{#1}"),Ur("\\greenD","\\textcolor{##1fab54}{#1}"),Ur("\\greenE","\\textcolor{##0d923f}{#1}"),Ur("\\goldA","\\textcolor{##ffd0a9}{#1}"),Ur("\\goldB","\\textcolor{##ffbb71}{#1}"),Ur("\\goldC","\\textcolor{##ff9c39}{#1}"),Ur("\\goldD","\\textcolor{##e07d10}{#1}"),Ur("\\goldE","\\textcolor{##a75a05}{#1}"),Ur("\\redA","\\textcolor{##fca9a9}{#1}"),Ur("\\redB","\\textcolor{##ff8482}{#1}"),Ur("\\redC","\\textcolor{##f9685d}{#1}"),Ur("\\redD","\\textcolor{##e84d39}{#1}"),Ur("\\redE","\\textcolor{##bc2612}{#1}"),Ur("\\maroonA","\\textcolor{##ffbde0}{#1}"),Ur("\\maroonB","\\textcolor{##ff92c6}{#1}"),Ur("\\maroonC","\\textcolor{##ed5fa6}{#1}"),Ur("\\maroonD","\\textcolor{##ca337c}{#1}"),Ur("\\maroonE","\\textcolor{##9e034e}{#1}"),Ur("\\purpleA","\\textcolor{##ddd7ff}{#1}"),Ur("\\purpleB","\\textcolor{##c6b9fc}{#1}"),Ur("\\purpleC","\\textcolor{##aa87ff}{#1}"),Ur("\\purpleD","\\textcolor{##7854ab}{#1}"),Ur("\\purpleE","\\textcolor{##543b78}{#1}"),Ur("\\mintA","\\textcolor{##f5f9e8}{#1}"),Ur("\\mintB","\\textcolor{##edf2df}{#1}"),Ur("\\mintC","\\textcolor{##e0e5cc}{#1}"),Ur("\\grayA","\\textcolor{##f6f7f7}{#1}"),Ur("\\grayB","\\textcolor{##f0f1f2}{#1}"),Ur("\\grayC","\\textcolor{##e3e5e6}{#1}"),Ur("\\grayD","\\textcolor{##d6d8da}{#1}"),Ur("\\grayE","\\textcolor{##babec2}{#1}"),Ur("\\grayF","\\textcolor{##888d93}{#1}"),Ur("\\grayG","\\textcolor{##626569}{#1}"),Ur("\\grayH","\\textcolor{##3b3e40}{#1}"),Ur("\\grayI","\\textcolor{##21242c}{#1}"),Ur("\\kaBlue","\\textcolor{##314453}{#1}"),Ur("\\kaGreen","\\textcolor{##71B307}{#1}");const jn={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class $n{constructor(e,t,r){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=t,this.expansionCount=0,this.feed(e),this.macros=new Ln(Vn,t.macros),this.mode=r,this.stack=[]}feed(e){this.lexer=new Pn(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return 0===this.stack.length&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){let t,r,n;if(e){if(this.consumeSpaces(),"["!==this.future().text)return null;t=this.popToken(),({tokens:n,end:r}=this.consumeArg(["]"]))}else({tokens:n,start:t,end:r}=this.consumeArg());return this.pushToken(new Yr("EOF",r.loc)),this.pushTokens(n),new Yr("",Wr.range(t,r))}consumeSpaces(){for(;;){if(" "!==this.future().text)break;this.stack.pop()}}consumeArg(e){const t=[],r=e&&e.length>0;r||this.consumeSpaces();const o=this.future();let s,i=0,l=0;do{if(s=this.popToken(),t.push(s),"{"===s.text)++i;else if("}"===s.text){if(--i,-1===i)throw new n("Extra }",s)}else if("EOF"===s.text)throw new n("Unexpected end of input in a macro argument, expected '"+(e&&r?e[l]:"}")+"'",s);if(e&&r)if((0===i||1===i&&"{"===e[l])&&s.text===e[l]){if(++l,l===e.length){t.splice(-l,l);break}}else l=0}while(0!==i||r);return"{"===o.text&&"}"===t[t.length-1].text&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:o,end:s}}consumeArgs(e,t){if(t){if(t.length!==e+1)throw new n("The length of delimiters doesn't match the number of args!");const r=t[0];for(let e=0;ethis.settings.maxExpand)throw new n("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){const t=this.popToken(),r=t.text,o=t.noexpand?null:this._getExpansion(r);if(null==o||e&&o.unexpandable){if(e&&null==o&&"\\"===r[0]&&!this.isDefined(r))throw new n("Undefined control sequence: "+r);return this.pushToken(t),!1}this.countExpansion(1);let s=o.tokens;const i=this.consumeArgs(o.numArgs,o.delimiters);if(o.numArgs){s=s.slice();for(let e=s.length-1;e>=0;--e){let t=s[e];if("#"===t.text){if(0===e)throw new n("Incomplete placeholder at end of macro body",t);if(t=s[--e],"#"===t.text)s.splice(e+1,1);else{if(!/^[1-9]$/.test(t.text))throw new n("Not a valid argument number",t);s.splice(e,2,...i[+t.text-1])}}}}return this.pushTokens(s),s.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(!1===this.expandOnce()){const e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}throw new Error}expandMacro(e){return this.macros.has(e)?this.expandTokens([new Yr(e)]):void 0}expandTokens(e){const t=[],r=this.stack.length;for(this.pushTokens(e);this.stack.length>r;)if(!1===this.expandOnce(!0)){const e=this.stack.pop();e.treatAsRelax&&(e.noexpand=!1,e.treatAsRelax=!1),t.push(e)}return this.countExpansion(t.length),t}expandMacroAsText(e){const t=this.expandMacro(e);return t?t.map(e=>e.text).join(""):t}_getExpansion(e){const t=this.macros.get(e);if(null==t)return t;if(1===e.length){const t=this.lexer.catcodes[e];if(null!=t&&13!==t)return}const r="function"==typeof t?t(this):t;if("string"==typeof r){let e=0;if(r.includes("#")){const t=r.replace(/##/g,"");for(;t.includes("#"+(e+1));)++e}const t=new Pn(r,this.settings),n=[];let o=t.lex();for(;"EOF"!==o.text;)n.push(o),o=t.lex();n.reverse();return{tokens:n,numArgs:e}}return r}isDefined(e){return this.macros.has(e)||Hn.hasOwnProperty(e)||le.math.hasOwnProperty(e)||le.text.hasOwnProperty(e)||jn.hasOwnProperty(e)}isExpandable(e){const t=this.macros.get(e);return null!=t?"string"==typeof t||"function"==typeof t||!t.unexpandable:Hn.hasOwnProperty(e)&&!Hn[e].primitive}}const Zn=/^[\u208a\u208b\u208c\u208d\u208e\u2080\u2081\u2082\u2083\u2084\u2085\u2086\u2087\u2088\u2089\u2090\u2091\u2095\u1d62\u2c7c\u2096\u2097\u2098\u2099\u2092\u209a\u1d63\u209b\u209c\u1d64\u1d65\u2093\u1d66\u1d67\u1d68\u1d69\u1d6a]/,Kn=Object.freeze({"\u208a":"+","\u208b":"-","\u208c":"=","\u208d":"(","\u208e":")","\u2080":"0","\u2081":"1","\u2082":"2","\u2083":"3","\u2084":"4","\u2085":"5","\u2086":"6","\u2087":"7","\u2088":"8","\u2089":"9","\u2090":"a","\u2091":"e","\u2095":"h","\u1d62":"i","\u2c7c":"j","\u2096":"k","\u2097":"l","\u2098":"m","\u2099":"n","\u2092":"o","\u209a":"p","\u1d63":"r","\u209b":"s","\u209c":"t","\u1d64":"u","\u1d65":"v","\u2093":"x","\u1d66":"\u03b2","\u1d67":"\u03b3","\u1d68":"\u03c1","\u1d69":"\u03d5","\u1d6a":"\u03c7","\u207a":"+","\u207b":"-","\u207c":"=","\u207d":"(","\u207e":")","\u2070":"0","\xb9":"1","\xb2":"2","\xb3":"3","\u2074":"4","\u2075":"5","\u2076":"6","\u2077":"7","\u2078":"8","\u2079":"9","\u1d2c":"A","\u1d2e":"B","\u1d30":"D","\u1d31":"E","\u1d33":"G","\u1d34":"H","\u1d35":"I","\u1d36":"J","\u1d37":"K","\u1d38":"L","\u1d39":"M","\u1d3a":"N","\u1d3c":"O","\u1d3e":"P","\u1d3f":"R","\u1d40":"T","\u1d41":"U","\u2c7d":"V","\u1d42":"W","\u1d43":"a","\u1d47":"b","\u1d9c":"c","\u1d48":"d","\u1d49":"e","\u1da0":"f","\u1d4d":"g","\u02b0":"h","\u2071":"i","\u02b2":"j","\u1d4f":"k","\u02e1":"l","\u1d50":"m","\u207f":"n","\u1d52":"o","\u1d56":"p","\u02b3":"r","\u02e2":"s","\u1d57":"t","\u1d58":"u","\u1d5b":"v","\u02b7":"w","\u02e3":"x","\u02b8":"y","\u1dbb":"z","\u1d5d":"\u03b2","\u1d5e":"\u03b3","\u1d5f":"\u03b4","\u1d60":"\u03d5","\u1d61":"\u03c7","\u1dbf":"\u03b8"}),Jn={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030c":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030a":{text:"\\r",math:"\\mathring"},"\u030b":{text:"\\H"},"\u0327":{text:"\\c"}},Qn={"\xe1":"a\u0301","\xe0":"a\u0300","\xe4":"a\u0308","\u01df":"a\u0308\u0304","\xe3":"a\u0303","\u0101":"a\u0304","\u0103":"a\u0306","\u1eaf":"a\u0306\u0301","\u1eb1":"a\u0306\u0300","\u1eb5":"a\u0306\u0303","\u01ce":"a\u030c","\xe2":"a\u0302","\u1ea5":"a\u0302\u0301","\u1ea7":"a\u0302\u0300","\u1eab":"a\u0302\u0303","\u0227":"a\u0307","\u01e1":"a\u0307\u0304","\xe5":"a\u030a","\u01fb":"a\u030a\u0301","\u1e03":"b\u0307","\u0107":"c\u0301","\u1e09":"c\u0327\u0301","\u010d":"c\u030c","\u0109":"c\u0302","\u010b":"c\u0307","\xe7":"c\u0327","\u010f":"d\u030c","\u1e0b":"d\u0307","\u1e11":"d\u0327","\xe9":"e\u0301","\xe8":"e\u0300","\xeb":"e\u0308","\u1ebd":"e\u0303","\u0113":"e\u0304","\u1e17":"e\u0304\u0301","\u1e15":"e\u0304\u0300","\u0115":"e\u0306","\u1e1d":"e\u0327\u0306","\u011b":"e\u030c","\xea":"e\u0302","\u1ebf":"e\u0302\u0301","\u1ec1":"e\u0302\u0300","\u1ec5":"e\u0302\u0303","\u0117":"e\u0307","\u0229":"e\u0327","\u1e1f":"f\u0307","\u01f5":"g\u0301","\u1e21":"g\u0304","\u011f":"g\u0306","\u01e7":"g\u030c","\u011d":"g\u0302","\u0121":"g\u0307","\u0123":"g\u0327","\u1e27":"h\u0308","\u021f":"h\u030c","\u0125":"h\u0302","\u1e23":"h\u0307","\u1e29":"h\u0327","\xed":"i\u0301","\xec":"i\u0300","\xef":"i\u0308","\u1e2f":"i\u0308\u0301","\u0129":"i\u0303","\u012b":"i\u0304","\u012d":"i\u0306","\u01d0":"i\u030c","\xee":"i\u0302","\u01f0":"j\u030c","\u0135":"j\u0302","\u1e31":"k\u0301","\u01e9":"k\u030c","\u0137":"k\u0327","\u013a":"l\u0301","\u013e":"l\u030c","\u013c":"l\u0327","\u1e3f":"m\u0301","\u1e41":"m\u0307","\u0144":"n\u0301","\u01f9":"n\u0300","\xf1":"n\u0303","\u0148":"n\u030c","\u1e45":"n\u0307","\u0146":"n\u0327","\xf3":"o\u0301","\xf2":"o\u0300","\xf6":"o\u0308","\u022b":"o\u0308\u0304","\xf5":"o\u0303","\u1e4d":"o\u0303\u0301","\u1e4f":"o\u0303\u0308","\u022d":"o\u0303\u0304","\u014d":"o\u0304","\u1e53":"o\u0304\u0301","\u1e51":"o\u0304\u0300","\u014f":"o\u0306","\u01d2":"o\u030c","\xf4":"o\u0302","\u1ed1":"o\u0302\u0301","\u1ed3":"o\u0302\u0300","\u1ed7":"o\u0302\u0303","\u022f":"o\u0307","\u0231":"o\u0307\u0304","\u0151":"o\u030b","\u1e55":"p\u0301","\u1e57":"p\u0307","\u0155":"r\u0301","\u0159":"r\u030c","\u1e59":"r\u0307","\u0157":"r\u0327","\u015b":"s\u0301","\u1e65":"s\u0301\u0307","\u0161":"s\u030c","\u1e67":"s\u030c\u0307","\u015d":"s\u0302","\u1e61":"s\u0307","\u015f":"s\u0327","\u1e97":"t\u0308","\u0165":"t\u030c","\u1e6b":"t\u0307","\u0163":"t\u0327","\xfa":"u\u0301","\xf9":"u\u0300","\xfc":"u\u0308","\u01d8":"u\u0308\u0301","\u01dc":"u\u0308\u0300","\u01d6":"u\u0308\u0304","\u01da":"u\u0308\u030c","\u0169":"u\u0303","\u1e79":"u\u0303\u0301","\u016b":"u\u0304","\u1e7b":"u\u0304\u0308","\u016d":"u\u0306","\u01d4":"u\u030c","\xfb":"u\u0302","\u016f":"u\u030a","\u0171":"u\u030b","\u1e7d":"v\u0303","\u1e83":"w\u0301","\u1e81":"w\u0300","\u1e85":"w\u0308","\u0175":"w\u0302","\u1e87":"w\u0307","\u1e98":"w\u030a","\u1e8d":"x\u0308","\u1e8b":"x\u0307","\xfd":"y\u0301","\u1ef3":"y\u0300","\xff":"y\u0308","\u1ef9":"y\u0303","\u0233":"y\u0304","\u0177":"y\u0302","\u1e8f":"y\u0307","\u1e99":"y\u030a","\u017a":"z\u0301","\u017e":"z\u030c","\u1e91":"z\u0302","\u017c":"z\u0307","\xc1":"A\u0301","\xc0":"A\u0300","\xc4":"A\u0308","\u01de":"A\u0308\u0304","\xc3":"A\u0303","\u0100":"A\u0304","\u0102":"A\u0306","\u1eae":"A\u0306\u0301","\u1eb0":"A\u0306\u0300","\u1eb4":"A\u0306\u0303","\u01cd":"A\u030c","\xc2":"A\u0302","\u1ea4":"A\u0302\u0301","\u1ea6":"A\u0302\u0300","\u1eaa":"A\u0302\u0303","\u0226":"A\u0307","\u01e0":"A\u0307\u0304","\xc5":"A\u030a","\u01fa":"A\u030a\u0301","\u1e02":"B\u0307","\u0106":"C\u0301","\u1e08":"C\u0327\u0301","\u010c":"C\u030c","\u0108":"C\u0302","\u010a":"C\u0307","\xc7":"C\u0327","\u010e":"D\u030c","\u1e0a":"D\u0307","\u1e10":"D\u0327","\xc9":"E\u0301","\xc8":"E\u0300","\xcb":"E\u0308","\u1ebc":"E\u0303","\u0112":"E\u0304","\u1e16":"E\u0304\u0301","\u1e14":"E\u0304\u0300","\u0114":"E\u0306","\u1e1c":"E\u0327\u0306","\u011a":"E\u030c","\xca":"E\u0302","\u1ebe":"E\u0302\u0301","\u1ec0":"E\u0302\u0300","\u1ec4":"E\u0302\u0303","\u0116":"E\u0307","\u0228":"E\u0327","\u1e1e":"F\u0307","\u01f4":"G\u0301","\u1e20":"G\u0304","\u011e":"G\u0306","\u01e6":"G\u030c","\u011c":"G\u0302","\u0120":"G\u0307","\u0122":"G\u0327","\u1e26":"H\u0308","\u021e":"H\u030c","\u0124":"H\u0302","\u1e22":"H\u0307","\u1e28":"H\u0327","\xcd":"I\u0301","\xcc":"I\u0300","\xcf":"I\u0308","\u1e2e":"I\u0308\u0301","\u0128":"I\u0303","\u012a":"I\u0304","\u012c":"I\u0306","\u01cf":"I\u030c","\xce":"I\u0302","\u0130":"I\u0307","\u0134":"J\u0302","\u1e30":"K\u0301","\u01e8":"K\u030c","\u0136":"K\u0327","\u0139":"L\u0301","\u013d":"L\u030c","\u013b":"L\u0327","\u1e3e":"M\u0301","\u1e40":"M\u0307","\u0143":"N\u0301","\u01f8":"N\u0300","\xd1":"N\u0303","\u0147":"N\u030c","\u1e44":"N\u0307","\u0145":"N\u0327","\xd3":"O\u0301","\xd2":"O\u0300","\xd6":"O\u0308","\u022a":"O\u0308\u0304","\xd5":"O\u0303","\u1e4c":"O\u0303\u0301","\u1e4e":"O\u0303\u0308","\u022c":"O\u0303\u0304","\u014c":"O\u0304","\u1e52":"O\u0304\u0301","\u1e50":"O\u0304\u0300","\u014e":"O\u0306","\u01d1":"O\u030c","\xd4":"O\u0302","\u1ed0":"O\u0302\u0301","\u1ed2":"O\u0302\u0300","\u1ed6":"O\u0302\u0303","\u022e":"O\u0307","\u0230":"O\u0307\u0304","\u0150":"O\u030b","\u1e54":"P\u0301","\u1e56":"P\u0307","\u0154":"R\u0301","\u0158":"R\u030c","\u1e58":"R\u0307","\u0156":"R\u0327","\u015a":"S\u0301","\u1e64":"S\u0301\u0307","\u0160":"S\u030c","\u1e66":"S\u030c\u0307","\u015c":"S\u0302","\u1e60":"S\u0307","\u015e":"S\u0327","\u0164":"T\u030c","\u1e6a":"T\u0307","\u0162":"T\u0327","\xda":"U\u0301","\xd9":"U\u0300","\xdc":"U\u0308","\u01d7":"U\u0308\u0301","\u01db":"U\u0308\u0300","\u01d5":"U\u0308\u0304","\u01d9":"U\u0308\u030c","\u0168":"U\u0303","\u1e78":"U\u0303\u0301","\u016a":"U\u0304","\u1e7a":"U\u0304\u0308","\u016c":"U\u0306","\u01d3":"U\u030c","\xdb":"U\u0302","\u016e":"U\u030a","\u0170":"U\u030b","\u1e7c":"V\u0303","\u1e82":"W\u0301","\u1e80":"W\u0300","\u1e84":"W\u0308","\u0174":"W\u0302","\u1e86":"W\u0307","\u1e8c":"X\u0308","\u1e8a":"X\u0307","\xdd":"Y\u0301","\u1ef2":"Y\u0300","\u0178":"Y\u0308","\u1ef8":"Y\u0303","\u0232":"Y\u0304","\u0176":"Y\u0302","\u1e8e":"Y\u0307","\u0179":"Z\u0301","\u017d":"Z\u030c","\u1e90":"Z\u0302","\u017b":"Z\u0307","\u03ac":"\u03b1\u0301","\u1f70":"\u03b1\u0300","\u1fb1":"\u03b1\u0304","\u1fb0":"\u03b1\u0306","\u03ad":"\u03b5\u0301","\u1f72":"\u03b5\u0300","\u03ae":"\u03b7\u0301","\u1f74":"\u03b7\u0300","\u03af":"\u03b9\u0301","\u1f76":"\u03b9\u0300","\u03ca":"\u03b9\u0308","\u0390":"\u03b9\u0308\u0301","\u1fd2":"\u03b9\u0308\u0300","\u1fd1":"\u03b9\u0304","\u1fd0":"\u03b9\u0306","\u03cc":"\u03bf\u0301","\u1f78":"\u03bf\u0300","\u03cd":"\u03c5\u0301","\u1f7a":"\u03c5\u0300","\u03cb":"\u03c5\u0308","\u03b0":"\u03c5\u0308\u0301","\u1fe2":"\u03c5\u0308\u0300","\u1fe1":"\u03c5\u0304","\u1fe0":"\u03c5\u0306","\u03ce":"\u03c9\u0301","\u1f7c":"\u03c9\u0300","\u038e":"\u03a5\u0301","\u1fea":"\u03a5\u0300","\u03ab":"\u03a5\u0308","\u1fe9":"\u03a5\u0304","\u1fe8":"\u03a5\u0306","\u038f":"\u03a9\u0301","\u1ffa":"\u03a9\u0300"};class eo{constructor(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new $n(e,t,this.mode),this.settings=t,this.leftrightDepth=0}expect(e,t){if(void 0===t&&(t=!0),this.fetch().text!==e)throw new n("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());t&&this.consume()}consume(){this.nextToken=null}fetch(){return null==this.nextToken&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{const e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){const t=this.nextToken;this.consume(),this.gullet.pushToken(new Yr("}")),this.gullet.pushTokens(e);const r=this.parseExpression(!1);return this.expect("}"),this.nextToken=t,r}parseExpression(e,t){const r=[];for(;;){"math"===this.mode&&this.consumeSpaces();const n=this.fetch();if(eo.endOfExpression.has(n.text))break;if(t&&n.text===t)break;if(e&&Hn[n.text]&&Hn[n.text].infix)break;const o=this.parseAtom(t);if(!o)break;"internal"!==o.type&&r.push(o)}return"text"===this.mode&&this.formLigatures(r),this.handleInfixNodes(r)}handleInfixNodes(e){let t,r=-1;for(let o=0;o=128))return null;this.settings.strict&&(A(t.charCodeAt(0))?"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'" ('+t.charCodeAt(0)+")",e)),o={type:"textord",mode:"text",loc:Wr.range(e),text:t}}if(this.consume(),r)for(let t=0;t=this._reconnectionAttempts?(h("reconnect failed"),this.backoff.reset(),this.emitAll("reconnect_failed"),this.reconnecting=!1):(t=this.backoff.duration(),h("will wait %dms before reconnect attempt",t),this.reconnecting=!0,e=setTimeout(function(){n.skipReconnect||(h("attempting reconnect"),n.emitAll("reconnect_attempt",n.backoff.attempts),n.emitAll("reconnecting",n.backoff.attempts),n.skipReconnect||n.open(function(t){t?(h("reconnect attempt error"),n.reconnecting=!1,n.reconnect(),n.emitAll("reconnect_error",t.data)):(h("reconnect success"),n.onreconnect())}))},t),this.subs.push({destroy:function(){clearTimeout(e)}}))},r.prototype.onreconnect=function(){var t=this.backoff.attempts;this.reconnecting=!1,this.backoff.reset(),this.updateSocketIds(),this.emitAll("reconnect",t)}},function(t,e,n){t.exports=n(14),t.exports.parser=n(22)},function(t,e,n){function u(t,e){return this instanceof u?(e=e||{},t&&"object"==typeof t&&(e=t,t=null),t?(t=a(t),e.hostname=t.host,e.secure="https"===t.protocol||"wss"===t.protocol,e.port=t.port,t.query&&(e.query=t.query)):e.host&&(e.hostname=a(e.host).host),this.secure=null!=e.secure?e.secure:"undefined"!=typeof location&&"https:"===location.protocol,e.hostname&&!e.port&&(e.port=this.secure?"443":"80"),this.agent=e.agent||!1,this.hostname=e.hostname||("undefined"!=typeof location?location.hostname:"localhost"),this.port=e.port||("undefined"!=typeof location&&location.port?location.port:this.secure?443:80),this.query=e.query||{},"string"==typeof this.query&&(this.query=c.decode(this.query)),this.upgrade=!1!==e.upgrade,this.path=(e.path||"/engine.io").replace(/\/$/,"")+"/",this.forceJSONP=!!e.forceJSONP,this.jsonp=!1!==e.jsonp,this.forceBase64=!!e.forceBase64,this.enablesXDR=!!e.enablesXDR,this.withCredentials=!1!==e.withCredentials,this.timestampParam=e.timestampParam||"t",this.timestampRequests=e.timestampRequests,this.transports=e.transports||["polling","websocket"],this.transportOptions=e.transportOptions||{},this.readyState="",this.writeBuffer=[],this.prevBufferLen=0,this.policyPort=e.policyPort||843,this.rememberUpgrade=e.rememberUpgrade||!1,this.binaryType=null,this.onlyBinaryUpgrades=e.onlyBinaryUpgrades,this.perMessageDeflate=!1!==e.perMessageDeflate&&(e.perMessageDeflate||{}),!0===this.perMessageDeflate&&(this.perMessageDeflate={}),this.perMessageDeflate&&null==this.perMessageDeflate.threshold&&(this.perMessageDeflate.threshold=1024),this.pfx=e.pfx||null,this.key=e.key||null,this.passphrase=e.passphrase||null,this.cert=e.cert||null,this.ca=e.ca||null,this.ciphers=e.ciphers||null,this.rejectUnauthorized=void 0===e.rejectUnauthorized||e.rejectUnauthorized,this.forceNode=!!e.forceNode,this.isReactNative="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase(),"undefined"!=typeof self&&!this.isReactNative||(e.extraHeaders&&0>e&63|128)}function f(){if(d<=y)throw Error("Invalid byte index");var t=255&l[y];if(y++,128==(192&t))return 63&t;throw Error("Invalid continuation byte")}var l,d,y,g=String.fromCharCode;t.exports={version:"2.1.2",encode:function(t,e){for(var n=!1!==(e=e||{}).strict,r=h(t),o=r.length,i=-1,s="";++i>6&31|192):0==(4294901760&t)?(u(t,e)||(t=65533),n=g(t>>12&15|224),n+=a(t,6)):0==(4292870144&t)&&(n=g(t>>18&7|240),n=(n+=a(t,12))+a(t,6)),n+g(63&t|128)}(r[i],n);return s},decode:function(t,e){var n=!1!==(e=e||{}).strict;l=h(t),d=l.length,y=0;for(var r,o=[];!1!==(r=function(t){var e,n;if(d>>10&1023|55296),i=56320|1023&i),p+=g(i);return p}}},function(t,e){!function(h){"use strict";e.encode=function(t){for(var e=new Uint8Array(t),n=e.length,r="",o=0;o>2])+h[(3&e[o])<<4|e[o+1]>>4])+h[(15&e[o+1])<<2|e[o+2]>>6])+h[63&e[o+2]];return n%3==2?r=r.substring(0,r.length-1)+"=":n%3==1&&(r=r.substring(0,r.length-2)+"=="),r},e.decode=function(t){for(var e,n,r,o,i=.75*t.length,s=t.length,a=0,i=("="===t[t.length-1]&&(i--,"="===t[t.length-2]&&i--),new ArrayBuffer(i)),c=new Uint8Array(i),p=0;p>4,c[a++]=(15&n)<<4|r>>2,c[a++]=(3&r)<<6|63&o;return i}}("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/")},function(t,e){function r(t){return t.map(function(t){var e,n;return t.buffer instanceof ArrayBuffer?(e=t.buffer,t.byteLength!==e.byteLength&&((n=new Uint8Array(t.byteLength)).set(new Uint8Array(e,t.byteOffset,t.byteLength)),e=n.buffer),e):t})}function n(t,e){e=e||{};var n=new i;return r(t).forEach(function(t){n.append(t)}),e.type?n.getBlob(e.type):n.getBlob()}function o(t,e){return new Blob(r(t),e||{})}var i=void 0!==i?i:"undefined"!=typeof WebKitBlobBuilder?WebKitBlobBuilder:"undefined"!=typeof MSBlobBuilder?MSBlobBuilder:"undefined"!=typeof MozBlobBuilder&&MozBlobBuilder,s=function(){try{return 2===new Blob(["hi"]).size}catch(t){return!1}}(),a=s&&function(){try{return 2===new Blob([new Uint8Array([1,2])]).size}catch(t){return!1}}(),c=i&&i.prototype.append&&i.prototype.getBlob;"undefined"!=typeof Blob&&(n.prototype=Blob.prototype,o.prototype=Blob.prototype),t.exports=s?a?Blob:o:c?n:void 0},function(t,e){e.encode=function(t){var e,n="";for(e in t)t.hasOwnProperty(e)&&(n.length&&(n+="&"),n+=encodeURIComponent(e)+"="+encodeURIComponent(t[e]));return n},e.decode=function(t){for(var e={},n=t.split("&"),r=0,o=n.length;r';o=document.createElement(t)}catch(t){(o=document.createElement("iframe")).name=c.iframeId,o.src="javascript:0"}o.id=c.iframeId,c.form.appendChild(o),c.iframe=o}var o,i,s,a,c=this;this.form||(i=document.createElement("form"),s=document.createElement("textarea"),a=this.iframeId="eio_iframe_"+this.index,i.className="socketio",i.style.position="absolute",i.style.top="-1000px",i.style.left="-1000px",i.target=a,i.method="POST",i.setAttribute("accept-charset","utf-8"),s.name="d",i.appendChild(s),document.body.appendChild(i),this.form=i,this.area=s),this.form.action=this.uri(),r(),t=t.replace(h,"\\\n"),this.area.value=t.replace(p,"\\n");try{this.form.submit()}catch(t){}this.iframe.attachEvent?this.iframe.onreadystatechange=function(){"complete"===c.iframe.readyState&&n()}:this.iframe.onload=n}},function(t,e,n){function r(t){t&&t.forceBase64&&(this.supportsBinary=!1),this.perMessageDeflate=t.perMessageDeflate,this.usingBrowserWebSocket=o&&!t.forceNode,this.protocols=t.protocols,this.usingBrowserWebSocket||(f=i),s.call(this,t)}var o,i,s=n(21),a=n(22),c=n(30),p=n(31),h=n(32),u=n(3)("engine.io-client:websocket");if("undefined"!=typeof WebSocket?o=WebSocket:"undefined"!=typeof self&&(o=self.WebSocket||self.MozWebSocket),"undefined"==typeof window)try{i=n(35)}catch(t){}var f=o||i;p(t.exports=r,s),r.prototype.name="websocket",r.prototype.supportsBinary=!0,r.prototype.doOpen=function(){if(this.check()){var t=this.uri(),e=this.protocols,n={};this.isReactNative||(n.agent=this.agent,n.perMessageDeflate=this.perMessageDeflate,n.pfx=this.pfx,n.key=this.key,n.passphrase=this.passphrase,n.cert=this.cert,n.ca=this.ca,n.ciphers=this.ciphers,n.rejectUnauthorized=this.rejectUnauthorized),this.extraHeaders&&(n.headers=this.extraHeaders),this.localAddress&&(n.localAddress=this.localAddress);try{this.ws=this.usingBrowserWebSocket&&!this.isReactNative?e?new f(t,e):new f(t):new f(t,e,n)}catch(t){return this.emit("error",t)}void 0===this.ws.binaryType&&(this.supportsBinary=!1),this.ws.supports&&this.ws.supports.binary?(this.supportsBinary=!0,this.ws.binaryType="nodebuffer"):this.ws.binaryType="arraybuffer",this.addEventListeners()}},r.prototype.addEventListeners=function(){var e=this;this.ws.onopen=function(){e.onOpen()},this.ws.onclose=function(){e.onClose()},this.ws.onmessage=function(t){e.onData(t.data)},this.ws.onerror=function(t){e.onError("websocket error",t)}},r.prototype.write=function(t){var r=this;this.writable=!1;for(var o=t.length,e=0,n=o;e - - - - - - - - - - - - - -Pre-commit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
- - - -
- - - - - - - - - - - - - - - - -
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- - -
-
- -
-
-
-

pnl can be used as a pre-commit hook to enforce naming conventions before every commit.

-

Setup

-

Add the following to your .pre-commit-config.yaml:

-
- repo: https://github.com/heumsi/python-naming-linter
-  rev: ''  # Use the tag you want to point at (e.g., v0.1.0)
-  hooks:
-    - id: python-naming-linter
-
- -

Custom Options

-

To pass custom options (e.g., a specific config file path), use args:

-
- repo: https://github.com/heumsi/python-naming-linter
-  rev: ''
-  hooks:
-    - id: python-naming-linter
-      args: [--config, custom-config.yaml]
-
-
- - -
- - - - -
- -
-
-
-
-
- -
- - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/search/lunr.js b/site/search/lunr.js deleted file mode 100644 index aca0a16..0000000 --- a/site/search/lunr.js +++ /dev/null @@ -1,3475 +0,0 @@ -/** - * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 - * Copyright (C) 2020 Oliver Nightingale - * @license MIT - */ - -;(function(){ - -/** - * A convenience function for configuring and constructing - * a new lunr Index. - * - * A lunr.Builder instance is created and the pipeline setup - * with a trimmer, stop word filter and stemmer. - * - * This builder object is yielded to the configuration function - * that is passed as a parameter, allowing the list of fields - * and other builder parameters to be customised. - * - * All documents _must_ be added within the passed config function. - * - * @example - * var idx = lunr(function () { - * this.field('title') - * this.field('body') - * this.ref('id') - * - * documents.forEach(function (doc) { - * this.add(doc) - * }, this) - * }) - * - * @see {@link lunr.Builder} - * @see {@link lunr.Pipeline} - * @see {@link lunr.trimmer} - * @see {@link lunr.stopWordFilter} - * @see {@link lunr.stemmer} - * @namespace {function} lunr - */ -var lunr = function (config) { - var builder = new lunr.Builder - - builder.pipeline.add( - lunr.trimmer, - lunr.stopWordFilter, - lunr.stemmer - ) - - builder.searchPipeline.add( - lunr.stemmer - ) - - config.call(builder, builder) - return builder.build() -} - -lunr.version = "2.3.9" -/*! - * lunr.utils - * Copyright (C) 2020 Oliver Nightingale - */ - -/** - * A namespace containing utils for the rest of the lunr library - * @namespace lunr.utils - */ -lunr.utils = {} - -/** - * Print a warning message to the console. - * - * @param {String} message The message to be printed. - * @memberOf lunr.utils - * @function - */ -lunr.utils.warn = (function (global) { - /* eslint-disable no-console */ - return function (message) { - if (global.console && console.warn) { - console.warn(message) - } - } - /* eslint-enable no-console */ -})(this) - -/** - * Convert an object to a string. - * - * In the case of `null` and `undefined` the function returns - * the empty string, in all other cases the result of calling - * `toString` on the passed object is returned. - * - * @param {Any} obj The object to convert to a string. - * @return {String} string representation of the passed object. - * @memberOf lunr.utils - */ -lunr.utils.asString = function (obj) { - if (obj === void 0 || obj === null) { - return "" - } else { - return obj.toString() - } -} - -/** - * Clones an object. - * - * Will create a copy of an existing object such that any mutations - * on the copy cannot affect the original. - * - * Only shallow objects are supported, passing a nested object to this - * function will cause a TypeError. - * - * Objects with primitives, and arrays of primitives are supported. - * - * @param {Object} obj The object to clone. - * @return {Object} a clone of the passed object. - * @throws {TypeError} when a nested object is passed. - * @memberOf Utils - */ -lunr.utils.clone = function (obj) { - if (obj === null || obj === undefined) { - return obj - } - - var clone = Object.create(null), - keys = Object.keys(obj) - - for (var i = 0; i < keys.length; i++) { - var key = keys[i], - val = obj[key] - - if (Array.isArray(val)) { - clone[key] = val.slice() - continue - } - - if (typeof val === 'string' || - typeof val === 'number' || - typeof val === 'boolean') { - clone[key] = val - continue - } - - throw new TypeError("clone is not deep and does not support nested objects") - } - - return clone -} -lunr.FieldRef = function (docRef, fieldName, stringValue) { - this.docRef = docRef - this.fieldName = fieldName - this._stringValue = stringValue -} - -lunr.FieldRef.joiner = "/" - -lunr.FieldRef.fromString = function (s) { - var n = s.indexOf(lunr.FieldRef.joiner) - - if (n === -1) { - throw "malformed field ref string" - } - - var fieldRef = s.slice(0, n), - docRef = s.slice(n + 1) - - return new lunr.FieldRef (docRef, fieldRef, s) -} - -lunr.FieldRef.prototype.toString = function () { - if (this._stringValue == undefined) { - this._stringValue = this.fieldName + lunr.FieldRef.joiner + this.docRef - } - - return this._stringValue -} -/*! - * lunr.Set - * Copyright (C) 2020 Oliver Nightingale - */ - -/** - * A lunr set. - * - * @constructor - */ -lunr.Set = function (elements) { - this.elements = Object.create(null) - - if (elements) { - this.length = elements.length - - for (var i = 0; i < this.length; i++) { - this.elements[elements[i]] = true - } - } else { - this.length = 0 - } -} - -/** - * A complete set that contains all elements. - * - * @static - * @readonly - * @type {lunr.Set} - */ -lunr.Set.complete = { - intersect: function (other) { - return other - }, - - union: function () { - return this - }, - - contains: function () { - return true - } -} - -/** - * An empty set that contains no elements. - * - * @static - * @readonly - * @type {lunr.Set} - */ -lunr.Set.empty = { - intersect: function () { - return this - }, - - union: function (other) { - return other - }, - - contains: function () { - return false - } -} - -/** - * Returns true if this set contains the specified object. - * - * @param {object} object - Object whose presence in this set is to be tested. - * @returns {boolean} - True if this set contains the specified object. - */ -lunr.Set.prototype.contains = function (object) { - return !!this.elements[object] -} - -/** - * Returns a new set containing only the elements that are present in both - * this set and the specified set. - * - * @param {lunr.Set} other - set to intersect with this set. - * @returns {lunr.Set} a new set that is the intersection of this and the specified set. - */ - -lunr.Set.prototype.intersect = function (other) { - var a, b, elements, intersection = [] - - if (other === lunr.Set.complete) { - return this - } - - if (other === lunr.Set.empty) { - return other - } - - if (this.length < other.length) { - a = this - b = other - } else { - a = other - b = this - } - - elements = Object.keys(a.elements) - - for (var i = 0; i < elements.length; i++) { - var element = elements[i] - if (element in b.elements) { - intersection.push(element) - } - } - - return new lunr.Set (intersection) -} - -/** - * Returns a new set combining the elements of this and the specified set. - * - * @param {lunr.Set} other - set to union with this set. - * @return {lunr.Set} a new set that is the union of this and the specified set. - */ - -lunr.Set.prototype.union = function (other) { - if (other === lunr.Set.complete) { - return lunr.Set.complete - } - - if (other === lunr.Set.empty) { - return this - } - - return new lunr.Set(Object.keys(this.elements).concat(Object.keys(other.elements))) -} -/** - * A function to calculate the inverse document frequency for - * a posting. This is shared between the builder and the index - * - * @private - * @param {object} posting - The posting for a given term - * @param {number} documentCount - The total number of documents. - */ -lunr.idf = function (posting, documentCount) { - var documentsWithTerm = 0 - - for (var fieldName in posting) { - if (fieldName == '_index') continue // Ignore the term index, its not a field - documentsWithTerm += Object.keys(posting[fieldName]).length - } - - var x = (documentCount - documentsWithTerm + 0.5) / (documentsWithTerm + 0.5) - - return Math.log(1 + Math.abs(x)) -} - -/** - * A token wraps a string representation of a token - * as it is passed through the text processing pipeline. - * - * @constructor - * @param {string} [str=''] - The string token being wrapped. - * @param {object} [metadata={}] - Metadata associated with this token. - */ -lunr.Token = function (str, metadata) { - this.str = str || "" - this.metadata = metadata || {} -} - -/** - * Returns the token string that is being wrapped by this object. - * - * @returns {string} - */ -lunr.Token.prototype.toString = function () { - return this.str -} - -/** - * A token update function is used when updating or optionally - * when cloning a token. - * - * @callback lunr.Token~updateFunction - * @param {string} str - The string representation of the token. - * @param {Object} metadata - All metadata associated with this token. - */ - -/** - * Applies the given function to the wrapped string token. - * - * @example - * token.update(function (str, metadata) { - * return str.toUpperCase() - * }) - * - * @param {lunr.Token~updateFunction} fn - A function to apply to the token string. - * @returns {lunr.Token} - */ -lunr.Token.prototype.update = function (fn) { - this.str = fn(this.str, this.metadata) - return this -} - -/** - * Creates a clone of this token. Optionally a function can be - * applied to the cloned token. - * - * @param {lunr.Token~updateFunction} [fn] - An optional function to apply to the cloned token. - * @returns {lunr.Token} - */ -lunr.Token.prototype.clone = function (fn) { - fn = fn || function (s) { return s } - return new lunr.Token (fn(this.str, this.metadata), this.metadata) -} -/*! - * lunr.tokenizer - * Copyright (C) 2020 Oliver Nightingale - */ - -/** - * A function for splitting a string into tokens ready to be inserted into - * the search index. Uses `lunr.tokenizer.separator` to split strings, change - * the value of this property to change how strings are split into tokens. - * - * This tokenizer will convert its parameter to a string by calling `toString` and - * then will split this string on the character in `lunr.tokenizer.separator`. - * Arrays will have their elements converted to strings and wrapped in a lunr.Token. - * - * Optional metadata can be passed to the tokenizer, this metadata will be cloned and - * added as metadata to every token that is created from the object to be tokenized. - * - * @static - * @param {?(string|object|object[])} obj - The object to convert into tokens - * @param {?object} metadata - Optional metadata to associate with every token - * @returns {lunr.Token[]} - * @see {@link lunr.Pipeline} - */ -lunr.tokenizer = function (obj, metadata) { - if (obj == null || obj == undefined) { - return [] - } - - if (Array.isArray(obj)) { - return obj.map(function (t) { - return new lunr.Token( - lunr.utils.asString(t).toLowerCase(), - lunr.utils.clone(metadata) - ) - }) - } - - var str = obj.toString().toLowerCase(), - len = str.length, - tokens = [] - - for (var sliceEnd = 0, sliceStart = 0; sliceEnd <= len; sliceEnd++) { - var char = str.charAt(sliceEnd), - sliceLength = sliceEnd - sliceStart - - if ((char.match(lunr.tokenizer.separator) || sliceEnd == len)) { - - if (sliceLength > 0) { - var tokenMetadata = lunr.utils.clone(metadata) || {} - tokenMetadata["position"] = [sliceStart, sliceLength] - tokenMetadata["index"] = tokens.length - - tokens.push( - new lunr.Token ( - str.slice(sliceStart, sliceEnd), - tokenMetadata - ) - ) - } - - sliceStart = sliceEnd + 1 - } - - } - - return tokens -} - -/** - * The separator used to split a string into tokens. Override this property to change the behaviour of - * `lunr.tokenizer` behaviour when tokenizing strings. By default this splits on whitespace and hyphens. - * - * @static - * @see lunr.tokenizer - */ -lunr.tokenizer.separator = /[\s\-]+/ -/*! - * lunr.Pipeline - * Copyright (C) 2020 Oliver Nightingale - */ - -/** - * lunr.Pipelines maintain an ordered list of functions to be applied to all - * tokens in documents entering the search index and queries being ran against - * the index. - * - * An instance of lunr.Index created with the lunr shortcut will contain a - * pipeline with a stop word filter and an English language stemmer. Extra - * functions can be added before or after either of these functions or these - * default functions can be removed. - * - * When run the pipeline will call each function in turn, passing a token, the - * index of that token in the original list of all tokens and finally a list of - * all the original tokens. - * - * The output of functions in the pipeline will be passed to the next function - * in the pipeline. To exclude a token from entering the index the function - * should return undefined, the rest of the pipeline will not be called with - * this token. - * - * For serialisation of pipelines to work, all functions used in an instance of - * a pipeline should be registered with lunr.Pipeline. Registered functions can - * then be loaded. If trying to load a serialised pipeline that uses functions - * that are not registered an error will be thrown. - * - * If not planning on serialising the pipeline then registering pipeline functions - * is not necessary. - * - * @constructor - */ -lunr.Pipeline = function () { - this._stack = [] -} - -lunr.Pipeline.registeredFunctions = Object.create(null) - -/** - * A pipeline function maps lunr.Token to lunr.Token. A lunr.Token contains the token - * string as well as all known metadata. A pipeline function can mutate the token string - * or mutate (or add) metadata for a given token. - * - * A pipeline function can indicate that the passed token should be discarded by returning - * null, undefined or an empty string. This token will not be passed to any downstream pipeline - * functions and will not be added to the index. - * - * Multiple tokens can be returned by returning an array of tokens. Each token will be passed - * to any downstream pipeline functions and all will returned tokens will be added to the index. - * - * Any number of pipeline functions may be chained together using a lunr.Pipeline. - * - * @interface lunr.PipelineFunction - * @param {lunr.Token} token - A token from the document being processed. - * @param {number} i - The index of this token in the complete list of tokens for this document/field. - * @param {lunr.Token[]} tokens - All tokens for this document/field. - * @returns {(?lunr.Token|lunr.Token[])} - */ - -/** - * Register a function with the pipeline. - * - * Functions that are used in the pipeline should be registered if the pipeline - * needs to be serialised, or a serialised pipeline needs to be loaded. - * - * Registering a function does not add it to a pipeline, functions must still be - * added to instances of the pipeline for them to be used when running a pipeline. - * - * @param {lunr.PipelineFunction} fn - The function to check for. - * @param {String} label - The label to register this function with - */ -lunr.Pipeline.registerFunction = function (fn, label) { - if (label in this.registeredFunctions) { - lunr.utils.warn('Overwriting existing registered function: ' + label) - } - - fn.label = label - lunr.Pipeline.registeredFunctions[fn.label] = fn -} - -/** - * Warns if the function is not registered as a Pipeline function. - * - * @param {lunr.PipelineFunction} fn - The function to check for. - * @private - */ -lunr.Pipeline.warnIfFunctionNotRegistered = function (fn) { - var isRegistered = fn.label && (fn.label in this.registeredFunctions) - - if (!isRegistered) { - lunr.utils.warn('Function is not registered with pipeline. This may cause problems when serialising the index.\n', fn) - } -} - -/** - * Loads a previously serialised pipeline. - * - * All functions to be loaded must already be registered with lunr.Pipeline. - * If any function from the serialised data has not been registered then an - * error will be thrown. - * - * @param {Object} serialised - The serialised pipeline to load. - * @returns {lunr.Pipeline} - */ -lunr.Pipeline.load = function (serialised) { - var pipeline = new lunr.Pipeline - - serialised.forEach(function (fnName) { - var fn = lunr.Pipeline.registeredFunctions[fnName] - - if (fn) { - pipeline.add(fn) - } else { - throw new Error('Cannot load unregistered function: ' + fnName) - } - }) - - return pipeline -} - -/** - * Adds new functions to the end of the pipeline. - * - * Logs a warning if the function has not been registered. - * - * @param {lunr.PipelineFunction[]} functions - Any number of functions to add to the pipeline. - */ -lunr.Pipeline.prototype.add = function () { - var fns = Array.prototype.slice.call(arguments) - - fns.forEach(function (fn) { - lunr.Pipeline.warnIfFunctionNotRegistered(fn) - this._stack.push(fn) - }, this) -} - -/** - * Adds a single function after a function that already exists in the - * pipeline. - * - * Logs a warning if the function has not been registered. - * - * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline. - * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline. - */ -lunr.Pipeline.prototype.after = function (existingFn, newFn) { - lunr.Pipeline.warnIfFunctionNotRegistered(newFn) - - var pos = this._stack.indexOf(existingFn) - if (pos == -1) { - throw new Error('Cannot find existingFn') - } - - pos = pos + 1 - this._stack.splice(pos, 0, newFn) -} - -/** - * Adds a single function before a function that already exists in the - * pipeline. - * - * Logs a warning if the function has not been registered. - * - * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline. - * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline. - */ -lunr.Pipeline.prototype.before = function (existingFn, newFn) { - lunr.Pipeline.warnIfFunctionNotRegistered(newFn) - - var pos = this._stack.indexOf(existingFn) - if (pos == -1) { - throw new Error('Cannot find existingFn') - } - - this._stack.splice(pos, 0, newFn) -} - -/** - * Removes a function from the pipeline. - * - * @param {lunr.PipelineFunction} fn The function to remove from the pipeline. - */ -lunr.Pipeline.prototype.remove = function (fn) { - var pos = this._stack.indexOf(fn) - if (pos == -1) { - return - } - - this._stack.splice(pos, 1) -} - -/** - * Runs the current list of functions that make up the pipeline against the - * passed tokens. - * - * @param {Array} tokens The tokens to run through the pipeline. - * @returns {Array} - */ -lunr.Pipeline.prototype.run = function (tokens) { - var stackLength = this._stack.length - - for (var i = 0; i < stackLength; i++) { - var fn = this._stack[i] - var memo = [] - - for (var j = 0; j < tokens.length; j++) { - var result = fn(tokens[j], j, tokens) - - if (result === null || result === void 0 || result === '') continue - - if (Array.isArray(result)) { - for (var k = 0; k < result.length; k++) { - memo.push(result[k]) - } - } else { - memo.push(result) - } - } - - tokens = memo - } - - return tokens -} - -/** - * Convenience method for passing a string through a pipeline and getting - * strings out. This method takes care of wrapping the passed string in a - * token and mapping the resulting tokens back to strings. - * - * @param {string} str - The string to pass through the pipeline. - * @param {?object} metadata - Optional metadata to associate with the token - * passed to the pipeline. - * @returns {string[]} - */ -lunr.Pipeline.prototype.runString = function (str, metadata) { - var token = new lunr.Token (str, metadata) - - return this.run([token]).map(function (t) { - return t.toString() - }) -} - -/** - * Resets the pipeline by removing any existing processors. - * - */ -lunr.Pipeline.prototype.reset = function () { - this._stack = [] -} - -/** - * Returns a representation of the pipeline ready for serialisation. - * - * Logs a warning if the function has not been registered. - * - * @returns {Array} - */ -lunr.Pipeline.prototype.toJSON = function () { - return this._stack.map(function (fn) { - lunr.Pipeline.warnIfFunctionNotRegistered(fn) - - return fn.label - }) -} -/*! - * lunr.Vector - * Copyright (C) 2020 Oliver Nightingale - */ - -/** - * A vector is used to construct the vector space of documents and queries. These - * vectors support operations to determine the similarity between two documents or - * a document and a query. - * - * Normally no parameters are required for initializing a vector, but in the case of - * loading a previously dumped vector the raw elements can be provided to the constructor. - * - * For performance reasons vectors are implemented with a flat array, where an elements - * index is immediately followed by its value. E.g. [index, value, index, value]. This - * allows the underlying array to be as sparse as possible and still offer decent - * performance when being used for vector calculations. - * - * @constructor - * @param {Number[]} [elements] - The flat list of element index and element value pairs. - */ -lunr.Vector = function (elements) { - this._magnitude = 0 - this.elements = elements || [] -} - - -/** - * Calculates the position within the vector to insert a given index. - * - * This is used internally by insert and upsert. If there are duplicate indexes then - * the position is returned as if the value for that index were to be updated, but it - * is the callers responsibility to check whether there is a duplicate at that index - * - * @param {Number} insertIdx - The index at which the element should be inserted. - * @returns {Number} - */ -lunr.Vector.prototype.positionForIndex = function (index) { - // For an empty vector the tuple can be inserted at the beginning - if (this.elements.length == 0) { - return 0 - } - - var start = 0, - end = this.elements.length / 2, - sliceLength = end - start, - pivotPoint = Math.floor(sliceLength / 2), - pivotIndex = this.elements[pivotPoint * 2] - - while (sliceLength > 1) { - if (pivotIndex < index) { - start = pivotPoint - } - - if (pivotIndex > index) { - end = pivotPoint - } - - if (pivotIndex == index) { - break - } - - sliceLength = end - start - pivotPoint = start + Math.floor(sliceLength / 2) - pivotIndex = this.elements[pivotPoint * 2] - } - - if (pivotIndex == index) { - return pivotPoint * 2 - } - - if (pivotIndex > index) { - return pivotPoint * 2 - } - - if (pivotIndex < index) { - return (pivotPoint + 1) * 2 - } -} - -/** - * Inserts an element at an index within the vector. - * - * Does not allow duplicates, will throw an error if there is already an entry - * for this index. - * - * @param {Number} insertIdx - The index at which the element should be inserted. - * @param {Number} val - The value to be inserted into the vector. - */ -lunr.Vector.prototype.insert = function (insertIdx, val) { - this.upsert(insertIdx, val, function () { - throw "duplicate index" - }) -} - -/** - * Inserts or updates an existing index within the vector. - * - * @param {Number} insertIdx - The index at which the element should be inserted. - * @param {Number} val - The value to be inserted into the vector. - * @param {function} fn - A function that is called for updates, the existing value and the - * requested value are passed as arguments - */ -lunr.Vector.prototype.upsert = function (insertIdx, val, fn) { - this._magnitude = 0 - var position = this.positionForIndex(insertIdx) - - if (this.elements[position] == insertIdx) { - this.elements[position + 1] = fn(this.elements[position + 1], val) - } else { - this.elements.splice(position, 0, insertIdx, val) - } -} - -/** - * Calculates the magnitude of this vector. - * - * @returns {Number} - */ -lunr.Vector.prototype.magnitude = function () { - if (this._magnitude) return this._magnitude - - var sumOfSquares = 0, - elementsLength = this.elements.length - - for (var i = 1; i < elementsLength; i += 2) { - var val = this.elements[i] - sumOfSquares += val * val - } - - return this._magnitude = Math.sqrt(sumOfSquares) -} - -/** - * Calculates the dot product of this vector and another vector. - * - * @param {lunr.Vector} otherVector - The vector to compute the dot product with. - * @returns {Number} - */ -lunr.Vector.prototype.dot = function (otherVector) { - var dotProduct = 0, - a = this.elements, b = otherVector.elements, - aLen = a.length, bLen = b.length, - aVal = 0, bVal = 0, - i = 0, j = 0 - - while (i < aLen && j < bLen) { - aVal = a[i], bVal = b[j] - if (aVal < bVal) { - i += 2 - } else if (aVal > bVal) { - j += 2 - } else if (aVal == bVal) { - dotProduct += a[i + 1] * b[j + 1] - i += 2 - j += 2 - } - } - - return dotProduct -} - -/** - * Calculates the similarity between this vector and another vector. - * - * @param {lunr.Vector} otherVector - The other vector to calculate the - * similarity with. - * @returns {Number} - */ -lunr.Vector.prototype.similarity = function (otherVector) { - return this.dot(otherVector) / this.magnitude() || 0 -} - -/** - * Converts the vector to an array of the elements within the vector. - * - * @returns {Number[]} - */ -lunr.Vector.prototype.toArray = function () { - var output = new Array (this.elements.length / 2) - - for (var i = 1, j = 0; i < this.elements.length; i += 2, j++) { - output[j] = this.elements[i] - } - - return output -} - -/** - * A JSON serializable representation of the vector. - * - * @returns {Number[]} - */ -lunr.Vector.prototype.toJSON = function () { - return this.elements -} -/* eslint-disable */ -/*! - * lunr.stemmer - * Copyright (C) 2020 Oliver Nightingale - * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt - */ - -/** - * lunr.stemmer is an english language stemmer, this is a JavaScript - * implementation of the PorterStemmer taken from http://tartarus.org/~martin - * - * @static - * @implements {lunr.PipelineFunction} - * @param {lunr.Token} token - The string to stem - * @returns {lunr.Token} - * @see {@link lunr.Pipeline} - * @function - */ -lunr.stemmer = (function(){ - var step2list = { - "ational" : "ate", - "tional" : "tion", - "enci" : "ence", - "anci" : "ance", - "izer" : "ize", - "bli" : "ble", - "alli" : "al", - "entli" : "ent", - "eli" : "e", - "ousli" : "ous", - "ization" : "ize", - "ation" : "ate", - "ator" : "ate", - "alism" : "al", - "iveness" : "ive", - "fulness" : "ful", - "ousness" : "ous", - "aliti" : "al", - "iviti" : "ive", - "biliti" : "ble", - "logi" : "log" - }, - - step3list = { - "icate" : "ic", - "ative" : "", - "alize" : "al", - "iciti" : "ic", - "ical" : "ic", - "ful" : "", - "ness" : "" - }, - - c = "[^aeiou]", // consonant - v = "[aeiouy]", // vowel - C = c + "[^aeiouy]*", // consonant sequence - V = v + "[aeiou]*", // vowel sequence - - mgr0 = "^(" + C + ")?" + V + C, // [C]VC... is m>0 - meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$", // [C]VC[V] is m=1 - mgr1 = "^(" + C + ")?" + V + C + V + C, // [C]VCVC... is m>1 - s_v = "^(" + C + ")?" + v; // vowel in stem - - var re_mgr0 = new RegExp(mgr0); - var re_mgr1 = new RegExp(mgr1); - var re_meq1 = new RegExp(meq1); - var re_s_v = new RegExp(s_v); - - var re_1a = /^(.+?)(ss|i)es$/; - var re2_1a = /^(.+?)([^s])s$/; - var re_1b = /^(.+?)eed$/; - var re2_1b = /^(.+?)(ed|ing)$/; - var re_1b_2 = /.$/; - var re2_1b_2 = /(at|bl|iz)$/; - var re3_1b_2 = new RegExp("([^aeiouylsz])\\1$"); - var re4_1b_2 = new RegExp("^" + C + v + "[^aeiouwxy]$"); - - var re_1c = /^(.+?[^aeiou])y$/; - var re_2 = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; - - var re_3 = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; - - var re_4 = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; - var re2_4 = /^(.+?)(s|t)(ion)$/; - - var re_5 = /^(.+?)e$/; - var re_5_1 = /ll$/; - var re3_5 = new RegExp("^" + C + v + "[^aeiouwxy]$"); - - var porterStemmer = function porterStemmer(w) { - var stem, - suffix, - firstch, - re, - re2, - re3, - re4; - - if (w.length < 3) { return w; } - - firstch = w.substr(0,1); - if (firstch == "y") { - w = firstch.toUpperCase() + w.substr(1); - } - - // Step 1a - re = re_1a - re2 = re2_1a; - - if (re.test(w)) { w = w.replace(re,"$1$2"); } - else if (re2.test(w)) { w = w.replace(re2,"$1$2"); } - - // Step 1b - re = re_1b; - re2 = re2_1b; - if (re.test(w)) { - var fp = re.exec(w); - re = re_mgr0; - if (re.test(fp[1])) { - re = re_1b_2; - w = w.replace(re,""); - } - } else if (re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1]; - re2 = re_s_v; - if (re2.test(stem)) { - w = stem; - re2 = re2_1b_2; - re3 = re3_1b_2; - re4 = re4_1b_2; - if (re2.test(w)) { w = w + "e"; } - else if (re3.test(w)) { re = re_1b_2; w = w.replace(re,""); } - else if (re4.test(w)) { w = w + "e"; } - } - } - - // Step 1c - replace suffix y or Y by i if preceded by a non-vowel which is not the first letter of the word (so cry -> cri, by -> by, say -> say) - re = re_1c; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - w = stem + "i"; - } - - // Step 2 - re = re_2; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - suffix = fp[2]; - re = re_mgr0; - if (re.test(stem)) { - w = stem + step2list[suffix]; - } - } - - // Step 3 - re = re_3; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - suffix = fp[2]; - re = re_mgr0; - if (re.test(stem)) { - w = stem + step3list[suffix]; - } - } - - // Step 4 - re = re_4; - re2 = re2_4; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = re_mgr1; - if (re.test(stem)) { - w = stem; - } - } else if (re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1] + fp[2]; - re2 = re_mgr1; - if (re2.test(stem)) { - w = stem; - } - } - - // Step 5 - re = re_5; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = re_mgr1; - re2 = re_meq1; - re3 = re3_5; - if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) { - w = stem; - } - } - - re = re_5_1; - re2 = re_mgr1; - if (re.test(w) && re2.test(w)) { - re = re_1b_2; - w = w.replace(re,""); - } - - // and turn initial Y back to y - - if (firstch == "y") { - w = firstch.toLowerCase() + w.substr(1); - } - - return w; - }; - - return function (token) { - return token.update(porterStemmer); - } -})(); - -lunr.Pipeline.registerFunction(lunr.stemmer, 'stemmer') -/*! - * lunr.stopWordFilter - * Copyright (C) 2020 Oliver Nightingale - */ - -/** - * lunr.generateStopWordFilter builds a stopWordFilter function from the provided - * list of stop words. - * - * The built in lunr.stopWordFilter is built using this generator and can be used - * to generate custom stopWordFilters for applications or non English languages. - * - * @function - * @param {Array} token The token to pass through the filter - * @returns {lunr.PipelineFunction} - * @see lunr.Pipeline - * @see lunr.stopWordFilter - */ -lunr.generateStopWordFilter = function (stopWords) { - var words = stopWords.reduce(function (memo, stopWord) { - memo[stopWord] = stopWord - return memo - }, {}) - - return function (token) { - if (token && words[token.toString()] !== token.toString()) return token - } -} - -/** - * lunr.stopWordFilter is an English language stop word list filter, any words - * contained in the list will not be passed through the filter. - * - * This is intended to be used in the Pipeline. If the token does not pass the - * filter then undefined will be returned. - * - * @function - * @implements {lunr.PipelineFunction} - * @params {lunr.Token} token - A token to check for being a stop word. - * @returns {lunr.Token} - * @see {@link lunr.Pipeline} - */ -lunr.stopWordFilter = lunr.generateStopWordFilter([ - 'a', - 'able', - 'about', - 'across', - 'after', - 'all', - 'almost', - 'also', - 'am', - 'among', - 'an', - 'and', - 'any', - 'are', - 'as', - 'at', - 'be', - 'because', - 'been', - 'but', - 'by', - 'can', - 'cannot', - 'could', - 'dear', - 'did', - 'do', - 'does', - 'either', - 'else', - 'ever', - 'every', - 'for', - 'from', - 'get', - 'got', - 'had', - 'has', - 'have', - 'he', - 'her', - 'hers', - 'him', - 'his', - 'how', - 'however', - 'i', - 'if', - 'in', - 'into', - 'is', - 'it', - 'its', - 'just', - 'least', - 'let', - 'like', - 'likely', - 'may', - 'me', - 'might', - 'most', - 'must', - 'my', - 'neither', - 'no', - 'nor', - 'not', - 'of', - 'off', - 'often', - 'on', - 'only', - 'or', - 'other', - 'our', - 'own', - 'rather', - 'said', - 'say', - 'says', - 'she', - 'should', - 'since', - 'so', - 'some', - 'than', - 'that', - 'the', - 'their', - 'them', - 'then', - 'there', - 'these', - 'they', - 'this', - 'tis', - 'to', - 'too', - 'twas', - 'us', - 'wants', - 'was', - 'we', - 'were', - 'what', - 'when', - 'where', - 'which', - 'while', - 'who', - 'whom', - 'why', - 'will', - 'with', - 'would', - 'yet', - 'you', - 'your' -]) - -lunr.Pipeline.registerFunction(lunr.stopWordFilter, 'stopWordFilter') -/*! - * lunr.trimmer - * Copyright (C) 2020 Oliver Nightingale - */ - -/** - * lunr.trimmer is a pipeline function for trimming non word - * characters from the beginning and end of tokens before they - * enter the index. - * - * This implementation may not work correctly for non latin - * characters and should either be removed or adapted for use - * with languages with non-latin characters. - * - * @static - * @implements {lunr.PipelineFunction} - * @param {lunr.Token} token The token to pass through the filter - * @returns {lunr.Token} - * @see lunr.Pipeline - */ -lunr.trimmer = function (token) { - return token.update(function (s) { - return s.replace(/^\W+/, '').replace(/\W+$/, '') - }) -} - -lunr.Pipeline.registerFunction(lunr.trimmer, 'trimmer') -/*! - * lunr.TokenSet - * Copyright (C) 2020 Oliver Nightingale - */ - -/** - * A token set is used to store the unique list of all tokens - * within an index. Token sets are also used to represent an - * incoming query to the index, this query token set and index - * token set are then intersected to find which tokens to look - * up in the inverted index. - * - * A token set can hold multiple tokens, as in the case of the - * index token set, or it can hold a single token as in the - * case of a simple query token set. - * - * Additionally token sets are used to perform wildcard matching. - * Leading, contained and trailing wildcards are supported, and - * from this edit distance matching can also be provided. - * - * Token sets are implemented as a minimal finite state automata, - * where both common prefixes and suffixes are shared between tokens. - * This helps to reduce the space used for storing the token set. - * - * @constructor - */ -lunr.TokenSet = function () { - this.final = false - this.edges = {} - this.id = lunr.TokenSet._nextId - lunr.TokenSet._nextId += 1 -} - -/** - * Keeps track of the next, auto increment, identifier to assign - * to a new tokenSet. - * - * TokenSets require a unique identifier to be correctly minimised. - * - * @private - */ -lunr.TokenSet._nextId = 1 - -/** - * Creates a TokenSet instance from the given sorted array of words. - * - * @param {String[]} arr - A sorted array of strings to create the set from. - * @returns {lunr.TokenSet} - * @throws Will throw an error if the input array is not sorted. - */ -lunr.TokenSet.fromArray = function (arr) { - var builder = new lunr.TokenSet.Builder - - for (var i = 0, len = arr.length; i < len; i++) { - builder.insert(arr[i]) - } - - builder.finish() - return builder.root -} - -/** - * Creates a token set from a query clause. - * - * @private - * @param {Object} clause - A single clause from lunr.Query. - * @param {string} clause.term - The query clause term. - * @param {number} [clause.editDistance] - The optional edit distance for the term. - * @returns {lunr.TokenSet} - */ -lunr.TokenSet.fromClause = function (clause) { - if ('editDistance' in clause) { - return lunr.TokenSet.fromFuzzyString(clause.term, clause.editDistance) - } else { - return lunr.TokenSet.fromString(clause.term) - } -} - -/** - * Creates a token set representing a single string with a specified - * edit distance. - * - * Insertions, deletions, substitutions and transpositions are each - * treated as an edit distance of 1. - * - * Increasing the allowed edit distance will have a dramatic impact - * on the performance of both creating and intersecting these TokenSets. - * It is advised to keep the edit distance less than 3. - * - * @param {string} str - The string to create the token set from. - * @param {number} editDistance - The allowed edit distance to match. - * @returns {lunr.Vector} - */ -lunr.TokenSet.fromFuzzyString = function (str, editDistance) { - var root = new lunr.TokenSet - - var stack = [{ - node: root, - editsRemaining: editDistance, - str: str - }] - - while (stack.length) { - var frame = stack.pop() - - // no edit - if (frame.str.length > 0) { - var char = frame.str.charAt(0), - noEditNode - - if (char in frame.node.edges) { - noEditNode = frame.node.edges[char] - } else { - noEditNode = new lunr.TokenSet - frame.node.edges[char] = noEditNode - } - - if (frame.str.length == 1) { - noEditNode.final = true - } - - stack.push({ - node: noEditNode, - editsRemaining: frame.editsRemaining, - str: frame.str.slice(1) - }) - } - - if (frame.editsRemaining == 0) { - continue - } - - // insertion - if ("*" in frame.node.edges) { - var insertionNode = frame.node.edges["*"] - } else { - var insertionNode = new lunr.TokenSet - frame.node.edges["*"] = insertionNode - } - - if (frame.str.length == 0) { - insertionNode.final = true - } - - stack.push({ - node: insertionNode, - editsRemaining: frame.editsRemaining - 1, - str: frame.str - }) - - // deletion - // can only do a deletion if we have enough edits remaining - // and if there are characters left to delete in the string - if (frame.str.length > 1) { - stack.push({ - node: frame.node, - editsRemaining: frame.editsRemaining - 1, - str: frame.str.slice(1) - }) - } - - // deletion - // just removing the last character from the str - if (frame.str.length == 1) { - frame.node.final = true - } - - // substitution - // can only do a substitution if we have enough edits remaining - // and if there are characters left to substitute - if (frame.str.length >= 1) { - if ("*" in frame.node.edges) { - var substitutionNode = frame.node.edges["*"] - } else { - var substitutionNode = new lunr.TokenSet - frame.node.edges["*"] = substitutionNode - } - - if (frame.str.length == 1) { - substitutionNode.final = true - } - - stack.push({ - node: substitutionNode, - editsRemaining: frame.editsRemaining - 1, - str: frame.str.slice(1) - }) - } - - // transposition - // can only do a transposition if there are edits remaining - // and there are enough characters to transpose - if (frame.str.length > 1) { - var charA = frame.str.charAt(0), - charB = frame.str.charAt(1), - transposeNode - - if (charB in frame.node.edges) { - transposeNode = frame.node.edges[charB] - } else { - transposeNode = new lunr.TokenSet - frame.node.edges[charB] = transposeNode - } - - if (frame.str.length == 1) { - transposeNode.final = true - } - - stack.push({ - node: transposeNode, - editsRemaining: frame.editsRemaining - 1, - str: charA + frame.str.slice(2) - }) - } - } - - return root -} - -/** - * Creates a TokenSet from a string. - * - * The string may contain one or more wildcard characters (*) - * that will allow wildcard matching when intersecting with - * another TokenSet. - * - * @param {string} str - The string to create a TokenSet from. - * @returns {lunr.TokenSet} - */ -lunr.TokenSet.fromString = function (str) { - var node = new lunr.TokenSet, - root = node - - /* - * Iterates through all characters within the passed string - * appending a node for each character. - * - * When a wildcard character is found then a self - * referencing edge is introduced to continually match - * any number of any characters. - */ - for (var i = 0, len = str.length; i < len; i++) { - var char = str[i], - final = (i == len - 1) - - if (char == "*") { - node.edges[char] = node - node.final = final - - } else { - var next = new lunr.TokenSet - next.final = final - - node.edges[char] = next - node = next - } - } - - return root -} - -/** - * Converts this TokenSet into an array of strings - * contained within the TokenSet. - * - * This is not intended to be used on a TokenSet that - * contains wildcards, in these cases the results are - * undefined and are likely to cause an infinite loop. - * - * @returns {string[]} - */ -lunr.TokenSet.prototype.toArray = function () { - var words = [] - - var stack = [{ - prefix: "", - node: this - }] - - while (stack.length) { - var frame = stack.pop(), - edges = Object.keys(frame.node.edges), - len = edges.length - - if (frame.node.final) { - /* In Safari, at this point the prefix is sometimes corrupted, see: - * https://github.com/olivernn/lunr.js/issues/279 Calling any - * String.prototype method forces Safari to "cast" this string to what - * it's supposed to be, fixing the bug. */ - frame.prefix.charAt(0) - words.push(frame.prefix) - } - - for (var i = 0; i < len; i++) { - var edge = edges[i] - - stack.push({ - prefix: frame.prefix.concat(edge), - node: frame.node.edges[edge] - }) - } - } - - return words -} - -/** - * Generates a string representation of a TokenSet. - * - * This is intended to allow TokenSets to be used as keys - * in objects, largely to aid the construction and minimisation - * of a TokenSet. As such it is not designed to be a human - * friendly representation of the TokenSet. - * - * @returns {string} - */ -lunr.TokenSet.prototype.toString = function () { - // NOTE: Using Object.keys here as this.edges is very likely - // to enter 'hash-mode' with many keys being added - // - // avoiding a for-in loop here as it leads to the function - // being de-optimised (at least in V8). From some simple - // benchmarks the performance is comparable, but allowing - // V8 to optimize may mean easy performance wins in the future. - - if (this._str) { - return this._str - } - - var str = this.final ? '1' : '0', - labels = Object.keys(this.edges).sort(), - len = labels.length - - for (var i = 0; i < len; i++) { - var label = labels[i], - node = this.edges[label] - - str = str + label + node.id - } - - return str -} - -/** - * Returns a new TokenSet that is the intersection of - * this TokenSet and the passed TokenSet. - * - * This intersection will take into account any wildcards - * contained within the TokenSet. - * - * @param {lunr.TokenSet} b - An other TokenSet to intersect with. - * @returns {lunr.TokenSet} - */ -lunr.TokenSet.prototype.intersect = function (b) { - var output = new lunr.TokenSet, - frame = undefined - - var stack = [{ - qNode: b, - output: output, - node: this - }] - - while (stack.length) { - frame = stack.pop() - - // NOTE: As with the #toString method, we are using - // Object.keys and a for loop instead of a for-in loop - // as both of these objects enter 'hash' mode, causing - // the function to be de-optimised in V8 - var qEdges = Object.keys(frame.qNode.edges), - qLen = qEdges.length, - nEdges = Object.keys(frame.node.edges), - nLen = nEdges.length - - for (var q = 0; q < qLen; q++) { - var qEdge = qEdges[q] - - for (var n = 0; n < nLen; n++) { - var nEdge = nEdges[n] - - if (nEdge == qEdge || qEdge == '*') { - var node = frame.node.edges[nEdge], - qNode = frame.qNode.edges[qEdge], - final = node.final && qNode.final, - next = undefined - - if (nEdge in frame.output.edges) { - // an edge already exists for this character - // no need to create a new node, just set the finality - // bit unless this node is already final - next = frame.output.edges[nEdge] - next.final = next.final || final - - } else { - // no edge exists yet, must create one - // set the finality bit and insert it - // into the output - next = new lunr.TokenSet - next.final = final - frame.output.edges[nEdge] = next - } - - stack.push({ - qNode: qNode, - output: next, - node: node - }) - } - } - } - } - - return output -} -lunr.TokenSet.Builder = function () { - this.previousWord = "" - this.root = new lunr.TokenSet - this.uncheckedNodes = [] - this.minimizedNodes = {} -} - -lunr.TokenSet.Builder.prototype.insert = function (word) { - var node, - commonPrefix = 0 - - if (word < this.previousWord) { - throw new Error ("Out of order word insertion") - } - - for (var i = 0; i < word.length && i < this.previousWord.length; i++) { - if (word[i] != this.previousWord[i]) break - commonPrefix++ - } - - this.minimize(commonPrefix) - - if (this.uncheckedNodes.length == 0) { - node = this.root - } else { - node = this.uncheckedNodes[this.uncheckedNodes.length - 1].child - } - - for (var i = commonPrefix; i < word.length; i++) { - var nextNode = new lunr.TokenSet, - char = word[i] - - node.edges[char] = nextNode - - this.uncheckedNodes.push({ - parent: node, - char: char, - child: nextNode - }) - - node = nextNode - } - - node.final = true - this.previousWord = word -} - -lunr.TokenSet.Builder.prototype.finish = function () { - this.minimize(0) -} - -lunr.TokenSet.Builder.prototype.minimize = function (downTo) { - for (var i = this.uncheckedNodes.length - 1; i >= downTo; i--) { - var node = this.uncheckedNodes[i], - childKey = node.child.toString() - - if (childKey in this.minimizedNodes) { - node.parent.edges[node.char] = this.minimizedNodes[childKey] - } else { - // Cache the key for this node since - // we know it can't change anymore - node.child._str = childKey - - this.minimizedNodes[childKey] = node.child - } - - this.uncheckedNodes.pop() - } -} -/*! - * lunr.Index - * Copyright (C) 2020 Oliver Nightingale - */ - -/** - * An index contains the built index of all documents and provides a query interface - * to the index. - * - * Usually instances of lunr.Index will not be created using this constructor, instead - * lunr.Builder should be used to construct new indexes, or lunr.Index.load should be - * used to load previously built and serialized indexes. - * - * @constructor - * @param {Object} attrs - The attributes of the built search index. - * @param {Object} attrs.invertedIndex - An index of term/field to document reference. - * @param {Object} attrs.fieldVectors - Field vectors - * @param {lunr.TokenSet} attrs.tokenSet - An set of all corpus tokens. - * @param {string[]} attrs.fields - The names of indexed document fields. - * @param {lunr.Pipeline} attrs.pipeline - The pipeline to use for search terms. - */ -lunr.Index = function (attrs) { - this.invertedIndex = attrs.invertedIndex - this.fieldVectors = attrs.fieldVectors - this.tokenSet = attrs.tokenSet - this.fields = attrs.fields - this.pipeline = attrs.pipeline -} - -/** - * A result contains details of a document matching a search query. - * @typedef {Object} lunr.Index~Result - * @property {string} ref - The reference of the document this result represents. - * @property {number} score - A number between 0 and 1 representing how similar this document is to the query. - * @property {lunr.MatchData} matchData - Contains metadata about this match including which term(s) caused the match. - */ - -/** - * Although lunr provides the ability to create queries using lunr.Query, it also provides a simple - * query language which itself is parsed into an instance of lunr.Query. - * - * For programmatically building queries it is advised to directly use lunr.Query, the query language - * is best used for human entered text rather than program generated text. - * - * At its simplest queries can just be a single term, e.g. `hello`, multiple terms are also supported - * and will be combined with OR, e.g `hello world` will match documents that contain either 'hello' - * or 'world', though those that contain both will rank higher in the results. - * - * Wildcards can be included in terms to match one or more unspecified characters, these wildcards can - * be inserted anywhere within the term, and more than one wildcard can exist in a single term. Adding - * wildcards will increase the number of documents that will be found but can also have a negative - * impact on query performance, especially with wildcards at the beginning of a term. - * - * Terms can be restricted to specific fields, e.g. `title:hello`, only documents with the term - * hello in the title field will match this query. Using a field not present in the index will lead - * to an error being thrown. - * - * Modifiers can also be added to terms, lunr supports edit distance and boost modifiers on terms. A term - * boost will make documents matching that term score higher, e.g. `foo^5`. Edit distance is also supported - * to provide fuzzy matching, e.g. 'hello~2' will match documents with hello with an edit distance of 2. - * Avoid large values for edit distance to improve query performance. - * - * Each term also supports a presence modifier. By default a term's presence in document is optional, however - * this can be changed to either required or prohibited. For a term's presence to be required in a document the - * term should be prefixed with a '+', e.g. `+foo bar` is a search for documents that must contain 'foo' and - * optionally contain 'bar'. Conversely a leading '-' sets the terms presence to prohibited, i.e. it must not - * appear in a document, e.g. `-foo bar` is a search for documents that do not contain 'foo' but may contain 'bar'. - * - * To escape special characters the backslash character '\' can be used, this allows searches to include - * characters that would normally be considered modifiers, e.g. `foo\~2` will search for a term "foo~2" instead - * of attempting to apply a boost of 2 to the search term "foo". - * - * @typedef {string} lunr.Index~QueryString - * @example Simple single term query - * hello - * @example Multiple term query - * hello world - * @example term scoped to a field - * title:hello - * @example term with a boost of 10 - * hello^10 - * @example term with an edit distance of 2 - * hello~2 - * @example terms with presence modifiers - * -foo +bar baz - */ - -/** - * Performs a search against the index using lunr query syntax. - * - * Results will be returned sorted by their score, the most relevant results - * will be returned first. For details on how the score is calculated, please see - * the {@link https://lunrjs.com/guides/searching.html#scoring|guide}. - * - * For more programmatic querying use lunr.Index#query. - * - * @param {lunr.Index~QueryString} queryString - A string containing a lunr query. - * @throws {lunr.QueryParseError} If the passed query string cannot be parsed. - * @returns {lunr.Index~Result[]} - */ -lunr.Index.prototype.search = function (queryString) { - return this.query(function (query) { - var parser = new lunr.QueryParser(queryString, query) - parser.parse() - }) -} - -/** - * A query builder callback provides a query object to be used to express - * the query to perform on the index. - * - * @callback lunr.Index~queryBuilder - * @param {lunr.Query} query - The query object to build up. - * @this lunr.Query - */ - -/** - * Performs a query against the index using the yielded lunr.Query object. - * - * If performing programmatic queries against the index, this method is preferred - * over lunr.Index#search so as to avoid the additional query parsing overhead. - * - * A query object is yielded to the supplied function which should be used to - * express the query to be run against the index. - * - * Note that although this function takes a callback parameter it is _not_ an - * asynchronous operation, the callback is just yielded a query object to be - * customized. - * - * @param {lunr.Index~queryBuilder} fn - A function that is used to build the query. - * @returns {lunr.Index~Result[]} - */ -lunr.Index.prototype.query = function (fn) { - // for each query clause - // * process terms - // * expand terms from token set - // * find matching documents and metadata - // * get document vectors - // * score documents - - var query = new lunr.Query(this.fields), - matchingFields = Object.create(null), - queryVectors = Object.create(null), - termFieldCache = Object.create(null), - requiredMatches = Object.create(null), - prohibitedMatches = Object.create(null) - - /* - * To support field level boosts a query vector is created per - * field. An empty vector is eagerly created to support negated - * queries. - */ - for (var i = 0; i < this.fields.length; i++) { - queryVectors[this.fields[i]] = new lunr.Vector - } - - fn.call(query, query) - - for (var i = 0; i < query.clauses.length; i++) { - /* - * Unless the pipeline has been disabled for this term, which is - * the case for terms with wildcards, we need to pass the clause - * term through the search pipeline. A pipeline returns an array - * of processed terms. Pipeline functions may expand the passed - * term, which means we may end up performing multiple index lookups - * for a single query term. - */ - var clause = query.clauses[i], - terms = null, - clauseMatches = lunr.Set.empty - - if (clause.usePipeline) { - terms = this.pipeline.runString(clause.term, { - fields: clause.fields - }) - } else { - terms = [clause.term] - } - - for (var m = 0; m < terms.length; m++) { - var term = terms[m] - - /* - * Each term returned from the pipeline needs to use the same query - * clause object, e.g. the same boost and or edit distance. The - * simplest way to do this is to re-use the clause object but mutate - * its term property. - */ - clause.term = term - - /* - * From the term in the clause we create a token set which will then - * be used to intersect the indexes token set to get a list of terms - * to lookup in the inverted index - */ - var termTokenSet = lunr.TokenSet.fromClause(clause), - expandedTerms = this.tokenSet.intersect(termTokenSet).toArray() - - /* - * If a term marked as required does not exist in the tokenSet it is - * impossible for the search to return any matches. We set all the field - * scoped required matches set to empty and stop examining any further - * clauses. - */ - if (expandedTerms.length === 0 && clause.presence === lunr.Query.presence.REQUIRED) { - for (var k = 0; k < clause.fields.length; k++) { - var field = clause.fields[k] - requiredMatches[field] = lunr.Set.empty - } - - break - } - - for (var j = 0; j < expandedTerms.length; j++) { - /* - * For each term get the posting and termIndex, this is required for - * building the query vector. - */ - var expandedTerm = expandedTerms[j], - posting = this.invertedIndex[expandedTerm], - termIndex = posting._index - - for (var k = 0; k < clause.fields.length; k++) { - /* - * For each field that this query term is scoped by (by default - * all fields are in scope) we need to get all the document refs - * that have this term in that field. - * - * The posting is the entry in the invertedIndex for the matching - * term from above. - */ - var field = clause.fields[k], - fieldPosting = posting[field], - matchingDocumentRefs = Object.keys(fieldPosting), - termField = expandedTerm + "/" + field, - matchingDocumentsSet = new lunr.Set(matchingDocumentRefs) - - /* - * if the presence of this term is required ensure that the matching - * documents are added to the set of required matches for this clause. - * - */ - if (clause.presence == lunr.Query.presence.REQUIRED) { - clauseMatches = clauseMatches.union(matchingDocumentsSet) - - if (requiredMatches[field] === undefined) { - requiredMatches[field] = lunr.Set.complete - } - } - - /* - * if the presence of this term is prohibited ensure that the matching - * documents are added to the set of prohibited matches for this field, - * creating that set if it does not yet exist. - */ - if (clause.presence == lunr.Query.presence.PROHIBITED) { - if (prohibitedMatches[field] === undefined) { - prohibitedMatches[field] = lunr.Set.empty - } - - prohibitedMatches[field] = prohibitedMatches[field].union(matchingDocumentsSet) - - /* - * Prohibited matches should not be part of the query vector used for - * similarity scoring and no metadata should be extracted so we continue - * to the next field - */ - continue - } - - /* - * The query field vector is populated using the termIndex found for - * the term and a unit value with the appropriate boost applied. - * Using upsert because there could already be an entry in the vector - * for the term we are working with. In that case we just add the scores - * together. - */ - queryVectors[field].upsert(termIndex, clause.boost, function (a, b) { return a + b }) - - /** - * If we've already seen this term, field combo then we've already collected - * the matching documents and metadata, no need to go through all that again - */ - if (termFieldCache[termField]) { - continue - } - - for (var l = 0; l < matchingDocumentRefs.length; l++) { - /* - * All metadata for this term/field/document triple - * are then extracted and collected into an instance - * of lunr.MatchData ready to be returned in the query - * results - */ - var matchingDocumentRef = matchingDocumentRefs[l], - matchingFieldRef = new lunr.FieldRef (matchingDocumentRef, field), - metadata = fieldPosting[matchingDocumentRef], - fieldMatch - - if ((fieldMatch = matchingFields[matchingFieldRef]) === undefined) { - matchingFields[matchingFieldRef] = new lunr.MatchData (expandedTerm, field, metadata) - } else { - fieldMatch.add(expandedTerm, field, metadata) - } - - } - - termFieldCache[termField] = true - } - } - } - - /** - * If the presence was required we need to update the requiredMatches field sets. - * We do this after all fields for the term have collected their matches because - * the clause terms presence is required in _any_ of the fields not _all_ of the - * fields. - */ - if (clause.presence === lunr.Query.presence.REQUIRED) { - for (var k = 0; k < clause.fields.length; k++) { - var field = clause.fields[k] - requiredMatches[field] = requiredMatches[field].intersect(clauseMatches) - } - } - } - - /** - * Need to combine the field scoped required and prohibited - * matching documents into a global set of required and prohibited - * matches - */ - var allRequiredMatches = lunr.Set.complete, - allProhibitedMatches = lunr.Set.empty - - for (var i = 0; i < this.fields.length; i++) { - var field = this.fields[i] - - if (requiredMatches[field]) { - allRequiredMatches = allRequiredMatches.intersect(requiredMatches[field]) - } - - if (prohibitedMatches[field]) { - allProhibitedMatches = allProhibitedMatches.union(prohibitedMatches[field]) - } - } - - var matchingFieldRefs = Object.keys(matchingFields), - results = [], - matches = Object.create(null) - - /* - * If the query is negated (contains only prohibited terms) - * we need to get _all_ fieldRefs currently existing in the - * index. This is only done when we know that the query is - * entirely prohibited terms to avoid any cost of getting all - * fieldRefs unnecessarily. - * - * Additionally, blank MatchData must be created to correctly - * populate the results. - */ - if (query.isNegated()) { - matchingFieldRefs = Object.keys(this.fieldVectors) - - for (var i = 0; i < matchingFieldRefs.length; i++) { - var matchingFieldRef = matchingFieldRefs[i] - var fieldRef = lunr.FieldRef.fromString(matchingFieldRef) - matchingFields[matchingFieldRef] = new lunr.MatchData - } - } - - for (var i = 0; i < matchingFieldRefs.length; i++) { - /* - * Currently we have document fields that match the query, but we - * need to return documents. The matchData and scores are combined - * from multiple fields belonging to the same document. - * - * Scores are calculated by field, using the query vectors created - * above, and combined into a final document score using addition. - */ - var fieldRef = lunr.FieldRef.fromString(matchingFieldRefs[i]), - docRef = fieldRef.docRef - - if (!allRequiredMatches.contains(docRef)) { - continue - } - - if (allProhibitedMatches.contains(docRef)) { - continue - } - - var fieldVector = this.fieldVectors[fieldRef], - score = queryVectors[fieldRef.fieldName].similarity(fieldVector), - docMatch - - if ((docMatch = matches[docRef]) !== undefined) { - docMatch.score += score - docMatch.matchData.combine(matchingFields[fieldRef]) - } else { - var match = { - ref: docRef, - score: score, - matchData: matchingFields[fieldRef] - } - matches[docRef] = match - results.push(match) - } - } - - /* - * Sort the results objects by score, highest first. - */ - return results.sort(function (a, b) { - return b.score - a.score - }) -} - -/** - * Prepares the index for JSON serialization. - * - * The schema for this JSON blob will be described in a - * separate JSON schema file. - * - * @returns {Object} - */ -lunr.Index.prototype.toJSON = function () { - var invertedIndex = Object.keys(this.invertedIndex) - .sort() - .map(function (term) { - return [term, this.invertedIndex[term]] - }, this) - - var fieldVectors = Object.keys(this.fieldVectors) - .map(function (ref) { - return [ref, this.fieldVectors[ref].toJSON()] - }, this) - - return { - version: lunr.version, - fields: this.fields, - fieldVectors: fieldVectors, - invertedIndex: invertedIndex, - pipeline: this.pipeline.toJSON() - } -} - -/** - * Loads a previously serialized lunr.Index - * - * @param {Object} serializedIndex - A previously serialized lunr.Index - * @returns {lunr.Index} - */ -lunr.Index.load = function (serializedIndex) { - var attrs = {}, - fieldVectors = {}, - serializedVectors = serializedIndex.fieldVectors, - invertedIndex = Object.create(null), - serializedInvertedIndex = serializedIndex.invertedIndex, - tokenSetBuilder = new lunr.TokenSet.Builder, - pipeline = lunr.Pipeline.load(serializedIndex.pipeline) - - if (serializedIndex.version != lunr.version) { - lunr.utils.warn("Version mismatch when loading serialised index. Current version of lunr '" + lunr.version + "' does not match serialized index '" + serializedIndex.version + "'") - } - - for (var i = 0; i < serializedVectors.length; i++) { - var tuple = serializedVectors[i], - ref = tuple[0], - elements = tuple[1] - - fieldVectors[ref] = new lunr.Vector(elements) - } - - for (var i = 0; i < serializedInvertedIndex.length; i++) { - var tuple = serializedInvertedIndex[i], - term = tuple[0], - posting = tuple[1] - - tokenSetBuilder.insert(term) - invertedIndex[term] = posting - } - - tokenSetBuilder.finish() - - attrs.fields = serializedIndex.fields - - attrs.fieldVectors = fieldVectors - attrs.invertedIndex = invertedIndex - attrs.tokenSet = tokenSetBuilder.root - attrs.pipeline = pipeline - - return new lunr.Index(attrs) -} -/*! - * lunr.Builder - * Copyright (C) 2020 Oliver Nightingale - */ - -/** - * lunr.Builder performs indexing on a set of documents and - * returns instances of lunr.Index ready for querying. - * - * All configuration of the index is done via the builder, the - * fields to index, the document reference, the text processing - * pipeline and document scoring parameters are all set on the - * builder before indexing. - * - * @constructor - * @property {string} _ref - Internal reference to the document reference field. - * @property {string[]} _fields - Internal reference to the document fields to index. - * @property {object} invertedIndex - The inverted index maps terms to document fields. - * @property {object} documentTermFrequencies - Keeps track of document term frequencies. - * @property {object} documentLengths - Keeps track of the length of documents added to the index. - * @property {lunr.tokenizer} tokenizer - Function for splitting strings into tokens for indexing. - * @property {lunr.Pipeline} pipeline - The pipeline performs text processing on tokens before indexing. - * @property {lunr.Pipeline} searchPipeline - A pipeline for processing search terms before querying the index. - * @property {number} documentCount - Keeps track of the total number of documents indexed. - * @property {number} _b - A parameter to control field length normalization, setting this to 0 disabled normalization, 1 fully normalizes field lengths, the default value is 0.75. - * @property {number} _k1 - A parameter to control how quickly an increase in term frequency results in term frequency saturation, the default value is 1.2. - * @property {number} termIndex - A counter incremented for each unique term, used to identify a terms position in the vector space. - * @property {array} metadataWhitelist - A list of metadata keys that have been whitelisted for entry in the index. - */ -lunr.Builder = function () { - this._ref = "id" - this._fields = Object.create(null) - this._documents = Object.create(null) - this.invertedIndex = Object.create(null) - this.fieldTermFrequencies = {} - this.fieldLengths = {} - this.tokenizer = lunr.tokenizer - this.pipeline = new lunr.Pipeline - this.searchPipeline = new lunr.Pipeline - this.documentCount = 0 - this._b = 0.75 - this._k1 = 1.2 - this.termIndex = 0 - this.metadataWhitelist = [] -} - -/** - * Sets the document field used as the document reference. Every document must have this field. - * The type of this field in the document should be a string, if it is not a string it will be - * coerced into a string by calling toString. - * - * The default ref is 'id'. - * - * The ref should _not_ be changed during indexing, it should be set before any documents are - * added to the index. Changing it during indexing can lead to inconsistent results. - * - * @param {string} ref - The name of the reference field in the document. - */ -lunr.Builder.prototype.ref = function (ref) { - this._ref = ref -} - -/** - * A function that is used to extract a field from a document. - * - * Lunr expects a field to be at the top level of a document, if however the field - * is deeply nested within a document an extractor function can be used to extract - * the right field for indexing. - * - * @callback fieldExtractor - * @param {object} doc - The document being added to the index. - * @returns {?(string|object|object[])} obj - The object that will be indexed for this field. - * @example Extracting a nested field - * function (doc) { return doc.nested.field } - */ - -/** - * Adds a field to the list of document fields that will be indexed. Every document being - * indexed should have this field. Null values for this field in indexed documents will - * not cause errors but will limit the chance of that document being retrieved by searches. - * - * All fields should be added before adding documents to the index. Adding fields after - * a document has been indexed will have no effect on already indexed documents. - * - * Fields can be boosted at build time. This allows terms within that field to have more - * importance when ranking search results. Use a field boost to specify that matches within - * one field are more important than other fields. - * - * @param {string} fieldName - The name of a field to index in all documents. - * @param {object} attributes - Optional attributes associated with this field. - * @param {number} [attributes.boost=1] - Boost applied to all terms within this field. - * @param {fieldExtractor} [attributes.extractor] - Function to extract a field from a document. - * @throws {RangeError} fieldName cannot contain unsupported characters '/' - */ -lunr.Builder.prototype.field = function (fieldName, attributes) { - if (/\//.test(fieldName)) { - throw new RangeError ("Field '" + fieldName + "' contains illegal character '/'") - } - - this._fields[fieldName] = attributes || {} -} - -/** - * A parameter to tune the amount of field length normalisation that is applied when - * calculating relevance scores. A value of 0 will completely disable any normalisation - * and a value of 1 will fully normalise field lengths. The default is 0.75. Values of b - * will be clamped to the range 0 - 1. - * - * @param {number} number - The value to set for this tuning parameter. - */ -lunr.Builder.prototype.b = function (number) { - if (number < 0) { - this._b = 0 - } else if (number > 1) { - this._b = 1 - } else { - this._b = number - } -} - -/** - * A parameter that controls the speed at which a rise in term frequency results in term - * frequency saturation. The default value is 1.2. Setting this to a higher value will give - * slower saturation levels, a lower value will result in quicker saturation. - * - * @param {number} number - The value to set for this tuning parameter. - */ -lunr.Builder.prototype.k1 = function (number) { - this._k1 = number -} - -/** - * Adds a document to the index. - * - * Before adding fields to the index the index should have been fully setup, with the document - * ref and all fields to index already having been specified. - * - * The document must have a field name as specified by the ref (by default this is 'id') and - * it should have all fields defined for indexing, though null or undefined values will not - * cause errors. - * - * Entire documents can be boosted at build time. Applying a boost to a document indicates that - * this document should rank higher in search results than other documents. - * - * @param {object} doc - The document to add to the index. - * @param {object} attributes - Optional attributes associated with this document. - * @param {number} [attributes.boost=1] - Boost applied to all terms within this document. - */ -lunr.Builder.prototype.add = function (doc, attributes) { - var docRef = doc[this._ref], - fields = Object.keys(this._fields) - - this._documents[docRef] = attributes || {} - this.documentCount += 1 - - for (var i = 0; i < fields.length; i++) { - var fieldName = fields[i], - extractor = this._fields[fieldName].extractor, - field = extractor ? extractor(doc) : doc[fieldName], - tokens = this.tokenizer(field, { - fields: [fieldName] - }), - terms = this.pipeline.run(tokens), - fieldRef = new lunr.FieldRef (docRef, fieldName), - fieldTerms = Object.create(null) - - this.fieldTermFrequencies[fieldRef] = fieldTerms - this.fieldLengths[fieldRef] = 0 - - // store the length of this field for this document - this.fieldLengths[fieldRef] += terms.length - - // calculate term frequencies for this field - for (var j = 0; j < terms.length; j++) { - var term = terms[j] - - if (fieldTerms[term] == undefined) { - fieldTerms[term] = 0 - } - - fieldTerms[term] += 1 - - // add to inverted index - // create an initial posting if one doesn't exist - if (this.invertedIndex[term] == undefined) { - var posting = Object.create(null) - posting["_index"] = this.termIndex - this.termIndex += 1 - - for (var k = 0; k < fields.length; k++) { - posting[fields[k]] = Object.create(null) - } - - this.invertedIndex[term] = posting - } - - // add an entry for this term/fieldName/docRef to the invertedIndex - if (this.invertedIndex[term][fieldName][docRef] == undefined) { - this.invertedIndex[term][fieldName][docRef] = Object.create(null) - } - - // store all whitelisted metadata about this token in the - // inverted index - for (var l = 0; l < this.metadataWhitelist.length; l++) { - var metadataKey = this.metadataWhitelist[l], - metadata = term.metadata[metadataKey] - - if (this.invertedIndex[term][fieldName][docRef][metadataKey] == undefined) { - this.invertedIndex[term][fieldName][docRef][metadataKey] = [] - } - - this.invertedIndex[term][fieldName][docRef][metadataKey].push(metadata) - } - } - - } -} - -/** - * Calculates the average document length for this index - * - * @private - */ -lunr.Builder.prototype.calculateAverageFieldLengths = function () { - - var fieldRefs = Object.keys(this.fieldLengths), - numberOfFields = fieldRefs.length, - accumulator = {}, - documentsWithField = {} - - for (var i = 0; i < numberOfFields; i++) { - var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]), - field = fieldRef.fieldName - - documentsWithField[field] || (documentsWithField[field] = 0) - documentsWithField[field] += 1 - - accumulator[field] || (accumulator[field] = 0) - accumulator[field] += this.fieldLengths[fieldRef] - } - - var fields = Object.keys(this._fields) - - for (var i = 0; i < fields.length; i++) { - var fieldName = fields[i] - accumulator[fieldName] = accumulator[fieldName] / documentsWithField[fieldName] - } - - this.averageFieldLength = accumulator -} - -/** - * Builds a vector space model of every document using lunr.Vector - * - * @private - */ -lunr.Builder.prototype.createFieldVectors = function () { - var fieldVectors = {}, - fieldRefs = Object.keys(this.fieldTermFrequencies), - fieldRefsLength = fieldRefs.length, - termIdfCache = Object.create(null) - - for (var i = 0; i < fieldRefsLength; i++) { - var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]), - fieldName = fieldRef.fieldName, - fieldLength = this.fieldLengths[fieldRef], - fieldVector = new lunr.Vector, - termFrequencies = this.fieldTermFrequencies[fieldRef], - terms = Object.keys(termFrequencies), - termsLength = terms.length - - - var fieldBoost = this._fields[fieldName].boost || 1, - docBoost = this._documents[fieldRef.docRef].boost || 1 - - for (var j = 0; j < termsLength; j++) { - var term = terms[j], - tf = termFrequencies[term], - termIndex = this.invertedIndex[term]._index, - idf, score, scoreWithPrecision - - if (termIdfCache[term] === undefined) { - idf = lunr.idf(this.invertedIndex[term], this.documentCount) - termIdfCache[term] = idf - } else { - idf = termIdfCache[term] - } - - score = idf * ((this._k1 + 1) * tf) / (this._k1 * (1 - this._b + this._b * (fieldLength / this.averageFieldLength[fieldName])) + tf) - score *= fieldBoost - score *= docBoost - scoreWithPrecision = Math.round(score * 1000) / 1000 - // Converts 1.23456789 to 1.234. - // Reducing the precision so that the vectors take up less - // space when serialised. Doing it now so that they behave - // the same before and after serialisation. Also, this is - // the fastest approach to reducing a number's precision in - // JavaScript. - - fieldVector.insert(termIndex, scoreWithPrecision) - } - - fieldVectors[fieldRef] = fieldVector - } - - this.fieldVectors = fieldVectors -} - -/** - * Creates a token set of all tokens in the index using lunr.TokenSet - * - * @private - */ -lunr.Builder.prototype.createTokenSet = function () { - this.tokenSet = lunr.TokenSet.fromArray( - Object.keys(this.invertedIndex).sort() - ) -} - -/** - * Builds the index, creating an instance of lunr.Index. - * - * This completes the indexing process and should only be called - * once all documents have been added to the index. - * - * @returns {lunr.Index} - */ -lunr.Builder.prototype.build = function () { - this.calculateAverageFieldLengths() - this.createFieldVectors() - this.createTokenSet() - - return new lunr.Index({ - invertedIndex: this.invertedIndex, - fieldVectors: this.fieldVectors, - tokenSet: this.tokenSet, - fields: Object.keys(this._fields), - pipeline: this.searchPipeline - }) -} - -/** - * Applies a plugin to the index builder. - * - * A plugin is a function that is called with the index builder as its context. - * Plugins can be used to customise or extend the behaviour of the index - * in some way. A plugin is just a function, that encapsulated the custom - * behaviour that should be applied when building the index. - * - * The plugin function will be called with the index builder as its argument, additional - * arguments can also be passed when calling use. The function will be called - * with the index builder as its context. - * - * @param {Function} plugin The plugin to apply. - */ -lunr.Builder.prototype.use = function (fn) { - var args = Array.prototype.slice.call(arguments, 1) - args.unshift(this) - fn.apply(this, args) -} -/** - * Contains and collects metadata about a matching document. - * A single instance of lunr.MatchData is returned as part of every - * lunr.Index~Result. - * - * @constructor - * @param {string} term - The term this match data is associated with - * @param {string} field - The field in which the term was found - * @param {object} metadata - The metadata recorded about this term in this field - * @property {object} metadata - A cloned collection of metadata associated with this document. - * @see {@link lunr.Index~Result} - */ -lunr.MatchData = function (term, field, metadata) { - var clonedMetadata = Object.create(null), - metadataKeys = Object.keys(metadata || {}) - - // Cloning the metadata to prevent the original - // being mutated during match data combination. - // Metadata is kept in an array within the inverted - // index so cloning the data can be done with - // Array#slice - for (var i = 0; i < metadataKeys.length; i++) { - var key = metadataKeys[i] - clonedMetadata[key] = metadata[key].slice() - } - - this.metadata = Object.create(null) - - if (term !== undefined) { - this.metadata[term] = Object.create(null) - this.metadata[term][field] = clonedMetadata - } -} - -/** - * An instance of lunr.MatchData will be created for every term that matches a - * document. However only one instance is required in a lunr.Index~Result. This - * method combines metadata from another instance of lunr.MatchData with this - * objects metadata. - * - * @param {lunr.MatchData} otherMatchData - Another instance of match data to merge with this one. - * @see {@link lunr.Index~Result} - */ -lunr.MatchData.prototype.combine = function (otherMatchData) { - var terms = Object.keys(otherMatchData.metadata) - - for (var i = 0; i < terms.length; i++) { - var term = terms[i], - fields = Object.keys(otherMatchData.metadata[term]) - - if (this.metadata[term] == undefined) { - this.metadata[term] = Object.create(null) - } - - for (var j = 0; j < fields.length; j++) { - var field = fields[j], - keys = Object.keys(otherMatchData.metadata[term][field]) - - if (this.metadata[term][field] == undefined) { - this.metadata[term][field] = Object.create(null) - } - - for (var k = 0; k < keys.length; k++) { - var key = keys[k] - - if (this.metadata[term][field][key] == undefined) { - this.metadata[term][field][key] = otherMatchData.metadata[term][field][key] - } else { - this.metadata[term][field][key] = this.metadata[term][field][key].concat(otherMatchData.metadata[term][field][key]) - } - - } - } - } -} - -/** - * Add metadata for a term/field pair to this instance of match data. - * - * @param {string} term - The term this match data is associated with - * @param {string} field - The field in which the term was found - * @param {object} metadata - The metadata recorded about this term in this field - */ -lunr.MatchData.prototype.add = function (term, field, metadata) { - if (!(term in this.metadata)) { - this.metadata[term] = Object.create(null) - this.metadata[term][field] = metadata - return - } - - if (!(field in this.metadata[term])) { - this.metadata[term][field] = metadata - return - } - - var metadataKeys = Object.keys(metadata) - - for (var i = 0; i < metadataKeys.length; i++) { - var key = metadataKeys[i] - - if (key in this.metadata[term][field]) { - this.metadata[term][field][key] = this.metadata[term][field][key].concat(metadata[key]) - } else { - this.metadata[term][field][key] = metadata[key] - } - } -} -/** - * A lunr.Query provides a programmatic way of defining queries to be performed - * against a {@link lunr.Index}. - * - * Prefer constructing a lunr.Query using the {@link lunr.Index#query} method - * so the query object is pre-initialized with the right index fields. - * - * @constructor - * @property {lunr.Query~Clause[]} clauses - An array of query clauses. - * @property {string[]} allFields - An array of all available fields in a lunr.Index. - */ -lunr.Query = function (allFields) { - this.clauses = [] - this.allFields = allFields -} - -/** - * Constants for indicating what kind of automatic wildcard insertion will be used when constructing a query clause. - * - * This allows wildcards to be added to the beginning and end of a term without having to manually do any string - * concatenation. - * - * The wildcard constants can be bitwise combined to select both leading and trailing wildcards. - * - * @constant - * @default - * @property {number} wildcard.NONE - The term will have no wildcards inserted, this is the default behaviour - * @property {number} wildcard.LEADING - Prepend the term with a wildcard, unless a leading wildcard already exists - * @property {number} wildcard.TRAILING - Append a wildcard to the term, unless a trailing wildcard already exists - * @see lunr.Query~Clause - * @see lunr.Query#clause - * @see lunr.Query#term - * @example query term with trailing wildcard - * query.term('foo', { wildcard: lunr.Query.wildcard.TRAILING }) - * @example query term with leading and trailing wildcard - * query.term('foo', { - * wildcard: lunr.Query.wildcard.LEADING | lunr.Query.wildcard.TRAILING - * }) - */ - -lunr.Query.wildcard = new String ("*") -lunr.Query.wildcard.NONE = 0 -lunr.Query.wildcard.LEADING = 1 -lunr.Query.wildcard.TRAILING = 2 - -/** - * Constants for indicating what kind of presence a term must have in matching documents. - * - * @constant - * @enum {number} - * @see lunr.Query~Clause - * @see lunr.Query#clause - * @see lunr.Query#term - * @example query term with required presence - * query.term('foo', { presence: lunr.Query.presence.REQUIRED }) - */ -lunr.Query.presence = { - /** - * Term's presence in a document is optional, this is the default value. - */ - OPTIONAL: 1, - - /** - * Term's presence in a document is required, documents that do not contain - * this term will not be returned. - */ - REQUIRED: 2, - - /** - * Term's presence in a document is prohibited, documents that do contain - * this term will not be returned. - */ - PROHIBITED: 3 -} - -/** - * A single clause in a {@link lunr.Query} contains a term and details on how to - * match that term against a {@link lunr.Index}. - * - * @typedef {Object} lunr.Query~Clause - * @property {string[]} fields - The fields in an index this clause should be matched against. - * @property {number} [boost=1] - Any boost that should be applied when matching this clause. - * @property {number} [editDistance] - Whether the term should have fuzzy matching applied, and how fuzzy the match should be. - * @property {boolean} [usePipeline] - Whether the term should be passed through the search pipeline. - * @property {number} [wildcard=lunr.Query.wildcard.NONE] - Whether the term should have wildcards appended or prepended. - * @property {number} [presence=lunr.Query.presence.OPTIONAL] - The terms presence in any matching documents. - */ - -/** - * Adds a {@link lunr.Query~Clause} to this query. - * - * Unless the clause contains the fields to be matched all fields will be matched. In addition - * a default boost of 1 is applied to the clause. - * - * @param {lunr.Query~Clause} clause - The clause to add to this query. - * @see lunr.Query~Clause - * @returns {lunr.Query} - */ -lunr.Query.prototype.clause = function (clause) { - if (!('fields' in clause)) { - clause.fields = this.allFields - } - - if (!('boost' in clause)) { - clause.boost = 1 - } - - if (!('usePipeline' in clause)) { - clause.usePipeline = true - } - - if (!('wildcard' in clause)) { - clause.wildcard = lunr.Query.wildcard.NONE - } - - if ((clause.wildcard & lunr.Query.wildcard.LEADING) && (clause.term.charAt(0) != lunr.Query.wildcard)) { - clause.term = "*" + clause.term - } - - if ((clause.wildcard & lunr.Query.wildcard.TRAILING) && (clause.term.slice(-1) != lunr.Query.wildcard)) { - clause.term = "" + clause.term + "*" - } - - if (!('presence' in clause)) { - clause.presence = lunr.Query.presence.OPTIONAL - } - - this.clauses.push(clause) - - return this -} - -/** - * A negated query is one in which every clause has a presence of - * prohibited. These queries require some special processing to return - * the expected results. - * - * @returns boolean - */ -lunr.Query.prototype.isNegated = function () { - for (var i = 0; i < this.clauses.length; i++) { - if (this.clauses[i].presence != lunr.Query.presence.PROHIBITED) { - return false - } - } - - return true -} - -/** - * Adds a term to the current query, under the covers this will create a {@link lunr.Query~Clause} - * to the list of clauses that make up this query. - * - * The term is used as is, i.e. no tokenization will be performed by this method. Instead conversion - * to a token or token-like string should be done before calling this method. - * - * The term will be converted to a string by calling `toString`. Multiple terms can be passed as an - * array, each term in the array will share the same options. - * - * @param {object|object[]} term - The term(s) to add to the query. - * @param {object} [options] - Any additional properties to add to the query clause. - * @returns {lunr.Query} - * @see lunr.Query#clause - * @see lunr.Query~Clause - * @example adding a single term to a query - * query.term("foo") - * @example adding a single term to a query and specifying search fields, term boost and automatic trailing wildcard - * query.term("foo", { - * fields: ["title"], - * boost: 10, - * wildcard: lunr.Query.wildcard.TRAILING - * }) - * @example using lunr.tokenizer to convert a string to tokens before using them as terms - * query.term(lunr.tokenizer("foo bar")) - */ -lunr.Query.prototype.term = function (term, options) { - if (Array.isArray(term)) { - term.forEach(function (t) { this.term(t, lunr.utils.clone(options)) }, this) - return this - } - - var clause = options || {} - clause.term = term.toString() - - this.clause(clause) - - return this -} -lunr.QueryParseError = function (message, start, end) { - this.name = "QueryParseError" - this.message = message - this.start = start - this.end = end -} - -lunr.QueryParseError.prototype = new Error -lunr.QueryLexer = function (str) { - this.lexemes = [] - this.str = str - this.length = str.length - this.pos = 0 - this.start = 0 - this.escapeCharPositions = [] -} - -lunr.QueryLexer.prototype.run = function () { - var state = lunr.QueryLexer.lexText - - while (state) { - state = state(this) - } -} - -lunr.QueryLexer.prototype.sliceString = function () { - var subSlices = [], - sliceStart = this.start, - sliceEnd = this.pos - - for (var i = 0; i < this.escapeCharPositions.length; i++) { - sliceEnd = this.escapeCharPositions[i] - subSlices.push(this.str.slice(sliceStart, sliceEnd)) - sliceStart = sliceEnd + 1 - } - - subSlices.push(this.str.slice(sliceStart, this.pos)) - this.escapeCharPositions.length = 0 - - return subSlices.join('') -} - -lunr.QueryLexer.prototype.emit = function (type) { - this.lexemes.push({ - type: type, - str: this.sliceString(), - start: this.start, - end: this.pos - }) - - this.start = this.pos -} - -lunr.QueryLexer.prototype.escapeCharacter = function () { - this.escapeCharPositions.push(this.pos - 1) - this.pos += 1 -} - -lunr.QueryLexer.prototype.next = function () { - if (this.pos >= this.length) { - return lunr.QueryLexer.EOS - } - - var char = this.str.charAt(this.pos) - this.pos += 1 - return char -} - -lunr.QueryLexer.prototype.width = function () { - return this.pos - this.start -} - -lunr.QueryLexer.prototype.ignore = function () { - if (this.start == this.pos) { - this.pos += 1 - } - - this.start = this.pos -} - -lunr.QueryLexer.prototype.backup = function () { - this.pos -= 1 -} - -lunr.QueryLexer.prototype.acceptDigitRun = function () { - var char, charCode - - do { - char = this.next() - charCode = char.charCodeAt(0) - } while (charCode > 47 && charCode < 58) - - if (char != lunr.QueryLexer.EOS) { - this.backup() - } -} - -lunr.QueryLexer.prototype.more = function () { - return this.pos < this.length -} - -lunr.QueryLexer.EOS = 'EOS' -lunr.QueryLexer.FIELD = 'FIELD' -lunr.QueryLexer.TERM = 'TERM' -lunr.QueryLexer.EDIT_DISTANCE = 'EDIT_DISTANCE' -lunr.QueryLexer.BOOST = 'BOOST' -lunr.QueryLexer.PRESENCE = 'PRESENCE' - -lunr.QueryLexer.lexField = function (lexer) { - lexer.backup() - lexer.emit(lunr.QueryLexer.FIELD) - lexer.ignore() - return lunr.QueryLexer.lexText -} - -lunr.QueryLexer.lexTerm = function (lexer) { - if (lexer.width() > 1) { - lexer.backup() - lexer.emit(lunr.QueryLexer.TERM) - } - - lexer.ignore() - - if (lexer.more()) { - return lunr.QueryLexer.lexText - } -} - -lunr.QueryLexer.lexEditDistance = function (lexer) { - lexer.ignore() - lexer.acceptDigitRun() - lexer.emit(lunr.QueryLexer.EDIT_DISTANCE) - return lunr.QueryLexer.lexText -} - -lunr.QueryLexer.lexBoost = function (lexer) { - lexer.ignore() - lexer.acceptDigitRun() - lexer.emit(lunr.QueryLexer.BOOST) - return lunr.QueryLexer.lexText -} - -lunr.QueryLexer.lexEOS = function (lexer) { - if (lexer.width() > 0) { - lexer.emit(lunr.QueryLexer.TERM) - } -} - -// This matches the separator used when tokenising fields -// within a document. These should match otherwise it is -// not possible to search for some tokens within a document. -// -// It is possible for the user to change the separator on the -// tokenizer so it _might_ clash with any other of the special -// characters already used within the search string, e.g. :. -// -// This means that it is possible to change the separator in -// such a way that makes some words unsearchable using a search -// string. -lunr.QueryLexer.termSeparator = lunr.tokenizer.separator - -lunr.QueryLexer.lexText = function (lexer) { - while (true) { - var char = lexer.next() - - if (char == lunr.QueryLexer.EOS) { - return lunr.QueryLexer.lexEOS - } - - // Escape character is '\' - if (char.charCodeAt(0) == 92) { - lexer.escapeCharacter() - continue - } - - if (char == ":") { - return lunr.QueryLexer.lexField - } - - if (char == "~") { - lexer.backup() - if (lexer.width() > 0) { - lexer.emit(lunr.QueryLexer.TERM) - } - return lunr.QueryLexer.lexEditDistance - } - - if (char == "^") { - lexer.backup() - if (lexer.width() > 0) { - lexer.emit(lunr.QueryLexer.TERM) - } - return lunr.QueryLexer.lexBoost - } - - // "+" indicates term presence is required - // checking for length to ensure that only - // leading "+" are considered - if (char == "+" && lexer.width() === 1) { - lexer.emit(lunr.QueryLexer.PRESENCE) - return lunr.QueryLexer.lexText - } - - // "-" indicates term presence is prohibited - // checking for length to ensure that only - // leading "-" are considered - if (char == "-" && lexer.width() === 1) { - lexer.emit(lunr.QueryLexer.PRESENCE) - return lunr.QueryLexer.lexText - } - - if (char.match(lunr.QueryLexer.termSeparator)) { - return lunr.QueryLexer.lexTerm - } - } -} - -lunr.QueryParser = function (str, query) { - this.lexer = new lunr.QueryLexer (str) - this.query = query - this.currentClause = {} - this.lexemeIdx = 0 -} - -lunr.QueryParser.prototype.parse = function () { - this.lexer.run() - this.lexemes = this.lexer.lexemes - - var state = lunr.QueryParser.parseClause - - while (state) { - state = state(this) - } - - return this.query -} - -lunr.QueryParser.prototype.peekLexeme = function () { - return this.lexemes[this.lexemeIdx] -} - -lunr.QueryParser.prototype.consumeLexeme = function () { - var lexeme = this.peekLexeme() - this.lexemeIdx += 1 - return lexeme -} - -lunr.QueryParser.prototype.nextClause = function () { - var completedClause = this.currentClause - this.query.clause(completedClause) - this.currentClause = {} -} - -lunr.QueryParser.parseClause = function (parser) { - var lexeme = parser.peekLexeme() - - if (lexeme == undefined) { - return - } - - switch (lexeme.type) { - case lunr.QueryLexer.PRESENCE: - return lunr.QueryParser.parsePresence - case lunr.QueryLexer.FIELD: - return lunr.QueryParser.parseField - case lunr.QueryLexer.TERM: - return lunr.QueryParser.parseTerm - default: - var errorMessage = "expected either a field or a term, found " + lexeme.type - - if (lexeme.str.length >= 1) { - errorMessage += " with value '" + lexeme.str + "'" - } - - throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) - } -} - -lunr.QueryParser.parsePresence = function (parser) { - var lexeme = parser.consumeLexeme() - - if (lexeme == undefined) { - return - } - - switch (lexeme.str) { - case "-": - parser.currentClause.presence = lunr.Query.presence.PROHIBITED - break - case "+": - parser.currentClause.presence = lunr.Query.presence.REQUIRED - break - default: - var errorMessage = "unrecognised presence operator'" + lexeme.str + "'" - throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) - } - - var nextLexeme = parser.peekLexeme() - - if (nextLexeme == undefined) { - var errorMessage = "expecting term or field, found nothing" - throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) - } - - switch (nextLexeme.type) { - case lunr.QueryLexer.FIELD: - return lunr.QueryParser.parseField - case lunr.QueryLexer.TERM: - return lunr.QueryParser.parseTerm - default: - var errorMessage = "expecting term or field, found '" + nextLexeme.type + "'" - throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end) - } -} - -lunr.QueryParser.parseField = function (parser) { - var lexeme = parser.consumeLexeme() - - if (lexeme == undefined) { - return - } - - if (parser.query.allFields.indexOf(lexeme.str) == -1) { - var possibleFields = parser.query.allFields.map(function (f) { return "'" + f + "'" }).join(', '), - errorMessage = "unrecognised field '" + lexeme.str + "', possible fields: " + possibleFields - - throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) - } - - parser.currentClause.fields = [lexeme.str] - - var nextLexeme = parser.peekLexeme() - - if (nextLexeme == undefined) { - var errorMessage = "expecting term, found nothing" - throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) - } - - switch (nextLexeme.type) { - case lunr.QueryLexer.TERM: - return lunr.QueryParser.parseTerm - default: - var errorMessage = "expecting term, found '" + nextLexeme.type + "'" - throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end) - } -} - -lunr.QueryParser.parseTerm = function (parser) { - var lexeme = parser.consumeLexeme() - - if (lexeme == undefined) { - return - } - - parser.currentClause.term = lexeme.str.toLowerCase() - - if (lexeme.str.indexOf("*") != -1) { - parser.currentClause.usePipeline = false - } - - var nextLexeme = parser.peekLexeme() - - if (nextLexeme == undefined) { - parser.nextClause() - return - } - - switch (nextLexeme.type) { - case lunr.QueryLexer.TERM: - parser.nextClause() - return lunr.QueryParser.parseTerm - case lunr.QueryLexer.FIELD: - parser.nextClause() - return lunr.QueryParser.parseField - case lunr.QueryLexer.EDIT_DISTANCE: - return lunr.QueryParser.parseEditDistance - case lunr.QueryLexer.BOOST: - return lunr.QueryParser.parseBoost - case lunr.QueryLexer.PRESENCE: - parser.nextClause() - return lunr.QueryParser.parsePresence - default: - var errorMessage = "Unexpected lexeme type '" + nextLexeme.type + "'" - throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end) - } -} - -lunr.QueryParser.parseEditDistance = function (parser) { - var lexeme = parser.consumeLexeme() - - if (lexeme == undefined) { - return - } - - var editDistance = parseInt(lexeme.str, 10) - - if (isNaN(editDistance)) { - var errorMessage = "edit distance must be numeric" - throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) - } - - parser.currentClause.editDistance = editDistance - - var nextLexeme = parser.peekLexeme() - - if (nextLexeme == undefined) { - parser.nextClause() - return - } - - switch (nextLexeme.type) { - case lunr.QueryLexer.TERM: - parser.nextClause() - return lunr.QueryParser.parseTerm - case lunr.QueryLexer.FIELD: - parser.nextClause() - return lunr.QueryParser.parseField - case lunr.QueryLexer.EDIT_DISTANCE: - return lunr.QueryParser.parseEditDistance - case lunr.QueryLexer.BOOST: - return lunr.QueryParser.parseBoost - case lunr.QueryLexer.PRESENCE: - parser.nextClause() - return lunr.QueryParser.parsePresence - default: - var errorMessage = "Unexpected lexeme type '" + nextLexeme.type + "'" - throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end) - } -} - -lunr.QueryParser.parseBoost = function (parser) { - var lexeme = parser.consumeLexeme() - - if (lexeme == undefined) { - return - } - - var boost = parseInt(lexeme.str, 10) - - if (isNaN(boost)) { - var errorMessage = "boost must be numeric" - throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) - } - - parser.currentClause.boost = boost - - var nextLexeme = parser.peekLexeme() - - if (nextLexeme == undefined) { - parser.nextClause() - return - } - - switch (nextLexeme.type) { - case lunr.QueryLexer.TERM: - parser.nextClause() - return lunr.QueryParser.parseTerm - case lunr.QueryLexer.FIELD: - parser.nextClause() - return lunr.QueryParser.parseField - case lunr.QueryLexer.EDIT_DISTANCE: - return lunr.QueryParser.parseEditDistance - case lunr.QueryLexer.BOOST: - return lunr.QueryParser.parseBoost - case lunr.QueryLexer.PRESENCE: - parser.nextClause() - return lunr.QueryParser.parsePresence - default: - var errorMessage = "Unexpected lexeme type '" + nextLexeme.type + "'" - throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end) - } -} - - /** - * export the module via AMD, CommonJS or as a browser global - * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js - */ - ;(function (root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(factory) - } else if (typeof exports === 'object') { - /** - * Node. Does not work with strict CommonJS, but - * only CommonJS-like environments that support module.exports, - * like Node. - */ - module.exports = factory() - } else { - // Browser globals (root is window) - root.lunr = factory() - } - }(this, function () { - /** - * Just return a value to define the module export. - * This example returns an object, but the module - * can return a function as the exported value. - */ - return lunr - })) -})(); diff --git a/site/search/main.js b/site/search/main.js deleted file mode 100644 index a5e469d..0000000 --- a/site/search/main.js +++ /dev/null @@ -1,109 +0,0 @@ -function getSearchTermFromLocation() { - var sPageURL = window.location.search.substring(1); - var sURLVariables = sPageURL.split('&'); - for (var i = 0; i < sURLVariables.length; i++) { - var sParameterName = sURLVariables[i].split('='); - if (sParameterName[0] == 'q') { - return decodeURIComponent(sParameterName[1].replace(/\+/g, '%20')); - } - } -} - -function joinUrl (base, path) { - if (path.substring(0, 1) === "/") { - // path starts with `/`. Thus it is absolute. - return path; - } - if (base.substring(base.length-1) === "/") { - // base ends with `/` - return base + path; - } - return base + "/" + path; -} - -function escapeHtml (value) { - return value.replace(/&/g, '&') - .replace(/"/g, '"') - .replace(//g, '>'); -} - -function formatResult (location, title, summary) { - return ''; -} - -function displayResults (results) { - var search_results = document.getElementById("mkdocs-search-results"); - while (search_results.firstChild) { - search_results.removeChild(search_results.firstChild); - } - if (results.length > 0){ - for (var i=0; i < results.length; i++){ - var result = results[i]; - var html = formatResult(result.location, result.title, result.summary); - search_results.insertAdjacentHTML('beforeend', html); - } - } else { - var noResultsText = search_results.getAttribute('data-no-results-text'); - if (!noResultsText) { - noResultsText = "No results found"; - } - search_results.insertAdjacentHTML('beforeend', '

' + noResultsText + '

'); - } -} - -function doSearch () { - var query = document.getElementById('mkdocs-search-query').value; - if (query.length > min_search_length) { - if (!window.Worker) { - displayResults(search(query)); - } else { - searchWorker.postMessage({query: query}); - } - } else { - // Clear results for short queries - displayResults([]); - } -} - -function initSearch () { - var search_input = document.getElementById('mkdocs-search-query'); - if (search_input) { - search_input.addEventListener("keyup", doSearch); - } - var term = getSearchTermFromLocation(); - if (term) { - search_input.value = term; - doSearch(); - } -} - -function onWorkerMessage (e) { - if (e.data.allowSearch) { - initSearch(); - } else if (e.data.results) { - var results = e.data.results; - displayResults(results); - } else if (e.data.config) { - min_search_length = e.data.config.min_search_length-1; - } -} - -if (!window.Worker) { - console.log('Web Worker API not supported'); - // load index in main thread - $.getScript(joinUrl(base_url, "search/worker.js")).done(function () { - console.log('Loaded worker'); - init(); - window.postMessage = function (msg) { - onWorkerMessage({data: msg}); - }; - }).fail(function (jqxhr, settings, exception) { - console.error('Could not load worker.js'); - }); -} else { - // Wrap search in a web worker - var searchWorker = new Worker(joinUrl(base_url, "search/worker.js")); - searchWorker.postMessage({init: true}); - searchWorker.onmessage = onWorkerMessage; -} diff --git a/site/search/search_index.json b/site/search/search_index.json deleted file mode 100644 index c821902..0000000 --- a/site/search/search_index.json +++ /dev/null @@ -1 +0,0 @@ -{"config":{"indexing":"full","lang":["en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"A naming convention linter for Python projects. Define custom naming rules and enforce them with a single CLI command. What It Does \u00b6 Define naming rules for variables, functions, classes, modules, and packages Apply rules to specific modules using pattern matching Integrate into CI or pre-commit to keep your naming conventions consistent For Python developers who want to enforce team-specific naming conventions beyond what PEP 8 and ruff cover. Key Features \u00b6 Feature Description Rule Types Variable, function, class, module, and package naming rules Filters Narrow rules by return type, base class, decorator, and more Naming Constraints Prefix, suffix, regex, case convention, or derived from another element Module Targeting Apply rules to specific parts of your codebase using glob-style patterns Inline Ignore Suppress violations on specific lines with # pnl: ignore Pre-commit Drop-in integration with pre-commit hooks Quick Start \u00b6 Install: pip install python-naming-linter Create .python-naming-linter.yaml in your project root: rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } - name : exception-naming type : class filter : { base_class : Exception } naming : { regex : \"^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$\" } apply : - name : all rules : [ bool-method-prefix , exception-naming ] modules : \"**\" Run: pnl check Output: src/domain/service.py:12 [bool-method-prefix] validate (expected prefix: is_ | has_ | should_) src/domain/exceptions.py:8 [exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$) Found 2 violation(s). More Examples \u00b6 Variable Naming \u2014 Match Type Annotation \u00b6 Enforce that variable names match their type annotation in snake_case: rules : - name : attribute-matches-type type : variable filter : { target : attribute } naming : { source : type_annotation , transform : snake_case } apply : - name : domain-layer rules : [ attribute-matches-type ] modules : contexts.*.domain This catches repo: SubscriptionRepository \u2014 the name should be subscription_repository . Combining Rules Per Layer \u00b6 Apply different rules to different parts of your codebase: apply : - name : domain-layer rules : - attribute-matches-type - bool-method-prefix - domain-module-naming modules : contexts.*.domain - name : global-exceptions rules : [ exception-naming ] modules : \"**\" Next Steps \u00b6 Installation \u2014 detailed install instructions Quick Start \u2014 step-by-step setup guide Configuration \u2014 full configuration reference Cookbook \u2014 real-world usage patterns","title":"Home"},{"location":"#what-it-does","text":"Define naming rules for variables, functions, classes, modules, and packages Apply rules to specific modules using pattern matching Integrate into CI or pre-commit to keep your naming conventions consistent For Python developers who want to enforce team-specific naming conventions beyond what PEP 8 and ruff cover.","title":"What It Does"},{"location":"#key-features","text":"Feature Description Rule Types Variable, function, class, module, and package naming rules Filters Narrow rules by return type, base class, decorator, and more Naming Constraints Prefix, suffix, regex, case convention, or derived from another element Module Targeting Apply rules to specific parts of your codebase using glob-style patterns Inline Ignore Suppress violations on specific lines with # pnl: ignore Pre-commit Drop-in integration with pre-commit hooks","title":"Key Features"},{"location":"#quick-start","text":"Install: pip install python-naming-linter Create .python-naming-linter.yaml in your project root: rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } - name : exception-naming type : class filter : { base_class : Exception } naming : { regex : \"^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$\" } apply : - name : all rules : [ bool-method-prefix , exception-naming ] modules : \"**\" Run: pnl check Output: src/domain/service.py:12 [bool-method-prefix] validate (expected prefix: is_ | has_ | should_) src/domain/exceptions.py:8 [exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$) Found 2 violation(s).","title":"Quick Start"},{"location":"#more-examples","text":"","title":"More Examples"},{"location":"#variable-naming-match-type-annotation","text":"Enforce that variable names match their type annotation in snake_case: rules : - name : attribute-matches-type type : variable filter : { target : attribute } naming : { source : type_annotation , transform : snake_case } apply : - name : domain-layer rules : [ attribute-matches-type ] modules : contexts.*.domain This catches repo: SubscriptionRepository \u2014 the name should be subscription_repository .","title":"Variable Naming \u2014 Match Type Annotation"},{"location":"#combining-rules-per-layer","text":"Apply different rules to different parts of your codebase: apply : - name : domain-layer rules : - attribute-matches-type - bool-method-prefix - domain-module-naming modules : contexts.*.domain - name : global-exceptions rules : [ exception-naming ] modules : \"**\"","title":"Combining Rules Per Layer"},{"location":"#next-steps","text":"Installation \u2014 detailed install instructions Quick Start \u2014 step-by-step setup guide Configuration \u2014 full configuration reference Cookbook \u2014 real-world usage patterns","title":"Next Steps"},{"location":"changelog/","text":"All notable changes to this project will be documented in this file. [0.1.0] - 2026-03-30 \u00b6 Documentation \u00b6 Write comprehensive README with examples and configuration guide Features \u00b6 Add config parsing for rules and apply sections Add module pattern matcher with wildcard and capture support Add Violation dataclass for checker results Add variable name checker with source/transform and case support Add function/method name checker with filter and prefix support Add class name checker with base_class filter and regex support Add module name checker with class_name derivation and regex Add package name checker with case and regex support line output format Add CLI with pnl check command and end-to-end integration Miscellaneous \u00b6 Set up project scaffolding and tooling Add runtime dependencies and CLI entry point Fix ruff lint and format issues","title":"Changelog"},{"location":"changelog/#010-2026-03-30","text":"","title":"[0.1.0] - 2026-03-30"},{"location":"changelog/#documentation","text":"Write comprehensive README with examples and configuration guide","title":"Documentation"},{"location":"changelog/#features","text":"Add config parsing for rules and apply sections Add module pattern matcher with wildcard and capture support Add Violation dataclass for checker results Add variable name checker with source/transform and case support Add function/method name checker with filter and prefix support Add class name checker with base_class filter and regex support Add module name checker with class_name derivation and regex Add package name checker with case and regex support line output format Add CLI with pnl check command and end-to-end integration","title":"Features"},{"location":"changelog/#miscellaneous","text":"Set up project scaffolding and tooling Add runtime dependencies and CLI entry point Fix ruff lint and format issues","title":"Miscellaneous"},{"location":"cli/","text":"pnl check \u00b6 Run the linter against your project: # Check with auto-discovered config (searches upward from cwd) pnl check # Specify config file (project root = config file's parent directory) pnl check --config path/to/config.yaml Options \u00b6 Option Description --config Path to a config file. The config file's parent directory is used as the project root. Config Auto-Discovery \u00b6 If --config is not provided, pnl check searches upward from the current working directory for either: .python-naming-linter.yaml pyproject.toml (with a [tool.python-naming-linter] section) The first matching file found is used, and its parent directory becomes the project root. Exit Codes \u00b6 Code Meaning 0 No violations found 1 One or more violations found 2 Config file not found","title":"CLI Reference"},{"location":"cli/#pnl-check","text":"Run the linter against your project: # Check with auto-discovered config (searches upward from cwd) pnl check # Specify config file (project root = config file's parent directory) pnl check --config path/to/config.yaml","title":"pnl check"},{"location":"cli/#options","text":"Option Description --config Path to a config file. The config file's parent directory is used as the project root.","title":"Options"},{"location":"cli/#config-auto-discovery","text":"If --config is not provided, pnl check searches upward from the current working directory for either: .python-naming-linter.yaml pyproject.toml (with a [tool.python-naming-linter] section) The first matching file found is used, and its parent directory becomes the project root.","title":"Config Auto-Discovery"},{"location":"cli/#exit-codes","text":"Code Meaning 0 No violations found 1 One or more violations found 2 Config file not found","title":"Exit Codes"},{"location":"contributing/","text":"Commit Convention \u00b6 Commit messages must follow Conventional Commits with gitmoji prefix. Format \u00b6 < gitmoji > < type >: < description > The first letter after the colon must be capitalized . The description must be in English . Types \u00b6 Gitmoji Type Description \u2728 feat New feature \ud83d\udc1b fix Bug fix \u267b\ufe0f refactor Code refactoring \ud83d\udcdd docs Documentation \u2705 test Adding or updating tests \ud83d\udd27 chore Maintenance tasks \ud83d\udc77 ci CI/CD changes \u26a1 perf Performance improvement Examples \u00b6 \u2728 feat : Add support for relative imports \ud83d\udc1b fix : Use exit code 2 for config file not found \u267b\ufe0f refactor : Simplify module resolver logic Pull Request Convention \u00b6 PRs are always squash merged , so the PR title becomes the final commit message. PR titles must follow the same format as commit messages ( : ). PR descriptions must be written in English . Pre-commit Hooks \u00b6 This project uses pre-commit for linting, formatting, and type checking. # Install pre-commit hooks pre-commit install # Run manually pre-commit run --all-files All commits must pass the pre-commit hooks before being accepted. Release \u00b6 Releases are automated via GitHub Actions. You only need to create and push a version tag. Steps \u00b6 Calculate the next version based on conventional commits: bash uvx git-cliff --bumped-version Review the commits since the last tag: bash git log $(git describe --tags --abbrev=0)..HEAD --oneline Push the latest commits to main : bash git push origin main Create and push the tag: bash git tag git push origin The GitHub Actions workflow will then automatically: - Generate CHANGELOG.md and commit it to main - Create a GitHub Release with release notes - Publish the package to PyPI","title":"Contributing"},{"location":"contributing/#commit-convention","text":"Commit messages must follow Conventional Commits with gitmoji prefix.","title":"Commit Convention"},{"location":"contributing/#format","text":"< gitmoji > < type >: < description > The first letter after the colon must be capitalized . The description must be in English .","title":"Format"},{"location":"contributing/#types","text":"Gitmoji Type Description \u2728 feat New feature \ud83d\udc1b fix Bug fix \u267b\ufe0f refactor Code refactoring \ud83d\udcdd docs Documentation \u2705 test Adding or updating tests \ud83d\udd27 chore Maintenance tasks \ud83d\udc77 ci CI/CD changes \u26a1 perf Performance improvement","title":"Types"},{"location":"contributing/#examples","text":"\u2728 feat : Add support for relative imports \ud83d\udc1b fix : Use exit code 2 for config file not found \u267b\ufe0f refactor : Simplify module resolver logic","title":"Examples"},{"location":"contributing/#pull-request-convention","text":"PRs are always squash merged , so the PR title becomes the final commit message. PR titles must follow the same format as commit messages ( : ). PR descriptions must be written in English .","title":"Pull Request Convention"},{"location":"contributing/#pre-commit-hooks","text":"This project uses pre-commit for linting, formatting, and type checking. # Install pre-commit hooks pre-commit install # Run manually pre-commit run --all-files All commits must pass the pre-commit hooks before being accepted.","title":"Pre-commit Hooks"},{"location":"contributing/#release","text":"Releases are automated via GitHub Actions. You only need to create and push a version tag.","title":"Release"},{"location":"contributing/#steps","text":"Calculate the next version based on conventional commits: bash uvx git-cliff --bumped-version Review the commits since the last tag: bash git log $(git describe --tags --abbrev=0)..HEAD --oneline Push the latest commits to main : bash git push origin main Create and push the tag: bash git tag git push origin The GitHub Actions workflow will then automatically: - Generate CHANGELOG.md and commit it to main - Create a GitHub Release with release notes - Publish the package to PyPI","title":"Steps"},{"location":"pre-commit/","text":"pnl can be used as a pre-commit hook to enforce naming conventions before every commit. Setup \u00b6 Add the following to your .pre-commit-config.yaml : - repo : https://github.com/heumsi/python-naming-linter rev : '' # Use the tag you want to point at (e.g., v0.1.0) hooks : - id : python-naming-linter Custom Options \u00b6 To pass custom options (e.g., a specific config file path), use args : - repo : https://github.com/heumsi/python-naming-linter rev : '' hooks : - id : python-naming-linter args : [ --config , custom-config.yaml ]","title":"Pre-commit"},{"location":"pre-commit/#setup","text":"Add the following to your .pre-commit-config.yaml : - repo : https://github.com/heumsi/python-naming-linter rev : '' # Use the tag you want to point at (e.g., v0.1.0) hooks : - id : python-naming-linter","title":"Setup"},{"location":"pre-commit/#custom-options","text":"To pass custom options (e.g., a specific config file path), use args : - repo : https://github.com/heumsi/python-naming-linter rev : '' hooks : - id : python-naming-linter args : [ --config , custom-config.yaml ]","title":"Custom Options"},{"location":"cookbook/","text":"The cookbook provides ready-to-use recipes for common naming convention scenarios. Each recipe shows a complete configuration, a violation example, and a passing example so you can adapt it to your project immediately. Recipes \u00b6 Recipe Description Bool Method Prefix Require is_ , has_ , or should_ prefix on functions that return bool Exception Naming Enforce a structured suffix pattern on exception class names Attribute Matches Type Require attribute names to match their type annotation in snake_case Module Matches Class Require module filenames to match the primary class they contain Layer-Based Rules Apply different rule sets to different layers of your codebase Constant Upper Case Require module-level constants to use UPPER_CASE Decorator Filtering Apply naming rules only to functions or classes with a specific decorator","title":"Overview"},{"location":"cookbook/#recipes","text":"Recipe Description Bool Method Prefix Require is_ , has_ , or should_ prefix on functions that return bool Exception Naming Enforce a structured suffix pattern on exception class names Attribute Matches Type Require attribute names to match their type annotation in snake_case Module Matches Class Require module filenames to match the primary class they contain Layer-Based Rules Apply different rule sets to different layers of your codebase Constant Upper Case Require module-level constants to use UPPER_CASE Decorator Filtering Apply naming rules only to functions or classes with a specific decorator","title":"Recipes"},{"location":"cookbook/attribute-matches-type/","text":"Purpose \u00b6 When an attribute holds a repository, service, or other typed object, keeping the attribute name in sync with the type annotation removes ambiguity and makes dependency injection transparent at a glance. This rule requires each class attribute name to be the snake_case form of its type annotation. Configuration \u00b6 rules : - name : attribute-matches-type type : variable filter : { target : attribute } naming : { source : type_annotation , transform : snake_case } apply : - name : domain-layer rules : [ attribute-matches-type ] modules : contexts.*.domain Violation Example \u00b6 # contexts/billing/domain/service.py class BillingService : def __init__ ( self , repo : SubscriptionRepository ) -> None : self . repo = repo # should be subscription_repository Passing Example \u00b6 # contexts/billing/domain/service.py class BillingService : def __init__ ( self , repo : SubscriptionRepository ) -> None : self . subscription_repository = repo The {prefix}_{expected} form is also allowed. For example, source_object_context: ObjectContext passes because the name ends with _object_context . Output \u00b6 $ pnl check contexts/billing/domain/service.py:5 [ attribute-matches-type ] repo ( expected: subscription_repository ) Found 1 violation ( s ) .","title":"Attribute Matches Type"},{"location":"cookbook/attribute-matches-type/#purpose","text":"When an attribute holds a repository, service, or other typed object, keeping the attribute name in sync with the type annotation removes ambiguity and makes dependency injection transparent at a glance. This rule requires each class attribute name to be the snake_case form of its type annotation.","title":"Purpose"},{"location":"cookbook/attribute-matches-type/#configuration","text":"rules : - name : attribute-matches-type type : variable filter : { target : attribute } naming : { source : type_annotation , transform : snake_case } apply : - name : domain-layer rules : [ attribute-matches-type ] modules : contexts.*.domain","title":"Configuration"},{"location":"cookbook/attribute-matches-type/#violation-example","text":"# contexts/billing/domain/service.py class BillingService : def __init__ ( self , repo : SubscriptionRepository ) -> None : self . repo = repo # should be subscription_repository","title":"Violation Example"},{"location":"cookbook/attribute-matches-type/#passing-example","text":"# contexts/billing/domain/service.py class BillingService : def __init__ ( self , repo : SubscriptionRepository ) -> None : self . subscription_repository = repo The {prefix}_{expected} form is also allowed. For example, source_object_context: ObjectContext passes because the name ends with _object_context .","title":"Passing Example"},{"location":"cookbook/attribute-matches-type/#output","text":"$ pnl check contexts/billing/domain/service.py:5 [ attribute-matches-type ] repo ( expected: subscription_repository ) Found 1 violation ( s ) .","title":"Output"},{"location":"cookbook/bool-method-prefix/","text":"Purpose \u00b6 Functions that return bool are easier to read at call sites when their names read as a question. This rule enforces that any function or method with a bool return type annotation starts with is_ , has_ , or should_ . Configuration \u00b6 rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } apply : - name : all rules : [ bool-method-prefix ] modules : \"**\" Violation Example \u00b6 # src/domain/service.py class SubscriptionService : def validate ( self ) -> bool : # missing required prefix return self . _status == \"active\" Passing Example \u00b6 # src/domain/service.py class SubscriptionService : def is_valid ( self ) -> bool : return self . _status == \"active\" Output \u00b6 $ pnl check src/domain/service.py:4 [ bool-method-prefix ] validate ( expected prefix: is_ | has_ | should_ ) Found 1 violation ( s ) .","title":"Bool Method Prefix"},{"location":"cookbook/bool-method-prefix/#purpose","text":"Functions that return bool are easier to read at call sites when their names read as a question. This rule enforces that any function or method with a bool return type annotation starts with is_ , has_ , or should_ .","title":"Purpose"},{"location":"cookbook/bool-method-prefix/#configuration","text":"rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } apply : - name : all rules : [ bool-method-prefix ] modules : \"**\"","title":"Configuration"},{"location":"cookbook/bool-method-prefix/#violation-example","text":"# src/domain/service.py class SubscriptionService : def validate ( self ) -> bool : # missing required prefix return self . _status == \"active\"","title":"Violation Example"},{"location":"cookbook/bool-method-prefix/#passing-example","text":"# src/domain/service.py class SubscriptionService : def is_valid ( self ) -> bool : return self . _status == \"active\"","title":"Passing Example"},{"location":"cookbook/bool-method-prefix/#output","text":"$ pnl check src/domain/service.py:4 [ bool-method-prefix ] validate ( expected prefix: is_ | has_ | should_ ) Found 1 violation ( s ) .","title":"Output"},{"location":"cookbook/constant-upper-case/","text":"Purpose \u00b6 Module-level constants are easier to distinguish from regular variables when they follow the UPPER_CASE convention. This rule catches constants that were accidentally written in snake_case and flags them for renaming. Configuration \u00b6 rules : - name : constant-upper-case type : variable filter : { target : constant } naming : { case : UPPER_CASE } apply : - name : all rules : [ constant-upper-case ] modules : \"**\" Violation Example \u00b6 # src/config.py max_retry_count = 3 # constant in snake_case default_timeout_seconds = 30 # constant in snake_case Passing Example \u00b6 # src/config.py MAX_RETRY_COUNT = 3 DEFAULT_TIMEOUT_SECONDS = 30 Output \u00b6 $ pnl check src/config.py:3 [ constant-upper-case ] max_retry_count ( expected case : UPPER_CASE ) src/config.py:4 [ constant-upper-case ] default_timeout_seconds ( expected case : UPPER_CASE ) Found 2 violation ( s ) .","title":"Constant Upper Case"},{"location":"cookbook/constant-upper-case/#purpose","text":"Module-level constants are easier to distinguish from regular variables when they follow the UPPER_CASE convention. This rule catches constants that were accidentally written in snake_case and flags them for renaming.","title":"Purpose"},{"location":"cookbook/constant-upper-case/#configuration","text":"rules : - name : constant-upper-case type : variable filter : { target : constant } naming : { case : UPPER_CASE } apply : - name : all rules : [ constant-upper-case ] modules : \"**\"","title":"Configuration"},{"location":"cookbook/constant-upper-case/#violation-example","text":"# src/config.py max_retry_count = 3 # constant in snake_case default_timeout_seconds = 30 # constant in snake_case","title":"Violation Example"},{"location":"cookbook/constant-upper-case/#passing-example","text":"# src/config.py MAX_RETRY_COUNT = 3 DEFAULT_TIMEOUT_SECONDS = 30","title":"Passing Example"},{"location":"cookbook/constant-upper-case/#output","text":"$ pnl check src/config.py:3 [ constant-upper-case ] max_retry_count ( expected case : UPPER_CASE ) src/config.py:4 [ constant-upper-case ] default_timeout_seconds ( expected case : UPPER_CASE ) Found 2 violation ( s ) .","title":"Output"},{"location":"cookbook/decorator-filtering/","text":"Purpose \u00b6 Some naming conventions only apply to a specific kind of function or class. Decorator-based filtering lets you target @staticmethod methods, @dataclass classes, or any other decorated construct without affecting the rest of the codebase. Configuration \u00b6 Example 1 \u2014 @staticmethod methods must start with create_ or build_ \u00b6 rules : - name : static-factory-prefix type : function filter : { decorator : staticmethod } naming : { prefix : [ create_ , build_ ] } apply : - name : all rules : [ static-factory-prefix ] modules : \"**\" Example 2 \u2014 @dataclass classes must use PascalCase and end with Data or Config \u00b6 rules : - name : dataclass-naming type : class filter : { decorator : dataclass } naming : { suffix : [ Data , Config ] } apply : - name : all rules : [ dataclass-naming ] modules : \"**\" Violation Example \u00b6 # src/domain/order.py from dataclasses import dataclass class OrderRepository : @staticmethod def from_dict ( raw : dict ) -> \"OrderRepository\" : # missing create_/build_ prefix return OrderRepository ( ** raw ) @dataclass class OrderPayload : # missing Data/Config suffix order_id : str amount : float Passing Example \u00b6 # src/domain/order.py from dataclasses import dataclass class OrderRepository : @staticmethod def create_from_dict ( raw : dict ) -> \"OrderRepository\" : return OrderRepository ( ** raw ) @dataclass class OrderData : order_id : str amount : float Output \u00b6 $ pnl check src / domain / order . py : 5 [ static - factory - prefix ] from_dict ( expected prefix : create_ | build_ ) src / domain / order . py : 9 [ dataclass - naming ] OrderPayload ( expected suffix : Data | Config ) Found 2 violation ( s ) .","title":"Decorator Filtering"},{"location":"cookbook/decorator-filtering/#purpose","text":"Some naming conventions only apply to a specific kind of function or class. Decorator-based filtering lets you target @staticmethod methods, @dataclass classes, or any other decorated construct without affecting the rest of the codebase.","title":"Purpose"},{"location":"cookbook/decorator-filtering/#configuration","text":"","title":"Configuration"},{"location":"cookbook/decorator-filtering/#example-1-staticmethod-methods-must-start-with-create_-or-build_","text":"rules : - name : static-factory-prefix type : function filter : { decorator : staticmethod } naming : { prefix : [ create_ , build_ ] } apply : - name : all rules : [ static-factory-prefix ] modules : \"**\"","title":"Example 1 \u2014 @staticmethod methods must start with create_ or build_"},{"location":"cookbook/decorator-filtering/#example-2-dataclass-classes-must-use-pascalcase-and-end-with-data-or-config","text":"rules : - name : dataclass-naming type : class filter : { decorator : dataclass } naming : { suffix : [ Data , Config ] } apply : - name : all rules : [ dataclass-naming ] modules : \"**\"","title":"Example 2 \u2014 @dataclass classes must use PascalCase and end with Data or Config"},{"location":"cookbook/decorator-filtering/#violation-example","text":"# src/domain/order.py from dataclasses import dataclass class OrderRepository : @staticmethod def from_dict ( raw : dict ) -> \"OrderRepository\" : # missing create_/build_ prefix return OrderRepository ( ** raw ) @dataclass class OrderPayload : # missing Data/Config suffix order_id : str amount : float","title":"Violation Example"},{"location":"cookbook/decorator-filtering/#passing-example","text":"# src/domain/order.py from dataclasses import dataclass class OrderRepository : @staticmethod def create_from_dict ( raw : dict ) -> \"OrderRepository\" : return OrderRepository ( ** raw ) @dataclass class OrderData : order_id : str amount : float","title":"Passing Example"},{"location":"cookbook/decorator-filtering/#output","text":"$ pnl check src / domain / order . py : 5 [ static - factory - prefix ] from_dict ( expected prefix : create_ | build_ ) src / domain / order . py : 9 [ dataclass - naming ] OrderPayload ( expected suffix : Data | Config ) Found 2 violation ( s ) .","title":"Output"},{"location":"cookbook/exception-naming/","text":"Purpose \u00b6 Consistent exception names make error handling code easier to scan and understand. This rule enforces a structured pattern: exceptions must start with an upper-case word, optionally followed by more words, and end with one of the recognised semantic suffixes ( NotFound , Invalid , Denied , Conflict , or Failed ) before the mandatory Error suffix. Configuration \u00b6 rules : - name : exception-naming type : class filter : { base_class : Exception } naming : { regex : \"^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$\" } apply : - name : all rules : [ exception-naming ] modules : \"**\" Violation Example \u00b6 # src/domain/exceptions.py class FilterError ( Exception ): # missing semantic suffix before Error pass Passing Example \u00b6 # src/domain/exceptions.py class FilterNotFoundError ( Exception ): pass Output \u00b6 $ pnl check src/domain/exceptions.py:3 [ exception-naming ] FilterError ( expected pattern: ^ [ A-Z ][ a-zA-Z ] + ( NotFound | Invalid | ... ) Error$ ) Found 1 violation ( s ) .","title":"Exception Naming"},{"location":"cookbook/exception-naming/#purpose","text":"Consistent exception names make error handling code easier to scan and understand. This rule enforces a structured pattern: exceptions must start with an upper-case word, optionally followed by more words, and end with one of the recognised semantic suffixes ( NotFound , Invalid , Denied , Conflict , or Failed ) before the mandatory Error suffix.","title":"Purpose"},{"location":"cookbook/exception-naming/#configuration","text":"rules : - name : exception-naming type : class filter : { base_class : Exception } naming : { regex : \"^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$\" } apply : - name : all rules : [ exception-naming ] modules : \"**\"","title":"Configuration"},{"location":"cookbook/exception-naming/#violation-example","text":"# src/domain/exceptions.py class FilterError ( Exception ): # missing semantic suffix before Error pass","title":"Violation Example"},{"location":"cookbook/exception-naming/#passing-example","text":"# src/domain/exceptions.py class FilterNotFoundError ( Exception ): pass","title":"Passing Example"},{"location":"cookbook/exception-naming/#output","text":"$ pnl check src/domain/exceptions.py:3 [ exception-naming ] FilterError ( expected pattern: ^ [ A-Z ][ a-zA-Z ] + ( NotFound | Invalid | ... ) Error$ ) Found 1 violation ( s ) .","title":"Output"},{"location":"cookbook/layer-based-rules/","text":"Purpose \u00b6 Real projects have distinct layers \u2014 domain, infrastructure, API \u2014 each with its own naming conventions. Instead of applying every rule globally, you can scope each rule set to the layer where it belongs, reducing false positives and making the intent of each rule explicit. Configuration \u00b6 rules : - name : attribute-matches-type type : variable filter : { target : attribute } naming : { source : type_annotation , transform : snake_case } - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } - name : domain-module-naming type : module naming : { source : class_name , transform : snake_case } - name : constant-upper-case type : variable filter : { target : constant } naming : { case : UPPER_CASE } - name : exception-naming type : class filter : { base_class : Exception } naming : { regex : \"^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$\" } apply : - name : domain-layer rules : - attribute-matches-type - bool-method-prefix - domain-module-naming - constant-upper-case modules : contexts.*.domain - name : global-exceptions rules : [ exception-naming ] modules : \"**\" The domain-layer apply block targets every contexts//domain package, while global-exceptions runs the exception naming rule across the entire codebase. Violation Example \u00b6 # contexts/billing/domain/service.py max_retry = 3 # constant not in UPPER_CASE class BillingService : def validate ( self ) -> bool : # bool method missing prefix return self . _status == \"active\" # contexts/billing/domain/exceptions.py class BillingError ( Exception ): # exception missing semantic suffix pass Passing Example \u00b6 # contexts/billing/domain/service.py MAX_RETRY = 3 class BillingService : def is_valid ( self ) -> bool : return self . _status == \"active\" # contexts/billing/domain/exceptions.py class BillingNotFoundError ( Exception ): pass Output \u00b6 $ pnl check contexts/billing/domain/service.py:3 [ constant-upper-case ] max_retry ( expected case : UPPER_CASE ) contexts/billing/domain/service.py:6 [ bool-method-prefix ] validate ( expected prefix: is_ | has_ | should_ ) contexts/billing/domain/exceptions.py:3 [ exception-naming ] BillingError ( expected pattern: ^ [ A-Z ][ a-zA-Z ] + ( NotFound | Invalid | ... ) Error$ ) Found 3 violation ( s ) .","title":"Layer-Based Rules"},{"location":"cookbook/layer-based-rules/#purpose","text":"Real projects have distinct layers \u2014 domain, infrastructure, API \u2014 each with its own naming conventions. Instead of applying every rule globally, you can scope each rule set to the layer where it belongs, reducing false positives and making the intent of each rule explicit.","title":"Purpose"},{"location":"cookbook/layer-based-rules/#configuration","text":"rules : - name : attribute-matches-type type : variable filter : { target : attribute } naming : { source : type_annotation , transform : snake_case } - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } - name : domain-module-naming type : module naming : { source : class_name , transform : snake_case } - name : constant-upper-case type : variable filter : { target : constant } naming : { case : UPPER_CASE } - name : exception-naming type : class filter : { base_class : Exception } naming : { regex : \"^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$\" } apply : - name : domain-layer rules : - attribute-matches-type - bool-method-prefix - domain-module-naming - constant-upper-case modules : contexts.*.domain - name : global-exceptions rules : [ exception-naming ] modules : \"**\" The domain-layer apply block targets every contexts//domain package, while global-exceptions runs the exception naming rule across the entire codebase.","title":"Configuration"},{"location":"cookbook/layer-based-rules/#violation-example","text":"# contexts/billing/domain/service.py max_retry = 3 # constant not in UPPER_CASE class BillingService : def validate ( self ) -> bool : # bool method missing prefix return self . _status == \"active\" # contexts/billing/domain/exceptions.py class BillingError ( Exception ): # exception missing semantic suffix pass","title":"Violation Example"},{"location":"cookbook/layer-based-rules/#passing-example","text":"# contexts/billing/domain/service.py MAX_RETRY = 3 class BillingService : def is_valid ( self ) -> bool : return self . _status == \"active\" # contexts/billing/domain/exceptions.py class BillingNotFoundError ( Exception ): pass","title":"Passing Example"},{"location":"cookbook/layer-based-rules/#output","text":"$ pnl check contexts/billing/domain/service.py:3 [ constant-upper-case ] max_retry ( expected case : UPPER_CASE ) contexts/billing/domain/service.py:6 [ bool-method-prefix ] validate ( expected prefix: is_ | has_ | should_ ) contexts/billing/domain/exceptions.py:3 [ exception-naming ] BillingError ( expected pattern: ^ [ A-Z ][ a-zA-Z ] + ( NotFound | Invalid | ... ) Error$ ) Found 3 violation ( s ) .","title":"Output"},{"location":"cookbook/module-matches-class/","text":"Purpose \u00b6 When each module contains one primary class, keeping the filename in sync with the class name makes it immediately obvious what a file exports. This rule requires the module filename (without the .py extension) to be the snake_case form of the primary class name in that file. Configuration \u00b6 rules : - name : domain-module-naming type : module naming : { source : class_name , transform : snake_case } apply : - name : domain-layer rules : [ domain-module-naming ] modules : contexts.*.domain Violation Example \u00b6 # contexts/catalog/domain/custom.py \u2190 filename does not match class name class CustomObject : pass Passing Example \u00b6 # contexts/catalog/domain/custom_object.py \u2190 matches CustomObject in snake_case class CustomObject : pass Output \u00b6 $ pnl check contexts/catalog/domain/custom.py:1 [ domain-module-naming ] custom ( expected: custom_object ) Found 1 violation ( s ) .","title":"Module Matches Class"},{"location":"cookbook/module-matches-class/#purpose","text":"When each module contains one primary class, keeping the filename in sync with the class name makes it immediately obvious what a file exports. This rule requires the module filename (without the .py extension) to be the snake_case form of the primary class name in that file.","title":"Purpose"},{"location":"cookbook/module-matches-class/#configuration","text":"rules : - name : domain-module-naming type : module naming : { source : class_name , transform : snake_case } apply : - name : domain-layer rules : [ domain-module-naming ] modules : contexts.*.domain","title":"Configuration"},{"location":"cookbook/module-matches-class/#violation-example","text":"# contexts/catalog/domain/custom.py \u2190 filename does not match class name class CustomObject : pass","title":"Violation Example"},{"location":"cookbook/module-matches-class/#passing-example","text":"# contexts/catalog/domain/custom_object.py \u2190 matches CustomObject in snake_case class CustomObject : pass","title":"Passing Example"},{"location":"cookbook/module-matches-class/#output","text":"$ pnl check contexts/catalog/domain/custom.py:1 [ domain-module-naming ] custom ( expected: custom_object ) Found 1 violation ( s ) .","title":"Output"},{"location":"getting-started/configuration/","text":"pnl supports two config file formats: a standalone YAML file or an inline section inside pyproject.toml . Config File Discovery \u00b6 When you run pnl check without --config , the tool searches upward from the current working directory for one of: .python-naming-linter.yaml pyproject.toml (containing a [tool.python-naming-linter] section) The first matching file is used, and its parent directory becomes the project root. To use a specific config file, pass it explicitly: pnl check --config path/to/config.yaml YAML Format \u00b6 Create .python-naming-linter.yaml in your project root: rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } apply : - name : all rules : [ bool-method-prefix ] modules : \"**\" pyproject.toml Format \u00b6 You can embed the same configuration inside pyproject.toml using the [tool.python-naming-linter] namespace: [[tool.python-naming-linter.rules]] name = \"bool-method-prefix\" type = \"function\" [tool.python-naming-linter.rules.filter] return_type = \"bool\" [tool.python-naming-linter.rules.naming] prefix = [ \"is_\" , \"has_\" , \"should_\" ] [[tool.python-naming-linter.apply]] name = \"all\" rules = [ \"bool-method-prefix\" ] modules = \"**\" Both formats are equivalent \u2014 use whichever fits your project's conventions. Top-Level Keys \u00b6 Key Description rules List of naming rule definitions apply List of rule-to-module mappings include Paths to include when scanning (optional) exclude Paths to exclude when scanning (optional) include / exclude \u00b6 Control which files are scanned: include : - src exclude : - src/generated/** Behavior: Neither \u2014 all .py files under the project root are scanned. include only \u2014 only files matching the given paths are scanned. exclude only \u2014 all files except those matching the given paths are scanned. Both \u2014 include is applied first, then exclude filters within that result.","title":"Configuration"},{"location":"getting-started/configuration/#config-file-discovery","text":"When you run pnl check without --config , the tool searches upward from the current working directory for one of: .python-naming-linter.yaml pyproject.toml (containing a [tool.python-naming-linter] section) The first matching file is used, and its parent directory becomes the project root. To use a specific config file, pass it explicitly: pnl check --config path/to/config.yaml","title":"Config File Discovery"},{"location":"getting-started/configuration/#yaml-format","text":"Create .python-naming-linter.yaml in your project root: rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } apply : - name : all rules : [ bool-method-prefix ] modules : \"**\"","title":"YAML Format"},{"location":"getting-started/configuration/#pyprojecttoml-format","text":"You can embed the same configuration inside pyproject.toml using the [tool.python-naming-linter] namespace: [[tool.python-naming-linter.rules]] name = \"bool-method-prefix\" type = \"function\" [tool.python-naming-linter.rules.filter] return_type = \"bool\" [tool.python-naming-linter.rules.naming] prefix = [ \"is_\" , \"has_\" , \"should_\" ] [[tool.python-naming-linter.apply]] name = \"all\" rules = [ \"bool-method-prefix\" ] modules = \"**\" Both formats are equivalent \u2014 use whichever fits your project's conventions.","title":"pyproject.toml Format"},{"location":"getting-started/configuration/#top-level-keys","text":"Key Description rules List of naming rule definitions apply List of rule-to-module mappings include Paths to include when scanning (optional) exclude Paths to exclude when scanning (optional)","title":"Top-Level Keys"},{"location":"getting-started/configuration/#include-exclude","text":"Control which files are scanned: include : - src exclude : - src/generated/** Behavior: Neither \u2014 all .py files under the project root are scanned. include only \u2014 only files matching the given paths are scanned. exclude only \u2014 all files except those matching the given paths are scanned. Both \u2014 include is applied first, then exclude filters within that result.","title":"include / exclude"},{"location":"getting-started/installation/","text":"python-naming-linter is available on PyPI and can be installed with any standard Python package manager. pip \u00b6 pip install python-naming-linter uv \u00b6 uv add python-naming-linter Verify the Installation \u00b6 After installation, confirm the CLI is available: pnl --help You should see the help output listing the available commands.","title":"Installation"},{"location":"getting-started/installation/#pip","text":"pip install python-naming-linter","title":"pip"},{"location":"getting-started/installation/#uv","text":"uv add python-naming-linter","title":"uv"},{"location":"getting-started/installation/#verify-the-installation","text":"After installation, confirm the CLI is available: pnl --help You should see the help output listing the available commands.","title":"Verify the Installation"},{"location":"getting-started/quick-start/","text":"Get pnl running in your project in three steps. Step 1: Create a Config File \u00b6 Create .python-naming-linter.yaml in your project root and define your naming rules: rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } - name : exception-naming type : class filter : { base_class : Exception } naming : { regex : \"^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$\" } apply : - name : all rules : [ bool-method-prefix , exception-naming ] modules : \"**\" This config defines two rules: bool-method-prefix \u2014 functions that return bool must start with is_ , has_ , or should_ . exception-naming \u2014 classes that extend Exception must follow the given regex pattern. Both rules are applied to all modules ( ** ). Step 2: Run the Linter \u00b6 From your project root, run: pnl check pnl automatically discovers the config file by searching upward from the current working directory. Step 3: Review the Output \u00b6 Violations are reported with the file path, line number, rule name, and what was expected: src/domain/service.py:12 [bool-method-prefix] validate (expected prefix: is_ | has_ | should_) src/domain/exceptions.py:8 [exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$) Found 2 violation(s). Fix the reported names and re-run pnl check until no violations remain. Next Steps \u00b6 Learn all available config options in Configuration . See rule type details and naming constraint options in the full reference.","title":"Quick Start"},{"location":"getting-started/quick-start/#step-1-create-a-config-file","text":"Create .python-naming-linter.yaml in your project root and define your naming rules: rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } - name : exception-naming type : class filter : { base_class : Exception } naming : { regex : \"^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$\" } apply : - name : all rules : [ bool-method-prefix , exception-naming ] modules : \"**\" This config defines two rules: bool-method-prefix \u2014 functions that return bool must start with is_ , has_ , or should_ . exception-naming \u2014 classes that extend Exception must follow the given regex pattern. Both rules are applied to all modules ( ** ).","title":"Step 1: Create a Config File"},{"location":"getting-started/quick-start/#step-2-run-the-linter","text":"From your project root, run: pnl check pnl automatically discovers the config file by searching upward from the current working directory.","title":"Step 2: Run the Linter"},{"location":"getting-started/quick-start/#step-3-review-the-output","text":"Violations are reported with the file path, line number, rule name, and what was expected: src/domain/service.py:12 [bool-method-prefix] validate (expected prefix: is_ | has_ | should_) src/domain/exceptions.py:8 [exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$) Found 2 violation(s). Fix the reported names and re-run pnl check until no violations remain.","title":"Step 3: Review the Output"},{"location":"getting-started/quick-start/#next-steps","text":"Learn all available config options in Configuration . See rule type details and naming constraint options in the full reference.","title":"Next Steps"},{"location":"guide/apply-and-modules/","text":"The apply block connects rules to the parts of your codebase where they should be enforced. Without an apply entry, a rule is defined but never executed. The apply Block \u00b6 Each entry in apply is a named group that maps one or more rules to one or more modules: apply : - name : domain-layer # A label for this group (used in output) rules : # Rules to enforce in this group - attribute-matches-type - bool-method-prefix modules : contexts.*.domain # Module path pattern to match Fields \u00b6 Field Required Description name Yes Human-readable label for this application group rules Yes List of rule names to enforce (must be defined in the rules block) modules Yes A module path pattern that selects which files to check Inline syntax \u00b6 For short rule lists, you can use inline YAML syntax: apply : - name : all rules : [ bool-method-prefix , exception-naming ] modules : \"**\" Module Path Patterns \u00b6 Module paths use Python's dotted notation \u2014 the same way you would import them. For example, src/domain/service.py becomes src.domain.service . Exact match \u00b6 To target a single module, write its full dotted path: modules : myapp.core.utils This matches only the file myapp/core/utils.py . Wildcards \u00b6 * \u2014 Single level \u00b6 * matches exactly one segment in a dotted module path. It cannot match across dots. modules : contexts.*.domain This matches: contexts.boards.domain contexts.auth.domain contexts.payments.domain But not: contexts.domain (missing the middle segment) contexts.boards.sub.domain (too many levels between contexts and domain ) Example: apply : - name : domain-layer rules : [ attribute-matches-type ] modules : contexts.*.domain ** \u2014 One or more levels \u00b6 ** matches one or more segments. Use it to select all modules under a path, regardless of depth. modules : contexts.**.domain This matches: contexts.boards.domain contexts.boards.sub.domain contexts.a.b.c.domain Example \u2014 apply a rule to the entire codebase: apply : - name : all rules : [ bool-method-prefix ] modules : \"**\" The \"**\" pattern matches every module in the project. Use quotes to avoid YAML parsing issues. Example \u2014 apply rules to all modules under a sub-package: apply : - name : services rules : [ function-snake-case ] modules : myapp.services.** Named Capture \u00b6 {name} captures a single path segment (equivalent to * ) and makes the captured value available for back-referencing within the same pattern. modules : contexts.{context}.domain This behaves like contexts.*.domain but the captured value (e.g. boards ) is bound to the name context . You can reference it later in the same pattern using {context} . Back-referencing example \u00b6 Named captures are useful when you want to enforce that two parts of a path are related \u2014 for example, that a submodule name must match its parent package name: apply : - name : domain-isolation rules : [ attribute-matches-type ] modules : contexts.{context}.domain In this example, every module matching contexts..domain is selected, and the middle segment is captured as context . This can be used in rule logic that references the captured value, enabling context-aware enforcement. Multiple Apply Groups \u00b6 You can define multiple apply groups to apply different rules to different parts of your codebase: apply : - name : domain-layer rules : - attribute-matches-type - bool-method-prefix - domain-module-naming - constant-upper-case modules : contexts.*.domain - name : global-exceptions rules : [ exception-naming ] modules : \"**\" Here, the domain-specific rules are enforced only in contexts.*.domain , while exception-naming is enforced everywhere. A single module can be matched by multiple groups \u2014 all matching rules will be applied.","title":"Apply & Modules"},{"location":"guide/apply-and-modules/#the-apply-block","text":"Each entry in apply is a named group that maps one or more rules to one or more modules: apply : - name : domain-layer # A label for this group (used in output) rules : # Rules to enforce in this group - attribute-matches-type - bool-method-prefix modules : contexts.*.domain # Module path pattern to match","title":"The apply Block"},{"location":"guide/apply-and-modules/#fields","text":"Field Required Description name Yes Human-readable label for this application group rules Yes List of rule names to enforce (must be defined in the rules block) modules Yes A module path pattern that selects which files to check","title":"Fields"},{"location":"guide/apply-and-modules/#inline-syntax","text":"For short rule lists, you can use inline YAML syntax: apply : - name : all rules : [ bool-method-prefix , exception-naming ] modules : \"**\"","title":"Inline syntax"},{"location":"guide/apply-and-modules/#module-path-patterns","text":"Module paths use Python's dotted notation \u2014 the same way you would import them. For example, src/domain/service.py becomes src.domain.service .","title":"Module Path Patterns"},{"location":"guide/apply-and-modules/#exact-match","text":"To target a single module, write its full dotted path: modules : myapp.core.utils This matches only the file myapp/core/utils.py .","title":"Exact match"},{"location":"guide/apply-and-modules/#wildcards","text":"","title":"Wildcards"},{"location":"guide/apply-and-modules/#single-level","text":"* matches exactly one segment in a dotted module path. It cannot match across dots. modules : contexts.*.domain This matches: contexts.boards.domain contexts.auth.domain contexts.payments.domain But not: contexts.domain (missing the middle segment) contexts.boards.sub.domain (too many levels between contexts and domain ) Example: apply : - name : domain-layer rules : [ attribute-matches-type ] modules : contexts.*.domain","title":"* \u2014 Single level"},{"location":"guide/apply-and-modules/#one-or-more-levels","text":"** matches one or more segments. Use it to select all modules under a path, regardless of depth. modules : contexts.**.domain This matches: contexts.boards.domain contexts.boards.sub.domain contexts.a.b.c.domain Example \u2014 apply a rule to the entire codebase: apply : - name : all rules : [ bool-method-prefix ] modules : \"**\" The \"**\" pattern matches every module in the project. Use quotes to avoid YAML parsing issues. Example \u2014 apply rules to all modules under a sub-package: apply : - name : services rules : [ function-snake-case ] modules : myapp.services.**","title":"** \u2014 One or more levels"},{"location":"guide/apply-and-modules/#named-capture","text":"{name} captures a single path segment (equivalent to * ) and makes the captured value available for back-referencing within the same pattern. modules : contexts.{context}.domain This behaves like contexts.*.domain but the captured value (e.g. boards ) is bound to the name context . You can reference it later in the same pattern using {context} .","title":"Named Capture"},{"location":"guide/apply-and-modules/#back-referencing-example","text":"Named captures are useful when you want to enforce that two parts of a path are related \u2014 for example, that a submodule name must match its parent package name: apply : - name : domain-isolation rules : [ attribute-matches-type ] modules : contexts.{context}.domain In this example, every module matching contexts..domain is selected, and the middle segment is captured as context . This can be used in rule logic that references the captured value, enabling context-aware enforcement.","title":"Back-referencing example"},{"location":"guide/apply-and-modules/#multiple-apply-groups","text":"You can define multiple apply groups to apply different rules to different parts of your codebase: apply : - name : domain-layer rules : - attribute-matches-type - bool-method-prefix - domain-module-naming - constant-upper-case modules : contexts.*.domain - name : global-exceptions rules : [ exception-naming ] modules : \"**\" Here, the domain-specific rules are enforced only in contexts.*.domain , while exception-naming is enforced everywhere. A single module can be matched by multiple groups \u2014 all matching rules will be applied.","title":"Multiple Apply Groups"},{"location":"guide/filters/","text":"Filters let you narrow the scope of a rule so it only applies to a specific subset of names. Without a filter, a rule matches every name of its type . With a filter, only names that satisfy all filter conditions are checked. Filters are specified in the filter block of a rule: rules : - name : my-rule type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ ] } Multiple filter fields can be combined \u2014 a name must satisfy all of them to be checked. target \u00b6 Narrows which names within the rule type are checked based on their role in the code. For variable rules \u00b6 Value Matches attribute Class-level attribute assignments, including annotated attributes ( x: int = 1 ) parameter Function or method parameters local_variable Variables assigned inside a function body constant Module-level assignments (typically treated as constants) Supported rule types: variable Example \u2014 lint only class attributes: rules : - name : attribute-matches-type type : variable filter : { target : attribute } naming : { source : type_annotation , transform : snake_case } Example \u2014 lint only module-level constants: rules : - name : constant-upper-case type : variable filter : { target : constant } naming : { case : UPPER_CASE } For function rules \u00b6 Value Matches method Functions defined inside a class body function Functions defined at module level or inside other functions Supported rule types: function Example \u2014 lint only module-level functions (not methods): rules : - name : function-snake-case type : function filter : { target : function } naming : { case : snake_case } return_type \u00b6 Matches functions whose return type annotation equals the specified type name. Supported rule types: function Accepted values: any Python type name as a string, e.g. bool , str , int , None Example \u2014 require a boolean-indicating prefix on bool -returning functions: rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } apply : - name : all rules : [ bool-method-prefix ] modules : \"**\" The filter matches functions with -> bool in their signature. Functions without a return type annotation, or with a different annotation, are not checked. decorator \u00b6 Matches functions or classes that are decorated with the specified decorator name. Supported rule types: function , class Accepted values: any decorator name as a string (without @ ), e.g. staticmethod , classmethod , property , dataclass , abstractmethod Example \u2014 require a suffix on static methods: rules : - name : static-method-suffix type : function filter : { decorator : staticmethod } naming : { suffix : [ _impl ] } apply : - name : all rules : [ static-method-suffix ] modules : \"**\" Example \u2014 require a DTO suffix on dataclasses: rules : - name : dataclass-dto-suffix type : class filter : { decorator : dataclass } naming : { suffix : [ DTO ] } apply : - name : all rules : [ dataclass-dto-suffix ] modules : \"**\" The filter matches the decorator by its bare name. Both @dataclass and @dataclasses.dataclass are matched by the value dataclass . base_class \u00b6 Matches classes that inherit from the specified base class. Supported rule types: class Accepted values: any class name as a string, e.g. Exception , BaseModel , ABC Example \u2014 enforce a naming pattern for all exception classes: rules : - name : exception-naming type : class filter : { base_class : Exception } naming : { regex : \"^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$\" } apply : - name : all rules : [ exception-naming ] modules : \"**\" The filter matches the direct base class name. class MyError(Exception) matches the value Exception . Filter Support by Rule Type \u00b6 Filter variable function class module package target attribute , parameter , local_variable , constant method , function \u2014 \u2014 \u2014 return_type \u2014 any type string \u2014 \u2014 \u2014 decorator \u2014 any decorator name any decorator name \u2014 \u2014 base_class \u2014 \u2014 any class name \u2014 \u2014","title":"Filters"},{"location":"guide/filters/#target","text":"Narrows which names within the rule type are checked based on their role in the code.","title":"target"},{"location":"guide/filters/#for-variable-rules","text":"Value Matches attribute Class-level attribute assignments, including annotated attributes ( x: int = 1 ) parameter Function or method parameters local_variable Variables assigned inside a function body constant Module-level assignments (typically treated as constants) Supported rule types: variable Example \u2014 lint only class attributes: rules : - name : attribute-matches-type type : variable filter : { target : attribute } naming : { source : type_annotation , transform : snake_case } Example \u2014 lint only module-level constants: rules : - name : constant-upper-case type : variable filter : { target : constant } naming : { case : UPPER_CASE }","title":"For variable rules"},{"location":"guide/filters/#for-function-rules","text":"Value Matches method Functions defined inside a class body function Functions defined at module level or inside other functions Supported rule types: function Example \u2014 lint only module-level functions (not methods): rules : - name : function-snake-case type : function filter : { target : function } naming : { case : snake_case }","title":"For function rules"},{"location":"guide/filters/#return_type","text":"Matches functions whose return type annotation equals the specified type name. Supported rule types: function Accepted values: any Python type name as a string, e.g. bool , str , int , None Example \u2014 require a boolean-indicating prefix on bool -returning functions: rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } apply : - name : all rules : [ bool-method-prefix ] modules : \"**\" The filter matches functions with -> bool in their signature. Functions without a return type annotation, or with a different annotation, are not checked.","title":"return_type"},{"location":"guide/filters/#decorator","text":"Matches functions or classes that are decorated with the specified decorator name. Supported rule types: function , class Accepted values: any decorator name as a string (without @ ), e.g. staticmethod , classmethod , property , dataclass , abstractmethod Example \u2014 require a suffix on static methods: rules : - name : static-method-suffix type : function filter : { decorator : staticmethod } naming : { suffix : [ _impl ] } apply : - name : all rules : [ static-method-suffix ] modules : \"**\" Example \u2014 require a DTO suffix on dataclasses: rules : - name : dataclass-dto-suffix type : class filter : { decorator : dataclass } naming : { suffix : [ DTO ] } apply : - name : all rules : [ dataclass-dto-suffix ] modules : \"**\" The filter matches the decorator by its bare name. Both @dataclass and @dataclasses.dataclass are matched by the value dataclass .","title":"decorator"},{"location":"guide/filters/#base_class","text":"Matches classes that inherit from the specified base class. Supported rule types: class Accepted values: any class name as a string, e.g. Exception , BaseModel , ABC Example \u2014 enforce a naming pattern for all exception classes: rules : - name : exception-naming type : class filter : { base_class : Exception } naming : { regex : \"^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$\" } apply : - name : all rules : [ exception-naming ] modules : \"**\" The filter matches the direct base class name. class MyError(Exception) matches the value Exception .","title":"base_class"},{"location":"guide/filters/#filter-support-by-rule-type","text":"Filter variable function class module package target attribute , parameter , local_variable , constant method , function \u2014 \u2014 \u2014 return_type \u2014 any type string \u2014 \u2014 \u2014 decorator \u2014 any decorator name any decorator name \u2014 \u2014 base_class \u2014 \u2014 any class name \u2014 \u2014","title":"Filter Support by Rule Type"},{"location":"guide/include-exclude/","text":"The include and exclude keys control which files pnl scans. They are top-level config keys and are applied before any rule matching. include : - src exclude : - src/generated/** rules : - name : ... apply : - name : ... Both keys accept a list of file path patterns. Patterns are matched against file paths relative to the project root. Scenarios \u00b6 No include or exclude \u00b6 When neither key is present, pnl scans all .py files under the project root recursively. rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } apply : - name : all rules : [ bool-method-prefix ] modules : \"**\" Every .py file in the project is a candidate for scanning. The apply block's modules pattern then determines which of those files are actually checked by each rule. include only \u00b6 When only include is specified, only files matching the listed paths are scanned. Everything else is ignored. include : - src rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } apply : - name : all rules : [ bool-method-prefix ] modules : \"**\" Only .py files under src/ are scanned. Files in tests/ , scripts/ , or other top-level directories are not checked, even if they match the modules pattern in apply . Use include when your project has multiple top-level directories and you only want to lint a specific one. exclude only \u00b6 When only exclude is specified, all .py files under the project root are scanned except those matching the excluded paths. exclude : - tests/** - scripts/** rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } apply : - name : all rules : [ bool-method-prefix ] modules : \"**\" All files are scanned by default, but tests/ and scripts/ are skipped. This is useful when you want broad coverage but need to exclude generated code, fixtures, or tooling directories. Both include and exclude \u00b6 When both keys are present, include is applied first and exclude is applied to that result. include : - src exclude : - src/generated/** rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } apply : - name : all rules : [ bool-method-prefix ] modules : \"**\" Step-by-step: Start with all .py files under the project root. Keep only files under src/ (apply include ). Remove files under src/generated/ (apply exclude ). The result is all files under src/ except those in src/generated/ . Summary \u00b6 include exclude Files scanned Not set Not set All .py files under project root Set Not set Only files matching include paths Not set Set All files except those matching exclude paths Set Set Files matching include , then filtered by exclude Note include and exclude control the file scanning scope. The modules patterns in apply blocks are evaluated against the scanned files \u2014 so a file excluded here will never be checked, regardless of what modules patterns are defined.","title":"Include / Exclude"},{"location":"guide/include-exclude/#scenarios","text":"","title":"Scenarios"},{"location":"guide/include-exclude/#no-include-or-exclude","text":"When neither key is present, pnl scans all .py files under the project root recursively. rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } apply : - name : all rules : [ bool-method-prefix ] modules : \"**\" Every .py file in the project is a candidate for scanning. The apply block's modules pattern then determines which of those files are actually checked by each rule.","title":"No include or exclude"},{"location":"guide/include-exclude/#include-only","text":"When only include is specified, only files matching the listed paths are scanned. Everything else is ignored. include : - src rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } apply : - name : all rules : [ bool-method-prefix ] modules : \"**\" Only .py files under src/ are scanned. Files in tests/ , scripts/ , or other top-level directories are not checked, even if they match the modules pattern in apply . Use include when your project has multiple top-level directories and you only want to lint a specific one.","title":"include only"},{"location":"guide/include-exclude/#exclude-only","text":"When only exclude is specified, all .py files under the project root are scanned except those matching the excluded paths. exclude : - tests/** - scripts/** rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } apply : - name : all rules : [ bool-method-prefix ] modules : \"**\" All files are scanned by default, but tests/ and scripts/ are skipped. This is useful when you want broad coverage but need to exclude generated code, fixtures, or tooling directories.","title":"exclude only"},{"location":"guide/include-exclude/#both-include-and-exclude","text":"When both keys are present, include is applied first and exclude is applied to that result. include : - src exclude : - src/generated/** rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } apply : - name : all rules : [ bool-method-prefix ] modules : \"**\" Step-by-step: Start with all .py files under the project root. Keep only files under src/ (apply include ). Remove files under src/generated/ (apply exclude ). The result is all files under src/ except those in src/generated/ .","title":"Both include and exclude"},{"location":"guide/include-exclude/#summary","text":"include exclude Files scanned Not set Not set All .py files under project root Set Not set Only files matching include paths Not set Set All files except those matching exclude paths Set Set Files matching include , then filtered by exclude Note include and exclude control the file scanning scope. The modules patterns in apply blocks are evaluated against the scanned files \u2014 so a file excluded here will never be checked, regardless of what modules patterns are defined.","title":"Summary"},{"location":"guide/inline-ignore/","text":"Sometimes a specific line legitimately violates a naming rule \u2014 a third-party interface, a legacy name you cannot change, or a deliberate exception to your convention. Rather than disabling the rule globally or restructuring your config, you can suppress violations on a per-line basis using inline ignore comments. Ignore all rules on a line \u00b6 Add # pnl: ignore at the end of a line to suppress all pnl violations reported for that line: x : int = 1 # pnl: ignore Any rule that would have flagged the name on this line is silenced. This is the broadest form of suppression \u2014 use it when multiple rules apply and you want to silence all of them at once. Ignore a specific rule on a line \u00b6 To suppress only one rule, specify the rule name after = : x : int = 1 # pnl: ignore=attribute-matches-type Only the attribute-matches-type rule is suppressed on this line. Any other rules that match this line will still report violations. The rule name must exactly match the name field defined in your config: rules : - name : attribute-matches-type # This is the name to use in ignore comments type : variable filter : { target : attribute } naming : { source : type_annotation , transform : snake_case } Ignore multiple specific rules on a line \u00b6 To suppress more than one rule on the same line, list rule names separated by commas: x : int = 1 # pnl: ignore=attribute-matches-type,constant-upper-case Both attribute-matches-type and constant-upper-case are suppressed on this line. There is no space around the commas. Practical examples \u00b6 Suppressing a legacy attribute name that doesn't match its type: class UserService : repo : UserRepository # pnl: ignore=attribute-matches-type Suppressing a constant that follows a third-party naming convention: # Required by the framework to be this exact name default_app_config = \"myapp.apps.MyAppConfig\" # pnl: ignore=constant-upper-case Suppressing all rules on a generated or protocol-required name: def __repr__ ( self ) -> str : # pnl: ignore ... Notes \u00b6 Inline ignore comments apply only to the line they appear on. They do not affect other lines. Rule names are case-sensitive and must match exactly. If you specify a rule name that does not exist in your config, the comment is silently ignored \u2014 no error is raised. Prefer targeted suppression ( # pnl: ignore=rule-name ) over blanket suppression ( # pnl: ignore ) so that future rules are not accidentally silenced.","title":"Inline Ignore"},{"location":"guide/inline-ignore/#ignore-all-rules-on-a-line","text":"Add # pnl: ignore at the end of a line to suppress all pnl violations reported for that line: x : int = 1 # pnl: ignore Any rule that would have flagged the name on this line is silenced. This is the broadest form of suppression \u2014 use it when multiple rules apply and you want to silence all of them at once.","title":"Ignore all rules on a line"},{"location":"guide/inline-ignore/#ignore-a-specific-rule-on-a-line","text":"To suppress only one rule, specify the rule name after = : x : int = 1 # pnl: ignore=attribute-matches-type Only the attribute-matches-type rule is suppressed on this line. Any other rules that match this line will still report violations. The rule name must exactly match the name field defined in your config: rules : - name : attribute-matches-type # This is the name to use in ignore comments type : variable filter : { target : attribute } naming : { source : type_annotation , transform : snake_case }","title":"Ignore a specific rule on a line"},{"location":"guide/inline-ignore/#ignore-multiple-specific-rules-on-a-line","text":"To suppress more than one rule on the same line, list rule names separated by commas: x : int = 1 # pnl: ignore=attribute-matches-type,constant-upper-case Both attribute-matches-type and constant-upper-case are suppressed on this line. There is no space around the commas.","title":"Ignore multiple specific rules on a line"},{"location":"guide/inline-ignore/#practical-examples","text":"Suppressing a legacy attribute name that doesn't match its type: class UserService : repo : UserRepository # pnl: ignore=attribute-matches-type Suppressing a constant that follows a third-party naming convention: # Required by the framework to be this exact name default_app_config = \"myapp.apps.MyAppConfig\" # pnl: ignore=constant-upper-case Suppressing all rules on a generated or protocol-required name: def __repr__ ( self ) -> str : # pnl: ignore ...","title":"Practical examples"},{"location":"guide/inline-ignore/#notes","text":"Inline ignore comments apply only to the line they appear on. They do not affect other lines. Rule names are case-sensitive and must match exactly. If you specify a rule name that does not exist in your config, the comment is silently ignored \u2014 no error is raised. Prefer targeted suppression ( # pnl: ignore=rule-name ) over blanket suppression ( # pnl: ignore ) so that future rules are not accidentally silenced.","title":"Notes"},{"location":"guide/naming-constraints/","text":"Naming constraints define how a name must be formed. They are specified in the naming block of a rule: rules : - name : my-rule type : function naming : { prefix : [ is_ , has_ ] } Each rule must have exactly one naming constraint (or one source + transform pair). The constraint is evaluated against every name that passes the rule's type and filter checks. prefix \u00b6 The name must start with one of the listed prefixes. Accepted value: a list of one or more prefix strings. Example: rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } Name Result is_active Pass \u2014 starts with is_ has_permission Pass \u2014 starts with has_ should_retry Pass \u2014 starts with should_ validate Violation \u2014 no matching prefix check_active Violation \u2014 check_ is not in the list Violation message example: [bool-method-prefix] validate (expected prefix: is_ | has_ | should_) suffix \u00b6 The name must end with one of the listed suffixes. Accepted value: a list of one or more suffix strings. Example: rules : - name : repository-suffix type : class naming : { suffix : [ Repository , Service ] } Name Result UserRepository Pass \u2014 ends with Repository OrderService Pass \u2014 ends with Service UserManager Violation \u2014 no matching suffix User Violation \u2014 no matching suffix Violation message example: [repository-suffix] UserManager (expected suffix: Repository | Service) regex \u00b6 The name must match a regular expression. Accepted value: a string containing a valid Python regular expression. This is the most expressive constraint \u2014 use it when prefix , suffix , or case are not specific enough. Example: rules : - name : exception-naming type : class filter : { base_class : Exception } naming : { regex : \"^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$\" } Name Result UserNotFoundError Pass \u2014 matches the pattern OrderInvalidError Pass \u2014 matches the pattern FilterError Violation \u2014 does not end with the required suffix group userNotFoundError Violation \u2014 does not start with an uppercase letter Violation message example: [exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$) source + transform \u00b6 The name must be derived from another element in the code, after applying a transformation. This is used for relational naming \u2014 where the name of one thing must reflect another. Both fields must be specified together. source values \u00b6 Value What it reads type_annotation The type annotation of the variable (e.g. SubscriptionRepository from x: SubscriptionRepository ) class_name The name of a class defined in the module (used with type: module ) transform values \u00b6 Value What it does snake_case Converts PascalCase or camelCase to snake_case (e.g. SubscriptionRepository \u2192 subscription_repository ) Example \u2014 variable name must match its type annotation: rules : - name : attribute-matches-type type : variable filter : { target : attribute } naming : { source : type_annotation , transform : snake_case } Declaration Result subscription_repository: SubscriptionRepository Pass \u2014 name matches transformed type repo: SubscriptionRepository Violation \u2014 repo does not match subscription_repository source_object_context: ObjectContext Pass \u2014 name ends with _object_context (prefix + expected form is allowed) The {prefix}_{expected} form is accepted. If the expected derived name is object_context , then source_object_context passes because it ends with _object_context . Example \u2014 module filename must match the class it contains: rules : - name : domain-module-naming type : module naming : { source : class_name , transform : snake_case } File Class Result custom_object.py CustomObject Pass \u2014 filename matches transformed class name custom.py CustomObject Violation \u2014 custom does not match custom_object case \u00b6 The name must follow a specific casing convention. Accepted values: Value Pattern Example snake_case all lowercase, words separated by underscores my_variable_name PascalCase each word starts with uppercase, no separators MyClassName UPPER_CASE all uppercase, words separated by underscores MAX_RETRIES Example \u2014 enforce UPPER_CASE for constants: rules : - name : constant-upper-case type : variable filter : { target : constant } naming : { case : UPPER_CASE } Name Result MAX_RETRIES Pass DEFAULT_TIMEOUT Pass max_retries Violation \u2014 lowercase maxRetries Violation \u2014 camelCase Example \u2014 enforce PascalCase for classes: rules : - name : class-pascal-case type : class naming : { case : PascalCase } Name Result MyService Pass my_service Violation myService Violation Summary Table \u00b6 Constraint Value type Use when prefix list of strings Names must start with one of several prefixes suffix list of strings Names must end with one of several suffixes regex string (regex) Names must match a complex pattern source + transform string + string Names must be derived from another code element case snake_case , PascalCase , or UPPER_CASE Names must follow a casing convention","title":"Naming Constraints"},{"location":"guide/naming-constraints/#prefix","text":"The name must start with one of the listed prefixes. Accepted value: a list of one or more prefix strings. Example: rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } Name Result is_active Pass \u2014 starts with is_ has_permission Pass \u2014 starts with has_ should_retry Pass \u2014 starts with should_ validate Violation \u2014 no matching prefix check_active Violation \u2014 check_ is not in the list Violation message example: [bool-method-prefix] validate (expected prefix: is_ | has_ | should_)","title":"prefix"},{"location":"guide/naming-constraints/#suffix","text":"The name must end with one of the listed suffixes. Accepted value: a list of one or more suffix strings. Example: rules : - name : repository-suffix type : class naming : { suffix : [ Repository , Service ] } Name Result UserRepository Pass \u2014 ends with Repository OrderService Pass \u2014 ends with Service UserManager Violation \u2014 no matching suffix User Violation \u2014 no matching suffix Violation message example: [repository-suffix] UserManager (expected suffix: Repository | Service)","title":"suffix"},{"location":"guide/naming-constraints/#regex","text":"The name must match a regular expression. Accepted value: a string containing a valid Python regular expression. This is the most expressive constraint \u2014 use it when prefix , suffix , or case are not specific enough. Example: rules : - name : exception-naming type : class filter : { base_class : Exception } naming : { regex : \"^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$\" } Name Result UserNotFoundError Pass \u2014 matches the pattern OrderInvalidError Pass \u2014 matches the pattern FilterError Violation \u2014 does not end with the required suffix group userNotFoundError Violation \u2014 does not start with an uppercase letter Violation message example: [exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$)","title":"regex"},{"location":"guide/naming-constraints/#source-transform","text":"The name must be derived from another element in the code, after applying a transformation. This is used for relational naming \u2014 where the name of one thing must reflect another. Both fields must be specified together.","title":"source + transform"},{"location":"guide/naming-constraints/#source-values","text":"Value What it reads type_annotation The type annotation of the variable (e.g. SubscriptionRepository from x: SubscriptionRepository ) class_name The name of a class defined in the module (used with type: module )","title":"source values"},{"location":"guide/naming-constraints/#transform-values","text":"Value What it does snake_case Converts PascalCase or camelCase to snake_case (e.g. SubscriptionRepository \u2192 subscription_repository ) Example \u2014 variable name must match its type annotation: rules : - name : attribute-matches-type type : variable filter : { target : attribute } naming : { source : type_annotation , transform : snake_case } Declaration Result subscription_repository: SubscriptionRepository Pass \u2014 name matches transformed type repo: SubscriptionRepository Violation \u2014 repo does not match subscription_repository source_object_context: ObjectContext Pass \u2014 name ends with _object_context (prefix + expected form is allowed) The {prefix}_{expected} form is accepted. If the expected derived name is object_context , then source_object_context passes because it ends with _object_context . Example \u2014 module filename must match the class it contains: rules : - name : domain-module-naming type : module naming : { source : class_name , transform : snake_case } File Class Result custom_object.py CustomObject Pass \u2014 filename matches transformed class name custom.py CustomObject Violation \u2014 custom does not match custom_object","title":"transform values"},{"location":"guide/naming-constraints/#case","text":"The name must follow a specific casing convention. Accepted values: Value Pattern Example snake_case all lowercase, words separated by underscores my_variable_name PascalCase each word starts with uppercase, no separators MyClassName UPPER_CASE all uppercase, words separated by underscores MAX_RETRIES Example \u2014 enforce UPPER_CASE for constants: rules : - name : constant-upper-case type : variable filter : { target : constant } naming : { case : UPPER_CASE } Name Result MAX_RETRIES Pass DEFAULT_TIMEOUT Pass max_retries Violation \u2014 lowercase maxRetries Violation \u2014 camelCase Example \u2014 enforce PascalCase for classes: rules : - name : class-pascal-case type : class naming : { case : PascalCase } Name Result MyService Pass my_service Violation myService Violation","title":"case"},{"location":"guide/naming-constraints/#summary-table","text":"Constraint Value type Use when prefix list of strings Names must start with one of several prefixes suffix list of strings Names must end with one of several suffixes regex string (regex) Names must match a complex pattern source + transform string + string Names must be derived from another code element case snake_case , PascalCase , or UPPER_CASE Names must follow a casing convention","title":"Summary Table"},{"location":"guide/rules/","text":"Rules are the core building blocks of pnl . Each rule targets a specific kind of Python name, optionally narrows its scope with filters, and then enforces a naming constraint. Rule Structure \u00b6 Every rule has three required fields and two optional ones: rules : - name : my-rule # Unique identifier for this rule type : variable # What kind of name to lint filter : { ... } # (optional) Narrow which names are checked naming : { ... } # How the name must be formed The name is used to reference the rule in apply blocks and in # pnl: ignore comments. Rule Types \u00b6 variable \u00b6 Targets variable names \u2014 any assignment that introduces a name into a scope. Sub-targets (set via filter.target ): Value What it covers attribute Class-level attributes ( self.x , x: int = ... ) parameter Function/method parameters local_variable Variables declared inside a function body constant Module-level constants (typically ALL_CAPS ) Supported filter fields: target Supported naming fields: prefix , suffix , regex , source + transform , case Example \u2014 enforce UPPER_CASE for module-level constants: rules : - name : constant-upper-case type : variable filter : { target : constant } naming : { case : UPPER_CASE } apply : - name : all rules : [ constant-upper-case ] modules : \"**\" Example \u2014 enforce attribute names match their type annotation: rules : - name : attribute-matches-type type : variable filter : { target : attribute } naming : { source : type_annotation , transform : snake_case } apply : - name : domain-layer rules : [ attribute-matches-type ] modules : contexts.*.domain function \u00b6 Targets function and method definitions \u2014 any def statement at any scope level. Supported filter fields: target , return_type , decorator Supported naming fields: prefix , suffix , regex , case Example \u2014 require is_ / has_ / should_ prefix on boolean-returning methods: rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } apply : - name : all rules : [ bool-method-prefix ] modules : \"**\" Example \u2014 require _impl suffix on @staticmethod functions: rules : - name : static-impl-suffix type : function filter : { decorator : staticmethod } naming : { suffix : [ _impl ] } apply : - name : all rules : [ static-impl-suffix ] modules : \"**\" class \u00b6 Targets class definitions \u2014 any class statement. Supported filter fields: base_class , decorator Supported naming fields: prefix , suffix , regex , case Example \u2014 enforce a specific pattern for exception classes: rules : - name : exception-naming type : class filter : { base_class : Exception } naming : { regex : \"^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$\" } apply : - name : all rules : [ exception-naming ] modules : \"**\" Example \u2014 require DTO suffix on dataclasses: rules : - name : dataclass-dto-suffix type : class filter : { decorator : dataclass } naming : { suffix : [ DTO ] } apply : - name : all rules : [ dataclass-dto-suffix ] modules : \"**\" module \u00b6 Targets the filename of each .py file (without the .py extension). Useful for enforcing that module names reflect their contents. Supported filter fields: none Supported naming fields: prefix , suffix , regex , source + transform , case Example \u2014 enforce that a module's filename matches the primary class it contains: rules : - name : domain-module-naming type : module naming : { source : class_name , transform : snake_case } apply : - name : domain-layer rules : [ domain-module-naming ] modules : contexts.*.domain A file custom.py that contains only class CustomObject is a violation \u2014 the file should be named custom_object.py . package \u00b6 Targets the directory name of each Python package (a directory containing __init__.py ). Supported filter fields: none Supported naming fields: prefix , suffix , regex , case Example \u2014 require all package names to be lowercase: rules : - name : package-snake-case type : package naming : { case : snake_case } apply : - name : all rules : [ package-snake-case ] modules : \"**\" Summary Table \u00b6 Type What it targets Supported filters Notes variable Variables by scope/role target Use target to narrow to attributes, parameters, etc. function Function and method definitions target , return_type , decorator class Class definitions base_class , decorator module Module (file) names none Supports source + transform package Package (directory) names none","title":"Rules"},{"location":"guide/rules/#rule-structure","text":"Every rule has three required fields and two optional ones: rules : - name : my-rule # Unique identifier for this rule type : variable # What kind of name to lint filter : { ... } # (optional) Narrow which names are checked naming : { ... } # How the name must be formed The name is used to reference the rule in apply blocks and in # pnl: ignore comments.","title":"Rule Structure"},{"location":"guide/rules/#rule-types","text":"","title":"Rule Types"},{"location":"guide/rules/#variable","text":"Targets variable names \u2014 any assignment that introduces a name into a scope. Sub-targets (set via filter.target ): Value What it covers attribute Class-level attributes ( self.x , x: int = ... ) parameter Function/method parameters local_variable Variables declared inside a function body constant Module-level constants (typically ALL_CAPS ) Supported filter fields: target Supported naming fields: prefix , suffix , regex , source + transform , case Example \u2014 enforce UPPER_CASE for module-level constants: rules : - name : constant-upper-case type : variable filter : { target : constant } naming : { case : UPPER_CASE } apply : - name : all rules : [ constant-upper-case ] modules : \"**\" Example \u2014 enforce attribute names match their type annotation: rules : - name : attribute-matches-type type : variable filter : { target : attribute } naming : { source : type_annotation , transform : snake_case } apply : - name : domain-layer rules : [ attribute-matches-type ] modules : contexts.*.domain","title":"variable"},{"location":"guide/rules/#function","text":"Targets function and method definitions \u2014 any def statement at any scope level. Supported filter fields: target , return_type , decorator Supported naming fields: prefix , suffix , regex , case Example \u2014 require is_ / has_ / should_ prefix on boolean-returning methods: rules : - name : bool-method-prefix type : function filter : { return_type : bool } naming : { prefix : [ is_ , has_ , should_ ] } apply : - name : all rules : [ bool-method-prefix ] modules : \"**\" Example \u2014 require _impl suffix on @staticmethod functions: rules : - name : static-impl-suffix type : function filter : { decorator : staticmethod } naming : { suffix : [ _impl ] } apply : - name : all rules : [ static-impl-suffix ] modules : \"**\"","title":"function"},{"location":"guide/rules/#class","text":"Targets class definitions \u2014 any class statement. Supported filter fields: base_class , decorator Supported naming fields: prefix , suffix , regex , case Example \u2014 enforce a specific pattern for exception classes: rules : - name : exception-naming type : class filter : { base_class : Exception } naming : { regex : \"^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$\" } apply : - name : all rules : [ exception-naming ] modules : \"**\" Example \u2014 require DTO suffix on dataclasses: rules : - name : dataclass-dto-suffix type : class filter : { decorator : dataclass } naming : { suffix : [ DTO ] } apply : - name : all rules : [ dataclass-dto-suffix ] modules : \"**\"","title":"class"},{"location":"guide/rules/#module","text":"Targets the filename of each .py file (without the .py extension). Useful for enforcing that module names reflect their contents. Supported filter fields: none Supported naming fields: prefix , suffix , regex , source + transform , case Example \u2014 enforce that a module's filename matches the primary class it contains: rules : - name : domain-module-naming type : module naming : { source : class_name , transform : snake_case } apply : - name : domain-layer rules : [ domain-module-naming ] modules : contexts.*.domain A file custom.py that contains only class CustomObject is a violation \u2014 the file should be named custom_object.py .","title":"module"},{"location":"guide/rules/#package","text":"Targets the directory name of each Python package (a directory containing __init__.py ). Supported filter fields: none Supported naming fields: prefix , suffix , regex , case Example \u2014 require all package names to be lowercase: rules : - name : package-snake-case type : package naming : { case : snake_case } apply : - name : all rules : [ package-snake-case ] modules : \"**\"","title":"package"},{"location":"guide/rules/#summary-table","text":"Type What it targets Supported filters Notes variable Variables by scope/role target Use target to narrow to attributes, parameters, etc. function Function and method definitions target , return_type , decorator class Class definitions base_class , decorator module Module (file) names none Supports source + transform package Package (directory) names none","title":"Summary Table"}]} \ No newline at end of file diff --git a/site/search/worker.js b/site/search/worker.js deleted file mode 100644 index 8628dbc..0000000 --- a/site/search/worker.js +++ /dev/null @@ -1,133 +0,0 @@ -var base_path = 'function' === typeof importScripts ? '.' : '/search/'; -var allowSearch = false; -var index; -var documents = {}; -var lang = ['en']; -var data; - -function getScript(script, callback) { - console.log('Loading script: ' + script); - $.getScript(base_path + script).done(function () { - callback(); - }).fail(function (jqxhr, settings, exception) { - console.log('Error: ' + exception); - }); -} - -function getScriptsInOrder(scripts, callback) { - if (scripts.length === 0) { - callback(); - return; - } - getScript(scripts[0], function() { - getScriptsInOrder(scripts.slice(1), callback); - }); -} - -function loadScripts(urls, callback) { - if( 'function' === typeof importScripts ) { - importScripts.apply(null, urls); - callback(); - } else { - getScriptsInOrder(urls, callback); - } -} - -function onJSONLoaded () { - data = JSON.parse(this.responseText); - var scriptsToLoad = ['lunr.js']; - if (data.config && data.config.lang && data.config.lang.length) { - lang = data.config.lang; - } - if (lang.length > 1 || lang[0] !== "en") { - scriptsToLoad.push('lunr.stemmer.support.js'); - if (lang.length > 1) { - scriptsToLoad.push('lunr.multi.js'); - } - if (lang.includes("ja") || lang.includes("jp")) { - scriptsToLoad.push('tinyseg.js'); - } - for (var i=0; i < lang.length; i++) { - if (lang[i] != 'en') { - scriptsToLoad.push(['lunr', lang[i], 'js'].join('.')); - } - } - } - loadScripts(scriptsToLoad, onScriptsLoaded); -} - -function onScriptsLoaded () { - console.log('All search scripts loaded, building Lunr index...'); - if (data.config && data.config.separator && data.config.separator.length) { - lunr.tokenizer.separator = new RegExp(data.config.separator); - } - - if (data.index) { - index = lunr.Index.load(data.index); - data.docs.forEach(function (doc) { - documents[doc.location] = doc; - }); - console.log('Lunr pre-built index loaded, search ready'); - } else { - index = lunr(function () { - if (lang.length === 1 && lang[0] !== "en" && lunr[lang[0]]) { - this.use(lunr[lang[0]]); - } else if (lang.length > 1) { - this.use(lunr.multiLanguage.apply(null, lang)); // spread operator not supported in all browsers: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator#Browser_compatibility - } - this.field('title'); - this.field('text'); - this.ref('location'); - - for (var i=0; i < data.docs.length; i++) { - var doc = data.docs[i]; - this.add(doc); - documents[doc.location] = doc; - } - }); - console.log('Lunr index built, search ready'); - } - allowSearch = true; - postMessage({config: data.config}); - postMessage({allowSearch: allowSearch}); -} - -function init () { - var oReq = new XMLHttpRequest(); - oReq.addEventListener("load", onJSONLoaded); - var index_path = base_path + '/search_index.json'; - if( 'function' === typeof importScripts ){ - index_path = 'search_index.json'; - } - oReq.open("GET", index_path); - oReq.send(); -} - -function search (query) { - if (!allowSearch) { - console.error('Assets for search still loading'); - return; - } - - var resultDocuments = []; - var results = index.search(query); - for (var i=0; i < results.length; i++){ - var result = results[i]; - doc = documents[result.ref]; - doc.summary = doc.text.substring(0, 200); - resultDocuments.push(doc); - } - return resultDocuments; -} - -if( 'function' === typeof importScripts ) { - onmessage = function (e) { - if (e.data.init) { - init(); - } else if (e.data.query) { - postMessage({ results: search(e.data.query) }); - } else { - console.error("Worker - Unrecognized message: " + e); - } - }; -} diff --git a/site/sitemap.xml b/site/sitemap.xml deleted file mode 100644 index ed86094..0000000 --- a/site/sitemap.xml +++ /dev/null @@ -1,91 +0,0 @@ - - - - https://heumsi.github.io/python-naming-linter/ - 2026-03-31 - - - https://heumsi.github.io/python-naming-linter/changelog/ - 2026-03-31 - - - https://heumsi.github.io/python-naming-linter/cli/ - 2026-03-31 - - - https://heumsi.github.io/python-naming-linter/contributing/ - 2026-03-31 - - - https://heumsi.github.io/python-naming-linter/pre-commit/ - 2026-03-31 - - - https://heumsi.github.io/python-naming-linter/cookbook/ - 2026-03-31 - - - https://heumsi.github.io/python-naming-linter/cookbook/attribute-matches-type/ - 2026-03-31 - - - https://heumsi.github.io/python-naming-linter/cookbook/bool-method-prefix/ - 2026-03-31 - - - https://heumsi.github.io/python-naming-linter/cookbook/constant-upper-case/ - 2026-03-31 - - - https://heumsi.github.io/python-naming-linter/cookbook/decorator-filtering/ - 2026-03-31 - - - https://heumsi.github.io/python-naming-linter/cookbook/exception-naming/ - 2026-03-31 - - - https://heumsi.github.io/python-naming-linter/cookbook/layer-based-rules/ - 2026-03-31 - - - https://heumsi.github.io/python-naming-linter/cookbook/module-matches-class/ - 2026-03-31 - - - https://heumsi.github.io/python-naming-linter/getting-started/configuration/ - 2026-03-31 - - - https://heumsi.github.io/python-naming-linter/getting-started/installation/ - 2026-03-31 - - - https://heumsi.github.io/python-naming-linter/getting-started/quick-start/ - 2026-03-31 - - - https://heumsi.github.io/python-naming-linter/guide/apply-and-modules/ - 2026-03-31 - - - https://heumsi.github.io/python-naming-linter/guide/filters/ - 2026-03-31 - - - https://heumsi.github.io/python-naming-linter/guide/include-exclude/ - 2026-03-31 - - - https://heumsi.github.io/python-naming-linter/guide/inline-ignore/ - 2026-03-31 - - - https://heumsi.github.io/python-naming-linter/guide/naming-constraints/ - 2026-03-31 - - - https://heumsi.github.io/python-naming-linter/guide/rules/ - 2026-03-31 - - \ No newline at end of file diff --git a/site/sitemap.xml.gz b/site/sitemap.xml.gz deleted file mode 100644 index 50057e23155ca0ac22bdaa3ef8f97d3d97449904..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 426 zcmV;b0agAViwFpS4$El*|8r?{Wo=<_E_iKh0L_<6ZsRZvK=(aG;61Ih1&Yofad&fq z=>Zgpv5D$eiE5JDmyUy=`z|a2wk(P!AHj?e%oy@m}n`C`|kb! zKX~olhKF6vt{`tjIh1`jF{i&uold8|5TnI?NF@l+2zMU^f*#Q;Hjp#VpLF{_=L-}z}m7xvK(Pur&#*gnJaqo~|u zi%)fT`g`|g(qTjw$JId`t&R`_XF60C+1e~ABbewt@%pC{KMry=!=ZVJ5`xz(m05r< z37f%_n*)!cVnL#Kq;oT9lHi4PV5li!2BS+m$7a#QtT|>ll9QbVYVgj6XM>69uFwpa z(-(>3LE>m3SBIq;GBGba_X;)Qa&@>7d2a0>HINzYTn9Cu; Date: Tue, 31 Mar 2026 15:21:04 +0900 Subject: [PATCH 09/20] =?UTF-8?q?=F0=9F=93=9D=20docs:=20Move=20CLI/pre-com?= =?UTF-8?q?mit/contributing/changelog=20into=20Reference=20group?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 (1M context) --- mkdocs.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index 2daa463..df086ca 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -42,7 +42,8 @@ nav: - Layer-Based Rules: cookbook/layer-based-rules.md - Constant Upper Case: cookbook/constant-upper-case.md - Decorator Filtering: cookbook/decorator-filtering.md - - CLI Reference: cli.md - - Pre-commit: pre-commit.md - - Contributing: contributing.md - - Changelog: changelog.md + - Reference: + - CLI: cli.md + - Pre-commit: pre-commit.md + - Contributing: contributing.md + - Changelog: changelog.md From ea12c679a6306735e360c618e485b452bf03bab7 Mon Sep 17 00:00:00 2001 From: heumsi Date: Tue, 31 Mar 2026 15:37:37 +0900 Subject: [PATCH 10/20] =?UTF-8?q?=F0=9F=93=9D=20docs:=20Enrich=20guide=20p?= =?UTF-8?q?ages=20with=20more=20examples=20and=20consistent=20style?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add comprehensive examples for every filter value and naming constraint - Unify last section heading to "## Summary" across all guide pages - Fix heading capitalization to Title Case consistently Co-Authored-By: Claude Opus 4.6 (1M context) --- docs/guide/apply-and-modules.md | 18 ++- docs/guide/filters.md | 228 ++++++++++++++++++++++++++++++- docs/guide/include-exclude.md | 3 - docs/guide/inline-ignore.md | 10 +- docs/guide/naming-constraints.md | 100 +++++++++++++- docs/guide/rules.md | 2 +- 6 files changed, 341 insertions(+), 20 deletions(-) diff --git a/docs/guide/apply-and-modules.md b/docs/guide/apply-and-modules.md index 3a8e139..21a7263 100644 --- a/docs/guide/apply-and-modules.md +++ b/docs/guide/apply-and-modules.md @@ -25,7 +25,7 @@ apply: | `rules` | Yes | List of rule names to enforce (must be defined in the `rules` block) | | `modules` | Yes | A module path pattern that selects which files to check | -### Inline syntax +### Inline Syntax For short rule lists, you can use inline YAML syntax: @@ -42,7 +42,7 @@ apply: Module paths use Python's dotted notation — the same way you would import them. For example, `src/domain/service.py` becomes `src.domain.service`. -### Exact match +### Exact Match To target a single module, write its full dotted path: @@ -132,7 +132,7 @@ modules: contexts.{context}.domain This behaves like `contexts.*.domain` but the captured value (e.g. `boards`) is bound to the name `context`. You can reference it later in the same pattern using `{context}`. -### Back-referencing example +### Back-Referencing Example Named captures are useful when you want to enforce that two parts of a path are related — for example, that a submodule name must match its parent package name: @@ -167,3 +167,15 @@ apply: ``` Here, the domain-specific rules are enforced only in `contexts.*.domain`, while `exception-naming` is enforced everywhere. A single module can be matched by multiple groups — all matching rules will be applied. + +--- + +## Summary + +| Concept | Syntax | Description | +|---------|--------|-------------| +| `apply` block | `name`, `rules`, `modules` | Connects rules to specific module paths | +| Single-level wildcard | `*` | Matches exactly one level in a dotted module path | +| Multi-level wildcard | `**` | Matches one or more levels in a dotted module path | +| Named capture | `{name}` | Captures a single level for back-referencing | +| Multiple groups | multiple `apply` entries | Different rules for different parts of the codebase | diff --git a/docs/guide/filters.md b/docs/guide/filters.md index 454699c..1b75354 100644 --- a/docs/guide/filters.md +++ b/docs/guide/filters.md @@ -33,24 +33,104 @@ Narrows which names within the rule type are checked based on their role in the **Example — lint only class attributes:** +Matches names that are assigned at the class body level, including annotated attributes. + ```yaml rules: - name: attribute-matches-type type: variable filter: { target: attribute } naming: { source: type_annotation, transform: snake_case } + +apply: + - name: all + rules: [attribute-matches-type] + modules: "**" +``` + +| Name | Context | Result | +|------|---------|--------| +| `user_id: UserId = ...` | class body | Pass — name matches type annotation in snake_case | +| `userId: UserId = ...` | class body | **Violation** — name does not match `user_id` | +| `user_id = 1` | function body | Not checked — local variables are ignored | + +--- + +**Example — lint only function/method parameters:** + +Matches names declared as function or method parameters (including `self` and `cls` by convention — though you may want to exclude them with additional patterns). + +```yaml +rules: + - name: param-snake-case + type: variable + filter: { target: parameter } + naming: { case: snake_case } + +apply: + - name: all + rules: [param-snake-case] + modules: "**" ``` +| Name | Context | Result | +|------|---------|--------| +| `user_id` | function parameter | Pass — snake_case | +| `userId` | function parameter | **Violation** — camelCase not allowed | +| `MAX_RETRIES` | module level | Not checked — constants are ignored | + +--- + +**Example — lint only local variables inside functions:** + +Matches names assigned inside a function or method body (not parameters, not class-level attributes). + +```yaml +rules: + - name: local-var-snake-case + type: variable + filter: { target: local_variable } + naming: { case: snake_case } + +apply: + - name: all + rules: [local-var-snake-case] + modules: "**" +``` + +| Name | Context | Result | +|------|---------|--------| +| `result` | inside function body | Pass — snake_case | +| `tmpVal` | inside function body | **Violation** — camelCase not allowed | +| `MAX_SIZE` | module level | Not checked — constants are ignored | + +--- + **Example — lint only module-level constants:** +Matches names assigned at module (top-level) scope. + ```yaml rules: - name: constant-upper-case type: variable filter: { target: constant } naming: { case: UPPER_CASE } + +apply: + - name: all + rules: [constant-upper-case] + modules: "**" ``` +| Name | Context | Result | +|------|---------|--------| +| `MAX_RETRIES` | module level | Pass — UPPER_CASE | +| `defaultTimeout` | module level | **Violation** — not UPPER_CASE | +| `count` | function body | Not checked — local variables are ignored | + +--- + ### For `function` rules | Value | Matches | @@ -62,14 +142,52 @@ rules: **Example — lint only module-level functions (not methods):** +Matches `def` statements at module scope or nested inside other functions, but not methods defined inside a class. + ```yaml rules: - name: function-snake-case type: function filter: { target: function } naming: { case: snake_case } + +apply: + - name: all + rules: [function-snake-case] + modules: "**" ``` +| Name | Context | Result | +|------|---------|--------| +| `process_order` | module-level `def` | Pass — snake_case | +| `processOrder` | module-level `def` | **Violation** — camelCase not allowed | +| `processOrder` | inside a class | Not checked — methods are ignored | + +--- + +**Example — lint only class methods:** + +Matches `def` statements inside a class body. + +```yaml +rules: + - name: method-snake-case + type: function + filter: { target: method } + naming: { case: snake_case } + +apply: + - name: all + rules: [method-snake-case] + modules: "**" +``` + +| Name | Context | Result | +|------|---------|--------| +| `get_user` | inside a class | Pass — snake_case | +| `getUser` | inside a class | **Violation** — camelCase not allowed | +| `getUser` | module-level `def` | Not checked — functions are ignored | + --- ## `return_type` @@ -80,6 +198,8 @@ Matches functions whose return type annotation equals the specified type name. **Accepted values:** any Python type name as a string, e.g. `bool`, `str`, `int`, `None` +The filter matches functions with the given `-> ` annotation. Functions without a return type annotation, or with a different annotation, are not checked. + **Example — require a boolean-indicating prefix on `bool`-returning functions:** ```yaml @@ -95,7 +215,60 @@ apply: modules: "**" ``` -The filter matches functions with `-> bool` in their signature. Functions without a return type annotation, or with a different annotation, are not checked. +| Signature | Result | +|-----------|--------| +| `def is_active(self) -> bool:` | Pass — starts with `is_` | +| `def has_permission(self) -> bool:` | Pass — starts with `has_` | +| `def validate(self) -> bool:` | **Violation** — no matching prefix | +| `def process(self) -> str:` | Not checked — return type is `str`, not `bool` | +| `def run(self):` | Not checked — no return type annotation | + +--- + +**Example — require a descriptive prefix on `str`-returning functions:** + +```yaml +rules: + - name: str-getter-prefix + type: function + filter: { return_type: str } + naming: { prefix: [get_, format_, build_, to_] } + +apply: + - name: all + rules: [str-getter-prefix] + modules: "**" +``` + +| Signature | Result | +|-----------|--------| +| `def get_name(self) -> str:` | Pass — starts with `get_` | +| `def format_label(self) -> str:` | Pass — starts with `format_` | +| `def name(self) -> str:` | **Violation** — no matching prefix | +| `def is_active(self) -> bool:` | Not checked — return type is `bool`, not `str` | + +--- + +**Example — require a `_or_none` suffix on `None`-returning functions:** + +```yaml +rules: + - name: none-returning-suffix + type: function + filter: { return_type: None } + naming: { suffix: [_or_none] } + +apply: + - name: all + rules: [none-returning-suffix] + modules: "**" +``` + +| Signature | Result | +|-----------|--------| +| `def find_user_or_none(self) -> None:` | Pass — ends with `_or_none` | +| `def find_user(self) -> None:` | **Violation** — missing `_or_none` suffix | +| `def find_user(self) -> User:` | Not checked — return type is `User`, not `None` | --- @@ -107,6 +280,8 @@ Matches functions or classes that are decorated with the specified decorator nam **Accepted values:** any decorator name as a string (without `@`), e.g. `staticmethod`, `classmethod`, `property`, `dataclass`, `abstractmethod` +The filter matches the decorator by its bare name. Both `@dataclass` and `@dataclasses.dataclass` are matched by the value `dataclass`. + **Example — require a suffix on static methods:** ```yaml @@ -122,6 +297,14 @@ apply: modules: "**" ``` +| Definition | Result | +|------------|--------| +| `@staticmethod` / `def compute_impl(cls):` | Pass — ends with `_impl` | +| `@staticmethod` / `def compute(cls):` | **Violation** — missing `_impl` suffix | +| `def compute(self):` | Not checked — not a static method | + +--- + **Example — require a `DTO` suffix on dataclasses:** ```yaml @@ -137,7 +320,11 @@ apply: modules: "**" ``` -The filter matches the decorator by its bare name. Both `@dataclass` and `@dataclasses.dataclass` are matched by the value `dataclass`. +| Definition | Result | +|------------|--------| +| `@dataclass` / `class UserDTO:` | Pass — ends with `DTO` | +| `@dataclass` / `class User:` | **Violation** — missing `DTO` suffix | +| `class User:` | Not checked — not a dataclass | --- @@ -149,6 +336,8 @@ Matches classes that inherit from the specified base class. **Accepted values:** any class name as a string, e.g. `Exception`, `BaseModel`, `ABC` +The filter matches the direct base class name. `class MyError(Exception)` matches the value `Exception`. + **Example — enforce a naming pattern for all exception classes:** ```yaml @@ -164,11 +353,42 @@ apply: modules: "**" ``` -The filter matches the direct base class name. `class MyError(Exception)` matches the value `Exception`. +| Definition | Result | +|------------|--------| +| `class UserNotFoundError(Exception):` | Pass — matches the regex | +| `class InvalidInputError(Exception):` | Pass — matches the regex | +| `class UserException(Exception):` | **Violation** — does not match the regex | +| `class User:` | Not checked — does not inherit from `Exception` | + +--- + +**Example — require a `Schema` suffix on Pydantic models:** + +Matches classes that inherit from `BaseModel` (e.g. Pydantic models). + +```yaml +rules: + - name: pydantic-schema-suffix + type: class + filter: { base_class: BaseModel } + naming: { suffix: [Schema] } + +apply: + - name: all + rules: [pydantic-schema-suffix] + modules: "**" +``` + +| Definition | Result | +|------------|--------| +| `class UserSchema(BaseModel):` | Pass — ends with `Schema` | +| `class CreateUserSchema(BaseModel):` | Pass — ends with `Schema` | +| `class User(BaseModel):` | **Violation** — missing `Schema` suffix | +| `class User:` | Not checked — does not inherit from `BaseModel` | --- -## Filter Support by Rule Type +## Summary | Filter | `variable` | `function` | `class` | `module` | `package` | |--------|-----------|-----------|---------|---------|---------| diff --git a/docs/guide/include-exclude.md b/docs/guide/include-exclude.md index 1b615cb..491e13d 100644 --- a/docs/guide/include-exclude.md +++ b/docs/guide/include-exclude.md @@ -135,6 +135,3 @@ The result is all files under `src/` except those in `src/generated/`. | Set | Not set | Only files matching `include` paths | | Not set | Set | All files **except** those matching `exclude` paths | | Set | Set | Files matching `include`, then filtered by `exclude` | - -!!! note - `include` and `exclude` control the file scanning scope. The `modules` patterns in `apply` blocks are evaluated against the scanned files — so a file excluded here will never be checked, regardless of what `modules` patterns are defined. diff --git a/docs/guide/inline-ignore.md b/docs/guide/inline-ignore.md index e3bf64d..bcb404e 100644 --- a/docs/guide/inline-ignore.md +++ b/docs/guide/inline-ignore.md @@ -4,7 +4,7 @@ Sometimes a specific line legitimately violates a naming rule — a third-party --- -## Ignore all rules on a line +## Ignore All Rules on a Line Add `# pnl: ignore` at the end of a line to suppress all `pnl` violations reported for that line: @@ -16,7 +16,7 @@ Any rule that would have flagged the name on this line is silenced. This is the --- -## Ignore a specific rule on a line +## Ignore a Specific Rule on a Line To suppress only one rule, specify the rule name after `=`: @@ -38,7 +38,7 @@ rules: --- -## Ignore multiple specific rules on a line +## Ignore Multiple Specific Rules on a Line To suppress more than one rule on the same line, list rule names separated by commas: @@ -50,7 +50,7 @@ Both `attribute-matches-type` and `constant-upper-case` are suppressed on this l --- -## Practical examples +## Practical Examples **Suppressing a legacy attribute name that doesn't match its type:** @@ -75,7 +75,7 @@ def __repr__(self) -> str: # pnl: ignore --- -## Notes +## Summary - Inline ignore comments apply only to the line they appear on. They do not affect other lines. - Rule names are case-sensitive and must match exactly. diff --git a/docs/guide/naming-constraints.md b/docs/guide/naming-constraints.md index e79ef48..bf472e1 100644 --- a/docs/guide/naming-constraints.md +++ b/docs/guide/naming-constraints.md @@ -19,7 +19,7 @@ The name must start with one of the listed prefixes. **Accepted value:** a list of one or more prefix strings. -**Example:** +**Example — bool-returning methods must use a semantic prefix:** ```yaml rules: @@ -43,6 +43,29 @@ rules: [bool-method-prefix] validate (expected prefix: is_ | has_ | should_) ``` +**Example — test functions must start with `test_`:** + +```yaml +rules: + - name: test-function-prefix + type: function + filter: { decorator: pytest.mark } + naming: { prefix: [test_] } +``` + +| Name | Result | +|------|--------| +| `test_login_succeeds` | Pass — starts with `test_` | +| `test_invalid_token` | Pass — starts with `test_` | +| `login_succeeds` | **Violation** — missing `test_` prefix | +| `check_login` | **Violation** — `check_` is not in the list | + +**Violation message example:** + +``` +[test-function-prefix] login_succeeds (expected prefix: test_) +``` + --- ## `suffix` @@ -51,7 +74,7 @@ The name must end with one of the listed suffixes. **Accepted value:** a list of one or more suffix strings. -**Example:** +**Example — data-access classes must end with `Repository` or `Service`:** ```yaml rules: @@ -73,6 +96,29 @@ rules: [repository-suffix] UserManager (expected suffix: Repository | Service) ``` +**Example — exception classes must end with `Error`:** + +```yaml +rules: + - name: exception-suffix + type: class + filter: { base_class: Exception } + naming: { suffix: [Error] } +``` + +| Name | Result | +|------|--------| +| `ValidationError` | Pass — ends with `Error` | +| `NotFoundError` | Pass — ends with `Error` | +| `InvalidInput` | **Violation** — does not end with `Error` | +| `NotFoundException` | **Violation** — ends with `Exception`, not `Error` | + +**Violation message example:** + +``` +[exception-suffix] InvalidInput (expected suffix: Error) +``` + --- ## `regex` @@ -83,7 +129,7 @@ The name must match a regular expression. This is the most expressive constraint — use it when `prefix`, `suffix`, or `case` are not specific enough. -**Example:** +**Example — exception class names must follow a structured pattern:** ```yaml rules: @@ -106,6 +152,31 @@ rules: [exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$) ``` +**Example — module-level constants must be all-uppercase with underscores:** + +```yaml +rules: + - name: constant-regex + type: variable + filter: { target: constant } + naming: { regex: "^[A-Z][A-Z0-9_]*$" } +``` + +| Name | Result | +|------|--------| +| `MAX_RETRIES` | Pass — all uppercase with underscores | +| `DEFAULT_TIMEOUT` | Pass — all uppercase with underscores | +| `API_V2_URL` | Pass — uppercase with digits and underscores | +| `max_retries` | **Violation** — lowercase | +| `MaxRetries` | **Violation** — mixed case | +| `_PRIVATE` | **Violation** — starts with underscore, not matched by `^[A-Z]` | + +**Violation message example:** + +``` +[constant-regex] max_retries (expected pattern: ^[A-Z][A-Z0-9_]*$) +``` + --- ## `source` + `transform` @@ -140,7 +211,9 @@ rules: | Declaration | Result | |-------------|--------| | `subscription_repository: SubscriptionRepository` | Pass — name matches transformed type | +| `order_service: OrderService` | Pass — name matches transformed type | | `repo: SubscriptionRepository` | **Violation** — `repo` does not match `subscription_repository` | +| `svc: OrderService` | **Violation** — `svc` does not match `order_service` | | `source_object_context: ObjectContext` | Pass — name ends with `_object_context` (prefix + expected form is allowed) | The `{prefix}_{expected}` form is accepted. If the expected derived name is `object_context`, then `source_object_context` passes because it ends with `_object_context`. @@ -157,7 +230,9 @@ rules: | File | Class | Result | |------|-------|--------| | `custom_object.py` | `CustomObject` | Pass — filename matches transformed class name | +| `order_service.py` | `OrderService` | Pass — filename matches transformed class name | | `custom.py` | `CustomObject` | **Violation** — `custom` does not match `custom_object` | +| `service.py` | `OrderService` | **Violation** — `service` does not match `order_service` | --- @@ -173,6 +248,23 @@ The name must follow a specific casing convention. | `PascalCase` | each word starts with uppercase, no separators | `MyClassName` | | `UPPER_CASE` | all uppercase, words separated by underscores | `MAX_RETRIES` | +**Example — enforce `snake_case` for function names:** + +```yaml +rules: + - name: function-snake-case + type: function + naming: { case: snake_case } +``` + +| Name | Result | +|------|--------| +| `get_user` | Pass | +| `calculate_total_price` | Pass | +| `getUserById` | **Violation** — camelCase | +| `GetUser` | **Violation** — PascalCase | +| `GETUSER` | **Violation** — all uppercase | + **Example — enforce UPPER_CASE for constants:** ```yaml @@ -207,7 +299,7 @@ rules: --- -## Summary Table +## Summary | Constraint | Value type | Use when | |-----------|-----------|---------| diff --git a/docs/guide/rules.md b/docs/guide/rules.md index a084b59..2998f80 100644 --- a/docs/guide/rules.md +++ b/docs/guide/rules.md @@ -199,7 +199,7 @@ apply: --- -## Summary Table +## Summary | Type | What it targets | Supported filters | Notes | |------|----------------|-------------------|-------| From 070af355392844f3656aff75ae3ccf5ee826d1ef Mon Sep 17 00:00:00 2001 From: heumsi Date: Tue, 31 Mar 2026 15:46:07 +0900 Subject: [PATCH 11/20] =?UTF-8?q?=F0=9F=93=9D=20docs:=20Unify=20guide=20pa?= =?UTF-8?q?ge=20structure=20and=20style?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Shorten inline-ignore intro to one sentence - Add apply: blocks to all naming-constraints YAML examples - Promote rule type headings from H3 to H2 in rules.md - Remove violation message examples from naming-constraints - Unify "Accepted value" to plural form - Convert inline-ignore Summary from bullets to table Co-Authored-By: Claude Opus 4.6 (1M context) --- docs/guide/inline-ignore.md | 12 +++-- docs/guide/naming-constraints.md | 90 ++++++++++++++++++-------------- docs/guide/rules.md | 12 ++--- 3 files changed, 63 insertions(+), 51 deletions(-) diff --git a/docs/guide/inline-ignore.md b/docs/guide/inline-ignore.md index bcb404e..ddb267a 100644 --- a/docs/guide/inline-ignore.md +++ b/docs/guide/inline-ignore.md @@ -1,6 +1,6 @@ # Inline Ignore -Sometimes a specific line legitimately violates a naming rule — a third-party interface, a legacy name you cannot change, or a deliberate exception to your convention. Rather than disabling the rule globally or restructuring your config, you can suppress violations on a per-line basis using inline ignore comments. +Inline ignore comments let you suppress specific violations on individual lines using `# pnl: ignore`. --- @@ -77,7 +77,9 @@ def __repr__(self) -> str: # pnl: ignore ## Summary -- Inline ignore comments apply only to the line they appear on. They do not affect other lines. -- Rule names are case-sensitive and must match exactly. -- If you specify a rule name that does not exist in your config, the comment is silently ignored — no error is raised. -- Prefer targeted suppression (`# pnl: ignore=rule-name`) over blanket suppression (`# pnl: ignore`) so that future rules are not accidentally silenced. +| Topic | Detail | +|---|---| +| Scope | Comments apply only to the line they appear on; other lines are unaffected. | +| Case sensitivity | Rule names are case-sensitive and must match exactly. | +| Unknown rule names | If a rule name does not exist in your config, the comment is silently ignored — no error is raised. | +| Prefer targeted suppression | Use `# pnl: ignore=rule-name` over `# pnl: ignore` so that future rules are not accidentally silenced. | diff --git a/docs/guide/naming-constraints.md b/docs/guide/naming-constraints.md index bf472e1..b482d4b 100644 --- a/docs/guide/naming-constraints.md +++ b/docs/guide/naming-constraints.md @@ -7,6 +7,10 @@ rules: - name: my-rule type: function naming: { prefix: [is_, has_] } +apply: + - name: all + rules: [my-rule] + modules: "**" ``` Each rule must have exactly one naming constraint (or one `source` + `transform` pair). The constraint is evaluated against every name that passes the rule's type and filter checks. @@ -17,7 +21,7 @@ Each rule must have exactly one naming constraint (or one `source` + `transform` The name must start with one of the listed prefixes. -**Accepted value:** a list of one or more prefix strings. +**Accepted values:** a list of one or more prefix strings. **Example — bool-returning methods must use a semantic prefix:** @@ -27,6 +31,10 @@ rules: type: function filter: { return_type: bool } naming: { prefix: [is_, has_, should_] } +apply: + - name: all + rules: [bool-method-prefix] + modules: "**" ``` | Name | Result | @@ -37,12 +45,6 @@ rules: | `validate` | **Violation** — no matching prefix | | `check_active` | **Violation** — `check_` is not in the list | -**Violation message example:** - -``` -[bool-method-prefix] validate (expected prefix: is_ | has_ | should_) -``` - **Example — test functions must start with `test_`:** ```yaml @@ -51,6 +53,10 @@ rules: type: function filter: { decorator: pytest.mark } naming: { prefix: [test_] } +apply: + - name: all + rules: [test-function-prefix] + modules: "**" ``` | Name | Result | @@ -60,19 +66,13 @@ rules: | `login_succeeds` | **Violation** — missing `test_` prefix | | `check_login` | **Violation** — `check_` is not in the list | -**Violation message example:** - -``` -[test-function-prefix] login_succeeds (expected prefix: test_) -``` - --- ## `suffix` The name must end with one of the listed suffixes. -**Accepted value:** a list of one or more suffix strings. +**Accepted values:** a list of one or more suffix strings. **Example — data-access classes must end with `Repository` or `Service`:** @@ -81,6 +81,10 @@ rules: - name: repository-suffix type: class naming: { suffix: [Repository, Service] } +apply: + - name: all + rules: [repository-suffix] + modules: "**" ``` | Name | Result | @@ -90,12 +94,6 @@ rules: | `UserManager` | **Violation** — no matching suffix | | `User` | **Violation** — no matching suffix | -**Violation message example:** - -``` -[repository-suffix] UserManager (expected suffix: Repository | Service) -``` - **Example — exception classes must end with `Error`:** ```yaml @@ -104,6 +102,10 @@ rules: type: class filter: { base_class: Exception } naming: { suffix: [Error] } +apply: + - name: all + rules: [exception-suffix] + modules: "**" ``` | Name | Result | @@ -113,19 +115,13 @@ rules: | `InvalidInput` | **Violation** — does not end with `Error` | | `NotFoundException` | **Violation** — ends with `Exception`, not `Error` | -**Violation message example:** - -``` -[exception-suffix] InvalidInput (expected suffix: Error) -``` - --- ## `regex` The name must match a regular expression. -**Accepted value:** a string containing a valid Python regular expression. +**Accepted values:** a string containing a valid Python regular expression. This is the most expressive constraint — use it when `prefix`, `suffix`, or `case` are not specific enough. @@ -137,6 +133,10 @@ rules: type: class filter: { base_class: Exception } naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" } +apply: + - name: all + rules: [exception-naming] + modules: "**" ``` | Name | Result | @@ -146,12 +146,6 @@ rules: | `FilterError` | **Violation** — does not end with the required suffix group | | `userNotFoundError` | **Violation** — does not start with an uppercase letter | -**Violation message example:** - -``` -[exception-naming] FilterError (expected pattern: ^[A-Z][a-zA-Z]+(NotFound|Invalid|...)Error$) -``` - **Example — module-level constants must be all-uppercase with underscores:** ```yaml @@ -160,6 +154,10 @@ rules: type: variable filter: { target: constant } naming: { regex: "^[A-Z][A-Z0-9_]*$" } +apply: + - name: all + rules: [constant-regex] + modules: "**" ``` | Name | Result | @@ -171,12 +169,6 @@ rules: | `MaxRetries` | **Violation** — mixed case | | `_PRIVATE` | **Violation** — starts with underscore, not matched by `^[A-Z]` | -**Violation message example:** - -``` -[constant-regex] max_retries (expected pattern: ^[A-Z][A-Z0-9_]*$) -``` - --- ## `source` + `transform` @@ -206,6 +198,10 @@ rules: type: variable filter: { target: attribute } naming: { source: type_annotation, transform: snake_case } +apply: + - name: all + rules: [attribute-matches-type] + modules: "**" ``` | Declaration | Result | @@ -225,6 +221,10 @@ rules: - name: domain-module-naming type: module naming: { source: class_name, transform: snake_case } +apply: + - name: all + rules: [domain-module-naming] + modules: "**" ``` | File | Class | Result | @@ -255,6 +255,10 @@ rules: - name: function-snake-case type: function naming: { case: snake_case } +apply: + - name: all + rules: [function-snake-case] + modules: "**" ``` | Name | Result | @@ -273,6 +277,10 @@ rules: type: variable filter: { target: constant } naming: { case: UPPER_CASE } +apply: + - name: all + rules: [constant-upper-case] + modules: "**" ``` | Name | Result | @@ -289,6 +297,10 @@ rules: - name: class-pascal-case type: class naming: { case: PascalCase } +apply: + - name: all + rules: [class-pascal-case] + modules: "**" ``` | Name | Result | diff --git a/docs/guide/rules.md b/docs/guide/rules.md index 2998f80..31bd9e9 100644 --- a/docs/guide/rules.md +++ b/docs/guide/rules.md @@ -18,9 +18,7 @@ The `name` is used to reference the rule in `apply` blocks and in `# pnl: ignore --- -## Rule Types - -### `variable` +## `variable` Targets variable names — any assignment that introduces a name into a scope. @@ -69,7 +67,7 @@ apply: --- -### `function` +## `function` Targets function and method definitions — any `def` statement at any scope level. @@ -109,7 +107,7 @@ apply: --- -### `class` +## `class` Targets class definitions — any `class` statement. @@ -149,7 +147,7 @@ apply: --- -### `module` +## `module` Targets the filename of each `.py` file (without the `.py` extension). Useful for enforcing that module names reflect their contents. @@ -175,7 +173,7 @@ A file `custom.py` that contains only `class CustomObject` is a violation — th --- -### `package` +## `package` Targets the directory name of each Python package (a directory containing `__init__.py`). From 9e65a814a1d16b2e797ab02a3b69bfe3ecc56f10 Mon Sep 17 00:00:00 2001 From: heumsi Date: Tue, 31 Mar 2026 15:48:52 +0900 Subject: [PATCH 12/20] =?UTF-8?q?=F0=9F=93=9D=20docs:=20Unify=20intro=20se?= =?UTF-8?q?ction=20heading=20to=20"Structure"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 (1M context) --- docs/guide/apply-and-modules.md | 2 +- docs/guide/rules.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/guide/apply-and-modules.md b/docs/guide/apply-and-modules.md index 21a7263..0b33429 100644 --- a/docs/guide/apply-and-modules.md +++ b/docs/guide/apply-and-modules.md @@ -4,7 +4,7 @@ The `apply` block connects rules to the parts of your codebase where they should --- -## The `apply` Block +## Structure Each entry in `apply` is a named group that maps one or more rules to one or more modules: diff --git a/docs/guide/rules.md b/docs/guide/rules.md index 31bd9e9..f8eafbc 100644 --- a/docs/guide/rules.md +++ b/docs/guide/rules.md @@ -2,7 +2,7 @@ Rules are the core building blocks of `pnl`. Each rule targets a specific kind of Python name, optionally narrows its scope with filters, and then enforces a naming constraint. -## Rule Structure +## Structure Every rule has three required fields and two optional ones: From d36a9a1586330a78b11fc0f075f70d029676c6ee Mon Sep 17 00:00:00 2001 From: heumsi Date: Tue, 31 Mar 2026 15:51:55 +0900 Subject: [PATCH 13/20] =?UTF-8?q?=F0=9F=93=9D=20docs:=20Add=20"Types"=20gr?= =?UTF-8?q?ouping=20heading=20to=20rules,=20filters,=20naming-constraints?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 (1M context) --- docs/guide/filters.md | 14 ++++++++------ docs/guide/naming-constraints.md | 16 +++++++++------- docs/guide/rules.md | 12 +++++++----- 3 files changed, 24 insertions(+), 18 deletions(-) diff --git a/docs/guide/filters.md b/docs/guide/filters.md index 1b75354..09a498c 100644 --- a/docs/guide/filters.md +++ b/docs/guide/filters.md @@ -16,11 +16,13 @@ Multiple filter fields can be combined — a name must satisfy **all** of them t --- -## `target` +## Types + +### `target` Narrows which names within the rule type are checked based on their role in the code. -### For `variable` rules +#### For `variable` rules | Value | Matches | |-------|---------| @@ -131,7 +133,7 @@ apply: --- -### For `function` rules +#### For `function` rules | Value | Matches | |-------|---------| @@ -190,7 +192,7 @@ apply: --- -## `return_type` +### `return_type` Matches functions whose return type annotation equals the specified type name. @@ -272,7 +274,7 @@ apply: --- -## `decorator` +### `decorator` Matches functions or classes that are decorated with the specified decorator name. @@ -328,7 +330,7 @@ apply: --- -## `base_class` +### `base_class` Matches classes that inherit from the specified base class. diff --git a/docs/guide/naming-constraints.md b/docs/guide/naming-constraints.md index b482d4b..d0edb87 100644 --- a/docs/guide/naming-constraints.md +++ b/docs/guide/naming-constraints.md @@ -17,7 +17,9 @@ Each rule must have exactly one naming constraint (or one `source` + `transform` --- -## `prefix` +## Types + +### `prefix` The name must start with one of the listed prefixes. @@ -68,7 +70,7 @@ apply: --- -## `suffix` +### `suffix` The name must end with one of the listed suffixes. @@ -117,7 +119,7 @@ apply: --- -## `regex` +### `regex` The name must match a regular expression. @@ -171,20 +173,20 @@ apply: --- -## `source` + `transform` +### `source` + `transform` The name must be derived from another element in the code, after applying a transformation. This is used for relational naming — where the name of one thing must reflect another. Both fields must be specified together. -### `source` values +#### `source` values | Value | What it reads | |-------|--------------| | `type_annotation` | The type annotation of the variable (e.g. `SubscriptionRepository` from `x: SubscriptionRepository`) | | `class_name` | The name of a class defined in the module (used with `type: module`) | -### `transform` values +#### `transform` values | Value | What it does | |-------|-------------| @@ -236,7 +238,7 @@ apply: --- -## `case` +### `case` The name must follow a specific casing convention. diff --git a/docs/guide/rules.md b/docs/guide/rules.md index f8eafbc..06df57e 100644 --- a/docs/guide/rules.md +++ b/docs/guide/rules.md @@ -18,7 +18,9 @@ The `name` is used to reference the rule in `apply` blocks and in `# pnl: ignore --- -## `variable` +## Types + +### `variable` Targets variable names — any assignment that introduces a name into a scope. @@ -67,7 +69,7 @@ apply: --- -## `function` +### `function` Targets function and method definitions — any `def` statement at any scope level. @@ -107,7 +109,7 @@ apply: --- -## `class` +### `class` Targets class definitions — any `class` statement. @@ -147,7 +149,7 @@ apply: --- -## `module` +### `module` Targets the filename of each `.py` file (without the `.py` extension). Useful for enforcing that module names reflect their contents. @@ -173,7 +175,7 @@ A file `custom.py` that contains only `class CustomObject` is a violation — th --- -## `package` +### `package` Targets the directory name of each Python package (a directory containing `__init__.py`). From 9aeb40bcebec8d5a4ee83f11907411de50984b92 Mon Sep 17 00:00:00 2001 From: heumsi Date: Tue, 31 Mar 2026 16:03:38 +0900 Subject: [PATCH 14/20] =?UTF-8?q?=F0=9F=93=9D=20docs:=20Unify=20guide=20pa?= =?UTF-8?q?ge=20structure=20with=20Structure/Types=20pattern?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add "## Structure" to filters and naming-constraints - Reorganize apply-and-modules: merge Module Path Patterns, Wildcards, Named Capture under "## Module Patterns" as H3 items - Remove unnecessary Inline Syntax section Co-Authored-By: Claude Opus 4.6 (1M context) --- docs/guide/apply-and-modules.md | 36 +++++++------------------------- docs/guide/filters.md | 4 ++++ docs/guide/naming-constraints.md | 6 +++++- 3 files changed, 17 insertions(+), 29 deletions(-) diff --git a/docs/guide/apply-and-modules.md b/docs/guide/apply-and-modules.md index 0b33429..790132b 100644 --- a/docs/guide/apply-and-modules.md +++ b/docs/guide/apply-and-modules.md @@ -25,20 +25,9 @@ apply: | `rules` | Yes | List of rule names to enforce (must be defined in the `rules` block) | | `modules` | Yes | A module path pattern that selects which files to check | -### Inline Syntax - -For short rule lists, you can use inline YAML syntax: - -```yaml -apply: - - name: all - rules: [bool-method-prefix, exception-naming] - modules: "**" -``` - --- -## Module Path Patterns +## Module Patterns Module paths use Python's dotted notation — the same way you would import them. For example, `src/domain/service.py` becomes `src.domain.service`. @@ -52,11 +41,7 @@ modules: myapp.core.utils This matches only the file `myapp/core/utils.py`. ---- - -## Wildcards - -### `*` — Single level +### `*` — Single Level `*` matches exactly one segment in a dotted module path. It cannot match across dots. @@ -84,9 +69,7 @@ apply: modules: contexts.*.domain ``` ---- - -### `**` — One or more levels +### `**` — One or More Levels `**` matches one or more segments. Use it to select all modules under a path, regardless of depth. @@ -120,9 +103,7 @@ apply: modules: myapp.services.** ``` ---- - -## Named Capture +### Named Capture (`{name}`) `{name}` captures a single path segment (equivalent to `*`) and makes the captured value available for back-referencing within the same pattern. @@ -130,11 +111,9 @@ apply: modules: contexts.{context}.domain ``` -This behaves like `contexts.*.domain` but the captured value (e.g. `boards`) is bound to the name `context`. You can reference it later in the same pattern using `{context}`. +This behaves like `contexts.*.domain` but the captured value (e.g. `boards`) is bound to the name `context`. -### Back-Referencing Example - -Named captures are useful when you want to enforce that two parts of a path are related — for example, that a submodule name must match its parent package name: +**Example:** ```yaml apply: @@ -143,7 +122,7 @@ apply: modules: contexts.{context}.domain ``` -In this example, every module matching `contexts..domain` is selected, and the middle segment is captured as `context`. This can be used in rule logic that references the captured value, enabling context-aware enforcement. +Every module matching `contexts..domain` is selected, and the middle segment is captured as `context`. This can be used in rule logic that references the captured value, enabling context-aware enforcement. --- @@ -175,6 +154,7 @@ Here, the domain-specific rules are enforced only in `contexts.*.domain`, while | Concept | Syntax | Description | |---------|--------|-------------| | `apply` block | `name`, `rules`, `modules` | Connects rules to specific module paths | +| Exact match | `myapp.core.utils` | Matches a single specific module | | Single-level wildcard | `*` | Matches exactly one level in a dotted module path | | Multi-level wildcard | `**` | Matches one or more levels in a dotted module path | | Named capture | `{name}` | Captures a single level for back-referencing | diff --git a/docs/guide/filters.md b/docs/guide/filters.md index 09a498c..b5ae2cf 100644 --- a/docs/guide/filters.md +++ b/docs/guide/filters.md @@ -2,6 +2,10 @@ Filters let you narrow the scope of a rule so it only applies to a specific subset of names. Without a filter, a rule matches every name of its `type`. With a filter, only names that satisfy all filter conditions are checked. +--- + +## Structure + Filters are specified in the `filter` block of a rule: ```yaml diff --git a/docs/guide/naming-constraints.md b/docs/guide/naming-constraints.md index d0edb87..f981b8b 100644 --- a/docs/guide/naming-constraints.md +++ b/docs/guide/naming-constraints.md @@ -1,6 +1,10 @@ # Naming Constraints -Naming constraints define how a name must be formed. They are specified in the `naming` block of a rule: +--- + +## Structure + +Naming constraints are specified in the `naming` block of a rule: ```yaml rules: From 1a6138ca837765d39971155f571d3fa4c691ff3f Mon Sep 17 00:00:00 2001 From: heumsi Date: Tue, 31 Mar 2026 16:10:34 +0900 Subject: [PATCH 15/20] =?UTF-8?q?=F0=9F=93=9D=20docs:=20Split=20rule=20typ?= =?UTF-8?q?es=20into=20separate=20page=20under=20Rules=20section?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 (1M context) --- docs/guide/rule-types.md | 194 +++++++++++++++++++++++++++++++++++++++ docs/guide/rules.md | 194 ++------------------------------------- mkdocs.yml | 8 +- 3 files changed, 205 insertions(+), 191 deletions(-) create mode 100644 docs/guide/rule-types.md diff --git a/docs/guide/rule-types.md b/docs/guide/rule-types.md new file mode 100644 index 0000000..ff6aba0 --- /dev/null +++ b/docs/guide/rule-types.md @@ -0,0 +1,194 @@ +# Rule Types + +Each rule must specify a `type` that determines what kind of Python name it targets. + +--- + +## `variable` + +Targets variable names — any assignment that introduces a name into a scope. + +**Sub-targets** (set via `filter.target`): + +| Value | What it covers | +|-------|---------------| +| `attribute` | Class-level attributes (`self.x`, `x: int = ...`) | +| `parameter` | Function/method parameters | +| `local_variable` | Variables declared inside a function body | +| `constant` | Module-level constants (typically `ALL_CAPS`) | + +**Supported filter fields:** `target` + +**Supported naming fields:** `prefix`, `suffix`, `regex`, `source` + `transform`, `case` + +**Example — enforce UPPER_CASE for module-level constants:** + +```yaml +rules: + - name: constant-upper-case + type: variable + filter: { target: constant } + naming: { case: UPPER_CASE } + +apply: + - name: all + rules: [constant-upper-case] + modules: "**" +``` + +**Example — enforce attribute names match their type annotation:** + +```yaml +rules: + - name: attribute-matches-type + type: variable + filter: { target: attribute } + naming: { source: type_annotation, transform: snake_case } + +apply: + - name: domain-layer + rules: [attribute-matches-type] + modules: contexts.*.domain +``` + +--- + +## `function` + +Targets function and method definitions — any `def` statement at any scope level. + +**Supported filter fields:** `target`, `return_type`, `decorator` + +**Supported naming fields:** `prefix`, `suffix`, `regex`, `case` + +**Example — require `is_` / `has_` / `should_` prefix on boolean-returning methods:** + +```yaml +rules: + - name: bool-method-prefix + type: function + filter: { return_type: bool } + naming: { prefix: [is_, has_, should_] } + +apply: + - name: all + rules: [bool-method-prefix] + modules: "**" +``` + +**Example — require `_impl` suffix on `@staticmethod` functions:** + +```yaml +rules: + - name: static-impl-suffix + type: function + filter: { decorator: staticmethod } + naming: { suffix: [_impl] } + +apply: + - name: all + rules: [static-impl-suffix] + modules: "**" +``` + +--- + +## `class` + +Targets class definitions — any `class` statement. + +**Supported filter fields:** `base_class`, `decorator` + +**Supported naming fields:** `prefix`, `suffix`, `regex`, `case` + +**Example — enforce a specific pattern for exception classes:** + +```yaml +rules: + - name: exception-naming + type: class + filter: { base_class: Exception } + naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" } + +apply: + - name: all + rules: [exception-naming] + modules: "**" +``` + +**Example — require `DTO` suffix on dataclasses:** + +```yaml +rules: + - name: dataclass-dto-suffix + type: class + filter: { decorator: dataclass } + naming: { suffix: [DTO] } + +apply: + - name: all + rules: [dataclass-dto-suffix] + modules: "**" +``` + +--- + +## `module` + +Targets the filename of each `.py` file (without the `.py` extension). Useful for enforcing that module names reflect their contents. + +**Supported filter fields:** none + +**Supported naming fields:** `prefix`, `suffix`, `regex`, `source` + `transform`, `case` + +**Example — enforce that a module's filename matches the primary class it contains:** + +```yaml +rules: + - name: domain-module-naming + type: module + naming: { source: class_name, transform: snake_case } + +apply: + - name: domain-layer + rules: [domain-module-naming] + modules: contexts.*.domain +``` + +A file `custom.py` that contains only `class CustomObject` is a violation — the file should be named `custom_object.py`. + +--- + +## `package` + +Targets the directory name of each Python package (a directory containing `__init__.py`). + +**Supported filter fields:** none + +**Supported naming fields:** `prefix`, `suffix`, `regex`, `case` + +**Example — require all package names to be lowercase:** + +```yaml +rules: + - name: package-snake-case + type: package + naming: { case: snake_case } + +apply: + - name: all + rules: [package-snake-case] + modules: "**" +``` + +--- + +## Summary + +| Type | What it targets | Supported filters | Notes | +|------|----------------|-------------------|-------| +| `variable` | Variables by scope/role | `target` | Use `target` to narrow to attributes, parameters, etc. | +| `function` | Function and method definitions | `target`, `return_type`, `decorator` | | +| `class` | Class definitions | `base_class`, `decorator` | | +| `module` | Module (file) names | none | Supports `source` + `transform` | +| `package` | Package (directory) names | none | | diff --git a/docs/guide/rules.md b/docs/guide/rules.md index 06df57e..176561f 100644 --- a/docs/guide/rules.md +++ b/docs/guide/rules.md @@ -18,193 +18,11 @@ The `name` is used to reference the rule in `apply` blocks and in `# pnl: ignore --- -## Types - -### `variable` - -Targets variable names — any assignment that introduces a name into a scope. - -**Sub-targets** (set via `filter.target`): - -| Value | What it covers | -|-------|---------------| -| `attribute` | Class-level attributes (`self.x`, `x: int = ...`) | -| `parameter` | Function/method parameters | -| `local_variable` | Variables declared inside a function body | -| `constant` | Module-level constants (typically `ALL_CAPS`) | - -**Supported filter fields:** `target` - -**Supported naming fields:** `prefix`, `suffix`, `regex`, `source` + `transform`, `case` - -**Example — enforce UPPER_CASE for module-level constants:** - -```yaml -rules: - - name: constant-upper-case - type: variable - filter: { target: constant } - naming: { case: UPPER_CASE } - -apply: - - name: all - rules: [constant-upper-case] - modules: "**" -``` - -**Example — enforce attribute names match their type annotation:** - -```yaml -rules: - - name: attribute-matches-type - type: variable - filter: { target: attribute } - naming: { source: type_annotation, transform: snake_case } - -apply: - - name: domain-layer - rules: [attribute-matches-type] - modules: contexts.*.domain -``` - ---- - -### `function` - -Targets function and method definitions — any `def` statement at any scope level. - -**Supported filter fields:** `target`, `return_type`, `decorator` - -**Supported naming fields:** `prefix`, `suffix`, `regex`, `case` - -**Example — require `is_` / `has_` / `should_` prefix on boolean-returning methods:** - -```yaml -rules: - - name: bool-method-prefix - type: function - filter: { return_type: bool } - naming: { prefix: [is_, has_, should_] } - -apply: - - name: all - rules: [bool-method-prefix] - modules: "**" -``` - -**Example — require `_impl` suffix on `@staticmethod` functions:** - -```yaml -rules: - - name: static-impl-suffix - type: function - filter: { decorator: staticmethod } - naming: { suffix: [_impl] } - -apply: - - name: all - rules: [static-impl-suffix] - modules: "**" -``` - ---- - -### `class` - -Targets class definitions — any `class` statement. - -**Supported filter fields:** `base_class`, `decorator` - -**Supported naming fields:** `prefix`, `suffix`, `regex`, `case` - -**Example — enforce a specific pattern for exception classes:** - -```yaml -rules: - - name: exception-naming - type: class - filter: { base_class: Exception } - naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" } - -apply: - - name: all - rules: [exception-naming] - modules: "**" -``` - -**Example — require `DTO` suffix on dataclasses:** - -```yaml -rules: - - name: dataclass-dto-suffix - type: class - filter: { decorator: dataclass } - naming: { suffix: [DTO] } - -apply: - - name: all - rules: [dataclass-dto-suffix] - modules: "**" -``` - ---- - -### `module` - -Targets the filename of each `.py` file (without the `.py` extension). Useful for enforcing that module names reflect their contents. - -**Supported filter fields:** none - -**Supported naming fields:** `prefix`, `suffix`, `regex`, `source` + `transform`, `case` - -**Example — enforce that a module's filename matches the primary class it contains:** - -```yaml -rules: - - name: domain-module-naming - type: module - naming: { source: class_name, transform: snake_case } - -apply: - - name: domain-layer - rules: [domain-module-naming] - modules: contexts.*.domain -``` - -A file `custom.py` that contains only `class CustomObject` is a violation — the file should be named `custom_object.py`. - ---- - -### `package` - -Targets the directory name of each Python package (a directory containing `__init__.py`). - -**Supported filter fields:** none - -**Supported naming fields:** `prefix`, `suffix`, `regex`, `case` - -**Example — require all package names to be lowercase:** - -```yaml -rules: - - name: package-snake-case - type: package - naming: { case: snake_case } - -apply: - - name: all - rules: [package-snake-case] - modules: "**" -``` - ---- - ## Summary -| Type | What it targets | Supported filters | Notes | -|------|----------------|-------------------|-------| -| `variable` | Variables by scope/role | `target` | Use `target` to narrow to attributes, parameters, etc. | -| `function` | Function and method definitions | `target`, `return_type`, `decorator` | | -| `class` | Class definitions | `base_class`, `decorator` | | -| `module` | Module (file) names | none | Supports `source` + `transform` | -| `package` | Package (directory) names | none | | +| Field | Required | Description | +|-------|----------|-------------| +| `name` | Yes | Unique identifier, referenced in `apply` and `# pnl: ignore` | +| `type` | Yes | What kind of name to lint (`variable`, `function`, `class`, `module`, `package`) | +| `filter` | No | Narrow which names are checked (see [Filters](filters.md)) | +| `naming` | Yes | How the name must be formed (see [Naming Constraints](naming-constraints.md)) | diff --git a/mkdocs.yml b/mkdocs.yml index df086ca..7f0f956 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -27,9 +27,11 @@ nav: - Quick Start: getting-started/quick-start.md - Configuration: getting-started/configuration.md - Guide: - - Rules: guide/rules.md - - Filters: guide/filters.md - - Naming Constraints: guide/naming-constraints.md + - Rules: + - Overview: guide/rules.md + - Types: guide/rule-types.md + - Filters: guide/filters.md + - Naming Constraints: guide/naming-constraints.md - Apply & Modules: guide/apply-and-modules.md - Include / Exclude: guide/include-exclude.md - Inline Ignore: guide/inline-ignore.md From 7d7b4011088e03b111bb3ae60986c6104c374869 Mon Sep 17 00:00:00 2001 From: heumsi Date: Tue, 31 Mar 2026 16:20:37 +0900 Subject: [PATCH 16/20] =?UTF-8?q?=F0=9F=93=9D=20docs:=20Flatten=20Rules=20?= =?UTF-8?q?nav=20to=20fix=20sidebar=20visibility=20in=20mkdocs-shadcn?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 (1M context) --- mkdocs.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index 7f0f956..ae7875f 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -27,11 +27,10 @@ nav: - Quick Start: getting-started/quick-start.md - Configuration: getting-started/configuration.md - Guide: - - Rules: - - Overview: guide/rules.md - - Types: guide/rule-types.md - - Filters: guide/filters.md - - Naming Constraints: guide/naming-constraints.md + - Rules: guide/rules.md + - Rule Types: guide/rule-types.md + - Filters: guide/filters.md + - Naming Constraints: guide/naming-constraints.md - Apply & Modules: guide/apply-and-modules.md - Include / Exclude: guide/include-exclude.md - Inline Ignore: guide/inline-ignore.md From d46b582142007329eb6c3899631f2fb5da6280ec Mon Sep 17 00:00:00 2001 From: heumsi Date: Tue, 31 Mar 2026 16:29:42 +0900 Subject: [PATCH 17/20] =?UTF-8?q?=F0=9F=93=9D=20docs:=20Merge=20rule-types?= =?UTF-8?q?,=20filters,=20naming-constraints=20into=20single=20Rules=20pag?= =?UTF-8?q?e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 (1M context) --- docs/guide/filters.md | 404 -------------- docs/guide/naming-constraints.md | 328 ----------- docs/guide/rule-types.md | 194 ------- docs/guide/rules.md | 917 ++++++++++++++++++++++++++++++- mkdocs.yml | 3 - 5 files changed, 915 insertions(+), 931 deletions(-) delete mode 100644 docs/guide/filters.md delete mode 100644 docs/guide/naming-constraints.md delete mode 100644 docs/guide/rule-types.md diff --git a/docs/guide/filters.md b/docs/guide/filters.md deleted file mode 100644 index b5ae2cf..0000000 --- a/docs/guide/filters.md +++ /dev/null @@ -1,404 +0,0 @@ -# Filters - -Filters let you narrow the scope of a rule so it only applies to a specific subset of names. Without a filter, a rule matches every name of its `type`. With a filter, only names that satisfy all filter conditions are checked. - ---- - -## Structure - -Filters are specified in the `filter` block of a rule: - -```yaml -rules: - - name: my-rule - type: function - filter: { return_type: bool } - naming: { prefix: [is_, has_] } -``` - -Multiple filter fields can be combined — a name must satisfy **all** of them to be checked. - ---- - -## Types - -### `target` - -Narrows which names within the rule type are checked based on their role in the code. - -#### For `variable` rules - -| Value | Matches | -|-------|---------| -| `attribute` | Class-level attribute assignments, including annotated attributes (`x: int = 1`) | -| `parameter` | Function or method parameters | -| `local_variable` | Variables assigned inside a function body | -| `constant` | Module-level assignments (typically treated as constants) | - -**Supported rule types:** `variable` - -**Example — lint only class attributes:** - -Matches names that are assigned at the class body level, including annotated attributes. - -```yaml -rules: - - name: attribute-matches-type - type: variable - filter: { target: attribute } - naming: { source: type_annotation, transform: snake_case } - -apply: - - name: all - rules: [attribute-matches-type] - modules: "**" -``` - -| Name | Context | Result | -|------|---------|--------| -| `user_id: UserId = ...` | class body | Pass — name matches type annotation in snake_case | -| `userId: UserId = ...` | class body | **Violation** — name does not match `user_id` | -| `user_id = 1` | function body | Not checked — local variables are ignored | - ---- - -**Example — lint only function/method parameters:** - -Matches names declared as function or method parameters (including `self` and `cls` by convention — though you may want to exclude them with additional patterns). - -```yaml -rules: - - name: param-snake-case - type: variable - filter: { target: parameter } - naming: { case: snake_case } - -apply: - - name: all - rules: [param-snake-case] - modules: "**" -``` - -| Name | Context | Result | -|------|---------|--------| -| `user_id` | function parameter | Pass — snake_case | -| `userId` | function parameter | **Violation** — camelCase not allowed | -| `MAX_RETRIES` | module level | Not checked — constants are ignored | - ---- - -**Example — lint only local variables inside functions:** - -Matches names assigned inside a function or method body (not parameters, not class-level attributes). - -```yaml -rules: - - name: local-var-snake-case - type: variable - filter: { target: local_variable } - naming: { case: snake_case } - -apply: - - name: all - rules: [local-var-snake-case] - modules: "**" -``` - -| Name | Context | Result | -|------|---------|--------| -| `result` | inside function body | Pass — snake_case | -| `tmpVal` | inside function body | **Violation** — camelCase not allowed | -| `MAX_SIZE` | module level | Not checked — constants are ignored | - ---- - -**Example — lint only module-level constants:** - -Matches names assigned at module (top-level) scope. - -```yaml -rules: - - name: constant-upper-case - type: variable - filter: { target: constant } - naming: { case: UPPER_CASE } - -apply: - - name: all - rules: [constant-upper-case] - modules: "**" -``` - -| Name | Context | Result | -|------|---------|--------| -| `MAX_RETRIES` | module level | Pass — UPPER_CASE | -| `defaultTimeout` | module level | **Violation** — not UPPER_CASE | -| `count` | function body | Not checked — local variables are ignored | - ---- - -#### For `function` rules - -| Value | Matches | -|-------|---------| -| `method` | Functions defined inside a class body | -| `function` | Functions defined at module level or inside other functions | - -**Supported rule types:** `function` - -**Example — lint only module-level functions (not methods):** - -Matches `def` statements at module scope or nested inside other functions, but not methods defined inside a class. - -```yaml -rules: - - name: function-snake-case - type: function - filter: { target: function } - naming: { case: snake_case } - -apply: - - name: all - rules: [function-snake-case] - modules: "**" -``` - -| Name | Context | Result | -|------|---------|--------| -| `process_order` | module-level `def` | Pass — snake_case | -| `processOrder` | module-level `def` | **Violation** — camelCase not allowed | -| `processOrder` | inside a class | Not checked — methods are ignored | - ---- - -**Example — lint only class methods:** - -Matches `def` statements inside a class body. - -```yaml -rules: - - name: method-snake-case - type: function - filter: { target: method } - naming: { case: snake_case } - -apply: - - name: all - rules: [method-snake-case] - modules: "**" -``` - -| Name | Context | Result | -|------|---------|--------| -| `get_user` | inside a class | Pass — snake_case | -| `getUser` | inside a class | **Violation** — camelCase not allowed | -| `getUser` | module-level `def` | Not checked — functions are ignored | - ---- - -### `return_type` - -Matches functions whose return type annotation equals the specified type name. - -**Supported rule types:** `function` - -**Accepted values:** any Python type name as a string, e.g. `bool`, `str`, `int`, `None` - -The filter matches functions with the given `-> ` annotation. Functions without a return type annotation, or with a different annotation, are not checked. - -**Example — require a boolean-indicating prefix on `bool`-returning functions:** - -```yaml -rules: - - name: bool-method-prefix - type: function - filter: { return_type: bool } - naming: { prefix: [is_, has_, should_] } - -apply: - - name: all - rules: [bool-method-prefix] - modules: "**" -``` - -| Signature | Result | -|-----------|--------| -| `def is_active(self) -> bool:` | Pass — starts with `is_` | -| `def has_permission(self) -> bool:` | Pass — starts with `has_` | -| `def validate(self) -> bool:` | **Violation** — no matching prefix | -| `def process(self) -> str:` | Not checked — return type is `str`, not `bool` | -| `def run(self):` | Not checked — no return type annotation | - ---- - -**Example — require a descriptive prefix on `str`-returning functions:** - -```yaml -rules: - - name: str-getter-prefix - type: function - filter: { return_type: str } - naming: { prefix: [get_, format_, build_, to_] } - -apply: - - name: all - rules: [str-getter-prefix] - modules: "**" -``` - -| Signature | Result | -|-----------|--------| -| `def get_name(self) -> str:` | Pass — starts with `get_` | -| `def format_label(self) -> str:` | Pass — starts with `format_` | -| `def name(self) -> str:` | **Violation** — no matching prefix | -| `def is_active(self) -> bool:` | Not checked — return type is `bool`, not `str` | - ---- - -**Example — require a `_or_none` suffix on `None`-returning functions:** - -```yaml -rules: - - name: none-returning-suffix - type: function - filter: { return_type: None } - naming: { suffix: [_or_none] } - -apply: - - name: all - rules: [none-returning-suffix] - modules: "**" -``` - -| Signature | Result | -|-----------|--------| -| `def find_user_or_none(self) -> None:` | Pass — ends with `_or_none` | -| `def find_user(self) -> None:` | **Violation** — missing `_or_none` suffix | -| `def find_user(self) -> User:` | Not checked — return type is `User`, not `None` | - ---- - -### `decorator` - -Matches functions or classes that are decorated with the specified decorator name. - -**Supported rule types:** `function`, `class` - -**Accepted values:** any decorator name as a string (without `@`), e.g. `staticmethod`, `classmethod`, `property`, `dataclass`, `abstractmethod` - -The filter matches the decorator by its bare name. Both `@dataclass` and `@dataclasses.dataclass` are matched by the value `dataclass`. - -**Example — require a suffix on static methods:** - -```yaml -rules: - - name: static-method-suffix - type: function - filter: { decorator: staticmethod } - naming: { suffix: [_impl] } - -apply: - - name: all - rules: [static-method-suffix] - modules: "**" -``` - -| Definition | Result | -|------------|--------| -| `@staticmethod` / `def compute_impl(cls):` | Pass — ends with `_impl` | -| `@staticmethod` / `def compute(cls):` | **Violation** — missing `_impl` suffix | -| `def compute(self):` | Not checked — not a static method | - ---- - -**Example — require a `DTO` suffix on dataclasses:** - -```yaml -rules: - - name: dataclass-dto-suffix - type: class - filter: { decorator: dataclass } - naming: { suffix: [DTO] } - -apply: - - name: all - rules: [dataclass-dto-suffix] - modules: "**" -``` - -| Definition | Result | -|------------|--------| -| `@dataclass` / `class UserDTO:` | Pass — ends with `DTO` | -| `@dataclass` / `class User:` | **Violation** — missing `DTO` suffix | -| `class User:` | Not checked — not a dataclass | - ---- - -### `base_class` - -Matches classes that inherit from the specified base class. - -**Supported rule types:** `class` - -**Accepted values:** any class name as a string, e.g. `Exception`, `BaseModel`, `ABC` - -The filter matches the direct base class name. `class MyError(Exception)` matches the value `Exception`. - -**Example — enforce a naming pattern for all exception classes:** - -```yaml -rules: - - name: exception-naming - type: class - filter: { base_class: Exception } - naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" } - -apply: - - name: all - rules: [exception-naming] - modules: "**" -``` - -| Definition | Result | -|------------|--------| -| `class UserNotFoundError(Exception):` | Pass — matches the regex | -| `class InvalidInputError(Exception):` | Pass — matches the regex | -| `class UserException(Exception):` | **Violation** — does not match the regex | -| `class User:` | Not checked — does not inherit from `Exception` | - ---- - -**Example — require a `Schema` suffix on Pydantic models:** - -Matches classes that inherit from `BaseModel` (e.g. Pydantic models). - -```yaml -rules: - - name: pydantic-schema-suffix - type: class - filter: { base_class: BaseModel } - naming: { suffix: [Schema] } - -apply: - - name: all - rules: [pydantic-schema-suffix] - modules: "**" -``` - -| Definition | Result | -|------------|--------| -| `class UserSchema(BaseModel):` | Pass — ends with `Schema` | -| `class CreateUserSchema(BaseModel):` | Pass — ends with `Schema` | -| `class User(BaseModel):` | **Violation** — missing `Schema` suffix | -| `class User:` | Not checked — does not inherit from `BaseModel` | - ---- - -## Summary - -| Filter | `variable` | `function` | `class` | `module` | `package` | -|--------|-----------|-----------|---------|---------|---------| -| `target` | `attribute`, `parameter`, `local_variable`, `constant` | `method`, `function` | — | — | — | -| `return_type` | — | any type string | — | — | — | -| `decorator` | — | any decorator name | any decorator name | — | — | -| `base_class` | — | — | any class name | — | — | diff --git a/docs/guide/naming-constraints.md b/docs/guide/naming-constraints.md deleted file mode 100644 index f981b8b..0000000 --- a/docs/guide/naming-constraints.md +++ /dev/null @@ -1,328 +0,0 @@ -# Naming Constraints - ---- - -## Structure - -Naming constraints are specified in the `naming` block of a rule: - -```yaml -rules: - - name: my-rule - type: function - naming: { prefix: [is_, has_] } -apply: - - name: all - rules: [my-rule] - modules: "**" -``` - -Each rule must have exactly one naming constraint (or one `source` + `transform` pair). The constraint is evaluated against every name that passes the rule's type and filter checks. - ---- - -## Types - -### `prefix` - -The name must start with one of the listed prefixes. - -**Accepted values:** a list of one or more prefix strings. - -**Example — bool-returning methods must use a semantic prefix:** - -```yaml -rules: - - name: bool-method-prefix - type: function - filter: { return_type: bool } - naming: { prefix: [is_, has_, should_] } -apply: - - name: all - rules: [bool-method-prefix] - modules: "**" -``` - -| Name | Result | -|------|--------| -| `is_active` | Pass — starts with `is_` | -| `has_permission` | Pass — starts with `has_` | -| `should_retry` | Pass — starts with `should_` | -| `validate` | **Violation** — no matching prefix | -| `check_active` | **Violation** — `check_` is not in the list | - -**Example — test functions must start with `test_`:** - -```yaml -rules: - - name: test-function-prefix - type: function - filter: { decorator: pytest.mark } - naming: { prefix: [test_] } -apply: - - name: all - rules: [test-function-prefix] - modules: "**" -``` - -| Name | Result | -|------|--------| -| `test_login_succeeds` | Pass — starts with `test_` | -| `test_invalid_token` | Pass — starts with `test_` | -| `login_succeeds` | **Violation** — missing `test_` prefix | -| `check_login` | **Violation** — `check_` is not in the list | - ---- - -### `suffix` - -The name must end with one of the listed suffixes. - -**Accepted values:** a list of one or more suffix strings. - -**Example — data-access classes must end with `Repository` or `Service`:** - -```yaml -rules: - - name: repository-suffix - type: class - naming: { suffix: [Repository, Service] } -apply: - - name: all - rules: [repository-suffix] - modules: "**" -``` - -| Name | Result | -|------|--------| -| `UserRepository` | Pass — ends with `Repository` | -| `OrderService` | Pass — ends with `Service` | -| `UserManager` | **Violation** — no matching suffix | -| `User` | **Violation** — no matching suffix | - -**Example — exception classes must end with `Error`:** - -```yaml -rules: - - name: exception-suffix - type: class - filter: { base_class: Exception } - naming: { suffix: [Error] } -apply: - - name: all - rules: [exception-suffix] - modules: "**" -``` - -| Name | Result | -|------|--------| -| `ValidationError` | Pass — ends with `Error` | -| `NotFoundError` | Pass — ends with `Error` | -| `InvalidInput` | **Violation** — does not end with `Error` | -| `NotFoundException` | **Violation** — ends with `Exception`, not `Error` | - ---- - -### `regex` - -The name must match a regular expression. - -**Accepted values:** a string containing a valid Python regular expression. - -This is the most expressive constraint — use it when `prefix`, `suffix`, or `case` are not specific enough. - -**Example — exception class names must follow a structured pattern:** - -```yaml -rules: - - name: exception-naming - type: class - filter: { base_class: Exception } - naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" } -apply: - - name: all - rules: [exception-naming] - modules: "**" -``` - -| Name | Result | -|------|--------| -| `UserNotFoundError` | Pass — matches the pattern | -| `OrderInvalidError` | Pass — matches the pattern | -| `FilterError` | **Violation** — does not end with the required suffix group | -| `userNotFoundError` | **Violation** — does not start with an uppercase letter | - -**Example — module-level constants must be all-uppercase with underscores:** - -```yaml -rules: - - name: constant-regex - type: variable - filter: { target: constant } - naming: { regex: "^[A-Z][A-Z0-9_]*$" } -apply: - - name: all - rules: [constant-regex] - modules: "**" -``` - -| Name | Result | -|------|--------| -| `MAX_RETRIES` | Pass — all uppercase with underscores | -| `DEFAULT_TIMEOUT` | Pass — all uppercase with underscores | -| `API_V2_URL` | Pass — uppercase with digits and underscores | -| `max_retries` | **Violation** — lowercase | -| `MaxRetries` | **Violation** — mixed case | -| `_PRIVATE` | **Violation** — starts with underscore, not matched by `^[A-Z]` | - ---- - -### `source` + `transform` - -The name must be derived from another element in the code, after applying a transformation. This is used for relational naming — where the name of one thing must reflect another. - -Both fields must be specified together. - -#### `source` values - -| Value | What it reads | -|-------|--------------| -| `type_annotation` | The type annotation of the variable (e.g. `SubscriptionRepository` from `x: SubscriptionRepository`) | -| `class_name` | The name of a class defined in the module (used with `type: module`) | - -#### `transform` values - -| Value | What it does | -|-------|-------------| -| `snake_case` | Converts PascalCase or camelCase to snake_case (e.g. `SubscriptionRepository` → `subscription_repository`) | - -**Example — variable name must match its type annotation:** - -```yaml -rules: - - name: attribute-matches-type - type: variable - filter: { target: attribute } - naming: { source: type_annotation, transform: snake_case } -apply: - - name: all - rules: [attribute-matches-type] - modules: "**" -``` - -| Declaration | Result | -|-------------|--------| -| `subscription_repository: SubscriptionRepository` | Pass — name matches transformed type | -| `order_service: OrderService` | Pass — name matches transformed type | -| `repo: SubscriptionRepository` | **Violation** — `repo` does not match `subscription_repository` | -| `svc: OrderService` | **Violation** — `svc` does not match `order_service` | -| `source_object_context: ObjectContext` | Pass — name ends with `_object_context` (prefix + expected form is allowed) | - -The `{prefix}_{expected}` form is accepted. If the expected derived name is `object_context`, then `source_object_context` passes because it ends with `_object_context`. - -**Example — module filename must match the class it contains:** - -```yaml -rules: - - name: domain-module-naming - type: module - naming: { source: class_name, transform: snake_case } -apply: - - name: all - rules: [domain-module-naming] - modules: "**" -``` - -| File | Class | Result | -|------|-------|--------| -| `custom_object.py` | `CustomObject` | Pass — filename matches transformed class name | -| `order_service.py` | `OrderService` | Pass — filename matches transformed class name | -| `custom.py` | `CustomObject` | **Violation** — `custom` does not match `custom_object` | -| `service.py` | `OrderService` | **Violation** — `service` does not match `order_service` | - ---- - -### `case` - -The name must follow a specific casing convention. - -**Accepted values:** - -| Value | Pattern | Example | -|-------|---------|---------| -| `snake_case` | all lowercase, words separated by underscores | `my_variable_name` | -| `PascalCase` | each word starts with uppercase, no separators | `MyClassName` | -| `UPPER_CASE` | all uppercase, words separated by underscores | `MAX_RETRIES` | - -**Example — enforce `snake_case` for function names:** - -```yaml -rules: - - name: function-snake-case - type: function - naming: { case: snake_case } -apply: - - name: all - rules: [function-snake-case] - modules: "**" -``` - -| Name | Result | -|------|--------| -| `get_user` | Pass | -| `calculate_total_price` | Pass | -| `getUserById` | **Violation** — camelCase | -| `GetUser` | **Violation** — PascalCase | -| `GETUSER` | **Violation** — all uppercase | - -**Example — enforce UPPER_CASE for constants:** - -```yaml -rules: - - name: constant-upper-case - type: variable - filter: { target: constant } - naming: { case: UPPER_CASE } -apply: - - name: all - rules: [constant-upper-case] - modules: "**" -``` - -| Name | Result | -|------|--------| -| `MAX_RETRIES` | Pass | -| `DEFAULT_TIMEOUT` | Pass | -| `max_retries` | **Violation** — lowercase | -| `maxRetries` | **Violation** — camelCase | - -**Example — enforce PascalCase for classes:** - -```yaml -rules: - - name: class-pascal-case - type: class - naming: { case: PascalCase } -apply: - - name: all - rules: [class-pascal-case] - modules: "**" -``` - -| Name | Result | -|------|--------| -| `MyService` | Pass | -| `my_service` | **Violation** | -| `myService` | **Violation** | - ---- - -## Summary - -| Constraint | Value type | Use when | -|-----------|-----------|---------| -| `prefix` | list of strings | Names must start with one of several prefixes | -| `suffix` | list of strings | Names must end with one of several suffixes | -| `regex` | string (regex) | Names must match a complex pattern | -| `source` + `transform` | string + string | Names must be derived from another code element | -| `case` | `snake_case`, `PascalCase`, or `UPPER_CASE` | Names must follow a casing convention | diff --git a/docs/guide/rule-types.md b/docs/guide/rule-types.md deleted file mode 100644 index ff6aba0..0000000 --- a/docs/guide/rule-types.md +++ /dev/null @@ -1,194 +0,0 @@ -# Rule Types - -Each rule must specify a `type` that determines what kind of Python name it targets. - ---- - -## `variable` - -Targets variable names — any assignment that introduces a name into a scope. - -**Sub-targets** (set via `filter.target`): - -| Value | What it covers | -|-------|---------------| -| `attribute` | Class-level attributes (`self.x`, `x: int = ...`) | -| `parameter` | Function/method parameters | -| `local_variable` | Variables declared inside a function body | -| `constant` | Module-level constants (typically `ALL_CAPS`) | - -**Supported filter fields:** `target` - -**Supported naming fields:** `prefix`, `suffix`, `regex`, `source` + `transform`, `case` - -**Example — enforce UPPER_CASE for module-level constants:** - -```yaml -rules: - - name: constant-upper-case - type: variable - filter: { target: constant } - naming: { case: UPPER_CASE } - -apply: - - name: all - rules: [constant-upper-case] - modules: "**" -``` - -**Example — enforce attribute names match their type annotation:** - -```yaml -rules: - - name: attribute-matches-type - type: variable - filter: { target: attribute } - naming: { source: type_annotation, transform: snake_case } - -apply: - - name: domain-layer - rules: [attribute-matches-type] - modules: contexts.*.domain -``` - ---- - -## `function` - -Targets function and method definitions — any `def` statement at any scope level. - -**Supported filter fields:** `target`, `return_type`, `decorator` - -**Supported naming fields:** `prefix`, `suffix`, `regex`, `case` - -**Example — require `is_` / `has_` / `should_` prefix on boolean-returning methods:** - -```yaml -rules: - - name: bool-method-prefix - type: function - filter: { return_type: bool } - naming: { prefix: [is_, has_, should_] } - -apply: - - name: all - rules: [bool-method-prefix] - modules: "**" -``` - -**Example — require `_impl` suffix on `@staticmethod` functions:** - -```yaml -rules: - - name: static-impl-suffix - type: function - filter: { decorator: staticmethod } - naming: { suffix: [_impl] } - -apply: - - name: all - rules: [static-impl-suffix] - modules: "**" -``` - ---- - -## `class` - -Targets class definitions — any `class` statement. - -**Supported filter fields:** `base_class`, `decorator` - -**Supported naming fields:** `prefix`, `suffix`, `regex`, `case` - -**Example — enforce a specific pattern for exception classes:** - -```yaml -rules: - - name: exception-naming - type: class - filter: { base_class: Exception } - naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" } - -apply: - - name: all - rules: [exception-naming] - modules: "**" -``` - -**Example — require `DTO` suffix on dataclasses:** - -```yaml -rules: - - name: dataclass-dto-suffix - type: class - filter: { decorator: dataclass } - naming: { suffix: [DTO] } - -apply: - - name: all - rules: [dataclass-dto-suffix] - modules: "**" -``` - ---- - -## `module` - -Targets the filename of each `.py` file (without the `.py` extension). Useful for enforcing that module names reflect their contents. - -**Supported filter fields:** none - -**Supported naming fields:** `prefix`, `suffix`, `regex`, `source` + `transform`, `case` - -**Example — enforce that a module's filename matches the primary class it contains:** - -```yaml -rules: - - name: domain-module-naming - type: module - naming: { source: class_name, transform: snake_case } - -apply: - - name: domain-layer - rules: [domain-module-naming] - modules: contexts.*.domain -``` - -A file `custom.py` that contains only `class CustomObject` is a violation — the file should be named `custom_object.py`. - ---- - -## `package` - -Targets the directory name of each Python package (a directory containing `__init__.py`). - -**Supported filter fields:** none - -**Supported naming fields:** `prefix`, `suffix`, `regex`, `case` - -**Example — require all package names to be lowercase:** - -```yaml -rules: - - name: package-snake-case - type: package - naming: { case: snake_case } - -apply: - - name: all - rules: [package-snake-case] - modules: "**" -``` - ---- - -## Summary - -| Type | What it targets | Supported filters | Notes | -|------|----------------|-------------------|-------| -| `variable` | Variables by scope/role | `target` | Use `target` to narrow to attributes, parameters, etc. | -| `function` | Function and method definitions | `target`, `return_type`, `decorator` | | -| `class` | Class definitions | `base_class`, `decorator` | | -| `module` | Module (file) names | none | Supports `source` + `transform` | -| `package` | Package (directory) names | none | | diff --git a/docs/guide/rules.md b/docs/guide/rules.md index 176561f..f1977f1 100644 --- a/docs/guide/rules.md +++ b/docs/guide/rules.md @@ -18,11 +18,924 @@ The `name` is used to reference the rule in `apply` blocks and in `# pnl: ignore --- +## Types + +### `variable` + +Targets variable names — any assignment that introduces a name into a scope. + +**Sub-targets** (set via `filter.target`): + +| Value | What it covers | +|-------|---------------| +| `attribute` | Class-level attributes (`self.x`, `x: int = ...`) | +| `parameter` | Function/method parameters | +| `local_variable` | Variables declared inside a function body | +| `constant` | Module-level constants (typically `ALL_CAPS`) | + +**Supported filter fields:** `target` + +**Supported naming fields:** `prefix`, `suffix`, `regex`, `source` + `transform`, `case` + +**Example — enforce UPPER_CASE for module-level constants:** + +```yaml +rules: + - name: constant-upper-case + type: variable + filter: { target: constant } + naming: { case: UPPER_CASE } + +apply: + - name: all + rules: [constant-upper-case] + modules: "**" +``` + +**Example — enforce attribute names match their type annotation:** + +```yaml +rules: + - name: attribute-matches-type + type: variable + filter: { target: attribute } + naming: { source: type_annotation, transform: snake_case } + +apply: + - name: domain-layer + rules: [attribute-matches-type] + modules: contexts.*.domain +``` + +--- + +### `function` + +Targets function and method definitions — any `def` statement at any scope level. + +**Supported filter fields:** `target`, `return_type`, `decorator` + +**Supported naming fields:** `prefix`, `suffix`, `regex`, `case` + +**Example — require `is_` / `has_` / `should_` prefix on boolean-returning methods:** + +```yaml +rules: + - name: bool-method-prefix + type: function + filter: { return_type: bool } + naming: { prefix: [is_, has_, should_] } + +apply: + - name: all + rules: [bool-method-prefix] + modules: "**" +``` + +**Example — require `_impl` suffix on `@staticmethod` functions:** + +```yaml +rules: + - name: static-impl-suffix + type: function + filter: { decorator: staticmethod } + naming: { suffix: [_impl] } + +apply: + - name: all + rules: [static-impl-suffix] + modules: "**" +``` + +--- + +### `class` + +Targets class definitions — any `class` statement. + +**Supported filter fields:** `base_class`, `decorator` + +**Supported naming fields:** `prefix`, `suffix`, `regex`, `case` + +**Example — enforce a specific pattern for exception classes:** + +```yaml +rules: + - name: exception-naming + type: class + filter: { base_class: Exception } + naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" } + +apply: + - name: all + rules: [exception-naming] + modules: "**" +``` + +**Example — require `DTO` suffix on dataclasses:** + +```yaml +rules: + - name: dataclass-dto-suffix + type: class + filter: { decorator: dataclass } + naming: { suffix: [DTO] } + +apply: + - name: all + rules: [dataclass-dto-suffix] + modules: "**" +``` + +--- + +### `module` + +Targets the filename of each `.py` file (without the `.py` extension). Useful for enforcing that module names reflect their contents. + +**Supported filter fields:** none + +**Supported naming fields:** `prefix`, `suffix`, `regex`, `source` + `transform`, `case` + +**Example — enforce that a module's filename matches the primary class it contains:** + +```yaml +rules: + - name: domain-module-naming + type: module + naming: { source: class_name, transform: snake_case } + +apply: + - name: domain-layer + rules: [domain-module-naming] + modules: contexts.*.domain +``` + +A file `custom.py` that contains only `class CustomObject` is a violation — the file should be named `custom_object.py`. + +--- + +### `package` + +Targets the directory name of each Python package (a directory containing `__init__.py`). + +**Supported filter fields:** none + +**Supported naming fields:** `prefix`, `suffix`, `regex`, `case` + +**Example — require all package names to be lowercase:** + +```yaml +rules: + - name: package-snake-case + type: package + naming: { case: snake_case } + +apply: + - name: all + rules: [package-snake-case] + modules: "**" +``` + +--- + +## Filters + +Filters are specified in the `filter` block of a rule: + +```yaml +rules: + - name: my-rule + type: function + filter: { return_type: bool } + naming: { prefix: [is_, has_] } +``` + +Multiple filter fields can be combined — a name must satisfy **all** of them to be checked. + +--- + +### `target` + +Narrows which names within the rule type are checked based on their role in the code. + +#### For `variable` rules + +| Value | Matches | +|-------|---------| +| `attribute` | Class-level attribute assignments, including annotated attributes (`x: int = 1`) | +| `parameter` | Function or method parameters | +| `local_variable` | Variables assigned inside a function body | +| `constant` | Module-level assignments (typically treated as constants) | + +**Supported rule types:** `variable` + +**Example — lint only class attributes:** + +Matches names that are assigned at the class body level, including annotated attributes. + +```yaml +rules: + - name: attribute-matches-type + type: variable + filter: { target: attribute } + naming: { source: type_annotation, transform: snake_case } + +apply: + - name: all + rules: [attribute-matches-type] + modules: "**" +``` + +| Name | Context | Result | +|------|---------|--------| +| `user_id: UserId = ...` | class body | Pass — name matches type annotation in snake_case | +| `userId: UserId = ...` | class body | **Violation** — name does not match `user_id` | +| `user_id = 1` | function body | Not checked — local variables are ignored | + +--- + +**Example — lint only function/method parameters:** + +Matches names declared as function or method parameters (including `self` and `cls` by convention — though you may want to exclude them with additional patterns). + +```yaml +rules: + - name: param-snake-case + type: variable + filter: { target: parameter } + naming: { case: snake_case } + +apply: + - name: all + rules: [param-snake-case] + modules: "**" +``` + +| Name | Context | Result | +|------|---------|--------| +| `user_id` | function parameter | Pass — snake_case | +| `userId` | function parameter | **Violation** — camelCase not allowed | +| `MAX_RETRIES` | module level | Not checked — constants are ignored | + +--- + +**Example — lint only local variables inside functions:** + +Matches names assigned inside a function or method body (not parameters, not class-level attributes). + +```yaml +rules: + - name: local-var-snake-case + type: variable + filter: { target: local_variable } + naming: { case: snake_case } + +apply: + - name: all + rules: [local-var-snake-case] + modules: "**" +``` + +| Name | Context | Result | +|------|---------|--------| +| `result` | inside function body | Pass — snake_case | +| `tmpVal` | inside function body | **Violation** — camelCase not allowed | +| `MAX_SIZE` | module level | Not checked — constants are ignored | + +--- + +**Example — lint only module-level constants:** + +Matches names assigned at module (top-level) scope. + +```yaml +rules: + - name: constant-upper-case + type: variable + filter: { target: constant } + naming: { case: UPPER_CASE } + +apply: + - name: all + rules: [constant-upper-case] + modules: "**" +``` + +| Name | Context | Result | +|------|---------|--------| +| `MAX_RETRIES` | module level | Pass — UPPER_CASE | +| `defaultTimeout` | module level | **Violation** — not UPPER_CASE | +| `count` | function body | Not checked — local variables are ignored | + +--- + +#### For `function` rules + +| Value | Matches | +|-------|---------| +| `method` | Functions defined inside a class body | +| `function` | Functions defined at module level or inside other functions | + +**Supported rule types:** `function` + +**Example — lint only module-level functions (not methods):** + +Matches `def` statements at module scope or nested inside other functions, but not methods defined inside a class. + +```yaml +rules: + - name: function-snake-case + type: function + filter: { target: function } + naming: { case: snake_case } + +apply: + - name: all + rules: [function-snake-case] + modules: "**" +``` + +| Name | Context | Result | +|------|---------|--------| +| `process_order` | module-level `def` | Pass — snake_case | +| `processOrder` | module-level `def` | **Violation** — camelCase not allowed | +| `processOrder` | inside a class | Not checked — methods are ignored | + +--- + +**Example — lint only class methods:** + +Matches `def` statements inside a class body. + +```yaml +rules: + - name: method-snake-case + type: function + filter: { target: method } + naming: { case: snake_case } + +apply: + - name: all + rules: [method-snake-case] + modules: "**" +``` + +| Name | Context | Result | +|------|---------|--------| +| `get_user` | inside a class | Pass — snake_case | +| `getUser` | inside a class | **Violation** — camelCase not allowed | +| `getUser` | module-level `def` | Not checked — functions are ignored | + +--- + +### `return_type` + +Matches functions whose return type annotation equals the specified type name. + +**Supported rule types:** `function` + +**Accepted values:** any Python type name as a string, e.g. `bool`, `str`, `int`, `None` + +The filter matches functions with the given `-> ` annotation. Functions without a return type annotation, or with a different annotation, are not checked. + +**Example — require a boolean-indicating prefix on `bool`-returning functions:** + +```yaml +rules: + - name: bool-method-prefix + type: function + filter: { return_type: bool } + naming: { prefix: [is_, has_, should_] } + +apply: + - name: all + rules: [bool-method-prefix] + modules: "**" +``` + +| Signature | Result | +|-----------|--------| +| `def is_active(self) -> bool:` | Pass — starts with `is_` | +| `def has_permission(self) -> bool:` | Pass — starts with `has_` | +| `def validate(self) -> bool:` | **Violation** — no matching prefix | +| `def process(self) -> str:` | Not checked — return type is `str`, not `bool` | +| `def run(self):` | Not checked — no return type annotation | + +--- + +**Example — require a descriptive prefix on `str`-returning functions:** + +```yaml +rules: + - name: str-getter-prefix + type: function + filter: { return_type: str } + naming: { prefix: [get_, format_, build_, to_] } + +apply: + - name: all + rules: [str-getter-prefix] + modules: "**" +``` + +| Signature | Result | +|-----------|--------| +| `def get_name(self) -> str:` | Pass — starts with `get_` | +| `def format_label(self) -> str:` | Pass — starts with `format_` | +| `def name(self) -> str:` | **Violation** — no matching prefix | +| `def is_active(self) -> bool:` | Not checked — return type is `bool`, not `str` | + +--- + +**Example — require a `_or_none` suffix on `None`-returning functions:** + +```yaml +rules: + - name: none-returning-suffix + type: function + filter: { return_type: None } + naming: { suffix: [_or_none] } + +apply: + - name: all + rules: [none-returning-suffix] + modules: "**" +``` + +| Signature | Result | +|-----------|--------| +| `def find_user_or_none(self) -> None:` | Pass — ends with `_or_none` | +| `def find_user(self) -> None:` | **Violation** — missing `_or_none` suffix | +| `def find_user(self) -> User:` | Not checked — return type is `User`, not `None` | + +--- + +### `decorator` + +Matches functions or classes that are decorated with the specified decorator name. + +**Supported rule types:** `function`, `class` + +**Accepted values:** any decorator name as a string (without `@`), e.g. `staticmethod`, `classmethod`, `property`, `dataclass`, `abstractmethod` + +The filter matches the decorator by its bare name. Both `@dataclass` and `@dataclasses.dataclass` are matched by the value `dataclass`. + +**Example — require a suffix on static methods:** + +```yaml +rules: + - name: static-method-suffix + type: function + filter: { decorator: staticmethod } + naming: { suffix: [_impl] } + +apply: + - name: all + rules: [static-method-suffix] + modules: "**" +``` + +| Definition | Result | +|------------|--------| +| `@staticmethod` / `def compute_impl(cls):` | Pass — ends with `_impl` | +| `@staticmethod` / `def compute(cls):` | **Violation** — missing `_impl` suffix | +| `def compute(self):` | Not checked — not a static method | + +--- + +**Example — require a `DTO` suffix on dataclasses:** + +```yaml +rules: + - name: dataclass-dto-suffix + type: class + filter: { decorator: dataclass } + naming: { suffix: [DTO] } + +apply: + - name: all + rules: [dataclass-dto-suffix] + modules: "**" +``` + +| Definition | Result | +|------------|--------| +| `@dataclass` / `class UserDTO:` | Pass — ends with `DTO` | +| `@dataclass` / `class User:` | **Violation** — missing `DTO` suffix | +| `class User:` | Not checked — not a dataclass | + +--- + +### `base_class` + +Matches classes that inherit from the specified base class. + +**Supported rule types:** `class` + +**Accepted values:** any class name as a string, e.g. `Exception`, `BaseModel`, `ABC` + +The filter matches the direct base class name. `class MyError(Exception)` matches the value `Exception`. + +**Example — enforce a naming pattern for all exception classes:** + +```yaml +rules: + - name: exception-naming + type: class + filter: { base_class: Exception } + naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" } + +apply: + - name: all + rules: [exception-naming] + modules: "**" +``` + +| Definition | Result | +|------------|--------| +| `class UserNotFoundError(Exception):` | Pass — matches the regex | +| `class InvalidInputError(Exception):` | Pass — matches the regex | +| `class UserException(Exception):` | **Violation** — does not match the regex | +| `class User:` | Not checked — does not inherit from `Exception` | + +--- + +**Example — require a `Schema` suffix on Pydantic models:** + +Matches classes that inherit from `BaseModel` (e.g. Pydantic models). + +```yaml +rules: + - name: pydantic-schema-suffix + type: class + filter: { base_class: BaseModel } + naming: { suffix: [Schema] } + +apply: + - name: all + rules: [pydantic-schema-suffix] + modules: "**" +``` + +| Definition | Result | +|------------|--------| +| `class UserSchema(BaseModel):` | Pass — ends with `Schema` | +| `class CreateUserSchema(BaseModel):` | Pass — ends with `Schema` | +| `class User(BaseModel):` | **Violation** — missing `Schema` suffix | +| `class User:` | Not checked — does not inherit from `BaseModel` | + +--- + +## Naming Constraints + +Naming constraints are specified in the `naming` block of a rule: + +```yaml +rules: + - name: my-rule + type: function + naming: { prefix: [is_, has_] } +apply: + - name: all + rules: [my-rule] + modules: "**" +``` + +Each rule must have exactly one naming constraint (or one `source` + `transform` pair). The constraint is evaluated against every name that passes the rule's type and filter checks. + +--- + +### `prefix` + +The name must start with one of the listed prefixes. + +**Accepted values:** a list of one or more prefix strings. + +**Example — bool-returning methods must use a semantic prefix:** + +```yaml +rules: + - name: bool-method-prefix + type: function + filter: { return_type: bool } + naming: { prefix: [is_, has_, should_] } +apply: + - name: all + rules: [bool-method-prefix] + modules: "**" +``` + +| Name | Result | +|------|--------| +| `is_active` | Pass — starts with `is_` | +| `has_permission` | Pass — starts with `has_` | +| `should_retry` | Pass — starts with `should_` | +| `validate` | **Violation** — no matching prefix | +| `check_active` | **Violation** — `check_` is not in the list | + +**Example — test functions must start with `test_`:** + +```yaml +rules: + - name: test-function-prefix + type: function + filter: { decorator: pytest.mark } + naming: { prefix: [test_] } +apply: + - name: all + rules: [test-function-prefix] + modules: "**" +``` + +| Name | Result | +|------|--------| +| `test_login_succeeds` | Pass — starts with `test_` | +| `test_invalid_token` | Pass — starts with `test_` | +| `login_succeeds` | **Violation** — missing `test_` prefix | +| `check_login` | **Violation** — `check_` is not in the list | + +--- + +### `suffix` + +The name must end with one of the listed suffixes. + +**Accepted values:** a list of one or more suffix strings. + +**Example — data-access classes must end with `Repository` or `Service`:** + +```yaml +rules: + - name: repository-suffix + type: class + naming: { suffix: [Repository, Service] } +apply: + - name: all + rules: [repository-suffix] + modules: "**" +``` + +| Name | Result | +|------|--------| +| `UserRepository` | Pass — ends with `Repository` | +| `OrderService` | Pass — ends with `Service` | +| `UserManager` | **Violation** — no matching suffix | +| `User` | **Violation** — no matching suffix | + +**Example — exception classes must end with `Error`:** + +```yaml +rules: + - name: exception-suffix + type: class + filter: { base_class: Exception } + naming: { suffix: [Error] } +apply: + - name: all + rules: [exception-suffix] + modules: "**" +``` + +| Name | Result | +|------|--------| +| `ValidationError` | Pass — ends with `Error` | +| `NotFoundError` | Pass — ends with `Error` | +| `InvalidInput` | **Violation** — does not end with `Error` | +| `NotFoundException` | **Violation** — ends with `Exception`, not `Error` | + +--- + +### `regex` + +The name must match a regular expression. + +**Accepted values:** a string containing a valid Python regular expression. + +This is the most expressive constraint — use it when `prefix`, `suffix`, or `case` are not specific enough. + +**Example — exception class names must follow a structured pattern:** + +```yaml +rules: + - name: exception-naming + type: class + filter: { base_class: Exception } + naming: { regex: "^[A-Z][a-zA-Z]+(NotFound|Invalid|Denied|Conflict|Failed)Error$" } +apply: + - name: all + rules: [exception-naming] + modules: "**" +``` + +| Name | Result | +|------|--------| +| `UserNotFoundError` | Pass — matches the pattern | +| `OrderInvalidError` | Pass — matches the pattern | +| `FilterError` | **Violation** — does not end with the required suffix group | +| `userNotFoundError` | **Violation** — does not start with an uppercase letter | + +**Example — module-level constants must be all-uppercase with underscores:** + +```yaml +rules: + - name: constant-regex + type: variable + filter: { target: constant } + naming: { regex: "^[A-Z][A-Z0-9_]*$" } +apply: + - name: all + rules: [constant-regex] + modules: "**" +``` + +| Name | Result | +|------|--------| +| `MAX_RETRIES` | Pass — all uppercase with underscores | +| `DEFAULT_TIMEOUT` | Pass — all uppercase with underscores | +| `API_V2_URL` | Pass — uppercase with digits and underscores | +| `max_retries` | **Violation** — lowercase | +| `MaxRetries` | **Violation** — mixed case | +| `_PRIVATE` | **Violation** — starts with underscore, not matched by `^[A-Z]` | + +--- + +### `source` + `transform` + +The name must be derived from another element in the code, after applying a transformation. This is used for relational naming — where the name of one thing must reflect another. + +Both fields must be specified together. + +#### `source` values + +| Value | What it reads | +|-------|--------------| +| `type_annotation` | The type annotation of the variable (e.g. `SubscriptionRepository` from `x: SubscriptionRepository`) | +| `class_name` | The name of a class defined in the module (used with `type: module`) | + +#### `transform` values + +| Value | What it does | +|-------|-------------| +| `snake_case` | Converts PascalCase or camelCase to snake_case (e.g. `SubscriptionRepository` → `subscription_repository`) | + +**Example — variable name must match its type annotation:** + +```yaml +rules: + - name: attribute-matches-type + type: variable + filter: { target: attribute } + naming: { source: type_annotation, transform: snake_case } +apply: + - name: all + rules: [attribute-matches-type] + modules: "**" +``` + +| Declaration | Result | +|-------------|--------| +| `subscription_repository: SubscriptionRepository` | Pass — name matches transformed type | +| `order_service: OrderService` | Pass — name matches transformed type | +| `repo: SubscriptionRepository` | **Violation** — `repo` does not match `subscription_repository` | +| `svc: OrderService` | **Violation** — `svc` does not match `order_service` | +| `source_object_context: ObjectContext` | Pass — name ends with `_object_context` (prefix + expected form is allowed) | + +The `{prefix}_{expected}` form is accepted. If the expected derived name is `object_context`, then `source_object_context` passes because it ends with `_object_context`. + +**Example — module filename must match the class it contains:** + +```yaml +rules: + - name: domain-module-naming + type: module + naming: { source: class_name, transform: snake_case } +apply: + - name: all + rules: [domain-module-naming] + modules: "**" +``` + +| File | Class | Result | +|------|-------|--------| +| `custom_object.py` | `CustomObject` | Pass — filename matches transformed class name | +| `order_service.py` | `OrderService` | Pass — filename matches transformed class name | +| `custom.py` | `CustomObject` | **Violation** — `custom` does not match `custom_object` | +| `service.py` | `OrderService` | **Violation** — `service` does not match `order_service` | + +--- + +### `case` + +The name must follow a specific casing convention. + +**Accepted values:** + +| Value | Pattern | Example | +|-------|---------|---------| +| `snake_case` | all lowercase, words separated by underscores | `my_variable_name` | +| `PascalCase` | each word starts with uppercase, no separators | `MyClassName` | +| `UPPER_CASE` | all uppercase, words separated by underscores | `MAX_RETRIES` | + +**Example — enforce `snake_case` for function names:** + +```yaml +rules: + - name: function-snake-case + type: function + naming: { case: snake_case } +apply: + - name: all + rules: [function-snake-case] + modules: "**" +``` + +| Name | Result | +|------|--------| +| `get_user` | Pass | +| `calculate_total_price` | Pass | +| `getUserById` | **Violation** — camelCase | +| `GetUser` | **Violation** — PascalCase | +| `GETUSER` | **Violation** — all uppercase | + +**Example — enforce UPPER_CASE for constants:** + +```yaml +rules: + - name: constant-upper-case + type: variable + filter: { target: constant } + naming: { case: UPPER_CASE } +apply: + - name: all + rules: [constant-upper-case] + modules: "**" +``` + +| Name | Result | +|------|--------| +| `MAX_RETRIES` | Pass | +| `DEFAULT_TIMEOUT` | Pass | +| `max_retries` | **Violation** — lowercase | +| `maxRetries` | **Violation** — camelCase | + +**Example — enforce PascalCase for classes:** + +```yaml +rules: + - name: class-pascal-case + type: class + naming: { case: PascalCase } +apply: + - name: all + rules: [class-pascal-case] + modules: "**" +``` + +| Name | Result | +|------|--------| +| `MyService` | Pass | +| `my_service` | **Violation** | +| `myService` | **Violation** | + +--- + ## Summary +### Rule fields + | Field | Required | Description | |-------|----------|-------------| | `name` | Yes | Unique identifier, referenced in `apply` and `# pnl: ignore` | | `type` | Yes | What kind of name to lint (`variable`, `function`, `class`, `module`, `package`) | -| `filter` | No | Narrow which names are checked (see [Filters](filters.md)) | -| `naming` | Yes | How the name must be formed (see [Naming Constraints](naming-constraints.md)) | +| `filter` | No | Narrow which names are checked | +| `naming` | Yes | How the name must be formed | + +### Rule types + +| Type | What it targets | Supported filters | Notes | +|------|----------------|-------------------|-------| +| `variable` | Variables by scope/role | `target` | Use `target` to narrow to attributes, parameters, etc. | +| `function` | Function and method definitions | `target`, `return_type`, `decorator` | | +| `class` | Class definitions | `base_class`, `decorator` | | +| `module` | Module (file) names | none | Supports `source` + `transform` | +| `package` | Package (directory) names | none | | + +### Filters + +| Filter | `variable` | `function` | `class` | `module` | `package` | +|--------|-----------|-----------|---------|---------|---------| +| `target` | `attribute`, `parameter`, `local_variable`, `constant` | `method`, `function` | — | — | — | +| `return_type` | — | any type string | — | — | — | +| `decorator` | — | any decorator name | any decorator name | — | — | +| `base_class` | — | — | any class name | — | — | + +### Naming constraints + +| Constraint | Value type | Use when | +|-----------|-----------|---------| +| `prefix` | list of strings | Names must start with one of several prefixes | +| `suffix` | list of strings | Names must end with one of several suffixes | +| `regex` | string (regex) | Names must match a complex pattern | +| `source` + `transform` | string + string | Names must be derived from another code element | +| `case` | `snake_case`, `PascalCase`, or `UPPER_CASE` | Names must follow a casing convention | diff --git a/mkdocs.yml b/mkdocs.yml index ae7875f..79a13b3 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -28,9 +28,6 @@ nav: - Configuration: getting-started/configuration.md - Guide: - Rules: guide/rules.md - - Rule Types: guide/rule-types.md - - Filters: guide/filters.md - - Naming Constraints: guide/naming-constraints.md - Apply & Modules: guide/apply-and-modules.md - Include / Exclude: guide/include-exclude.md - Inline Ignore: guide/inline-ignore.md From 641120d471ab1eea600054fa3c9d399e7e13df12 Mon Sep 17 00:00:00 2001 From: heumsi Date: Tue, 31 Mar 2026 16:33:55 +0900 Subject: [PATCH 18/20] =?UTF-8?q?=F0=9F=93=9D=20docs:=20Add=20Fields=20tab?= =?UTF-8?q?le=20under=20Structure=20in=20Rules=20page?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 (1M context) --- docs/guide/rules.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/guide/rules.md b/docs/guide/rules.md index f1977f1..029cf45 100644 --- a/docs/guide/rules.md +++ b/docs/guide/rules.md @@ -16,6 +16,15 @@ rules: The `name` is used to reference the rule in `apply` blocks and in `# pnl: ignore` comments. +### Fields + +| Field | Required | Description | +|-------|----------|-------------| +| `name` | Yes | Unique identifier, referenced in `apply` and `# pnl: ignore` | +| `type` | Yes | What kind of name to lint (`variable`, `function`, `class`, `module`, `package`) | +| `filter` | No | Narrow which names are checked (see [Filters](#filters) below) | +| `naming` | Yes | How the name must be formed (see [Naming Constraints](#naming-constraints) below) | + --- ## Types From e697d853ad3a3ef4eb0a9746ee53b2b75d514307 Mon Sep 17 00:00:00 2001 From: heumsi Date: Tue, 31 Mar 2026 16:34:24 +0900 Subject: [PATCH 19/20] =?UTF-8?q?=F0=9F=93=9D=20docs:=20Rename=20"include?= =?UTF-8?q?=20only"=20/=20"exclude=20only"=20to=20"Only=20include"=20/=20"?= =?UTF-8?q?Only=20exclude"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 (1M context) --- docs/guide/include-exclude.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/guide/include-exclude.md b/docs/guide/include-exclude.md index 491e13d..c8faff4 100644 --- a/docs/guide/include-exclude.md +++ b/docs/guide/include-exclude.md @@ -43,7 +43,7 @@ Every `.py` file in the project is a candidate for scanning. The `apply` block's --- -### `include` only +### Only `include` When only `include` is specified, only files matching the listed paths are scanned. Everything else is ignored. @@ -69,7 +69,7 @@ Use `include` when your project has multiple top-level directories and you only --- -### `exclude` only +### Only `exclude` When only `exclude` is specified, all `.py` files under the project root are scanned **except** those matching the excluded paths. From d38bad4c91368a5eaf40a24112b3731de3f1092f Mon Sep 17 00:00:00 2001 From: heumsi Date: Tue, 31 Mar 2026 16:39:57 +0900 Subject: [PATCH 20/20] =?UTF-8?q?=F0=9F=93=9D=20docs:=20Change=20site=20na?= =?UTF-8?q?me=20to=20"Python=20Naming=20Linter"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 (1M context) --- mkdocs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkdocs.yml b/mkdocs.yml index 79a13b3..dbcff37 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,4 +1,4 @@ -site_name: python-naming-linter +site_name: Python Naming Linter site_url: https://heumsi.github.io/python-naming-linter/ repo_url: https://github.com/heumsi/python-naming-linter repo_name: heumsi/python-naming-linter
-
-
-
- - - -
- - - - - - - - - - - - - - - - -
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- - -
-
- -
-
-
-

pnl supports two config file formats: a standalone YAML file or an inline section inside pyproject.toml.

-

Config File Discovery

-

When you run pnl check without --config, the tool searches upward from the current working directory for one of:

-
    -
  • .python-naming-linter.yaml
  • -
  • pyproject.toml (containing a [tool.python-naming-linter] section)
  • -
-

The first matching file is used, and its parent directory becomes the project root.

-

To use a specific config file, pass it explicitly:

-
pnl check --config path/to/config.yaml
-
- -

YAML Format

-

Create .python-naming-linter.yaml in your project root:

-
rules:
-  - name: bool-method-prefix
-    type: function
-    filter: { return_type: bool }
-    naming: { prefix: [is_, has_, should_] }
-
-apply:
-  - name: all
-    rules: [bool-method-prefix]
-    modules: "**"
-
- -

pyproject.toml Format

-

You can embed the same configuration inside pyproject.toml using the [tool.python-naming-linter] namespace:

-
[[tool.python-naming-linter.rules]]
-name = "bool-method-prefix"
-type = "function"
-
-[tool.python-naming-linter.rules.filter]
-return_type = "bool"
-
-[tool.python-naming-linter.rules.naming]
-prefix = ["is_", "has_", "should_"]
-
-[[tool.python-naming-linter.apply]]
-name = "all"
-rules = ["bool-method-prefix"]
-modules = "**"
-
- -

Both formats are equivalent — use whichever fits your project's conventions.

-

Top-Level Keys

-
- - - - - - - - - - - - - - - - - - - - - - - - -
KeyDescription
rulesList of naming rule definitions
applyList of rule-to-module mappings
includePaths to include when scanning (optional)
excludePaths to exclude when scanning (optional)
-

include / exclude

-

Control which files are scanned:

-
include:
-  - src
-exclude:
-  - src/generated/**
-
- -

Behavior:

-
    -
  • Neither — all .py files under the project root are scanned.
  • -
  • include only — only files matching the given paths are scanned.
  • -
  • exclude only — all files except those matching the given paths are scanned.
  • -
  • Bothinclude is applied first, then exclude filters within that result.
  • -
-
- - -
- - - - -
- -
-
-
-
-
- -
+
+
+
+ + + +
+ + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+ + +
+
+ +
+
+
+

pnl supports two config file formats: a standalone YAML file or an inline section inside pyproject.toml.

+

Config File Discovery

+

When you run pnl check without --config, the tool searches upward from the current working directory for one of:

+
    +
  • .python-naming-linter.yaml
  • +
  • pyproject.toml (containing a [tool.python-naming-linter] section)
  • +
+

The first matching file is used, and its parent directory becomes the project root.

+

To use a specific config file, pass it explicitly:

+
pnl check --config path/to/config.yaml
+
+ +

YAML Format

+

Create .python-naming-linter.yaml in your project root:

+
rules:
+  - name: bool-method-prefix
+    type: function
+    filter: { return_type: bool }
+    naming: { prefix: [is_, has_, should_] }
+
+apply:
+  - name: all
+    rules: [bool-method-prefix]
+    modules: "**"
+
+ +

pyproject.toml Format

+

You can embed the same configuration inside pyproject.toml using the [tool.python-naming-linter] namespace:

+
[[tool.python-naming-linter.rules]]
+name = "bool-method-prefix"
+type = "function"
+
+[tool.python-naming-linter.rules.filter]
+return_type = "bool"
+
+[tool.python-naming-linter.rules.naming]
+prefix = ["is_", "has_", "should_"]
+
+[[tool.python-naming-linter.apply]]
+name = "all"
+rules = ["bool-method-prefix"]
+modules = "**"
+
+ +

Both formats are equivalent — use whichever fits your project's conventions.

+

Top-Level Keys

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
KeyDescription
rulesList of naming rule definitions
applyList of rule-to-module mappings
includePaths to include when scanning (optional)
excludePaths to exclude when scanning (optional)
+

include / exclude

+

Control which files are scanned:

+
include:
+  - src
+exclude:
+  - src/generated/**
+
+ +

Behavior:

+
    +
  • Neither — all .py files under the project root are scanned.
  • +
  • include only — only files matching the given paths are scanned.
  • +
  • exclude only — all files except those matching the given paths are scanned.
  • +
  • Bothinclude is applied first, then exclude filters within that result.
  • +
+
+ + +
+ + + + +
+ +
+
+
+
+
+ +