Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a8014da10b | ||
|
|
f6080013e3 | ||
|
|
fc54c6e496 | ||
|
|
04cd107651 | ||
|
|
19cabdfde6 | ||
|
|
af7fbe6bb4 | ||
|
|
3d58b437b4 | ||
|
|
83921a45df | ||
|
|
11c9802268 | ||
|
|
a60e0d424d | ||
|
|
db1fb29c63 | ||
|
|
a5f0dba5cf | ||
|
|
754680d8e9 | ||
|
|
05773ce189 | ||
|
|
aeae9deb01 | ||
|
|
f3749e83ec | ||
|
|
c2db4e8542 | ||
|
|
52a7696618 | ||
|
|
7bf17392dd | ||
|
|
fb06eb3c0c | ||
|
|
753135a80d | ||
|
|
c05e1cb8e7 | ||
|
|
48b7e6ca50 | ||
|
|
dbe2b8a5fb | ||
|
|
80487eb62d | ||
|
|
6e66b26b88 | ||
|
|
9990666076 | ||
|
|
97e5a5edc3 | ||
|
|
2b5c6ce8fb | ||
|
|
0aac62d03a | ||
|
|
4058abf16e | ||
|
|
4357410b10 | ||
|
|
734365b216 | ||
|
|
abb7cc2075 | ||
|
|
c273a78560 | ||
|
|
718269e5b3 | ||
|
|
19fd7d2193 | ||
|
|
e62ffb1b87 | ||
|
|
42808161bf | ||
|
|
45ee662c56 | ||
|
|
24bfc205db | ||
|
|
cb46c0fbcc | ||
|
|
35256901b5 | ||
|
|
6933c3d938 | ||
|
|
8af71ee291 | ||
|
|
c0be6875c2 | ||
|
|
a1922ef067 | ||
|
|
cafdb2522b | ||
|
|
f7996d5e98 | ||
|
|
996dad2f5c | ||
|
|
1332e940fd | ||
|
|
19bd953d31 | ||
|
|
3a896b6964 | ||
|
|
441f0fb1b5 | ||
|
|
a02b57698a | ||
|
|
7582107ae5 | ||
|
|
2dbde5df22 | ||
|
|
7b5d123ad8 | ||
|
|
d1a7474ef6 | ||
|
|
af6f34b2ca | ||
|
|
f1294cf267 | ||
|
|
74782d413f | ||
|
|
c41c11eb34 | ||
|
|
1f09a3e6bc | ||
|
|
22f022cc22 | ||
|
|
8429494280 | ||
|
|
ddd6235acd | ||
|
|
bcc148bbd2 | ||
|
|
3792901dc7 | ||
|
|
5ffe5fd9b3 | ||
|
|
69a5b16bad | ||
|
|
21a5c5d3f2 | ||
|
|
225779bc11 | ||
|
|
b1209155f5 | ||
|
|
7cebb9472a | ||
|
|
00c3b1abc1 | ||
|
|
b1c1c0520c | ||
|
|
2bb26075f0 | ||
|
|
6746ef39be | ||
|
|
8889eaa439 | ||
|
|
95a4c284bc | ||
|
|
6951137a25 | ||
|
|
cccbca3d5e | ||
|
|
8659439829 | ||
|
|
677bc389a5 | ||
|
|
4a58ede550 | ||
|
|
3f5b0bb514 | ||
|
|
6e8e0764c1 | ||
|
|
eaa18ad624 | ||
|
|
0a32be276e | ||
|
|
271c958381 | ||
|
|
ca1d99b112 | ||
|
|
90dce03da2 | ||
|
|
b48bd92da3 | ||
|
|
d54c9db8c3 | ||
|
|
b194e48649 | ||
|
|
29f848d833 | ||
|
|
08154e43aa | ||
|
|
84efc55d02 | ||
|
|
a58fb320ac | ||
|
|
39057bd781 | ||
|
|
0f3b96f134 | ||
|
|
35f94b0c73 | ||
|
|
b82b9a64e6 | ||
|
|
901652aaeb | ||
|
|
6c9a3b634b | ||
|
|
0561aba927 | ||
|
|
86a78f53cb | ||
|
|
f0bc74ff6e | ||
|
|
f81128f717 | ||
|
|
9ce505cad3 | ||
|
|
6b8635f7d5 | ||
|
|
388ffe9f00 | ||
|
|
d01129a3cf | ||
|
|
535ea0ad9f | ||
|
|
ccb5de6df1 | ||
|
|
cdcfc652db | ||
|
|
7030dadbcb | ||
|
|
46a9fdb61d | ||
|
|
9958b876cf | ||
|
|
259d3a0155 | ||
|
|
33499be425 | ||
|
|
3fd44f5260 | ||
|
|
c076275bd0 | ||
|
|
081447ba2e | ||
|
|
3df7af12e1 | ||
|
|
d9e4ce5639 | ||
|
|
35b75f0f7f | ||
|
|
2609849507 | ||
|
|
448b94f701 | ||
|
|
18002a7580 | ||
|
|
1414bdcadf | ||
|
|
b6e68ba1a8 | ||
|
|
19142d97bb | ||
|
|
faf7e09ebb | ||
|
|
4959a51ce7 | ||
|
|
5bab4131e1 |
No files matched your search
@@ -10,7 +10,7 @@ jobs:
|
||||
name: Add issue to project
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/add-to-project@v0.4.0
|
||||
- uses: actions/add-to-project@v1.0.1
|
||||
with:
|
||||
project-url: https://github.com/orgs/GNS3/projects/3
|
||||
github-token: ${{ secrets.ADD_NEW_ISSUES_TO_PROJECT }}
|
||||
@@ -13,58 +13,81 @@ name: "CodeQL"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ "master" ]
|
||||
pull_request:
|
||||
# The branches below must be a subset of the branches above
|
||||
branches: [ master ]
|
||||
branches: [ "master" ]
|
||||
schedule:
|
||||
- cron: '44 1 * * 3'
|
||||
- cron: '21 12 * * 4'
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze
|
||||
runs-on: ubuntu-latest
|
||||
name: Analyze (${{ matrix.language }})
|
||||
# Runner size impacts CodeQL analysis time. To learn more, please see:
|
||||
# - https://gh.io/recommended-hardware-resources-for-running-codeql
|
||||
# - https://gh.io/supported-runners-and-hardware-resources
|
||||
# - https://gh.io/using-larger-runners (GitHub.com only)
|
||||
# Consider using larger runners or machines with greater resources for possible analysis time improvements.
|
||||
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
|
||||
timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }}
|
||||
permissions:
|
||||
# required for all workflows
|
||||
security-events: write
|
||||
|
||||
# required to fetch internal or private CodeQL packs
|
||||
packages: read
|
||||
|
||||
# only required for workflows in private repositories
|
||||
actions: read
|
||||
contents: read
|
||||
security-events: write
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
language: [ 'python' ]
|
||||
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
|
||||
# Learn more about CodeQL language support at https://git.io/codeql-language-support
|
||||
|
||||
include:
|
||||
- language: python
|
||||
build-mode: none
|
||||
# CodeQL supports the following values keywords for 'language': 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift'
|
||||
# Use `c-cpp` to analyze code written in C, C++ or both
|
||||
# Use 'java-kotlin' to analyze code written in Java, Kotlin or both
|
||||
# Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
|
||||
# To learn more about changing the languages that are analyzed or customizing the build mode for your analysis,
|
||||
# see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.
|
||||
# If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how
|
||||
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v4
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v1
|
||||
uses: github/codeql-action/init@v3
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
build-mode: ${{ matrix.build-mode }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
# By default, queries listed here will override any specified in a config file.
|
||||
# Prefix the list here with "+" to use these queries and those in the config file.
|
||||
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
||||
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@v1
|
||||
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
|
||||
# queries: security-extended,security-and-quality
|
||||
|
||||
# If the analyze step fails for one of the languages you are analyzing with
|
||||
# "We were unable to automatically build your code", modify the matrix above
|
||||
# to set the build mode to "manual" for that language. Then modify this step
|
||||
# to build your code.
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 https://git.io/JvXDl
|
||||
|
||||
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
||||
# and modify them (or add more) to build your code if your project
|
||||
# uses a compiled language
|
||||
|
||||
#- run: |
|
||||
# make bootstrap
|
||||
# make release
|
||||
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
|
||||
- if: matrix.build-mode == 'manual'
|
||||
shell: bash
|
||||
run: |
|
||||
echo 'If you are using a "manual" build mode for one or more of the' \
|
||||
'languages you are analyzing, replace this with the commands to build' \
|
||||
'your code, for example:'
|
||||
echo ' make bootstrap'
|
||||
echo ' make release'
|
||||
exit 1
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v1
|
||||
uses: github/codeql-action/analyze@v3
|
||||
with:
|
||||
category: "/language:${{matrix.language}}"
|
||||
@@ -12,11 +12,11 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: "gh-pages"
|
||||
- uses: actions/setup-python@v3
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: 3.8
|
||||
- name: Merge changes from 3.0 branch
|
||||
|
||||
@@ -13,21 +13,35 @@ on:
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"]
|
||||
os: ["ubuntu-latest"]
|
||||
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
|
||||
#include:
|
||||
# only test with Python 3.10 on Windows
|
||||
# - os: windows-latest
|
||||
# python-version: "3.10"
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
- name: Set up Python ${{ matrix.python-version }}
|
||||
uses: actions/setup-python@v3
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
if [ -f dev-requirements.txt ]; then pip install -r dev-requirements.txt; fi
|
||||
python -m pip install -r dev-requirements.txt
|
||||
|
||||
- name: Install Windows specific dependencies
|
||||
if: runner.os == 'Windows'
|
||||
run: |
|
||||
python -m pip install -r win-requirements.txt
|
||||
curl -O "http://www.win10pcap.org/download/Win10Pcap-v10.2-5002.msi"
|
||||
msiexec /i "Win10Pcap-v10.2-5002.msi" /qn /norestart
|
||||
|
||||
- name: Lint with flake8
|
||||
run: |
|
||||
# stop the build if there are Python syntax errors or undefined names
|
||||
|
||||
@@ -1,5 +1,81 @@
|
||||
# Change Log
|
||||
|
||||
## 2.2.52 02/12/2024
|
||||
|
||||
* Bundle web-ui v2.2.52
|
||||
* Sync appliances
|
||||
* Remove restrictions based on file extension when listing images and fix ELF header checks
|
||||
* Fix use project name instead of ID for fast duplication when running local server. Fixes #2446
|
||||
* Overwrite user resources when the originals have changed.
|
||||
* Relax setuptools requirement to allow for easier Debian packaging on Ubuntu Focal & Jammy
|
||||
|
||||
## 2.2.51 07/11/2024
|
||||
|
||||
* Catch error when cannot resize Docker container TTY.
|
||||
* Do not use "ide" if there is a disk image and no interface type has been explicitly configured.
|
||||
* Use @locking when sending uBridge commands. Ref https://github.com/GNS3/gns3-gui/issues/3651
|
||||
* Fix run Docker containers with user namespaces enabled. Fixes #2414
|
||||
* Python 3.13 support
|
||||
* Upgrade dependencies
|
||||
* Fix errors in init.sh. Fixes #2431
|
||||
|
||||
## 2.2.50 21/10/2024
|
||||
|
||||
* Bundle web-ui v2.2.50
|
||||
* Symbolic links support for project export/import
|
||||
* Add comment to indicate sentry-sdk is optional. Ref https://github.com/GNS3/gns3-server/issues/2423
|
||||
* Fix issues with recent busybox versions
|
||||
* Support to reset MAC addresses for Docker nodes and some adjustments for fast duplication.
|
||||
* Update README.md to change the minimum required Python version.
|
||||
* Faster project duplication for local projects (no remote compute)
|
||||
* Improve error message when a project cannot be parsed.
|
||||
* Fix for running Docker containers with user namespaces enabled
|
||||
* Support for configuring MAC address in Docker containers
|
||||
* Upgrade aiohttp to v3.10.3
|
||||
|
||||
## 2.2.49 06/08/2024
|
||||
|
||||
* Bundle web-ui v2.2.49
|
||||
* Forbid -nic and -nicdev in Qemu additional options. Fixes https://github.com/GNS3/gns3-server/issues/2397
|
||||
* Upgrade jsonschema and sentry-sdk packages
|
||||
* Update IOU base configs to use "no ip domain lookup". Fixes #2404
|
||||
|
||||
## 2.2.48.1 12/07/2024
|
||||
|
||||
* Bundle web-ui v2.2.48.1
|
||||
|
||||
## 2.2.48 08/07/2024
|
||||
|
||||
* Bundle web-ui v2.2.48
|
||||
* Add 'install_builtin_appliances' and 'resources_path' settings in the server config
|
||||
* Option to keep the compute IDs unchanged when exporting a project
|
||||
* Forbid unsafe Qemu additional options
|
||||
* Fix error when snapshot exists with an underscore in the name
|
||||
* Upgrade sentry-sdk, psutil and aiofiles packages
|
||||
* Fix check for IPv6 enabled on host
|
||||
|
||||
## 2.2.47 15/05/2024
|
||||
|
||||
* Fix update-bundled-web-ui.sh script
|
||||
* Bundle web-ui v2.2.47
|
||||
* Change sentry-sdk version
|
||||
* Upgrade aiohttp, sentry-sdk and truststore
|
||||
* Upgrade jsonschema and aiohttp
|
||||
* Drop Python 3.7
|
||||
* Remove dev requirements for Python 3.6
|
||||
* Do not run Docker VM tests on Windows
|
||||
* Do not wait for the server to close when shutting down.
|
||||
* Fix test create image with not supported characters by filesystem. Fixes #2375
|
||||
* Allow listing x86_64 IOU images. Fixes #2376
|
||||
* Upgrade Jinja2 to version 3.1.4. Fixes #2378
|
||||
* Fix link capture for ATM switch. Fixes https://github.com/GNS3/gns3-gui/issues/3570
|
||||
* Fix tests after updating error message when busybox is not installed.
|
||||
* Add more details to error message when busybox is not installed. Fixes https://github.com/GNS3/gns3-gui/issues/3569
|
||||
* Fix invalid escape sequences
|
||||
* Add NAT symbols
|
||||
* Fix cannot stop Docker VM while console connection is still active.
|
||||
* Upgrade sentry-sdk to version 1.40.6
|
||||
|
||||
## 2.2.46 26/02/2024
|
||||
|
||||
* Bundle web-ui v2.2.46
|
||||
|
||||
@@ -79,7 +79,7 @@ must be connected to the Internet in order to install the dependencies.
|
||||
|
||||
Dependencies:
|
||||
|
||||
- Python 3.6, setuptools and the ones listed
|
||||
- Python >= 3.8, setuptools and the ones listed
|
||||
[here](https://github.com/GNS3/gns3-server/blob/master/requirements.txt)
|
||||
|
||||
The following commands will install some of these dependencies:
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
version: '{build}-{branch}'
|
||||
|
||||
image: Visual Studio 2022
|
||||
|
||||
platform: x64
|
||||
|
||||
environment:
|
||||
PYTHON: "C:\\Python38-x64"
|
||||
DISTUTILS_USE_SDK: "1"
|
||||
API_TOKEN:
|
||||
secure: VEKn4bYH3QO0ixtQW5ni4Enmn8cS1NlZV246ludBDgQ=
|
||||
|
||||
install:
|
||||
- cinst nmap
|
||||
- "%PYTHON%\\python.exe -m pip install -U pip setuptools" # upgrade pip & setuptools first
|
||||
- "%PYTHON%\\python.exe -m pip install -r dev-requirements.txt"
|
||||
- "%PYTHON%\\python.exe -m pip install -r win-requirements.txt"
|
||||
|
||||
build: off
|
||||
|
||||
test_script:
|
||||
- "%PYTHON%\\python.exe -m pytest -v"
|
||||
@@ -9,18 +9,23 @@ ssl = False
|
||||
certfile=/home/gns3/.config/GNS3/ssl/server.cert
|
||||
certkey=/home/gns3/.config/GNS3/ssl/server.key
|
||||
|
||||
; Path where devices images are stored
|
||||
; Path where binary images are stored
|
||||
images_path = /home/gns3/GNS3/images
|
||||
|
||||
; Path where user projects are stored
|
||||
projects_path = /home/gns3/GNS3/projects
|
||||
|
||||
; Path where user appliances are stored
|
||||
; Path where custom user appliances are stored
|
||||
appliances_path = /home/gns3/GNS3/appliances
|
||||
|
||||
; Path where custom device symbols are stored
|
||||
; Path where custom user symbols are stored
|
||||
symbols_path = /home/gns3/GNS3/symbols
|
||||
|
||||
; Path where files like built-in appliances and Docker resources are stored
|
||||
; The default path is the local user data directory
|
||||
; (Linux: "~/.local/share/GNS3", macOS: "~/Library/Application Support/GNS3", Windows: "%APPDATA%\GNS3")
|
||||
; resources_path = /home/gns3/GNS3/resources
|
||||
|
||||
; Option to automatically send crash reports to the GNS3 team
|
||||
report_errors = True
|
||||
|
||||
@@ -62,6 +67,9 @@ default_nat_interface = vmnet10
|
||||
; Enable the built-in templates
|
||||
enable_builtin_templates = True
|
||||
|
||||
; Install built-in appliances
|
||||
install_builtin_appliances = True
|
||||
|
||||
; check if hardware virtualization is used by other emulators (KVM, VMware or VirtualBox)
|
||||
hardware_virtualization_check = True
|
||||
|
||||
@@ -93,6 +101,8 @@ require_kvm = True
|
||||
enable_hardware_acceleration = True
|
||||
; Require hardware acceleration in order to start VMs (all platforms)
|
||||
require_hardware_acceleration = False
|
||||
; Allow unsafe additional command line options
|
||||
allow_unsafe_options = False
|
||||
|
||||
[VMware]
|
||||
; First vmnet interface of the range that can be managed by the GNS3 server
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
-rrequirements.txt
|
||||
|
||||
pytest==7.2.0; python_version >= '3.7'
|
||||
pytest==7.0.1; python_version < '3.7' # v7.0.1 is the last version to support Python 3.6
|
||||
flake8==5.0.4
|
||||
pytest-timeout==2.1.0
|
||||
pytest-aiohttp==1.0.4; python_version >= '3.7'
|
||||
pytest-aiohttp==0.3.0; python_version < '3.7' # last version to support Python 3.6
|
||||
pytest==8.3.3
|
||||
flake8==7.1.0
|
||||
pytest-timeout==2.3.1
|
||||
pytest-aiohttp==1.0.5
|
||||
@@ -30,24 +30,24 @@
|
||||
"version": "9.2",
|
||||
"md5sum": "c5bc76e8c95ac9f810a3482c80a54cc7",
|
||||
"filesize": 563347456,
|
||||
"download_url": "https://repo.almalinux.org/almalinux/9/cloud/x86_64/images/",
|
||||
"direct_download_url": "https://repo.almalinux.org/almalinux/9/cloud/x86_64/images/AlmaLinux-9-GenericCloud-9.2-20230513.x86_64.qcow2"
|
||||
"download_url": "https://vault.almalinux.org/9.2/cloud/x86_64/images/",
|
||||
"direct_download_url": "https://vault.almalinux.org/9.2/cloud/x86_64/images/AlmaLinux-9-GenericCloud-9.2-20230513.x86_64.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "AlmaLinux-8-GenericCloud-8.8-20230524.x86_64.qcow2",
|
||||
"version": "8.8",
|
||||
"md5sum": "3958c5fc25770ef63cf97aa5d93f0a0b",
|
||||
"filesize": 565444608,
|
||||
"download_url": "https://repo.almalinux.org/almalinux/8/cloud/x86_64/images/",
|
||||
"direct_download_url": "https://repo.almalinux.org/almalinux/8/cloud/x86_64/images/AlmaLinux-8-GenericCloud-8.8-20230524.x86_64.qcow2"
|
||||
"download_url": "https://vault.almalinux.org/8.8/cloud/x86_64/images/",
|
||||
"direct_download_url": "https://vault.almalinux.org/8.8/cloud/x86_64/images/AlmaLinux-8-GenericCloud-8.8-20230524.x86_64.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "AlmaLinux-8-GenericCloud-8.7-20221111.x86_64.qcow2",
|
||||
"version": "8.7",
|
||||
"md5sum": "b2b8c7fd3b6869362f3f8ed47549c804",
|
||||
"filesize": 566231040,
|
||||
"download_url": "https://repo.almalinux.org/almalinux/8/cloud/x86_64/images/",
|
||||
"direct_download_url": "https://repo.almalinux.org/almalinux/8/cloud/x86_64/images/AlmaLinux-8-GenericCloud-8.7-20221111.x86_64.qcow2"
|
||||
"download_url": "https://vault.almalinux.org/8.7/cloud/x86_64/images/",
|
||||
"direct_download_url": "https://vault.almalinux.org/8.7/cloud/x86_64/images/AlmaLinux-8-GenericCloud-8.7-20221111.x86_64.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "almalinux-cloud-init-data.iso",
|
||||
|
||||
@@ -24,9 +24,101 @@
|
||||
"hdb_disk_interface": "ide",
|
||||
"arch": "x86_64",
|
||||
"console_type": "telnet",
|
||||
"kvm": "require"
|
||||
"kvm": "require",
|
||||
"options": "-cpu host"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "vEOS64-lab-4.32.0F.vmdk",
|
||||
"version": "4.32.0F",
|
||||
"md5sum": "851771260bb18ad3e90fa6956f0c6161",
|
||||
"filesize": 591724544,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS64-lab-4.31.3M.vmdk",
|
||||
"version": "4.31.3M",
|
||||
"md5sum": "7df107da137f4a4e752014d4f0e94cd3",
|
||||
"filesize": 577961984,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS64-lab-4.30.6M.vmdk",
|
||||
"version": "4.30.6M",
|
||||
"md5sum": "19721aace820b9ebf6d7ae6524803cf5",
|
||||
"filesize": 553123840,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS64-lab-4.29.8M.vmdk",
|
||||
"version": "4.29.8M",
|
||||
"md5sum": "131888f74cd63a93894521d40eb4d0b6",
|
||||
"filesize": 548405248,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS64-lab-4.28.11M.vmdk",
|
||||
"version": "4.28.11M",
|
||||
"md5sum": "6cac0e7b04a74ee0dc358327a00accfd",
|
||||
"filesize": 513343488,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS64-lab-4.27.12M.vmdk",
|
||||
"version": "4.27.12M",
|
||||
"md5sum": "34c4f785c7fc054cda8754dd13c0d7c7",
|
||||
"filesize": 496697344,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS-lab-4.32.0F.vmdk",
|
||||
"version": "4.32.0F",
|
||||
"md5sum": "584b901a1249717504050e48f74fb8dd",
|
||||
"filesize": 591396864,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS-lab-4.31.3M.vmdk",
|
||||
"version": "4.31.3M",
|
||||
"md5sum": "a2e130697cdf8547006eebebde6eefca",
|
||||
"filesize": 590086144,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS-lab-4.30.6M.vmdk",
|
||||
"version": "4.30.6M",
|
||||
"md5sum": "a4467648bcfa7b19640af8a4ad3153c6",
|
||||
"filesize": 565968896,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS-lab-4.29.8M.vmdk",
|
||||
"version": "4.29.8M",
|
||||
"md5sum": "1952f6114a4376212c525db9ec8efd5f",
|
||||
"filesize": 558039040,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS-lab-4.28.11M.vmdk",
|
||||
"version": "4.28.11M",
|
||||
"md5sum": "5502df24dfc231c45afb33d6018c16d0",
|
||||
"filesize": 521338880,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS-lab-4.27.12M.vmdk",
|
||||
"version": "4.27.12M",
|
||||
"md5sum": "e08a97e7c1977993f947fedeb4c6ddd5",
|
||||
"filesize": 504299520,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "Aboot-veos-serial-8.0.2.iso",
|
||||
"version": "8.0.2",
|
||||
"md5sum": "8d7e754efebca1930a93a2587ff7606c",
|
||||
"filesize": 6291456,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS-lab-4.26.2F.vmdk",
|
||||
"version": "4.26.2F",
|
||||
@@ -218,6 +310,90 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "4.32.0F",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.2.iso",
|
||||
"hdb_disk_image": "vEOS64-lab-4.32.0F.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.31.3M",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.2.iso",
|
||||
"hdb_disk_image": "vEOS64-lab-4.31.3M.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.30.6M",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.2.iso",
|
||||
"hdb_disk_image": "vEOS64-lab-4.30.6M.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.29.8M",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.2.iso",
|
||||
"hdb_disk_image": "vEOS64-lab-4.29.8M.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.28.11M",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.2.iso",
|
||||
"hdb_disk_image": "vEOS64-lab-4.28.11M.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.27.12M",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.2.iso",
|
||||
"hdb_disk_image": "vEOS64-lab-4.27.12M.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.32.0F",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.2.iso",
|
||||
"hdb_disk_image": "vEOS-lab-4.32.0F.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.31.3M",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.2.iso",
|
||||
"hdb_disk_image": "vEOS-lab-4.31.3M.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.30.6M",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.2.iso",
|
||||
"hdb_disk_image": "vEOS-lab-4.30.6M.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.29.8M",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.2.iso",
|
||||
"hdb_disk_image": "vEOS-lab-4.29.8M.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.28.11M",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.2.iso",
|
||||
"hdb_disk_image": "vEOS-lab-4.28.11M.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.27.12M",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.2.iso",
|
||||
"hdb_disk_image": "vEOS-lab-4.27.12M.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.26.2F",
|
||||
"images": {
|
||||
@@ -398,4 +574,4 @@
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -32,6 +32,27 @@
|
||||
"process_priority": "normal"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "arubaoscx-disk-image-genericx86-p4-20240129204649.vmdk",
|
||||
"version": "10.13.1000",
|
||||
"md5sum": "a1a24b15e3b8a09b0c0f14bdfacc4a75",
|
||||
"filesize": 395342848,
|
||||
"download_url": "https://networkingsupport.hpe.com"
|
||||
},
|
||||
{
|
||||
"filename": "arubaoscx-disk-image-genericx86-p4-20231110145644.vmdk",
|
||||
"version": "10.13.0005",
|
||||
"md5sum": "427fd4580e2ee3eac55a9e7d629d1375",
|
||||
"filesize": 394995200,
|
||||
"download_url": "https://networkingsupport.hpe.com"
|
||||
},
|
||||
{
|
||||
"filename": "arubaoscx-disk-image-genericx86-p4-20230810165021.vmdk",
|
||||
"version": "10.12.1000",
|
||||
"md5sum": "ea89f94dda9d28bf583dc35e0299b106",
|
||||
"filesize": 384622080,
|
||||
"download_url": "https://networkingsupport.hpe.com"
|
||||
},
|
||||
{
|
||||
"filename": "arubaoscx-disk-image-genericx86-p4-20230531220439.vmdk",
|
||||
"version": "10.12.0006",
|
||||
@@ -118,6 +139,24 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "10.13.1000",
|
||||
"images": {
|
||||
"hda_disk_image": "arubaoscx-disk-image-genericx86-p4-20240129204649.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "10.13.0005",
|
||||
"images": {
|
||||
"hda_disk_image": "arubaoscx-disk-image-genericx86-p4-20231110145644.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "10.12.1000",
|
||||
"images": {
|
||||
"hda_disk_image": "arubaoscx-disk-image-genericx86-p4-20230810165021.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "10.12.0006",
|
||||
"images": {
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"vendor_name": "Asterfusion",
|
||||
"vendor_url": "https://cloudswit.ch/",
|
||||
"vendor_logo_url": "https://raw.githubusercontent.com/GNS3/gns3-registry/master/vendor-logos/asterfusion.png",
|
||||
"documentation_url": "https://help.cloudswit.ch/portal/en/home",
|
||||
"documentation_url": "https://help.cloudswit.ch/portal/en/kb/articles/vasternos",
|
||||
"product_name": "vAsterNOS",
|
||||
"product_url": "https://cloudswit.ch/product/sonic-enterprise-distribution",
|
||||
"registry_version": 4,
|
||||
@@ -34,7 +34,7 @@
|
||||
"version": "V3.1",
|
||||
"md5sum": "c323c9c3f60e1a93eca2acdc5034b85c",
|
||||
"filesize": 2724659200,
|
||||
"download_url": "https://cloudswit.ch/product/sonic-enterprise-distribution/#vAsterNOS"
|
||||
"download_url": "https://drive.cloudswitch.io/external/8ae2e3932ad8bb2ec30dd25be415d288ff3e4a949c557c6bd48ac6e6265bcfc1"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
|
||||
@@ -33,11 +33,23 @@
|
||||
"md5sum": "cbbbea66a253f1dac0fcf81274dc778d",
|
||||
"filesize": 87756936
|
||||
},
|
||||
{
|
||||
"filename": "c7200-adventerprisek9-mz.152-4.M11.image",
|
||||
"version": "152-4.M11",
|
||||
"md5sum": "9a2005ad09ce1ec6fe7cf9af1e9b099e",
|
||||
"filesize": 128487680
|
||||
},
|
||||
{
|
||||
"filename": "c7200-adventerprisek9-mz.124-24.T5.image",
|
||||
"version": "124-24.T5",
|
||||
"md5sum": "6b89d0d804e1f2bb5b8bda66b5692047",
|
||||
"filesize": 102345240
|
||||
},
|
||||
{
|
||||
"filename": "c7200-a3jk9s-mz.124-25g.image",
|
||||
"version": "124-25G",
|
||||
"md5sum": "9c7cc9b3f3b3571411a7f62faaa2c036",
|
||||
"filesize": 71528984
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
@@ -55,12 +67,26 @@
|
||||
"image": "c7200-advipservicesk9-mz.152-4.S5.image"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "152-4.M11",
|
||||
"idlepc": "0x6062e5c0",
|
||||
"images": {
|
||||
"image": "c7200-adventerprisek9-mz.152-4.M11.image"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "124-24.T5",
|
||||
"idlepc": "0x606df838",
|
||||
"images": {
|
||||
"image": "c7200-adventerprisek9-mz.124-24.T5.image"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "124-25G",
|
||||
"idlepc": "0x6066a998",
|
||||
"images": {
|
||||
"image": "c7200-a3jk9s-mz.124-25g.image"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -12,7 +12,7 @@
|
||||
"status": "stable",
|
||||
"maintainer": "GNS3 Team",
|
||||
"maintainer_email": "developers@gns3.net",
|
||||
"usage": "There is no default password and enable password. A default configuration is present. ASAv goes through a double-boot before becoming active. This is normal and expected.",
|
||||
"usage": "There is no default password and enable password. A default configuration is present. ASAv goes through a double-boot before becoming active. This is normal and expected. Switch to the Telnet console type after the first boot.",
|
||||
"symbol": ":/symbols/asa.svg",
|
||||
"first_port_name": "Management0/0",
|
||||
"port_name_format": "Gi0/{0}",
|
||||
@@ -26,6 +26,13 @@
|
||||
"kvm": "require"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "asav9-22-1-1.qcow2",
|
||||
"version": "9.22.1.1 CML",
|
||||
"md5sum": "250a924cdc2370208eaac9d1dc8dc9e3",
|
||||
"filesize": 379518976,
|
||||
"download_url": "https://learningnetworkstore.cisco.com/cisco-modeling-labs-personal/cisco-modeling-labs-personal/CML-PERSONAL.html"
|
||||
},
|
||||
{
|
||||
"filename": "asav9-18-2.qcow2",
|
||||
"version": "9.18.2 CML",
|
||||
@@ -126,6 +133,12 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "9.22.1.1 CML",
|
||||
"images": {
|
||||
"hda_disk_image": "asav9-22-1-1.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "9.18.2 CML",
|
||||
"images": {
|
||||
|
||||
@@ -25,11 +25,18 @@
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "c8000v-universalk9_8G_serial.17.09.04a.qcow2",
|
||||
"version": "17.09.04a 8G",
|
||||
"md5sum": "d5dcba52b522f41648538737af80cdf9",
|
||||
"filesize": 1858142208,
|
||||
"download_url": "https://software.cisco.com/download/home/286327102/type/282046477/release/Cupertino-17.9.4a"
|
||||
},
|
||||
{
|
||||
"filename": "c8000v-universalk9_8G_serial.17.09.01a.qcow2",
|
||||
"version": "17.09.01a 8G",
|
||||
"md5sum": "a10ae2c4d71f4eb611bc4d83ad7709f0",
|
||||
"filesize": 1856634880,
|
||||
"download_url": "https://software.cisco.com/download/home/286327102/type/282046477/release/Bengaluru-17.6.5"
|
||||
"download_url": "https://software.cisco.com/download/home/286327102/type/282046477/release/Cupertino-17.9.1a"
|
||||
},
|
||||
{
|
||||
"filename": "c8000v-universalk9_8G_serial.17.06.05.qcow2",
|
||||
@@ -62,6 +69,12 @@
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "17.09.04a 8G",
|
||||
"images": {
|
||||
"hda_disk_image": "c8000v-universalk9_8G_serial.17.09.04a.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "17.09.01a 8G",
|
||||
"images": {
|
||||
"hda_disk_image": "c8000v-universalk9_8G_serial.17.09.01a.qcow2"
|
||||
|
||||
@@ -24,12 +24,26 @@
|
||||
"kvm": "require"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "csr1000v-universalk9.17.03.08a-serial.qcow2",
|
||||
"version": "17.03.08a",
|
||||
"md5sum": "6abece87d6db99d9fd6917203e253f91",
|
||||
"filesize": 1421410304,
|
||||
"download_url": "https://software.cisco.com/download/home/286323714/type/282046477/release/Amsterdam-17.3.8a"
|
||||
},
|
||||
{
|
||||
"filename": "csr1000v-universalk9.17.03.06-serial.qcow2",
|
||||
"version": "17.03.06",
|
||||
"md5sum": "086ab9bef6e66de847af0da3910c60e8",
|
||||
"filesize": 1422000128,
|
||||
"download_url": "https://software.cisco.com/download/home/284364978/type/282046477/release/Gibraltar-16.12.3"
|
||||
"download_url": "https://software.cisco.com/download/home/286323714/type/282046477/release/Amsterdam-17.3.6"
|
||||
},
|
||||
{
|
||||
"filename": "csr1000v-ucmk9.16.12.5-serial.qcow2",
|
||||
"version": "16.12.05",
|
||||
"md5sum": "5c0cc217f0f0648407b34b11a1dd5b8e",
|
||||
"filesize": 844103680,
|
||||
"download_url": "https://software.cisco.com/download/home/286323714/type/286321980/release/16.12.5"
|
||||
},
|
||||
{
|
||||
"filename": "csr1000v-universalk9.16.12.03-serial.qcow2",
|
||||
@@ -166,13 +180,25 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "17.03.08a",
|
||||
"images": {
|
||||
"hda_disk_image": "csr1000v-universalk9.17.03.08a-serial.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "17.03.06",
|
||||
"images": {
|
||||
"hda_disk_image": "csr1000v-universalk9.17.03.06-serial.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
{
|
||||
"name": "16.12.05",
|
||||
"images": {
|
||||
"hda_disk_image": "csr1000v-ucmk9.16.12.5-serial.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "16.12.3",
|
||||
"images": {
|
||||
"hda_disk_image": "csr1000v-universalk9.16.12.03-serial.qcow2"
|
||||
|
||||
@@ -13,13 +13,19 @@
|
||||
"iou": {
|
||||
"ethernet_adapters": 4,
|
||||
"serial_adapters": 0,
|
||||
"nvram": 128,
|
||||
"ram": 256,
|
||||
"nvram": 512,
|
||||
"ram": 512,
|
||||
"startup_config": "iou_l2_base_startup-config.txt"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "x86_64_crb_linux_l2-adventerprisek9-ms",
|
||||
"filename": "x86_64_crb_linux_l2-adventerprisek9-ms.iol",
|
||||
"version": "17.15.1",
|
||||
"md5sum": "6c587cdfd5056078e70b3f6c26800d66",
|
||||
"filesize": 243251976
|
||||
},
|
||||
{
|
||||
"filename": "x86_64_crb_linux_l2-adventerprisek9-ms.bin",
|
||||
"version": "17.12.1",
|
||||
"md5sum": "2b5055e4cef8fd257416d74a94adb626",
|
||||
"filesize": 240355720
|
||||
@@ -44,10 +50,16 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "17.15.1",
|
||||
"images": {
|
||||
"image": "x86_64_crb_linux_l2-adventerprisek9-ms.iol"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "17.12.1",
|
||||
"images": {
|
||||
"image": "x86_64_crb_linux_l2-adventerprisek9-ms"
|
||||
"image": "x86_64_crb_linux_l2-adventerprisek9-ms.bin"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
@@ -13,13 +13,19 @@
|
||||
"iou": {
|
||||
"ethernet_adapters": 2,
|
||||
"serial_adapters": 2,
|
||||
"nvram": 128,
|
||||
"ram": 256,
|
||||
"nvram": 512,
|
||||
"ram": 512,
|
||||
"startup_config": "iou_l3_base_startup-config.txt"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "x86_64_crb_linux-adventerprisek9-ms",
|
||||
"filename": "x86_64_crb_linux-adventerprisek9-ms.iol",
|
||||
"version": "17.15.1",
|
||||
"md5sum": "5d584f6cfbeaadc87d55f613da1049ed",
|
||||
"filesize": 292001512
|
||||
},
|
||||
{
|
||||
"filename": "x86_64_crb_linux-adventerprisek9-ms.bin",
|
||||
"version": "17.12.1",
|
||||
"md5sum": "4a2fce8de21d1831fbceffd155e41ae7",
|
||||
"filesize": 288947184
|
||||
@@ -44,10 +50,16 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "17.15.1",
|
||||
"images": {
|
||||
"image": "x86_64_crb_linux-adventerprisek9-ms.iol"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "17.12.1",
|
||||
"images": {
|
||||
"image": "x86_64_crb_linux-adventerprisek9-ms"
|
||||
"image": "x86_64_crb_linux-adventerprisek9-ms.bin"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
@@ -28,7 +28,21 @@
|
||||
"options": ""
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
{
|
||||
"filename": "MFG_CTVM_8_10_196_0.iso",
|
||||
"version": "8.10.196.0",
|
||||
"md5sum": "6093aca44dcf45c999f83e62dc9aeea2",
|
||||
"filesize": 650809344,
|
||||
"download_url": "https://software.cisco.com/download/release.html?mdfid=284464214&flowid=&softwareid=280926587&release=8.10.196.0"
|
||||
},
|
||||
{
|
||||
"filename": "MFG_CTVM_8_5_182_0.iso",
|
||||
"version": "8.5.182.0",
|
||||
"md5sum": "1cf3c57c2b123e739ab4662ea0abbc34",
|
||||
"filesize": 388579328,
|
||||
"download_url": "https://software.cisco.com/download/home/284464214/type/280926587/release/8.5.182.0"
|
||||
},
|
||||
{
|
||||
"filename": "MFG_CTVM_8_3_102_0.iso",
|
||||
"version": "8.3.102.0",
|
||||
"md5sum": "7f6b7968b5bed04b5ecc119b6ba4e41c",
|
||||
@@ -73,6 +87,20 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "8.10.196.0",
|
||||
"images": {
|
||||
"hda_disk_image": "empty8G.qcow2",
|
||||
"cdrom_image": "MFG_CTVM_8_10_196_0.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "8.5.182.0",
|
||||
"images": {
|
||||
"hda_disk_image": "empty8G.qcow2",
|
||||
"cdrom_image": "MFG_CTVM_8_5_182_0.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "8.3.102.0",
|
||||
"images": {
|
||||
|
||||
@@ -23,6 +23,14 @@
|
||||
"kvm": "allow"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "debian-12.6.qcow2",
|
||||
"version": "12.6",
|
||||
"md5sum": "04753ba14295c6414d49bffe27b676ae",
|
||||
"filesize": 280907776,
|
||||
"download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/",
|
||||
"direct_download_url": "https://downloads.sourceforge.net/project/gns-3/Qemu%20Appliances/debian-12.6.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "debian-12.4.qcow2",
|
||||
"version": "12.4",
|
||||
@@ -31,6 +39,14 @@
|
||||
"download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/",
|
||||
"direct_download_url": "https://downloads.sourceforge.net/project/gns-3/Qemu%20Appliances/debian-12.4.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "debian-11.10.qcow2",
|
||||
"version": "11.10",
|
||||
"md5sum": "99a1dc8e110d641309674e69b630e732",
|
||||
"filesize": 263520256,
|
||||
"download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/",
|
||||
"direct_download_url": "https://downloads.sourceforge.net/project/gns-3/Qemu%20Appliances/debian-11.10.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "debian-11.8.qcow2",
|
||||
"version": "11.8",
|
||||
@@ -41,12 +57,24 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "12.6",
|
||||
"images": {
|
||||
"hda_disk_image": "debian-12.6.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "12.4",
|
||||
"images": {
|
||||
"hda_disk_image": "debian-12.4.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "11.10",
|
||||
"images": {
|
||||
"hda_disk_image": "debian-11.10.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "11.8",
|
||||
"images": {
|
||||
|
||||
@@ -28,10 +28,17 @@
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "FAD_KVM-FORTINET.out.kvm-data.qcow2",
|
||||
"version": "ALL",
|
||||
"md5sum": "b7500835594e62d8acb1c6ec43d597c1",
|
||||
"filesize": 30998528,
|
||||
"filename": "FAD_KVM-V7.4.4-build0347-FORTINET.out.kvm_boot.qcow2",
|
||||
"version": "7.4.4",
|
||||
"md5sum": "52fa343fd423a1a560473b8cf02f4c9c",
|
||||
"filesize": 180617216,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAD_KVM-V7.2.6-build0257-FORTINET.out.kvm_boot.qcow2",
|
||||
"version": "7.2.6",
|
||||
"md5sum": "ed8c3622b12212786c310aa94c928f06",
|
||||
"filesize": 146341888,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
@@ -41,6 +48,13 @@
|
||||
"filesize": 145817600,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAD_KVM-v7.1.4-build0138-FORTINET.out.kvm_boot.qcow2",
|
||||
"version": "7.1.4",
|
||||
"md5sum": "d4b3ff27fc9d0461199d6066174744ca",
|
||||
"filesize": 134152192,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAD_KVM-V7.1.1-build0117-FORTINET.out.kvm-boot.qcow2",
|
||||
"version": "7.1.1",
|
||||
@@ -243,9 +257,30 @@
|
||||
"md5sum": "7a71f52bde93c0000b047626731b7aef",
|
||||
"filesize": 68026368,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAD_KVM-FORTINET.out.kvm-data.qcow2",
|
||||
"version": "ALL",
|
||||
"md5sum": "b7500835594e62d8acb1c6ec43d597c1",
|
||||
"filesize": 30998528,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "7.4.4",
|
||||
"images": {
|
||||
"hda_disk_image": "FAD_KVM-V7.4.4-build0347-FORTINET.out.kvm_boot.qcow2",
|
||||
"hdb_disk_image": "FAD_KVM-FORTINET.out.kvm-data.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.2.6",
|
||||
"images": {
|
||||
"hda_disk_image": "FAD_KVM-V7.2.6-build0257-FORTINET.out.kvm_boot.qcow2",
|
||||
"hdb_disk_image": "FAD_KVM-FORTINET.out.kvm-data.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.2.0",
|
||||
"images": {
|
||||
@@ -253,6 +288,13 @@
|
||||
"hdb_disk_image": "FAD_KVM-FORTINET.out.kvm-data.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.1.4",
|
||||
"images": {
|
||||
"hda_disk_image": "FAD_KVM-v7.1.4-build0138-FORTINET.out.kvm_boot.qcow2",
|
||||
"hdb_disk_image": "FAD_KVM-FORTINET.out.kvm-data.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.1.1",
|
||||
"images": {
|
||||
|
||||
@@ -29,6 +29,13 @@
|
||||
"kvm": "allow"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "FAZ_VM64_KVM-v7.4.3-build2487-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.4.3",
|
||||
"md5sum": "c58709af18516763ed88f58621447bf6",
|
||||
"filesize": 504463360,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAZ_VM64_KVM-v7.4.2-build2397-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.4.2",
|
||||
@@ -43,6 +50,13 @@
|
||||
"filesize": 435310592,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAZ_VM64_KVM-v7.2.5-build1574-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.2.5",
|
||||
"md5sum": "225d7405f35f78a482cffa34ef90080d",
|
||||
"filesize": 379973632,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAZ_VM64_KVM-v7.2.4-build1460-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.2.4",
|
||||
@@ -64,6 +78,13 @@
|
||||
"filesize": 340631552,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAZ_VM64_KVM-v7.0.12-build0623-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.0.12",
|
||||
"md5sum": "a45f8987ea13da836c684b5d9850c1c2",
|
||||
"filesize": 349560832,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAZ_VM64_KVM-v7.0.11-build0595-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.0.11",
|
||||
@@ -256,6 +277,13 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "7.4.3",
|
||||
"images": {
|
||||
"hda_disk_image": "FAZ_VM64_KVM-v7.4.3-build2487-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.4.2",
|
||||
"images": {
|
||||
@@ -270,6 +298,13 @@
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.2.5",
|
||||
"images": {
|
||||
"hda_disk_image": "FAZ_VM64_KVM-v7.2.5-build1574-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.2.4",
|
||||
"images": {
|
||||
@@ -291,6 +326,13 @@
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.12",
|
||||
"images": {
|
||||
"hda_disk_image": "FAZ_VM64_KVM-v7.0.12-build0623-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.11",
|
||||
"images": {
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
"status": "stable",
|
||||
"maintainer": "GNS3 Team",
|
||||
"maintainer_email": "developers@gns3.net",
|
||||
"usage": "Default username is admin, no password is set. First book takes longer.",
|
||||
"usage": "Default username is admin, no password is set. First boot takes longer.",
|
||||
"symbol": "fortinet.svg",
|
||||
"port_name_format": "Port{port1}",
|
||||
"qemu": {
|
||||
"adapter_type": "e1000",
|
||||
"adapters": 4,
|
||||
"ram": 1024,
|
||||
"ram": 4096,
|
||||
"hda_disk_interface": "virtio",
|
||||
"hdb_disk_interface": "virtio",
|
||||
"arch": "x86_64",
|
||||
@@ -28,6 +28,27 @@
|
||||
"kvm": "allow"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "FAC_VM_KVM-v6.6.1-build1660-FORTINET.out.kvm_fackvm.qcow2",
|
||||
"version": "6.6.1",
|
||||
"md5sum": "4b2b475ac8b6f88b5033dca367d53cbb",
|
||||
"filesize": 138477584,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAC_VM_KVM-v6.5.5-build1385-FORTINET.out.kvm_fackvm.qcow2",
|
||||
"version": "6.5.5",
|
||||
"md5sum": "6850128ac51cee2577114ecd487786ff",
|
||||
"filesize": 112918544,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAC_VM_KVM-v6.4.9-build1067-FORTINET.out.kvm_fackvm.qcow2",
|
||||
"version": "6.4.9",
|
||||
"md5sum": "aee068a16fb2ca332d41e6add499b7d3",
|
||||
"filesize": 112197648,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAC_VM_KVM-v6-build0058-FORTINET.out.kvm.qcow2",
|
||||
"version": "6.0.3",
|
||||
@@ -105,6 +126,20 @@
|
||||
"filesize": 62771200,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAC_VM_KVM-v6.6.1-build1660-FORTINET.out.kvm_datadrive.qcow2",
|
||||
"version": "6.6.1",
|
||||
"md5sum": "9bbaa1ce1508b4af1f43ba00879269f9",
|
||||
"filesize": 197568,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAC_VM_KVM-v6.5.5-build1385-FORTINET.out.kvm_datadrive.qcow2",
|
||||
"version": "6.4.x, 6.5.x",
|
||||
"md5sum": "3f7173307047cf562f55ed2f99450c10",
|
||||
"filesize": 197568,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAC_VM_KVM-ALL-DATADRIVE.qcow2",
|
||||
"version": "All",
|
||||
@@ -114,6 +149,27 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "6.6.1",
|
||||
"images": {
|
||||
"hda_disk_image": "FAC_VM_KVM-v6.6.1-build1660-FORTINET.out.kvm_fackvm.qcow2",
|
||||
"hdb_disk_image": "FAC_VM_KVM-v6.6.1-build1660-FORTINET.out.kvm_datadrive.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.5.5",
|
||||
"images": {
|
||||
"hda_disk_image": "FAC_VM_KVM-v6.5.5-build1385-FORTINET.out.kvm_fackvm.qcow2",
|
||||
"hdb_disk_image": "FAC_VM_KVM-v6.5.5-build1385-FORTINET.out.kvm_datadrive.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.4.9",
|
||||
"images": {
|
||||
"hda_disk_image": "FAC_VM_KVM-v6.4.9-build1067-FORTINET.out.kvm_fackvm.qcow2",
|
||||
"hdb_disk_image": "FAC_VM_KVM-v6.5.5-build1385-FORTINET.out.kvm_datadrive.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.0.3",
|
||||
"images": {
|
||||
|
||||
@@ -28,6 +28,13 @@
|
||||
"kvm": "allow"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "FGT_VM64_KVM-v7.4.4.F-build2662-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.4.4",
|
||||
"md5sum": "dfe0e78827ec728631539669001bb23f",
|
||||
"filesize": 102170624,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FGT_VM64_KVM-v7.4.3.F-build2573-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.4.3",
|
||||
@@ -42,6 +49,13 @@
|
||||
"filesize": 116064256,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FGT_VM64_KVM-v7.2.8.M-build1639-FORTINET.out.kvm_fortios.qcow2",
|
||||
"version": "7.2.8",
|
||||
"md5sum": "5c8fd4baf80aeb2999d4be5a9c49eb3d",
|
||||
"filesize": 89980928,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FGT_VM64_KVM-v7.2.7.M-build1577-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.2.7",
|
||||
@@ -77,6 +91,13 @@
|
||||
"filesize": 86704128,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FGT_VM64_KVM-v7.0.15.M-build0601-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.0.15",
|
||||
"md5sum": "423f50378b7e93098ab765c3dd3a788f",
|
||||
"filesize": 77398016,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FGT_VM64_KVM-v7.0.14.M-build0601-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.0.14",
|
||||
@@ -367,6 +388,13 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "7.4.4",
|
||||
"images": {
|
||||
"hda_disk_image": "FGT_VM64_KVM-v7.4.4.F-build2662-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.4.3",
|
||||
"images": {
|
||||
@@ -381,6 +409,13 @@
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.2.8",
|
||||
"images": {
|
||||
"hda_disk_image": "FGT_VM64_KVM-v7.2.8.M-build1639-FORTINET.out.kvm_fortios.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.2.7",
|
||||
"images": {
|
||||
@@ -416,6 +451,13 @@
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.15",
|
||||
"images": {
|
||||
"hda_disk_image": "FGT_VM64_KVM-v7.0.15.M-build0601-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.14",
|
||||
"images": {
|
||||
|
||||
@@ -29,6 +29,13 @@
|
||||
"kvm": "allow"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "FMG_VM64_KVM-v7.4.3-build2487-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.4.23",
|
||||
"md5sum": "b01d9f86aa27c538407d518df1326863",
|
||||
"filesize": 346107904,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FMG_VM64_KVM-v7.4.2-build2397-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.4.2",
|
||||
@@ -43,6 +50,13 @@
|
||||
"filesize": 309387264,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FMG_VM64_KVM-v7.2.5-build1574-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.2.5",
|
||||
"md5sum": "754326845096afd909ec45d98f8d5a83",
|
||||
"filesize": 278401024,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FMG_VM64_KVM-v7.2.4-build1460-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.2.4",
|
||||
@@ -64,6 +78,13 @@
|
||||
"filesize": 242814976,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FMG_VM64_KVM-v7.0.12-build0623-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.0.12",
|
||||
"md5sum": "5b6f6a2b8bc00e56337aa7023a9025cf",
|
||||
"filesize": 249520128,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FMG_VM64_KVM-v7.0.11-build0595-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.0.11",
|
||||
@@ -256,6 +277,13 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "7.4.3",
|
||||
"images": {
|
||||
"hda_disk_image": "FMG_VM64_KVM-v7.4.3-build2487-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.4.2",
|
||||
"images": {
|
||||
@@ -270,6 +298,13 @@
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.2.5",
|
||||
"images": {
|
||||
"hda_disk_image": "FMG_VM64_KVM-v7.2.5-build1574-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.2.4",
|
||||
"images": {
|
||||
@@ -291,6 +326,13 @@
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.12",
|
||||
"images": {
|
||||
"hda_disk_image": "FMG_VM64_KVM-v7.0.12-build0623-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.11",
|
||||
"images": {
|
||||
|
||||
@@ -28,6 +28,27 @@
|
||||
"kvm": "allow"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "FWB_KVM-v7.6.0.F-build0962-FORTINET.out.kvm_boot.qcow2",
|
||||
"version": "7.6.0",
|
||||
"md5sum": "e94aa4af7ed0a12bd6084f0d74a2a96e",
|
||||
"filesize": 329187840,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FWB_KVM-v7.4.3-build0638-FORTINET.out.kvm_boot.qcow2",
|
||||
"version": "7.4.3",
|
||||
"md5sum": "3c0ac11a6d80a319a4fe460aff5bc66c",
|
||||
"filesize": 303497728,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FWB_KVM-v7.2.8-build0400-FORTINET.out.kvm_boot.qcow2",
|
||||
"version": "7.2.8",
|
||||
"md5sum": "367307242e6855dc190df089d196e712",
|
||||
"filesize": 257950208,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FWB_KVM-v7.2.1-build0330-FORTINET.out.kvm.boot.qcow2",
|
||||
"version": "7.2.1",
|
||||
@@ -35,6 +56,13 @@
|
||||
"filesize": 260506112,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FWB_KVM-v7.0.10-build0166-FORTINET.out.kvm_boot.qcow2",
|
||||
"version": "7.0.10",
|
||||
"md5sum": "ff9d4b827c4e41c1b38e59359ba05487",
|
||||
"filesize": 257556992,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FWB_KVM-v7.0.6-build0140-FORTINET.out.kvm.boot.qcow2",
|
||||
"version": "7.0.6",
|
||||
@@ -150,6 +178,27 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "7.6.0",
|
||||
"images": {
|
||||
"hda_disk_image": "FWB_KVM-v7.6.0.F-build0962-FORTINET.out.kvm_boot.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.4.3",
|
||||
"images": {
|
||||
"hda_disk_image": "FWB_KVM-v7.4.3-build0638-FORTINET.out.kvm_boot.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.2.8",
|
||||
"images": {
|
||||
"hda_disk_image": "FWB_KVM-v7.2.8-build0400-FORTINET.out.kvm_boot.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.2.1",
|
||||
"images": {
|
||||
@@ -157,6 +206,13 @@
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.10",
|
||||
"images": {
|
||||
"hda_disk_image": "FWB_KVM-v7.0.10-build0166-FORTINET.out.kvm_boot.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.6",
|
||||
"images": {
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
{
|
||||
"appliance_id": "ac98ab6f-7966-444b-842f-9507c965b8b7",
|
||||
"name": "HBCD-PE",
|
||||
"category": "guest",
|
||||
"description": "Hiren’s BootCD PE (Preinstallation Environment) is a restored edition of Hiren’s BootCD based on Windows 11 PE x64. ",
|
||||
"vendor_name": "hirensbootcd.org",
|
||||
"vendor_url": "https://www.hirensbootcd.org/",
|
||||
"documentation_url": "https://www.hirensbootcd.org/howtos/",
|
||||
"product_name": "Hiren’s BootCD PE",
|
||||
"product_url": "https://www.hirensbootcd.org/",
|
||||
"registry_version": 4,
|
||||
"status": "stable",
|
||||
"maintainer": "GNS3 Team",
|
||||
"maintainer_email": "developers@gns3.net",
|
||||
"qemu": {
|
||||
"adapter_type": "e1000",
|
||||
"adapters": 1,
|
||||
"ram": 4096,
|
||||
"hda_disk_interface": "sata",
|
||||
"arch": "x86_64",
|
||||
"console_type": "vnc",
|
||||
"boot_priority": "c",
|
||||
"kvm": "require"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "HBCD_PE_x64.iso",
|
||||
"version": "1.0.8",
|
||||
"md5sum": "45baab64b088431bdf3370292e9a74b0",
|
||||
"filesize": 3291686912,
|
||||
"download_url": "https://www.hirensbootcd.org/download/",
|
||||
"direct_download_url": "https://www.hirensbootcd.org/files/HBCD_PE_x64.iso"
|
||||
},
|
||||
{
|
||||
"filename": "empty30G.qcow2",
|
||||
"version": "1.0",
|
||||
"md5sum": "3411a599e822f2ac6be560a26405821a",
|
||||
"filesize": 197120,
|
||||
"download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
|
||||
"direct_download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty30G.qcow2/download"
|
||||
},
|
||||
{
|
||||
"filename": "OVMF-edk2-stable202305.fd",
|
||||
"version": "stable202305",
|
||||
"md5sum": "6c4cf1519fec4a4b95525d9ae562963a",
|
||||
"filesize": 4194304,
|
||||
"download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/",
|
||||
"direct_download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/OVMF-edk2-stable202305.fd.zip/download",
|
||||
"compression": "zip"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "1.0.8",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "empty30G.qcow2",
|
||||
"cdrom_image": "HBCD_PE_x64.iso"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -12,18 +12,19 @@
|
||||
"status": "stable",
|
||||
"maintainer": "GNS3 Team",
|
||||
"maintainer_email": "developers@gns3.net",
|
||||
"usage": "16 GB RAM is the bare minimum; you should use 32/64 GB in production deplyments.\nDefault credentials:\n- CLI: admin / abc123\n- WebUI: super / juniper123",
|
||||
"usage": "16 GB RAM is the bare minimum; you should use 32/64 GB in production deployments.\nDefault credentials:\n- CLI: admin / abc123\n- WebUI: super / juniper123",
|
||||
"symbol": "juniper-vqfx.svg",
|
||||
"port_name_format": "em{0}",
|
||||
"qemu": {
|
||||
"adapter_type": "e1000",
|
||||
"adapters": 4,
|
||||
"ram": 16384,
|
||||
"cpus": 4,
|
||||
"hda_disk_interface": "ide",
|
||||
"arch": "x86_64",
|
||||
"console_type": "telnet",
|
||||
"kvm": "require",
|
||||
"options": "-smp 4 -nographic"
|
||||
"options": "-nographic -machine q35,smbios-entry-point-type=32"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
"arch": "x86_64",
|
||||
"console_type": "telnet",
|
||||
"kvm": "require",
|
||||
"options": "-nographic"
|
||||
"options": "-nographic -machine q35,smbios-entry-point-type=32"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
"arch": "x86_64",
|
||||
"console_type": "telnet",
|
||||
"kvm": "require",
|
||||
"options": "-nographic -enable-kvm"
|
||||
"options": "-nographic -enable-kvm -machine q35,smbios-entry-point-type=32"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
|
||||
@@ -20,11 +20,12 @@
|
||||
"adapter_type": "virtio-net-pci",
|
||||
"adapters": 13,
|
||||
"ram": 4096,
|
||||
"cpus": 4,
|
||||
"hda_disk_interface": "ide",
|
||||
"arch": "x86_64",
|
||||
"console_type": "telnet",
|
||||
"kvm": "require",
|
||||
"options": "-nographic -enable-kvm -smp cpus=3"
|
||||
"options": "-nographic -enable-kvm -machine q35,smbios-entry-point-type=32"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
"arch": "x86_64",
|
||||
"console_type": "vnc",
|
||||
"kvm": "require",
|
||||
"options": "-nographic"
|
||||
"options": "-nographic -machine q35,smbios-entry-point-type=32"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
|
||||
@@ -19,11 +19,12 @@
|
||||
"adapter_type": "virtio-net-pci",
|
||||
"adapters": 12,
|
||||
"ram": 1024,
|
||||
"cpus": 2,
|
||||
"hda_disk_interface": "ide",
|
||||
"arch": "x86_64",
|
||||
"console_type": "telnet",
|
||||
"kvm": "require",
|
||||
"options": "-nographic -smp 2"
|
||||
"options": "-nographic -machine q35,smbios-entry-point-type=32"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
"arch": "x86_64",
|
||||
"console_type": "telnet",
|
||||
"kvm": "require",
|
||||
"options": "-nographic -enable-kvm"
|
||||
"options": "-nographic -enable-kvm -machine q35,smbios-entry-point-type=32"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
|
||||
@@ -19,11 +19,12 @@
|
||||
"adapter_type": "vmxnet3",
|
||||
"adapters": 6,
|
||||
"ram": 4096,
|
||||
"cpus": 2,
|
||||
"hda_disk_interface": "ide",
|
||||
"arch": "x86_64",
|
||||
"console_type": "telnet",
|
||||
"kvm": "require",
|
||||
"options": "-smp 2"
|
||||
"options": "-machine q35,smbios-entry-point-type=32"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
|
||||
@@ -28,149 +28,80 @@
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "chr-7.14.2.img",
|
||||
"version": "7.14.2",
|
||||
"md5sum": "531901dac85b67b23011e946a62abc7b",
|
||||
"filename": "chr-7.16.img",
|
||||
"version": "7.16",
|
||||
"md5sum": "a4c2d00a87e73b3129cd66a4e0743c9a",
|
||||
"filesize": 134217728,
|
||||
"download_url": "http://www.mikrotik.com/download",
|
||||
"direct_download_url": "https://download.mikrotik.com/routeros/7.14.2/chr-7.14.2.img.zip",
|
||||
"direct_download_url": "https://download.mikrotik.com/routeros/7.16/chr-7.16.img.zip",
|
||||
"compression": "zip"
|
||||
},
|
||||
{
|
||||
"filename": "chr-7.11.2.img",
|
||||
"version": "7.11.2",
|
||||
"md5sum": "fbffd097d2c5df41fc3335c3977f782c",
|
||||
"filename": "chr-7.15.3.img",
|
||||
"version": "7.15.3",
|
||||
"md5sum": "5af8c748a0de4e8e8b303180738721a9",
|
||||
"filesize": 134217728,
|
||||
"download_url": "http://www.mikrotik.com/download",
|
||||
"direct_download_url": "https://download.mikrotik.com/routeros/7.11.2/chr-7.11.2.img.zip",
|
||||
"direct_download_url": "https://download.mikrotik.com/routeros/7.15.3/chr-7.15.3.img.zip",
|
||||
"compression": "zip"
|
||||
},
|
||||
{
|
||||
"filename": "chr-7.10.1.img",
|
||||
"version": "7.10.1",
|
||||
"md5sum": "917729e79b9992562f4160d461b21cac",
|
||||
"filename": "chr-7.14.3.img",
|
||||
"version": "7.14.3",
|
||||
"md5sum": "73f527efef81b529b267a0683cb87617",
|
||||
"filesize": 134217728,
|
||||
"download_url": "http://www.mikrotik.com/download",
|
||||
"direct_download_url": "https://download.mikrotik.com/routeros/7.10.1/chr-7.10.1.img.zip",
|
||||
"direct_download_url": "https://download.mikrotik.com/routeros/7.14.3/chr-7.14.3.img.zip",
|
||||
"compression": "zip"
|
||||
},
|
||||
{
|
||||
"filename": "chr-7.7.img",
|
||||
"version": "7.7",
|
||||
"md5sum": "efc4fdeb1cc06dc240a14f1215fd59b3",
|
||||
"filesize": 134217728,
|
||||
"download_url": "http://www.mikrotik.com/download",
|
||||
"direct_download_url": "https://download.mikrotik.com/routeros/7.7/chr-7.7.img.zip",
|
||||
"compression": "zip"
|
||||
},
|
||||
{
|
||||
"filename": "chr-7.6.img",
|
||||
"version": "7.6",
|
||||
"md5sum": "864482f9efaea9d40910c050318f65b9",
|
||||
"filesize": 134217728,
|
||||
"download_url": "http://www.mikrotik.com/download",
|
||||
"direct_download_url": "https://download.mikrotik.com/routeros/7.6/chr-7.6.img.zip",
|
||||
"compression": "zip"
|
||||
},
|
||||
{
|
||||
"filename": "chr-7.3.1.img",
|
||||
"version": "7.3.1",
|
||||
"md5sum": "99f8ea75f8b745a8bf5ca3cc1bd325e3",
|
||||
"filesize": 134217728,
|
||||
"download_url": "http://www.mikrotik.com/download",
|
||||
"direct_download_url": "https://download.mikrotik.com/routeros/7.3.1/chr-7.3.1.img.zip",
|
||||
"compression": "zip"
|
||||
},
|
||||
{
|
||||
"filename": "chr-7.1.5.img",
|
||||
"version": "7.1.5",
|
||||
"md5sum": "9c0be05f891df2b1400bdae5e719898e",
|
||||
"filesize": 134217728,
|
||||
"download_url": "http://www.mikrotik.com/download",
|
||||
"direct_download_url": "https://download.mikrotik.com/routeros/7.1.5/chr-7.1.5.img.zip",
|
||||
"compression": "zip"
|
||||
},
|
||||
{
|
||||
"filename": "chr-6.49.10.img",
|
||||
"version": "6.49.10",
|
||||
"md5sum": "49ae1ecfe310aea1df37b824aa13cf84",
|
||||
"filename": "chr-6.49.17.img",
|
||||
"version": "6.49.17",
|
||||
"md5sum": "ad9f4bd8cd4965a403350deeb5d35b96",
|
||||
"filesize": 67108864,
|
||||
"download_url": "http://www.mikrotik.com/download",
|
||||
"direct_download_url": "https://download.mikrotik.com/routeros/6.49.10/chr-6.49.10.img.zip",
|
||||
"direct_download_url": "https://download.mikrotik.com/routeros/6.49.17/chr-6.49.17.img.zip",
|
||||
"compression": "zip"
|
||||
},
|
||||
{
|
||||
"filename": "chr-6.49.6.img",
|
||||
"version": "6.49.6",
|
||||
"md5sum": "ae27d38acc9c4dcd875e0f97bcae8d97",
|
||||
"filename": "chr-6.49.13.img",
|
||||
"version": "6.49.13",
|
||||
"md5sum": "18349e1c3209495e571bcbee8a7e3259",
|
||||
"filesize": 67108864,
|
||||
"download_url": "http://www.mikrotik.com/download",
|
||||
"direct_download_url": "https://download.mikrotik.com/routeros/6.49.6/chr-6.49.6.img.zip",
|
||||
"compression": "zip"
|
||||
},
|
||||
{
|
||||
"filename": "chr-6.48.6.img",
|
||||
"version": "6.48.6",
|
||||
"md5sum": "875574a561570227ff8f395aabe478c6",
|
||||
"filesize": 67108864,
|
||||
"download_url": "http://www.mikrotik.com/download",
|
||||
"direct_download_url": "https://download.mikrotik.com/routeros/6.48.6/chr-6.48.6.img.zip",
|
||||
"direct_download_url": "https://download.mikrotik.com/routeros/6.49.13/chr-6.49.13.img.zip",
|
||||
"compression": "zip"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "7.11.2",
|
||||
"name": "7.16",
|
||||
"images": {
|
||||
"hda_disk_image": "chr-7.11.2.img"
|
||||
"hda_disk_image": "chr-7.16.img"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.10.1",
|
||||
"name": "7.15.3",
|
||||
"images": {
|
||||
"hda_disk_image": "chr-7.10.1.img"
|
||||
"hda_disk_image": "chr-7.15.3.img"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.7",
|
||||
"name": "7.14.3",
|
||||
"images": {
|
||||
"hda_disk_image": "chr-7.7.img"
|
||||
"hda_disk_image": "chr-7.14.3.img"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.6",
|
||||
"name": "6.49.17",
|
||||
"images": {
|
||||
"hda_disk_image": "chr-7.6.img"
|
||||
"hda_disk_image": "chr-6.49.17.img"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.3.1",
|
||||
"name": "6.49.13",
|
||||
"images": {
|
||||
"hda_disk_image": "chr-7.3.1.img"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.1.5",
|
||||
"images": {
|
||||
"hda_disk_image": "chr-7.1.5.img"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.49.10",
|
||||
"images": {
|
||||
"hda_disk_image": "chr-6.49.10.img"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.49.6",
|
||||
"images": {
|
||||
"hda_disk_image": "chr-6.49.6.img"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.48.6",
|
||||
"images": {
|
||||
"hda_disk_image": "chr-6.48.6.img"
|
||||
"hda_disk_image": "chr-6.49.13.img"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"appliance_id": "00714342-14b2-4281-aa20-9043ca8dc26e",
|
||||
"name": "NixOS",
|
||||
"category": "guest",
|
||||
"description": "NixOS QEMU Appliance for images created with nixos-generator. Automatically sets hostname based on vmname.",
|
||||
"vendor_name": "NixOS",
|
||||
"vendor_url": "https://nixos.org/",
|
||||
"vendor_logo_url": "https://avatars.githubusercontent.com/u/487568",
|
||||
"documentation_url": "https://github.com/ob7/gns3-nixos-appliance",
|
||||
"product_name": "NixOS",
|
||||
"product_url": "https://github.com/NixOS/nixpkgs",
|
||||
"registry_version": 4,
|
||||
"status": "experimental",
|
||||
"availability": "free",
|
||||
"maintainer": "ob7dev",
|
||||
"maintainer_email": "dev@ob7.us",
|
||||
"usage": "For custom NixOS images, create qcow2 VM with: nixos-generate -f qcow -c ./server.nix Import it into GNS3 as image. VM name is passed into QEMU guest with Advanced Options field entry: -fw_cfg name=opt/vm_hostname,string=%vm-name%",
|
||||
"symbol": ":/symbols/affinity/circle/gray/template.svg",
|
||||
"first_port_name": "eth0",
|
||||
"port_name_format": "eth{0}",
|
||||
"qemu": {
|
||||
"adapter_type": "e1000",
|
||||
"adapters": 4,
|
||||
"ram": 256,
|
||||
"cpus": 1,
|
||||
"hda_disk_interface": "ide",
|
||||
"arch": "x86_64",
|
||||
"console_type": "telnet",
|
||||
"kvm": "allow",
|
||||
"options": "-fw_cfg name=opt/vm_hostname,string=%vm-name%",
|
||||
"on_close": "power_off"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "nixos-24-11.qcow2",
|
||||
"version": "24.11",
|
||||
"md5sum": "2459f05136836dd430402d75cba0f205",
|
||||
"download_url": "https://github.com/nix-community/nixos-generators",
|
||||
"filesize": 1749483520,
|
||||
"download_url": "https://f.ob7.us/gns3/",
|
||||
"direct_download_url": "http://ob7.us/nixos-24-11.qcow2"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "24.11",
|
||||
"images": {
|
||||
"hda_disk_image": "nixos-24-11.qcow2"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -16,6 +16,6 @@
|
||||
"docker": {
|
||||
"adapters": 16,
|
||||
"image": "gns3/openvswitch:latest",
|
||||
"environment": "MANAGEMENT_INTERFACE=1"
|
||||
"environment": "MANAGEMENT_INTERFACE=eth0"
|
||||
}
|
||||
}
|
||||
@@ -26,7 +26,14 @@
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "OPNsense-24.1-OpenSSL-nano-amd64.img",
|
||||
"filename": "OPNsense-24.7-nano-amd64.img",
|
||||
"version": "24.7",
|
||||
"md5sum": "4f75dc2c948b907cbf73763b1539677c",
|
||||
"filesize": 3221225472,
|
||||
"download_url": "https://opnsense.c0urier.net/releases/24.7/"
|
||||
},
|
||||
{
|
||||
"filename": "OPNsense-24.1-nano-amd64.img",
|
||||
"version": "24.1",
|
||||
"md5sum": "ea8472df2c272419b7834cddaf68048d",
|
||||
"filesize": 3221225472,
|
||||
@@ -69,10 +76,16 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "24.7",
|
||||
"images": {
|
||||
"hda_disk_image": "OPNsense-24.7-nano-amd64.img"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "24.1",
|
||||
"images": {
|
||||
"hda_disk_image": "OPNsense-24.1-OpenSSL-nano-amd64.img"
|
||||
"hda_disk_image": "OPNsense-24.1-nano-amd64.img"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
@@ -28,6 +28,20 @@
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "PA-VM-KVM-11.0.0.qcow2",
|
||||
"version": "11.0.0",
|
||||
"md5sum": "fc54b0e680ca2bcecb5522430e420f06",
|
||||
"filesize": 4130865152,
|
||||
"download_url": "https://support.paloaltonetworks.com/Updates/SoftwareUpdates/"
|
||||
},
|
||||
{
|
||||
"filename": "PA-VM-KVM-10.2.3.qcow2",
|
||||
"version": "10.2.3",
|
||||
"md5sum": "0e7b2a52d1447186d335ef9a1a197c6c",
|
||||
"filesize": 5298585600,
|
||||
"download_url": "https://support.paloaltonetworks.com/Updates/SoftwareUpdates/"
|
||||
},
|
||||
{
|
||||
"filename": "PA-VM-KVM-10.1.0.qcow2",
|
||||
"version": "10.1.0",
|
||||
"md5sum": "8266fd412a22694749f2cd4afcd5fa33",
|
||||
@@ -128,6 +142,18 @@
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "11.0.0",
|
||||
"images": {
|
||||
"hda_disk_image": "PA-VM-KVM-11.0.0.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "10.2.3",
|
||||
"images": {
|
||||
"hda_disk_image": "PA-VM-KVM-10.2.3.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "10.1.0",
|
||||
"images": {
|
||||
"hda_disk_image": "PA-VM-KVM-10.1.0.qcow2"
|
||||
|
||||
@@ -24,17 +24,17 @@
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "ReactOS-0.4.14-release-15-gb6088a6.iso",
|
||||
"version": "Installer-0.4.14-release-15",
|
||||
"md5sum": "af4be6b27463446905f155f14232d2b4",
|
||||
"filename": "ReactOS-0.4.14-release-21-g1302c1b.iso",
|
||||
"version": "Installer-0.4.14-release-21",
|
||||
"md5sum": "a30bc9143788c76ed584ffd5d25fddfe",
|
||||
"filesize": 140509184,
|
||||
"download_url": "https://reactos.org/download",
|
||||
"direct_download_url": "https://sourceforge.net/projects/reactos/files/ReactOS/0.4.14/ReactOS-0.4.14-release-21-g1302c1b-iso.zip/download"
|
||||
},
|
||||
{
|
||||
"filename": "ReactOS-0.4.14-release-15-gb6088a6-Live.iso",
|
||||
"version": "Live-0.4.14-release-15",
|
||||
"md5sum": "73c1a0169a9a3b8a4feb91f4d00f5e97",
|
||||
"filename": "ReactOS-0.4.14-release-21-g1302c1b-Live.iso",
|
||||
"version": "Live-0.4.14-release-21",
|
||||
"md5sum": "fc362820069adeea088b3a48dcfa3f9e",
|
||||
"filesize": 267386880,
|
||||
"download_url": "https://reactos.org/download",
|
||||
"direct_download_url": "https://sourceforge.net/projects/reactos/files/ReactOS/0.4.14/ReactOS-0.4.14-release-21-g1302c1b-live.zip/download"
|
||||
@@ -50,17 +50,17 @@
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "Installer-0.4.14-release-15",
|
||||
"name": "Installer-0.4.14-release-21",
|
||||
"images": {
|
||||
"hda_disk_image": "empty30G.qcow2",
|
||||
"cdrom_image": "ReactOS-0.4.14-release-15-gb6088a6.iso"
|
||||
"cdrom_image": "ReactOS-0.4.14-release-21-g1302c1b.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Live-0.4.14-release-15",
|
||||
"name": "Live-0.4.14-release-21",
|
||||
"images": {
|
||||
"hda_disk_image": "empty30G.qcow2",
|
||||
"cdrom_image": "ReactOS-0.4.14-release-15-gb6088a6-Live.iso"
|
||||
"cdrom_image": "ReactOS-0.4.14-release-21-g1302c1b-Live.iso"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -13,18 +13,27 @@
|
||||
"status": "stable",
|
||||
"maintainer": "Brent Stewart",
|
||||
"maintainer_email": "brent@stewart.tc",
|
||||
"usage": "Your default account will have sudo priviledges. Squil and Squert username and password are configured in the Setup wizard. MySQL root is set to null. For more info see https://github.com/Security-Onion-Solutions/security-onion/wiki/Passwords.",
|
||||
"usage": "Your default account will have sudo privileges. Squil and Squert username and password are configured in the Setup wizard. MySQL root is set to null. For more info see https://github.com/Security-Onion-Solutions/security-onion/wiki/Passwords.",
|
||||
"symbol": "securityonion-logo.png",
|
||||
"qemu": {
|
||||
"adapter_type": "e1000",
|
||||
"adapters": 2,
|
||||
"ram": 3072,
|
||||
"ram": 4096,
|
||||
"hda_disk_interface": "ide",
|
||||
"arch": "x86_64",
|
||||
"console_type": "vnc",
|
||||
"kvm": "allow"
|
||||
"kvm": "allow",
|
||||
"options": "-cpu host"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "securityonion-2.4.80-20240624.iso",
|
||||
"version": "2.4.80-20240624",
|
||||
"md5sum": "139f9762e926f9cb3c4a9528a3752c31",
|
||||
"filesize": 12391022592,
|
||||
"download_url": "https://github.com/Security-Onion-Solutions/securityonion/blob/2.4/main/DOWNLOAD_AND_VERIFY_ISO.md",
|
||||
"direct_download_url": "https://download.securityonion.net/file/securityonion/securityonion-2.4.80-20240624.iso"
|
||||
},
|
||||
{
|
||||
"filename": "securityonion-16.04.7.1.iso",
|
||||
"version": "16.04.7.1",
|
||||
@@ -49,6 +58,14 @@
|
||||
"download_url": "https://github.com/Security-Onion-Solutions/security-onion/releases/",
|
||||
"direct_download_url": "https://github.com/Security-Onion-Solutions/security-onion/releases/download/v14.04.5.4_20171031/securityonion-14.04.5.4.iso"
|
||||
},
|
||||
{
|
||||
"filename": "empty100G.qcow2",
|
||||
"version": "1.0",
|
||||
"md5sum": "5d9fec18a980f13002028491259f158d",
|
||||
"filesize": 198656,
|
||||
"download_url": "https://github.com/riverbed/Riverbed-Community-Toolkit/raw/master/SteelHead/GNS3",
|
||||
"direct_download_url": "https://github.com/riverbed/Riverbed-Community-Toolkit/raw/master/SteelHead/GNS3/empty100G.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "empty30G.qcow2",
|
||||
"version": "1.0",
|
||||
@@ -59,6 +76,13 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "2.4.80-20240624",
|
||||
"images": {
|
||||
"hda_disk_image": "empty100G.qcow2",
|
||||
"cdrom_image": "securityonion-2.4.80-20240624.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "16.04.7.1",
|
||||
"images": {
|
||||
|
||||
@@ -0,0 +1,104 @@
|
||||
{
|
||||
"appliance_id": "8c19ccaa-a1d0-4473-94a2-a93b64924d88",
|
||||
"name": "TrueNAS",
|
||||
"category": "guest",
|
||||
"description": "TrueNAS is a family of network-attached storage (NAS) products produced by iXsystems, incorporating both FOSS, as well as commercial offerings. Based on the OpenZFS file system, TrueNAS runs on FreeBSD as well as Linux and is available under the BSD License It is compatible with x86-64 hardware and is also available as turnkey appliances from iXsystems.",
|
||||
"vendor_name": "iXsystems",
|
||||
"vendor_url": "https://www.truenas.com/",
|
||||
"documentation_url": "https://www.truenas.com/docs/",
|
||||
"product_name": "TrueNAS",
|
||||
"product_url": "https://www.truenas.com/",
|
||||
"registry_version": 4,
|
||||
"status": "stable",
|
||||
"maintainer": "GNS3 Team",
|
||||
"maintainer_email": "developers@gns3.net",
|
||||
"usage": "To install TrueNAS SCALE you may have to select the Legacy BIOS option.",
|
||||
"port_name_format": "eth{0}",
|
||||
"qemu": {
|
||||
"adapter_type": "e1000",
|
||||
"adapters": 1,
|
||||
"ram": 8192,
|
||||
"hda_disk_interface": "ide",
|
||||
"hdb_disk_interface": "ide",
|
||||
"arch": "x86_64",
|
||||
"console_type": "vnc",
|
||||
"boot_priority": "cd",
|
||||
"kvm": "require"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "TrueNAS-13.0-U6.2.iso",
|
||||
"version": "CORE 13.0 U6.2",
|
||||
"md5sum": "8b2882b53af5e9f3ca905c6acdee1690",
|
||||
"filesize": 1049112576,
|
||||
"download_url": "https://www.truenas.com/download-truenas-core/",
|
||||
"direct_download_url": "https://download-core.sys.truenas.net/13.0/STABLE/U6.2/x64/TrueNAS-13.0-U6.2.iso"
|
||||
},
|
||||
{
|
||||
"filename": "TrueNAS-13.3-RELEASE.iso",
|
||||
"version": "CORE 13.3 RELEASE",
|
||||
"md5sum": "8bb16cfb06f3f1374a27cf6aebb14ed3",
|
||||
"filesize": 995567616,
|
||||
"download_url": "https://www.truenas.com/download-truenas-core/",
|
||||
"direct_download_url": "https://download-core.sys.truenas.net/13.3/STABLE/RELEASE/x64/TrueNAS-13.3-RELEASE.iso"
|
||||
},
|
||||
{
|
||||
"filename": "TrueNAS-SCALE-24.04.2.2.iso",
|
||||
"version": "SCALE 24.04.2.2",
|
||||
"md5sum": "47d9026254a0775800bb2b8ab6d874fd",
|
||||
"filesize": 1630355456,
|
||||
"download_url": "https://www.truenas.com/download-truenas-scale/",
|
||||
"direct_download_url": "https://download.sys.truenas.net/TrueNAS-SCALE-Dragonfish/24.04.2.2/TrueNAS-SCALE-24.04.2.2.iso"
|
||||
},
|
||||
{
|
||||
"filename": "TrueNAS-SCALE-24.10-BETA.1.iso",
|
||||
"version": "SCALE 24.10-BETA.1",
|
||||
"md5sum": "cc3d5758d1db3d55ae9c8716f5d43b88",
|
||||
"filesize": 1491378176,
|
||||
"download_url": "https://www.truenas.com/download-truenas-scale/",
|
||||
"direct_download_url": "https://download.sys.truenas.net/TrueNAS-SCALE-ElectricEel-BETA/24.10-BETA.1/TrueNAS-SCALE-24.10-BETA.1.iso"
|
||||
},
|
||||
{
|
||||
"filename": "empty30G.qcow2",
|
||||
"version": "1.0",
|
||||
"md5sum": "3411a599e822f2ac6be560a26405821a",
|
||||
"filesize": 197120,
|
||||
"download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
|
||||
"direct_download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty30G.qcow2/download"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "CORE 13.0 U6.2",
|
||||
"images": {
|
||||
"hda_disk_image": "empty30G.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2",
|
||||
"cdrom_image": "TrueNAS-13.0-U6.2.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "CORE 13.3 RELEASE",
|
||||
"images": {
|
||||
"hda_disk_image": "empty30G.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2",
|
||||
"cdrom_image": "TrueNAS-13.3-RELEASE.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "SCALE 24.04.2.2",
|
||||
"images": {
|
||||
"hda_disk_image": "empty30G.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2",
|
||||
"cdrom_image": "TrueNAS-SCALE-24.04.2.2.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "SCALE 24.10-BETA.1",
|
||||
"images": {
|
||||
"hda_disk_image": "empty30G.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2",
|
||||
"cdrom_image": "TrueNAS-SCALE-24.10-BETA.1.iso"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -28,36 +28,44 @@
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "ubuntu-23.04-server-cloudimg-amd64.img",
|
||||
"version": "Ubuntu 23.04 (Lunar Lobster)",
|
||||
"md5sum": "369e3b1f68416c39245a8014172406dd",
|
||||
"filesize": 756678656,
|
||||
"download_url": "https://cloud-images.ubuntu.com/releases/23.04/release/",
|
||||
"direct_download_url": "https://cloud-images.ubuntu.com/releases/23.04/release/ubuntu-23.04-server-cloudimg-amd64.img"
|
||||
"filename": "ubuntu-24.10-server-cloudimg-amd64.img",
|
||||
"version": "Ubuntu 24.10 (Oracular Oriole)",
|
||||
"md5sum": "f2960f8743efedd0a4968bfcd9451782",
|
||||
"filesize": 627360256,
|
||||
"download_url": "https://cloud-images.ubuntu.com/releases/oracular/release-20241009/",
|
||||
"direct_download_url": "https://cloud-images.ubuntu.com/releases/oracular/release-20241009/ubuntu-24.10-server-cloudimg-amd64.img"
|
||||
},
|
||||
{
|
||||
"filename": "ubuntu-24.04-server-cloudimg-amd64.img",
|
||||
"version": "Ubuntu 24.04 LTS (Noble Numbat)",
|
||||
"md5sum": "a1c8a01953578ad432cbef03db2f3161",
|
||||
"filesize": 587241984,
|
||||
"download_url": "https://cloud-images.ubuntu.com/releases/noble/release-20241004/",
|
||||
"direct_download_url": "https://cloud-images.ubuntu.com/releases/noble/release-20241004/ubuntu-24.04-server-cloudimg-amd64.img"
|
||||
},
|
||||
{
|
||||
"filename": "ubuntu-22.04-server-cloudimg-amd64.img",
|
||||
"version": "Ubuntu 22.04 LTS (Jammy Jellyfish)",
|
||||
"md5sum": "3ce0b84f9592482fb645e8253b979827",
|
||||
"filesize": 686096384,
|
||||
"download_url": "https://cloud-images.ubuntu.com/releases/jammy/release",
|
||||
"direct_download_url": "https://cloud-images.ubuntu.com/releases/jammy/release/ubuntu-22.04-server-cloudimg-amd64.img"
|
||||
"md5sum": "8f9a70435dc5b0b86cf5d0d4716b6091",
|
||||
"filesize": 653668352,
|
||||
"download_url": "https://cloud-images.ubuntu.com/releases/jammy/release-20241002/",
|
||||
"direct_download_url": "https://cloud-images.ubuntu.com/releases/jammy/release-20241002/ubuntu-22.04-server-cloudimg-amd64.img"
|
||||
},
|
||||
{
|
||||
"filename": "ubuntu-20.04-server-cloudimg-amd64.img",
|
||||
"version": "Ubuntu 20.04 LTS (Focal Fossa)",
|
||||
"md5sum": "044bc979b2238192ee3edb44e2bb6405",
|
||||
"filesize": 552337408,
|
||||
"download_url": "https://cloud-images.ubuntu.com/releases/focal/release-20210119.1/",
|
||||
"direct_download_url": "https://cloud-images.ubuntu.com/releases/focal/release-20210119.1/ubuntu-20.04-server-cloudimg-amd64.img"
|
||||
"md5sum": "1dff90e16acb0167c27ff82e4ac1813a",
|
||||
"filesize": 627310592,
|
||||
"download_url": "https://cloud-images.ubuntu.com/releases/focal/release-20240821/",
|
||||
"direct_download_url": "https://cloud-images.ubuntu.com/releases/focal/release-20240821/ubuntu-20.04-server-cloudimg-amd64.img"
|
||||
},
|
||||
{
|
||||
"filename": "ubuntu-18.04-server-cloudimg-amd64.img",
|
||||
"version": "Ubuntu 18.04 LTS (Bionic Beaver)",
|
||||
"md5sum": "f4134e7fa16d7fa766c7467cbe25c949",
|
||||
"filesize": 336134144,
|
||||
"download_url": "https://cloud-images.ubuntu.com/releases/18.04/release-20180426.2/",
|
||||
"direct_download_url": "https://cloud-images.ubuntu.com/releases/18.04/release-20180426.2/ubuntu-18.04-server-cloudimg-amd64.img"
|
||||
"md5sum": "62fa110eeb0459c1ff166f897aeb9f78",
|
||||
"filesize": 405667840,
|
||||
"download_url": "https://cloud-images.ubuntu.com/releases/bionic/release-20230607/",
|
||||
"direct_download_url": "https://cloud-images.ubuntu.com/releases/bionic/release-20230607/ubuntu-18.04-server-cloudimg-amd64.img"
|
||||
},
|
||||
{
|
||||
"filename": "ubuntu-cloud-init-data.iso",
|
||||
@@ -70,9 +78,16 @@
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "Ubuntu 23.04 (Lunar Lobster)",
|
||||
"name": "Ubuntu 24.10 (Oracular Oriole)",
|
||||
"images": {
|
||||
"hda_disk_image": "ubuntu-23.04-server-cloudimg-amd64.img",
|
||||
"hda_disk_image": "ubuntu-24.10-server-cloudimg-amd64.img",
|
||||
"cdrom_image": "ubuntu-cloud-init-data.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Ubuntu 24.04 LTS (Noble Numbat)",
|
||||
"images": {
|
||||
"hda_disk_image": "ubuntu-24.04-server-cloudimg-amd64.img",
|
||||
"cdrom_image": "ubuntu-cloud-init-data.iso"
|
||||
}
|
||||
},
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
"symbol": "linux_guest.svg",
|
||||
"docker": {
|
||||
"adapters": 1,
|
||||
"image": "gns3/ubuntu:focal",
|
||||
"image": "gns3/ubuntu:noble",
|
||||
"console_type": "telnet"
|
||||
}
|
||||
}
|
||||
@@ -27,6 +27,13 @@
|
||||
"options": "-vga qxl"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "Ubuntu 24.04 (64bit).vmdk",
|
||||
"version": "24.04",
|
||||
"md5sum": "7709a5a1cf888c7644d245c42d217918",
|
||||
"filesize": 6432555008,
|
||||
"download_url": "https://www.osboxes.org/ubuntu/"
|
||||
},
|
||||
{
|
||||
"filename": "Ubuntu 22.04 (64bit).vmdk",
|
||||
"version": "22.04",
|
||||
@@ -57,6 +64,12 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "24.04",
|
||||
"images": {
|
||||
"hda_disk_image": "Ubuntu 24.04 (64bit).vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "22.04",
|
||||
"images": {
|
||||
|
||||
@@ -10,8 +10,8 @@
|
||||
"product_url": "http://www.cisco.com/",
|
||||
"registry_version": 4,
|
||||
"status": "experimental",
|
||||
"maintainer": "Laurent LEVIER",
|
||||
"maintainer_email": "laurent.levier@orange.com",
|
||||
"maintainer": "Christopher Uhrig",
|
||||
"maintainer_email": "christopher.uhrig@telekom.de",
|
||||
"usage": "Initial username is admin, password is admin as well.",
|
||||
"first_port_name": "Management0/0",
|
||||
"port_name_format": "Ge0/{0}",
|
||||
@@ -39,6 +39,20 @@
|
||||
"md5sum": "4aa487101d4cdc390f53a6e8b6f45ca7",
|
||||
"filesize": 328400896,
|
||||
"download_url": "http://www.cisco.com/"
|
||||
},
|
||||
{
|
||||
"filename": "viptela-edge-20.9.5.1-genericx86-64.qcow2",
|
||||
"version": "20.9.5.1",
|
||||
"md5sum": "41d9e981908fd83695de78d6ca5794bd",
|
||||
"filesize": 409468928,
|
||||
"download_url": "https://software.cisco.com/download/home/286320995/type/286321047/release/20.9.5.1"
|
||||
},
|
||||
{
|
||||
"filename": "viptela-edge-20.12.4-genericx86-64.qcow2",
|
||||
"version": "20.12.4",
|
||||
"md5sum": "9f1aedada5e632c7bc29a51c004f4486",
|
||||
"filesize": 411762688,
|
||||
"download_url": "https://software.cisco.com/download/home/286320995/type/286321047/release/20.12.4"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
@@ -53,6 +67,18 @@
|
||||
"images": {
|
||||
"hda_disk_image": "viptela-edge-genericx86-64.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "20.9.5.1",
|
||||
"images": {
|
||||
"hda_disk_image": "viptela-edge-20.9.5.1-genericx86-64.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "20.12.4",
|
||||
"images": {
|
||||
"hda_disk_image": "viptela-edge-20.12.4-genericx86-64.qcow2"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -24,6 +24,20 @@
|
||||
"options": "-smp 2,maxcpus=2 -cpu host"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "viptela-smart-20.12.4-genericx86-64.qcow2",
|
||||
"version": "20.12.4",
|
||||
"md5sum": "0e7b6468498a89195ab815260bc4cfb6",
|
||||
"filesize": 411762688,
|
||||
"download_url": "https://software.cisco.com/download/home/286320995/type/286321043/release/20.12.4"
|
||||
},
|
||||
{
|
||||
"filename": "viptela-smart-20.9.5.1-genericx86-64.qcow2",
|
||||
"version": "20.9.5.1",
|
||||
"md5sum": "08e105778bb68f8f24f323dfd263a91a",
|
||||
"filesize": 409468928,
|
||||
"download_url": "https://software.cisco.com/download/home/286320995/type/286321043/release/20.9.5.1"
|
||||
},
|
||||
{
|
||||
"filename": "viptela-smart-19.2.0-genericx86-64.qcow2",
|
||||
"version": "19.2.0",
|
||||
@@ -31,7 +45,7 @@
|
||||
"filesize": 328400896,
|
||||
"download_url": "http://www.cisco.com/"
|
||||
},
|
||||
{
|
||||
{
|
||||
"filename": "viptela-smart-genericx86-64-disk1.vmdk",
|
||||
"version": "18.3.7",
|
||||
"md5sum": "ab9b06c212319336810a4b336ec3dd96",
|
||||
@@ -51,6 +65,18 @@
|
||||
"images": {
|
||||
"hda_disk_image": "viptela-smart-19.2.0-genericx86-64.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "20.9.5.1",
|
||||
"images": {
|
||||
"hda_disk_image": "viptela-smart-20.9.5.1-genericx86-64.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "20.12.4",
|
||||
"images": {
|
||||
"hda_disk_image": "viptela-smart-20.12.4-genericx86-64.qcow2"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -10,8 +10,8 @@
|
||||
"product_url": "http://www.cisco.com/",
|
||||
"registry_version": 4,
|
||||
"status": "experimental",
|
||||
"maintainer": "Laurent LEVIER",
|
||||
"maintainer_email": "laurent.levier@orange.com",
|
||||
"maintainer": "Christopher Uhrig",
|
||||
"maintainer_email": "christopher.uhrig@telekom.de",
|
||||
"usage": "Initial username is admin, password is admin as well.",
|
||||
"qemu": {
|
||||
"adapter_type": "vmxnet3",
|
||||
@@ -25,14 +25,28 @@
|
||||
"options": "-cpu host -smp 2,maxcpus=2"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
{
|
||||
"filename": "viptela-vmanage-20.12.4-genericx86-64.qcow2",
|
||||
"version": "20.12.4",
|
||||
"md5sum": "4e0d4c379623c495a0bb671a76a12f9f",
|
||||
"filesize": 4951375872,
|
||||
"download_url": "https://software.cisco.com/download/home/286320995/type/286321039/release/20.12.4"
|
||||
},
|
||||
{
|
||||
"filename": "viptela-vmanage-20.9.5.2-genericx86-64.qcow2",
|
||||
"version": "20.9.5.2",
|
||||
"md5sum": "a8a4ebee0274541200f4fe94a739d454",
|
||||
"filesize": 3133865984,
|
||||
"download_url": "https://software.cisco.com/download/home/286320995/type/286321039/release/20.9.5.2"
|
||||
},
|
||||
{
|
||||
"filename": "viptela-vmanage-19.2.0-genericx86-64.qcow2",
|
||||
"version": "19.2.0",
|
||||
"md5sum": "27ef126f178c6c929a36ad2cf6ed8db7",
|
||||
"filesize": 1185349632,
|
||||
"download_url": "http://www.cisco.com/"
|
||||
},
|
||||
{
|
||||
{
|
||||
"filename": "viptela-vmanage-genericx86-64-disk1.vmdk",
|
||||
"version": "18.3.7",
|
||||
"md5sum": "2290c6467c907d9ca9c65793fe898716",
|
||||
@@ -55,6 +69,20 @@
|
||||
"hda_disk_image": "viptela-vmanage-19.2.0-genericx86-64.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "20.12.4",
|
||||
"images": {
|
||||
"hda_disk_image": "viptela-vmanage-20.12.4-genericx86-64.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "20.9.5.2",
|
||||
"images": {
|
||||
"hda_disk_image": "viptela-vmanage-20.9.5.2-genericx86-64.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "18.3.7",
|
||||
|
||||
@@ -1,181 +1,178 @@
|
||||
{
|
||||
"appliance_id": "f82b74c4-0f30-456f-a582-63daca528502",
|
||||
"name": "VyOS",
|
||||
"name": "VyOS Universal Router",
|
||||
"category": "router",
|
||||
"description": "VyOS is a community fork of Vyatta, a Linux-based network operating system that provides software-based network routing, firewall, and VPN functionality.",
|
||||
"vendor_name": "Linux",
|
||||
"vendor_url": "https://vyos.net/",
|
||||
"description": "VyOS is an open-source network operating system that provides a comprehensive suite of features for routing, firewalling, and VPN functionality. VyOS offers a robust and flexible solution for both small-scale and large-scale network environments. It is designed to support enterprise-grade networking with the added benefits of community-driven development and continuous updates.\n\nThe VyOS Universal Router, when used in GNS3, brings the power and versatility of VyOS to network simulation and emulation. GNS3 users can deploy the VyOS Universal Router to create and test complex network topologies in a virtual environment. This appliance provides a rich set of features, including dynamic routing protocols, stateful firewall capabilities, various VPNs, as well as high availability configurations.\n\nThe seamless integration with GNS3 allows network engineers and architects to validate network designs, perform testing and troubleshooting, and enhance their skill sets in a controlled, risk-free environment.",
|
||||
"vendor_name": "VyOS Inc.",
|
||||
"vendor_url": "https://vyos.io/",
|
||||
"vendor_logo_url": "https://raw.githubusercontent.com/GNS3/gns3-registry/master/vendor-logos/VyOS.png",
|
||||
"documentation_url": "https://docs.vyos.io/",
|
||||
"product_name": "VyOS",
|
||||
"product_url": "https://vyos.net/",
|
||||
"product_name": "VyOS Universal Router",
|
||||
"product_url": "https://vyos.io/vyos-universal-router",
|
||||
"registry_version": 4,
|
||||
"status": "stable",
|
||||
"maintainer": "GNS3 Team",
|
||||
"maintainer_email": "developers@gns3.net",
|
||||
"usage": "Default username/password is vyos/vyos.\n\nThe -KVM versions are ready to use, no installation is required.\nThe other images will start the router from the CDROM on initial boot. Login and then type \"install image\" and follow the instructions.",
|
||||
"availability": "service-contract",
|
||||
"maintainer": "VyOS Inc.",
|
||||
"maintainer_email": "support@vyos.io",
|
||||
"usage": "\nDefault credentials:\nUser: vyos\nPassword: vyos",
|
||||
"symbol": "vyos.svg",
|
||||
"port_name_format": "eth{0}",
|
||||
"qemu": {
|
||||
"adapter_type": "e1000",
|
||||
"adapters": 3,
|
||||
"ram": 512,
|
||||
"hda_disk_interface": "scsi",
|
||||
"adapter_type": "virtio-net-pci",
|
||||
"adapters": 10,
|
||||
"ram": 2048,
|
||||
"cpus": 4,
|
||||
"hda_disk_interface": "virtio",
|
||||
"arch": "x86_64",
|
||||
"console_type": "telnet",
|
||||
"boot_priority": "cd",
|
||||
"kvm": "allow"
|
||||
"boot_priority": "c",
|
||||
"kvm": "require",
|
||||
"on_close": "shutdown_signal"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "vyos-1.3.2-amd64.iso",
|
||||
"filename": "vyos-1.4.0-kvm-amd64.qcow2",
|
||||
"version": "1.4.0",
|
||||
"md5sum": "a130e446bc5bf87391981f183ee3694b",
|
||||
"filesize": 468320256,
|
||||
"download_url": "https://support.vyos.io/"
|
||||
},
|
||||
{
|
||||
"filename": "vyos-1.3.7-qemu-amd64.qcow2",
|
||||
"version": "1.3.7",
|
||||
"md5sum": "f4663b1e2df115bfa5c7ec17584514d6",
|
||||
"filesize": 359792640,
|
||||
"download_url": "https://support.vyos.io/"
|
||||
},
|
||||
{
|
||||
"filename": "vyos-1.3.2-10G-qemu.qcow2",
|
||||
"version": "1.3.2",
|
||||
"md5sum": "070743faac800f9e5197058a8b6b3ba1",
|
||||
"filesize": 334495744,
|
||||
"download_url": "https://support.vyos.io/en/downloads/files/vyos-1-3-2-generic-iso-image"
|
||||
"md5sum": "68ad3fb530213189ac9ed496d5fe7897",
|
||||
"filesize": 326893568,
|
||||
"download_url": "https://support.vyos.io/"
|
||||
},
|
||||
{
|
||||
"filename": "vyos-1.3.1-S1-amd64.iso",
|
||||
"filename": "vyos-1.3.1-S1-10G-qemu.qcow2",
|
||||
"version": "1.3.1-S1",
|
||||
"md5sum": "781f345e8a4ab9eb9e075ce5c87c8817",
|
||||
"filesize": 351272960,
|
||||
"download_url": "https://support.vyos.io/en/downloads/files/vyos-1-3-1-s1-generic-iso-image"
|
||||
"md5sum": "d8ed9f82a983295b94b07f8e37c48ed0",
|
||||
"filesize": 343801856,
|
||||
"download_url": "https://support.vyos.io/"
|
||||
},
|
||||
{
|
||||
"filename": "vyos-1.3.1-amd64.iso",
|
||||
"filename": "vyos-1.3.1-10G-qemu.qcow2",
|
||||
"version": "1.3.1",
|
||||
"md5sum": "b6f57bd0cf9b60cdafa337b08ba4f2bc",
|
||||
"filesize": 350224384,
|
||||
"download_url": "https://support.vyos.io/en/downloads/files/vyos-1-3-1-generic-iso-image"
|
||||
"md5sum": "482367c833990fb2b9350e3708d33dc9",
|
||||
"filesize": 342556672,
|
||||
"download_url": "https://support.vyos.io/"
|
||||
},
|
||||
{
|
||||
"filename": "vyos-1.3.0-amd64.iso",
|
||||
"filename": "vyos-1.3.0-10G-qemu.qcow2",
|
||||
"version": "1.3.0",
|
||||
"md5sum": "2019bd9c5efa6194e2761de678d0073f",
|
||||
"filesize": 338690048,
|
||||
"download_url": "https://support.vyos.io/en/downloads/files/vyos-1-3-0-generic-iso-image"
|
||||
},
|
||||
{
|
||||
"filename": "vyos-1.2.9-S1-amd64.iso",
|
||||
"version": "1.2.9-S1",
|
||||
"md5sum": "3fece6363f9766f862e26d292d0ed5a3",
|
||||
"filesize": 430964736,
|
||||
"download_url": "https://support.vyos.io/en/downloads/files/vyos-1-2-9-s1-generic-iso-image",
|
||||
"direct_download_url": "https://legacy-lts-images.vyos.io/1.2.9-S1/vyos-1.2.9-S1-amd64.iso"
|
||||
"md5sum": "086e95e992e9b4d014c5f154cd01a6e6",
|
||||
"filesize": 330956800,
|
||||
"download_url": "https://support.vyos.io/"
|
||||
},
|
||||
{
|
||||
"filename": "vyos-1.2.9-S1-10G-qemu.qcow2",
|
||||
"version": "1.2.9-S1-KVM",
|
||||
"version": "1.2.9-S1",
|
||||
"md5sum": "0a70d78b80a3716d42487c02ef44f41f",
|
||||
"filesize": 426967040,
|
||||
"download_url": "https://support.vyos.io/en/downloads/files/vyos-1-2-9-s1-for-kvm",
|
||||
"direct_download_url": "https://legacy-lts-images.vyos.io/1.2.9-S1/vyos-1.2.9-S1-10G-qemu.qcow2"
|
||||
"download_url": "https://support.vyos.io/"
|
||||
},
|
||||
{
|
||||
"filename": "vyos-1.2.9-amd64.iso",
|
||||
"version": "1.2.9",
|
||||
"md5sum": "586be23b6256173e174c82d8f1f699a1",
|
||||
"filesize": 430964736,
|
||||
"download_url": "https://support.vyos.io/en/downloads/files/vyos-1-2-9-generic-iso-image",
|
||||
"direct_download_url": "https://legacy-lts-images.vyos.io/1.2.9/vyos-1.2.9-amd64.iso"
|
||||
},
|
||||
{
|
||||
"filename": "vyos-1.2.9-10G-qemu.qcow2",
|
||||
"version": "1.2.9-KVM",
|
||||
"md5sum": "76871c7b248c32f75177c419128257ac",
|
||||
"filesize": 427360256,
|
||||
"download_url": "https://support.vyos.io/en/downloads/files/vyos-1-2-9-10g-qemu-qcow2",
|
||||
"direct_download_url": "https://legacy-lts-images.vyos.io/1.2.9/vyos-1.2.9-10G-qemu.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "vyos-1.2.8-amd64.iso",
|
||||
"filename": "vyos-1.2.8-10G-qemu.qcow2",
|
||||
"version": "1.2.8",
|
||||
"md5sum": "0ad879db903efdbf1c39dc945e165931",
|
||||
"filesize": 429916160,
|
||||
"download_url": "https://support.vyos.io/en/downloads/files/vyos-1-2-8-generic-iso-image"
|
||||
"md5sum": "96c76f619d0f8ea11dc8a3a18ed67b98",
|
||||
"filesize": 425852928,
|
||||
"download_url": "https://support.vyos.io/"
|
||||
},
|
||||
{
|
||||
"filename": "vyos-1.1.8-amd64.iso",
|
||||
"version": "1.1.8",
|
||||
"md5sum": "95a141d4b592b81c803cdf7e9b11d8ea",
|
||||
"filesize": 241172480,
|
||||
"direct_download_url": "https://legacy-lts-images.vyos.io/vyos-1.1.8-amd64.iso"
|
||||
"filename": "vyos-1.2.7-qemu.qcow2",
|
||||
"version": "1.2.7",
|
||||
"md5sum": "1be4674c970fcdd65067e504baea5d74",
|
||||
"filesize": 424607744,
|
||||
"download_url": "https://support.vyos.io/"
|
||||
},
|
||||
{
|
||||
"filename": "empty8G.qcow2",
|
||||
"version": "1.0",
|
||||
"md5sum": "f1d2c25b6990f99bd05b433ab603bdb4",
|
||||
"filesize": 197120,
|
||||
"download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
|
||||
"direct_download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty8G.qcow2/download"
|
||||
"filename": "vyos-1.2.6-qemu.qcow2",
|
||||
"version": "1.2.6",
|
||||
"md5sum": "d8010d79889ca0ba5cb2634665e548e3",
|
||||
"filesize": 424607744,
|
||||
"download_url": "https://support.vyos.io/"
|
||||
},
|
||||
{
|
||||
"filename": "vyos-1.2.5-amd64.qcow2",
|
||||
"version": "1.2.5",
|
||||
"md5sum": "110c22309ec480600446fd2fb4f27a0d",
|
||||
"filesize": 411500544 ,
|
||||
"download_url": "https://support.vyos.io/"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "1.4.0",
|
||||
"images": {
|
||||
"hda_disk_image": "vyos-1.4.0-kvm-amd64.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "1.3.7",
|
||||
"images": {
|
||||
"hda_disk_image": "vyos-1.3.7-qemu-amd64.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "1.3.2",
|
||||
"images": {
|
||||
"hda_disk_image": "empty8G.qcow2",
|
||||
"cdrom_image": "vyos-1.3.2-amd64.iso"
|
||||
"hda_disk_image": "vyos-1.3.2-10G-qemu.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "1.3.1-S1",
|
||||
"images": {
|
||||
"hda_disk_image": "empty8G.qcow2",
|
||||
"cdrom_image": "vyos-1.3.1-S1-amd64.iso"
|
||||
"hda_disk_image": "vyos-1.3.1-S1-10G-qemu.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "1.3.1",
|
||||
"images": {
|
||||
"hda_disk_image": "empty8G.qcow2",
|
||||
"cdrom_image": "vyos-1.3.1-amd64.iso"
|
||||
"hda_disk_image": "vyos-1.3.1-10G-qemu.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "1.3.0",
|
||||
"images": {
|
||||
"hda_disk_image": "empty8G.qcow2",
|
||||
"cdrom_image": "vyos-1.3.0-amd64.iso"
|
||||
"hda_disk_image": "vyos-1.3.0-10G-qemu.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "1.2.9-S1",
|
||||
"images": {
|
||||
"hda_disk_image": "empty8G.qcow2",
|
||||
"cdrom_image": "vyos-1.2.9-S1-amd64.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "1.2.9-S1-KVM",
|
||||
"images": {
|
||||
"hda_disk_image": "vyos-1.2.9-S1-10G-qemu.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "1.2.9",
|
||||
"images": {
|
||||
"hda_disk_image": "empty8G.qcow2",
|
||||
"cdrom_image": "vyos-1.2.9-amd64.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "1.2.9-KVM",
|
||||
"images": {
|
||||
"hda_disk_image": "vyos-1.2.9-10G-qemu.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "1.2.8",
|
||||
"images": {
|
||||
"hda_disk_image": "empty8G.qcow2",
|
||||
"cdrom_image": "vyos-1.2.8-amd64.iso"
|
||||
"hda_disk_image": "vyos-1.2.8-10G-qemu.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "1.1.8",
|
||||
"name": "1.2.7",
|
||||
"images": {
|
||||
"hda_disk_image": "empty8G.qcow2",
|
||||
"cdrom_image": "vyos-1.1.8-amd64.iso"
|
||||
"hda_disk_image": "vyos-1.2.7-qemu.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "1.2.6",
|
||||
"images": {
|
||||
"hda_disk_image": "vyos-1.2.6-qemu.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "1.2.5",
|
||||
"images": {
|
||||
"hda_disk_image": "vyos-1.2.5-amd64.qcow2"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -406,13 +406,11 @@ class BaseNode:
|
||||
Stops the telnet proxy.
|
||||
"""
|
||||
|
||||
if self._wrapper_telnet_server:
|
||||
if self._wrap_console_writer:
|
||||
self._wrap_console_writer.close()
|
||||
if sys.version_info >= (3, 7, 0):
|
||||
try:
|
||||
await self._wrap_console_writer.wait_closed()
|
||||
except ConnectionResetError:
|
||||
pass
|
||||
await self._wrap_console_writer.wait_closed()
|
||||
self._wrap_console_writer = None
|
||||
if self._wrapper_telnet_server:
|
||||
self._wrapper_telnet_server.close()
|
||||
await self._wrapper_telnet_server.wait_closed()
|
||||
self._wrapper_telnet_server = None
|
||||
@@ -662,6 +660,7 @@ class BaseNode:
|
||||
path = shutil.which(path)
|
||||
return path
|
||||
|
||||
@locking
|
||||
async def _ubridge_send(self, command):
|
||||
"""
|
||||
Sends a command to uBridge hypervisor.
|
||||
|
||||
@@ -29,6 +29,7 @@ import shutil
|
||||
import platformdirs
|
||||
|
||||
from gns3server.utils import parse_version
|
||||
from gns3server.config import Config
|
||||
from gns3server.utils.asyncio import locking
|
||||
from gns3server.compute.base_manager import BaseManager
|
||||
from gns3server.compute.docker.docker_vm import DockerVM
|
||||
@@ -88,7 +89,7 @@ class Docker(BaseManager):
|
||||
f"{stdout.decode('utf-8', errors='ignore').strip()}")
|
||||
except OSError as e:
|
||||
raise DockerError(f"Could not install busybox: {e}")
|
||||
raise DockerError("No busybox executable could be found")
|
||||
raise DockerError("No busybox executable could be found, please install busybox (apt install busybox-static on Debian/Ubuntu) and make sure it is in your PATH")
|
||||
|
||||
@staticmethod
|
||||
def resources_path():
|
||||
@@ -96,8 +97,10 @@ class Docker(BaseManager):
|
||||
Get the Docker resources storage directory
|
||||
"""
|
||||
|
||||
server_config = Config.instance().get_section_config("Server")
|
||||
appname = vendor = "GNS3"
|
||||
docker_resources_dir = os.path.join(platformdirs.user_data_dir(appname, vendor, roaming=True), "docker", "resources")
|
||||
resources_path = os.path.expanduser(server_config.get("resources_path", platformdirs.user_data_dir(appname, vendor, roaming=True)))
|
||||
docker_resources_dir = os.path.join(resources_path, "docker")
|
||||
os.makedirs(docker_resources_dir, exist_ok=True)
|
||||
return docker_resources_dir
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ from gns3server.utils.asyncio.telnet_server import AsyncioTelnetServer
|
||||
from gns3server.utils.asyncio.raw_command_server import AsyncioRawCommandServer
|
||||
from gns3server.utils.asyncio import wait_for_file_creation
|
||||
from gns3server.utils.asyncio import monitor_process
|
||||
from gns3server.utils.get_resource import get_resource
|
||||
from gns3server.utils import macaddress_to_int, int_to_macaddress
|
||||
|
||||
from gns3server.ubridge.ubridge_error import UbridgeError, UbridgeNamespaceError
|
||||
from ..base_node import BaseNode
|
||||
@@ -83,6 +83,7 @@ class DockerVM(BaseNode):
|
||||
self._environment = environment
|
||||
self._cid = None
|
||||
self._ethernet_adapters = []
|
||||
self._mac_address = ""
|
||||
self._temporary_directory = None
|
||||
self._telnet_servers = []
|
||||
self._vnc_process = None
|
||||
@@ -106,6 +107,8 @@ class DockerVM(BaseNode):
|
||||
else:
|
||||
self.adapters = adapters
|
||||
|
||||
self.mac_address = "" # this will generate a MAC address
|
||||
|
||||
log.debug("{module}: {name} [{image}] initialized.".format(module=self.manager.module_name,
|
||||
name=self.name,
|
||||
image=self._image))
|
||||
@@ -119,6 +122,7 @@ class DockerVM(BaseNode):
|
||||
"project_id": self._project.id,
|
||||
"image": self._image,
|
||||
"adapters": self.adapters,
|
||||
"mac_address": self.mac_address,
|
||||
"console": self.console,
|
||||
"console_type": self.console_type,
|
||||
"console_resolution": self.console_resolution,
|
||||
@@ -149,6 +153,36 @@ class DockerVM(BaseNode):
|
||||
def ethernet_adapters(self):
|
||||
return self._ethernet_adapters
|
||||
|
||||
@property
|
||||
def mac_address(self):
|
||||
"""
|
||||
Returns the MAC address for this Docker container.
|
||||
|
||||
:returns: adapter type (string)
|
||||
"""
|
||||
|
||||
return self._mac_address
|
||||
|
||||
@mac_address.setter
|
||||
def mac_address(self, mac_address):
|
||||
"""
|
||||
Sets the MAC address for this Docker container.
|
||||
|
||||
:param mac_address: MAC address
|
||||
"""
|
||||
|
||||
if not mac_address:
|
||||
# use the node UUID to generate a random MAC address
|
||||
self._mac_address = "02:42:%s:%s:%s:00" % (self.id[2:4], self.id[4:6], self.id[6:8])
|
||||
else:
|
||||
self._mac_address = mac_address
|
||||
|
||||
log.info('Docker container "{name}" [{id}]: MAC address changed to {mac_addr}'.format(
|
||||
name=self._name,
|
||||
id=self._id,
|
||||
mac_addr=self._mac_address)
|
||||
)
|
||||
|
||||
@property
|
||||
def start_command(self):
|
||||
return self._start_command
|
||||
@@ -349,6 +383,7 @@ class DockerVM(BaseNode):
|
||||
"CapAdd": ["ALL"],
|
||||
"Privileged": True,
|
||||
"Binds": self._mount_binds(image_infos),
|
||||
"UsernsMode": "host",
|
||||
},
|
||||
"Volumes": {},
|
||||
"Env": ["container=docker"], # Systemd compliant: https://github.com/GNS3/gns3-server/issues/573
|
||||
@@ -675,7 +710,10 @@ class DockerVM(BaseNode):
|
||||
"""
|
||||
|
||||
# resize the container TTY.
|
||||
await self._manager.query("POST", "containers/{}/resize?h={}&w={}".format(self._cid, rows, columns))
|
||||
try:
|
||||
await self._manager.query("POST", "containers/{}/resize?h={}&w={}".format(self._cid, rows, columns))
|
||||
except DockerError as e:
|
||||
log.warning(f"Could not resize the container TTY: {e}")
|
||||
|
||||
async def _start_console(self):
|
||||
"""
|
||||
@@ -914,15 +952,33 @@ class DockerVM(BaseNode):
|
||||
bridge_name = 'bridge{}'.format(adapter_number)
|
||||
await self._ubridge_send('bridge create {}'.format(bridge_name))
|
||||
self._bridges.add(bridge_name)
|
||||
await self._ubridge_send('bridge add_nio_tap bridge{adapter_number} {hostif}'.format(adapter_number=adapter_number,
|
||||
hostif=adapter.host_ifc))
|
||||
await self._ubridge_send('bridge add_nio_tap bridge{adapter_number} {hostif}'.format(
|
||||
adapter_number=adapter_number,
|
||||
hostif=adapter.host_ifc)
|
||||
)
|
||||
|
||||
mac_address = int_to_macaddress(macaddress_to_int(self._mac_address) + adapter_number)
|
||||
custom_adapter = self._get_custom_adapter_settings(adapter_number)
|
||||
custom_mac_address = custom_adapter.get("mac_address")
|
||||
if custom_mac_address:
|
||||
mac_address = custom_mac_address
|
||||
|
||||
try:
|
||||
await self._ubridge_send('docker set_mac_addr {ifc} {mac}'.format(ifc=adapter.host_ifc, mac=mac_address))
|
||||
except UbridgeError:
|
||||
log.warning("Could not set MAC address %s on interface %s", mac_address, adapter.host_ifc)
|
||||
|
||||
log.debug("Move container %s adapter %s to namespace %s", self.name, adapter.host_ifc, self._namespace)
|
||||
try:
|
||||
await self._ubridge_send('docker move_to_ns {ifc} {ns} eth{adapter}'.format(ifc=adapter.host_ifc,
|
||||
ns=self._namespace,
|
||||
adapter=adapter_number))
|
||||
await self._ubridge_send('docker move_to_ns {ifc} {ns} eth{adapter}'.format(
|
||||
ifc=adapter.host_ifc,
|
||||
ns=self._namespace,
|
||||
adapter=adapter_number)
|
||||
)
|
||||
except UbridgeError as e:
|
||||
raise UbridgeNamespaceError(e)
|
||||
else:
|
||||
log.info("Created adapter %s with MAC address %s in namespace %s", adapter_number, mac_address, self._namespace)
|
||||
|
||||
if nio:
|
||||
await self._connect_nio(adapter_number, nio)
|
||||
|
||||
@@ -25,7 +25,10 @@ PATH=/gns3/bin:/tmp/gns3/bin:/sbin:$PATH
|
||||
# bootstrap busybox commands
|
||||
if [ ! -d /tmp/gns3/bin ]; then
|
||||
busybox mkdir -p /tmp/gns3/bin
|
||||
/gns3/bin/busybox --install -s /tmp/gns3/bin
|
||||
for applet in `busybox --list`
|
||||
do
|
||||
ln -s /gns3/bin/busybox "/tmp/gns3/bin/$applet"
|
||||
done
|
||||
fi
|
||||
|
||||
# Restore file permission and mount volumes
|
||||
@@ -75,7 +78,7 @@ ip link set dev lo up
|
||||
while true
|
||||
do
|
||||
grep $GNS3_MAX_ETHERNET /proc/net/dev > /dev/null && break
|
||||
sleep 0.5
|
||||
usleep 500000 # wait 0.5 seconds
|
||||
done
|
||||
|
||||
# activate eth interfaces
|
||||
|
||||
@@ -226,7 +226,7 @@ class Qemu(BaseManager):
|
||||
else:
|
||||
try:
|
||||
output = await subprocess_check_output(qemu_path, "-version", "-nographic")
|
||||
match = re.search("version\s+([0-9a-z\-\.]+)", output)
|
||||
match = re.search(r"version\s+([0-9a-z\-\.]+)", output)
|
||||
if match:
|
||||
version = match.group(1)
|
||||
return version
|
||||
|
||||
@@ -47,12 +47,18 @@ from ..base_node import BaseNode
|
||||
from ...schemas.qemu import QEMU_OBJECT_SCHEMA, QEMU_PLATFORMS
|
||||
from ...utils.asyncio import monitor_process
|
||||
from ...utils.images import md5sum
|
||||
from ...utils import macaddress_to_int, int_to_macaddress
|
||||
from ...utils import macaddress_to_int, int_to_macaddress, is_ipv6_enabled
|
||||
|
||||
|
||||
import logging
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
# forbidden additional options
|
||||
FORBIDDEN_OPTIONS = {"-blockdev", "-drive", "-hda", "-hdb", "-hdc", "-hdd",
|
||||
"-fsdev", "-virtfs", "-nic", "-netdev"}
|
||||
FORBIDDEN_OPTIONS |= {"-" + opt for opt in FORBIDDEN_OPTIONS
|
||||
if opt.startswith("-") and not opt.startswith("--")}
|
||||
|
||||
|
||||
class QemuVM(BaseNode):
|
||||
module_name = 'qemu'
|
||||
@@ -1672,13 +1678,14 @@ class QemuVM(BaseNode):
|
||||
if self._console:
|
||||
console_host = self._manager.port_manager.console_host
|
||||
if console_host == "0.0.0.0":
|
||||
if socket.has_ipv6:
|
||||
# to fix an issue with Qemu when IPv4 is not enabled
|
||||
# see https://github.com/GNS3/gns3-gui/issues/2352
|
||||
# FIXME: consider making this more global (not just for Qemu + SPICE)
|
||||
console_host = "::"
|
||||
else:
|
||||
raise QemuError("IPv6 must be enabled in order to use the SPICE console")
|
||||
try:
|
||||
if is_ipv6_enabled():
|
||||
# to fix an issue with Qemu when IPv4 is not enabled
|
||||
# see https://github.com/GNS3/gns3-gui/issues/2352
|
||||
# FIXME: consider making this more global (not just for Qemu + SPICE)
|
||||
console_host = "::"
|
||||
except OSError as e:
|
||||
raise QemuError("Could not check if IPv6 is enabled: {}".format(e))
|
||||
return ["-spice",
|
||||
"addr={},port={},disable-ticketing".format(console_host, self._console),
|
||||
"-vga", "qxl"]
|
||||
@@ -1908,11 +1915,6 @@ class QemuVM(BaseNode):
|
||||
continue
|
||||
|
||||
interface = getattr(self, "hd{}_disk_interface".format(drive))
|
||||
# fail-safe: use "ide" if there is a disk image and no interface type has been explicitly configured
|
||||
if interface == "none":
|
||||
interface = "ide"
|
||||
setattr(self, "hd{}_disk_interface".format(drive), interface)
|
||||
|
||||
disk_name = "hd" + drive
|
||||
if not os.path.isfile(disk_image) or not os.path.exists(disk_image):
|
||||
if os.path.islink(disk_image):
|
||||
@@ -2423,9 +2425,19 @@ class QemuVM(BaseNode):
|
||||
command.extend(self._tpm_options())
|
||||
if additional_options:
|
||||
try:
|
||||
command.extend(shlex.split(additional_options))
|
||||
additional_opt_list = shlex.split(additional_options)
|
||||
except ValueError as e:
|
||||
raise QemuError("Invalid additional options: {} error {}".format(additional_options, e))
|
||||
allow_unsafe_options = self.manager.config.get_section_config("Qemu").getboolean(
|
||||
"allow_unsafe_options",
|
||||
False
|
||||
)
|
||||
if allow_unsafe_options is False:
|
||||
for opt in additional_opt_list:
|
||||
if opt in FORBIDDEN_OPTIONS:
|
||||
raise QemuError("Forbidden additional option: {}".format(opt))
|
||||
command.extend(additional_opt_list)
|
||||
|
||||
# avoiding mouse offset (see https://github.com/GNS3/gns3-server/issues/2335)
|
||||
if self._console_type == "vnc":
|
||||
command.extend(['-machine', 'usb=on', '-device', 'usb-tablet'])
|
||||
|
||||
@@ -701,7 +701,7 @@ class VMware(BaseManager):
|
||||
path = ctypes.create_unicode_buffer(ctypes.wintypes.MAX_PATH)
|
||||
ctypes.windll.shell32.SHGetFolderPathW(None, 5, None, 0, path)
|
||||
documents_folder = path.value
|
||||
return ['{}\My Virtual Machines'.format(documents_folder), '{}\Virtual Machines'.format(documents_folder)]
|
||||
return [r'{}\My Virtual Machines'.format(documents_folder), r'{}\Virtual Machines'.format(documents_folder)]
|
||||
elif sys.platform.startswith("darwin"):
|
||||
return [os.path.expanduser("~/Documents/Virtual Machines.localized")]
|
||||
else:
|
||||
|
||||
@@ -15,7 +15,7 @@ no ip icmp rate-limit unreachable
|
||||
!
|
||||
! due to some bugs with IOU, try to change the following line to 'ip cef' if your routing does not work
|
||||
no ip cef
|
||||
no ip domain-lookup
|
||||
no ip domain lookup
|
||||
!
|
||||
!
|
||||
!
|
||||
|
||||
@@ -14,7 +14,7 @@ no ip icmp rate-limit unreachable
|
||||
!
|
||||
! due to some bugs with IOU, try to change the following line to 'ip cef' if your routing does not work
|
||||
no ip cef
|
||||
no ip domain-lookup
|
||||
no ip domain lookup
|
||||
!
|
||||
!
|
||||
ip tcp synwait-time 5
|
||||
|
||||
@@ -29,7 +29,7 @@ except ImportError:
|
||||
from importlib import resources as importlib_resources
|
||||
|
||||
from ..config import Config
|
||||
from ..utils import parse_version
|
||||
from ..utils import parse_version, md5sum
|
||||
from ..utils.images import default_images_directory
|
||||
|
||||
from .project import Project
|
||||
@@ -248,13 +248,19 @@ class Controller:
|
||||
if "iou_license" in controller_settings:
|
||||
self._iou_license_settings = controller_settings["iou_license"]
|
||||
|
||||
previous_version = controller_settings.get("version")
|
||||
log.info("Comparing controller version {} with config version {}".format(__version__, previous_version))
|
||||
if not previous_version or \
|
||||
parse_version(__version__.split("+")[0]) > parse_version(previous_version.split("+")[0]):
|
||||
self._appliance_manager.install_builtin_appliances()
|
||||
elif not os.listdir(self._appliance_manager.builtin_appliances_path()):
|
||||
self._appliance_manager.install_builtin_appliances()
|
||||
# install the built-in appliances if needed
|
||||
server_config = Config.instance().get_section_config("Server")
|
||||
if server_config.getboolean("install_builtin_appliances", True):
|
||||
previous_version = controller_settings.get("version")
|
||||
log.info("Comparing controller version {} with config version {}".format(__version__, previous_version))
|
||||
builtin_appliances_path = self._appliance_manager.builtin_appliances_path()
|
||||
if not previous_version or \
|
||||
parse_version(__version__.split("+")[0]) > parse_version(previous_version.split("+")[0]):
|
||||
self._appliance_manager.install_builtin_appliances()
|
||||
elif not os.listdir(builtin_appliances_path):
|
||||
self._appliance_manager.install_builtin_appliances()
|
||||
else:
|
||||
log.info("Built-in appliances are installed in '{}'".format(builtin_appliances_path))
|
||||
|
||||
self._appliance_manager.appliances_etag = controller_settings.get("appliances_etag")
|
||||
self._appliance_manager.load_appliances()
|
||||
@@ -283,12 +289,21 @@ class Controller:
|
||||
except OSError as e:
|
||||
log.error(str(e))
|
||||
|
||||
|
||||
@staticmethod
|
||||
def install_resource_files(dst_path, resource_name):
|
||||
def install_resource_files(dst_path, resource_name, upgrade_resources=True):
|
||||
"""
|
||||
Install files from resources to user's file system
|
||||
"""
|
||||
|
||||
def should_copy(src, dst, upgrade_resources):
|
||||
if not os.path.exists(dst):
|
||||
return True
|
||||
if upgrade_resources is False:
|
||||
return False
|
||||
# copy the resource if it is different
|
||||
return md5sum(src) != md5sum(dst)
|
||||
|
||||
if hasattr(sys, "frozen") and sys.platform.startswith("win"):
|
||||
resource_path = os.path.normpath(os.path.join(os.path.dirname(sys.executable), resource_name))
|
||||
for filename in os.listdir(resource_path):
|
||||
@@ -297,7 +312,7 @@ class Controller:
|
||||
else:
|
||||
for entry in importlib_resources.files('gns3server').joinpath(resource_name).iterdir():
|
||||
full_path = os.path.join(dst_path, entry.name)
|
||||
if entry.is_file() and not os.path.exists(full_path):
|
||||
if entry.is_file() and should_copy(str(entry), full_path, upgrade_resources):
|
||||
log.debug(f'Installing {resource_name} resource file "{entry.name}" to "{full_path}"')
|
||||
shutil.copy(str(entry), os.path.join(dst_path, entry.name))
|
||||
elif entry.is_dir():
|
||||
@@ -313,7 +328,7 @@ class Controller:
|
||||
dst_path = self.configs_path()
|
||||
log.info(f"Installing base configs in '{dst_path}'")
|
||||
try:
|
||||
Controller.install_resource_files(dst_path, "configs")
|
||||
Controller.install_resource_files(dst_path, "configs", upgrade_resources=False)
|
||||
except OSError as e:
|
||||
log.error(f"Could not install base config files to {dst_path}: {e}")
|
||||
|
||||
@@ -326,7 +341,7 @@ class Controller:
|
||||
dst_path = self.disks_path()
|
||||
log.info(f"Installing built-in disks in '{dst_path}'")
|
||||
try:
|
||||
Controller.install_resource_files(dst_path, "disks")
|
||||
Controller.install_resource_files(dst_path, "disks", upgrade_resources=False)
|
||||
except OSError as e:
|
||||
log.error(f"Could not install disk files to {dst_path}: {e}")
|
||||
|
||||
|
||||
@@ -82,15 +82,15 @@ class ApplianceManager:
|
||||
os.makedirs(appliances_path, exist_ok=True)
|
||||
return appliances_path
|
||||
|
||||
def builtin_appliances_path(self, delete_first=False):
|
||||
def builtin_appliances_path(self):
|
||||
"""
|
||||
Get the built-in appliance storage directory
|
||||
"""
|
||||
|
||||
server_config = Config.instance().get_section_config("Server")
|
||||
appname = vendor = "GNS3"
|
||||
appliances_dir = os.path.join(platformdirs.user_data_dir(appname, vendor, roaming=True), "appliances")
|
||||
if delete_first:
|
||||
shutil.rmtree(appliances_dir, ignore_errors=True)
|
||||
resources_path = os.path.expanduser(server_config.get("resources_path", platformdirs.user_data_dir(appname, vendor, roaming=True)))
|
||||
appliances_dir = os.path.join(resources_path, "appliances")
|
||||
os.makedirs(appliances_dir, exist_ok=True)
|
||||
return appliances_dir
|
||||
|
||||
@@ -99,7 +99,7 @@ class ApplianceManager:
|
||||
At startup we copy the built-in appliances files.
|
||||
"""
|
||||
|
||||
dst_path = self.builtin_appliances_path(delete_first=True)
|
||||
dst_path = self.builtin_appliances_path()
|
||||
log.info(f"Installing built-in appliances in '{dst_path}'")
|
||||
from . import Controller
|
||||
try:
|
||||
|
||||
@@ -484,7 +484,7 @@ class Compute:
|
||||
return self._getUrl(path)
|
||||
|
||||
async def _run_http_query(self, method, path, data=None, timeout=20, raw=False):
|
||||
with async_timeout.timeout(timeout):
|
||||
async with async_timeout.timeout(delay=timeout):
|
||||
url = self._getUrl(path)
|
||||
headers = {}
|
||||
headers['content-type'] = 'application/json'
|
||||
|
||||
@@ -32,7 +32,7 @@ log = logging.getLogger(__name__)
|
||||
CHUNK_SIZE = 1024 * 8 # 8KB
|
||||
|
||||
|
||||
async def export_project(zstream, project, temporary_dir, include_images=False, include_snapshots=False, keep_compute_id=False, allow_all_nodes=False, reset_mac_addresses=False):
|
||||
async def export_project(zstream, project, temporary_dir, include_images=False, include_snapshots=False, keep_compute_ids=False, allow_all_nodes=False, reset_mac_addresses=False):
|
||||
"""
|
||||
Export a project to a zip file.
|
||||
|
||||
@@ -44,9 +44,9 @@ async def export_project(zstream, project, temporary_dir, include_images=False,
|
||||
:param temporary_dir: A temporary dir where to store intermediate data
|
||||
:param include_images: save OS images to the zip file
|
||||
:param include_snapshots: save snapshots to the zip file
|
||||
:param keep_compute_id: If false replace all compute id by local (standard behavior for .gns3project to make it portable)
|
||||
:param allow_all_nodes: Allow all nodes type to be include in the zip even if not portable
|
||||
:param reset_mac_addresses: Reset MAC addresses for every nodes.
|
||||
:param keep_compute_ids: If false replace all compute IDs y local (standard behavior for .gns3project to make it portable)
|
||||
:param allow_all_nodes: Allow all nodes type to be included in the zip even if not portable
|
||||
:param reset_mac_addresses: Reset MAC addresses for each node.
|
||||
"""
|
||||
|
||||
# To avoid issue with data not saved we disallow the export of a running project
|
||||
@@ -62,7 +62,7 @@ async def export_project(zstream, project, temporary_dir, include_images=False,
|
||||
# First we process the .gns3 in order to be sure we don't have an error
|
||||
for file in os.listdir(project._path):
|
||||
if file.endswith(".gns3"):
|
||||
await _patch_project_file(project, os.path.join(project._path, file), zstream, include_images, keep_compute_id, allow_all_nodes, temporary_dir, reset_mac_addresses)
|
||||
await _patch_project_file(project, os.path.join(project._path, file), zstream, include_images, keep_compute_ids, allow_all_nodes, temporary_dir, reset_mac_addresses)
|
||||
|
||||
# Export the local files
|
||||
for root, dirs, files in os.walk(project._path, topdown=True, followlinks=False):
|
||||
@@ -70,14 +70,15 @@ async def export_project(zstream, project, temporary_dir, include_images=False,
|
||||
files = [f for f in files if _is_exportable(os.path.join(root, f), include_snapshots)]
|
||||
for file in files:
|
||||
path = os.path.join(root, file)
|
||||
# check if we can export the file
|
||||
try:
|
||||
open(path).close()
|
||||
except OSError as e:
|
||||
msg = "Could not export file {}: {}".format(path, e)
|
||||
log.warning(msg)
|
||||
project.emit_notification("log.warning", {"message": msg})
|
||||
continue
|
||||
if not os.path.islink(path):
|
||||
try:
|
||||
# check if we can export the file
|
||||
open(path).close()
|
||||
except OSError as e:
|
||||
msg = "Could not export file {}: {}".format(path, e)
|
||||
log.warning(msg)
|
||||
project.emit_notification("log.warning", {"message": msg})
|
||||
continue
|
||||
# ignore the .gns3 file
|
||||
if file.endswith(".gns3"):
|
||||
continue
|
||||
@@ -128,7 +129,7 @@ def _patch_mtime(path):
|
||||
if sys.platform.startswith("win"):
|
||||
# only UNIX type platforms
|
||||
return
|
||||
st = os.stat(path)
|
||||
st = os.stat(path, follow_symlinks=False)
|
||||
file_date = datetime.fromtimestamp(st.st_mtime)
|
||||
if file_date.year < 1980:
|
||||
new_mtime = file_date.replace(year=1980).timestamp()
|
||||
@@ -144,10 +145,6 @@ def _is_exportable(path, include_snapshots=False):
|
||||
if include_snapshots is False and path.endswith("snapshots"):
|
||||
return False
|
||||
|
||||
# do not export symlinks
|
||||
if os.path.islink(path):
|
||||
return False
|
||||
|
||||
# do not export directories of snapshots
|
||||
if include_snapshots is False and "{sep}snapshots{sep}".format(sep=os.path.sep) in path:
|
||||
return False
|
||||
@@ -170,7 +167,7 @@ def _is_exportable(path, include_snapshots=False):
|
||||
return True
|
||||
|
||||
|
||||
async def _patch_project_file(project, path, zstream, include_images, keep_compute_id, allow_all_nodes, temporary_dir, reset_mac_addresses):
|
||||
async def _patch_project_file(project, path, zstream, include_images, keep_compute_ids, allow_all_nodes, temporary_dir, reset_mac_addresses):
|
||||
"""
|
||||
Patch a project file (.gns3) to export a project.
|
||||
The .gns3 file is renamed to project.gns3
|
||||
@@ -197,16 +194,19 @@ async def _patch_project_file(project, path, zstream, include_images, keep_compu
|
||||
if not allow_all_nodes and node["node_type"] in ["virtualbox", "vmware"]:
|
||||
raise aiohttp.web.HTTPConflict(text="Projects with a {} node cannot be exported".format(node["node_type"]))
|
||||
|
||||
if not keep_compute_id:
|
||||
if not keep_compute_ids:
|
||||
node["compute_id"] = "local" # To make project portable all node by default run on local
|
||||
|
||||
if "properties" in node and node["node_type"] != "docker":
|
||||
if "properties" in node:
|
||||
for prop, value in node["properties"].items():
|
||||
|
||||
# reset the MAC address
|
||||
if reset_mac_addresses and prop in ("mac_addr", "mac_address"):
|
||||
node["properties"][prop] = None
|
||||
|
||||
if node["node_type"] == "docker":
|
||||
continue
|
||||
|
||||
if node["node_type"] == "iou":
|
||||
if not prop == "path":
|
||||
continue
|
||||
@@ -215,7 +215,7 @@ async def _patch_project_file(project, path, zstream, include_images, keep_compu
|
||||
if value is None or value.strip() == '':
|
||||
continue
|
||||
|
||||
if not keep_compute_id: # If we keep the original compute we can keep the image path
|
||||
if not keep_compute_ids: # If we keep the original compute we can keep the image path
|
||||
node["properties"][prop] = os.path.basename(value)
|
||||
|
||||
if include_images is True:
|
||||
@@ -225,7 +225,7 @@ async def _patch_project_file(project, path, zstream, include_images, keep_compu
|
||||
'image_type': node['node_type']
|
||||
})
|
||||
|
||||
if not keep_compute_id:
|
||||
if not keep_compute_ids:
|
||||
topology["topology"]["computes"] = [] # Strip compute information because could contain secret info like password
|
||||
|
||||
local_images = set([i['image'] for i in images if i['compute_id'] == 'local'])
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
|
||||
import os
|
||||
import sys
|
||||
import stat
|
||||
import json
|
||||
import uuid
|
||||
import shutil
|
||||
@@ -38,7 +39,7 @@ Handle the import of project from a .gns3project
|
||||
"""
|
||||
|
||||
|
||||
async def import_project(controller, project_id, stream, location=None, name=None, keep_compute_id=False,
|
||||
async def import_project(controller, project_id, stream, location=None, name=None, keep_compute_ids=False,
|
||||
auto_start=False, auto_open=False, auto_close=True):
|
||||
"""
|
||||
Import a project contain in a zip file
|
||||
@@ -50,7 +51,7 @@ async def import_project(controller, project_id, stream, location=None, name=Non
|
||||
:param stream: A io.BytesIO of the zipfile
|
||||
:param location: Directory for the project if None put in the default directory
|
||||
:param name: Wanted project name, generate one from the .gns3 if None
|
||||
:param keep_compute_id: If true do not touch the compute id
|
||||
:param keep_compute_ids: keep compute IDs unchanged
|
||||
|
||||
:returns: Project
|
||||
"""
|
||||
@@ -93,6 +94,7 @@ async def import_project(controller, project_id, stream, location=None, name=Non
|
||||
try:
|
||||
with zipfile.ZipFile(stream) as zip_file:
|
||||
await wait_run_in_executor(zip_file.extractall, path)
|
||||
_create_symbolic_links(zip_file, path)
|
||||
except zipfile.BadZipFile:
|
||||
raise aiohttp.web.HTTPConflict(text="Cannot extract files from GNS3 project (invalid zip)")
|
||||
|
||||
@@ -124,7 +126,7 @@ async def import_project(controller, project_id, stream, location=None, name=Non
|
||||
drawing["drawing_id"] = str(uuid.uuid4())
|
||||
|
||||
# Modify the compute id of the node depending of compute capacity
|
||||
if not keep_compute_id:
|
||||
if not keep_compute_ids:
|
||||
# For some VM type we move them to the GNS3 VM if possible
|
||||
# unless it's a linux host without GNS3 VM
|
||||
if not sys.platform.startswith("linux") or controller.has_compute("vm"):
|
||||
@@ -174,6 +176,24 @@ async def import_project(controller, project_id, stream, location=None, name=Non
|
||||
project = await controller.load_project(dot_gns3_path, load=False)
|
||||
return project
|
||||
|
||||
def _create_symbolic_links(zip_file, path):
|
||||
"""
|
||||
Manually create symbolic links (if any) because ZipFile does not support it.
|
||||
|
||||
:param zip_file: ZipFile instance
|
||||
:param path: project location
|
||||
"""
|
||||
|
||||
for zip_info in zip_file.infolist():
|
||||
if stat.S_ISLNK(zip_info.external_attr >> 16):
|
||||
symlink_target = zip_file.read(zip_info.filename).decode()
|
||||
symlink_path = os.path.join(path, zip_info.filename)
|
||||
try:
|
||||
# remove the regular file and replace it by a symbolic link
|
||||
os.remove(symlink_path)
|
||||
os.symlink(symlink_target, symlink_path)
|
||||
except OSError as e:
|
||||
raise aiohttp.web.HTTPConflict(text=f"Cannot create symbolic link: {e}")
|
||||
|
||||
def _move_node_file(path, old_id, new_id):
|
||||
"""
|
||||
@@ -257,6 +277,7 @@ async def _import_snapshots(snapshots_path, project_name, project_id):
|
||||
with open(snapshot_path, "rb") as f:
|
||||
with zipfile.ZipFile(f) as zip_file:
|
||||
await wait_run_in_executor(zip_file.extractall, tmpdir)
|
||||
_create_symbolic_links(zip_file, tmpdir)
|
||||
except OSError as e:
|
||||
raise aiohttp.web.HTTPConflict(text="Cannot open snapshot '{}': {}".format(os.path.basename(snapshot), e))
|
||||
except zipfile.BadZipFile:
|
||||
|
||||
@@ -26,8 +26,8 @@ import os
|
||||
from .compute import ComputeConflict, ComputeError
|
||||
from .ports.port_factory import PortFactory, StandardPortFactory, DynamipsPortFactory
|
||||
from ..utils.images import images_directories
|
||||
from ..utils import macaddress_to_int, int_to_macaddress
|
||||
from ..config import Config
|
||||
from ..utils.qt import qt_font_to_style
|
||||
|
||||
|
||||
import logging
|
||||
@@ -663,7 +663,13 @@ class Node:
|
||||
break
|
||||
port_name = "eth{}".format(adapter_number)
|
||||
port_name = custom_adapter_settings.get("port_name", port_name)
|
||||
self._ports.append(PortFactory(port_name, 0, adapter_number, 0, "ethernet", short_name=port_name))
|
||||
mac_address = custom_adapter_settings.get("mac_address")
|
||||
if not mac_address and "mac_address" in self._properties:
|
||||
mac_address = int_to_macaddress(macaddress_to_int(self._properties["mac_address"]) + adapter_number)
|
||||
|
||||
port = PortFactory(port_name, 0, adapter_number, 0, "ethernet", short_name=port_name)
|
||||
port.mac_address = mac_address
|
||||
self._ports.append(port)
|
||||
elif self._node_type in ("ethernet_switch", "ethernet_hub"):
|
||||
# Basic node we don't want to have adapter number
|
||||
port_number = 0
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import sys
|
||||
import re
|
||||
import os
|
||||
import json
|
||||
@@ -27,6 +28,7 @@ import aiohttp
|
||||
import aiofiles
|
||||
import tempfile
|
||||
import zipfile
|
||||
import pathlib
|
||||
|
||||
from uuid import UUID, uuid4
|
||||
|
||||
@@ -42,8 +44,9 @@ from ..utils.application_id import get_next_application_id
|
||||
from ..utils.asyncio.pool import Pool
|
||||
from ..utils.asyncio import locking
|
||||
from ..utils.asyncio import aiozipstream
|
||||
from ..utils.asyncio import wait_run_in_executor
|
||||
from .export_project import export_project
|
||||
from .import_project import import_project
|
||||
from .import_project import import_project, _move_node_file
|
||||
|
||||
import logging
|
||||
log = logging.getLogger(__name__)
|
||||
@@ -192,7 +195,11 @@ class Project:
|
||||
if os.path.exists(snapshot_dir):
|
||||
for snap in os.listdir(snapshot_dir):
|
||||
if snap.endswith(".gns3project"):
|
||||
snapshot = Snapshot(self, filename=snap)
|
||||
try:
|
||||
snapshot = Snapshot(self, filename=snap)
|
||||
except ValueError:
|
||||
log.error("Invalid snapshot file: {}".format(snap))
|
||||
continue
|
||||
self._snapshots[snapshot.id] = snapshot
|
||||
|
||||
# Create the project on demand on the compute node
|
||||
@@ -581,7 +588,7 @@ class Project:
|
||||
|
||||
if node_type == "iou":
|
||||
async with self._iou_id_lock:
|
||||
# wait for a IOU node to be completely created before adding a new one
|
||||
# wait for an IOU node to be completely created before adding a new one
|
||||
# this is important otherwise we allocate the same application ID (used
|
||||
# to generate MAC addresses) when creating multiple IOU node at the same time
|
||||
if "properties" in kwargs.keys():
|
||||
@@ -1033,14 +1040,16 @@ class Project:
|
||||
"""
|
||||
Duplicate a project
|
||||
|
||||
It's the save as feature of the 1.X. It's implemented on top of the
|
||||
export / import features. It will generate a gns3p and reimport it.
|
||||
It's a little slower but we have only one implementation to maintain.
|
||||
Implemented on top of the export / import features. It will generate a gns3p and reimport it.
|
||||
|
||||
NEW: fast duplication is used if possible (when there are no remote computes).
|
||||
If not, the project is exported and reimported as explained above.
|
||||
|
||||
:param name: Name of the new project. A new one will be generated in case of conflicts
|
||||
:param location: Parent directory of the new project
|
||||
:param reset_mac_addresses: Reset MAC addresses for the new project
|
||||
"""
|
||||
|
||||
# If the project was not open we open it temporary
|
||||
previous_status = self._status
|
||||
if self._status == "closed":
|
||||
@@ -1048,6 +1057,18 @@ class Project:
|
||||
|
||||
self.dump()
|
||||
assert self._status != "closed"
|
||||
|
||||
try:
|
||||
proj = await self._fast_duplication(name, location, reset_mac_addresses)
|
||||
if proj:
|
||||
if previous_status == "closed":
|
||||
await self.close()
|
||||
return proj
|
||||
else:
|
||||
log.info("Fast duplication failed, fallback to normal duplication")
|
||||
except Exception as e:
|
||||
raise aiohttp.web.HTTPConflict(text="Cannot duplicate project: {}".format(str(e)))
|
||||
|
||||
try:
|
||||
begin = time.time()
|
||||
|
||||
@@ -1062,7 +1083,7 @@ class Project:
|
||||
with tempfile.TemporaryDirectory(dir=working_dir) as tmpdir:
|
||||
# Do not compress the exported project when duplicating
|
||||
with aiozipstream.ZipFile(compression=zipfile.ZIP_STORED) as zstream:
|
||||
await export_project(zstream, self, tmpdir, keep_compute_id=True, allow_all_nodes=True, reset_mac_addresses=reset_mac_addresses)
|
||||
await export_project(zstream, self, tmpdir, keep_compute_ids=True, allow_all_nodes=True, reset_mac_addresses=reset_mac_addresses)
|
||||
|
||||
# export the project to a temporary location
|
||||
project_path = os.path.join(tmpdir, "project.gns3p")
|
||||
@@ -1073,7 +1094,7 @@ class Project:
|
||||
|
||||
# import the temporary project
|
||||
with open(project_path, "rb") as f:
|
||||
project = await import_project(self._controller, str(uuid.uuid4()), f, location=location, name=name, keep_compute_id=True)
|
||||
project = await import_project(self._controller, str(uuid.uuid4()), f, location=location, name=name, keep_compute_ids=True)
|
||||
|
||||
log.info("Project '{}' duplicated in {:.4f} seconds".format(project.name, time.time() - begin))
|
||||
except (ValueError, OSError, UnicodeEncodeError) as e:
|
||||
@@ -1233,3 +1254,73 @@ class Project:
|
||||
|
||||
def __repr__(self):
|
||||
return "<gns3server.controller.Project {} {}>".format(self._name, self._id)
|
||||
|
||||
async def _fast_duplication(self, name=None, location=None, reset_mac_addresses=True):
|
||||
"""
|
||||
Fast duplication of a project.
|
||||
|
||||
Copy the project files directly rather than in an import-export fashion.
|
||||
|
||||
:param name: Name of the new project. A new one will be generated in case of conflicts
|
||||
:param location: Parent directory of the new project
|
||||
:param reset_mac_addresses: Reset MAC addresses for the new project
|
||||
"""
|
||||
|
||||
# remote replication is not supported with remote computes
|
||||
for compute in self.computes:
|
||||
if compute.id != "local":
|
||||
log.warning("Fast duplication is not supported with remote compute: '{}'".format(compute.id))
|
||||
return None
|
||||
# work dir
|
||||
p_work = pathlib.Path(location or self.path).parent.absolute()
|
||||
t0 = time.time()
|
||||
new_project_id = str(uuid.uuid4())
|
||||
if location:
|
||||
new_project_path = p_work.joinpath(location)
|
||||
else:
|
||||
new_project_path = p_work.joinpath(new_project_id)
|
||||
# copy dir
|
||||
await wait_run_in_executor(shutil.copytree, self.path, new_project_path.as_posix(), symlinks=True, ignore_dangling_symlinks=True)
|
||||
log.info("Project content copied from '{}' to '{}' in {}s".format(self.path, new_project_path, time.time() - t0))
|
||||
topology = json.loads(new_project_path.joinpath('{}.gns3'.format(self.name)).read_bytes())
|
||||
project_name = name or topology["name"]
|
||||
# If the project name is already used we generate a new one
|
||||
project_name = self.controller.get_free_project_name(project_name)
|
||||
topology["name"] = project_name
|
||||
# To avoid unexpected behavior (project start without manual operations just after import)
|
||||
topology["auto_start"] = False
|
||||
topology["auto_open"] = False
|
||||
topology["auto_close"] = False
|
||||
# change node ID
|
||||
node_old_to_new = {}
|
||||
for node in topology["topology"]["nodes"]:
|
||||
new_node_id = str(uuid.uuid4())
|
||||
if "node_id" in node:
|
||||
node_old_to_new[node["node_id"]] = new_node_id
|
||||
_move_node_file(new_project_path, node["node_id"], new_node_id)
|
||||
node["node_id"] = new_node_id
|
||||
if reset_mac_addresses:
|
||||
if "properties" in node:
|
||||
for prop, value in node["properties"].items():
|
||||
# reset the MAC address
|
||||
if prop in ("mac_addr", "mac_address"):
|
||||
node["properties"][prop] = None
|
||||
# change link ID
|
||||
for link in topology["topology"]["links"]:
|
||||
link["link_id"] = str(uuid.uuid4())
|
||||
for node in link["nodes"]:
|
||||
node["node_id"] = node_old_to_new[node["node_id"]]
|
||||
# Generate new drawings id
|
||||
for drawing in topology["topology"]["drawings"]:
|
||||
drawing["drawing_id"] = str(uuid.uuid4())
|
||||
|
||||
# And we dump the updated.gns3
|
||||
dot_gns3_path = new_project_path.joinpath('{}.gns3'.format(project_name))
|
||||
topology["project_id"] = new_project_id
|
||||
with open(dot_gns3_path, "w+") as f:
|
||||
json.dump(topology, f, indent=4)
|
||||
|
||||
os.remove(new_project_path.joinpath('{}.gns3'.format(self.name)))
|
||||
project = await self.controller.load_project(dot_gns3_path, load=False)
|
||||
log.info("Project '{}' fast duplicated in {:.4f} seconds".format(project.name, time.time() - t0))
|
||||
return project
|
||||
@@ -52,15 +52,13 @@ class Snapshot:
|
||||
self._project = project
|
||||
if name:
|
||||
self._name = name
|
||||
self._created_at = datetime.now().timestamp()
|
||||
filename = self._name + "_" + datetime.utcfromtimestamp(self._created_at).replace(tzinfo=None).strftime(FILENAME_TIME_FORMAT) + ".gns3project"
|
||||
self._created_at = datetime.now(timezone.utc).timestamp()
|
||||
filename = self._name + "_" + datetime.fromtimestamp(self._created_at, tz=timezone.utc).replace(tzinfo=None).strftime(FILENAME_TIME_FORMAT) + ".gns3project"
|
||||
else:
|
||||
self._name = filename.split("_")[0]
|
||||
self._name = filename.rsplit("_", 2)[0]
|
||||
datestring = filename.replace(self._name + "_", "").split(".")[0]
|
||||
try:
|
||||
self._created_at = datetime.strptime(datestring, FILENAME_TIME_FORMAT).replace(tzinfo=timezone.utc).timestamp()
|
||||
except ValueError:
|
||||
self._created_at = datetime.utcnow().timestamp()
|
||||
self._created_at = datetime.strptime(datestring, FILENAME_TIME_FORMAT).replace(tzinfo=timezone.utc).timestamp()
|
||||
|
||||
self._path = os.path.join(project.path, "snapshots", filename)
|
||||
|
||||
@property
|
||||
@@ -98,7 +96,7 @@ class Snapshot:
|
||||
with tempfile.TemporaryDirectory(dir=snapshot_directory) as tmpdir:
|
||||
# Do not compress the snapshots
|
||||
with aiozipstream.ZipFile(compression=zipfile.ZIP_STORED) as zstream:
|
||||
await export_project(zstream, self._project, tmpdir, keep_compute_id=True, allow_all_nodes=True)
|
||||
await export_project(zstream, self._project, tmpdir, keep_compute_ids=True, allow_all_nodes=True)
|
||||
async with aiofiles.open(self.path, 'wb') as f:
|
||||
async for chunk in zstream:
|
||||
await f.write(chunk)
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
|
||||
|
||||
CLASSIC_SYMBOL_THEME = {"cloud": ":/symbols/classic/cloud.svg",
|
||||
"nat": ":/symbols/classic/nat.svg",
|
||||
"ethernet_switch": ":/symbols/classic/ethernet_switch.svg",
|
||||
"ethernet_hub": ":/symbols/classic/hub.svg",
|
||||
"frame_relay_switch": ":/symbols/classic/frame_relay_switch.svg",
|
||||
@@ -32,6 +33,7 @@ CLASSIC_SYMBOL_THEME = {"cloud": ":/symbols/classic/cloud.svg",
|
||||
"docker_guest": ":/symbols/classic/docker_guest.svg"}
|
||||
|
||||
AFFINITY_SQUARE_BLUE_SYMBOL_THEME = {"cloud": ":/symbols/affinity/square/blue/cloud.svg",
|
||||
"nat": ":/symbols/affinity/square/blue/nat.svg",
|
||||
"ethernet_switch": ":/symbols/affinity/square/blue/switch.svg",
|
||||
"ethernet_hub": ":/symbols/affinity/square/blue/hub.svg",
|
||||
"frame_relay_switch.svg": ":/symbols/affinity/square/blue/isdn.svg",
|
||||
@@ -47,6 +49,7 @@ AFFINITY_SQUARE_BLUE_SYMBOL_THEME = {"cloud": ":/symbols/affinity/square/blue/cl
|
||||
"docker_guest": ":/symbols/affinity/square/blue/docker.svg"}
|
||||
|
||||
AFFINITY_SQUARE_RED_SYMBOL_THEME = {"cloud": ":/symbols/affinity/square/red/cloud.svg",
|
||||
"nat": ":/symbols/affinity/square/red/nat.svg",
|
||||
"ethernet_switch": ":/symbols/affinity/square/red/switch.svg",
|
||||
"ethernet_hub": ":/symbols/affinity/square/red/hub.svg",
|
||||
"frame_relay_switch": ":/symbols/affinity/square/red/isdn.svg",
|
||||
@@ -62,6 +65,7 @@ AFFINITY_SQUARE_RED_SYMBOL_THEME = {"cloud": ":/symbols/affinity/square/red/clou
|
||||
"docker_guest": ":/symbols/affinity/square/red/docker.svg"}
|
||||
|
||||
AFFINITY_SQUARE_GRAY_SYMBOL_THEME = {"cloud": ":/symbols/affinity/square/gray/cloud.svg",
|
||||
"nat": ":/symbols/affinity/square/gray/nat.svg",
|
||||
"ethernet_switch": ":/symbols/affinity/square/gray/switch.svg",
|
||||
"ethernet_hub": ":/symbols/affinity/square/gray/hub.svg",
|
||||
"frame_relay_switch": ":/symbols/affinity/square/gray/isdn.svg",
|
||||
@@ -77,6 +81,7 @@ AFFINITY_SQUARE_GRAY_SYMBOL_THEME = {"cloud": ":/symbols/affinity/square/gray/cl
|
||||
"docker_guest": ":/symbols/affinity/square/gray/docker.svg"}
|
||||
|
||||
AFFINITY_CIRCLE_BLUE_SYMBOL_THEME = {"cloud": ":/symbols/affinity/circle/blue/cloud.svg",
|
||||
"nat": ":/symbols/affinity/circle/blue/nat.svg",
|
||||
"ethernet_switch": ":/symbols/affinity/circle/blue/switch.svg",
|
||||
"ethernet_hub": ":/symbols/affinity/circle/blue/hub.svg",
|
||||
"frame_relay_switch": ":/symbols/affinity/circle/blue/isdn.svg",
|
||||
@@ -92,6 +97,7 @@ AFFINITY_CIRCLE_BLUE_SYMBOL_THEME = {"cloud": ":/symbols/affinity/circle/blue/cl
|
||||
"docker_guest": ":/symbols/affinity/circle/blue/docker.svg"}
|
||||
|
||||
AFFINITY_CIRCLE_RED_SYMBOL_THEME = {"cloud": ":/symbols/affinity/circle/red/cloud.svg",
|
||||
"nat": ":/symbols/affinity/circle/red/nat.svg",
|
||||
"ethernet_switch": ":/symbols/affinity/circle/red/switch.svg",
|
||||
"ethernet_hub": ":/symbols/affinity/circle/red/hub.svg",
|
||||
"frame_relay_switch": ":/symbols/affinity/circle/red/isdn.svg",
|
||||
@@ -107,6 +113,7 @@ AFFINITY_CIRCLE_RED_SYMBOL_THEME = {"cloud": ":/symbols/affinity/circle/red/clou
|
||||
"docker_guest": ":/symbols/affinity/circle/red/docker.svg"}
|
||||
|
||||
AFFINITY_CIRCLE_GRAY_SYMBOL_THEME = {"cloud": ":/symbols/affinity/circle/gray/cloud.svg",
|
||||
"nat": ":/symbols/affinity/circle/gray/nat.svg",
|
||||
"ethernet_switch": ":/symbols/affinity/circle/gray/switch.svg",
|
||||
"ethernet_hub": ":/symbols/affinity/circle/gray/hub.svg",
|
||||
"frame_relay_switch": ":/symbols/affinity/circle/gray/isdn.svg",
|
||||
|
||||
@@ -63,7 +63,7 @@ class TemplateManager:
|
||||
builtins = []
|
||||
if Config.instance().get_section_config("Server").getboolean("enable_builtin_templates", True):
|
||||
builtins.append(Template(uuid.uuid3(uuid.NAMESPACE_DNS, "cloud"), {"template_type": "cloud", "name": "Cloud", "default_name_format": "Cloud{0}", "category": 2, "symbol": ":/symbols/cloud.svg"}, builtin=True))
|
||||
builtins.append(Template(uuid.uuid3(uuid.NAMESPACE_DNS, "nat"), {"template_type": "nat", "name": "NAT", "default_name_format": "NAT{0}", "category": 2, "symbol": ":/symbols/cloud.svg"}, builtin=True))
|
||||
builtins.append(Template(uuid.uuid3(uuid.NAMESPACE_DNS, "nat"), {"template_type": "nat", "name": "NAT", "default_name_format": "NAT{0}", "category": 2, "symbol": ":/symbols/nat.svg"}, builtin=True))
|
||||
builtins.append(Template(uuid.uuid3(uuid.NAMESPACE_DNS, "vpcs"), {"template_type": "vpcs", "name": "VPCS", "default_name_format": "PC{0}", "category": 2, "symbol": ":/symbols/vpcs_guest.svg", "properties": {"base_script_file": "vpcs_base_config.txt"}}, builtin=True))
|
||||
builtins.append(Template(uuid.uuid3(uuid.NAMESPACE_DNS, "ethernet_switch"), {"template_type": "ethernet_switch", "console_type": "none", "name": "Ethernet switch", "default_name_format": "Switch{0}", "category": 1, "symbol": ":/symbols/ethernet_switch.svg"}, builtin=True))
|
||||
builtins.append(Template(uuid.uuid3(uuid.NAMESPACE_DNS, "ethernet_hub"), {"template_type": "ethernet_hub", "name": "Ethernet hub", "default_name_format": "Hub{0}", "category": 1, "symbol": ":/symbols/hub.svg"}, builtin=True))
|
||||
|
||||
@@ -188,7 +188,7 @@ def load_topology(path):
|
||||
try:
|
||||
_check_topology_schema(topo)
|
||||
except aiohttp.web.HTTPConflict as e:
|
||||
log.error("Can't load the topology %s", path)
|
||||
log.error("Can't load the topology %s, please check using the debug mode...", path)
|
||||
raise e
|
||||
|
||||
if changed:
|
||||
|
||||
@@ -189,7 +189,7 @@ class UDPLink(Link):
|
||||
:returns: Node where the capture should run
|
||||
"""
|
||||
|
||||
ALWAYS_RUNNING_NODES_TYPE = ("cloud", "nat", "ethernet_switch", "ethernet_hub")
|
||||
ALWAYS_RUNNING_NODES_TYPE = ("cloud", "nat", "ethernet_switch", "ethernet_hub", "frame_relay_switch", "atm_switch")
|
||||
|
||||
for node in self._nodes:
|
||||
if node["node"].compute.id == "local" and node["node"].node_type in ALWAYS_RUNNING_NODES_TYPE and node["node"].status == "started":
|
||||
|
||||
@@ -57,7 +57,7 @@ class CrashReport:
|
||||
Report crash to a third party service
|
||||
"""
|
||||
|
||||
DSN = "https://535981c5fae1a87b7e8d993590c07c27@o19455.ingest.sentry.io/38482"
|
||||
DSN = "https://b2ea85d65646be3f56aebf2458337918@o19455.ingest.us.sentry.io/38482"
|
||||
_instance = None
|
||||
|
||||
def __init__(self):
|
||||
|
||||
@@ -268,7 +268,7 @@ class ATMSwitchHandler:
|
||||
response.json({"pcap_file_path": pcap_file_path})
|
||||
|
||||
@Route.post(
|
||||
r"/projects/{project_id}/atm_relay_switch/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/stop_capture",
|
||||
r"/projects/{project_id}/atm_switch/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/stop_capture",
|
||||
parameters={
|
||||
"project_id": "Project UUID",
|
||||
"node_id": "Node UUID",
|
||||
@@ -290,7 +290,7 @@ class ATMSwitchHandler:
|
||||
response.set_status(204)
|
||||
|
||||
@Route.get(
|
||||
r"/projects/{project_id}/atm_relay_switch/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/pcap",
|
||||
r"/projects/{project_id}/atm_switch/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/pcap",
|
||||
description="Stream the pcap capture file",
|
||||
parameters={
|
||||
"project_id": "Project UUID",
|
||||
|
||||
@@ -317,7 +317,7 @@ class DockerHandler:
|
||||
props = [
|
||||
"name", "console", "aux", "console_type", "console_resolution",
|
||||
"console_http_port", "console_http_path", "start_command",
|
||||
"environment", "adapters", "extra_hosts", "extra_volumes"
|
||||
"environment", "adapters", "mac_address", "custom_adapters", "extra_hosts", "extra_volumes"
|
||||
]
|
||||
|
||||
changed = False
|
||||
|
||||
@@ -319,6 +319,10 @@ class ProjectHandler:
|
||||
reset_mac_addresses = True
|
||||
else:
|
||||
reset_mac_addresses = False
|
||||
if request.query.get("keep_compute_ids", "no").lower() == "yes":
|
||||
keep_compute_ids = True
|
||||
else:
|
||||
keep_compute_ids = False
|
||||
|
||||
compression_query = request.query.get("compression", "zip").lower()
|
||||
if compression_query == "zip":
|
||||
@@ -336,9 +340,17 @@ class ProjectHandler:
|
||||
working_dir = os.path.abspath(os.path.join(project.path, os.pardir))
|
||||
with tempfile.TemporaryDirectory(dir=working_dir) as tmpdir:
|
||||
with aiozipstream.ZipFile(compression=compression) as zstream:
|
||||
await export_project(zstream, project, tmpdir, include_snapshots=include_snapshots, include_images=include_images, reset_mac_addresses=reset_mac_addresses)
|
||||
await export_project(
|
||||
zstream,
|
||||
project,
|
||||
tmpdir,
|
||||
include_snapshots=include_snapshots,
|
||||
include_images=include_images,
|
||||
reset_mac_addresses=reset_mac_addresses,
|
||||
keep_compute_ids=keep_compute_ids
|
||||
)
|
||||
|
||||
# We need to do that now because export could failed and raise an HTTP error
|
||||
# We need to do that now because export could fail and raise an HTTP error
|
||||
# that why response start need to be the later possible
|
||||
response.content_type = 'application/gns3project'
|
||||
response.headers['CONTENT-DISPOSITION'] = 'attachment; filename="{}.gns3project"'.format(project.name)
|
||||
@@ -350,7 +362,7 @@ class ProjectHandler:
|
||||
|
||||
log.info("Project '{}' exported in {:.4f} seconds".format(project.name, time.time() - begin))
|
||||
|
||||
# Will be raise if you have no space left or permission issue on your temporary directory
|
||||
# Will be raised if you have no space left or permission issue on your temporary directory
|
||||
# RuntimeError: something was wrong during the zip process
|
||||
except (ValueError, OSError, RuntimeError) as e:
|
||||
raise aiohttp.web.HTTPNotFound(text="Cannot export project: {}".format(str(e)))
|
||||
|
||||
@@ -235,9 +235,9 @@ def run():
|
||||
return
|
||||
log.info("HTTP authentication is enabled with username '{}'".format(user))
|
||||
|
||||
# we only support Python 3 version >= 3.7
|
||||
if sys.version_info < (3, 7, 0):
|
||||
raise SystemExit("Python 3.7 or higher is required")
|
||||
# we only support Python 3 version >= 3.8
|
||||
if sys.version_info < (3, 8, 0):
|
||||
raise SystemExit("Python 3.8 or higher is required")
|
||||
|
||||
user_log.info("Running with Python {major}.{minor}.{micro} and has PID {pid}".format(major=sys.version_info[0], minor=sys.version_info[1],
|
||||
micro=sys.version_info[2], pid=os.getpid()))
|
||||
|
||||
@@ -85,6 +85,12 @@ DOCKER_CREATE_SCHEMA = {
|
||||
"minimum": 0,
|
||||
"maximum": 99,
|
||||
},
|
||||
"mac_address": {
|
||||
"description": "Docker container base MAC address",
|
||||
"type": ["string", "null"],
|
||||
"minLength": 1,
|
||||
"pattern": "^([0-9a-fA-F]{2}[:]){5}([0-9a-fA-F]{2})$"
|
||||
},
|
||||
"environment": {
|
||||
"description": "Docker environment variables",
|
||||
"type": ["string", "null"],
|
||||
@@ -187,6 +193,12 @@ DOCKER_OBJECT_SCHEMA = {
|
||||
"minimum": 0,
|
||||
"maximum": 99,
|
||||
},
|
||||
"mac_address": {
|
||||
"description": "Docker container base MAC address",
|
||||
"type": ["string", "null"],
|
||||
"minLength": 1,
|
||||
"pattern": "^([0-9a-fA-F]{2}[:]){5}([0-9a-fA-F]{2})$"
|
||||
},
|
||||
"usage": {
|
||||
"description": "How to use the Docker container",
|
||||
"type": "string",
|
||||
|
||||
@@ -38,6 +38,15 @@ DOCKER_TEMPLATE_PROPERTIES = {
|
||||
"maximum": 99,
|
||||
"default": 1
|
||||
},
|
||||
"mac_address": {
|
||||
"description": "Docker container base MAC address",
|
||||
"type": ["string", "null"],
|
||||
"anyOf": [
|
||||
{"pattern": "^([0-9a-fA-F]{2}[:]){5}([0-9a-fA-F]{2})$"},
|
||||
{"pattern": "^$"}
|
||||
],
|
||||
"default": "",
|
||||
},
|
||||
"start_command": {
|
||||
"description": "Docker CMD entry",
|
||||
"type": "string",
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
<body class="mat-app-background" oncontextmenu="return false;">
|
||||
<app-root></app-root>
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async="" src="https://www.googletagmanager.com/gtag/js?id=G-5D6FZL9923"></script>
|
||||
<script async="" src="https://www.googletagmanager.com/gtag/js?id=G-0BT7QQV1W1"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag() {
|
||||
@@ -44,8 +44,8 @@
|
||||
}
|
||||
gtag('js', new Date());
|
||||
|
||||
gtag('config', 'G-5D6FZL9923');
|
||||
gtag('config', 'G-0BT7QQV1W1');
|
||||
</script>
|
||||
<script src="runtime.ecefb4ce510d1c218e7d.js" defer></script><script src="polyfills-es5.865074f5cd9a121111a2.js" nomodule defer></script><script src="polyfills.2f91a039d848e57ff02e.js" defer></script><script src="main.93bb4a803caf93e6752d.js" defer></script>
|
||||
<script src="runtime.415291667f70565cd8ef.js" defer></script><script src="polyfills-es5.865074f5cd9a121111a2.js" nomodule defer></script><script src="polyfills.2f91a039d848e57ff02e.js" defer></script><script src="main.9297104511b6616fc55c.js" defer></script>
|
||||
|
||||
</body></html>
|
||||
@@ -0,0 +1 @@
|
||||
(self.webpackChunkgns3_web_ui=self.webpackChunkgns3_web_ui||[]).push([[179],{98255:function(ue){function q(f){return Promise.resolve().then(function(){var B=new Error("Cannot find module '"+f+"'");throw B.code="MODULE_NOT_FOUND",B})}q.keys=function(){return[]},q.resolve=q,q.id=98255,ue.exports=q},82908:function(ue){ue.exports=function(f,B){(null==B||B>f.length)&&(B=f.length);for(var U=0,V=new Array(B);U<B;U++)V[U]=f[U];return V},ue.exports.default=ue.exports,ue.exports.__esModule=!0},36457:function(ue){ue.exports=function(f){if(Array.isArray(f))return f},ue.exports.default=ue.exports,ue.exports.__esModule=!0},35036:function(ue){ue.exports=function(f,B){var U=null==f?null:"undefined"!=typeof Symbol&&f[Symbol.iterator]||f["@@iterator"];if(null!=U){var N,b,V=[],Z=!0,w=!1;try{for(U=U.call(f);!(Z=(N=U.next()).done)&&(V.push(N.value),!B||V.length!==B);Z=!0);}catch(_){w=!0,b=_}finally{try{!Z&&null!=U.return&&U.return()}finally{if(w)throw b}}return V}},ue.exports.default=ue.exports,ue.exports.__esModule=!0},13969:function(ue){ue.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},ue.exports.default=ue.exports,ue.exports.__esModule=!0},6326:function(ue,q,f){var B=f(36457),U=f(35036),V=f(54850),Z=f(13969);ue.exports=function(N,b){return B(N)||U(N,b)||V(N,b)||Z()},ue.exports.default=ue.exports,ue.exports.__esModule=!0},54850:function(ue,q,f){var B=f(82908);ue.exports=function(V,Z){if(V){if("string"==typeof V)return B(V,Z);var w=Object.prototype.toString.call(V).slice(8,-1);if("Object"===w&&V.constructor&&(w=V.constructor.name),"Map"===w||"Set"===w)return Array.from(V);if("Arguments"===w||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(w))return B(V,Z)}},ue.exports.default=ue.exports,ue.exports.__esModule=!0},26552:function(ue,q,f){ue.exports=f(55590)},61855:function(ue,q,f){"use strict";f.d(q,{ZT:function(){return U},mG:function(){return _},Jh:function(){return I},ev:function(){return R}});var B=function($,ae){return(B=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(se,ce){se.__proto__=ce}||function(se,ce){for(var le in ce)Object.prototype.hasOwnProperty.call(ce,le)&&(se[le]=ce[le])})($,ae)};function U($,ae){if("function"!=typeof ae&&null!==ae)throw new TypeError("Class extends value "+String(ae)+" is not a constructor or null");function se(){this.constructor=$}B($,ae),$.prototype=null===ae?Object.create(ae):(se.prototype=ae.prototype,new se)}function _($,ae,se,ce){return new(se||(se=Promise))(function(oe,Ae){function be(_t){try{qe(ce.next(_t))}catch(yt){Ae(yt)}}function it(_t){try{qe(ce.throw(_t))}catch(yt){Ae(yt)}}function qe(_t){_t.done?oe(_t.value):function(oe){return oe instanceof se?oe:new se(function(Ae){Ae(oe)})}(_t.value).then(be,it)}qe((ce=ce.apply($,ae||[])).next())})}function I($,ae){var ce,le,oe,Ae,se={label:0,sent:function(){if(1&oe[0])throw oe[1];return oe[1]},trys:[],ops:[]};return Ae={next:be(0),throw:be(1),return:be(2)},"function"==typeof Symbol&&(Ae[Symbol.iterator]=function(){return this}),Ae;function be(qe){return function(_t){return function(qe){if(ce)throw new TypeError("Generator is already executing.");for(;se;)try{if(ce=1,le&&(oe=2&qe[0]?le.return:qe[0]?le.throw||((oe=le.return)&&oe.call(le),0):le.next)&&!(oe=oe.call(le,qe[1])).done)return oe;switch(le=0,oe&&(qe=[2&qe[0],oe.value]),qe[0]){case 0:case 1:oe=qe;break;case 4:return se.label++,{value:qe[1],done:!1};case 5:se.label++,le=qe[1],qe=[0];continue;case 7:qe=se.ops.pop(),se.trys.pop();continue;default:if(!(oe=(oe=se.trys).length>0&&oe[oe.length-1])&&(6===qe[0]||2===qe[0])){se=0;continue}if(3===qe[0]&&(!oe||qe[1]>oe[0]&&qe[1]<oe[3])){se.label=qe[1];break}if(6===qe[0]&&se.label<oe[1]){se.label=oe[1],oe=qe;break}if(oe&&se.label<oe[2]){se.label=oe[2],se.ops.push(qe);break}oe[2]&&se.ops.pop(),se.trys.pop();continue}qe=ae.call($,se)}catch(_t){qe=[6,_t],le=0}finally{ce=oe=0}if(5&qe[0])throw qe[1];return{value:qe[0]?qe[1]:void 0,done:!0}}([qe,_t])}}}function R($,ae,se){if(se||2===arguments.length)for(var oe,ce=0,le=ae.length;ce<le;ce++)(oe||!(ce in ae))&&(oe||(oe=Array.prototype.slice.call(ae,0,ce)),oe[ce]=ae[ce]);return $.concat(oe||Array.prototype.slice.call(ae))}},739:function(ue,q,f){"use strict";f.d(q,{l3:function(){return w},_j:function(){return V},LC:function(){return Z},ZN:function(){return O},jt:function(){return b},pV:function(){return T},F4:function(){return S},IO:function(){return k},vP:function(){return I},SB:function(){return A},oB:function(){return D},eR:function(){return v},X$:function(){return N},ZE:function(){return F},k1:function(){return z}});var B=f(14105),U=f(18967),V=function K(){(0,U.Z)(this,K)},Z=function K(){(0,U.Z)(this,K)},w="*";function N(K,j){return{type:7,name:K,definitions:j,options:{}}}function b(K){var j=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return{type:4,styles:j,timings:K}}function I(K){var j=arguments.length>1&&void 0!==arguments[1]?arguments[1]Line truncated
|
||||
@@ -1 +0,0 @@
|
||||
(self.webpackChunkgns3_web_ui=self.webpackChunkgns3_web_ui||[]).push([[179],{98255:function(ue){function q(f){return Promise.resolve().then(function(){var B=new Error("Cannot find module '"+f+"'");throw B.code="MODULE_NOT_FOUND",B})}q.keys=function(){return[]},q.resolve=q,q.id=98255,ue.exports=q},82908:function(ue){ue.exports=function(f,B){(null==B||B>f.length)&&(B=f.length);for(var U=0,V=new Array(B);U<B;U++)V[U]=f[U];return V},ue.exports.default=ue.exports,ue.exports.__esModule=!0},36457:function(ue){ue.exports=function(f){if(Array.isArray(f))return f},ue.exports.default=ue.exports,ue.exports.__esModule=!0},35036:function(ue){ue.exports=function(f,B){var U=null==f?null:"undefined"!=typeof Symbol&&f[Symbol.iterator]||f["@@iterator"];if(null!=U){var N,b,V=[],Z=!0,w=!1;try{for(U=U.call(f);!(Z=(N=U.next()).done)&&(V.push(N.value),!B||V.length!==B);Z=!0);}catch(_){w=!0,b=_}finally{try{!Z&&null!=U.return&&U.return()}finally{if(w)throw b}}return V}},ue.exports.default=ue.exports,ue.exports.__esModule=!0},13969:function(ue){ue.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},ue.exports.default=ue.exports,ue.exports.__esModule=!0},6326:function(ue,q,f){var B=f(36457),U=f(35036),V=f(54850),Z=f(13969);ue.exports=function(N,b){return B(N)||U(N,b)||V(N,b)||Z()},ue.exports.default=ue.exports,ue.exports.__esModule=!0},54850:function(ue,q,f){var B=f(82908);ue.exports=function(V,Z){if(V){if("string"==typeof V)return B(V,Z);var w=Object.prototype.toString.call(V).slice(8,-1);if("Object"===w&&V.constructor&&(w=V.constructor.name),"Map"===w||"Set"===w)return Array.from(V);if("Arguments"===w||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(w))return B(V,Z)}},ue.exports.default=ue.exports,ue.exports.__esModule=!0},26552:function(ue,q,f){ue.exports=f(55590)},61855:function(ue,q,f){"use strict";f.d(q,{ZT:function(){return U},mG:function(){return _},Jh:function(){return I},ev:function(){return R}});var B=function($,ae){return(B=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(se,ce){se.__proto__=ce}||function(se,ce){for(var le in ce)Object.prototype.hasOwnProperty.call(ce,le)&&(se[le]=ce[le])})($,ae)};function U($,ae){if("function"!=typeof ae&&null!==ae)throw new TypeError("Class extends value "+String(ae)+" is not a constructor or null");function se(){this.constructor=$}B($,ae),$.prototype=null===ae?Object.create(ae):(se.prototype=ae.prototype,new se)}function _($,ae,se,ce){return new(se||(se=Promise))(function(oe,Ae){function be(_t){try{qe(ce.next(_t))}catch(yt){Ae(yt)}}function it(_t){try{qe(ce.throw(_t))}catch(yt){Ae(yt)}}function qe(_t){_t.done?oe(_t.value):function(oe){return oe instanceof se?oe:new se(function(Ae){Ae(oe)})}(_t.value).then(be,it)}qe((ce=ce.apply($,ae||[])).next())})}function I($,ae){var ce,le,oe,Ae,se={label:0,sent:function(){if(1&oe[0])throw oe[1];return oe[1]},trys:[],ops:[]};return Ae={next:be(0),throw:be(1),return:be(2)},"function"==typeof Symbol&&(Ae[Symbol.iterator]=function(){return this}),Ae;function be(qe){return function(_t){return function(qe){if(ce)throw new TypeError("Generator is already executing.");for(;se;)try{if(ce=1,le&&(oe=2&qe[0]?le.return:qe[0]?le.throw||((oe=le.return)&&oe.call(le),0):le.next)&&!(oe=oe.call(le,qe[1])).done)return oe;switch(le=0,oe&&(qe=[2&qe[0],oe.value]),qe[0]){case 0:case 1:oe=qe;break;case 4:return se.label++,{value:qe[1],done:!1};case 5:se.label++,le=qe[1],qe=[0];continue;case 7:qe=se.ops.pop(),se.trys.pop();continue;default:if(!(oe=(oe=se.trys).length>0&&oe[oe.length-1])&&(6===qe[0]||2===qe[0])){se=0;continue}if(3===qe[0]&&(!oe||qe[1]>oe[0]&&qe[1]<oe[3])){se.label=qe[1];break}if(6===qe[0]&&se.label<oe[1]){se.label=oe[1],oe=qe;break}if(oe&&se.label<oe[2]){se.label=oe[2],se.ops.push(qe);break}oe[2]&&se.ops.pop(),se.trys.pop();continue}qe=ae.call($,se)}catch(_t){qe=[6,_t],le=0}finally{ce=oe=0}if(5&qe[0])throw qe[1];return{value:qe[0]?qe[1]:void 0,done:!0}}([qe,_t])}}}function R($,ae,se){if(se||2===arguments.length)for(var oe,ce=0,le=ae.length;ce<le;ce++)(oe||!(ce in ae))&&(oe||(oe=Array.prototype.slice.call(ae,0,ce)),oe[ce]=ae[ce]);return $.concat(oe||Array.prototype.slice.call(ae))}},739:function(ue,q,f){"use strict";f.d(q,{l3:function(){return w},_j:function(){return V},LC:function(){return Z},ZN:function(){return O},jt:function(){return b},pV:function(){return T},F4:function(){return S},IO:function(){return k},vP:function(){return I},SB:function(){return A},oB:function(){return D},eR:function(){return v},X$:function(){return N},ZE:function(){return F},k1:function(){return z}});var B=f(14105),U=f(18967),V=function K(){(0,U.Z)(this,K)},Z=function K(){(0,U.Z)(this,K)},w="*";function N(K,j){return{type:7,name:K,definitions:j,options:{}}}function b(K){var j=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return{type:4,styles:j,timings:K}}function I(K){var j=arguments.length>1&&void 0!==arguments[1]?arguments[1]Line truncated
|
||||
@@ -1 +1 @@
|
||||
!function(){"use strict";var e,v={},g={};function n(e){var a=g[e];if(void 0!==a)return a.exports;var t=g[e]={id:e,loaded:!1,exports:{}};return v[e].call(t.exports,t,t.exports,n),t.loaded=!0,t.exports}n.m=v,e=[],n.O=function(a,t,u,o){if(!t){var r=1/0;for(i=0;i<e.length;i++){t=e[i][0],u=e[i][1],o=e[i][2];for(var l=!0,f=0;f<t.length;f++)(!1&o||r>=o)&&Object.keys(n.O).every(function(b){return n.O[b](t[f])})?t.splice(f--,1):(l=!1,o<r&&(r=o));if(l){e.splice(i--,1);var s=u();void 0!==s&&(a=s)}}return a}o=o||0;for(var i=e.length;i>0&&e[i-1][2]>o;i--)e[i]=e[i-1];e[i]=[t,u,o]},n.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(a,{a:a}),a},n.d=function(e,a){for(var t in a)n.o(a,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},n.f={},n.e=function(e){return Promise.all(Object.keys(n.f).reduce(function(a,t){return n.f[t](e,a),a},[]))},n.u=function(e){return e+".49028ab13de5de406c90.js"},n.miniCssF=function(e){return"styles.f8555f2eecf8cf87f666.css"},n.hmd=function(e){return(e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:function(){throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e},n.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},function(){var e={},a="gns3-web-ui:";n.l=function(t,u,o,i){if(e[t])e[t].push(u);else{var r,l;if(void 0!==o)for(var f=document.getElementsByTagName("script"),s=0;s<f.length;s++){var c=f[s];if(c.getAttribute("src")==t||c.getAttribute("data-webpack")==a+o){r=c;break}}r||(l=!0,(r=document.createElement("script")).charset="utf-8",r.timeout=120,n.nc&&r.setAttribute("nonce",n.nc),r.setAttribute("data-webpack",a+o),r.src=n.tu(t)),e[t]=[u];var d=function(h,b){r.onerror=r.onload=null,clearTimeout(p);var _=e[t];if(delete e[t],r.parentNode&&r.parentNode.removeChild(r),_&&_.forEach(function(m){return m(b)}),h)return h(b)},p=setTimeout(d.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=d.bind(null,r.onerror),r.onload=d.bind(null,r.onload),l&&document.head.appendChild(r)}}}(),n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},function(){var e;n.tu=function(a){return void 0===e&&(e={createScriptURL:function(t){return t}},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e.createScriptURL(a)}}(),n.p="",function(){var e={666:0};n.f.j=function(u,o){var i=n.o(e,u)?e[u]:void 0;if(0!==i)if(i)o.push(i[2]);else if(666!=u){var r=new Promise(function(c,d){i=e[u]=[c,d]});o.push(i[2]=r);var l=n.p+n.u(u),f=new Error;n.l(l,function(c){if(n.o(e,u)&&(0!==(i=e[u])&&(e[u]=void 0),i)){var d=c&&("load"===c.type?"missing":c.type),p=c&&c.target&&c.target.src;f.message="Loading chunk "+u+" failed.\n("+d+": "+p+")",f.name="ChunkLoadError",f.type=d,f.request=p,i[1](f)}},"chunk-"+u,u)}else e[u]=0},n.O.j=function(u){return 0===e[u]};var a=function(u,o){var f,s,i=o[0],r=o[1],l=o[2],c=0;for(f in r)n.o(r,f)&&(n.m[f]=r[f]);if(l)var d=l(n);for(u&&u(o);c<i.length;c++)n.o(e,s=i[c])&&e[s]&&e[s][0](),e[i[c]]=0;return n.O(d)},t=self.webpackChunkgns3_web_ui=self.webpackChunkgns3_web_ui||[];t.forEach(a.bind(null,0)),t.push=a.bind(null,t.push.bind(t))}()}();
|
||||
!function(){"use strict";var e,v={},g={};function n(e){var a=g[e];if(void 0!==a)return a.exports;var t=g[e]={id:e,loaded:!1,exports:{}};return v[e].call(t.exports,t,t.exports,n),t.loaded=!0,t.exports}n.m=v,e=[],n.O=function(a,t,u,o){if(!t){var r=1/0;for(i=0;i<e.length;i++){t=e[i][0],u=e[i][1],o=e[i][2];for(var l=!0,f=0;f<t.length;f++)(!1&o||r>=o)&&Object.keys(n.O).every(function(b){return n.O[b](t[f])})?t.splice(f--,1):(l=!1,o<r&&(r=o));if(l){e.splice(i--,1);var s=u();void 0!==s&&(a=s)}}return a}o=o||0;for(var i=e.length;i>0&&e[i-1][2]>o;i--)e[i]=e[i-1];e[i]=[t,u,o]},n.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(a,{a:a}),a},n.d=function(e,a){for(var t in a)n.o(a,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},n.f={},n.e=function(e){return Promise.all(Object.keys(n.f).reduce(function(a,t){return n.f[t](e,a),a},[]))},n.u=function(e){return e+".77d4bfd104f37c42e028.js"},n.miniCssF=function(e){return"styles.f8555f2eecf8cf87f666.css"},n.hmd=function(e){return(e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:function(){throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e},n.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},function(){var e={},a="gns3-web-ui:";n.l=function(t,u,o,i){if(e[t])e[t].push(u);else{var r,l;if(void 0!==o)for(var f=document.getElementsByTagName("script"),s=0;s<f.length;s++){var c=f[s];if(c.getAttribute("src")==t||c.getAttribute("data-webpack")==a+o){r=c;break}}r||(l=!0,(r=document.createElement("script")).charset="utf-8",r.timeout=120,n.nc&&r.setAttribute("nonce",n.nc),r.setAttribute("data-webpack",a+o),r.src=n.tu(t)),e[t]=[u];var d=function(h,b){r.onerror=r.onload=null,clearTimeout(p);var _=e[t];if(delete e[t],r.parentNode&&r.parentNode.removeChild(r),_&&_.forEach(function(m){return m(b)}),h)return h(b)},p=setTimeout(d.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=d.bind(null,r.onerror),r.onload=d.bind(null,r.onload),l&&document.head.appendChild(r)}}}(),n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},function(){var e;n.tu=function(a){return void 0===e&&(e={createScriptURL:function(t){return t}},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e.createScriptURL(a)}}(),n.p="",function(){var e={666:0};n.f.j=function(u,o){var i=n.o(e,u)?e[u]:void 0;if(0!==i)if(i)o.push(i[2]);else if(666!=u){var r=new Promise(function(c,d){i=e[u]=[c,d]});o.push(i[2]=r);var l=n.p+n.u(u),f=new Error;n.l(l,function(c){if(n.o(e,u)&&(0!==(i=e[u])&&(e[u]=void 0),i)){var d=c&&("load"===c.type?"missing":c.type),p=c&&c.target&&c.target.src;f.message="Loading chunk "+u+" failed.\n("+d+": "+p+")",f.name="ChunkLoadError",f.type=d,f.request=p,i[1](f)}},"chunk-"+u,u)}else e[u]=0},n.O.j=function(u){return 0===e[u]};var a=function(u,o){var f,s,i=o[0],r=o[1],l=o[2],c=0;for(f in r)n.o(r,f)&&(n.m[f]=r[f]);if(l)var d=l(n);for(u&&u(o);c<i.length;c++)n.o(e,s=i[c])&&e[s]&&e[s][0](),e[i[c]]=0;return n.O(d)},t=self.webpackChunkgns3_web_ui=self.webpackChunkgns3_web_ui||[];t.forEach(a.bind(null,0)),t.push=a.bind(null,t.push.bind(t))}()}();
|
||||
@@ -0,0 +1,60 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="60"
|
||||
height="60"
|
||||
viewBox="0 0 300 300"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
sodipodi:docname="nat.svg"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
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="defs12" /><sodipodi:namedview
|
||||
id="namedview10"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.983333"
|
||||
inkscape:cx="29.958275"
|
||||
inkscape:cy="30"
|
||||
inkscape:window-width="1658"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg8" />
|
||||
<circle
|
||||
cx="150"
|
||||
cy="150"
|
||||
r="150"
|
||||
style="fill:#fffefe"
|
||||
id="circle2" />
|
||||
<path
|
||||
d="M150 0c82.787 0 150 67.213 150 150s-67.213 150-150 150S0 232.787 0 150 67.213 0 150 0Zm0 16c73.957 0 134 60.043 134 134s-60.043 134-134 134S16 223.957 16 150 76.043 16 150 16Z"
|
||||
style="fill:#2d67b9"
|
||||
id="path4" />
|
||||
|
||||
<path
|
||||
d="M 125.73252,227.39216 C 162.6821,181.25328 159.68479,109.80627 119.01184,67.8525 l -0.0404,-0.0415 a 8.4262645,9.5474485 0 0 1 -0.51796,-13.437497 c 3.1284,-3.89368 8.4597,-4.177124 11.89613,-0.632472 47.587,49.085569 51.05025,132.713399 7.72895,186.632269 -3.1284,3.89367 -8.45969,4.17712 -11.89613,0.63246 a 8.4262645,9.5474485 0 0 1 -0.5582,-13.47898 z"
|
||||
style="clip-rule:evenodd;fill:#2d67b9;fill-rule:evenodd;stroke-width:1.37905;stroke-linejoin:round;stroke-miterlimit:2"
|
||||
id="path8" /><path
|
||||
d="M 55.837588,106.71509 H 105.55874 L 95.373313,97.858202 H 111.1846 l 15.82341,13.759468 -15.82341,13.75882 H 95.389703 l 10.317287,-8.97155 H 55.837588 Z"
|
||||
style="clip-rule:evenodd;fill:#2d67b9;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
id="path8-3" /><path
|
||||
d="M 55.837592,146.71508 H 105.55874 L 95.373313,137.85819 H 111.1846 l 15.82341,13.75947 -15.82341,13.75883 H 95.389703 l 10.317287,-8.97155 H 55.837592 Z"
|
||||
style="clip-rule:evenodd;fill:#2d67b9;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
id="path8-3-5" /><path
|
||||
d="m 185.83759,146.71508 h 49.72115 l -10.18542,-8.85689 h 15.81128 l 15.82341,13.75947 -15.82341,13.75883 h -15.79489 l 10.31728,-8.97155 h -49.8694 z"
|
||||
style="clip-rule:evenodd;fill:#2d67b9;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
id="path8-3-5-2" /><path
|
||||
d="M 55.837592,186.71508 H 105.55874 L 95.373313,177.85819 H 111.1846 l 15.82341,13.75947 -15.82341,13.75883 H 95.389703 l 10.317287,-8.97155 H 55.837592 Z"
|
||||
style="clip-rule:evenodd;fill:#2d67b9;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
id="path8-3-5-6" /></svg>
|
||||
|
After Width: | Height: | Size: 3.1 KiB |
@@ -0,0 +1,55 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="60"
|
||||
height="60"
|
||||
viewBox="0 0 300 300"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
sodipodi:docname="nat2.svg"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
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="defs12" /><sodipodi:namedview
|
||||
id="namedview10"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.983333"
|
||||
inkscape:cx="29.958275"
|
||||
inkscape:cy="30"
|
||||
inkscape:window-width="1658"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg8" />
|
||||
<circle
|
||||
cx="150"
|
||||
cy="150"
|
||||
r="150"
|
||||
style="fill:#fffefe"
|
||||
id="circle2" />
|
||||
<path
|
||||
d="M150 0c82.787 0 150 67.213 150 150s-67.213 150-150 150S0 232.787 0 150 67.213 0 150 0Zm0 16c73.957 0 134 60.043 134 134s-60.043 134-134 134S16 223.957 16 150 76.043 16 150 16Z"
|
||||
style="fill:#2d67b9"
|
||||
id="path4" />
|
||||
<path
|
||||
d="M93.524 228.429c-.175.003-.349.004-.524.004-21.764 0-39.433-17.669-39.433-39.433 0-19.528 14.227-35.76 32.872-38.888.478-34.678 28.775-62.679 63.561-62.679s63.083 28.001 63.561 62.679c18.645 3.128 32.872 19.36 32.872 38.888 0 21.764-17.669 39.433-39.433 39.433-.273 0-.545-.003-.815-.009v.005H93.524ZM93 215h114c14.037 0 25.433-11.396 25.433-25.433 0-12.32-8.779-22.606-20.417-24.937l-.223-.044-.086-.015-.225-.042-.087-.015-.225-.039-.091-.014-.223-.035-.095-.014-.22-.032-.102-.014-.214-.028-.11-.014-.207-.025-.12-.013-.198-.021-.13-.012-.19-.018-.14-.012-.181-.015-.151-.01-.171-.012-.162-.009-.161-.01-.174-.007-.15-.007-.19-.006-.136-.004-.215-.004-.111-.002-.328-.003-.318.002-.106.002-.212.004-.126.004-.19.006-.134.006-.182.008-.138.007-.176.01-.141.009-.173.013-.142.011-.17.014-.143.012-.169.016-.143.015-.168.018-.143.016-.166.02-.143.018-.166.022-.142.02-.167.024-.14.021-.168.027-.137.022-.178.031-.126.021-.295.055-.144.029-.157.031-.153.032-.146.031-.156.034-.141.032-.159.037-.138.033-.159.039-.135.034-.16.042-.134.035-.16.043-.131.037-.161.045-.13.038-.161.048-.127.039-.162.05-.125.039-.163.053-.122.04-.163.055-.119.041-.166.058-.113.04-.169.062-.087.032-.188.07-.147.057-.075.03A49.912 49.912 0 0 0 200 151c0-27.596-22.404-50-50-50s-50 22.404-50 50c0 5.18.789 10.177 2.253 14.874l-.075-.03-.147-.057-.188-.07-.087-.032-.169-.062-.113-.04-.166-.058-.119-.041-.163-.055-.122-.04-.163-.053-.125-.039-.162-.05-.127-.039-.161-.048-.13-.038-.161-.045-.131-.037-.16-.043-.134-.035-.16-.042-.135-.034-.159-.039-.138-.033-.159-.037-.141-.032-.156-.034-.146-.031-.153-.032-.157-.031-.144-.029-.295-.055-.126-.021-.178-.031-.137-.022-.168-.027-.14-.021-.167-.024-.142-.02-.166-.022-.143-.018-.166-.02-.143-.016-.168-.018-.143-.015-.169-.016-.143-.012-.17-.014-.142-.011-.173-.013-.141-.009-.176-.01-.138-.007-.182-.008-.134-.006-.19-.006-.126-.004-.212-.004-.106-.002-.318-.002-.328.003-.111.002-.215.004-.136.004-.19.006-.15.007-.174.007-.161.01-.162.009-.171.012-.151.01-.181.015-.14.012-.19.018-.13.012-.198.021-.12.013-.207.025-.11.014-.214.028-.102.014-.22.032-.095.014-.223.035-.091.014-.225.039-.087.015-.225.042-.086.015-.223.044c-11.638 2.331-20.417 12.617-20.417 24.937C67.567 203.604 78.963 215 93 215Z"
|
||||
style="fill:#2d67b9"
|
||||
transform="matrix(1.0372 0 0 .99188 -5.58 -13.784)"
|
||||
id="path6" />
|
||||
<path
|
||||
d="m 114.18486,133.39431 h 50.31577 L 154.19339,122.4189 h 16.00038 l 16.01264,17.05067 -16.01264,17.04991 h -15.98379 l 10.44067,-11.1175 h -50.46579 z"
|
||||
style="clip-rule:evenodd;fill:#2d67b9;fill-rule:evenodd;stroke-width:0.744302;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
id="path8-7" /><path
|
||||
d="m 186.32326,162.03715 h -50.31577 l 10.30725,-10.97542 h -16.00039 l -16.01264,17.05067 16.01264,17.04991 h 15.98379 l -10.44067,-11.1175 h 50.46579 z"
|
||||
style="clip-rule:evenodd;fill:#2d67b9;fill-rule:evenodd;stroke-width:0.744302;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
id="path10-5" /></svg>
|
||||
|
After Width: | Height: | Size: 4.3 KiB |
@@ -0,0 +1,60 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="60"
|
||||
height="60"
|
||||
viewBox="0 0 300 300"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
sodipodi:docname="nat.svg"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
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="defs12" /><sodipodi:namedview
|
||||
id="namedview10"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.983333"
|
||||
inkscape:cx="29.958276"
|
||||
inkscape:cy="30.000001"
|
||||
inkscape:window-width="1658"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg8" />
|
||||
<circle
|
||||
cx="150"
|
||||
cy="150"
|
||||
r="150"
|
||||
style="fill:#fffefe"
|
||||
id="circle2" />
|
||||
<path
|
||||
d="M150 0c82.787 0 150 67.213 150 150s-67.213 150-150 150S0 232.787 0 150 67.213 0 150 0Zm0 16c73.957 0 134 60.043 134 134s-60.043 134-134 134S16 223.957 16 150 76.043 16 150 16Z"
|
||||
style="fill:#4d4d4d;fill-opacity:1"
|
||||
id="path4" />
|
||||
|
||||
<path
|
||||
d="M 125.73252,227.39216 C 162.6821,181.25328 159.68479,109.80627 119.01184,67.8525 l -0.0404,-0.0415 a 8.4262645,9.5474485 0 0 1 -0.51796,-13.437497 c 3.1284,-3.89368 8.4597,-4.177124 11.89613,-0.632472 47.587,49.085569 51.05025,132.713399 7.72895,186.632269 -3.1284,3.89367 -8.45969,4.17712 -11.89613,0.63246 a 8.4262645,9.5474485 0 0 1 -0.5582,-13.47898 z"
|
||||
style="clip-rule:evenodd;fill:#4d4d4d;fill-rule:evenodd;stroke-width:1.37905;stroke-linejoin:round;stroke-miterlimit:2;fill-opacity:1"
|
||||
id="path8" /><path
|
||||
d="M 55.837588,106.71509 H 105.55874 L 95.373313,97.858202 H 111.1846 l 15.82341,13.759468 -15.82341,13.75882 H 95.389703 l 10.317287,-8.97155 H 55.837588 Z"
|
||||
style="clip-rule:evenodd;fill:#4d4d4d;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3" /><path
|
||||
d="M 55.837592,146.71508 H 105.55874 L 95.373313,137.85819 H 111.1846 l 15.82341,13.75947 -15.82341,13.75883 H 95.389703 l 10.317287,-8.97155 H 55.837592 Z"
|
||||
style="clip-rule:evenodd;fill:#4d4d4d;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5" /><path
|
||||
d="m 185.83759,146.71508 h 49.72115 l -10.18542,-8.85689 h 15.81128 l 15.82341,13.75947 -15.82341,13.75883 h -15.79489 l 10.31728,-8.97155 h -49.8694 z"
|
||||
style="clip-rule:evenodd;fill:#4d4d4d;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5-2" /><path
|
||||
d="M 55.837592,186.71508 H 105.55874 L 95.373313,177.85819 H 111.1846 l 15.82341,13.75947 -15.82341,13.75883 H 95.389703 l 10.317287,-8.97155 H 55.837592 Z"
|
||||
style="clip-rule:evenodd;fill:#4d4d4d;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5-6" /></svg>
|
||||
|
After Width: | Height: | Size: 3.2 KiB |
@@ -0,0 +1,55 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="60"
|
||||
height="60"
|
||||
viewBox="0 0 300 300"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
sodipodi:docname="nat2.svg"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
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="defs12" /><sodipodi:namedview
|
||||
id="namedview10"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.983333"
|
||||
inkscape:cx="29.958276"
|
||||
inkscape:cy="30.000001"
|
||||
inkscape:window-width="1658"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg8" />
|
||||
<circle
|
||||
cx="150"
|
||||
cy="150"
|
||||
r="150"
|
||||
style="fill:#fffefe"
|
||||
id="circle2" />
|
||||
<path
|
||||
d="M150 0c82.787 0 150 67.213 150 150s-67.213 150-150 150S0 232.787 0 150 67.213 0 150 0Zm0 16c73.957 0 134 60.043 134 134s-60.043 134-134 134S16 223.957 16 150 76.043 16 150 16Z"
|
||||
style="fill:#4d4d4d;fill-opacity:1"
|
||||
id="path4" />
|
||||
<path
|
||||
d="M93.524 228.429c-.175.003-.349.004-.524.004-21.764 0-39.433-17.669-39.433-39.433 0-19.528 14.227-35.76 32.872-38.888.478-34.678 28.775-62.679 63.561-62.679s63.083 28.001 63.561 62.679c18.645 3.128 32.872 19.36 32.872 38.888 0 21.764-17.669 39.433-39.433 39.433-.273 0-.545-.003-.815-.009v.005H93.524ZM93 215h114c14.037 0 25.433-11.396 25.433-25.433 0-12.32-8.779-22.606-20.417-24.937l-.223-.044-.086-.015-.225-.042-.087-.015-.225-.039-.091-.014-.223-.035-.095-.014-.22-.032-.102-.014-.214-.028-.11-.014-.207-.025-.12-.013-.198-.021-.13-.012-.19-.018-.14-.012-.181-.015-.151-.01-.171-.012-.162-.009-.161-.01-.174-.007-.15-.007-.19-.006-.136-.004-.215-.004-.111-.002-.328-.003-.318.002-.106.002-.212.004-.126.004-.19.006-.134.006-.182.008-.138.007-.176.01-.141.009-.173.013-.142.011-.17.014-.143.012-.169.016-.143.015-.168.018-.143.016-.166.02-.143.018-.166.022-.142.02-.167.024-.14.021-.168.027-.137.022-.178.031-.126.021-.295.055-.144.029-.157.031-.153.032-.146.031-.156.034-.141.032-.159.037-.138.033-.159.039-.135.034-.16.042-.134.035-.16.043-.131.037-.161.045-.13.038-.161.048-.127.039-.162.05-.125.039-.163.053-.122.04-.163.055-.119.041-.166.058-.113.04-.169.062-.087.032-.188.07-.147.057-.075.03A49.912 49.912 0 0 0 200 151c0-27.596-22.404-50-50-50s-50 22.404-50 50c0 5.18.789 10.177 2.253 14.874l-.075-.03-.147-.057-.188-.07-.087-.032-.169-.062-.113-.04-.166-.058-.119-.041-.163-.055-.122-.04-.163-.053-.125-.039-.162-.05-.127-.039-.161-.048-.13-.038-.161-.045-.131-.037-.16-.043-.134-.035-.16-.042-.135-.034-.159-.039-.138-.033-.159-.037-.141-.032-.156-.034-.146-.031-.153-.032-.157-.031-.144-.029-.295-.055-.126-.021-.178-.031-.137-.022-.168-.027-.14-.021-.167-.024-.142-.02-.166-.022-.143-.018-.166-.02-.143-.016-.168-.018-.143-.015-.169-.016-.143-.012-.17-.014-.142-.011-.173-.013-.141-.009-.176-.01-.138-.007-.182-.008-.134-.006-.19-.006-.126-.004-.212-.004-.106-.002-.318-.002-.328.003-.111.002-.215.004-.136.004-.19.006-.15.007-.174.007-.161.01-.162.009-.171.012-.151.01-.181.015-.14.012-.19.018-.13.012-.198.021-.12.013-.207.025-.11.014-.214.028-.102.014-.22.032-.095.014-.223.035-.091.014-.225.039-.087.015-.225.042-.086.015-.223.044c-11.638 2.331-20.417 12.617-20.417 24.937C67.567 203.604 78.963 215 93 215Z"
|
||||
style="fill:#4d4d4d;fill-opacity:1"
|
||||
transform="matrix(1.0372 0 0 .99188 -5.58 -13.784)"
|
||||
id="path6" />
|
||||
<path
|
||||
d="m 114.18486,133.39431 h 50.31577 L 154.19339,122.4189 h 16.00038 l 16.01264,17.05067 -16.01264,17.04991 h -15.98379 l 10.44067,-11.1175 h -50.46579 z"
|
||||
style="clip-rule:evenodd;fill:#4d4d4d;fill-rule:evenodd;stroke-width:0.744302;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-7" /><path
|
||||
d="m 186.32326,162.03715 h -50.31577 l 10.30725,-10.97542 h -16.00039 l -16.01264,17.05067 16.01264,17.04991 h 15.98379 l -10.44067,-11.1175 h 50.46579 z"
|
||||
style="clip-rule:evenodd;fill:#4d4d4d;fill-rule:evenodd;stroke-width:0.744302;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path10-5" /></svg>
|
||||
|
After Width: | Height: | Size: 4.3 KiB |
@@ -0,0 +1,60 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="60"
|
||||
height="60"
|
||||
viewBox="0 0 300 300"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
sodipodi:docname="nat.svg"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
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="defs12" /><sodipodi:namedview
|
||||
id="namedview10"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.983333"
|
||||
inkscape:cx="29.958276"
|
||||
inkscape:cy="30.000001"
|
||||
inkscape:window-width="1658"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg8" />
|
||||
<circle
|
||||
cx="150"
|
||||
cy="150"
|
||||
r="150"
|
||||
style="fill:#fffefe"
|
||||
id="circle2" />
|
||||
<path
|
||||
d="M150 0c82.787 0 150 67.213 150 150s-67.213 150-150 150S0 232.787 0 150 67.213 0 150 0Zm0 16c73.957 0 134 60.043 134 134s-60.043 134-134 134S16 223.957 16 150 76.043 16 150 16Z"
|
||||
style="fill:#109e00;fill-opacity:1"
|
||||
id="path4" />
|
||||
|
||||
<path
|
||||
d="M 125.73252,227.39216 C 162.6821,181.25328 159.68479,109.80627 119.01184,67.8525 l -0.0404,-0.0415 a 8.4262645,9.5474485 0 0 1 -0.51796,-13.437497 c 3.1284,-3.89368 8.4597,-4.177124 11.89613,-0.632472 47.587,49.085569 51.05025,132.713399 7.72895,186.632269 -3.1284,3.89367 -8.45969,4.17712 -11.89613,0.63246 a 8.4262645,9.5474485 0 0 1 -0.5582,-13.47898 z"
|
||||
style="clip-rule:evenodd;fill:#109e00;fill-rule:evenodd;stroke-width:1.37905;stroke-linejoin:round;stroke-miterlimit:2;fill-opacity:1"
|
||||
id="path8" /><path
|
||||
d="M 55.837588,106.71509 H 105.55874 L 95.373313,97.858202 H 111.1846 l 15.82341,13.759468 -15.82341,13.75882 H 95.389703 l 10.317287,-8.97155 H 55.837588 Z"
|
||||
style="clip-rule:evenodd;fill:#109e00;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3" /><path
|
||||
d="M 55.837592,146.71508 H 105.55874 L 95.373313,137.85819 H 111.1846 l 15.82341,13.75947 -15.82341,13.75883 H 95.389703 l 10.317287,-8.97155 H 55.837592 Z"
|
||||
style="clip-rule:evenodd;fill:#109e00;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5" /><path
|
||||
d="m 185.83759,146.71508 h 49.72115 l -10.18542,-8.85689 h 15.81128 l 15.82341,13.75947 -15.82341,13.75883 h -15.79489 l 10.31728,-8.97155 h -49.8694 z"
|
||||
style="clip-rule:evenodd;fill:#109e00;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5-2" /><path
|
||||
d="M 55.837592,186.71508 H 105.55874 L 95.373313,177.85819 H 111.1846 l 15.82341,13.75947 -15.82341,13.75883 H 95.389703 l 10.317287,-8.97155 H 55.837592 Z"
|
||||
style="clip-rule:evenodd;fill:#109e00;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5-6" /></svg>
|
||||
|
After Width: | Height: | Size: 3.2 KiB |
@@ -0,0 +1,55 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="60"
|
||||
height="60"
|
||||
viewBox="0 0 300 300"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
sodipodi:docname="nat2.svg"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
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="defs12" /><sodipodi:namedview
|
||||
id="namedview10"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.983333"
|
||||
inkscape:cx="29.958276"
|
||||
inkscape:cy="30.000001"
|
||||
inkscape:window-width="1658"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg8" />
|
||||
<circle
|
||||
cx="150"
|
||||
cy="150"
|
||||
r="150"
|
||||
style="fill:#fffefe"
|
||||
id="circle2" />
|
||||
<path
|
||||
d="M150 0c82.787 0 150 67.213 150 150s-67.213 150-150 150S0 232.787 0 150 67.213 0 150 0Zm0 16c73.957 0 134 60.043 134 134s-60.043 134-134 134S16 223.957 16 150 76.043 16 150 16Z"
|
||||
style="fill:#109e00;fill-opacity:1"
|
||||
id="path4" />
|
||||
<path
|
||||
d="M93.524 228.429c-.175.003-.349.004-.524.004-21.764 0-39.433-17.669-39.433-39.433 0-19.528 14.227-35.76 32.872-38.888.478-34.678 28.775-62.679 63.561-62.679s63.083 28.001 63.561 62.679c18.645 3.128 32.872 19.36 32.872 38.888 0 21.764-17.669 39.433-39.433 39.433-.273 0-.545-.003-.815-.009v.005H93.524ZM93 215h114c14.037 0 25.433-11.396 25.433-25.433 0-12.32-8.779-22.606-20.417-24.937l-.223-.044-.086-.015-.225-.042-.087-.015-.225-.039-.091-.014-.223-.035-.095-.014-.22-.032-.102-.014-.214-.028-.11-.014-.207-.025-.12-.013-.198-.021-.13-.012-.19-.018-.14-.012-.181-.015-.151-.01-.171-.012-.162-.009-.161-.01-.174-.007-.15-.007-.19-.006-.136-.004-.215-.004-.111-.002-.328-.003-.318.002-.106.002-.212.004-.126.004-.19.006-.134.006-.182.008-.138.007-.176.01-.141.009-.173.013-.142.011-.17.014-.143.012-.169.016-.143.015-.168.018-.143.016-.166.02-.143.018-.166.022-.142.02-.167.024-.14.021-.168.027-.137.022-.178.031-.126.021-.295.055-.144.029-.157.031-.153.032-.146.031-.156.034-.141.032-.159.037-.138.033-.159.039-.135.034-.16.042-.134.035-.16.043-.131.037-.161.045-.13.038-.161.048-.127.039-.162.05-.125.039-.163.053-.122.04-.163.055-.119.041-.166.058-.113.04-.169.062-.087.032-.188.07-.147.057-.075.03A49.912 49.912 0 0 0 200 151c0-27.596-22.404-50-50-50s-50 22.404-50 50c0 5.18.789 10.177 2.253 14.874l-.075-.03-.147-.057-.188-.07-.087-.032-.169-.062-.113-.04-.166-.058-.119-.041-.163-.055-.122-.04-.163-.053-.125-.039-.162-.05-.127-.039-.161-.048-.13-.038-.161-.045-.131-.037-.16-.043-.134-.035-.16-.042-.135-.034-.159-.039-.138-.033-.159-.037-.141-.032-.156-.034-.146-.031-.153-.032-.157-.031-.144-.029-.295-.055-.126-.021-.178-.031-.137-.022-.168-.027-.14-.021-.167-.024-.142-.02-.166-.022-.143-.018-.166-.02-.143-.016-.168-.018-.143-.015-.169-.016-.143-.012-.17-.014-.142-.011-.173-.013-.141-.009-.176-.01-.138-.007-.182-.008-.134-.006-.19-.006-.126-.004-.212-.004-.106-.002-.318-.002-.328.003-.111.002-.215.004-.136.004-.19.006-.15.007-.174.007-.161.01-.162.009-.171.012-.151.01-.181.015-.14.012-.19.018-.13.012-.198.021-.12.013-.207.025-.11.014-.214.028-.102.014-.22.032-.095.014-.223.035-.091.014-.225.039-.087.015-.225.042-.086.015-.223.044c-11.638 2.331-20.417 12.617-20.417 24.937C67.567 203.604 78.963 215 93 215Z"
|
||||
style="fill:#109e00;fill-opacity:1"
|
||||
transform="matrix(1.0372 0 0 .99188 -5.58 -13.784)"
|
||||
id="path6" />
|
||||
<path
|
||||
d="m 114.18486,133.39431 h 50.31577 L 154.19339,122.4189 h 16.00038 l 16.01264,17.05067 -16.01264,17.04991 h -15.98379 l 10.44067,-11.1175 h -50.46579 z"
|
||||
style="clip-rule:evenodd;fill:#109e00;fill-rule:evenodd;stroke-width:0.744302;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-7" /><path
|
||||
d="m 186.32326,162.03715 h -50.31577 l 10.30725,-10.97542 h -16.00039 l -16.01264,17.05067 16.01264,17.04991 h 15.98379 l -10.44067,-11.1175 h 50.46579 z"
|
||||
style="clip-rule:evenodd;fill:#109e00;fill-rule:evenodd;stroke-width:0.744302;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path10-5" /></svg>
|
||||
|
After Width: | Height: | Size: 4.3 KiB |
@@ -0,0 +1,60 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="60"
|
||||
height="60"
|
||||
viewBox="0 0 300 300"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
sodipodi:docname="nat.svg"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
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="defs12" /><sodipodi:namedview
|
||||
id="namedview10"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.983333"
|
||||
inkscape:cx="29.958276"
|
||||
inkscape:cy="30.000001"
|
||||
inkscape:window-width="1658"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg8" />
|
||||
<circle
|
||||
cx="150"
|
||||
cy="150"
|
||||
r="150"
|
||||
style="fill:#fffefe"
|
||||
id="circle2" />
|
||||
<path
|
||||
d="M150 0c82.787 0 150 67.213 150 150s-67.213 150-150 150S0 232.787 0 150 67.213 0 150 0Zm0 16c73.957 0 134 60.043 134 134s-60.043 134-134 134S16 223.957 16 150 76.043 16 150 16Z"
|
||||
style="fill:#e3292e;fill-opacity:1"
|
||||
id="path4" />
|
||||
|
||||
<path
|
||||
d="M 125.73252,227.39216 C 162.6821,181.25328 159.68479,109.80627 119.01184,67.8525 l -0.0404,-0.0415 a 8.4262645,9.5474485 0 0 1 -0.51796,-13.437497 c 3.1284,-3.89368 8.4597,-4.177124 11.89613,-0.632472 47.587,49.085569 51.05025,132.713399 7.72895,186.632269 -3.1284,3.89367 -8.45969,4.17712 -11.89613,0.63246 a 8.4262645,9.5474485 0 0 1 -0.5582,-13.47898 z"
|
||||
style="clip-rule:evenodd;fill:#e3292e;fill-rule:evenodd;stroke-width:1.37905;stroke-linejoin:round;stroke-miterlimit:2;fill-opacity:1"
|
||||
id="path8" /><path
|
||||
d="M 55.837588,106.71509 H 105.55874 L 95.373313,97.858202 H 111.1846 l 15.82341,13.759468 -15.82341,13.75882 H 95.389703 l 10.317287,-8.97155 H 55.837588 Z"
|
||||
style="clip-rule:evenodd;fill:#e3292e;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3" /><path
|
||||
d="M 55.837592,146.71508 H 105.55874 L 95.373313,137.85819 H 111.1846 l 15.82341,13.75947 -15.82341,13.75883 H 95.389703 l 10.317287,-8.97155 H 55.837592 Z"
|
||||
style="clip-rule:evenodd;fill:#e3292e;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5" /><path
|
||||
d="m 185.83759,146.71508 h 49.72115 l -10.18542,-8.85689 h 15.81128 l 15.82341,13.75947 -15.82341,13.75883 h -15.79489 l 10.31728,-8.97155 h -49.8694 z"
|
||||
style="clip-rule:evenodd;fill:#e3292e;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5-2" /><path
|
||||
d="M 55.837592,186.71508 H 105.55874 L 95.373313,177.85819 H 111.1846 l 15.82341,13.75947 -15.82341,13.75883 H 95.389703 l 10.317287,-8.97155 H 55.837592 Z"
|
||||
style="clip-rule:evenodd;fill:#e3292e;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5-6" /></svg>
|
||||
|
After Width: | Height: | Size: 3.2 KiB |
@@ -0,0 +1,55 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="60"
|
||||
height="60"
|
||||
viewBox="0 0 300 300"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
sodipodi:docname="nat2.svg"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
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="defs12" /><sodipodi:namedview
|
||||
id="namedview10"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.983333"
|
||||
inkscape:cx="29.958276"
|
||||
inkscape:cy="30.000001"
|
||||
inkscape:window-width="1658"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg8" />
|
||||
<circle
|
||||
cx="150"
|
||||
cy="150"
|
||||
r="150"
|
||||
style="fill:#fffefe"
|
||||
id="circle2" />
|
||||
<path
|
||||
d="M150 0c82.787 0 150 67.213 150 150s-67.213 150-150 150S0 232.787 0 150 67.213 0 150 0Zm0 16c73.957 0 134 60.043 134 134s-60.043 134-134 134S16 223.957 16 150 76.043 16 150 16Z"
|
||||
style="fill:#e3292e;fill-opacity:1"
|
||||
id="path4" />
|
||||
<path
|
||||
d="M93.524 228.429c-.175.003-.349.004-.524.004-21.764 0-39.433-17.669-39.433-39.433 0-19.528 14.227-35.76 32.872-38.888.478-34.678 28.775-62.679 63.561-62.679s63.083 28.001 63.561 62.679c18.645 3.128 32.872 19.36 32.872 38.888 0 21.764-17.669 39.433-39.433 39.433-.273 0-.545-.003-.815-.009v.005H93.524ZM93 215h114c14.037 0 25.433-11.396 25.433-25.433 0-12.32-8.779-22.606-20.417-24.937l-.223-.044-.086-.015-.225-.042-.087-.015-.225-.039-.091-.014-.223-.035-.095-.014-.22-.032-.102-.014-.214-.028-.11-.014-.207-.025-.12-.013-.198-.021-.13-.012-.19-.018-.14-.012-.181-.015-.151-.01-.171-.012-.162-.009-.161-.01-.174-.007-.15-.007-.19-.006-.136-.004-.215-.004-.111-.002-.328-.003-.318.002-.106.002-.212.004-.126.004-.19.006-.134.006-.182.008-.138.007-.176.01-.141.009-.173.013-.142.011-.17.014-.143.012-.169.016-.143.015-.168.018-.143.016-.166.02-.143.018-.166.022-.142.02-.167.024-.14.021-.168.027-.137.022-.178.031-.126.021-.295.055-.144.029-.157.031-.153.032-.146.031-.156.034-.141.032-.159.037-.138.033-.159.039-.135.034-.16.042-.134.035-.16.043-.131.037-.161.045-.13.038-.161.048-.127.039-.162.05-.125.039-.163.053-.122.04-.163.055-.119.041-.166.058-.113.04-.169.062-.087.032-.188.07-.147.057-.075.03A49.912 49.912 0 0 0 200 151c0-27.596-22.404-50-50-50s-50 22.404-50 50c0 5.18.789 10.177 2.253 14.874l-.075-.03-.147-.057-.188-.07-.087-.032-.169-.062-.113-.04-.166-.058-.119-.041-.163-.055-.122-.04-.163-.053-.125-.039-.162-.05-.127-.039-.161-.048-.13-.038-.161-.045-.131-.037-.16-.043-.134-.035-.16-.042-.135-.034-.159-.039-.138-.033-.159-.037-.141-.032-.156-.034-.146-.031-.153-.032-.157-.031-.144-.029-.295-.055-.126-.021-.178-.031-.137-.022-.168-.027-.14-.021-.167-.024-.142-.02-.166-.022-.143-.018-.166-.02-.143-.016-.168-.018-.143-.015-.169-.016-.143-.012-.17-.014-.142-.011-.173-.013-.141-.009-.176-.01-.138-.007-.182-.008-.134-.006-.19-.006-.126-.004-.212-.004-.106-.002-.318-.002-.328.003-.111.002-.215.004-.136.004-.19.006-.15.007-.174.007-.161.01-.162.009-.171.012-.151.01-.181.015-.14.012-.19.018-.13.012-.198.021-.12.013-.207.025-.11.014-.214.028-.102.014-.22.032-.095.014-.223.035-.091.014-.225.039-.087.015-.225.042-.086.015-.223.044c-11.638 2.331-20.417 12.617-20.417 24.937C67.567 203.604 78.963 215 93 215Z"
|
||||
style="fill:#e3292e;fill-opacity:1"
|
||||
transform="matrix(1.0372 0 0 .99188 -5.58 -13.784)"
|
||||
id="path6" />
|
||||
<path
|
||||
d="m 114.18486,133.39431 h 50.31577 L 154.19339,122.4189 h 16.00038 l 16.01264,17.05067 -16.01264,17.04991 h -15.98379 l 10.44067,-11.1175 h -50.46579 z"
|
||||
style="clip-rule:evenodd;fill:#e3292e;fill-rule:evenodd;stroke-width:0.744302;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-7" /><path
|
||||
d="m 186.32326,162.03715 h -50.31577 l 10.30725,-10.97542 h -16.00039 l -16.01264,17.05067 16.01264,17.04991 h 15.98379 l -10.44067,-11.1175 h 50.46579 z"
|
||||
style="clip-rule:evenodd;fill:#e3292e;fill-rule:evenodd;stroke-width:0.744302;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path10-5" /></svg>
|
||||
|
After Width: | Height: | Size: 4.3 KiB |
@@ -0,0 +1,58 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="60"
|
||||
height="60"
|
||||
viewBox="0 0 300 300"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
version="1.1"
|
||||
id="svg18"
|
||||
sodipodi:docname="nat.svg"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
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="defs22" /><sodipodi:namedview
|
||||
id="namedview20"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.983333"
|
||||
inkscape:cx="29.958275"
|
||||
inkscape:cy="30"
|
||||
inkscape:window-width="1658"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg18" />
|
||||
<path
|
||||
d="M300 30.271C300 13.564 286.436 0 269.729 0H30.271C13.564 0 0 13.564 0 30.271v239.458C0 286.436 13.564 300 30.271 300h239.458C286.436 300 300 286.436 300 269.729V30.271Z"
|
||||
style="fill:#fffefe"
|
||||
id="path2" /><path
|
||||
d="m 126.0992,224.81393 c 36.94958,-46.13888 33.95227,-117.5859 -6.72068,-159.539672 l -0.0404,-0.0415 a 8.4262645,9.5474485 0 0 1 -0.51796,-13.437497 c 3.1284,-3.89368 8.4597,-4.177124 11.89613,-0.632472 47.587,49.085571 51.05025,132.713411 7.72895,186.632281 -3.1284,3.89367 -8.45969,4.17712 -11.89613,0.63246 a 8.4262645,9.5474485 0 0 1 -0.5582,-13.47898 z"
|
||||
style="clip-rule:evenodd;fill:#2d67b9;fill-rule:evenodd;stroke-width:1.37905;stroke-linejoin:round;stroke-miterlimit:2"
|
||||
id="path8" />
|
||||
<path
|
||||
d="m269.925.001.195.001.39.008.195.005.194.007.194.008.193.009.386.022.193.013.192.014.192.016.191.016.192.018.191.018.19.02.38.044.19.023.189.025.188.026.189.027.188.028.187.029.188.031.186.031.187.033.186.034.186.035.185.036.185.037.368.078.184.041.183.042.183.043.182.043.364.092.181.047.18.048.181.05.179.05.18.052.179.052.178.054.178.055.177.056.177.057.177.058.176.059.175.06.175.061.175.062.174.063.174.064.173.066.172.066.172.067.172.068.171.07.17.07.17.071.17.073.169.073.168.074.168.076.167.076.167.077.332.158.165.08.165.081.164.083.163.083.163.084.162.085.162.086.161.087.161.088.16.088.159.09.159.091.316.184.157.094.156.094.156.095.155.096.308.196.306.198.152.101.302.204.15.104.149.104.149.105.148.106.294.214.146.109.145.109.145.111.144.111.143.112.143.113.142.113.282.23.139.116.14.117.276.236.137.12.136.12.135.121.135.122.134.122.134.124.132.124.132.125.131.125.26.254.129.128.128.129.254.26.125.131.125.132.124.132.124.134.122.134.122.135.121.135.12.136.12.137.236.276.117.14.116.139.23.282.113.142.113.143.112.143.111.144.111.145.109.145.109.146.214.294.106.148.105.149.104.149.104.15.204.302.101.152.198.306.196.308.096.155.095.156.094.156.094.157.184.316.091.159.09.159.088.16.088.161.087.161.086.162.085.162.084.163.083.163.083.164.081.165.08.165.158.332.077.167.076.167.076.168.074.168.073.169.073.17.071.17.07.17.07.171.068.172.067.172.066.172.066.173.064.174.063.174.062.175.061.175.06.175.059.176.058.177.057.177.056.177.055.178.054.178.052.179.052.18.05.179.05.181.048.18.047.181.092.364.043.182.043.183.042.183.041.184.078.368.037.185.036.185.035.186.034.186.033.187.031.186.031.188.029.187.028.188.027.189.026.188.025.189.023.19.044.38.02.19.018.191.018.192.016.191.016.192.014.192.013.193.022.386.009.193.008.194.007.194.005.195.008.39.002.391v239.458l-.001.196-.001.195-.004.195-.004.195-.005.195-.007.194-.008.194-.009.193-.011.193-.011.193-.013.193-.014.192-.016.192-.016.191-.018.192-.018.191-.02.19-.022.19-.022.19-.023.19-.025.189-.026.188-.027.189-.028.188-.029.187-.031.188-.031.186-.033.187-.034.186-.035.186-.036.185-.037.185-.039.184-.039.184-.041.184-.042.183-.043.183-.043.182-.046.182-.046.182-.047.181-.048.18-.05.181-.05.179-.052.18-.052.179-.054.178-.055.178-.056.177-.057.177-.058.177-.059.176-.06.175-.061.175-.062.175-.063.174-.064.174-.066.173-.066.172-.067.172-.068.172-.07.171-.07.17-.071.17-.073.17-.073.169-.074.168-.076.168-.076.167-.077.167-.079.166-.079.166-.08.165-.081.165-.083.164-.083.163-.084.163-.085.162-.086.162-.087.161-.088.161-.088.16-.09.159-.091.159-.092.158-.092.158-.094.157-.094.156-.095.156-.096.155-.098.154-.098.154-.099.153-.099.153-.101.152-.102.151-.102.151-.104.15-.104.149-.105.149-.106.148-.107.147-.107.147-.109.146-.109.145-.111.145-.111.144-.112.143-.113.143-.113.142-.115.141-.115.141-.116.139-.117.14-.118.138-.118.138-.12.137-.12.136-.121.135-.122.135-.122.134-.124.134-.124.132-.125.132-.125.131-.127.13-.127.13-.128.129-.129.128-.13.127-.13.127-.131.125-.132.125-.132.124-.134.124-.134.122-.135.122-.135.121-.136.12-.137.12-.138.118-.138.118-.14.117-.139.116-.141.115-.141.115-.142.113-.143.113-.143.112-.144.111-.145.111-.145.109-.146.109-.147.107-.147.107-.148.106-.149.105-.149.104-.15.104-.151.102-.151.102-.152.101-.153.099-.153.099-.154.098-.154.098-.155.096-.156.095-.156.094-.157.094-.158.092-.158.092-.159.091-.159.09-.16.088-.161.088-.161.087-.162.086-.162.085-.163.084-.163.083-.164.083-.165.081-.165.08-.166.079-.166.079-.167.077-.167.076-.168.076-.168.074-.169.073-.17.073-.17.071-.17.07-.171.07-.172.068-.172.067-.172.066-.173.066-.174.064-.174.063-.175.062-.175.061-.175.06-.176.059-.177.058-.177.057-.177.056-.178.055-.178.054-.179.052-.18.052-.179.05-.181.05-.18.048-.181.047-.182.046-.182.046-.182.043-.183.043-.183.042-.184.041-.184.039-.184.039-.185.037-.185.036-.186.035-.186.034-.187.033-.186.031-.188.031-.187.029-.188.028-.189.027-.188.026-.189.025-.19.023-.19.022-.19.022-.19.02-.191.018-.192.018-.191.016-.192.016-.192.014-.193.013-.193.011-.193.011-.193.009-.194.008-.194.007-.195.005-.195.004-.195.004-.195.001-.196.001H30.271l-.196-.001-.195-.001-.195-.004-.195-.004-.195-.005-.194-.007-.194-.008-.193-.009-.193-.011-.193-.011-.193-.013-.192-.014-.192-.016-.191-.016-.192-.018-.191-.018-.19-.02-.19-.022-.19-.022-.19-.023-.189-.025-.188-.026-.189-.027-.188-.028-.187-.029-.188-.031-.186-.031-.187-.033-.186-.034-.186-.035-.185-.036-.185-.037-.184-.039-.184-.039-.184-.041-.183-.042-.183-.043-.182-.043-.182-.046-.182-.046-.181-.047-.18-.048-.181-.05-.179-.05-.18-.052-.179-.052-.178-.054-.178-.055-.177-.056-.177-.057-.177-.058-.176-.059-.175-.06-.175-.061-.175-.062-.174-.063-.174-.064-.173-.066-.172-.066-.172-.067-.172-.068-.171-.07-.17-.07-.17-.071-.17-.073-.169-.073-.168-.074-.168-.076-.167-.076-.167-.077-.166-.079-.166-.079-.165-.08-.165-.081-.164-.083-.163-.083-.163-.084-.162-.085-.162-.086-.161-.087-.161-.088-.16-.088-.159-.09-.159-.091-.158-.092-.158-.092-.157-.094-.156-.094-.156-.095-.155-.096-.154-.098-.154-.098-.153-.099-.153-.099-.152-.101-.151-.102-.151-Line truncated
|
||||
style="fill:#2d67b9"
|
||||
id="path4" />
|
||||
|
||||
<path
|
||||
d="M 56.204265,104.13685 H 105.92542 L 95.739989,95.27996 h 15.811291 l 15.82341,13.75947 -15.82341,13.75883 H 95.756379 l 10.317291,-8.97155 H 56.204265 Z"
|
||||
style="clip-rule:evenodd;fill:#2d67b9;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
id="path8-3" /><path
|
||||
d="m 56.204269,144.13685 h 49.721151 l -10.185427,-8.85689 h 15.811287 l 15.82341,13.75947 -15.82341,13.75883 H 95.756383 l 10.317287,-8.97155 H 56.204269 Z"
|
||||
style="clip-rule:evenodd;fill:#2d67b9;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
id="path8-3-5" /><path
|
||||
d="m 186.20427,144.13685 h 49.72115 L 225.74,135.27996 h 15.81128 l 15.82341,13.75947 -15.82341,13.75883 h -15.79489 l 10.31728,-8.97155 h -49.8694 z"
|
||||
style="clip-rule:evenodd;fill:#2d67b9;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
id="path8-3-5-2" /><path
|
||||
d="m 56.204269,184.13685 h 49.721151 l -10.185427,-8.85689 h 15.811287 l 15.82341,13.75947 -15.82341,13.75883 H 95.756383 l 10.317287,-8.97155 H 56.204269 Z"
|
||||
style="clip-rule:evenodd;fill:#2d67b9;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
id="path8-3-5-6" /></svg>
|
||||
|
After Width: | Height: | Size: 20 KiB |
@@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="60"
|
||||
height="60"
|
||||
viewBox="0 0 300 300"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
version="1.1"
|
||||
id="svg18"
|
||||
sodipodi:docname="nat2.svg"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
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="defs22" /><sodipodi:namedview
|
||||
id="namedview20"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.983333"
|
||||
inkscape:cx="29.958275"
|
||||
inkscape:cy="30"
|
||||
inkscape:window-width="1658"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg18" />
|
||||
<path
|
||||
d="M300 30.271C300 13.564 286.436 0 269.729 0H30.271C13.564 0 0 13.564 0 30.271v239.458C0 286.436 13.564 300 30.271 300h239.458C286.436 300 300 286.436 300 269.729V30.271Z"
|
||||
style="fill:#fffefe"
|
||||
id="path2" />
|
||||
<path
|
||||
d="m269.925.001.195.001.39.008.195.005.194.007.194.008.193.009.386.022.193.013.192.014.192.016.191.016.192.018.191.018.19.02.38.044.19.023.189.025.188.026.189.027.188.028.187.029.188.031.186.031.187.033.186.034.186.035.185.036.185.037.368.078.184.041.183.042.183.043.182.043.364.092.181.047.18.048.181.05.179.05.18.052.179.052.178.054.178.055.177.056.177.057.177.058.176.059.175.06.175.061.175.062.174.063.174.064.173.066.172.066.172.067.172.068.171.07.17.07.17.071.17.073.169.073.168.074.168.076.167.076.167.077.332.158.165.08.165.081.164.083.163.083.163.084.162.085.162.086.161.087.161.088.16.088.159.09.159.091.316.184.157.094.156.094.156.095.155.096.308.196.306.198.152.101.302.204.15.104.149.104.149.105.148.106.294.214.146.109.145.109.145.111.144.111.143.112.143.113.142.113.282.23.139.116.14.117.276.236.137.12.136.12.135.121.135.122.134.122.134.124.132.124.132.125.131.125.26.254.129.128.128.129.254.26.125.131.125.132.124.132.124.134.122.134.122.135.121.135.12.136.12.137.236.276.117.14.116.139.23.282.113.142.113.143.112.143.111.144.111.145.109.145.109.146.214.294.106.148.105.149.104.149.104.15.204.302.101.152.198.306.196.308.096.155.095.156.094.156.094.157.184.316.091.159.09.159.088.16.088.161.087.161.086.162.085.162.084.163.083.163.083.164.081.165.08.165.158.332.077.167.076.167.076.168.074.168.073.169.073.17.071.17.07.17.07.171.068.172.067.172.066.172.066.173.064.174.063.174.062.175.061.175.06.175.059.176.058.177.057.177.056.177.055.178.054.178.052.179.052.18.05.179.05.181.048.18.047.181.092.364.043.182.043.183.042.183.041.184.078.368.037.185.036.185.035.186.034.186.033.187.031.186.031.188.029.187.028.188.027.189.026.188.025.189.023.19.044.38.02.19.018.191.018.192.016.191.016.192.014.192.013.193.022.386.009.193.008.194.007.194.005.195.008.39.002.391v239.458l-.001.196-.001.195-.004.195-.004.195-.005.195-.007.194-.008.194-.009.193-.011.193-.011.193-.013.193-.014.192-.016.192-.016.191-.018.192-.018.191-.02.19-.022.19-.022.19-.023.19-.025.189-.026.188-.027.189-.028.188-.029.187-.031.188-.031.186-.033.187-.034.186-.035.186-.036.185-.037.185-.039.184-.039.184-.041.184-.042.183-.043.183-.043.182-.046.182-.046.182-.047.181-.048.18-.05.181-.05.179-.052.18-.052.179-.054.178-.055.178-.056.177-.057.177-.058.177-.059.176-.06.175-.061.175-.062.175-.063.174-.064.174-.066.173-.066.172-.067.172-.068.172-.07.171-.07.17-.071.17-.073.17-.073.169-.074.168-.076.168-.076.167-.077.167-.079.166-.079.166-.08.165-.081.165-.083.164-.083.163-.084.163-.085.162-.086.162-.087.161-.088.161-.088.16-.09.159-.091.159-.092.158-.092.158-.094.157-.094.156-.095.156-.096.155-.098.154-.098.154-.099.153-.099.153-.101.152-.102.151-.102.151-.104.15-.104.149-.105.149-.106.148-.107.147-.107.147-.109.146-.109.145-.111.145-.111.144-.112.143-.113.143-.113.142-.115.141-.115.141-.116.139-.117.14-.118.138-.118.138-.12.137-.12.136-.121.135-.122.135-.122.134-.124.134-.124.132-.125.132-.125.131-.127.13-.127.13-.128.129-.129.128-.13.127-.13.127-.131.125-.132.125-.132.124-.134.124-.134.122-.135.122-.135.121-.136.12-.137.12-.138.118-.138.118-.14.117-.139.116-.141.115-.141.115-.142.113-.143.113-.143.112-.144.111-.145.111-.145.109-.146.109-.147.107-.147.107-.148.106-.149.105-.149.104-.15.104-.151.102-.151.102-.152.101-.153.099-.153.099-.154.098-.154.098-.155.096-.156.095-.156.094-.157.094-.158.092-.158.092-.159.091-.159.09-.16.088-.161.088-.161.087-.162.086-.162.085-.163.084-.163.083-.164.083-.165.081-.165.08-.166.079-.166.079-.167.077-.167.076-.168.076-.168.074-.169.073-.17.073-.17.071-.17.07-.171.07-.172.068-.172.067-.172.066-.173.066-.174.064-.174.063-.175.062-.175.061-.175.06-.176.059-.177.058-.177.057-.177.056-.178.055-.178.054-.179.052-.18.052-.179.05-.181.05-.18.048-.181.047-.182.046-.182.046-.182.043-.183.043-.183.042-.184.041-.184.039-.184.039-.185.037-.185.036-.186.035-.186.034-.187.033-.186.031-.188.031-.187.029-.188.028-.189.027-.188.026-.189.025-.19.023-.19.022-.19.022-.19.02-.191.018-.192.018-.191.016-.192.016-.192.014-.193.013-.193.011-.193.011-.193.009-.194.008-.194.007-.195.005-.195.004-.195.004-.195.001-.196.001H30.271l-.196-.001-.195-.001-.195-.004-.195-.004-.195-.005-.194-.007-.194-.008-.193-.009-.193-.011-.193-.011-.193-.013-.192-.014-.192-.016-.191-.016-.192-.018-.191-.018-.19-.02-.19-.022-.19-.022-.19-.023-.189-.025-.188-.026-.189-.027-.188-.028-.187-.029-.188-.031-.186-.031-.187-.033-.186-.034-.186-.035-.185-.036-.185-.037-.184-.039-.184-.039-.184-.041-.183-.042-.183-.043-.182-.043-.182-.046-.182-.046-.181-.047-.18-.048-.181-.05-.179-.05-.18-.052-.179-.052-.178-.054-.178-.055-.177-.056-.177-.057-.177-.058-.176-.059-.175-.06-.175-.061-.175-.062-.174-.063-.174-.064-.173-.066-.172-.066-.172-.067-.172-.068-.171-.07-.17-.07-.17-.071-.17-.073-.169-.073-.168-.074-.168-.076-.167-.076-.167-.077-.166-.079-.166-.079-.165-.08-.165-.081-.164-.083-.163-.083-.163-.084-.162-.085-.162-.086-.161-.087-.161-.088-.16-.088-.159-.09-.159-.091-.158-.092-.158-.092-.157-.094-.156-.094-.156-.095-.155-.096-.154-.098-.154-.098-.153-.099-.153-.099-.152-.101-.151-.102-.151-Line truncated
|
||||
style="fill:#2d67b9"
|
||||
id="path4" />
|
||||
<g
|
||||
id="g16">
|
||||
<path
|
||||
d="M94.657 208.957h-1.486v-.027c-21.178-.783-38.132-18.223-38.132-39.592 0-19.576 14.229-35.855 32.9-39.05v-.161c0-35.453 28.783-64.237 64.237-64.237 35.454 0 64.238 28.784 64.238 64.237 0 .271-.002.538-.005.804 19.045 3.122 33.574 19.29 33.574 38.74 0 21.683-18.054 39.286-40.293 39.286H94.657Zm105.717-77.514.019-.004c.011-.436.017-.873.017-1.312 0-26.621-21.613-48.234-48.234-48.234-4.677 0-9.199.667-13.476 1.911-20.932 5.493-36.369 24.279-36.369 46.582a47.305 47.305 0 0 0 3.775 18.568 23.546 23.546 0 0 0-11.449-2.952c-13.063 0-23.669 10.606-23.669 23.669 0 13.064 10.606 23.67 23.669 23.67h115.614c13.064 0 23.67-10.606 23.67-23.67 0-13.063-10.606-23.669-23.67-23.669a23.56 23.56 0 0 0-14.616 5.056 47.28 47.28 0 0 0 4.719-19.615Z"
|
||||
style="fill:#2d67b9"
|
||||
transform="translate(-2.511 12.577)"
|
||||
id="path6" />
|
||||
<path
|
||||
d="m152.591 65.891.415.004.414.007.413.009.413.012.412.014.411.017.411.019.41.023.409.024.409.027.407.03.408.033.406.034.406.038.405.04.404.042.404.045.403.047.402.05.401.053.401.054.399.058.399.059.398.063.398.064.396.067.396.07.395.072.394.074.393.077.392.079.392.081.39.084.39.086.389.089.388.091.387.093.386.096.385.098.384.1.384.102.382.105.381.107.381.11.379.112.379.114.378.116.376.118.376.121.374.123.374.125.372.128.372.129.37.132.37.134.368.137.367.138.366.141.366.142.364.145.363.148.361.149.361.151.36.154.358.155.358.158.356.16.355.162.354.164.353.166.351.168.351.171.349.172.348.174.347.177.345.178.345.181.343.182.342.185.341.186.339.189.338.19.337.193.336.194.334.196.333.199.332.2.33.202.33.205.327.206.327.208.325.21.324.211.322.214.321.216.32.217.319.22.316.221.316.223.314.225.313.226.311.229.31.23.309.233.307.234.305.235.304.238.303.239.301.242.3.242.298.245.297.247.295.248.294.25.292.251.291.254.289.255.287.256.286.259.285.26.283.262.281.263.28.265.278.267.277.269.275.27.273.271.272.274.27.275.268.276.267.278.265.28.264.281.261.283.261.285.258.286.257.287.255.29.253.29.252.292.25.294.248.295.246.297.245.298.243.3.241.301.239.303.238.304.236.306.234.307.232.308.23.31.229.311.227.313.224.314.224.316.221.317.219.318.218.32.215.321.214.322.212.324.21.325.208.327.206.328.204.329.202.33.2.332.199.333.196.335.195.335.192.337.191.338.188.34.187.34.184.342.183.343.18.345.179.346.176.346.174.348.173.35.17.35.168.352.166.352.164.354.162.355.16.357.158.357.156.359.153.359.152.361.149.362.147.363.145.364.143.365.14.366.139.367.136.369.134.369.132.371.13.371.127.373.125.373.123.375.121.375.119.377.116.377.114.379.112.379.109.381.107.381.105.383.103.383.1.384.098.385.095.387.094.387.09.387.089.389.086.39.084.391.082.391.079.392.076.393.075.395.072.394.069.396.067.397.065.397.062.398.06.399.057.4.055.4.052.402.05.402.047.402.045.404.043.404.04.405.037.406.035.407.032.407.03.408.027.408.025.41.022.41.019.41.017.412.015.412.012.412.009.414.006.414.004.414.002.415-.001.404-.004.4.223.037.223.038.222.04.222.041.221.042.221.043.22.044.22.045.22.047.219.048.218.049.219.05.217.051.218.052.216.054.217.055.216.055.215.057.215.059.214.059.214.06.214.062.213.062.212.064.212.065.212.066.211.067.21.068.21.069.21.07.208.072.209.072.208.074.207.074.207.076.206.077.206.078.205.079.204.08.205.081.203.082.203.083.202.084.202.085.402.174.2.088.2.09.199.09.198.091.198.093.197.093.392.19.196.097.194.097.388.198.193.101.192.101.192.103.191.103.38.21.189.106.376.216.187.109.187.11.37.224.185.113.184.114.183.115.364.232.181.118.36.238.179.121.178.121.178.123.177.123.176.124.176.125.174.126.174.127.174.128.172.128.172.13.171.13.171.131.338.266.168.133.168.135.332.272.165.137.328.278.163.139.162.141.161.142.16.142.16.143.159.144.158.145.157.145.157.147.155.147.155.148.154.149.306.3.151.151.151.153.15.152.149.154.148.154.147.155.147.156.146.157.288.316.143.159.143.16.141.16.14.161.14.162.139.163.138.163.137.165.136.165.135.165.268.334.132.167.132.169.13.169.13.17.129.171.128.171.127.172.126.173.125.173.124.174.123.175.123.176.121.176.24.354.118.178.118.179.116.179.116.18.115.181.226.364.112.182.22.368.109.184.108.185.106.186.106.187.105.187.103.187.103.189.102.189.1.189.1.19.099.191.097.191.097.192.095.192.095.193.093.194.092.194.092.195.09.195.089.196.088.196.087.197.086.198.085.198.084.198.082.2.082.199.081.201.079.2.078.202.078.201.076.203.075.203.074.203.073.204.071.204.071.205.069.205.069.206.067.207.066.207.065.207.126.416.122.418.059.21.058.21.057.211.11.422.053.212.052.213.051.213.05.213.096.428.046.215.045.215.044.215.084.432.04.217.039.217.074.436.035.218.034.219.033.219.062.44.029.22.027.22.027.222.025.221.024.222.023.222.021.222.02.223.019.223.018.224.016.224.015.224.014.225.013.225.011.225.01.225.008.226.008.227.006.226.004.227.003.227.002.228.001.227-.001.254-.002.254-.004.253-.006.253-.007.252-.009.252-.011.252-.012.251-.014.251-.016.25-.017.25-.018.249-.021.249-.022.249-.023.248-.025.248-.027.247-.028.247-.03.246-.031.246-.033.246-.034.244-.036.245-.038.244-.039.243-.04.243-.042.243-.044.242-.045.241-.046.241-.049.241-.049.24-.051.239-.053.239-.054.238-.055.238-.057.237-.059.237-.06.236-.061.236-.063.235-.065.234-.065.234-.068.233-.068.233-.07.232-.072.231-.073.231-.074.231-.076.229-.077.229-.078.229-.08.228-.082.227-.082.226-.085.226-.085.226-.087.224-.088.224-.09.223-.091.223-.092.222-.093.221-.095.221-.097.22-.097.219-.099.219-.101.218-.101.217-.103.216-.104.216-.106.215-.107.214-.108.214-.109.213-.111.212-.112.211-.113.211-.114.21-.116.209-.117.208-.118.208-.12.207-.12.206-.122.205-.124.204-.124.204-.126.203-.127.202-.128.201-.129.201-.13.199-.132.199-.133.198-.134.198-.135.196-.137.195-.137.195-.139.194-.14.193-.141.192-.142.191-.144.191-.144.189-.146.189-.146.188-.148.187-.149.186-.151.185-.151.184-.152.183-.154.183-.154.181-.156.181-.157.179-.157.179-.159.178-.16.177-.161.175-.162.175-.164.174-.164.173-.165.172-.166.171-.168.171-.168.169-.17.168-.17.167-.171.166-.173.165-.173.165-.175.163-.175.162-.177.161-.177.Line truncated
|
||||
style="fill:#2d67b9"
|
||||
transform="translate(-2.511 12.577)"
|
||||
id="path8" />
|
||||
<g
|
||||
id="g14">
|
||||
<path
|
||||
d="M94.657 208.957h-1.486v-.027c-21.178-.783-38.132-18.223-38.132-39.592 0-19.576 14.229-35.855 32.9-39.05v-.161c0-35.453 28.783-64.237 64.237-64.237 35.454 0 64.238 28.784 64.238 64.237 0 .271-.002.538-.005.804 19.045 3.122 33.574 19.29 33.574 38.74 0 21.683-18.054 39.286-40.293 39.286H94.657Zm105.717-77.514.019-.004c.011-.436.017-.873.017-1.312 0-26.621-21.613-48.234-48.234-48.234-4.677 0-9.199.667-13.476 1.911-20.932 5.493-36.369 24.279-36.369 46.582a47.305 47.305 0 0 0 3.775 18.568 23.546 23.546 0 0 0-11.449-2.952c-13.063 0-23.669 10.606-23.669 23.669 0 13.064 10.606 23.67 23.669 23.67h115.614c13.064 0 23.67-10.606 23.67-23.67 0-13.063-10.606-23.669-23.67-23.669a23.56 23.56 0 0 0-14.616 5.056 47.28 47.28 0 0 0 4.719-19.615Z"
|
||||
style="fill:#2d67b9"
|
||||
transform="matrix(-1 0 0 1 302.511 12.577)"
|
||||
id="path10" />
|
||||
<path
|
||||
d="m151.761 65.891-.415.004-.414.007-.413.009-.413.012-.412.014-.411.017-.411.019-.41.023-.409.024-.408.027-.408.03-.408.033-.406.034-.406.038-.405.04-.404.042-.404.045-.403.047-.402.05-.401.053-.401.054-.399.058-.399.059-.398.063-.398.064-.396.067-.396.07-.395.072-.394.074-.393.077-.392.079-.392.081-.39.084-.39.086-.389.089-.388.091-.387.093-.386.096-.385.098-.384.1-.384.102-.382.105-.381.107-.381.11-.379.112-.379.114-.377.116-.377.118-.376.121-.374.123-.374.125-.372.128-.372.129-.37.132-.369.134-.369.137-.367.138-.366.141-.365.142-.365.145-.362.148-.362.149-.361.151-.36.154-.358.155-.358.158-.356.16-.355.162-.354.164-.353.166-.351.168-.351.171-.349.172-.348.174-.347.177-.345.178-.345.181-.343.182-.342.185-.341.186-.339.189-.338.19-.337.193-.336.194-.334.196-.333.199-.332.2-.33.202-.33.205-.327.206-.327.208-.325.21-.324.211-.322.214-.321.216-.32.217-.318.22-.317.221-.316.223-.314.225-.313.226-.311.229-.31.23-.309.233-.307.234-.305.235-.304.238-.303.239-.301.242-.3.242-.298.245-.297.247-.295.248-.294.25-.292.251-.291.254-.289.255-.287.256-.286.259-.285.26-.283.262-.281.263-.28.265-.278.267-.277.269-.275.27-.273.271-.272.274-.27.275-.268.276-.267.278-.265.28-.263.281-.262.283-.26.285-.259.286-.257.287-.255.29-.253.29-.252.292-.25.294-.248.295-.246.297-.245.298-.243.3-.241.301-.239.303-.238.304-.236.306-.234.307-.232.308-.23.31-.229.311-.226.313-.225.314-.223.316-.222.317-.219.318-.217.32-.216.321-.214.322-.212.324-.21.325-.208.327-.206.328-.204.329-.202.33-.2.332-.199.333-.196.335-.195.335-.192.337-.191.338-.188.34-.187.34-.184.342-.183.343-.18.345-.179.346-.176.346-.174.348-.173.35-.17.35-.168.352-.166.352-.164.354-.162.355-.16.357-.158.357-.156.359-.153.359-.151.361-.15.362-.147.363-.145.364-.143.365-.14.366-.139.367-.136.369-.134.369-.132.371-.13.371-.127.373-.125.373-.123.375-.121.375-.118.377-.117.377-.114.379-.111.379-.11.381-.107.381-.105.383-.102.383-.101.384-.098.385-.095.387-.093.387-.091.387-.089.389-.086.39-.084.391-.081.391-.08.392-.076.393-.075.395-.071.394-.07.396-.067.397-.065.397-.062.398-.06.399-.057.4-.055.4-.052.402-.05.402-.047.402-.045.404-.043.404-.039.405-.038.406-.035.407-.032.407-.03.408-.027.408-.025.41-.022.41-.019.41-.017.412-.015.412-.011.412-.01.414-.006.414-.004.414-.001.415v.161l-.219.039-.218.039-.218.04-.217.042-.217.043-.217.044-.216.045-.216.046-.215.048-.215.048-.214.05-.214.051-.213.052-.213.053-.213.055-.212.055-.211.057-.212.058-.21.059-.21.06-.21.061-.209.063-.209.063-.208.065-.208.066-.208.067-.206.068-.207.069-.205.07-.206.071-.204.072-.205.074-.203.074-.204.076-.202.077-.202.077-.202.079-.201.08-.201.081-.2.082-.199.083-.199.084-.198.085-.198.087-.197.087-.197.088-.196.09-.196.09-.195.091-.194.093-.194.093-.193.095-.193.095-.192.097-.191.097-.191.099-.19.1-.19.1-.189.102-.188.102-.188.104-.187.104-.187.106-.186.106-.185.107-.185.109-.184.109-.183.111-.183.111-.182.112-.181.113-.181.114-.18.115-.18.116-.178.117-.179.118-.177.119-.177.12-.176.121-.175.121-.175.123-.174.123-.173.125-.173.125-.172.126-.171.127-.171.128-.17.129-.169.13-.168.13-.168.132-.167.132-.166.133-.165.135-.165.135-.164.135-.163.137-.163.138-.162.138-.161.14-.16.14-.159.141-.159.142-.158.142-.157.144-.157.144-.155.145-.155.146-.154.147-.154.148-.152.148-.152.149-.151.15-.15.151-.149.152-.148.152-.148.154-.147.154-.146.154-.145.156-.145.156-.143.158-.143.157-.142.159-.141.16-.14.16-.139.161-.139.162-.138.162-.136.163-.136.164-.135.165-.134.165-.134.166-.132.167-.132.168-.13.168-.13.169-.129.17-.128.171-.127.171-.127.172-.125.172-.124.174-.124.174-.122.174-.122.176-.121.176-.12.177-.118.177-.118.178-.117.179-.116.179-.116.18-.114.181-.113.181-.112.182-.112.183-.11.183-.109.184-.109.185-.107.185-.107.186-.105.187-.105.187-.104.188-.102.188-.102.189-.1.19-.1.19-.098.191-.098.191-.097.192-.095.193-.095.193-.093.194-.093.194-.091.195-.091.195-.089.196-.088.197-.088.197-.086.198-.085.198-.085.199-.083.2-.082.2-.081.2-.08.201-.079.202-.077.202-.077.203-.076.203-.074.203-.074.205-.072.204-.072.206-.07.205-.069.207-.068.206-.067.208-.066.207-.064.209-.064.208-.062.21-.062.209-.06.211-.059.21-.058.211-.057.212-.055.212-.055.212-.053.213-.052.214-.051.214-.05.214-.049.215-.048.215-.046.216-.045.216-.044.216-.043.217-.042.217-.04.218-.04.218-.038.219-.037.219-.035.219-.035.22-.033.22-.032.221-.031.221-.03.221-.028.222-.027.222-.026.222-.025.223-.024.223-.022.224-.021.224-.02.224-.018.225-.017.225-.016.225-.015.226-.014.226-.012.226-.011.227-.009.227-.009.228-.007.227-.006.228-.004.229-.004.228-.002.229v.229l.001.251.002.25.004.249.005.249.007.249.009.248.01.248.011.248.013.247.015.247.016.246.017.246.019.246.021.245.022.245.023.244.025.244.027.243.028.243.029.243.031.242.032.241.034.242.035.24.037.241.038.239.04.24.041.238.042.239.044.238.045.237.047.237.048.236.049.236.051.235.052.235.054.234.055.234.056.233.058.233.059.232.122.462.064.231.064.23.066.229.067.229.069.228.07.228.071.227.073.226.074.226.075.225.076.225.078.224.079.223.081.223.082.222.083.222.084.221.085.22.087.22.088.219.18.436.092.217.093.Line truncated
|
||||
style="fill:#2d67b9"
|
||||
transform="matrix(-1 0 0 1 302.511 12.577)"
|
||||
id="path12" />
|
||||
</g>
|
||||
</g>
|
||||
<path
|
||||
d="m 114.30977,144.2723 h 50.31577 L 154.3183,133.29689 h 16.00038 l 16.01264,17.05067 -16.01264,17.04991 h -15.98379 l 10.44067,-11.1175 h -50.46579 z"
|
||||
style="clip-rule:evenodd;fill:#2d67b9;fill-rule:evenodd;stroke-width:0.744302;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
id="path8-7" /><path
|
||||
d="M 186.44817,172.91513 H 136.1324 l 10.30725,-10.97541 h -16.00039 l -16.01264,17.05067 16.01264,17.04991 h 15.98379 l -10.44067,-11.1175 h 50.46579 z"
|
||||
style="clip-rule:evenodd;fill:#2d67b9;fill-rule:evenodd;stroke-width:0.744302;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
id="path10-5" /></svg>
|
||||
|
After Width: | Height: | Size: 78 KiB |
@@ -0,0 +1,58 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="60"
|
||||
height="60"
|
||||
viewBox="0 0 300 300"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
version="1.1"
|
||||
id="svg18"
|
||||
sodipodi:docname="nat.svg"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
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="defs22" /><sodipodi:namedview
|
||||
id="namedview20"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.983333"
|
||||
inkscape:cx="29.958276"
|
||||
inkscape:cy="30.000001"
|
||||
inkscape:window-width="1658"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg18" />
|
||||
<path
|
||||
d="M300 30.271C300 13.564 286.436 0 269.729 0H30.271C13.564 0 0 13.564 0 30.271v239.458C0 286.436 13.564 300 30.271 300h239.458C286.436 300 300 286.436 300 269.729V30.271Z"
|
||||
style="fill:#fffefe"
|
||||
id="path2" /><path
|
||||
d="m 126.0992,224.81393 c 36.94958,-46.13888 33.95227,-117.5859 -6.72068,-159.539672 l -0.0404,-0.0415 a 8.4262645,9.5474485 0 0 1 -0.51796,-13.437497 c 3.1284,-3.89368 8.4597,-4.177124 11.89613,-0.632472 47.587,49.085571 51.05025,132.713411 7.72895,186.632281 -3.1284,3.89367 -8.45969,4.17712 -11.89613,0.63246 a 8.4262645,9.5474485 0 0 1 -0.5582,-13.47898 z"
|
||||
style="clip-rule:evenodd;fill:#4d4d4d;fill-rule:evenodd;stroke-width:1.37905;stroke-linejoin:round;stroke-miterlimit:2;fill-opacity:1"
|
||||
id="path8" />
|
||||
<path
|
||||
d="m269.925.001.195.001.39.008.195.005.194.007.194.008.193.009.386.022.193.013.192.014.192.016.191.016.192.018.191.018.19.02.38.044.19.023.189.025.188.026.189.027.188.028.187.029.188.031.186.031.187.033.186.034.186.035.185.036.185.037.368.078.184.041.183.042.183.043.182.043.364.092.181.047.18.048.181.05.179.05.18.052.179.052.178.054.178.055.177.056.177.057.177.058.176.059.175.06.175.061.175.062.174.063.174.064.173.066.172.066.172.067.172.068.171.07.17.07.17.071.17.073.169.073.168.074.168.076.167.076.167.077.332.158.165.08.165.081.164.083.163.083.163.084.162.085.162.086.161.087.161.088.16.088.159.09.159.091.316.184.157.094.156.094.156.095.155.096.308.196.306.198.152.101.302.204.15.104.149.104.149.105.148.106.294.214.146.109.145.109.145.111.144.111.143.112.143.113.142.113.282.23.139.116.14.117.276.236.137.12.136.12.135.121.135.122.134.122.134.124.132.124.132.125.131.125.26.254.129.128.128.129.254.26.125.131.125.132.124.132.124.134.122.134.122.135.121.135.12.136.12.137.236.276.117.14.116.139.23.282.113.142.113.143.112.143.111.144.111.145.109.145.109.146.214.294.106.148.105.149.104.149.104.15.204.302.101.152.198.306.196.308.096.155.095.156.094.156.094.157.184.316.091.159.09.159.088.16.088.161.087.161.086.162.085.162.084.163.083.163.083.164.081.165.08.165.158.332.077.167.076.167.076.168.074.168.073.169.073.17.071.17.07.17.07.171.068.172.067.172.066.172.066.173.064.174.063.174.062.175.061.175.06.175.059.176.058.177.057.177.056.177.055.178.054.178.052.179.052.18.05.179.05.181.048.18.047.181.092.364.043.182.043.183.042.183.041.184.078.368.037.185.036.185.035.186.034.186.033.187.031.186.031.188.029.187.028.188.027.189.026.188.025.189.023.19.044.38.02.19.018.191.018.192.016.191.016.192.014.192.013.193.022.386.009.193.008.194.007.194.005.195.008.39.002.391v239.458l-.001.196-.001.195-.004.195-.004.195-.005.195-.007.194-.008.194-.009.193-.011.193-.011.193-.013.193-.014.192-.016.192-.016.191-.018.192-.018.191-.02.19-.022.19-.022.19-.023.19-.025.189-.026.188-.027.189-.028.188-.029.187-.031.188-.031.186-.033.187-.034.186-.035.186-.036.185-.037.185-.039.184-.039.184-.041.184-.042.183-.043.183-.043.182-.046.182-.046.182-.047.181-.048.18-.05.181-.05.179-.052.18-.052.179-.054.178-.055.178-.056.177-.057.177-.058.177-.059.176-.06.175-.061.175-.062.175-.063.174-.064.174-.066.173-.066.172-.067.172-.068.172-.07.171-.07.17-.071.17-.073.17-.073.169-.074.168-.076.168-.076.167-.077.167-.079.166-.079.166-.08.165-.081.165-.083.164-.083.163-.084.163-.085.162-.086.162-.087.161-.088.161-.088.16-.09.159-.091.159-.092.158-.092.158-.094.157-.094.156-.095.156-.096.155-.098.154-.098.154-.099.153-.099.153-.101.152-.102.151-.102.151-.104.15-.104.149-.105.149-.106.148-.107.147-.107.147-.109.146-.109.145-.111.145-.111.144-.112.143-.113.143-.113.142-.115.141-.115.141-.116.139-.117.14-.118.138-.118.138-.12.137-.12.136-.121.135-.122.135-.122.134-.124.134-.124.132-.125.132-.125.131-.127.13-.127.13-.128.129-.129.128-.13.127-.13.127-.131.125-.132.125-.132.124-.134.124-.134.122-.135.122-.135.121-.136.12-.137.12-.138.118-.138.118-.14.117-.139.116-.141.115-.141.115-.142.113-.143.113-.143.112-.144.111-.145.111-.145.109-.146.109-.147.107-.147.107-.148.106-.149.105-.149.104-.15.104-.151.102-.151.102-.152.101-.153.099-.153.099-.154.098-.154.098-.155.096-.156.095-.156.094-.157.094-.158.092-.158.092-.159.091-.159.09-.16.088-.161.088-.161.087-.162.086-.162.085-.163.084-.163.083-.164.083-.165.081-.165.08-.166.079-.166.079-.167.077-.167.076-.168.076-.168.074-.169.073-.17.073-.17.071-.17.07-.171.07-.172.068-.172.067-.172.066-.173.066-.174.064-.174.063-.175.062-.175.061-.175.06-.176.059-.177.058-.177.057-.177.056-.178.055-.178.054-.179.052-.18.052-.179.05-.181.05-.18.048-.181.047-.182.046-.182.046-.182.043-.183.043-.183.042-.184.041-.184.039-.184.039-.185.037-.185.036-.186.035-.186.034-.187.033-.186.031-.188.031-.187.029-.188.028-.189.027-.188.026-.189.025-.19.023-.19.022-.19.022-.19.02-.191.018-.192.018-.191.016-.192.016-.192.014-.193.013-.193.011-.193.011-.193.009-.194.008-.194.007-.195.005-.195.004-.195.004-.195.001-.196.001H30.271l-.196-.001-.195-.001-.195-.004-.195-.004-.195-.005-.194-.007-.194-.008-.193-.009-.193-.011-.193-.011-.193-.013-.192-.014-.192-.016-.191-.016-.192-.018-.191-.018-.19-.02-.19-.022-.19-.022-.19-.023-.189-.025-.188-.026-.189-.027-.188-.028-.187-.029-.188-.031-.186-.031-.187-.033-.186-.034-.186-.035-.185-.036-.185-.037-.184-.039-.184-.039-.184-.041-.183-.042-.183-.043-.182-.043-.182-.046-.182-.046-.181-.047-.18-.048-.181-.05-.179-.05-.18-.052-.179-.052-.178-.054-.178-.055-.177-.056-.177-.057-.177-.058-.176-.059-.175-.06-.175-.061-.175-.062-.174-.063-.174-.064-.173-.066-.172-.066-.172-.067-.172-.068-.171-.07-.17-.07-.17-.071-.17-.073-.169-.073-.168-.074-.168-.076-.167-.076-.167-.077-.166-.079-.166-.079-.165-.08-.165-.081-.164-.083-.163-.083-.163-.084-.162-.085-.162-.086-.161-.087-.161-.088-.16-.088-.159-.09-.159-.091-.158-.092-.158-.092-.157-.094-.156-.094-.156-.095-.155-.096-.154-.098-.154-.098-.153-.099-.153-.099-.152-.101-.151-.102-.151-Line truncated
|
||||
style="fill:#4d4d4d;fill-opacity:1"
|
||||
id="path4" />
|
||||
|
||||
<path
|
||||
d="M 56.204265,104.13685 H 105.92542 L 95.739989,95.27996 h 15.811291 l 15.82341,13.75947 -15.82341,13.75883 H 95.756379 l 10.317291,-8.97155 H 56.204265 Z"
|
||||
style="clip-rule:evenodd;fill:#4d4d4d;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3" /><path
|
||||
d="m 56.204269,144.13685 h 49.721151 l -10.185427,-8.85689 h 15.811287 l 15.82341,13.75947 -15.82341,13.75883 H 95.756383 l 10.317287,-8.97155 H 56.204269 Z"
|
||||
style="clip-rule:evenodd;fill:#4d4d4d;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5" /><path
|
||||
d="m 186.20427,144.13685 h 49.72115 L 225.74,135.27996 h 15.81128 l 15.82341,13.75947 -15.82341,13.75883 h -15.79489 l 10.31728,-8.97155 h -49.8694 z"
|
||||
style="clip-rule:evenodd;fill:#4d4d4d;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5-2" /><path
|
||||
d="m 56.204269,184.13685 h 49.721151 l -10.185427,-8.85689 h 15.811287 l 15.82341,13.75947 -15.82341,13.75883 H 95.756383 l 10.317287,-8.97155 H 56.204269 Z"
|
||||
style="clip-rule:evenodd;fill:#4d4d4d;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5-6" /></svg>
|
||||
|
After Width: | Height: | Size: 20 KiB |
@@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="60"
|
||||
height="60"
|
||||
viewBox="0 0 300 300"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
version="1.1"
|
||||
id="svg18"
|
||||
sodipodi:docname="nat2.svg"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
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="defs22" /><sodipodi:namedview
|
||||
id="namedview20"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.983333"
|
||||
inkscape:cx="29.958276"
|
||||
inkscape:cy="30.000001"
|
||||
inkscape:window-width="1658"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg18" />
|
||||
<path
|
||||
d="M300 30.271C300 13.564 286.436 0 269.729 0H30.271C13.564 0 0 13.564 0 30.271v239.458C0 286.436 13.564 300 30.271 300h239.458C286.436 300 300 286.436 300 269.729V30.271Z"
|
||||
style="fill:#fffefe"
|
||||
id="path2" />
|
||||
<path
|
||||
d="m269.925.001.195.001.39.008.195.005.194.007.194.008.193.009.386.022.193.013.192.014.192.016.191.016.192.018.191.018.19.02.38.044.19.023.189.025.188.026.189.027.188.028.187.029.188.031.186.031.187.033.186.034.186.035.185.036.185.037.368.078.184.041.183.042.183.043.182.043.364.092.181.047.18.048.181.05.179.05.18.052.179.052.178.054.178.055.177.056.177.057.177.058.176.059.175.06.175.061.175.062.174.063.174.064.173.066.172.066.172.067.172.068.171.07.17.07.17.071.17.073.169.073.168.074.168.076.167.076.167.077.332.158.165.08.165.081.164.083.163.083.163.084.162.085.162.086.161.087.161.088.16.088.159.09.159.091.316.184.157.094.156.094.156.095.155.096.308.196.306.198.152.101.302.204.15.104.149.104.149.105.148.106.294.214.146.109.145.109.145.111.144.111.143.112.143.113.142.113.282.23.139.116.14.117.276.236.137.12.136.12.135.121.135.122.134.122.134.124.132.124.132.125.131.125.26.254.129.128.128.129.254.26.125.131.125.132.124.132.124.134.122.134.122.135.121.135.12.136.12.137.236.276.117.14.116.139.23.282.113.142.113.143.112.143.111.144.111.145.109.145.109.146.214.294.106.148.105.149.104.149.104.15.204.302.101.152.198.306.196.308.096.155.095.156.094.156.094.157.184.316.091.159.09.159.088.16.088.161.087.161.086.162.085.162.084.163.083.163.083.164.081.165.08.165.158.332.077.167.076.167.076.168.074.168.073.169.073.17.071.17.07.17.07.171.068.172.067.172.066.172.066.173.064.174.063.174.062.175.061.175.06.175.059.176.058.177.057.177.056.177.055.178.054.178.052.179.052.18.05.179.05.181.048.18.047.181.092.364.043.182.043.183.042.183.041.184.078.368.037.185.036.185.035.186.034.186.033.187.031.186.031.188.029.187.028.188.027.189.026.188.025.189.023.19.044.38.02.19.018.191.018.192.016.191.016.192.014.192.013.193.022.386.009.193.008.194.007.194.005.195.008.39.002.391v239.458l-.001.196-.001.195-.004.195-.004.195-.005.195-.007.194-.008.194-.009.193-.011.193-.011.193-.013.193-.014.192-.016.192-.016.191-.018.192-.018.191-.02.19-.022.19-.022.19-.023.19-.025.189-.026.188-.027.189-.028.188-.029.187-.031.188-.031.186-.033.187-.034.186-.035.186-.036.185-.037.185-.039.184-.039.184-.041.184-.042.183-.043.183-.043.182-.046.182-.046.182-.047.181-.048.18-.05.181-.05.179-.052.18-.052.179-.054.178-.055.178-.056.177-.057.177-.058.177-.059.176-.06.175-.061.175-.062.175-.063.174-.064.174-.066.173-.066.172-.067.172-.068.172-.07.171-.07.17-.071.17-.073.17-.073.169-.074.168-.076.168-.076.167-.077.167-.079.166-.079.166-.08.165-.081.165-.083.164-.083.163-.084.163-.085.162-.086.162-.087.161-.088.161-.088.16-.09.159-.091.159-.092.158-.092.158-.094.157-.094.156-.095.156-.096.155-.098.154-.098.154-.099.153-.099.153-.101.152-.102.151-.102.151-.104.15-.104.149-.105.149-.106.148-.107.147-.107.147-.109.146-.109.145-.111.145-.111.144-.112.143-.113.143-.113.142-.115.141-.115.141-.116.139-.117.14-.118.138-.118.138-.12.137-.12.136-.121.135-.122.135-.122.134-.124.134-.124.132-.125.132-.125.131-.127.13-.127.13-.128.129-.129.128-.13.127-.13.127-.131.125-.132.125-.132.124-.134.124-.134.122-.135.122-.135.121-.136.12-.137.12-.138.118-.138.118-.14.117-.139.116-.141.115-.141.115-.142.113-.143.113-.143.112-.144.111-.145.111-.145.109-.146.109-.147.107-.147.107-.148.106-.149.105-.149.104-.15.104-.151.102-.151.102-.152.101-.153.099-.153.099-.154.098-.154.098-.155.096-.156.095-.156.094-.157.094-.158.092-.158.092-.159.091-.159.09-.16.088-.161.088-.161.087-.162.086-.162.085-.163.084-.163.083-.164.083-.165.081-.165.08-.166.079-.166.079-.167.077-.167.076-.168.076-.168.074-.169.073-.17.073-.17.071-.17.07-.171.07-.172.068-.172.067-.172.066-.173.066-.174.064-.174.063-.175.062-.175.061-.175.06-.176.059-.177.058-.177.057-.177.056-.178.055-.178.054-.179.052-.18.052-.179.05-.181.05-.18.048-.181.047-.182.046-.182.046-.182.043-.183.043-.183.042-.184.041-.184.039-.184.039-.185.037-.185.036-.186.035-.186.034-.187.033-.186.031-.188.031-.187.029-.188.028-.189.027-.188.026-.189.025-.19.023-.19.022-.19.022-.19.02-.191.018-.192.018-.191.016-.192.016-.192.014-.193.013-.193.011-.193.011-.193.009-.194.008-.194.007-.195.005-.195.004-.195.004-.195.001-.196.001H30.271l-.196-.001-.195-.001-.195-.004-.195-.004-.195-.005-.194-.007-.194-.008-.193-.009-.193-.011-.193-.011-.193-.013-.192-.014-.192-.016-.191-.016-.192-.018-.191-.018-.19-.02-.19-.022-.19-.022-.19-.023-.189-.025-.188-.026-.189-.027-.188-.028-.187-.029-.188-.031-.186-.031-.187-.033-.186-.034-.186-.035-.185-.036-.185-.037-.184-.039-.184-.039-.184-.041-.183-.042-.183-.043-.182-.043-.182-.046-.182-.046-.181-.047-.18-.048-.181-.05-.179-.05-.18-.052-.179-.052-.178-.054-.178-.055-.177-.056-.177-.057-.177-.058-.176-.059-.175-.06-.175-.061-.175-.062-.174-.063-.174-.064-.173-.066-.172-.066-.172-.067-.172-.068-.171-.07-.17-.07-.17-.071-.17-.073-.169-.073-.168-.074-.168-.076-.167-.076-.167-.077-.166-.079-.166-.079-.165-.08-.165-.081-.164-.083-.163-.083-.163-.084-.162-.085-.162-.086-.161-.087-.161-.088-.16-.088-.159-.09-.159-.091-.158-.092-.158-.092-.157-.094-.156-.094-.156-.095-.155-.096-.154-.098-.154-.098-.153-.099-.153-.099-.152-.101-.151-.102-.151-Line truncated
|
||||
style="fill:#4d4d4d;fill-opacity:1"
|
||||
id="path4" />
|
||||
<g
|
||||
id="g16">
|
||||
<path
|
||||
d="M94.657 208.957h-1.486v-.027c-21.178-.783-38.132-18.223-38.132-39.592 0-19.576 14.229-35.855 32.9-39.05v-.161c0-35.453 28.783-64.237 64.237-64.237 35.454 0 64.238 28.784 64.238 64.237 0 .271-.002.538-.005.804 19.045 3.122 33.574 19.29 33.574 38.74 0 21.683-18.054 39.286-40.293 39.286H94.657Zm105.717-77.514.019-.004c.011-.436.017-.873.017-1.312 0-26.621-21.613-48.234-48.234-48.234-4.677 0-9.199.667-13.476 1.911-20.932 5.493-36.369 24.279-36.369 46.582a47.305 47.305 0 0 0 3.775 18.568 23.546 23.546 0 0 0-11.449-2.952c-13.063 0-23.669 10.606-23.669 23.669 0 13.064 10.606 23.67 23.669 23.67h115.614c13.064 0 23.67-10.606 23.67-23.67 0-13.063-10.606-23.669-23.67-23.669a23.56 23.56 0 0 0-14.616 5.056 47.28 47.28 0 0 0 4.719-19.615Z"
|
||||
style="fill:#2d67b9"
|
||||
transform="translate(-2.511 12.577)"
|
||||
id="path6" />
|
||||
<path
|
||||
d="m152.591 65.891.415.004.414.007.413.009.413.012.412.014.411.017.411.019.41.023.409.024.409.027.407.03.408.033.406.034.406.038.405.04.404.042.404.045.403.047.402.05.401.053.401.054.399.058.399.059.398.063.398.064.396.067.396.07.395.072.394.074.393.077.392.079.392.081.39.084.39.086.389.089.388.091.387.093.386.096.385.098.384.1.384.102.382.105.381.107.381.11.379.112.379.114.378.116.376.118.376.121.374.123.374.125.372.128.372.129.37.132.37.134.368.137.367.138.366.141.366.142.364.145.363.148.361.149.361.151.36.154.358.155.358.158.356.16.355.162.354.164.353.166.351.168.351.171.349.172.348.174.347.177.345.178.345.181.343.182.342.185.341.186.339.189.338.19.337.193.336.194.334.196.333.199.332.2.33.202.33.205.327.206.327.208.325.21.324.211.322.214.321.216.32.217.319.22.316.221.316.223.314.225.313.226.311.229.31.23.309.233.307.234.305.235.304.238.303.239.301.242.3.242.298.245.297.247.295.248.294.25.292.251.291.254.289.255.287.256.286.259.285.26.283.262.281.263.28.265.278.267.277.269.275.27.273.271.272.274.27.275.268.276.267.278.265.28.264.281.261.283.261.285.258.286.257.287.255.29.253.29.252.292.25.294.248.295.246.297.245.298.243.3.241.301.239.303.238.304.236.306.234.307.232.308.23.31.229.311.227.313.224.314.224.316.221.317.219.318.218.32.215.321.214.322.212.324.21.325.208.327.206.328.204.329.202.33.2.332.199.333.196.335.195.335.192.337.191.338.188.34.187.34.184.342.183.343.18.345.179.346.176.346.174.348.173.35.17.35.168.352.166.352.164.354.162.355.16.357.158.357.156.359.153.359.152.361.149.362.147.363.145.364.143.365.14.366.139.367.136.369.134.369.132.371.13.371.127.373.125.373.123.375.121.375.119.377.116.377.114.379.112.379.109.381.107.381.105.383.103.383.1.384.098.385.095.387.094.387.09.387.089.389.086.39.084.391.082.391.079.392.076.393.075.395.072.394.069.396.067.397.065.397.062.398.06.399.057.4.055.4.052.402.05.402.047.402.045.404.043.404.04.405.037.406.035.407.032.407.03.408.027.408.025.41.022.41.019.41.017.412.015.412.012.412.009.414.006.414.004.414.002.415-.001.404-.004.4.223.037.223.038.222.04.222.041.221.042.221.043.22.044.22.045.22.047.219.048.218.049.219.05.217.051.218.052.216.054.217.055.216.055.215.057.215.059.214.059.214.06.214.062.213.062.212.064.212.065.212.066.211.067.21.068.21.069.21.07.208.072.209.072.208.074.207.074.207.076.206.077.206.078.205.079.204.08.205.081.203.082.203.083.202.084.202.085.402.174.2.088.2.09.199.09.198.091.198.093.197.093.392.19.196.097.194.097.388.198.193.101.192.101.192.103.191.103.38.21.189.106.376.216.187.109.187.11.37.224.185.113.184.114.183.115.364.232.181.118.36.238.179.121.178.121.178.123.177.123.176.124.176.125.174.126.174.127.174.128.172.128.172.13.171.13.171.131.338.266.168.133.168.135.332.272.165.137.328.278.163.139.162.141.161.142.16.142.16.143.159.144.158.145.157.145.157.147.155.147.155.148.154.149.306.3.151.151.151.153.15.152.149.154.148.154.147.155.147.156.146.157.288.316.143.159.143.16.141.16.14.161.14.162.139.163.138.163.137.165.136.165.135.165.268.334.132.167.132.169.13.169.13.17.129.171.128.171.127.172.126.173.125.173.124.174.123.175.123.176.121.176.24.354.118.178.118.179.116.179.116.18.115.181.226.364.112.182.22.368.109.184.108.185.106.186.106.187.105.187.103.187.103.189.102.189.1.189.1.19.099.191.097.191.097.192.095.192.095.193.093.194.092.194.092.195.09.195.089.196.088.196.087.197.086.198.085.198.084.198.082.2.082.199.081.201.079.2.078.202.078.201.076.203.075.203.074.203.073.204.071.204.071.205.069.205.069.206.067.207.066.207.065.207.126.416.122.418.059.21.058.21.057.211.11.422.053.212.052.213.051.213.05.213.096.428.046.215.045.215.044.215.084.432.04.217.039.217.074.436.035.218.034.219.033.219.062.44.029.22.027.22.027.222.025.221.024.222.023.222.021.222.02.223.019.223.018.224.016.224.015.224.014.225.013.225.011.225.01.225.008.226.008.227.006.226.004.227.003.227.002.228.001.227-.001.254-.002.254-.004.253-.006.253-.007.252-.009.252-.011.252-.012.251-.014.251-.016.25-.017.25-.018.249-.021.249-.022.249-.023.248-.025.248-.027.247-.028.247-.03.246-.031.246-.033.246-.034.244-.036.245-.038.244-.039.243-.04.243-.042.243-.044.242-.045.241-.046.241-.049.241-.049.24-.051.239-.053.239-.054.238-.055.238-.057.237-.059.237-.06.236-.061.236-.063.235-.065.234-.065.234-.068.233-.068.233-.07.232-.072.231-.073.231-.074.231-.076.229-.077.229-.078.229-.08.228-.082.227-.082.226-.085.226-.085.226-.087.224-.088.224-.09.223-.091.223-.092.222-.093.221-.095.221-.097.22-.097.219-.099.219-.101.218-.101.217-.103.216-.104.216-.106.215-.107.214-.108.214-.109.213-.111.212-.112.211-.113.211-.114.21-.116.209-.117.208-.118.208-.12.207-.12.206-.122.205-.124.204-.124.204-.126.203-.127.202-.128.201-.129.201-.13.199-.132.199-.133.198-.134.198-.135.196-.137.195-.137.195-.139.194-.14.193-.141.192-.142.191-.144.191-.144.189-.146.189-.146.188-.148.187-.149.186-.151.185-.151.184-.152.183-.154.183-.154.181-.156.181-.157.179-.157.179-.159.178-.16.177-.161.175-.162.175-.164.174-.164.173-.165.172-.166.171-.168.171-.168.169-.17.168-.17.167-.171.166-.173.165-.173.165-.175.163-.175.162-.177.161-.177.Line truncated
|
||||
style="fill:#4d4d4d;fill-opacity:1"
|
||||
transform="translate(-2.511 12.577)"
|
||||
id="path8" />
|
||||
<g
|
||||
id="g14">
|
||||
<path
|
||||
d="M94.657 208.957h-1.486v-.027c-21.178-.783-38.132-18.223-38.132-39.592 0-19.576 14.229-35.855 32.9-39.05v-.161c0-35.453 28.783-64.237 64.237-64.237 35.454 0 64.238 28.784 64.238 64.237 0 .271-.002.538-.005.804 19.045 3.122 33.574 19.29 33.574 38.74 0 21.683-18.054 39.286-40.293 39.286H94.657Zm105.717-77.514.019-.004c.011-.436.017-.873.017-1.312 0-26.621-21.613-48.234-48.234-48.234-4.677 0-9.199.667-13.476 1.911-20.932 5.493-36.369 24.279-36.369 46.582a47.305 47.305 0 0 0 3.775 18.568 23.546 23.546 0 0 0-11.449-2.952c-13.063 0-23.669 10.606-23.669 23.669 0 13.064 10.606 23.67 23.669 23.67h115.614c13.064 0 23.67-10.606 23.67-23.67 0-13.063-10.606-23.669-23.67-23.669a23.56 23.56 0 0 0-14.616 5.056 47.28 47.28 0 0 0 4.719-19.615Z"
|
||||
style="fill:#2d67b9"
|
||||
transform="matrix(-1 0 0 1 302.511 12.577)"
|
||||
id="path10" />
|
||||
<path
|
||||
d="m151.761 65.891-.415.004-.414.007-.413.009-.413.012-.412.014-.411.017-.411.019-.41.023-.409.024-.408.027-.408.03-.408.033-.406.034-.406.038-.405.04-.404.042-.404.045-.403.047-.402.05-.401.053-.401.054-.399.058-.399.059-.398.063-.398.064-.396.067-.396.07-.395.072-.394.074-.393.077-.392.079-.392.081-.39.084-.39.086-.389.089-.388.091-.387.093-.386.096-.385.098-.384.1-.384.102-.382.105-.381.107-.381.11-.379.112-.379.114-.377.116-.377.118-.376.121-.374.123-.374.125-.372.128-.372.129-.37.132-.369.134-.369.137-.367.138-.366.141-.365.142-.365.145-.362.148-.362.149-.361.151-.36.154-.358.155-.358.158-.356.16-.355.162-.354.164-.353.166-.351.168-.351.171-.349.172-.348.174-.347.177-.345.178-.345.181-.343.182-.342.185-.341.186-.339.189-.338.19-.337.193-.336.194-.334.196-.333.199-.332.2-.33.202-.33.205-.327.206-.327.208-.325.21-.324.211-.322.214-.321.216-.32.217-.318.22-.317.221-.316.223-.314.225-.313.226-.311.229-.31.23-.309.233-.307.234-.305.235-.304.238-.303.239-.301.242-.3.242-.298.245-.297.247-.295.248-.294.25-.292.251-.291.254-.289.255-.287.256-.286.259-.285.26-.283.262-.281.263-.28.265-.278.267-.277.269-.275.27-.273.271-.272.274-.27.275-.268.276-.267.278-.265.28-.263.281-.262.283-.26.285-.259.286-.257.287-.255.29-.253.29-.252.292-.25.294-.248.295-.246.297-.245.298-.243.3-.241.301-.239.303-.238.304-.236.306-.234.307-.232.308-.23.31-.229.311-.226.313-.225.314-.223.316-.222.317-.219.318-.217.32-.216.321-.214.322-.212.324-.21.325-.208.327-.206.328-.204.329-.202.33-.2.332-.199.333-.196.335-.195.335-.192.337-.191.338-.188.34-.187.34-.184.342-.183.343-.18.345-.179.346-.176.346-.174.348-.173.35-.17.35-.168.352-.166.352-.164.354-.162.355-.16.357-.158.357-.156.359-.153.359-.151.361-.15.362-.147.363-.145.364-.143.365-.14.366-.139.367-.136.369-.134.369-.132.371-.13.371-.127.373-.125.373-.123.375-.121.375-.118.377-.117.377-.114.379-.111.379-.11.381-.107.381-.105.383-.102.383-.101.384-.098.385-.095.387-.093.387-.091.387-.089.389-.086.39-.084.391-.081.391-.08.392-.076.393-.075.395-.071.394-.07.396-.067.397-.065.397-.062.398-.06.399-.057.4-.055.4-.052.402-.05.402-.047.402-.045.404-.043.404-.039.405-.038.406-.035.407-.032.407-.03.408-.027.408-.025.41-.022.41-.019.41-.017.412-.015.412-.011.412-.01.414-.006.414-.004.414-.001.415v.161l-.219.039-.218.039-.218.04-.217.042-.217.043-.217.044-.216.045-.216.046-.215.048-.215.048-.214.05-.214.051-.213.052-.213.053-.213.055-.212.055-.211.057-.212.058-.21.059-.21.06-.21.061-.209.063-.209.063-.208.065-.208.066-.208.067-.206.068-.207.069-.205.07-.206.071-.204.072-.205.074-.203.074-.204.076-.202.077-.202.077-.202.079-.201.08-.201.081-.2.082-.199.083-.199.084-.198.085-.198.087-.197.087-.197.088-.196.09-.196.09-.195.091-.194.093-.194.093-.193.095-.193.095-.192.097-.191.097-.191.099-.19.1-.19.1-.189.102-.188.102-.188.104-.187.104-.187.106-.186.106-.185.107-.185.109-.184.109-.183.111-.183.111-.182.112-.181.113-.181.114-.18.115-.18.116-.178.117-.179.118-.177.119-.177.12-.176.121-.175.121-.175.123-.174.123-.173.125-.173.125-.172.126-.171.127-.171.128-.17.129-.169.13-.168.13-.168.132-.167.132-.166.133-.165.135-.165.135-.164.135-.163.137-.163.138-.162.138-.161.14-.16.14-.159.141-.159.142-.158.142-.157.144-.157.144-.155.145-.155.146-.154.147-.154.148-.152.148-.152.149-.151.15-.15.151-.149.152-.148.152-.148.154-.147.154-.146.154-.145.156-.145.156-.143.158-.143.157-.142.159-.141.16-.14.16-.139.161-.139.162-.138.162-.136.163-.136.164-.135.165-.134.165-.134.166-.132.167-.132.168-.13.168-.13.169-.129.17-.128.171-.127.171-.127.172-.125.172-.124.174-.124.174-.122.174-.122.176-.121.176-.12.177-.118.177-.118.178-.117.179-.116.179-.116.18-.114.181-.113.181-.112.182-.112.183-.11.183-.109.184-.109.185-.107.185-.107.186-.105.187-.105.187-.104.188-.102.188-.102.189-.1.19-.1.19-.098.191-.098.191-.097.192-.095.193-.095.193-.093.194-.093.194-.091.195-.091.195-.089.196-.088.197-.088.197-.086.198-.085.198-.085.199-.083.2-.082.2-.081.2-.08.201-.079.202-.077.202-.077.203-.076.203-.074.203-.074.205-.072.204-.072.206-.07.205-.069.207-.068.206-.067.208-.066.207-.064.209-.064.208-.062.21-.062.209-.06.211-.059.21-.058.211-.057.212-.055.212-.055.212-.053.213-.052.214-.051.214-.05.214-.049.215-.048.215-.046.216-.045.216-.044.216-.043.217-.042.217-.04.218-.04.218-.038.219-.037.219-.035.219-.035.22-.033.22-.032.221-.031.221-.03.221-.028.222-.027.222-.026.222-.025.223-.024.223-.022.224-.021.224-.02.224-.018.225-.017.225-.016.225-.015.226-.014.226-.012.226-.011.227-.009.227-.009.228-.007.227-.006.228-.004.229-.004.228-.002.229v.229l.001.251.002.25.004.249.005.249.007.249.009.248.01.248.011.248.013.247.015.247.016.246.017.246.019.246.021.245.022.245.023.244.025.244.027.243.028.243.029.243.031.242.032.241.034.242.035.24.037.241.038.239.04.24.041.238.042.239.044.238.045.237.047.237.048.236.049.236.051.235.052.235.054.234.055.234.056.233.058.233.059.232.122.462.064.231.064.23.066.229.067.229.069.228.07.228.071.227.073.226.074.226.075.225.076.225.078.224.079.223.081.223.082.222.083.222.084.221.085.22.087.22.088.219.18.436.092.217.093.Line truncated
|
||||
style="fill:#4d4d4d;fill-opacity:1"
|
||||
transform="matrix(-1 0 0 1 302.511 12.577)"
|
||||
id="path12" />
|
||||
</g>
|
||||
</g>
|
||||
<path
|
||||
d="m 114.30977,144.2723 h 50.31577 L 154.3183,133.29689 h 16.00038 l 16.01264,17.05067 -16.01264,17.04991 h -15.98379 l 10.44067,-11.1175 h -50.46579 z"
|
||||
style="clip-rule:evenodd;fill:#4d4d4d;fill-rule:evenodd;stroke-width:0.744302;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-7" /><path
|
||||
d="M 186.44817,172.91513 H 136.1324 l 10.30725,-10.97541 h -16.00039 l -16.01264,17.05067 16.01264,17.04991 h 15.98379 l -10.44067,-11.1175 h 50.46579 z"
|
||||
style="clip-rule:evenodd;fill:#4d4d4d;fill-rule:evenodd;stroke-width:0.744302;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path10-5" /></svg>
|
||||
|
After Width: | Height: | Size: 78 KiB |
@@ -0,0 +1,58 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="60"
|
||||
height="60"
|
||||
viewBox="0 0 300 300"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
version="1.1"
|
||||
id="svg18"
|
||||
sodipodi:docname="nat.svg"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
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="defs22" /><sodipodi:namedview
|
||||
id="namedview20"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.983333"
|
||||
inkscape:cx="29.958276"
|
||||
inkscape:cy="30.000001"
|
||||
inkscape:window-width="1658"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg18" />
|
||||
<path
|
||||
d="M300 30.271C300 13.564 286.436 0 269.729 0H30.271C13.564 0 0 13.564 0 30.271v239.458C0 286.436 13.564 300 30.271 300h239.458C286.436 300 300 286.436 300 269.729V30.271Z"
|
||||
style="fill:#fffefe"
|
||||
id="path2" /><path
|
||||
d="m 126.0992,224.81393 c 36.94958,-46.13888 33.95227,-117.5859 -6.72068,-159.539672 l -0.0404,-0.0415 a 8.4262645,9.5474485 0 0 1 -0.51796,-13.437497 c 3.1284,-3.89368 8.4597,-4.177124 11.89613,-0.632472 47.587,49.085571 51.05025,132.713411 7.72895,186.632281 -3.1284,3.89367 -8.45969,4.17712 -11.89613,0.63246 a 8.4262645,9.5474485 0 0 1 -0.5582,-13.47898 z"
|
||||
style="clip-rule:evenodd;fill:#109e00;fill-rule:evenodd;stroke-width:1.37905;stroke-linejoin:round;stroke-miterlimit:2;fill-opacity:1"
|
||||
id="path8" />
|
||||
<path
|
||||
d="m269.925.001.195.001.39.008.195.005.194.007.194.008.193.009.386.022.193.013.192.014.192.016.191.016.192.018.191.018.19.02.38.044.19.023.189.025.188.026.189.027.188.028.187.029.188.031.186.031.187.033.186.034.186.035.185.036.185.037.368.078.184.041.183.042.183.043.182.043.364.092.181.047.18.048.181.05.179.05.18.052.179.052.178.054.178.055.177.056.177.057.177.058.176.059.175.06.175.061.175.062.174.063.174.064.173.066.172.066.172.067.172.068.171.07.17.07.17.071.17.073.169.073.168.074.168.076.167.076.167.077.332.158.165.08.165.081.164.083.163.083.163.084.162.085.162.086.161.087.161.088.16.088.159.09.159.091.316.184.157.094.156.094.156.095.155.096.308.196.306.198.152.101.302.204.15.104.149.104.149.105.148.106.294.214.146.109.145.109.145.111.144.111.143.112.143.113.142.113.282.23.139.116.14.117.276.236.137.12.136.12.135.121.135.122.134.122.134.124.132.124.132.125.131.125.26.254.129.128.128.129.254.26.125.131.125.132.124.132.124.134.122.134.122.135.121.135.12.136.12.137.236.276.117.14.116.139.23.282.113.142.113.143.112.143.111.144.111.145.109.145.109.146.214.294.106.148.105.149.104.149.104.15.204.302.101.152.198.306.196.308.096.155.095.156.094.156.094.157.184.316.091.159.09.159.088.16.088.161.087.161.086.162.085.162.084.163.083.163.083.164.081.165.08.165.158.332.077.167.076.167.076.168.074.168.073.169.073.17.071.17.07.17.07.171.068.172.067.172.066.172.066.173.064.174.063.174.062.175.061.175.06.175.059.176.058.177.057.177.056.177.055.178.054.178.052.179.052.18.05.179.05.181.048.18.047.181.092.364.043.182.043.183.042.183.041.184.078.368.037.185.036.185.035.186.034.186.033.187.031.186.031.188.029.187.028.188.027.189.026.188.025.189.023.19.044.38.02.19.018.191.018.192.016.191.016.192.014.192.013.193.022.386.009.193.008.194.007.194.005.195.008.39.002.391v239.458l-.001.196-.001.195-.004.195-.004.195-.005.195-.007.194-.008.194-.009.193-.011.193-.011.193-.013.193-.014.192-.016.192-.016.191-.018.192-.018.191-.02.19-.022.19-.022.19-.023.19-.025.189-.026.188-.027.189-.028.188-.029.187-.031.188-.031.186-.033.187-.034.186-.035.186-.036.185-.037.185-.039.184-.039.184-.041.184-.042.183-.043.183-.043.182-.046.182-.046.182-.047.181-.048.18-.05.181-.05.179-.052.18-.052.179-.054.178-.055.178-.056.177-.057.177-.058.177-.059.176-.06.175-.061.175-.062.175-.063.174-.064.174-.066.173-.066.172-.067.172-.068.172-.07.171-.07.17-.071.17-.073.17-.073.169-.074.168-.076.168-.076.167-.077.167-.079.166-.079.166-.08.165-.081.165-.083.164-.083.163-.084.163-.085.162-.086.162-.087.161-.088.161-.088.16-.09.159-.091.159-.092.158-.092.158-.094.157-.094.156-.095.156-.096.155-.098.154-.098.154-.099.153-.099.153-.101.152-.102.151-.102.151-.104.15-.104.149-.105.149-.106.148-.107.147-.107.147-.109.146-.109.145-.111.145-.111.144-.112.143-.113.143-.113.142-.115.141-.115.141-.116.139-.117.14-.118.138-.118.138-.12.137-.12.136-.121.135-.122.135-.122.134-.124.134-.124.132-.125.132-.125.131-.127.13-.127.13-.128.129-.129.128-.13.127-.13.127-.131.125-.132.125-.132.124-.134.124-.134.122-.135.122-.135.121-.136.12-.137.12-.138.118-.138.118-.14.117-.139.116-.141.115-.141.115-.142.113-.143.113-.143.112-.144.111-.145.111-.145.109-.146.109-.147.107-.147.107-.148.106-.149.105-.149.104-.15.104-.151.102-.151.102-.152.101-.153.099-.153.099-.154.098-.154.098-.155.096-.156.095-.156.094-.157.094-.158.092-.158.092-.159.091-.159.09-.16.088-.161.088-.161.087-.162.086-.162.085-.163.084-.163.083-.164.083-.165.081-.165.08-.166.079-.166.079-.167.077-.167.076-.168.076-.168.074-.169.073-.17.073-.17.071-.17.07-.171.07-.172.068-.172.067-.172.066-.173.066-.174.064-.174.063-.175.062-.175.061-.175.06-.176.059-.177.058-.177.057-.177.056-.178.055-.178.054-.179.052-.18.052-.179.05-.181.05-.18.048-.181.047-.182.046-.182.046-.182.043-.183.043-.183.042-.184.041-.184.039-.184.039-.185.037-.185.036-.186.035-.186.034-.187.033-.186.031-.188.031-.187.029-.188.028-.189.027-.188.026-.189.025-.19.023-.19.022-.19.022-.19.02-.191.018-.192.018-.191.016-.192.016-.192.014-.193.013-.193.011-.193.011-.193.009-.194.008-.194.007-.195.005-.195.004-.195.004-.195.001-.196.001H30.271l-.196-.001-.195-.001-.195-.004-.195-.004-.195-.005-.194-.007-.194-.008-.193-.009-.193-.011-.193-.011-.193-.013-.192-.014-.192-.016-.191-.016-.192-.018-.191-.018-.19-.02-.19-.022-.19-.022-.19-.023-.189-.025-.188-.026-.189-.027-.188-.028-.187-.029-.188-.031-.186-.031-.187-.033-.186-.034-.186-.035-.185-.036-.185-.037-.184-.039-.184-.039-.184-.041-.183-.042-.183-.043-.182-.043-.182-.046-.182-.046-.181-.047-.18-.048-.181-.05-.179-.05-.18-.052-.179-.052-.178-.054-.178-.055-.177-.056-.177-.057-.177-.058-.176-.059-.175-.06-.175-.061-.175-.062-.174-.063-.174-.064-.173-.066-.172-.066-.172-.067-.172-.068-.171-.07-.17-.07-.17-.071-.17-.073-.169-.073-.168-.074-.168-.076-.167-.076-.167-.077-.166-.079-.166-.079-.165-.08-.165-.081-.164-.083-.163-.083-.163-.084-.162-.085-.162-.086-.161-.087-.161-.088-.16-.088-.159-.09-.159-.091-.158-.092-.158-.092-.157-.094-.156-.094-.156-.095-.155-.096-.154-.098-.154-.098-.153-.099-.153-.099-.152-.101-.151-.102-.151-Line truncated
|
||||
style="fill:#109e00;fill-opacity:1"
|
||||
id="path4" />
|
||||
|
||||
<path
|
||||
d="M 56.204265,104.13685 H 105.92542 L 95.739989,95.27996 h 15.811291 l 15.82341,13.75947 -15.82341,13.75883 H 95.756379 l 10.317291,-8.97155 H 56.204265 Z"
|
||||
style="clip-rule:evenodd;fill:#109e00;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3" /><path
|
||||
d="m 56.204269,144.13685 h 49.721151 l -10.185427,-8.85689 h 15.811287 l 15.82341,13.75947 -15.82341,13.75883 H 95.756383 l 10.317287,-8.97155 H 56.204269 Z"
|
||||
style="clip-rule:evenodd;fill:#109e00;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5" /><path
|
||||
d="m 186.20427,144.13685 h 49.72115 L 225.74,135.27996 h 15.81128 l 15.82341,13.75947 -15.82341,13.75883 h -15.79489 l 10.31728,-8.97155 h -49.8694 z"
|
||||
style="clip-rule:evenodd;fill:#109e00;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5-2" /><path
|
||||
d="m 56.204269,184.13685 h 49.721151 l -10.185427,-8.85689 h 15.811287 l 15.82341,13.75947 -15.82341,13.75883 H 95.756383 l 10.317287,-8.97155 H 56.204269 Z"
|
||||
style="clip-rule:evenodd;fill:#109e00;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5-6" /></svg>
|
||||
|
After Width: | Height: | Size: 20 KiB |
@@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="60"
|
||||
height="60"
|
||||
viewBox="0 0 300 300"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
version="1.1"
|
||||
id="svg18"
|
||||
sodipodi:docname="nat2.svg"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
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="defs22" /><sodipodi:namedview
|
||||
id="namedview20"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.983333"
|
||||
inkscape:cx="29.958276"
|
||||
inkscape:cy="30.000001"
|
||||
inkscape:window-width="1658"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg18" />
|
||||
<path
|
||||
d="M300 30.271C300 13.564 286.436 0 269.729 0H30.271C13.564 0 0 13.564 0 30.271v239.458C0 286.436 13.564 300 30.271 300h239.458C286.436 300 300 286.436 300 269.729V30.271Z"
|
||||
style="fill:#fffefe"
|
||||
id="path2" />
|
||||
<path
|
||||
d="m269.925.001.195.001.39.008.195.005.194.007.194.008.193.009.386.022.193.013.192.014.192.016.191.016.192.018.191.018.19.02.38.044.19.023.189.025.188.026.189.027.188.028.187.029.188.031.186.031.187.033.186.034.186.035.185.036.185.037.368.078.184.041.183.042.183.043.182.043.364.092.181.047.18.048.181.05.179.05.18.052.179.052.178.054.178.055.177.056.177.057.177.058.176.059.175.06.175.061.175.062.174.063.174.064.173.066.172.066.172.067.172.068.171.07.17.07.17.071.17.073.169.073.168.074.168.076.167.076.167.077.332.158.165.08.165.081.164.083.163.083.163.084.162.085.162.086.161.087.161.088.16.088.159.09.159.091.316.184.157.094.156.094.156.095.155.096.308.196.306.198.152.101.302.204.15.104.149.104.149.105.148.106.294.214.146.109.145.109.145.111.144.111.143.112.143.113.142.113.282.23.139.116.14.117.276.236.137.12.136.12.135.121.135.122.134.122.134.124.132.124.132.125.131.125.26.254.129.128.128.129.254.26.125.131.125.132.124.132.124.134.122.134.122.135.121.135.12.136.12.137.236.276.117.14.116.139.23.282.113.142.113.143.112.143.111.144.111.145.109.145.109.146.214.294.106.148.105.149.104.149.104.15.204.302.101.152.198.306.196.308.096.155.095.156.094.156.094.157.184.316.091.159.09.159.088.16.088.161.087.161.086.162.085.162.084.163.083.163.083.164.081.165.08.165.158.332.077.167.076.167.076.168.074.168.073.169.073.17.071.17.07.17.07.171.068.172.067.172.066.172.066.173.064.174.063.174.062.175.061.175.06.175.059.176.058.177.057.177.056.177.055.178.054.178.052.179.052.18.05.179.05.181.048.18.047.181.092.364.043.182.043.183.042.183.041.184.078.368.037.185.036.185.035.186.034.186.033.187.031.186.031.188.029.187.028.188.027.189.026.188.025.189.023.19.044.38.02.19.018.191.018.192.016.191.016.192.014.192.013.193.022.386.009.193.008.194.007.194.005.195.008.39.002.391v239.458l-.001.196-.001.195-.004.195-.004.195-.005.195-.007.194-.008.194-.009.193-.011.193-.011.193-.013.193-.014.192-.016.192-.016.191-.018.192-.018.191-.02.19-.022.19-.022.19-.023.19-.025.189-.026.188-.027.189-.028.188-.029.187-.031.188-.031.186-.033.187-.034.186-.035.186-.036.185-.037.185-.039.184-.039.184-.041.184-.042.183-.043.183-.043.182-.046.182-.046.182-.047.181-.048.18-.05.181-.05.179-.052.18-.052.179-.054.178-.055.178-.056.177-.057.177-.058.177-.059.176-.06.175-.061.175-.062.175-.063.174-.064.174-.066.173-.066.172-.067.172-.068.172-.07.171-.07.17-.071.17-.073.17-.073.169-.074.168-.076.168-.076.167-.077.167-.079.166-.079.166-.08.165-.081.165-.083.164-.083.163-.084.163-.085.162-.086.162-.087.161-.088.161-.088.16-.09.159-.091.159-.092.158-.092.158-.094.157-.094.156-.095.156-.096.155-.098.154-.098.154-.099.153-.099.153-.101.152-.102.151-.102.151-.104.15-.104.149-.105.149-.106.148-.107.147-.107.147-.109.146-.109.145-.111.145-.111.144-.112.143-.113.143-.113.142-.115.141-.115.141-.116.139-.117.14-.118.138-.118.138-.12.137-.12.136-.121.135-.122.135-.122.134-.124.134-.124.132-.125.132-.125.131-.127.13-.127.13-.128.129-.129.128-.13.127-.13.127-.131.125-.132.125-.132.124-.134.124-.134.122-.135.122-.135.121-.136.12-.137.12-.138.118-.138.118-.14.117-.139.116-.141.115-.141.115-.142.113-.143.113-.143.112-.144.111-.145.111-.145.109-.146.109-.147.107-.147.107-.148.106-.149.105-.149.104-.15.104-.151.102-.151.102-.152.101-.153.099-.153.099-.154.098-.154.098-.155.096-.156.095-.156.094-.157.094-.158.092-.158.092-.159.091-.159.09-.16.088-.161.088-.161.087-.162.086-.162.085-.163.084-.163.083-.164.083-.165.081-.165.08-.166.079-.166.079-.167.077-.167.076-.168.076-.168.074-.169.073-.17.073-.17.071-.17.07-.171.07-.172.068-.172.067-.172.066-.173.066-.174.064-.174.063-.175.062-.175.061-.175.06-.176.059-.177.058-.177.057-.177.056-.178.055-.178.054-.179.052-.18.052-.179.05-.181.05-.18.048-.181.047-.182.046-.182.046-.182.043-.183.043-.183.042-.184.041-.184.039-.184.039-.185.037-.185.036-.186.035-.186.034-.187.033-.186.031-.188.031-.187.029-.188.028-.189.027-.188.026-.189.025-.19.023-.19.022-.19.022-.19.02-.191.018-.192.018-.191.016-.192.016-.192.014-.193.013-.193.011-.193.011-.193.009-.194.008-.194.007-.195.005-.195.004-.195.004-.195.001-.196.001H30.271l-.196-.001-.195-.001-.195-.004-.195-.004-.195-.005-.194-.007-.194-.008-.193-.009-.193-.011-.193-.011-.193-.013-.192-.014-.192-.016-.191-.016-.192-.018-.191-.018-.19-.02-.19-.022-.19-.022-.19-.023-.189-.025-.188-.026-.189-.027-.188-.028-.187-.029-.188-.031-.186-.031-.187-.033-.186-.034-.186-.035-.185-.036-.185-.037-.184-.039-.184-.039-.184-.041-.183-.042-.183-.043-.182-.043-.182-.046-.182-.046-.181-.047-.18-.048-.181-.05-.179-.05-.18-.052-.179-.052-.178-.054-.178-.055-.177-.056-.177-.057-.177-.058-.176-.059-.175-.06-.175-.061-.175-.062-.174-.063-.174-.064-.173-.066-.172-.066-.172-.067-.172-.068-.171-.07-.17-.07-.17-.071-.17-.073-.169-.073-.168-.074-.168-.076-.167-.076-.167-.077-.166-.079-.166-.079-.165-.08-.165-.081-.164-.083-.163-.083-.163-.084-.162-.085-.162-.086-.161-.087-.161-.088-.16-.088-.159-.09-.159-.091-.158-.092-.158-.092-.157-.094-.156-.094-.156-.095-.155-.096-.154-.098-.154-.098-.153-.099-.153-.099-.152-.101-.151-.102-.151-Line truncated
|
||||
style="fill:#109e00;fill-opacity:1"
|
||||
id="path4" />
|
||||
<g
|
||||
id="g16">
|
||||
<path
|
||||
d="M94.657 208.957h-1.486v-.027c-21.178-.783-38.132-18.223-38.132-39.592 0-19.576 14.229-35.855 32.9-39.05v-.161c0-35.453 28.783-64.237 64.237-64.237 35.454 0 64.238 28.784 64.238 64.237 0 .271-.002.538-.005.804 19.045 3.122 33.574 19.29 33.574 38.74 0 21.683-18.054 39.286-40.293 39.286H94.657Zm105.717-77.514.019-.004c.011-.436.017-.873.017-1.312 0-26.621-21.613-48.234-48.234-48.234-4.677 0-9.199.667-13.476 1.911-20.932 5.493-36.369 24.279-36.369 46.582a47.305 47.305 0 0 0 3.775 18.568 23.546 23.546 0 0 0-11.449-2.952c-13.063 0-23.669 10.606-23.669 23.669 0 13.064 10.606 23.67 23.669 23.67h115.614c13.064 0 23.67-10.606 23.67-23.67 0-13.063-10.606-23.669-23.67-23.669a23.56 23.56 0 0 0-14.616 5.056 47.28 47.28 0 0 0 4.719-19.615Z"
|
||||
style="fill:#2d67b9"
|
||||
transform="translate(-2.511 12.577)"
|
||||
id="path6" />
|
||||
<path
|
||||
d="m152.591 65.891.415.004.414.007.413.009.413.012.412.014.411.017.411.019.41.023.409.024.409.027.407.03.408.033.406.034.406.038.405.04.404.042.404.045.403.047.402.05.401.053.401.054.399.058.399.059.398.063.398.064.396.067.396.07.395.072.394.074.393.077.392.079.392.081.39.084.39.086.389.089.388.091.387.093.386.096.385.098.384.1.384.102.382.105.381.107.381.11.379.112.379.114.378.116.376.118.376.121.374.123.374.125.372.128.372.129.37.132.37.134.368.137.367.138.366.141.366.142.364.145.363.148.361.149.361.151.36.154.358.155.358.158.356.16.355.162.354.164.353.166.351.168.351.171.349.172.348.174.347.177.345.178.345.181.343.182.342.185.341.186.339.189.338.19.337.193.336.194.334.196.333.199.332.2.33.202.33.205.327.206.327.208.325.21.324.211.322.214.321.216.32.217.319.22.316.221.316.223.314.225.313.226.311.229.31.23.309.233.307.234.305.235.304.238.303.239.301.242.3.242.298.245.297.247.295.248.294.25.292.251.291.254.289.255.287.256.286.259.285.26.283.262.281.263.28.265.278.267.277.269.275.27.273.271.272.274.27.275.268.276.267.278.265.28.264.281.261.283.261.285.258.286.257.287.255.29.253.29.252.292.25.294.248.295.246.297.245.298.243.3.241.301.239.303.238.304.236.306.234.307.232.308.23.31.229.311.227.313.224.314.224.316.221.317.219.318.218.32.215.321.214.322.212.324.21.325.208.327.206.328.204.329.202.33.2.332.199.333.196.335.195.335.192.337.191.338.188.34.187.34.184.342.183.343.18.345.179.346.176.346.174.348.173.35.17.35.168.352.166.352.164.354.162.355.16.357.158.357.156.359.153.359.152.361.149.362.147.363.145.364.143.365.14.366.139.367.136.369.134.369.132.371.13.371.127.373.125.373.123.375.121.375.119.377.116.377.114.379.112.379.109.381.107.381.105.383.103.383.1.384.098.385.095.387.094.387.09.387.089.389.086.39.084.391.082.391.079.392.076.393.075.395.072.394.069.396.067.397.065.397.062.398.06.399.057.4.055.4.052.402.05.402.047.402.045.404.043.404.04.405.037.406.035.407.032.407.03.408.027.408.025.41.022.41.019.41.017.412.015.412.012.412.009.414.006.414.004.414.002.415-.001.404-.004.4.223.037.223.038.222.04.222.041.221.042.221.043.22.044.22.045.22.047.219.048.218.049.219.05.217.051.218.052.216.054.217.055.216.055.215.057.215.059.214.059.214.06.214.062.213.062.212.064.212.065.212.066.211.067.21.068.21.069.21.07.208.072.209.072.208.074.207.074.207.076.206.077.206.078.205.079.204.08.205.081.203.082.203.083.202.084.202.085.402.174.2.088.2.09.199.09.198.091.198.093.197.093.392.19.196.097.194.097.388.198.193.101.192.101.192.103.191.103.38.21.189.106.376.216.187.109.187.11.37.224.185.113.184.114.183.115.364.232.181.118.36.238.179.121.178.121.178.123.177.123.176.124.176.125.174.126.174.127.174.128.172.128.172.13.171.13.171.131.338.266.168.133.168.135.332.272.165.137.328.278.163.139.162.141.161.142.16.142.16.143.159.144.158.145.157.145.157.147.155.147.155.148.154.149.306.3.151.151.151.153.15.152.149.154.148.154.147.155.147.156.146.157.288.316.143.159.143.16.141.16.14.161.14.162.139.163.138.163.137.165.136.165.135.165.268.334.132.167.132.169.13.169.13.17.129.171.128.171.127.172.126.173.125.173.124.174.123.175.123.176.121.176.24.354.118.178.118.179.116.179.116.18.115.181.226.364.112.182.22.368.109.184.108.185.106.186.106.187.105.187.103.187.103.189.102.189.1.189.1.19.099.191.097.191.097.192.095.192.095.193.093.194.092.194.092.195.09.195.089.196.088.196.087.197.086.198.085.198.084.198.082.2.082.199.081.201.079.2.078.202.078.201.076.203.075.203.074.203.073.204.071.204.071.205.069.205.069.206.067.207.066.207.065.207.126.416.122.418.059.21.058.21.057.211.11.422.053.212.052.213.051.213.05.213.096.428.046.215.045.215.044.215.084.432.04.217.039.217.074.436.035.218.034.219.033.219.062.44.029.22.027.22.027.222.025.221.024.222.023.222.021.222.02.223.019.223.018.224.016.224.015.224.014.225.013.225.011.225.01.225.008.226.008.227.006.226.004.227.003.227.002.228.001.227-.001.254-.002.254-.004.253-.006.253-.007.252-.009.252-.011.252-.012.251-.014.251-.016.25-.017.25-.018.249-.021.249-.022.249-.023.248-.025.248-.027.247-.028.247-.03.246-.031.246-.033.246-.034.244-.036.245-.038.244-.039.243-.04.243-.042.243-.044.242-.045.241-.046.241-.049.241-.049.24-.051.239-.053.239-.054.238-.055.238-.057.237-.059.237-.06.236-.061.236-.063.235-.065.234-.065.234-.068.233-.068.233-.07.232-.072.231-.073.231-.074.231-.076.229-.077.229-.078.229-.08.228-.082.227-.082.226-.085.226-.085.226-.087.224-.088.224-.09.223-.091.223-.092.222-.093.221-.095.221-.097.22-.097.219-.099.219-.101.218-.101.217-.103.216-.104.216-.106.215-.107.214-.108.214-.109.213-.111.212-.112.211-.113.211-.114.21-.116.209-.117.208-.118.208-.12.207-.12.206-.122.205-.124.204-.124.204-.126.203-.127.202-.128.201-.129.201-.13.199-.132.199-.133.198-.134.198-.135.196-.137.195-.137.195-.139.194-.14.193-.141.192-.142.191-.144.191-.144.189-.146.189-.146.188-.148.187-.149.186-.151.185-.151.184-.152.183-.154.183-.154.181-.156.181-.157.179-.157.179-.159.178-.16.177-.161.175-.162.175-.164.174-.164.173-.165.172-.166.171-.168.171-.168.169-.17.168-.17.167-.171.166-.173.165-.173.165-.175.163-.175.162-.177.161-.177.Line truncated
|
||||
style="fill:#109e00;fill-opacity:1"
|
||||
transform="translate(-2.511 12.577)"
|
||||
id="path8" />
|
||||
<g
|
||||
id="g14">
|
||||
<path
|
||||
d="M94.657 208.957h-1.486v-.027c-21.178-.783-38.132-18.223-38.132-39.592 0-19.576 14.229-35.855 32.9-39.05v-.161c0-35.453 28.783-64.237 64.237-64.237 35.454 0 64.238 28.784 64.238 64.237 0 .271-.002.538-.005.804 19.045 3.122 33.574 19.29 33.574 38.74 0 21.683-18.054 39.286-40.293 39.286H94.657Zm105.717-77.514.019-.004c.011-.436.017-.873.017-1.312 0-26.621-21.613-48.234-48.234-48.234-4.677 0-9.199.667-13.476 1.911-20.932 5.493-36.369 24.279-36.369 46.582a47.305 47.305 0 0 0 3.775 18.568 23.546 23.546 0 0 0-11.449-2.952c-13.063 0-23.669 10.606-23.669 23.669 0 13.064 10.606 23.67 23.669 23.67h115.614c13.064 0 23.67-10.606 23.67-23.67 0-13.063-10.606-23.669-23.67-23.669a23.56 23.56 0 0 0-14.616 5.056 47.28 47.28 0 0 0 4.719-19.615Z"
|
||||
style="fill:#2d67b9"
|
||||
transform="matrix(-1 0 0 1 302.511 12.577)"
|
||||
id="path10" />
|
||||
<path
|
||||
d="m151.761 65.891-.415.004-.414.007-.413.009-.413.012-.412.014-.411.017-.411.019-.41.023-.409.024-.408.027-.408.03-.408.033-.406.034-.406.038-.405.04-.404.042-.404.045-.403.047-.402.05-.401.053-.401.054-.399.058-.399.059-.398.063-.398.064-.396.067-.396.07-.395.072-.394.074-.393.077-.392.079-.392.081-.39.084-.39.086-.389.089-.388.091-.387.093-.386.096-.385.098-.384.1-.384.102-.382.105-.381.107-.381.11-.379.112-.379.114-.377.116-.377.118-.376.121-.374.123-.374.125-.372.128-.372.129-.37.132-.369.134-.369.137-.367.138-.366.141-.365.142-.365.145-.362.148-.362.149-.361.151-.36.154-.358.155-.358.158-.356.16-.355.162-.354.164-.353.166-.351.168-.351.171-.349.172-.348.174-.347.177-.345.178-.345.181-.343.182-.342.185-.341.186-.339.189-.338.19-.337.193-.336.194-.334.196-.333.199-.332.2-.33.202-.33.205-.327.206-.327.208-.325.21-.324.211-.322.214-.321.216-.32.217-.318.22-.317.221-.316.223-.314.225-.313.226-.311.229-.31.23-.309.233-.307.234-.305.235-.304.238-.303.239-.301.242-.3.242-.298.245-.297.247-.295.248-.294.25-.292.251-.291.254-.289.255-.287.256-.286.259-.285.26-.283.262-.281.263-.28.265-.278.267-.277.269-.275.27-.273.271-.272.274-.27.275-.268.276-.267.278-.265.28-.263.281-.262.283-.26.285-.259.286-.257.287-.255.29-.253.29-.252.292-.25.294-.248.295-.246.297-.245.298-.243.3-.241.301-.239.303-.238.304-.236.306-.234.307-.232.308-.23.31-.229.311-.226.313-.225.314-.223.316-.222.317-.219.318-.217.32-.216.321-.214.322-.212.324-.21.325-.208.327-.206.328-.204.329-.202.33-.2.332-.199.333-.196.335-.195.335-.192.337-.191.338-.188.34-.187.34-.184.342-.183.343-.18.345-.179.346-.176.346-.174.348-.173.35-.17.35-.168.352-.166.352-.164.354-.162.355-.16.357-.158.357-.156.359-.153.359-.151.361-.15.362-.147.363-.145.364-.143.365-.14.366-.139.367-.136.369-.134.369-.132.371-.13.371-.127.373-.125.373-.123.375-.121.375-.118.377-.117.377-.114.379-.111.379-.11.381-.107.381-.105.383-.102.383-.101.384-.098.385-.095.387-.093.387-.091.387-.089.389-.086.39-.084.391-.081.391-.08.392-.076.393-.075.395-.071.394-.07.396-.067.397-.065.397-.062.398-.06.399-.057.4-.055.4-.052.402-.05.402-.047.402-.045.404-.043.404-.039.405-.038.406-.035.407-.032.407-.03.408-.027.408-.025.41-.022.41-.019.41-.017.412-.015.412-.011.412-.01.414-.006.414-.004.414-.001.415v.161l-.219.039-.218.039-.218.04-.217.042-.217.043-.217.044-.216.045-.216.046-.215.048-.215.048-.214.05-.214.051-.213.052-.213.053-.213.055-.212.055-.211.057-.212.058-.21.059-.21.06-.21.061-.209.063-.209.063-.208.065-.208.066-.208.067-.206.068-.207.069-.205.07-.206.071-.204.072-.205.074-.203.074-.204.076-.202.077-.202.077-.202.079-.201.08-.201.081-.2.082-.199.083-.199.084-.198.085-.198.087-.197.087-.197.088-.196.09-.196.09-.195.091-.194.093-.194.093-.193.095-.193.095-.192.097-.191.097-.191.099-.19.1-.19.1-.189.102-.188.102-.188.104-.187.104-.187.106-.186.106-.185.107-.185.109-.184.109-.183.111-.183.111-.182.112-.181.113-.181.114-.18.115-.18.116-.178.117-.179.118-.177.119-.177.12-.176.121-.175.121-.175.123-.174.123-.173.125-.173.125-.172.126-.171.127-.171.128-.17.129-.169.13-.168.13-.168.132-.167.132-.166.133-.165.135-.165.135-.164.135-.163.137-.163.138-.162.138-.161.14-.16.14-.159.141-.159.142-.158.142-.157.144-.157.144-.155.145-.155.146-.154.147-.154.148-.152.148-.152.149-.151.15-.15.151-.149.152-.148.152-.148.154-.147.154-.146.154-.145.156-.145.156-.143.158-.143.157-.142.159-.141.16-.14.16-.139.161-.139.162-.138.162-.136.163-.136.164-.135.165-.134.165-.134.166-.132.167-.132.168-.13.168-.13.169-.129.17-.128.171-.127.171-.127.172-.125.172-.124.174-.124.174-.122.174-.122.176-.121.176-.12.177-.118.177-.118.178-.117.179-.116.179-.116.18-.114.181-.113.181-.112.182-.112.183-.11.183-.109.184-.109.185-.107.185-.107.186-.105.187-.105.187-.104.188-.102.188-.102.189-.1.19-.1.19-.098.191-.098.191-.097.192-.095.193-.095.193-.093.194-.093.194-.091.195-.091.195-.089.196-.088.197-.088.197-.086.198-.085.198-.085.199-.083.2-.082.2-.081.2-.08.201-.079.202-.077.202-.077.203-.076.203-.074.203-.074.205-.072.204-.072.206-.07.205-.069.207-.068.206-.067.208-.066.207-.064.209-.064.208-.062.21-.062.209-.06.211-.059.21-.058.211-.057.212-.055.212-.055.212-.053.213-.052.214-.051.214-.05.214-.049.215-.048.215-.046.216-.045.216-.044.216-.043.217-.042.217-.04.218-.04.218-.038.219-.037.219-.035.219-.035.22-.033.22-.032.221-.031.221-.03.221-.028.222-.027.222-.026.222-.025.223-.024.223-.022.224-.021.224-.02.224-.018.225-.017.225-.016.225-.015.226-.014.226-.012.226-.011.227-.009.227-.009.228-.007.227-.006.228-.004.229-.004.228-.002.229v.229l.001.251.002.25.004.249.005.249.007.249.009.248.01.248.011.248.013.247.015.247.016.246.017.246.019.246.021.245.022.245.023.244.025.244.027.243.028.243.029.243.031.242.032.241.034.242.035.24.037.241.038.239.04.24.041.238.042.239.044.238.045.237.047.237.048.236.049.236.051.235.052.235.054.234.055.234.056.233.058.233.059.232.122.462.064.231.064.23.066.229.067.229.069.228.07.228.071.227.073.226.074.226.075.225.076.225.078.224.079.223.081.223.082.222.083.222.084.221.085.22.087.22.088.219.18.436.092.217.093.Line truncated
|
||||
style="fill:#109e00;fill-opacity:1"
|
||||
transform="matrix(-1 0 0 1 302.511 12.577)"
|
||||
id="path12" />
|
||||
</g>
|
||||
</g>
|
||||
<path
|
||||
d="m 114.30977,144.2723 h 50.31577 L 154.3183,133.29689 h 16.00038 l 16.01264,17.05067 -16.01264,17.04991 h -15.98379 l 10.44067,-11.1175 h -50.46579 z"
|
||||
style="clip-rule:evenodd;fill:#109e00;fill-rule:evenodd;stroke-width:0.744302;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-7" /><path
|
||||
d="M 186.44817,172.91513 H 136.1324 l 10.30725,-10.97541 h -16.00039 l -16.01264,17.05067 16.01264,17.04991 h 15.98379 l -10.44067,-11.1175 h 50.46579 z"
|
||||
style="clip-rule:evenodd;fill:#109e00;fill-rule:evenodd;stroke-width:0.744302;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path10-5" /></svg>
|
||||
|
After Width: | Height: | Size: 78 KiB |
@@ -0,0 +1,58 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="60"
|
||||
height="60"
|
||||
viewBox="0 0 300 300"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
version="1.1"
|
||||
id="svg18"
|
||||
sodipodi:docname="nat.svg"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
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="defs22" /><sodipodi:namedview
|
||||
id="namedview20"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.983333"
|
||||
inkscape:cx="29.958276"
|
||||
inkscape:cy="30.000001"
|
||||
inkscape:window-width="1658"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg18" />
|
||||
<path
|
||||
d="M300 30.271C300 13.564 286.436 0 269.729 0H30.271C13.564 0 0 13.564 0 30.271v239.458C0 286.436 13.564 300 30.271 300h239.458C286.436 300 300 286.436 300 269.729V30.271Z"
|
||||
style="fill:#fffefe"
|
||||
id="path2" /><path
|
||||
d="m 126.0992,224.81393 c 36.94958,-46.13888 33.95227,-117.5859 -6.72068,-159.539672 l -0.0404,-0.0415 a 8.4262645,9.5474485 0 0 1 -0.51796,-13.437497 c 3.1284,-3.89368 8.4597,-4.177124 11.89613,-0.632472 47.587,49.085571 51.05025,132.713411 7.72895,186.632281 -3.1284,3.89367 -8.45969,4.17712 -11.89613,0.63246 a 8.4262645,9.5474485 0 0 1 -0.5582,-13.47898 z"
|
||||
style="clip-rule:evenodd;fill:#e3292e;fill-rule:evenodd;stroke-width:1.37905;stroke-linejoin:round;stroke-miterlimit:2;fill-opacity:1"
|
||||
id="path8" />
|
||||
<path
|
||||
d="m269.925.001.195.001.39.008.195.005.194.007.194.008.193.009.386.022.193.013.192.014.192.016.191.016.192.018.191.018.19.02.38.044.19.023.189.025.188.026.189.027.188.028.187.029.188.031.186.031.187.033.186.034.186.035.185.036.185.037.368.078.184.041.183.042.183.043.182.043.364.092.181.047.18.048.181.05.179.05.18.052.179.052.178.054.178.055.177.056.177.057.177.058.176.059.175.06.175.061.175.062.174.063.174.064.173.066.172.066.172.067.172.068.171.07.17.07.17.071.17.073.169.073.168.074.168.076.167.076.167.077.332.158.165.08.165.081.164.083.163.083.163.084.162.085.162.086.161.087.161.088.16.088.159.09.159.091.316.184.157.094.156.094.156.095.155.096.308.196.306.198.152.101.302.204.15.104.149.104.149.105.148.106.294.214.146.109.145.109.145.111.144.111.143.112.143.113.142.113.282.23.139.116.14.117.276.236.137.12.136.12.135.121.135.122.134.122.134.124.132.124.132.125.131.125.26.254.129.128.128.129.254.26.125.131.125.132.124.132.124.134.122.134.122.135.121.135.12.136.12.137.236.276.117.14.116.139.23.282.113.142.113.143.112.143.111.144.111.145.109.145.109.146.214.294.106.148.105.149.104.149.104.15.204.302.101.152.198.306.196.308.096.155.095.156.094.156.094.157.184.316.091.159.09.159.088.16.088.161.087.161.086.162.085.162.084.163.083.163.083.164.081.165.08.165.158.332.077.167.076.167.076.168.074.168.073.169.073.17.071.17.07.17.07.171.068.172.067.172.066.172.066.173.064.174.063.174.062.175.061.175.06.175.059.176.058.177.057.177.056.177.055.178.054.178.052.179.052.18.05.179.05.181.048.18.047.181.092.364.043.182.043.183.042.183.041.184.078.368.037.185.036.185.035.186.034.186.033.187.031.186.031.188.029.187.028.188.027.189.026.188.025.189.023.19.044.38.02.19.018.191.018.192.016.191.016.192.014.192.013.193.022.386.009.193.008.194.007.194.005.195.008.39.002.391v239.458l-.001.196-.001.195-.004.195-.004.195-.005.195-.007.194-.008.194-.009.193-.011.193-.011.193-.013.193-.014.192-.016.192-.016.191-.018.192-.018.191-.02.19-.022.19-.022.19-.023.19-.025.189-.026.188-.027.189-.028.188-.029.187-.031.188-.031.186-.033.187-.034.186-.035.186-.036.185-.037.185-.039.184-.039.184-.041.184-.042.183-.043.183-.043.182-.046.182-.046.182-.047.181-.048.18-.05.181-.05.179-.052.18-.052.179-.054.178-.055.178-.056.177-.057.177-.058.177-.059.176-.06.175-.061.175-.062.175-.063.174-.064.174-.066.173-.066.172-.067.172-.068.172-.07.171-.07.17-.071.17-.073.17-.073.169-.074.168-.076.168-.076.167-.077.167-.079.166-.079.166-.08.165-.081.165-.083.164-.083.163-.084.163-.085.162-.086.162-.087.161-.088.161-.088.16-.09.159-.091.159-.092.158-.092.158-.094.157-.094.156-.095.156-.096.155-.098.154-.098.154-.099.153-.099.153-.101.152-.102.151-.102.151-.104.15-.104.149-.105.149-.106.148-.107.147-.107.147-.109.146-.109.145-.111.145-.111.144-.112.143-.113.143-.113.142-.115.141-.115.141-.116.139-.117.14-.118.138-.118.138-.12.137-.12.136-.121.135-.122.135-.122.134-.124.134-.124.132-.125.132-.125.131-.127.13-.127.13-.128.129-.129.128-.13.127-.13.127-.131.125-.132.125-.132.124-.134.124-.134.122-.135.122-.135.121-.136.12-.137.12-.138.118-.138.118-.14.117-.139.116-.141.115-.141.115-.142.113-.143.113-.143.112-.144.111-.145.111-.145.109-.146.109-.147.107-.147.107-.148.106-.149.105-.149.104-.15.104-.151.102-.151.102-.152.101-.153.099-.153.099-.154.098-.154.098-.155.096-.156.095-.156.094-.157.094-.158.092-.158.092-.159.091-.159.09-.16.088-.161.088-.161.087-.162.086-.162.085-.163.084-.163.083-.164.083-.165.081-.165.08-.166.079-.166.079-.167.077-.167.076-.168.076-.168.074-.169.073-.17.073-.17.071-.17.07-.171.07-.172.068-.172.067-.172.066-.173.066-.174.064-.174.063-.175.062-.175.061-.175.06-.176.059-.177.058-.177.057-.177.056-.178.055-.178.054-.179.052-.18.052-.179.05-.181.05-.18.048-.181.047-.182.046-.182.046-.182.043-.183.043-.183.042-.184.041-.184.039-.184.039-.185.037-.185.036-.186.035-.186.034-.187.033-.186.031-.188.031-.187.029-.188.028-.189.027-.188.026-.189.025-.19.023-.19.022-.19.022-.19.02-.191.018-.192.018-.191.016-.192.016-.192.014-.193.013-.193.011-.193.011-.193.009-.194.008-.194.007-.195.005-.195.004-.195.004-.195.001-.196.001H30.271l-.196-.001-.195-.001-.195-.004-.195-.004-.195-.005-.194-.007-.194-.008-.193-.009-.193-.011-.193-.011-.193-.013-.192-.014-.192-.016-.191-.016-.192-.018-.191-.018-.19-.02-.19-.022-.19-.022-.19-.023-.189-.025-.188-.026-.189-.027-.188-.028-.187-.029-.188-.031-.186-.031-.187-.033-.186-.034-.186-.035-.185-.036-.185-.037-.184-.039-.184-.039-.184-.041-.183-.042-.183-.043-.182-.043-.182-.046-.182-.046-.181-.047-.18-.048-.181-.05-.179-.05-.18-.052-.179-.052-.178-.054-.178-.055-.177-.056-.177-.057-.177-.058-.176-.059-.175-.06-.175-.061-.175-.062-.174-.063-.174-.064-.173-.066-.172-.066-.172-.067-.172-.068-.171-.07-.17-.07-.17-.071-.17-.073-.169-.073-.168-.074-.168-.076-.167-.076-.167-.077-.166-.079-.166-.079-.165-.08-.165-.081-.164-.083-.163-.083-.163-.084-.162-.085-.162-.086-.161-.087-.161-.088-.16-.088-.159-.09-.159-.091-.158-.092-.158-.092-.157-.094-.156-.094-.156-.095-.155-.096-.154-.098-.154-.098-.153-.099-.153-.099-.152-.101-.151-.102-.151-Line truncated
|
||||
style="fill:#e3292e;fill-opacity:1"
|
||||
id="path4" />
|
||||
|
||||
<path
|
||||
d="M 56.204265,104.13685 H 105.92542 L 95.739989,95.27996 h 15.811291 l 15.82341,13.75947 -15.82341,13.75883 H 95.756379 l 10.317291,-8.97155 H 56.204265 Z"
|
||||
style="clip-rule:evenodd;fill:#e3292e;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3" /><path
|
||||
d="m 56.204269,144.13685 h 49.721151 l -10.185427,-8.85689 h 15.811287 l 15.82341,13.75947 -15.82341,13.75883 H 95.756383 l 10.317287,-8.97155 H 56.204269 Z"
|
||||
style="clip-rule:evenodd;fill:#e3292e;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5" /><path
|
||||
d="m 186.20427,144.13685 h 49.72115 L 225.74,135.27996 h 15.81128 l 15.82341,13.75947 -15.82341,13.75883 h -15.79489 l 10.31728,-8.97155 h -49.8694 z"
|
||||
style="clip-rule:evenodd;fill:#e3292e;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5-2" /><path
|
||||
d="m 56.204269,184.13685 h 49.721151 l -10.185427,-8.85689 h 15.811287 l 15.82341,13.75947 -15.82341,13.75883 H 95.756383 l 10.317287,-8.97155 H 56.204269 Z"
|
||||
style="clip-rule:evenodd;fill:#e3292e;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5-6" /></svg>
|
||||
|
After Width: | Height: | Size: 20 KiB |
@@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="60"
|
||||
height="60"
|
||||
viewBox="0 0 300 300"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
version="1.1"
|
||||
id="svg18"
|
||||
sodipodi:docname="nat2.svg"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
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="defs22" /><sodipodi:namedview
|
||||
id="namedview20"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.983333"
|
||||
inkscape:cx="29.958276"
|
||||
inkscape:cy="30.000001"
|
||||
inkscape:window-width="1658"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="g16" />
|
||||
<path
|
||||
d="M300 30.271C300 13.564 286.436 0 269.729 0H30.271C13.564 0 0 13.564 0 30.271v239.458C0 286.436 13.564 300 30.271 300h239.458C286.436 300 300 286.436 300 269.729V30.271Z"
|
||||
style="fill:#fffefe"
|
||||
id="path2" />
|
||||
<path
|
||||
d="m269.925.001.195.001.39.008.195.005.194.007.194.008.193.009.386.022.193.013.192.014.192.016.191.016.192.018.191.018.19.02.38.044.19.023.189.025.188.026.189.027.188.028.187.029.188.031.186.031.187.033.186.034.186.035.185.036.185.037.368.078.184.041.183.042.183.043.182.043.364.092.181.047.18.048.181.05.179.05.18.052.179.052.178.054.178.055.177.056.177.057.177.058.176.059.175.06.175.061.175.062.174.063.174.064.173.066.172.066.172.067.172.068.171.07.17.07.17.071.17.073.169.073.168.074.168.076.167.076.167.077.332.158.165.08.165.081.164.083.163.083.163.084.162.085.162.086.161.087.161.088.16.088.159.09.159.091.316.184.157.094.156.094.156.095.155.096.308.196.306.198.152.101.302.204.15.104.149.104.149.105.148.106.294.214.146.109.145.109.145.111.144.111.143.112.143.113.142.113.282.23.139.116.14.117.276.236.137.12.136.12.135.121.135.122.134.122.134.124.132.124.132.125.131.125.26.254.129.128.128.129.254.26.125.131.125.132.124.132.124.134.122.134.122.135.121.135.12.136.12.137.236.276.117.14.116.139.23.282.113.142.113.143.112.143.111.144.111.145.109.145.109.146.214.294.106.148.105.149.104.149.104.15.204.302.101.152.198.306.196.308.096.155.095.156.094.156.094.157.184.316.091.159.09.159.088.16.088.161.087.161.086.162.085.162.084.163.083.163.083.164.081.165.08.165.158.332.077.167.076.167.076.168.074.168.073.169.073.17.071.17.07.17.07.171.068.172.067.172.066.172.066.173.064.174.063.174.062.175.061.175.06.175.059.176.058.177.057.177.056.177.055.178.054.178.052.179.052.18.05.179.05.181.048.18.047.181.092.364.043.182.043.183.042.183.041.184.078.368.037.185.036.185.035.186.034.186.033.187.031.186.031.188.029.187.028.188.027.189.026.188.025.189.023.19.044.38.02.19.018.191.018.192.016.191.016.192.014.192.013.193.022.386.009.193.008.194.007.194.005.195.008.39.002.391v239.458l-.001.196-.001.195-.004.195-.004.195-.005.195-.007.194-.008.194-.009.193-.011.193-.011.193-.013.193-.014.192-.016.192-.016.191-.018.192-.018.191-.02.19-.022.19-.022.19-.023.19-.025.189-.026.188-.027.189-.028.188-.029.187-.031.188-.031.186-.033.187-.034.186-.035.186-.036.185-.037.185-.039.184-.039.184-.041.184-.042.183-.043.183-.043.182-.046.182-.046.182-.047.181-.048.18-.05.181-.05.179-.052.18-.052.179-.054.178-.055.178-.056.177-.057.177-.058.177-.059.176-.06.175-.061.175-.062.175-.063.174-.064.174-.066.173-.066.172-.067.172-.068.172-.07.171-.07.17-.071.17-.073.17-.073.169-.074.168-.076.168-.076.167-.077.167-.079.166-.079.166-.08.165-.081.165-.083.164-.083.163-.084.163-.085.162-.086.162-.087.161-.088.161-.088.16-.09.159-.091.159-.092.158-.092.158-.094.157-.094.156-.095.156-.096.155-.098.154-.098.154-.099.153-.099.153-.101.152-.102.151-.102.151-.104.15-.104.149-.105.149-.106.148-.107.147-.107.147-.109.146-.109.145-.111.145-.111.144-.112.143-.113.143-.113.142-.115.141-.115.141-.116.139-.117.14-.118.138-.118.138-.12.137-.12.136-.121.135-.122.135-.122.134-.124.134-.124.132-.125.132-.125.131-.127.13-.127.13-.128.129-.129.128-.13.127-.13.127-.131.125-.132.125-.132.124-.134.124-.134.122-.135.122-.135.121-.136.12-.137.12-.138.118-.138.118-.14.117-.139.116-.141.115-.141.115-.142.113-.143.113-.143.112-.144.111-.145.111-.145.109-.146.109-.147.107-.147.107-.148.106-.149.105-.149.104-.15.104-.151.102-.151.102-.152.101-.153.099-.153.099-.154.098-.154.098-.155.096-.156.095-.156.094-.157.094-.158.092-.158.092-.159.091-.159.09-.16.088-.161.088-.161.087-.162.086-.162.085-.163.084-.163.083-.164.083-.165.081-.165.08-.166.079-.166.079-.167.077-.167.076-.168.076-.168.074-.169.073-.17.073-.17.071-.17.07-.171.07-.172.068-.172.067-.172.066-.173.066-.174.064-.174.063-.175.062-.175.061-.175.06-.176.059-.177.058-.177.057-.177.056-.178.055-.178.054-.179.052-.18.052-.179.05-.181.05-.18.048-.181.047-.182.046-.182.046-.182.043-.183.043-.183.042-.184.041-.184.039-.184.039-.185.037-.185.036-.186.035-.186.034-.187.033-.186.031-.188.031-.187.029-.188.028-.189.027-.188.026-.189.025-.19.023-.19.022-.19.022-.19.02-.191.018-.192.018-.191.016-.192.016-.192.014-.193.013-.193.011-.193.011-.193.009-.194.008-.194.007-.195.005-.195.004-.195.004-.195.001-.196.001H30.271l-.196-.001-.195-.001-.195-.004-.195-.004-.195-.005-.194-.007-.194-.008-.193-.009-.193-.011-.193-.011-.193-.013-.192-.014-.192-.016-.191-.016-.192-.018-.191-.018-.19-.02-.19-.022-.19-.022-.19-.023-.189-.025-.188-.026-.189-.027-.188-.028-.187-.029-.188-.031-.186-.031-.187-.033-.186-.034-.186-.035-.185-.036-.185-.037-.184-.039-.184-.039-.184-.041-.183-.042-.183-.043-.182-.043-.182-.046-.182-.046-.181-.047-.18-.048-.181-.05-.179-.05-.18-.052-.179-.052-.178-.054-.178-.055-.177-.056-.177-.057-.177-.058-.176-.059-.175-.06-.175-.061-.175-.062-.174-.063-.174-.064-.173-.066-.172-.066-.172-.067-.172-.068-.171-.07-.17-.07-.17-.071-.17-.073-.169-.073-.168-.074-.168-.076-.167-.076-.167-.077-.166-.079-.166-.079-.165-.08-.165-.081-.164-.083-.163-.083-.163-.084-.162-.085-.162-.086-.161-.087-.161-.088-.16-.088-.159-.09-.159-.091-.158-.092-.158-.092-.157-.094-.156-.094-.156-.095-.155-.096-.154-.098-.154-.098-.153-.099-.153-.099-.152-.101-.151-.102-.151-Line truncated
|
||||
style="fill:#e3292e;fill-opacity:1"
|
||||
id="path4" />
|
||||
<g
|
||||
id="g16">
|
||||
<path
|
||||
d="M94.657 208.957h-1.486v-.027c-21.178-.783-38.132-18.223-38.132-39.592 0-19.576 14.229-35.855 32.9-39.05v-.161c0-35.453 28.783-64.237 64.237-64.237 35.454 0 64.238 28.784 64.238 64.237 0 .271-.002.538-.005.804 19.045 3.122 33.574 19.29 33.574 38.74 0 21.683-18.054 39.286-40.293 39.286H94.657Zm105.717-77.514.019-.004c.011-.436.017-.873.017-1.312 0-26.621-21.613-48.234-48.234-48.234-4.677 0-9.199.667-13.476 1.911-20.932 5.493-36.369 24.279-36.369 46.582a47.305 47.305 0 0 0 3.775 18.568 23.546 23.546 0 0 0-11.449-2.952c-13.063 0-23.669 10.606-23.669 23.669 0 13.064 10.606 23.67 23.669 23.67h115.614c13.064 0 23.67-10.606 23.67-23.67 0-13.063-10.606-23.669-23.67-23.669a23.56 23.56 0 0 0-14.616 5.056 47.28 47.28 0 0 0 4.719-19.615Z"
|
||||
style="fill:#2d67b9"
|
||||
transform="translate(-2.511 12.577)"
|
||||
id="path6" />
|
||||
<path
|
||||
d="m152.591 65.891.415.004.414.007.413.009.413.012.412.014.411.017.411.019.41.023.409.024.409.027.407.03.408.033.406.034.406.038.405.04.404.042.404.045.403.047.402.05.401.053.401.054.399.058.399.059.398.063.398.064.396.067.396.07.395.072.394.074.393.077.392.079.392.081.39.084.39.086.389.089.388.091.387.093.386.096.385.098.384.1.384.102.382.105.381.107.381.11.379.112.379.114.378.116.376.118.376.121.374.123.374.125.372.128.372.129.37.132.37.134.368.137.367.138.366.141.366.142.364.145.363.148.361.149.361.151.36.154.358.155.358.158.356.16.355.162.354.164.353.166.351.168.351.171.349.172.348.174.347.177.345.178.345.181.343.182.342.185.341.186.339.189.338.19.337.193.336.194.334.196.333.199.332.2.33.202.33.205.327.206.327.208.325.21.324.211.322.214.321.216.32.217.319.22.316.221.316.223.314.225.313.226.311.229.31.23.309.233.307.234.305.235.304.238.303.239.301.242.3.242.298.245.297.247.295.248.294.25.292.251.291.254.289.255.287.256.286.259.285.26.283.262.281.263.28.265.278.267.277.269.275.27.273.271.272.274.27.275.268.276.267.278.265.28.264.281.261.283.261.285.258.286.257.287.255.29.253.29.252.292.25.294.248.295.246.297.245.298.243.3.241.301.239.303.238.304.236.306.234.307.232.308.23.31.229.311.227.313.224.314.224.316.221.317.219.318.218.32.215.321.214.322.212.324.21.325.208.327.206.328.204.329.202.33.2.332.199.333.196.335.195.335.192.337.191.338.188.34.187.34.184.342.183.343.18.345.179.346.176.346.174.348.173.35.17.35.168.352.166.352.164.354.162.355.16.357.158.357.156.359.153.359.152.361.149.362.147.363.145.364.143.365.14.366.139.367.136.369.134.369.132.371.13.371.127.373.125.373.123.375.121.375.119.377.116.377.114.379.112.379.109.381.107.381.105.383.103.383.1.384.098.385.095.387.094.387.09.387.089.389.086.39.084.391.082.391.079.392.076.393.075.395.072.394.069.396.067.397.065.397.062.398.06.399.057.4.055.4.052.402.05.402.047.402.045.404.043.404.04.405.037.406.035.407.032.407.03.408.027.408.025.41.022.41.019.41.017.412.015.412.012.412.009.414.006.414.004.414.002.415-.001.404-.004.4.223.037.223.038.222.04.222.041.221.042.221.043.22.044.22.045.22.047.219.048.218.049.219.05.217.051.218.052.216.054.217.055.216.055.215.057.215.059.214.059.214.06.214.062.213.062.212.064.212.065.212.066.211.067.21.068.21.069.21.07.208.072.209.072.208.074.207.074.207.076.206.077.206.078.205.079.204.08.205.081.203.082.203.083.202.084.202.085.402.174.2.088.2.09.199.09.198.091.198.093.197.093.392.19.196.097.194.097.388.198.193.101.192.101.192.103.191.103.38.21.189.106.376.216.187.109.187.11.37.224.185.113.184.114.183.115.364.232.181.118.36.238.179.121.178.121.178.123.177.123.176.124.176.125.174.126.174.127.174.128.172.128.172.13.171.13.171.131.338.266.168.133.168.135.332.272.165.137.328.278.163.139.162.141.161.142.16.142.16.143.159.144.158.145.157.145.157.147.155.147.155.148.154.149.306.3.151.151.151.153.15.152.149.154.148.154.147.155.147.156.146.157.288.316.143.159.143.16.141.16.14.161.14.162.139.163.138.163.137.165.136.165.135.165.268.334.132.167.132.169.13.169.13.17.129.171.128.171.127.172.126.173.125.173.124.174.123.175.123.176.121.176.24.354.118.178.118.179.116.179.116.18.115.181.226.364.112.182.22.368.109.184.108.185.106.186.106.187.105.187.103.187.103.189.102.189.1.189.1.19.099.191.097.191.097.192.095.192.095.193.093.194.092.194.092.195.09.195.089.196.088.196.087.197.086.198.085.198.084.198.082.2.082.199.081.201.079.2.078.202.078.201.076.203.075.203.074.203.073.204.071.204.071.205.069.205.069.206.067.207.066.207.065.207.126.416.122.418.059.21.058.21.057.211.11.422.053.212.052.213.051.213.05.213.096.428.046.215.045.215.044.215.084.432.04.217.039.217.074.436.035.218.034.219.033.219.062.44.029.22.027.22.027.222.025.221.024.222.023.222.021.222.02.223.019.223.018.224.016.224.015.224.014.225.013.225.011.225.01.225.008.226.008.227.006.226.004.227.003.227.002.228.001.227-.001.254-.002.254-.004.253-.006.253-.007.252-.009.252-.011.252-.012.251-.014.251-.016.25-.017.25-.018.249-.021.249-.022.249-.023.248-.025.248-.027.247-.028.247-.03.246-.031.246-.033.246-.034.244-.036.245-.038.244-.039.243-.04.243-.042.243-.044.242-.045.241-.046.241-.049.241-.049.24-.051.239-.053.239-.054.238-.055.238-.057.237-.059.237-.06.236-.061.236-.063.235-.065.234-.065.234-.068.233-.068.233-.07.232-.072.231-.073.231-.074.231-.076.229-.077.229-.078.229-.08.228-.082.227-.082.226-.085.226-.085.226-.087.224-.088.224-.09.223-.091.223-.092.222-.093.221-.095.221-.097.22-.097.219-.099.219-.101.218-.101.217-.103.216-.104.216-.106.215-.107.214-.108.214-.109.213-.111.212-.112.211-.113.211-.114.21-.116.209-.117.208-.118.208-.12.207-.12.206-.122.205-.124.204-.124.204-.126.203-.127.202-.128.201-.129.201-.13.199-.132.199-.133.198-.134.198-.135.196-.137.195-.137.195-.139.194-.14.193-.141.192-.142.191-.144.191-.144.189-.146.189-.146.188-.148.187-.149.186-.151.185-.151.184-.152.183-.154.183-.154.181-.156.181-.157.179-.157.179-.159.178-.16.177-.161.175-.162.175-.164.174-.164.173-.165.172-.166.171-.168.171-.168.169-.17.168-.17.167-.171.166-.173.165-.173.165-.175.163-.175.162-.177.161-.177.Line truncated
|
||||
style="fill:#e3292e;fill-opacity:1"
|
||||
transform="translate(-2.511 12.577)"
|
||||
id="path8" />
|
||||
<g
|
||||
id="g14">
|
||||
<path
|
||||
d="M94.657 208.957h-1.486v-.027c-21.178-.783-38.132-18.223-38.132-39.592 0-19.576 14.229-35.855 32.9-39.05v-.161c0-35.453 28.783-64.237 64.237-64.237 35.454 0 64.238 28.784 64.238 64.237 0 .271-.002.538-.005.804 19.045 3.122 33.574 19.29 33.574 38.74 0 21.683-18.054 39.286-40.293 39.286H94.657Zm105.717-77.514.019-.004c.011-.436.017-.873.017-1.312 0-26.621-21.613-48.234-48.234-48.234-4.677 0-9.199.667-13.476 1.911-20.932 5.493-36.369 24.279-36.369 46.582a47.305 47.305 0 0 0 3.775 18.568 23.546 23.546 0 0 0-11.449-2.952c-13.063 0-23.669 10.606-23.669 23.669 0 13.064 10.606 23.67 23.669 23.67h115.614c13.064 0 23.67-10.606 23.67-23.67 0-13.063-10.606-23.669-23.67-23.669a23.56 23.56 0 0 0-14.616 5.056 47.28 47.28 0 0 0 4.719-19.615Z"
|
||||
style="fill:#2d67b9"
|
||||
transform="matrix(-1 0 0 1 302.511 12.577)"
|
||||
id="path10" />
|
||||
<path
|
||||
d="m151.761 65.891-.415.004-.414.007-.413.009-.413.012-.412.014-.411.017-.411.019-.41.023-.409.024-.408.027-.408.03-.408.033-.406.034-.406.038-.405.04-.404.042-.404.045-.403.047-.402.05-.401.053-.401.054-.399.058-.399.059-.398.063-.398.064-.396.067-.396.07-.395.072-.394.074-.393.077-.392.079-.392.081-.39.084-.39.086-.389.089-.388.091-.387.093-.386.096-.385.098-.384.1-.384.102-.382.105-.381.107-.381.11-.379.112-.379.114-.377.116-.377.118-.376.121-.374.123-.374.125-.372.128-.372.129-.37.132-.369.134-.369.137-.367.138-.366.141-.365.142-.365.145-.362.148-.362.149-.361.151-.36.154-.358.155-.358.158-.356.16-.355.162-.354.164-.353.166-.351.168-.351.171-.349.172-.348.174-.347.177-.345.178-.345.181-.343.182-.342.185-.341.186-.339.189-.338.19-.337.193-.336.194-.334.196-.333.199-.332.2-.33.202-.33.205-.327.206-.327.208-.325.21-.324.211-.322.214-.321.216-.32.217-.318.22-.317.221-.316.223-.314.225-.313.226-.311.229-.31.23-.309.233-.307.234-.305.235-.304.238-.303.239-.301.242-.3.242-.298.245-.297.247-.295.248-.294.25-.292.251-.291.254-.289.255-.287.256-.286.259-.285.26-.283.262-.281.263-.28.265-.278.267-.277.269-.275.27-.273.271-.272.274-.27.275-.268.276-.267.278-.265.28-.263.281-.262.283-.26.285-.259.286-.257.287-.255.29-.253.29-.252.292-.25.294-.248.295-.246.297-.245.298-.243.3-.241.301-.239.303-.238.304-.236.306-.234.307-.232.308-.23.31-.229.311-.226.313-.225.314-.223.316-.222.317-.219.318-.217.32-.216.321-.214.322-.212.324-.21.325-.208.327-.206.328-.204.329-.202.33-.2.332-.199.333-.196.335-.195.335-.192.337-.191.338-.188.34-.187.34-.184.342-.183.343-.18.345-.179.346-.176.346-.174.348-.173.35-.17.35-.168.352-.166.352-.164.354-.162.355-.16.357-.158.357-.156.359-.153.359-.151.361-.15.362-.147.363-.145.364-.143.365-.14.366-.139.367-.136.369-.134.369-.132.371-.13.371-.127.373-.125.373-.123.375-.121.375-.118.377-.117.377-.114.379-.111.379-.11.381-.107.381-.105.383-.102.383-.101.384-.098.385-.095.387-.093.387-.091.387-.089.389-.086.39-.084.391-.081.391-.08.392-.076.393-.075.395-.071.394-.07.396-.067.397-.065.397-.062.398-.06.399-.057.4-.055.4-.052.402-.05.402-.047.402-.045.404-.043.404-.039.405-.038.406-.035.407-.032.407-.03.408-.027.408-.025.41-.022.41-.019.41-.017.412-.015.412-.011.412-.01.414-.006.414-.004.414-.001.415v.161l-.219.039-.218.039-.218.04-.217.042-.217.043-.217.044-.216.045-.216.046-.215.048-.215.048-.214.05-.214.051-.213.052-.213.053-.213.055-.212.055-.211.057-.212.058-.21.059-.21.06-.21.061-.209.063-.209.063-.208.065-.208.066-.208.067-.206.068-.207.069-.205.07-.206.071-.204.072-.205.074-.203.074-.204.076-.202.077-.202.077-.202.079-.201.08-.201.081-.2.082-.199.083-.199.084-.198.085-.198.087-.197.087-.197.088-.196.09-.196.09-.195.091-.194.093-.194.093-.193.095-.193.095-.192.097-.191.097-.191.099-.19.1-.19.1-.189.102-.188.102-.188.104-.187.104-.187.106-.186.106-.185.107-.185.109-.184.109-.183.111-.183.111-.182.112-.181.113-.181.114-.18.115-.18.116-.178.117-.179.118-.177.119-.177.12-.176.121-.175.121-.175.123-.174.123-.173.125-.173.125-.172.126-.171.127-.171.128-.17.129-.169.13-.168.13-.168.132-.167.132-.166.133-.165.135-.165.135-.164.135-.163.137-.163.138-.162.138-.161.14-.16.14-.159.141-.159.142-.158.142-.157.144-.157.144-.155.145-.155.146-.154.147-.154.148-.152.148-.152.149-.151.15-.15.151-.149.152-.148.152-.148.154-.147.154-.146.154-.145.156-.145.156-.143.158-.143.157-.142.159-.141.16-.14.16-.139.161-.139.162-.138.162-.136.163-.136.164-.135.165-.134.165-.134.166-.132.167-.132.168-.13.168-.13.169-.129.17-.128.171-.127.171-.127.172-.125.172-.124.174-.124.174-.122.174-.122.176-.121.176-.12.177-.118.177-.118.178-.117.179-.116.179-.116.18-.114.181-.113.181-.112.182-.112.183-.11.183-.109.184-.109.185-.107.185-.107.186-.105.187-.105.187-.104.188-.102.188-.102.189-.1.19-.1.19-.098.191-.098.191-.097.192-.095.193-.095.193-.093.194-.093.194-.091.195-.091.195-.089.196-.088.197-.088.197-.086.198-.085.198-.085.199-.083.2-.082.2-.081.2-.08.201-.079.202-.077.202-.077.203-.076.203-.074.203-.074.205-.072.204-.072.206-.07.205-.069.207-.068.206-.067.208-.066.207-.064.209-.064.208-.062.21-.062.209-.06.211-.059.21-.058.211-.057.212-.055.212-.055.212-.053.213-.052.214-.051.214-.05.214-.049.215-.048.215-.046.216-.045.216-.044.216-.043.217-.042.217-.04.218-.04.218-.038.219-.037.219-.035.219-.035.22-.033.22-.032.221-.031.221-.03.221-.028.222-.027.222-.026.222-.025.223-.024.223-.022.224-.021.224-.02.224-.018.225-.017.225-.016.225-.015.226-.014.226-.012.226-.011.227-.009.227-.009.228-.007.227-.006.228-.004.229-.004.228-.002.229v.229l.001.251.002.25.004.249.005.249.007.249.009.248.01.248.011.248.013.247.015.247.016.246.017.246.019.246.021.245.022.245.023.244.025.244.027.243.028.243.029.243.031.242.032.241.034.242.035.24.037.241.038.239.04.24.041.238.042.239.044.238.045.237.047.237.048.236.049.236.051.235.052.235.054.234.055.234.056.233.058.233.059.232.122.462.064.231.064.23.066.229.067.229.069.228.07.228.071.227.073.226.074.226.075.225.076.225.078.224.079.223.081.223.082.222.083.222.084.221.085.22.087.22.088.219.18.436.092.217.093.Line truncated
|
||||
style="fill:#e3292e;fill-opacity:1"
|
||||
transform="matrix(-1 0 0 1 302.511 12.577)"
|
||||
id="path12" />
|
||||
</g>
|
||||
</g>
|
||||
<path
|
||||
d="m 114.30977,144.2723 h 50.31577 L 154.3183,133.29689 h 16.00038 l 16.01264,17.05067 -16.01264,17.04991 h -15.98379 l 10.44067,-11.1175 h -50.46579 z"
|
||||
style="clip-rule:evenodd;fill:#e3292e;fill-rule:evenodd;stroke-width:0.744302;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-7" /><path
|
||||
d="M 186.44817,172.91513 H 136.1324 l 10.30725,-10.97541 h -16.00039 l -16.01264,17.05067 16.01264,17.04991 h 15.98379 l -10.44067,-11.1175 h 50.46579 z"
|
||||
style="clip-rule:evenodd;fill:#e3292e;fill-rule:evenodd;stroke-width:0.744302;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path10-5" /></svg>
|
||||
|
After Width: | Height: | Size: 78 KiB |