WIP documentation book

This commit is contained in:
Tony Bark 2023-01-09 15:44:41 -05:00
parent 7c3230685b
commit 31e6c2d099
20 changed files with 281 additions and 12 deletions

4
docs/.vscode/settings.json vendored Normal file
View file

@ -0,0 +1,4 @@
{
"editor.tabCompletion": "on",
"diffEditor.codeLens": true
}

25
docs/.vscode/tasks.json vendored Normal file
View file

@ -0,0 +1,25 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "mdbook build",
"problemMatcher": []
},
{
"label": "clean",
"type": "shell",
"command": "mdbook clean",
"problemMatcher": []
},
{
"label": "serve",
"type": "shell",
"command": "mdbook serve",
"problemMatcher": []
}
]
}

17
docs/book.toml Normal file
View file

@ -0,0 +1,17 @@
[book]
authors = ["Tony Bark"]
language = "en"
multilingual = false
src = "src"
title = "TOMAS"
[build]
create-missing = false
[output.html]
no-section-label = true
git-repository-url = "https://github.com/tonytins/tomas"
additional-css = ["custom.css"]
[output.html.fold]
enable = true

3
docs/custom.css Normal file
View file

@ -0,0 +1,3 @@
code {
white-space : pre-wrap !important;
}

9
docs/src/README.md Normal file
View file

@ -0,0 +1,9 @@
# Introduction
<p align="center">
<img title="" src="./static/imgs/logo.svg" width="250" alt=""">
</p>
TOMAS (**To**ny's **Ma**naged Operating **S**ystem) is a modular hobby operating system written in C# using the [COSMOS](https://github.com/CosmosOS/Cosmos) framework. It comes with a respective terminal emulator using for Core testing.
Both the kernel and terminal emulator will eventually support programs and plugins, respectfully. With the former allowing for running of native .NET executables and the latter Lua plugins, while taking advantage of the existing [interface](./design/interfaces.md) architecture.

14
docs/src/SUMMARY.md Normal file
View file

@ -0,0 +1,14 @@
# Summary
- [Introduction](./README.md)
- [Changelog](./changelog.md)
# Design
- [Interfaces](./design/interfaces.md)
- [File System]()
- [Translations]()
# Nethington
- [Compliance](./nethington/compliance.md)

23
docs/src/changelog.md Normal file
View file

@ -0,0 +1,23 @@
# Changelog
## 23.1
- With the help of ChatGPT, the ``IProgram`` interface has been rewritten to handle command line arguments. Being ChatGPT derived, it's still rough around the edges (not sure what to do with ``IArguments`` right now), but it's one hell of a jumping start!
- Speaking of, the [CST parser](https://github.com/tonytins/cstdotnet) has been rewritten to finally support arguments with the help of ChatGPT too. While I could have always looked at FreeSO's implantation for reference, that code is just awful. It will be ported back upstream ASAP!
## 23.0
- Split versioning systems between kernal and terminal
- Calendar versioning, `YY.MINOR.MICRO`, for kernal
- Semantic versioning for terminal
- If the file system is activate, system activity will be logged
- Build number based on commit hash
Due to the huge time skip and architectural changes, I've (retroactively) switched to calendar versioning with ``v0.1`` now known as ``v20.1`` as well.
## 20.1
- Filesystem (based on the Cosmos Wiki [guide](https://csos-guide-to-cosmos.fandom.com/wiki/Getting_Started_-_Materials_and_Setting_Up))
- Semantic versioning
- Replaced BasicApp with AboutApp
- Removd TerminalCancelEventArgs and everything related to it

View file

@ -0,0 +1,3 @@
# File System
Since 19.1, a virtual file system was introduced based on ``CosmosVFS`` and ``VFSManager``, respectfully.

View file

@ -0,0 +1,29 @@
# Interfaces
Since 19.1, TOMAS uses a modular interface design for writing and executing programs. At the moment, the operating system doesn't yet support loading assemblies that would take advantage of this API, but it is being looked into.
## Design
``IProgram`` is used to create the actual program while ``IShell`` executes the respective program from a dictionary. While still early in development, the approach has allowed for easy migration from one major release of COSMOS to another with little to no modifications of the code itself.
```csharp
public interface IProgram
{
string Name { get; }
string Description { get; }
bool Entry(IShell shell, IEnumerable<KeyValuePair<string, object>> arguments);
}
```
```csharp
public interface IShell
{
string ReadLine { get; }
Dictionary<string, IProgram> Programs { get; }
IEnumerable<KeyValuePair<string, object>>? ParseArguments(IProgram program, string[] arguments);
}
```

View file

@ -0,0 +1,3 @@
# Translations
Since 23.0, TOMAS uses a derivative of [CST.NET](https://github.com/tonytins/cstdotnet) for handling translations. Naturally, it follows the same [interface](./interfaces.md) paradigm as described in the last chapter with ``IUIText`` being renamed to ``ITranslations``, located in ``Tomas.Interface.Globalization``, but the two remain compatible. Changes made here will eventually make their way back upstream.

View file

@ -0,0 +1,7 @@
# Compliance with Regulations in Nethington
In order to comply with the Nethington[^1] government's [adoption of open-source software](https://nethington.tonybark.com/bills/drafts/hr2.html) for all government-owned computer systems, TOMAS will be used as government software. The operating system will meet the functional and technical requirements of the government and adhere to the principles of responsible and open source development. TOMAS will meet the requirements for strong track record of security and stability, and be in compliance with all applicable laws and regulations, including those outlined in [Article V](https://nethington.tonybark.com/constitution.html#article-v-cybersecurity) of the Constitution regarding cybersecurity and the use of long-term support or enterprise-grade open source software. The Nethington Cybersecurity Agency (NCA) will evaluate TOMAS and determine its suitability for use by the government. TOMAS will implement software to keep the identity of individuals working for the NCA confidential as further outlined in Article V of the Constitution.
## Footnotes
[^1]: [Nethington](https://nethington.tonybark.com) is another hobby project of mine in the form of micronation,

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View file

@ -0,0 +1,246 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
version="1.1"
viewBox="0 0 350 350.00001"
id="svg368"
sodipodi:docname="logo.svg"
width="350"
height="350"
inkscape:version="1.2 (dc2aedaf03, 2022-05-15)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs372">
<filter
style="color-interpolation-filters:sRGB;"
inkscape:label="Drop Shadow"
id="filter4772"
x="-0.08538938"
y="-0.10760133"
width="1.2050412"
height="1.2583777">
<feFlood
flood-opacity="0.498039"
flood-color="rgb(0,0,0)"
result="flood"
id="feFlood4762" />
<feComposite
in="flood"
in2="SourceGraphic"
operator="in"
result="composite1"
id="feComposite4764" />
<feGaussianBlur
in="composite1"
stdDeviation="6.23053"
result="blur"
id="feGaussianBlur4766" />
<feOffset
dx="6"
dy="6"
result="offset"
id="feOffset4768" />
<feComposite
in="offset"
in2="offset"
operator="atop"
result="fbSourceGraphic"
id="feComposite4770" />
<feColorMatrix
result="fbSourceGraphicAlpha"
in="fbSourceGraphic"
values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
id="feColorMatrix4774" />
<feFlood
id="feFlood4776"
flood-opacity="0.498039"
flood-color="rgb(0,0,0)"
result="flood"
in="fbSourceGraphic" />
<feComposite
in2="fbSourceGraphic"
id="feComposite4778"
in="flood"
operator="in"
result="composite1" />
<feGaussianBlur
id="feGaussianBlur4780"
in="composite1"
stdDeviation="6.23053"
result="blur" />
<feOffset
id="feOffset4782"
dx="6"
dy="6"
result="offset" />
<feComposite
in2="offset"
id="feComposite4784"
in="offset"
operator="atop"
result="composite2" />
</filter>
</defs>
<sodipodi:namedview
id="namedview370"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="true"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="1.0097656"
inkscape:cx="61.895551"
inkscape:cy="184.20116"
inkscape:window-width="1366"
inkscape:window-height="697"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg368" />
<g
id="g2820-5"
transform="matrix(0.82401468,0,0,0.82444568,24.616324,35.386706)"
style="filter:url(#filter4772)">
<path
fill="#ffffff"
fill-opacity="1"
d="m 335.72772,32.435374 q 2.12,0.71 4.94,0.37 0.5,-0.06 0.92,0.21 5.86,3.58 7.45,11.86 2.3,12.6 0.19,25.81 -3.78,23.68 -14.04,45.999996 -1.48,2.94 -2.52,5.19 -4.62999,9.54 -11.99999,18.50002 -8.12,9.85 -19.85,18.7 -0.4,0.3 -0.83,0.56 -14.68,9.35 -31.51,14.55 -13.25,4.09 -26.25,5.75 -9.05,1.32 -18.54,1.5 -3.64,0.32 -7.21,0.5 -3.66,0.18 -6.19,1.81 -4.45,3.32 -8.1,8.69 -2.27,1.71 -3.46,5.75 -2.78,9.41 -3.25,20.5 -0.07,1.67 1.6,1.74 13.44,0.27 24.9,-2.49 13.07,-2.67 28.75,-0.25 5.84,0.9 11.11,2.73 0.45,0.21 0.94,0.34 14.09,4.22 28.01,15.37 1.12,0.89 1.69,1.52 -7.9,0.03 -16.25,0.04 -10.8,-0.21 -19.75,3 -15.51,5.1 -26.69,14.81 -9.18,7.99 -14.75,18.5 -5.53,9.56 -10.5,21.25 -3.79,8.88 -12.12,11.63 -12.46,4.52 -25.75,2.37 -4.22,-0.68 -8.75,-2.5 -6.25,-2.01 -11.02,-6.77 -0.36,-0.35 -0.62,-0.78 -2.2,-3.63 -4.05,-8.26 -5.82,-14.54 -14.69,-26.06 -7.04,-9.16 -16.87,-15.38 -19.119998,-12.04 -42.689998,-12.06 -0.5,0 -0.99,-0.08 -3.75,-0.59 -9.51,-0.46 1.62,-2.37 4.73,-3.81 0.46,-0.21 0.87,-0.5 14.69,-10.43 33.4,-14.65 4.729998,-1.07 10.249998,-1 11.9,-0.42 21.25,1 0.68,0.1 1.25,0.5 11.01,1.35 25.26,1.25 1.24,-0.01 0.94,-1.21 -0.78,-3.86 -1.64,-8.1 -1.84,-8.73 -6.31,-15.94 -0.56,-0.91 -1.25,-1.29 -3.15,-6.24 -9.94,-10.27 -4.68,-2.78 -11.27,-1.94 -0.15,-0.25 -0.79,-0.25 -28.829998,0.04 -53.479998,-10.61 -0.46,-0.2 -0.93,-0.36 -13.76,-4.57 -24.78,-13.84 -2.28,-1.92 -4.62,-3.88 -5.92,-4.34 -8.98,-9.08 -0.27,-0.42 -0.61,-0.79 -6.47,-7.48 -11.29,-16.50002 -1.92,-3.59 -4.27,-7.19 -0.99,-2.62 -2,-4.5 -7.4,-16.569996 -11.04,-34.749996 -2.94000004,-14.7 -2.00000004,-29 0.25,-6.28 2.31000004,-11.44 2.45,-5.5 9.19,-6.06 6.67,-0.77 13.44,0.06 3.84,0.47 7.81,1.19 4.22,0.67 7.48,2.11 0.46,0.2 0.95,0.27 4.24,0.55 8.06,2.34 0.45,0.22 0.84,-0.1 0.19,-0.15 0.92,0.42 -0.14,0.78 1.25,1.46 6.01,2.69 11.44,5.81 1.89,1.09 3.52,1.85 0.48,0.15 0.88,0.44 8.77,6.03 17.85,12.46 12.36,8.82 24.119998,23.38 8.9,11.01 17.32,21.729996 0.31,0.39 0.59,0.8 18.5,26.91002 38.25,55.24002 1.02,1.46 2.78,1.65 2.77,0.29 10.15,0.08 1.81,-0.06 2.88,-1.51 12.98,-17.37 25.72,-36.43002 14.56,-21.79 30.61,-40.679996 0.33,-0.38 0.68,-0.74 8.07,-8.37 18.4,-18.89 2.18,-2.22 4.37,-3.63 4.96,-2.72 10,-6.5 16.1,-12.05 34.69,-18.52 2.51,-0.76 5,-1.33 1.81,0.09 2.75,-0.92 6.86,-2.2 15.49999,-2.29 0.5,0 0.98,-0.13 2.38,-0.67 4.77,0.13 z M 252.91773,141.24539 q 2.35,2.03 5.31,2.94 4.52,1.66 10.5,0.5 15.33,-3.04 26.44,-12.06002 13.64,-11.08 22.62,-25.63 6.66,-10.699996 10.63,-20.619996 6.55999,-16.41 5.56999,-35.43 -0.03,-0.6 -0.58,-0.37 -12.01999,4.83 -23.11999,9.92 -20.41,9.38 -37.75,25.75 -5.21,4.78 -9.62,10.38 -6.98,8.849996 -11.88,19.619996 -3.07,6.62 -3.37,14.13 -0.03,2.99002 2,6.87002 1.25,2.44 3.25,4 z M 49.417732,127.99537 q 11.13,10.11002 25.25,15.00002 5.71,1.9 11.81,1.94 5.16,0.33 9.44,-2.56 6.129998,-4.14 6.059998,-12.69002 -0.12,-6.12 -2.689998,-12.56 -4.66,-11.7 -13,-20.999996 -5.47,-5.89 -10.48,-11.57 -0.33,-0.37 -0.71,-0.69 -13.41,-11.14 -28,-19.62 -0.43,-0.25 -0.88,-0.47 -13.38,-6.57 -29.24,-11.59 -1.81,-0.57 -1.75,1.25 0.59,26.98 14.44,50.559996 8.16,13.91 19.75,24 z M 161.80773,303.07539 q 2.65,1.57 6.17,1.61 6,0.06 12,0 3.25,0.04 6.03,-0.59 1.69,-0.42 2.21,-2.08 1.8,-6.41 -0.18,-12.39 -1.08,-4.05 -5.06,-4.94 -6.85,-1.53 -15.5,-0.77 -0.5,0.02 -0.98,0.14 -3.98,1.01 -5.71,4.69 -1.18,2.51 -2.1,4.49 -0.21,0.45 -0.07,0.93 0.62,2.08 0.92,5.46 0.21,2.33 2.27,3.45 z"
id="path280-3"
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-opacity:1" />
<path
fill="#7c91ad"
fill-opacity="1"
d="m 314.47773,34.725374 q -0.94,1.01 -2.75,0.92 0.89,-1.01 2.75,-0.92 z"
id="path282-5"
style="stroke:none" />
<path
fill="#017aff"
fill-opacity="1"
d="m 306.72773,36.975374 q -18.59,6.47 -34.69,18.52 -5.04,3.78 -10,6.5 -2.19,1.41 -4.37,3.63 -10.33,10.52 -18.4,18.89 -0.35,0.36 -0.68,0.74 -16.05,18.889996 -30.61,40.679996 -12.74,19.06002 -25.72,36.43002 -1.07,1.45 -2.88,1.51 -7.38,0.21 -10.15,-0.08 -1.76,-0.19 -2.78,-1.65 -19.75,-28.33 -38.25,-55.24002 -0.28,-0.41 -0.59,-0.8 -8.42,-10.719996 -17.32,-21.729996 -11.759998,-14.56 -24.119998,-23.38 -9.08,-6.43 -17.85,-12.46 -0.4,-0.29 -0.88,-0.44 -1.63,-0.76 -3.52,-1.85 -5.43,-3.12 -11.44,-5.81 -1.39,-0.68 -1.25,-1.46 7.37,1.63 13.44,4.52 4.92,2.35 9.34,4.28 0.47,0.16 0.91,0.4 8.89,4.86 17.75,10.82 9.959998,6.7 18.649998,15.64 0.35,0.36 0.73,0.68 7.58,6.24 16.62,11.93 1.77,1.12 3.79,0.56 12.35,-3.86 25.02,-5.87 7.86,-1.25 16.25,-1 21.47,-0.57 40,7.25 3.56,1.5 5.69,-0.06 4.62,-3.99 9.62,-6.88 5.18,-2.88 9.5,-7.5 3.61,-3.85 6.63,-6.37 22.23,-17.67 46.28,-25.84 0.47,-0.16 0.9,-0.41 6.64,-3.76 14.38,-4.15 z"
id="path284-5"
style="stroke:none;stroke-opacity:1" />
<path
fill="#ffbb00"
fill-opacity="1"
d="m 333.98772,50.945374 q 0.99,19.02 -5.56999,35.43 -3.97,9.92 -10.63,20.619996 -8.98,14.55 -22.62,25.63 -11.11,9.02002 -26.44,12.06002 -5.98,1.16 -10.5,-0.5 -2.96,-0.91 -5.31,-2.94 -2,-1.56 -3.25,-4 -2.03,-3.88 -2,-6.87002 0.3,-7.51 3.37,-14.13 4.9,-10.77 11.88,-19.619996 4.41,-5.6 9.62,-10.38 17.34,-16.37 37.75,-25.75 11.1,-5.09 23.11999,-9.92 0.55,-0.23 0.58,0.37 z"
id="path286-3"
style="stroke:none;stroke-opacity:1" />
<path
fill="#ffbb00"
fill-opacity="1"
d="m 16.977732,52.185374 q 15.86,5.02 29.24,11.59 0.45,0.22 0.88,0.47 14.59,8.48 28,19.62 0.38,0.32 0.71,0.69 5.01,5.68 10.48,11.57 8.34,9.299996 13,20.999996 2.569998,6.44 2.689998,12.56 0.07,8.55002 -6.059998,12.69002 -4.28,2.89 -9.44,2.56 -6.1,-0.04 -11.81,-1.94 -14.12,-4.89 -25.25,-15.00002 -11.59,-10.09 -19.75,-24 -13.85,-23.579996 -14.44,-50.559996 -0.06,-1.82 1.75,-1.25 z"
id="path288-7"
style="stroke:none;stroke-opacity:1" />
<path
fill="#374a6c"
fill-opacity="1"
d="m 13.267732,113.93537 q 1.01,1.88 2,4.5 -0.04,0.25 -0.08,0.5 -2.73,-2.53 -1.92,-5 z"
id="path294-3"
style="stroke:none" />
<path
fill="#017aff"
fill-opacity="1"
d="m 335.18772,116.68537 q -0.33,2.6 -1.71,5.25 -5.49999,10.59 -10.70999,20.87002 -0.23,0.44 -0.41,0.91 -4.39,11 -8.88,22.47 -2.29,5.85 -3.94,12.31 -4.37,16.87 -6.56,33.44 -1.73,13.1 -2.89,25.82 -0.05,0.49 -0.55,0.47 -2.65,-0.13 -7.06,-0.58 -0.57,-0.63 -1.69,-1.52 -13.92,-11.15 -28.01,-15.37 -0.49,-0.13 -0.94,-0.34 -5.27,-1.83 -11.11,-2.73 -15.68,-2.42 -28.75,0.25 -11.46,2.76 -24.9,2.49 -1.67,-0.07 -1.6,-1.74 0.47,-11.09 3.25,-20.5 1.19,-4.04 3.46,-5.75 -0.45,1.79 -1.03,3.28 -0.18,0.47 -0.05,0.95 1.48,5.55 5.93,11.21 6.14,8.03 16.19,6.31 5.87,-1 9.31,-7.19 3.56,-5.97 2.44,-12.81 -0.95,-5.81 -6.56,-9.44 -2.39,-1.54 -4.88,-2.37 -0.14,-0.08 0.15,-0.94 9.49,-0.18 18.54,-1.5 13,-1.66 26.25,-5.75 16.83,-5.2 31.51,-14.55 0.43,-0.26 0.83,-0.56 11.73,-8.85 19.85,-18.7 7.37,-8.96002 11.99999,-18.50002 1.04,-2.25 2.52,-5.19 z"
id="path296-6"
style="stroke:none;stroke-opacity:1" />
<path
fill="#017aff"
fill-opacity="1"
d="m 15.267732,118.43537 q 2.35,3.6 4.27,7.19 4.82,9.02002 11.29,16.50002 0.34,0.37 0.61,0.79 3.06,4.74 8.98,9.08 2.34,1.96 4.62,3.88 11.02,9.27 24.78,13.84 0.47,0.16 0.93,0.36 24.65,10.65 53.479998,10.61 0.64,0 0.79,0.25 0.09,0.71 -0.85,1.19 -5.65,2.45 -8.88,6.87 -4.25,5.83 -1.7,13.56 0.67,2.25 2.14,4.08 4.68,5.81 12.02,7.91 0.48,0.14 0.98,0.19 5.39,0.55 9.94,-1.86 5.58,-2.95 7.31,-8.94 1.43,-4.95 0.25,-9 -0.35,-1.22 0,-1.79 0.69,0.38 1.25,1.29 4.47,7.21 6.31,15.94 0.86,4.24 1.64,8.1 0.3,1.2 -0.94,1.21 -14.25,0.1 -25.26,-1.25 -0.57,-0.4 -1.25,-0.5 -9.35,-1.42 -21.25,-1 -5.52,-0.07 -10.249998,1 -18.71,4.22 -33.4,14.65 -0.41,0.29 -0.87,0.5 -3.11,1.44 -4.73,3.81 -4.1,0.12 -7.69,0 -0.5,-0.02 -0.53,-0.52 -0.91,-8.25 -1.28,-16.94 -0.3,-9.81 -2.25,-18 -2.6,-10.92 -4.47,-20.45 -0.09,-0.49 -0.24,-0.97 -5.63,-17.93 -12.92,-36.3 -0.18,-0.47 -0.45,-0.89 -7.87,-12.27002 -12.46,-23.89002 0.04,-0.25 0.08,-0.5 z"
id="path298-4"
style="stroke:none;stroke-opacity:1" />
<path
fill="#0e141d"
fill-opacity="1"
d="m 125.01773,180.93539 q 6.59,-0.84 11.27,1.94 6.79,4.03 9.94,10.27 -0.35,0.57 0,1.79 1.18,4.05 -0.25,9 -1.73,5.99 -7.31,8.94 -4.55,2.41 -9.94,1.86 -0.5,-0.05 -0.98,-0.19 -7.34,-2.1 -12.02,-7.91 -1.47,-1.83 -2.14,-4.08 -2.55,-7.73 1.7,-13.56 3.23,-4.42 8.88,-6.87 0.94,-0.48 0.85,-1.19 z"
id="path300-0"
style="stroke:none" />
<path
fill="#0d1120"
fill-opacity="1"
d="m 223.68773,181.43539 q -0.29,0.86 -0.15,0.94 2.49,0.83 4.88,2.37 5.61,3.63 6.56,9.44 1.12,6.84 -2.44,12.81 -3.44,6.19 -9.31,7.19 -10.05,1.72 -16.19,-6.31 -4.45,-5.66 -5.93,-11.21 -0.13,-0.48 0.05,-0.95 0.58,-1.49 1.03,-3.28 3.65,-5.37 8.1,-8.69 2.53,-1.63 6.19,-1.81 3.57,-0.18 7.21,-0.5 z"
id="path302-2"
style="stroke:none" />
<path
fill="#161a47"
fill-opacity="1"
d="m 167.47773,283.91539 q 8.65,-0.76 15.5,0.77 3.98,0.89 5.06,4.94 1.98,5.98 0.18,12.39 -0.52,1.66 -2.21,2.08 -2.78,0.63 -6.03,0.59 -6,0.06 -12,0 -3.52,-0.04 -6.17,-1.61 -2.06,-1.12 -2.27,-3.45 -0.3,-3.38 -0.92,-5.46 -0.14,-0.48 0.07,-0.93 0.92,-1.98 2.1,-4.49 1.73,-3.68 5.71,-4.69 0.48,-0.12 0.98,-0.14 z"
id="path304-8"
style="stroke:none" />
</g>
<g
id="g2820"
transform="matrix(0.82401468,0,0,0.82444568,34.26914,37.541234)">
<path
fill="#ffffff"
fill-opacity="1"
d="m 335.72772,32.435374 q 2.12,0.71 4.94,0.37 0.5,-0.06 0.92,0.21 5.86,3.58 7.45,11.86 2.3,12.6 0.19,25.81 -3.78,23.68 -14.04,45.999996 -1.48,2.94 -2.52,5.19 -4.62999,9.54 -11.99999,18.50002 -8.12,9.85 -19.85,18.7 -0.4,0.3 -0.83,0.56 -14.68,9.35 -31.51,14.55 -13.25,4.09 -26.25,5.75 -9.05,1.32 -18.54,1.5 -3.64,0.32 -7.21,0.5 -3.66,0.18 -6.19,1.81 -4.45,3.32 -8.1,8.69 -2.27,1.71 -3.46,5.75 -2.78,9.41 -3.25,20.5 -0.07,1.67 1.6,1.74 13.44,0.27 24.9,-2.49 13.07,-2.67 28.75,-0.25 5.84,0.9 11.11,2.73 0.45,0.21 0.94,0.34 14.09,4.22 28.01,15.37 1.12,0.89 1.69,1.52 -7.9,0.03 -16.25,0.04 -10.8,-0.21 -19.75,3 -15.51,5.1 -26.69,14.81 -9.18,7.99 -14.75,18.5 -5.53,9.56 -10.5,21.25 -3.79,8.88 -12.12,11.63 -12.46,4.52 -25.75,2.37 -4.22,-0.68 -8.75,-2.5 -6.25,-2.01 -11.02,-6.77 -0.36,-0.35 -0.62,-0.78 -2.2,-3.63 -4.05,-8.26 -5.82,-14.54 -14.69,-26.06 -7.04,-9.16 -16.87,-15.38 -19.119998,-12.04 -42.689998,-12.06 -0.5,0 -0.99,-0.08 -3.75,-0.59 -9.51,-0.46 1.62,-2.37 4.73,-3.81 0.46,-0.21 0.87,-0.5 14.69,-10.43 33.4,-14.65 4.729998,-1.07 10.249998,-1 11.9,-0.42 21.25,1 0.68,0.1 1.25,0.5 11.01,1.35 25.26,1.25 1.24,-0.01 0.94,-1.21 -0.78,-3.86 -1.64,-8.1 -1.84,-8.73 -6.31,-15.94 -0.56,-0.91 -1.25,-1.29 -3.15,-6.24 -9.94,-10.27 -4.68,-2.78 -11.27,-1.94 -0.15,-0.25 -0.79,-0.25 -28.829998,0.04 -53.479998,-10.61 -0.46,-0.2 -0.93,-0.36 -13.76,-4.57 -24.78,-13.84 -2.28,-1.92 -4.62,-3.88 -5.92,-4.34 -8.98,-9.08 -0.27,-0.42 -0.61,-0.79 -6.47,-7.48 -11.29,-16.50002 -1.92,-3.59 -4.27,-7.19 -0.99,-2.62 -2,-4.5 -7.4,-16.569996 -11.04,-34.749996 -2.94000004,-14.7 -2.00000004,-29 0.25,-6.28 2.31000004,-11.44 2.45,-5.5 9.19,-6.06 6.67,-0.77 13.44,0.06 3.84,0.47 7.81,1.19 4.22,0.67 7.48,2.11 0.46,0.2 0.95,0.27 4.24,0.55 8.06,2.34 0.45,0.22 0.84,-0.1 0.19,-0.15 0.92,0.42 -0.14,0.78 1.25,1.46 6.01,2.69 11.44,5.81 1.89,1.09 3.52,1.85 0.48,0.15 0.88,0.44 8.77,6.03 17.85,12.46 12.36,8.82 24.119998,23.38 8.9,11.01 17.32,21.729996 0.31,0.39 0.59,0.8 18.5,26.91002 38.25,55.24002 1.02,1.46 2.78,1.65 2.77,0.29 10.15,0.08 1.81,-0.06 2.88,-1.51 12.98,-17.37 25.72,-36.43002 14.56,-21.79 30.61,-40.679996 0.33,-0.38 0.68,-0.74 8.07,-8.37 18.4,-18.89 2.18,-2.22 4.37,-3.63 4.96,-2.72 10,-6.5 16.1,-12.05 34.69,-18.52 2.51,-0.76 5,-1.33 1.81,0.09 2.75,-0.92 6.86,-2.2 15.49999,-2.29 0.5,0 0.98,-0.13 2.38,-0.67 4.77,0.13 z M 252.91773,141.24539 q 2.35,2.03 5.31,2.94 4.52,1.66 10.5,0.5 15.33,-3.04 26.44,-12.06002 13.64,-11.08 22.62,-25.63 6.66,-10.699996 10.63,-20.619996 6.55999,-16.41 5.56999,-35.43 -0.03,-0.6 -0.58,-0.37 -12.01999,4.83 -23.11999,9.92 -20.41,9.38 -37.75,25.75 -5.21,4.78 -9.62,10.38 -6.98,8.849996 -11.88,19.619996 -3.07,6.62 -3.37,14.13 -0.03,2.99002 2,6.87002 1.25,2.44 3.25,4 z M 49.417732,127.99537 q 11.13,10.11002 25.25,15.00002 5.71,1.9 11.81,1.94 5.16,0.33 9.44,-2.56 6.129998,-4.14 6.059998,-12.69002 -0.12,-6.12 -2.689998,-12.56 -4.66,-11.7 -13,-20.999996 -5.47,-5.89 -10.48,-11.57 -0.33,-0.37 -0.71,-0.69 -13.41,-11.14 -28,-19.62 -0.43,-0.25 -0.88,-0.47 -13.38,-6.57 -29.24,-11.59 -1.81,-0.57 -1.75,1.25 0.59,26.98 14.44,50.559996 8.16,13.91 19.75,24 z M 161.80773,303.07539 q 2.65,1.57 6.17,1.61 6,0.06 12,0 3.25,0.04 6.03,-0.59 1.69,-0.42 2.21,-2.08 1.8,-6.41 -0.18,-12.39 -1.08,-4.05 -5.06,-4.94 -6.85,-1.53 -15.5,-0.77 -0.5,0.02 -0.98,0.14 -3.98,1.01 -5.71,4.69 -1.18,2.51 -2.1,4.49 -0.21,0.45 -0.07,0.93 0.62,2.08 0.92,5.46 0.21,2.33 2.27,3.45 z"
id="path280"
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-opacity:1" />
<path
fill="#7c91ad"
fill-opacity="1"
d="m 314.47773,34.725374 q -0.94,1.01 -2.75,0.92 0.89,-1.01 2.75,-0.92 z"
id="path282"
style="stroke:none" />
<path
fill="#017aff"
fill-opacity="1"
d="m 306.72773,36.975374 q -18.59,6.47 -34.69,18.52 -5.04,3.78 -10,6.5 -2.19,1.41 -4.37,3.63 -10.33,10.52 -18.4,18.89 -0.35,0.36 -0.68,0.74 -16.05,18.889996 -30.61,40.679996 -12.74,19.06002 -25.72,36.43002 -1.07,1.45 -2.88,1.51 -7.38,0.21 -10.15,-0.08 -1.76,-0.19 -2.78,-1.65 -19.75,-28.33 -38.25,-55.24002 -0.28,-0.41 -0.59,-0.8 -8.42,-10.719996 -17.32,-21.729996 -11.759998,-14.56 -24.119998,-23.38 -9.08,-6.43 -17.85,-12.46 -0.4,-0.29 -0.88,-0.44 -1.63,-0.76 -3.52,-1.85 -5.43,-3.12 -11.44,-5.81 -1.39,-0.68 -1.25,-1.46 7.37,1.63 13.44,4.52 4.92,2.35 9.34,4.28 0.47,0.16 0.91,0.4 8.89,4.86 17.75,10.82 9.959998,6.7 18.649998,15.64 0.35,0.36 0.73,0.68 7.58,6.24 16.62,11.93 1.77,1.12 3.79,0.56 12.35,-3.86 25.02,-5.87 7.86,-1.25 16.25,-1 21.47,-0.57 40,7.25 3.56,1.5 5.69,-0.06 4.62,-3.99 9.62,-6.88 5.18,-2.88 9.5,-7.5 3.61,-3.85 6.63,-6.37 22.23,-17.67 46.28,-25.84 0.47,-0.16 0.9,-0.41 6.64,-3.76 14.38,-4.15 z"
id="path284"
style="stroke:none;stroke-opacity:1" />
<path
fill="#ffbb00"
fill-opacity="1"
d="m 333.98772,50.945374 q 0.99,19.02 -5.56999,35.43 -3.97,9.92 -10.63,20.619996 -8.98,14.55 -22.62,25.63 -11.11,9.02002 -26.44,12.06002 -5.98,1.16 -10.5,-0.5 -2.96,-0.91 -5.31,-2.94 -2,-1.56 -3.25,-4 -2.03,-3.88 -2,-6.87002 0.3,-7.51 3.37,-14.13 4.9,-10.77 11.88,-19.619996 4.41,-5.6 9.62,-10.38 17.34,-16.37 37.75,-25.75 11.1,-5.09 23.11999,-9.92 0.55,-0.23 0.58,0.37 z"
id="path286"
style="stroke:none;stroke-opacity:1" />
<path
fill="#ffbb00"
fill-opacity="1"
d="m 16.977732,52.185374 q 15.86,5.02 29.24,11.59 0.45,0.22 0.88,0.47 14.59,8.48 28,19.62 0.38,0.32 0.71,0.69 5.01,5.68 10.48,11.57 8.34,9.299996 13,20.999996 2.569998,6.44 2.689998,12.56 0.07,8.55002 -6.059998,12.69002 -4.28,2.89 -9.44,2.56 -6.1,-0.04 -11.81,-1.94 -14.12,-4.89 -25.25,-15.00002 -11.59,-10.09 -19.75,-24 -13.85,-23.579996 -14.44,-50.559996 -0.06,-1.82 1.75,-1.25 z"
id="path288"
style="stroke:none;stroke-opacity:1" />
<path
fill="#374a6c"
fill-opacity="1"
d="m 13.267732,113.93537 q 1.01,1.88 2,4.5 -0.04,0.25 -0.08,0.5 -2.73,-2.53 -1.92,-5 z"
id="path294"
style="stroke:none" />
<path
fill="#017aff"
fill-opacity="1"
d="m 335.18772,116.68537 q -0.33,2.6 -1.71,5.25 -5.49999,10.59 -10.70999,20.87002 -0.23,0.44 -0.41,0.91 -4.39,11 -8.88,22.47 -2.29,5.85 -3.94,12.31 -4.37,16.87 -6.56,33.44 -1.73,13.1 -2.89,25.82 -0.05,0.49 -0.55,0.47 -2.65,-0.13 -7.06,-0.58 -0.57,-0.63 -1.69,-1.52 -13.92,-11.15 -28.01,-15.37 -0.49,-0.13 -0.94,-0.34 -5.27,-1.83 -11.11,-2.73 -15.68,-2.42 -28.75,0.25 -11.46,2.76 -24.9,2.49 -1.67,-0.07 -1.6,-1.74 0.47,-11.09 3.25,-20.5 1.19,-4.04 3.46,-5.75 -0.45,1.79 -1.03,3.28 -0.18,0.47 -0.05,0.95 1.48,5.55 5.93,11.21 6.14,8.03 16.19,6.31 5.87,-1 9.31,-7.19 3.56,-5.97 2.44,-12.81 -0.95,-5.81 -6.56,-9.44 -2.39,-1.54 -4.88,-2.37 -0.14,-0.08 0.15,-0.94 9.49,-0.18 18.54,-1.5 13,-1.66 26.25,-5.75 16.83,-5.2 31.51,-14.55 0.43,-0.26 0.83,-0.56 11.73,-8.85 19.85,-18.7 7.37,-8.96002 11.99999,-18.50002 1.04,-2.25 2.52,-5.19 z"
id="path296"
style="stroke:none;stroke-opacity:1" />
<path
fill="#017aff"
fill-opacity="1"
d="m 15.267732,118.43537 q 2.35,3.6 4.27,7.19 4.82,9.02002 11.29,16.50002 0.34,0.37 0.61,0.79 3.06,4.74 8.98,9.08 2.34,1.96 4.62,3.88 11.02,9.27 24.78,13.84 0.47,0.16 0.93,0.36 24.65,10.65 53.479998,10.61 0.64,0 0.79,0.25 0.09,0.71 -0.85,1.19 -5.65,2.45 -8.88,6.87 -4.25,5.83 -1.7,13.56 0.67,2.25 2.14,4.08 4.68,5.81 12.02,7.91 0.48,0.14 0.98,0.19 5.39,0.55 9.94,-1.86 5.58,-2.95 7.31,-8.94 1.43,-4.95 0.25,-9 -0.35,-1.22 0,-1.79 0.69,0.38 1.25,1.29 4.47,7.21 6.31,15.94 0.86,4.24 1.64,8.1 0.3,1.2 -0.94,1.21 -14.25,0.1 -25.26,-1.25 -0.57,-0.4 -1.25,-0.5 -9.35,-1.42 -21.25,-1 -5.52,-0.07 -10.249998,1 -18.71,4.22 -33.4,14.65 -0.41,0.29 -0.87,0.5 -3.11,1.44 -4.73,3.81 -4.1,0.12 -7.69,0 -0.5,-0.02 -0.53,-0.52 -0.91,-8.25 -1.28,-16.94 -0.3,-9.81 -2.25,-18 -2.6,-10.92 -4.47,-20.45 -0.09,-0.49 -0.24,-0.97 -5.63,-17.93 -12.92,-36.3 -0.18,-0.47 -0.45,-0.89 -7.87,-12.27002 -12.46,-23.89002 0.04,-0.25 0.08,-0.5 z"
id="path298"
style="stroke:none;stroke-opacity:1" />
<path
fill="#0e141d"
fill-opacity="1"
d="m 125.01773,180.93539 q 6.59,-0.84 11.27,1.94 6.79,4.03 9.94,10.27 -0.35,0.57 0,1.79 1.18,4.05 -0.25,9 -1.73,5.99 -7.31,8.94 -4.55,2.41 -9.94,1.86 -0.5,-0.05 -0.98,-0.19 -7.34,-2.1 -12.02,-7.91 -1.47,-1.83 -2.14,-4.08 -2.55,-7.73 1.7,-13.56 3.23,-4.42 8.88,-6.87 0.94,-0.48 0.85,-1.19 z"
id="path300"
style="stroke:none" />
<path
fill="#0d1120"
fill-opacity="1"
d="m 223.68773,181.43539 q -0.29,0.86 -0.15,0.94 2.49,0.83 4.88,2.37 5.61,3.63 6.56,9.44 1.12,6.84 -2.44,12.81 -3.44,6.19 -9.31,7.19 -10.05,1.72 -16.19,-6.31 -4.45,-5.66 -5.93,-11.21 -0.13,-0.48 0.05,-0.95 0.58,-1.49 1.03,-3.28 3.65,-5.37 8.1,-8.69 2.53,-1.63 6.19,-1.81 3.57,-0.18 7.21,-0.5 z"
id="path302"
style="stroke:none" />
<path
fill="#161a47"
fill-opacity="1"
d="m 167.47773,283.91539 q 8.65,-0.76 15.5,0.77 3.98,0.89 5.06,4.94 1.98,5.98 0.18,12.39 -0.52,1.66 -2.21,2.08 -2.78,0.63 -6.03,0.59 -6,0.06 -12,0 -3.52,-0.04 -6.17,-1.61 -2.06,-1.12 -2.27,-3.45 -0.3,-3.38 -0.92,-5.46 -0.14,-0.48 0.07,-0.93 0.92,-1.98 2.1,-4.49 1.73,-3.68 5.71,-4.69 0.48,-0.12 0.98,-0.14 z"
id="path304"
style="stroke:none" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.