This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch asf-staging
in repository https://gitbox.apache.org/repos/asf/stormcrawler-site.git
The following commit(s) were added to refs/heads/asf-staging by this push:
new 7778f03 publishing 2026-01-12T18:19:32+00:00
7778f03 is described below
commit 7778f03b7ae8a06553c57f6b3aed6e45398c2c73
Author: GitHub Actions Bot <>
AuthorDate: Mon Jan 12 18:19:32 2026 +0000
publishing 2026-01-12T18:19:32+00:00
---
DISCLAIMER | 10 -
NOTICE | 4 +-
contribute/index.html | 27 ++-
css/main.css | 26 +--
download/3.0/migration-guide.html | 19 +-
download/index.html | 37 ++--
faq/index.html | 33 ++--
feed.xml | 8 +-
getting-started/index.html | 23 +--
img/var1.svg | 404 ++++++++++++++++++++++++++++++++++++++
img/var1b.svg | 161 +++++++++++++++
img/var2.svg | 19 ++
img/var3.svg | 96 +++++++++
index.html | 27 ++-
logos.html | 66 +++++++
security/index.html | 135 +++++++++++++
support/index.html | 23 +--
17 files changed, 978 insertions(+), 140 deletions(-)
diff --git a/DISCLAIMER b/DISCLAIMER
deleted file mode 100644
index 14b3826..0000000
--- a/DISCLAIMER
+++ /dev/null
@@ -1,10 +0,0 @@
-Apache StormCrawler is an effort undergoing incubation at the Apache Software
-Foundation (ASF), sponsored by the Apache Incubator PMC.
-
-Incubation is required of all newly accepted projects until a further review
-indicates that the infrastructure, communications, and decision making process
-have stabilized in a manner consistent with other successful ASF projects.
-
-While incubation status is not necessarily a reflection of the completeness
-or stability of the code, it does indicate that the project has yet to be
-fully endorsed by the ASF.
\ No newline at end of file
diff --git a/NOTICE b/NOTICE
index 5735e11..63f8332 100644
--- a/NOTICE
+++ b/NOTICE
@@ -1,5 +1,5 @@
-Apache StormCrawler (Incubating)
-Copyright 2024 The Apache Software Foundation
+Apache StormCrawler
+Copyright 2025 The Apache Software Foundation
This product includes software developed by The Apache Software
Foundation (http://www.apache.org/).
diff --git a/contribute/index.html b/contribute/index.html
index 505abee..dcb7789 100644
--- a/contribute/index.html
+++ b/contribute/index.html
@@ -6,13 +6,13 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
- <title>How to contribute to Apache StormCrawler (Incubating)</title>
- <meta name="description" content="Apache StormCrawler (Incubating) is
collection of resources for building low-latency, scalable web crawlers on
Apache Storm
+ <title>How to contribute to Apache StormCrawler</title>
+ <meta name="description" content="Apache StormCrawler is collection of
resources for building low-latency, scalable web crawlers on Apache Storm
">
<link rel="stylesheet" href="/css/main.css">
<link rel="canonical" href="https://stormcrawler.apache.org/contribute/">
- <link rel="alternate" type="application/rss+xml" title="Apache StormCrawler
(Incubating)" href="https://stormcrawler.apache.org/feed.xml">
+ <link rel="alternate" type="application/rss+xml" title="Apache StormCrawler"
href="https://stormcrawler.apache.org/feed.xml">
<link rel="icon" type="/image/png" href="/img/favicon.png" />
</head>
@@ -22,7 +22,7 @@
<header class="site-header">
<div class="site-header__wrap">
<div class="site-header__logo">
- <a href="/"><img src="/img/incubator_logo.png" alt="Apache StormCrawler
(Incubating)"></a>
+ <a href="/"><img src="/img/logo-small.png" alt="Apache StormCrawler"></a>
</div>
</div>
</header>
@@ -32,8 +32,9 @@
<li><a href="/download/index.html">Download</a>
<li><a href="/getting-started/">Getting Started</a></li>
<li><a href="/contribute/">Contribute</a></li>
- <li><a
href="https://javadoc.io/doc/org.apache.stormcrawler/stormcrawler-core/3.3.0/index.html">JavaDocs</a>
+ <li><a
href="https://javadoc.io/doc/org.apache.stormcrawler/stormcrawler-core/3.5.0/index.html">JavaDocs</a>
<li><a href="/faq/">FAQ</a></li>
+ <li><a href="/security/">Security</a></li>
<li><a href="/support/">Support</a></li>
</ul>
</nav>
@@ -44,7 +45,7 @@
<div class="row row-col">
<h1>How to Contribute</h1>
- <h2 id="the-apache-stormcrawler-community">The Apache StormCrawler
(Incubating) Community</h2>
+ <h2 id="the-apache-stormcrawler-community">The Apache StormCrawler
Community</h2>
<p>If you have questions about the contribution process or want to discuss
specific issues, please interact with the community using the following
resources.</p>
<ul>
@@ -59,11 +60,11 @@
<p>Please see the Apache-wide <a
href="https://www.apache.org/foundation/policies/conduct">Code of
Conduct</a>.</p>
<h2 id="committers">Committers</h2>
- <p>The current list of Apache StormCrawler committers can be found in the
Apache <a
href="https://people.apache.org/phonebook.html?podling=stormcrawler">Phonebook</a>.</p>
+ <p>The current list of Apache StormCrawler committers can be found in the
Apache <a
href="https://people.apache.org/phonebook.html?project=stormcrawler">Phonebook</a>.</p>
- <p>All code merges require approval from at least one StormCrawler
committer. Most StormCrawler committers are also members of the PPMC. Releases
require that at least three StormCrawler PPMC members approve the release.</p>
+ <p>All code merges require approval from at least one StormCrawler
committer. Most StormCrawler committers are also members of the PMC. Releases
require that at least three StormCrawler PPMC members approve the release.</p>
- <p>We are looking to build up the number of committers and PPMC members.
We will invite people to join the team. This is based on meritocracy.
Contributors who have become involved in the StormCrawler community and who
have shown a good level of understanding of the StormCrawler code base will be
considered. </p>
+ <p>We are looking to build up the number of committers and PMC members. We
will invite people to join the team. This is based on meritocracy. Contributors
who have become involved in the StormCrawler community and who have shown a
good level of understanding of the StormCrawler code base will be considered.
</p>
<p>Code reviews and votes on releases can be made by anyone.</p>
@@ -72,12 +73,8 @@
</main>
<footer class="site-footer">
- <img src="/img/incubator_feather_egg_logo_bw_crop.png" alt="Apache
Incubator Logo" width="500"><br/>
-
- Apache StormCrawler is an effort undergoing incubation at The Apache
Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is
required of all newly accepted projects until a further review indicates that
the infrastructure, communications, and decision making process have stabilized
in a manner consistent with other successful ASF projects. While incubation
status is not necessarily a reflection of the completeness or stability of the
code, it does indicate that the p [...]
-<br/> <br/>
- © 2024 <a href="https://www.apache.org/">The Apache Software
Foundation</a><br/><br/>
-Licensed under the <a
href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
2.0</a>. <br/> Apache StormCrawler, StormCrawler, the Apache feather logo are
trademarks of The Apache Software Foundation. <br/> All other marks mentioned
may be trademarks or registered trademarks of their respective owners.
<br/><br/>
+© 2025 <a href="https://www.apache.org/">The Apache Software
Foundation</a><br/><br/>
+Licensed under the <a
href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
2.0</a>. <br/> Apache StormCrawler, StormCrawler, the Apache logo are
trademarks of The Apache Software Foundation. <br/> All other marks mentioned
may be trademarks or registered trademarks of their respective owners.
<br/><br/>
<a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy
Policy</a> | <a href="https://www.apache.org/security/">Security</a> | <a
href="https://www.apache.org/foundation/sponsorship">Sponsorship</a> | <a
href="https://www.apache.org/foundation/sponsors">Sponsors</a><br/><br/>
<div class="footer-widget">
<a class="acevent" data-format="wide" data-mode="dark"></a>
diff --git a/css/main.css b/css/main.css
index 1188f94..c29f983 100644
--- a/css/main.css
+++ b/css/main.css
@@ -7,7 +7,7 @@
-webkit-font-smoothing: antialiased; }
.row, .site-header__wrap, .site-nav ul, .page-title h1 {
- max-width: 900px;
+ max-width: 1000px;
margin: 0 auto; }
.row-col, .page-title h1 {
@@ -68,19 +68,13 @@ p {
.site-nav a {
padding: 9px 15px; } }
-.home .site-nav li:nth-child(1) a {
- background: #BE6551; }
-
-.getting-started .site-nav li:nth-child(4) a {
- background: #BE6551; }
-
-.docs .site-nav li:nth-child(5) a {
- background: #BE6551; }
-
-.faq .site-nav li:nth-child(6) a {
- background: #BE6551; }
-
-.support .site-nav li:nth-child(7) a {
+.home .site-nav li:nth-child(1) a,
+.download .site-nav li:nth-child(2) a,
+.getting-started .site-nav li:nth-child(3) a,
+.contribute .site-nav li:nth-child(4) a,
+.faq .site-nav li:nth-child(6) a,
+.security .site-nav li:nth-child(7) a,
+.support .site-nav li:nth-child(8) a {
background: #BE6551; }
main h1, main h2, main h3 {
@@ -163,12 +157,12 @@ pre {
text-align: center;
font-weight: bold;
padding: 5px 40px;
- font-size: 1.25rem;
+ font-size: 0.725rem;
line-height: 2rem;
position: relative; }
#forkongithub a:hover {
- background: #832779;
+ background: #BE6551;
color: #fff; }
#forkongithub a::before, #forkongithub a::after {
diff --git a/download/3.0/migration-guide.html
b/download/3.0/migration-guide.html
index c3206c3..fa236af 100644
--- a/download/3.0/migration-guide.html
+++ b/download/3.0/migration-guide.html
@@ -7,12 +7,12 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Migration Guide</title>
- <meta name="description" content="Apache StormCrawler (Incubating) is
collection of resources for building low-latency, scalable web crawlers on
Apache Storm
+ <meta name="description" content="Apache StormCrawler is collection of
resources for building low-latency, scalable web crawlers on Apache Storm
">
<link rel="stylesheet" href="/css/main.css">
<link rel="canonical"
href="https://stormcrawler.apache.org/download/3.0/migration-guide.html">
- <link rel="alternate" type="application/rss+xml" title="Apache StormCrawler
(Incubating)" href="https://stormcrawler.apache.org/feed.xml">
+ <link rel="alternate" type="application/rss+xml" title="Apache StormCrawler"
href="https://stormcrawler.apache.org/feed.xml">
<link rel="icon" type="/image/png" href="/img/favicon.png" />
</head>
@@ -22,7 +22,7 @@
<header class="site-header">
<div class="site-header__wrap">
<div class="site-header__logo">
- <a href="/"><img src="/img/incubator_logo.png" alt="Apache StormCrawler
(Incubating)"></a>
+ <a href="/"><img src="/img/logo-small.png" alt="Apache StormCrawler"></a>
</div>
</div>
</header>
@@ -32,8 +32,9 @@
<li><a href="/download/index.html">Download</a>
<li><a href="/getting-started/">Getting Started</a></li>
<li><a href="/contribute/">Contribute</a></li>
- <li><a
href="https://javadoc.io/doc/org.apache.stormcrawler/stormcrawler-core/3.3.0/index.html">JavaDocs</a>
+ <li><a
href="https://javadoc.io/doc/org.apache.stormcrawler/stormcrawler-core/3.5.0/index.html">JavaDocs</a>
<li><a href="/faq/">FAQ</a></li>
+ <li><a href="/security/">Security</a></li>
<li><a href="/support/">Support</a></li>
</ul>
</nav>
@@ -42,7 +43,7 @@
<main class="main-content">
<div class="row row-col">
-<h1>Apache StormCrawler (Incubating) Migration Guide</h1>
+<h1>Apache StormCrawler Migration Guide</h1>
<h2>Introduction</h2>
<p>This guide provides step-by-step instructions for migrating your project
from older versions of StormCrawler to the new version under the Apache
umbrella. Key changes include updates to the group and artifact IDs, as well as
the removal of the Elasticsearch module.</p>
@@ -118,12 +119,8 @@
</main>
<footer class="site-footer">
- <img src="/img/incubator_feather_egg_logo_bw_crop.png" alt="Apache
Incubator Logo" width="500"><br/>
-
- Apache StormCrawler is an effort undergoing incubation at The Apache
Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is
required of all newly accepted projects until a further review indicates that
the infrastructure, communications, and decision making process have stabilized
in a manner consistent with other successful ASF projects. While incubation
status is not necessarily a reflection of the completeness or stability of the
code, it does indicate that the p [...]
-<br/> <br/>
- © 2024 <a href="https://www.apache.org/">The Apache Software
Foundation</a><br/><br/>
-Licensed under the <a
href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
2.0</a>. <br/> Apache StormCrawler, StormCrawler, the Apache feather logo are
trademarks of The Apache Software Foundation. <br/> All other marks mentioned
may be trademarks or registered trademarks of their respective owners.
<br/><br/>
+© 2025 <a href="https://www.apache.org/">The Apache Software
Foundation</a><br/><br/>
+Licensed under the <a
href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
2.0</a>. <br/> Apache StormCrawler, StormCrawler, the Apache logo are
trademarks of The Apache Software Foundation. <br/> All other marks mentioned
may be trademarks or registered trademarks of their respective owners.
<br/><br/>
<a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy
Policy</a> | <a href="https://www.apache.org/security/">Security</a> | <a
href="https://www.apache.org/foundation/sponsorship">Sponsorship</a> | <a
href="https://www.apache.org/foundation/sponsors">Sponsors</a><br/><br/>
<div class="footer-widget">
<a class="acevent" data-format="wide" data-mode="dark"></a>
diff --git a/download/index.html b/download/index.html
index 144ba94..724a558 100644
--- a/download/index.html
+++ b/download/index.html
@@ -7,12 +7,12 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Download</title>
- <meta name="description" content="Apache StormCrawler (Incubating) is
collection of resources for building low-latency, scalable web crawlers on
Apache Storm
+ <meta name="description" content="Apache StormCrawler is collection of
resources for building low-latency, scalable web crawlers on Apache Storm
">
<link rel="stylesheet" href="/css/main.css">
<link rel="canonical" href="https://stormcrawler.apache.org/download/">
- <link rel="alternate" type="application/rss+xml" title="Apache StormCrawler
(Incubating)" href="https://stormcrawler.apache.org/feed.xml">
+ <link rel="alternate" type="application/rss+xml" title="Apache StormCrawler"
href="https://stormcrawler.apache.org/feed.xml">
<link rel="icon" type="/image/png" href="/img/favicon.png" />
</head>
@@ -22,7 +22,7 @@
<header class="site-header">
<div class="site-header__wrap">
<div class="site-header__logo">
- <a href="/"><img src="/img/incubator_logo.png" alt="Apache StormCrawler
(Incubating)"></a>
+ <a href="/"><img src="/img/logo-small.png" alt="Apache StormCrawler"></a>
</div>
</div>
</header>
@@ -32,8 +32,9 @@
<li><a href="/download/index.html">Download</a>
<li><a href="/getting-started/">Getting Started</a></li>
<li><a href="/contribute/">Contribute</a></li>
- <li><a
href="https://javadoc.io/doc/org.apache.stormcrawler/stormcrawler-core/3.3.0/index.html">JavaDocs</a>
+ <li><a
href="https://javadoc.io/doc/org.apache.stormcrawler/stormcrawler-core/3.5.0/index.html">JavaDocs</a>
<li><a href="/faq/">FAQ</a></li>
+ <li><a href="/security/">Security</a></li>
<li><a href="/support/">Support</a></li>
</ul>
</nav>
@@ -47,38 +48,32 @@
<h2>Release Integrity</h2>
<p>You <b>must</b> <a
href="https://www.apache.org/info/verification.html">verify</a> the integrity
of the
downloaded files. We provide OpenPGP signatures (*.asc files) for
every release file. This signature should be
- matched against <a
href="https://downloads.apache.org/incubator/stormcrawler/KEYS">KEYS</a> file
which contains the
+ matched against <a
href="https://downloads.apache.org/stormcrawler/KEYS">KEYS</a> file which
contains the
OpenPGP keys of StormCrawlers’s Release Managers. We also provide
SHA-512 checksums for every release file.
After you download the file, you should calculate a checksum for your
download, and make sure it is the same as
ours. </p>
<p>More information about release signing and verifying signatures can be
found <a
href="https://www.apache.org/dev/release-signing.html">here</a>.</p>
- <h2>Disclaimer</h2>
- <p>Apache StormCrawler is an effort undergoing incubation at The Apache
Software Foundation (ASF), sponsored by the
- Apache Incubator. Incubation is required of all newly accepted
projects until a further review indicates that
- the infrastructure, communications, and decision making process have
stabilized in a manner consistent with
- other successful ASF projects. While incubation status is not
necessarily a reflection of the completeness or
- stability of the code, it does indicate that the project has yet to be
fully endorsed by the ASF.</p>
<h2>Downloads</h2>
- <h3>Apache StormCrawler (Incubating) 3.3.0</h3>
+ <h3>Apache StormCrawler 3.5.0</h3>
<br/>
<ul>
- <li><a
href="https://github.com/apache/incubator-stormcrawler/releases/tag/stormcrawler-3.3.0">Release
Notes</a></li>
+ <li><a
href="https://github.com/apache/stormcrawler/releases/tag/stormcrawler-3.5.0">Release
Notes</a></li>
</ul>
<h4>Source</h4>
<ul>
<li>
- <a
href="https://www.apache.org/dyn/closer.lua/incubator/stormcrawler/stormcrawler-3.3.0/apache-stormcrawler-3.3.0-incubating-source-release.tar.gz">apache-stormcrawler-3.3.0-incubating-source-release.tar.gz</a>
+ <a
href="https://www.apache.org/dyn/closer.lua/stormcrawler/stormcrawler-3.5.0/apache-stormcrawler-3.5.0-source-release.tar.gz">apache-stormcrawler-3.5.0-source-release.tar.gz</a>
| <a
-
href="https://downloads.apache.org/incubator/stormcrawler/stormcrawler-3.3.0/apache-stormcrawler-3.3.0-incubating-source-release.tar.gz.sha512">SHA512</a>
+
href="https://downloads.apache.org/stormcrawler/stormcrawler-3.5.0/apache-stormcrawler-3.5.0-source-release.tar.gz.sha512">SHA512</a>
| <a
-
href="https://downloads.apache.org/incubator/stormcrawler/stormcrawler-3.3.0/apache-stormcrawler-3.3.0-incubating-source-release.tar.gz.asc">ASC</a>
+
href="https://downloads.apache.org/stormcrawler/stormcrawler-3.5.0/apache-stormcrawler-3.5.0-source-release.tar.gz.asc">ASC</a>
</li>
</ul>
<h4>Maven</h4>
- <p>Artifacts are also available via <a
href="https://search.maven.org/search?q=org.apache.stormcrawler">Maven
+ <p>Artifacts are available via <a
href="https://search.maven.org/search?q=org.apache.stormcrawler">Maven
Central</a></p>
<h3>Older Releases</h3>
@@ -90,12 +85,8 @@
</main>
<footer class="site-footer">
- <img src="/img/incubator_feather_egg_logo_bw_crop.png" alt="Apache
Incubator Logo" width="500"><br/>
-
- Apache StormCrawler is an effort undergoing incubation at The Apache
Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is
required of all newly accepted projects until a further review indicates that
the infrastructure, communications, and decision making process have stabilized
in a manner consistent with other successful ASF projects. While incubation
status is not necessarily a reflection of the completeness or stability of the
code, it does indicate that the p [...]
-<br/> <br/>
- © 2024 <a href="https://www.apache.org/">The Apache Software
Foundation</a><br/><br/>
-Licensed under the <a
href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
2.0</a>. <br/> Apache StormCrawler, StormCrawler, the Apache feather logo are
trademarks of The Apache Software Foundation. <br/> All other marks mentioned
may be trademarks or registered trademarks of their respective owners.
<br/><br/>
+© 2025 <a href="https://www.apache.org/">The Apache Software
Foundation</a><br/><br/>
+Licensed under the <a
href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
2.0</a>. <br/> Apache StormCrawler, StormCrawler, the Apache logo are
trademarks of The Apache Software Foundation. <br/> All other marks mentioned
may be trademarks or registered trademarks of their respective owners.
<br/><br/>
<a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy
Policy</a> | <a href="https://www.apache.org/security/">Security</a> | <a
href="https://www.apache.org/foundation/sponsorship">Sponsorship</a> | <a
href="https://www.apache.org/foundation/sponsors">Sponsors</a><br/><br/>
<div class="footer-widget">
<a class="acevent" data-format="wide" data-mode="dark"></a>
diff --git a/faq/index.html b/faq/index.html
index 613d175..3cbd6c9 100644
--- a/faq/index.html
+++ b/faq/index.html
@@ -6,13 +6,13 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
- <title>Apache StormCrawler (Incubating)</title>
- <meta name="description" content="Apache StormCrawler (Incubating) is
collection of resources for building low-latency, scalable web crawlers on
Apache Storm
+ <title>Apache StormCrawler</title>
+ <meta name="description" content="Apache StormCrawler is collection of
resources for building low-latency, scalable web crawlers on Apache Storm
">
<link rel="stylesheet" href="/css/main.css">
<link rel="canonical" href="https://stormcrawler.apache.org/faq/">
- <link rel="alternate" type="application/rss+xml" title="Apache StormCrawler
(Incubating)" href="https://stormcrawler.apache.org/feed.xml">
+ <link rel="alternate" type="application/rss+xml" title="Apache StormCrawler"
href="https://stormcrawler.apache.org/feed.xml">
<link rel="icon" type="/image/png" href="/img/favicon.png" />
</head>
@@ -22,7 +22,7 @@
<header class="site-header">
<div class="site-header__wrap">
<div class="site-header__logo">
- <a href="/"><img src="/img/incubator_logo.png" alt="Apache StormCrawler
(Incubating)"></a>
+ <a href="/"><img src="/img/logo-small.png" alt="Apache StormCrawler"></a>
</div>
</div>
</header>
@@ -32,8 +32,9 @@
<li><a href="/download/index.html">Download</a>
<li><a href="/getting-started/">Getting Started</a></li>
<li><a href="/contribute/">Contribute</a></li>
- <li><a
href="https://javadoc.io/doc/org.apache.stormcrawler/stormcrawler-core/3.3.0/index.html">JavaDocs</a>
+ <li><a
href="https://javadoc.io/doc/org.apache.stormcrawler/stormcrawler-core/3.5.0/index.html">JavaDocs</a>
<li><a href="/faq/">FAQ</a></li>
+ <li><a href="/security/">Security</a></li>
<li><a href="/support/">Support</a></li>
</ul>
</nav>
@@ -48,7 +49,7 @@
<p>A: Probably worth having a look at <a
href="http://storm.apache.org/">Apache Storm® first. The <a
href="http://storm.apache.org/releases/current/Tutorial.html">tutorial</a> and
<a href="http://storm.apache.org/documentation/Concepts.html">concept</a> pages
are good starting points.</p>
- <p><strong>Q: Do I need an Apache Storm® cluster to run Apache StormCrawler
(Incubating)?</strong></p>
+ <p><strong>Q: Do I need an Apache Storm® cluster to run Apache
StormCrawler?</strong></p>
<p>A: No. It can run in local mode and will just use the Storm libraries as
dependencies. It makes sense to install Storm in pseudo-distributed mode though
so that you can use its UI to monitor the topologies.</p>
@@ -56,7 +57,7 @@
<p>A: Apache Storm® is an elegant framework, with simple concepts, which
provides a solid platform for distributed stream processing. It gives us fault
tolerance and guaranteed data processing out of the box. The project is also
very dynamic and backed by a thriving community. Last but not least it is under
ASF 2.0 license.</p>
- <p id="howfast"><strong>Q: How fast is Apache StormCrawler
(Incubating)?</strong></p>
+ <p id="howfast"><strong>Q: How fast is Apache StormCrawler?</strong></p>
<p>A: This depends mainly on the diversity of hostnames as well as your
politeness settings. For instance, if you have 1M URLs from the same host and
have set a delay of 1 sec between request then the best you'll be able to do is
86400 pages per day. In practice this would be less than that as the time
needed for fetching the content (which itself depends on your network and how
large the documents are), parsing and indexing it etc... This is true of any
crawler, not just StormCrawler.</p>
@@ -65,16 +66,16 @@
<p>A: This <a
href="http://digitalpebble.blogspot.co.uk/2015/09/index-web-with-aws-cloudsearch.html">tutorial</a>
on using Apache Nutch® and SC for indexing with Cloudsearch give you some idea
of how they compare in their methodology and performance.
We also ran a comparative <a
href="http://digitalpebble.blogspot.co.uk/2017/01/the-battle-of-crawlers-apache-nutch-vs.html">benchmark</a>
on a larger crawl.</p>
<p>In a nutshell (pardon the pun), Nutch proceeds by batch steps where it
selects the URLs to fetch, fetches them, parses them then update it database
with the new info about the URLs it just processed and adds the newly
discovered URLs. The generate and update steps take longer and longer as the
crawl grows and the resources are used unevenly : when fetching there is little
CPU or disk used whereas when doing all the other activities, you are not
fetching anything at all, which is a w [...]
- <p>Apache StormCrawler (Incubating) proceeds differently and does everything
at the same time, hence optimising the physical resources of the cluster, but
can potentially accomodate more use cases, e.g. when URLs naturally come as
streams or when low latency is a must. URLs also get indexed as they are
fetched and not as a batch. On a more subjective note and apart from being
potentially more efficient, Apache StormCrawler (Incubating) is more modern,
easier to understand and build, ni [...]
- <p>Apache Nutch® is a great tool though, which we used for years with many
of our customers at DigitalPebble, and it can also do things that Apache
StormCrawler (Incubating) cannot currently do out of the box like deduplicating
or advanced scoring like PageRank.</p>
+ <p>Apache StormCrawler proceeds differently and does everything at the same
time, hence optimising the physical resources of the cluster, but can
potentially accomodate more use cases, e.g. when URLs naturally come as streams
or when low latency is a must. URLs also get indexed as they are fetched and
not as a batch. On a more subjective note and apart from being potentially more
efficient, Apache StormCrawler is more modern, easier to understand and build,
nicer to use, more versatile [...]
+ <p>Apache Nutch® is a great tool though, which we used for years with many
of our customers at DigitalPebble, and it can also do things that Apache
StormCrawler cannot currently do out of the box like deduplicating or advanced
scoring like PageRank.</p>
<p><strong>Q: Do I need some sort of external storage? And if so, then
what?</strong></p>
<p>A: Yes, you'll need to store the URLs to fetch somewhere. The type of the
storage to use depends on the nature of your crawl. If your crawl is not
recursive i.e. you just want to process specific pages and/or won't discover
new pages through more than one path, then you could use messaging queues like
<a href="https://www.rabbitmq.com/">RabbitMQ</a>, <a
href="https://aws.amazon.com/sqs/">AWS SQS</a> or <a
href="http://kafka.apache.org">Apache Kafka®</a>. All you'll need is a Spout i
[...]
- <p>If your crawl is recursive and there is a possibility that URLs which are
already known are discovered multiple times, then a queue won't help as it
would add the same URL to the queue every time it is discovered. This would be
very inefficient. Instead you should use a storage where the keys are unique,
like for instance a relational database. Apache StormCrawler (Incubating) has
several resources you can use in the <a
href="https://github.com/apache/incubator-stormcrawler/tree/mas [...]
- <p>The advantage of using Apache StormCrawler (Incubating) is that is it
both modular and flexible. You can plug it to pretty much any storage you
want.</p>
+ <p>If your crawl is recursive and there is a possibility that URLs which are
already known are discovered multiple times, then a queue won't help as it
would add the same URL to the queue every time it is discovered. This would be
very inefficient. Instead you should use a storage where the keys are unique,
like for instance a relational database. Apache StormCrawler has several
resources you can use in the <a
href="https://github.com/apache/incubator-stormcrawler/tree/master/external"
[...]
+ <p>The advantage of using Apache StormCrawler is that is it both modular and
flexible. You can plug it to pretty much any storage you want.</p>
- <p><strong>Q: Is Apache StormCrawler (Incubating) polite?</strong></p>
+ <p><strong>Q: Is Apache StormCrawler polite?</strong></p>
<p>A: The <a href="http://www.robotstxt.org/">robots.txt</a> protocol is
supported and the fetchers are configured to have a <a
href="https://github.com/apache/incubator-stormcrawler/blob/master/core/src/main/resources/crawler-default.yaml#L6">delay</a>
between calls to the same hostname or domain. However like with every tool, it
is down to how people use it.</p>
<p><strong>Q: When do I know when a crawl is finished?</strong></p>
@@ -85,12 +86,8 @@
</main>
<footer class="site-footer">
- <img src="/img/incubator_feather_egg_logo_bw_crop.png" alt="Apache
Incubator Logo" width="500"><br/>
-
- Apache StormCrawler is an effort undergoing incubation at The Apache
Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is
required of all newly accepted projects until a further review indicates that
the infrastructure, communications, and decision making process have stabilized
in a manner consistent with other successful ASF projects. While incubation
status is not necessarily a reflection of the completeness or stability of the
code, it does indicate that the p [...]
-<br/> <br/>
- © 2024 <a href="https://www.apache.org/">The Apache Software
Foundation</a><br/><br/>
-Licensed under the <a
href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
2.0</a>. <br/> Apache StormCrawler, StormCrawler, the Apache feather logo are
trademarks of The Apache Software Foundation. <br/> All other marks mentioned
may be trademarks or registered trademarks of their respective owners.
<br/><br/>
+© 2025 <a href="https://www.apache.org/">The Apache Software
Foundation</a><br/><br/>
+Licensed under the <a
href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
2.0</a>. <br/> Apache StormCrawler, StormCrawler, the Apache logo are
trademarks of The Apache Software Foundation. <br/> All other marks mentioned
may be trademarks or registered trademarks of their respective owners.
<br/><br/>
<a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy
Policy</a> | <a href="https://www.apache.org/security/">Security</a> | <a
href="https://www.apache.org/foundation/sponsorship">Sponsorship</a> | <a
href="https://www.apache.org/foundation/sponsors">Sponsors</a><br/><br/>
<div class="footer-widget">
<a class="acevent" data-format="wide" data-mode="dark"></a>
diff --git a/feed.xml b/feed.xml
index 43f4d5c..684ce28 100644
--- a/feed.xml
+++ b/feed.xml
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
- <title>Apache StormCrawler (Incubating)</title>
- <description>Apache StormCrawler (Incubating) is collection of resources
for building low-latency, scalable web crawlers on Apache Storm
+ <title>Apache StormCrawler</title>
+ <description>Apache StormCrawler is collection of resources for building
low-latency, scalable web crawlers on Apache Storm
</description>
<link>https://stormcrawler.apache.org/</link>
<atom:link href="https://stormcrawler.apache.org/feed.xml" rel="self"
type="application/rss+xml"/>
- <pubDate>Wed, 02 Apr 2025 18:19:25 +0000</pubDate>
- <lastBuildDate>Wed, 02 Apr 2025 18:19:25 +0000</lastBuildDate>
+ <pubDate>Mon, 12 Jan 2026 18:19:31 +0000</pubDate>
+ <lastBuildDate>Mon, 12 Jan 2026 18:19:31 +0000</lastBuildDate>
<generator>Jekyll v3.9.5</generator>
</channel>
diff --git a/getting-started/index.html b/getting-started/index.html
index c989ed3..b10b5cb 100644
--- a/getting-started/index.html
+++ b/getting-started/index.html
@@ -6,13 +6,13 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
- <title>Getting started with Apache StormCrawler (Incubating)</title>
- <meta name="description" content="Apache StormCrawler (Incubating) is
collection of resources for building low-latency, scalable web crawlers on
Apache Storm
+ <title>Getting started with Apache StormCrawler</title>
+ <meta name="description" content="Apache StormCrawler is collection of
resources for building low-latency, scalable web crawlers on Apache Storm
">
<link rel="stylesheet" href="/css/main.css">
<link rel="canonical"
href="https://stormcrawler.apache.org/getting-started/">
- <link rel="alternate" type="application/rss+xml" title="Apache StormCrawler
(Incubating)" href="https://stormcrawler.apache.org/feed.xml">
+ <link rel="alternate" type="application/rss+xml" title="Apache StormCrawler"
href="https://stormcrawler.apache.org/feed.xml">
<link rel="icon" type="/image/png" href="/img/favicon.png" />
</head>
@@ -22,7 +22,7 @@
<header class="site-header">
<div class="site-header__wrap">
<div class="site-header__logo">
- <a href="/"><img src="/img/incubator_logo.png" alt="Apache StormCrawler
(Incubating)"></a>
+ <a href="/"><img src="/img/logo-small.png" alt="Apache StormCrawler"></a>
</div>
</div>
</header>
@@ -32,8 +32,9 @@
<li><a href="/download/index.html">Download</a>
<li><a href="/getting-started/">Getting Started</a></li>
<li><a href="/contribute/">Contribute</a></li>
- <li><a
href="https://javadoc.io/doc/org.apache.stormcrawler/stormcrawler-core/3.3.0/index.html">JavaDocs</a>
+ <li><a
href="https://javadoc.io/doc/org.apache.stormcrawler/stormcrawler-core/3.5.0/index.html">JavaDocs</a>
<li><a href="/faq/">FAQ</a></li>
+ <li><a href="/security/">Security</a></li>
<li><a href="/support/">Support</a></li>
</ul>
</nav>
@@ -47,7 +48,7 @@
<p>NOTE: These instructions assume that you have <a
href="https://maven.apache.org/install.html">Apache Maven®</a> installed.
You will also need to install <a href="https://storm.apache.org/">Apache
Storm® 2.8.0</a> to run the crawler.</p>
- <p>Once Apache Storm® is installed, the easiest way to get started is to
generate a brand new Apache StormCrawler (Incubating) project using:</p>
+ <p>Once Apache Storm® is installed, the easiest way to get started is to
generate a brand new Apache StormCrawler project using:</p>
<p><i>mvn archetype:generate -DarchetypeGroupId=org.apache.stormcrawler
-DarchetypeArtifactId=stormcrawler-archetype -DarchetypeVersion=3.3.0</i></p>
@@ -61,7 +62,7 @@
<p>What this CrawlTopology does is very simple : it gets URLs to crawl from a
<a href="https://urlfrontier.net">URLFrontier</a> instance and emits them on
the topology. These URLs are then partitioned by hostname to enfore the
politeness and then fetched. The next bolt (SiteMapParserBolt) checks whether
they are sitemap files and if not passes them on to a HTML parser. The parser
extracts the text from the document and passes it to a dummy indexer which
simply prints a representation of [...]
- <p>Of course this topology is very primitive and its purpose is merely to
give you an idea of how Apache StormCrawler (Incubating) works. In reality,
you'd use a different spout and index the documents to a proper backend. Look
at the <a
href="https://github.com/apache/incubator-stormcrawler/blob/master/external">external
modules</a> to see what's already available. Another limitation of this
topology is that it will work in local mode only or on a single worker.</p>
+ <p>Of course this topology is very primitive and its purpose is merely to
give you an idea of how Apache StormCrawler works. In reality, you'd use a
different spout and index the documents to a proper backend. Look at the <a
href="https://github.com/apache/incubator-stormcrawler/blob/master/external">external
modules</a> to see what's already available. Another limitation of this
topology is that it will work in local mode only or on a single worker.</p>
<p>You can run the topology in local mode with :</p>
@@ -82,12 +83,8 @@
</main>
<footer class="site-footer">
- <img src="/img/incubator_feather_egg_logo_bw_crop.png" alt="Apache
Incubator Logo" width="500"><br/>
-
- Apache StormCrawler is an effort undergoing incubation at The Apache
Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is
required of all newly accepted projects until a further review indicates that
the infrastructure, communications, and decision making process have stabilized
in a manner consistent with other successful ASF projects. While incubation
status is not necessarily a reflection of the completeness or stability of the
code, it does indicate that the p [...]
-<br/> <br/>
- © 2024 <a href="https://www.apache.org/">The Apache Software
Foundation</a><br/><br/>
-Licensed under the <a
href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
2.0</a>. <br/> Apache StormCrawler, StormCrawler, the Apache feather logo are
trademarks of The Apache Software Foundation. <br/> All other marks mentioned
may be trademarks or registered trademarks of their respective owners.
<br/><br/>
+© 2025 <a href="https://www.apache.org/">The Apache Software
Foundation</a><br/><br/>
+Licensed under the <a
href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
2.0</a>. <br/> Apache StormCrawler, StormCrawler, the Apache logo are
trademarks of The Apache Software Foundation. <br/> All other marks mentioned
may be trademarks or registered trademarks of their respective owners.
<br/><br/>
<a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy
Policy</a> | <a href="https://www.apache.org/security/">Security</a> | <a
href="https://www.apache.org/foundation/sponsorship">Sponsorship</a> | <a
href="https://www.apache.org/foundation/sponsors">Sponsors</a><br/><br/>
<div class="footer-widget">
<a class="acevent" data-format="wide" data-mode="dark"></a>
diff --git a/img/var1.svg b/img/var1.svg
new file mode 100644
index 0000000..b181adf
--- /dev/null
+++ b/img/var1.svg
@@ -0,0 +1,404 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ width="171.80588pt"
+ height="102.79297pt"
+ viewBox="0 0 171.80588 102.79297"
+ version="1.2"
+ id="svg44"
+ sodipodi:docname="var1.svg"
+ inkscape:version="1.4.3 (0d15f75, 2025-12-25)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg">
+ <sodipodi:namedview
+ id="namedview44"
+ pagecolor="#ffffff"
+ bordercolor="#000000"
+ borderopacity="0.25"
+ inkscape:showpageshadow="2"
+ inkscape:pageopacity="0.0"
+ inkscape:pagecheckerboard="0"
+ inkscape:deskcolor="#d1d1d1"
+ inkscape:document-units="pt"
+ inkscape:zoom="3.6712945"
+ inkscape:cx="114.53726"
+ inkscape:cy="68.640638"
+ inkscape:window-width="1512"
+ inkscape:window-height="921"
+ inkscape:window-x="0"
+ inkscape:window-y="33"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="svg44" />
+ <defs
+ id="defs20">
+ <g
+ id="g20">
+ <symbol
+ overflow="visible"
+ id="glyph0-0">
+ <path
+ style="stroke:none"
+ d="m 0.40625,0 v -7 h 5.0625 v 7 z m 0.796875,-0.703125 h 3.46875 v
-5.59375 h -3.46875 z m 0,0"
+ id="path1" />
+ </symbol>
+ <symbol
+ overflow="visible"
+ id="glyph0-1">
+ <path
+ style="stroke:none"
+ d="M 0.015625,0 3.21875,-7 H 3.953125 L 7.15625,0 H 6.375 L
3.4375,-6.5625 H 3.734375 L 0.796875,0 Z M 1.28125,-1.875 1.5,-2.46875 H 5.5625
L 5.796875,-1.875 Z m 0,0"
+ id="path2" />
+ </symbol>
+ <symbol
+ overflow="visible"
+ id="glyph0-2">
+ <path
+ style="stroke:none"
+ d="m 1.140625,0 v -7 h 2.625 c 0.59375,0 1.101563,0.09375
1.53125,0.28125 0.425781,0.1875 0.753906,0.464844 0.984375,0.828125
0.226562,0.355469 0.34375,0.789063 0.34375,1.296875 0,0.492188
-0.117188,0.914062 -0.34375,1.265625 C 6.050781,-2.972656 5.722656,-2.695312
5.296875,-2.5 c -0.429687,0.199219 -0.9375,0.296875 -1.53125,0.296875 H
1.546875 L 1.875,-2.5625 V 0 Z M 1.875,-2.5 1.546875,-2.859375 h 2.1875 c
0.707031,0 1.238281,-0.148437 1.59375,-0.453125 C 5.691406,-3.613281 [...]
+ id="path3" />
+ </symbol>
+ <symbol
+ overflow="visible"
+ id="glyph0-3">
+ <path
+ style="stroke:none"
+ d="m 4.1875,0.0625 c -0.53125,0 -1.023438,-0.0859375
-1.46875,-0.265625 -0.449219,-0.175781 -0.839844,-0.425781 -1.171875,-0.75 C
1.222656,-1.273438 0.96875,-1.648438 0.78125,-2.078125 0.601562,-2.515625
0.515625,-2.988281 0.515625,-3.5 c 0,-0.507812 0.085937,-0.976562
0.265625,-1.40625 0.1875,-0.4375 0.445312,-0.816406 0.78125,-1.140625
0.332031,-0.320313 0.722656,-0.570313 1.171875,-0.75 C 3.179688,-6.972656
3.664062,-7.0625 4.1875,-7.0625 c 0.507812,0 0.988281,0.089844 1.43 [...]
+ id="path4" />
+ </symbol>
+ <symbol
+ overflow="visible"
+ id="glyph0-4">
+ <path
+ style="stroke:none"
+ d="m 6.265625,0 v -7 h 0.71875 v 7 z m -5.125,0 V -7 H 1.875 v 7 z
m 0.65625,-3.234375 V -3.875 h 4.53125 v 0.640625 z m 0,0"
+ id="path5" />
+ </symbol>
+ <symbol
+ overflow="visible"
+ id="glyph0-5">
+ <path
+ style="stroke:none"
+ d="M 1.140625,0 V -7 H 5.9375 v 0.640625 H 1.875 v 5.71875 H
6.09375 V 0 Z m 0.65625,-3.234375 V -3.875 H 5.5 v 0.640625 z m 0,0"
+ id="path6" />
+ </symbol>
+ <symbol
+ overflow="visible"
+ id="glyph1-0">
+ <path
+ style="stroke:none"
+ d="m 0.40625,0 v -7 h 5.0625 v 7 z m 0.796875,-0.703125 h 3.46875 v
-5.59375 h -3.46875 z m 0,0"
+ id="path7" />
+ </symbol>
+ <symbol
+ overflow="visible"
+ id="glyph1-1">
+ <path
+ style="stroke:none"
+ d="M 3.125,0.125 C 2.570312,0.125 2.035156,0.0507812
1.515625,-0.09375 1.003906,-0.25 0.59375,-0.445312 0.28125,-0.6875 l
0.546875,-1.21875 c 0.300781,0.210938 0.65625,0.382812 1.0625,0.515625
0.414063,0.136719 0.832031,0.203125 1.25,0.203125 0.320313,0 0.578125,-0.03125
0.765625,-0.09375 0.195312,-0.0625 0.34375,-0.144531 0.4375,-0.25
0.09375,-0.113281 0.140625,-0.25 0.140625,-0.40625 0,-0.175781
-0.074219,-0.320312 -0.21875,-0.4375 C 4.117188,-2.488281 3.925781,-2.578125
3.6 [...]
+ id="path8" />
+ </symbol>
+ <symbol
+ overflow="visible"
+ id="glyph1-2">
+ <path
+ style="stroke:none"
+ d="M 2.28125,0 V -5.6875 H 0.046875 V -7 h 6.09375 v 1.3125 H
3.90625 V 0 Z m 0,0"
+ id="path9" />
+ </symbol>
+ <symbol
+ overflow="visible"
+ id="glyph1-3">
+ <path
+ style="stroke:none"
+ d="M 4.234375,0.125 C 3.679688,0.125 3.164062,0.0351562
2.6875,-0.140625 2.21875,-0.328125 1.8125,-0.582031 1.46875,-0.90625
1.125,-1.238281 0.859375,-1.625 0.671875,-2.0625 0.484375,-2.5
0.390625,-2.976562 0.390625,-3.5 c 0,-0.519531 0.09375,-1 0.28125,-1.4375 C
0.859375,-5.375 1.125,-5.753906 1.46875,-6.078125 1.820312,-6.410156
2.234375,-6.664062 2.703125,-6.84375 3.171875,-7.03125 3.675781,-7.125
4.21875,-7.125 c 0.550781,0 1.054688,0.09375 1.515625,0.28125 0.46875,0.17968
[...]
+ id="path10" />
+ </symbol>
+ <symbol
+ overflow="visible"
+ id="glyph1-4">
+ <path
+ style="stroke:none"
+ d="M 0.828125,0 V -7 H 3.8125 c 0.976562,0 1.738281,0.226562
2.28125,0.671875 0.539062,0.449219 0.8125,1.074219 0.8125,1.875 0,0.511719
-0.125,0.960937 -0.375,1.34375 -0.25,0.375 -0.605469,0.664063 -1.0625,0.859375
-0.449219,0.199219 -0.984375,0.296875 -1.609375,0.296875 h -2.125 L
2.453125,-2.65625 V 0 Z m 4.453125,0 -1.75,-2.546875 H 5.265625 L 7.03125,0 Z m
-2.828125,-2.484375 -0.71875,-0.75 h 2.03125 c 0.5,0 0.875,-0.109375
1.125,-0.328125 0.25,-0.21875 0.375,-0.515625 0.3 [...]
+ id="path11" />
+ </symbol>
+ <symbol
+ overflow="visible"
+ id="glyph1-5">
+ <path
+ style="stroke:none"
+ d="m 0.828125,0 v -7 h 1.34375 L 5.15625,-2.0625 H 4.4375 L
7.375,-7 H 8.703125 L 8.71875,0 H 7.203125 L 7.1875,-4.671875 H 7.46875 L
5.125,-0.734375 H 4.40625 l -2.390625,-3.9375 H 2.34375 V 0 Z m 0,0"
+ id="path12" />
+ </symbol>
+ <symbol
+ overflow="visible"
+ id="glyph1-6">
+ <path
+ style="stroke:none"
+ d="M 4.1875,0.125 C 3.644531,0.125 3.140625,0.0351562
2.671875,-0.140625 2.210938,-0.316406 1.8125,-0.566406 1.46875,-0.890625
1.125,-1.222656 0.859375,-1.609375 0.671875,-2.046875 0.484375,-2.484375
0.390625,-2.96875 0.390625,-3.5 c 0,-0.53125 0.09375,-1.015625
0.28125,-1.453125 C 0.859375,-5.390625 1.125,-5.769531 1.46875,-6.09375
1.8125,-6.425781 2.210938,-6.679688 2.671875,-6.859375 3.140625,-7.035156
3.644531,-7.125 4.1875,-7.125 c 0.601562,0 1.148438,0.109375 1.640625,0. [...]
+ id="path13" />
+ </symbol>
+ <symbol
+ overflow="visible"
+ id="glyph1-7">
+ <path
+ style="stroke:none"
+ d="m -0.09375,0 3.125,-7 H 4.625 L 7.765625,0 H 6.0625 L
3.5,-6.1875 H 4.140625 L 1.5625,0 Z m 1.5625,-1.5 0.4375,-1.234375 H 5.5 L
5.9375,-1.5 Z m 0,0"
+ id="path14" />
+ </symbol>
+ <symbol
+ overflow="visible"
+ id="glyph1-8">
+ <path
+ style="stroke:none"
+ d="M 2.515625,0 0.21875,-7 h 1.6875 l 1.984375,6.203125 H 3.046875
L 5.125,-7 h 1.5 l 2,6.203125 H 7.8125 L 9.859375,-7 H 11.40625 L 9.125,0 H
7.375 L 5.609375,-5.4375 H 6.0625 L 4.25,0 Z m 0,0"
+ id="path15" />
+ </symbol>
+ <symbol
+ overflow="visible"
+ id="glyph1-9">
+ <path
+ style="stroke:none"
+ d="m 0.828125,0 v -7 h 1.625 v 5.6875 h 3.5 V 0 Z m 0,0"
+ id="path16" />
+ </symbol>
+ <symbol
+ overflow="visible"
+ id="glyph1-10">
+ <path
+ style="stroke:none"
+ d="M 0.828125,0 V -7 H 6.125 v 1.296875 H 2.4375 v 4.40625 H 6.25 V
0 Z M 2.3125,-2.921875 V -4.1875 h 3.375 v 1.265625 z m 0,0"
+ id="path17" />
+ </symbol>
+ <symbol
+ overflow="visible"
+ id="glyph2-0">
+ <path
+ style="stroke:none"
+ d="M 0.15625,0 V -2.796875 H 2.1875 V 0 Z M 0.484375,-0.28125 H
1.875 V -2.515625 H 0.484375 Z m 0,0"
+ id="path18" />
+ </symbol>
+ <symbol
+ overflow="visible"
+ id="glyph2-1">
+ <path
+ style="stroke:none"
+ d="M 0.90625,0 V -2.265625 H 0.015625 v -0.53125 h 2.4375 v 0.53125
H 1.5625 V 0 Z m 0,0"
+ id="path19" />
+ </symbol>
+ <symbol
+ overflow="visible"
+ id="glyph2-2">
+ <path
+ style="stroke:none"
+ d="M 0.328125,0 V -2.796875 H 0.875 l 1.1875,1.96875 H 1.78125 l
1.171875,-1.96875 h 0.53125 V 0 H 2.875 v -1.875 h 0.109375 l -0.9375,1.578125
H 1.765625 L 0.796875,-1.875 H 0.9375 V 0 Z m 0,0"
+ id="path20" />
+ </symbol>
+ </g>
+ </defs>
+ <g
+ id="surface6775442"
+ transform="translate(-167.57812,-170.10937)">
+ <g
+ style="fill:#303033;fill-opacity:1"
+ id="g21">
+ <use
+ xlink:href="#glyph0-1"
+ x="242.27773"
+ y="240.18927"
+ id="use20" />
+ </g>
+ <g
+ style="fill:#303033;fill-opacity:1"
+ id="g22">
+ <use
+ xlink:href="#glyph0-2"
+ x="249.44772"
+ y="240.18927"
+ id="use21" />
+ </g>
+ <g
+ style="fill:#303033;fill-opacity:1"
+ id="g23">
+ <use
+ xlink:href="#glyph0-1"
+ x="256.1777"
+ y="240.18927"
+ id="use22" />
+ </g>
+ <g
+ style="fill:#303033;fill-opacity:1"
+ id="g24">
+ <use
+ xlink:href="#glyph0-3"
+ x="263.24771"
+ y="240.18927"
+ id="use23" />
+ </g>
+ <g
+ style="fill:#303033;fill-opacity:1"
+ id="g25">
+ <use
+ xlink:href="#glyph0-4"
+ x="270.33771"
+ y="240.18927"
+ id="use24" />
+ </g>
+ <g
+ style="fill:#303033;fill-opacity:1"
+ id="g26">
+ <use
+ xlink:href="#glyph0-5"
+ x="278.46771"
+ y="240.18927"
+ id="use25" />
+ </g>
+ <g
+ style="fill:#303033;fill-opacity:1"
+ id="g27">
+ <use
+ xlink:href="#glyph1-1"
+ x="242.27773"
+ y="252.68927"
+ id="use26" />
+ </g>
+ <g
+ style="fill:#303033;fill-opacity:1"
+ id="g28">
+ <use
+ xlink:href="#glyph1-2"
+ x="248.55772"
+ y="252.68927"
+ id="use27" />
+ </g>
+ <g
+ style="fill:#303033;fill-opacity:1"
+ id="g29">
+ <use
+ xlink:href="#glyph1-3"
+ x="254.6377"
+ y="252.68927"
+ id="use28" />
+ </g>
+ <g
+ style="fill:#303033;fill-opacity:1"
+ id="g30">
+ <use
+ xlink:href="#glyph1-4"
+ x="263.0777"
+ y="252.68927"
+ id="use29" />
+ </g>
+ <g
+ style="fill:#303033;fill-opacity:1"
+ id="g31">
+ <use
+ xlink:href="#glyph1-5"
+ x="270.4277"
+ y="252.68927"
+ id="use30" />
+ </g>
+ <g
+ style="fill:#b01e2e;fill-opacity:1"
+ id="g32">
+ <use
+ xlink:href="#glyph1-6"
+ x="279.97769"
+ y="252.68927"
+ id="use31" />
+ </g>
+ <g
+ style="fill:#b01e2e;fill-opacity:1"
+ id="g33">
+ <use
+ xlink:href="#glyph1-4"
+ x="287.21771"
+ y="252.68927"
+ id="use32" />
+ </g>
+ <g
+ style="fill:#b01e2e;fill-opacity:1"
+ id="g34">
+ <use
+ xlink:href="#glyph1-7"
+ x="294.56769"
+ y="252.68927"
+ id="use33" />
+ </g>
+ <g
+ style="fill:#b01e2e;fill-opacity:1"
+ id="g35">
+ <use
+ xlink:href="#glyph1-8"
+ x="301.84769"
+ y="252.68927"
+ id="use34" />
+ </g>
+ <g
+ style="fill:#b01e2e;fill-opacity:1"
+ id="g36">
+ <use
+ xlink:href="#glyph1-9"
+ x="313.32767"
+ y="252.68927"
+ id="use35" />
+ </g>
+ <g
+ style="fill:#b01e2e;fill-opacity:1"
+ id="g37">
+ <use
+ xlink:href="#glyph1-10"
+ x="319.36765"
+ y="252.68927"
+ id="use36" />
+ </g>
+ <g
+ style="fill:#b01e2e;fill-opacity:1"
+ id="g38">
+ <use
+ xlink:href="#glyph1-4"
+ x="326.07764"
+ y="252.68927"
+ id="use37" />
+ </g>
+ <g
+ style="fill:#303033;fill-opacity:1"
+ id="g39">
+ <use
+ xlink:href="#glyph2-1"
+ x="333.42764"
+ y="249.08928"
+ id="use38" />
+ </g>
+ <g
+ style="fill:#303033;fill-opacity:1"
+ id="g40">
+ <use
+ xlink:href="#glyph2-2"
+ x="335.89963"
+ y="249.08928"
+ id="use39" />
+ </g>
+ <path
+ style="fill:#333333;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="m 202.73828,227.20312 c -0.35937,0.97266 -0.65234,2.0625
-0.29297,3.09766 0.22656,0.65234 0.67188,1.21484 1.06641,1.76953
-1.19531,0.0977 -2.19141,1.03125 -3.09766,1.73438 -1.32031,1.02734
-2.6289,2.01172 -3.87109,3.13672 -0.54297,0.49218 -1.07813,1.0664
-1.66016,1.51171 -0.51172,0.39063 -1.1875,0.625 -1.58594,1.14454
-0.48828,0.63281 -0.59375,1.3789 -0.88671,2.10156 -0.44141,1.10156
-0.92188,2.23047 -1.41797,3.32031 -1.05469,2.29688 -1.86719,4.71875
-2.78516,7.08203 -0.26172,0 [...]
+ id="path40" />
+ <path
+ style="fill:#303033;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="m 167.57812,229.75 0.10157,0.10156 c 0.85547,-0.17969 1.625,-1.32031
2.22656,-1.92187 1.55469,-1.55469 3.12109,-3.06641 4.85547,-4.41797
0.97656,-0.75781 2.03125,-1.6875 3.13672,-2.24219 0.63281,-0.31641
1.34375,-0.42187 2.02343,-0.55469 1.53907,-0.30078 3.07813,-0.47265
4.65235,-0.47265 0.82812,0 1.92187,-0.34766 2.73437,-0.0664 0.26563,0.0898
0.45703,0.32422 0.70703,0.45313 0.38282,0.19921 0.85547,0.13671 1.21485,0.35546
0.64844,0.39844 1.22265,0.97657 1.82031,1.44922 1.22266 [...]
+ id="path41" />
+ <path
+ style="fill:#f5f8ff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="m 208.4375,237.50391 c 0,0.3125 -0.25391,0.5664 -0.57031,0.5664
-0.3125,0 -0.57032,-0.2539 -0.57032,-0.5664 0,-0.31641 0.25391,-0.57032
0.57032,-0.57032 0.3125,-0.004 0.57031,0.25391 0.57031,0.56641 l -0.57031,0.004
z m 0,0"
+ id="path42" />
+ <path
+ style="fill:#f5f8ff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="m 210.60937,237.51562 c 0,0.31641 -0.2539,0.57032 -0.5664,0.57032
-0.31641,0 -0.57031,-0.25391 -0.57031,-0.56641 0,-0.31641 0.2539,-0.57031
0.5664,-0.57422 0.31641,0 0.57031,0.25391 0.57031,0.57031 h -0.5664 z m 0,0"
+ id="path43" />
+ <path
+ style="fill:#b01e30;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="m 212.83594,208.80078 c 0.1914,0.10938 0.27734,0.33594
0.21484,0.54297 l -1.68359,5.47266 h 3.10547 c 0.41015,0 0.62109,0.48828
0.33984,0.78906 l -7.48047,7.94531 c -0.33984,0.35938 -0.93359,0.0156
-0.78516,-0.45703 l 1.6836,-5.47266 H 205.125 c -0.41016,0 -0.625,-0.49218
-0.34375,-0.78906 l 7.48047,-7.94531 c 0.14844,-0.16016 0.38672,-0.19531
0.57422,-0.0859 z m 0,0"
+ id="path44" />
+ </g>
+</svg>
diff --git a/img/var1b.svg b/img/var1b.svg
new file mode 100644
index 0000000..a5d61f0
--- /dev/null
+++ b/img/var1b.svg
@@ -0,0 +1,161 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ width="186.0731pt"
+ height="52.538219pt"
+ viewBox="0 0 186.07311 52.538218"
+ version="1.2"
+ id="svg44"
+ sodipodi:docname="var1b.svg"
+ inkscape:version="1.4.3 (0d15f75, 2025-12-25)"
+ xml:space="preserve"
+ 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"><sodipodi:namedview
+ id="namedview44"
+ pagecolor="#ffffff"
+ bordercolor="#000000"
+ borderopacity="0.25"
+ inkscape:showpageshadow="2"
+ inkscape:pageopacity="0.0"
+ inkscape:pagecheckerboard="0"
+ inkscape:deskcolor="#d1d1d1"
+ inkscape:document-units="pt"
+ inkscape:zoom="3.6712947"
+ inkscape:cx="107.1829"
+ inkscape:cy="62.103432"
+ inkscape:window-width="1512"
+ inkscape:window-height="921"
+ inkscape:window-x="0"
+ inkscape:window-y="33"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="surface6775442" /><defs
+ id="defs20"><g
+ id="g20"><symbol
+ overflow="visible"
+ id="glyph0-0"><path
+ style="stroke:none"
+ d="m 0.40625,0 v -7 h 5.0625 v 7 z m 0.796875,-0.703125 h 3.46875 v
-5.59375 h -3.46875 z m 0,0"
+ id="path1" /></symbol><symbol
+ overflow="visible"
+ id="glyph0-1"><path
+ style="stroke:none"
+ d="M 0.015625,0 3.21875,-7 H 3.953125 L 7.15625,0 H 6.375 L
3.4375,-6.5625 H 3.734375 L 0.796875,0 Z M 1.28125,-1.875 1.5,-2.46875 H 5.5625
L 5.796875,-1.875 Z m 0,0"
+ id="path2" /></symbol><symbol
+ overflow="visible"
+ id="glyph0-2"><path
+ style="stroke:none"
+ d="m 1.140625,0 v -7 h 2.625 c 0.59375,0 1.101563,0.09375
1.53125,0.28125 0.425781,0.1875 0.753906,0.464844 0.984375,0.828125
0.226562,0.355469 0.34375,0.789063 0.34375,1.296875 0,0.492188
-0.117188,0.914062 -0.34375,1.265625 C 6.050781,-2.972656 5.722656,-2.695312
5.296875,-2.5 c -0.429687,0.199219 -0.9375,0.296875 -1.53125,0.296875 H
1.546875 L 1.875,-2.5625 V 0 Z M 1.875,-2.5 1.546875,-2.859375 h 2.1875 c
0.707031,0 1.238281,-0.148437 1.59375,-0.453125 C 5.691406,-3.613281 [...]
+ id="path3" /></symbol><symbol
+ overflow="visible"
+ id="glyph0-3"><path
+ style="stroke:none"
+ d="m 4.1875,0.0625 c -0.53125,0 -1.023438,-0.0859375
-1.46875,-0.265625 -0.449219,-0.175781 -0.839844,-0.425781 -1.171875,-0.75 C
1.222656,-1.273438 0.96875,-1.648438 0.78125,-2.078125 0.601562,-2.515625
0.515625,-2.988281 0.515625,-3.5 c 0,-0.507812 0.085937,-0.976562
0.265625,-1.40625 0.1875,-0.4375 0.445312,-0.816406 0.78125,-1.140625
0.332031,-0.320313 0.722656,-0.570313 1.171875,-0.75 C 3.179688,-6.972656
3.664062,-7.0625 4.1875,-7.0625 c 0.507812,0 0.988281,0.089844 1.43 [...]
+ id="path4" /></symbol><symbol
+ overflow="visible"
+ id="glyph0-4"><path
+ style="stroke:none"
+ d="m 6.265625,0 v -7 h 0.71875 v 7 z m -5.125,0 V -7 H 1.875 v 7 z
m 0.65625,-3.234375 V -3.875 h 4.53125 v 0.640625 z m 0,0"
+ id="path5" /></symbol><symbol
+ overflow="visible"
+ id="glyph0-5"><path
+ style="stroke:none"
+ d="M 1.140625,0 V -7 H 5.9375 v 0.640625 H 1.875 v 5.71875 H
6.09375 V 0 Z m 0.65625,-3.234375 V -3.875 H 5.5 v 0.640625 z m 0,0"
+ id="path6" /></symbol><symbol
+ overflow="visible"
+ id="glyph1-0"><path
+ style="stroke:none"
+ d="m 0.40625,0 v -7 h 5.0625 v 7 z m 0.796875,-0.703125 h 3.46875 v
-5.59375 h -3.46875 z m 0,0"
+ id="path7" /></symbol><symbol
+ overflow="visible"
+ id="glyph1-1"><path
+ style="stroke:none"
+ d="M 3.125,0.125 C 2.570312,0.125 2.035156,0.0507812
1.515625,-0.09375 1.003906,-0.25 0.59375,-0.445312 0.28125,-0.6875 l
0.546875,-1.21875 c 0.300781,0.210938 0.65625,0.382812 1.0625,0.515625
0.414063,0.136719 0.832031,0.203125 1.25,0.203125 0.320313,0 0.578125,-0.03125
0.765625,-0.09375 0.195312,-0.0625 0.34375,-0.144531 0.4375,-0.25
0.09375,-0.113281 0.140625,-0.25 0.140625,-0.40625 0,-0.175781
-0.074219,-0.320312 -0.21875,-0.4375 C 4.117188,-2.488281 3.925781,-2.578125
3.6 [...]
+ id="path8" /></symbol><symbol
+ overflow="visible"
+ id="glyph1-2"><path
+ style="stroke:none"
+ d="M 2.28125,0 V -5.6875 H 0.046875 V -7 h 6.09375 v 1.3125 H
3.90625 V 0 Z m 0,0"
+ id="path9" /></symbol><symbol
+ overflow="visible"
+ id="glyph1-3"><path
+ style="stroke:none"
+ d="M 4.234375,0.125 C 3.679688,0.125 3.164062,0.0351562
2.6875,-0.140625 2.21875,-0.328125 1.8125,-0.582031 1.46875,-0.90625
1.125,-1.238281 0.859375,-1.625 0.671875,-2.0625 0.484375,-2.5
0.390625,-2.976562 0.390625,-3.5 c 0,-0.519531 0.09375,-1 0.28125,-1.4375 C
0.859375,-5.375 1.125,-5.753906 1.46875,-6.078125 1.820312,-6.410156
2.234375,-6.664062 2.703125,-6.84375 3.171875,-7.03125 3.675781,-7.125
4.21875,-7.125 c 0.550781,0 1.054688,0.09375 1.515625,0.28125 0.46875,0.17968
[...]
+ id="path10" /></symbol><symbol
+ overflow="visible"
+ id="glyph1-4"><path
+ style="stroke:none"
+ d="M 0.828125,0 V -7 H 3.8125 c 0.976562,0 1.738281,0.226562
2.28125,0.671875 0.539062,0.449219 0.8125,1.074219 0.8125,1.875 0,0.511719
-0.125,0.960937 -0.375,1.34375 -0.25,0.375 -0.605469,0.664063 -1.0625,0.859375
-0.449219,0.199219 -0.984375,0.296875 -1.609375,0.296875 h -2.125 L
2.453125,-2.65625 V 0 Z m 4.453125,0 -1.75,-2.546875 H 5.265625 L 7.03125,0 Z m
-2.828125,-2.484375 -0.71875,-0.75 h 2.03125 c 0.5,0 0.875,-0.109375
1.125,-0.328125 0.25,-0.21875 0.375,-0.515625 0.3 [...]
+ id="path11" /></symbol><symbol
+ overflow="visible"
+ id="glyph1-5"><path
+ style="stroke:none"
+ d="m 0.828125,0 v -7 h 1.34375 L 5.15625,-2.0625 H 4.4375 L
7.375,-7 H 8.703125 L 8.71875,0 H 7.203125 L 7.1875,-4.671875 H 7.46875 L
5.125,-0.734375 H 4.40625 l -2.390625,-3.9375 H 2.34375 V 0 Z m 0,0"
+ id="path12" /></symbol><symbol
+ overflow="visible"
+ id="glyph1-6"><path
+ style="stroke:none"
+ d="M 4.1875,0.125 C 3.644531,0.125 3.140625,0.0351562
2.671875,-0.140625 2.210938,-0.316406 1.8125,-0.566406 1.46875,-0.890625
1.125,-1.222656 0.859375,-1.609375 0.671875,-2.046875 0.484375,-2.484375
0.390625,-2.96875 0.390625,-3.5 c 0,-0.53125 0.09375,-1.015625
0.28125,-1.453125 C 0.859375,-5.390625 1.125,-5.769531 1.46875,-6.09375
1.8125,-6.425781 2.210938,-6.679688 2.671875,-6.859375 3.140625,-7.035156
3.644531,-7.125 4.1875,-7.125 c 0.601562,0 1.148438,0.109375 1.640625,0. [...]
+ id="path13" /></symbol><symbol
+ overflow="visible"
+ id="glyph1-7"><path
+ style="stroke:none"
+ d="m -0.09375,0 3.125,-7 H 4.625 L 7.765625,0 H 6.0625 L
3.5,-6.1875 H 4.140625 L 1.5625,0 Z m 1.5625,-1.5 0.4375,-1.234375 H 5.5 L
5.9375,-1.5 Z m 0,0"
+ id="path14" /></symbol><symbol
+ overflow="visible"
+ id="glyph1-8"><path
+ style="stroke:none"
+ d="M 2.515625,0 0.21875,-7 h 1.6875 l 1.984375,6.203125 H 3.046875
L 5.125,-7 h 1.5 l 2,6.203125 H 7.8125 L 9.859375,-7 H 11.40625 L 9.125,0 H
7.375 L 5.609375,-5.4375 H 6.0625 L 4.25,0 Z m 0,0"
+ id="path15" /></symbol><symbol
+ overflow="visible"
+ id="glyph1-9"><path
+ style="stroke:none"
+ d="m 0.828125,0 v -7 h 1.625 v 5.6875 h 3.5 V 0 Z m 0,0"
+ id="path16" /></symbol><symbol
+ overflow="visible"
+ id="glyph1-10"><path
+ style="stroke:none"
+ d="M 0.828125,0 V -7 H 6.125 v 1.296875 H 2.4375 v 4.40625 H 6.25 V
0 Z M 2.3125,-2.921875 V -4.1875 h 3.375 v 1.265625 z m 0,0"
+ id="path17" /></symbol><symbol
+ overflow="visible"
+ id="glyph2-0"><path
+ style="stroke:none"
+ d="M 0.15625,0 V -2.796875 H 2.1875 V 0 Z M 0.484375,-0.28125 H
1.875 V -2.515625 H 0.484375 Z m 0,0"
+ id="path18" /></symbol><symbol
+ overflow="visible"
+ id="glyph2-1"><path
+ style="stroke:none"
+ d="M 0.90625,0 V -2.265625 H 0.015625 v -0.53125 h 2.4375 v 0.53125
H 1.5625 V 0 Z m 0,0"
+ id="path19" /></symbol><symbol
+ overflow="visible"
+ id="glyph2-2"><path
+ style="stroke:none"
+ d="M 0.328125,0 V -2.796875 H 0.875 l 1.1875,1.96875 H 1.78125 l
1.171875,-1.96875 h 0.53125 V 0 H 2.875 v -1.875 h 0.109375 l -0.9375,1.578125
H 1.765625 L 0.796875,-1.875 H 0.9375 V 0 Z m 0,0"
+ id="path20" /></symbol></g><clipPath
+ id="clip0_2_693-4"><rect
+ width="54"
+ height="68"
+ fill="#ffffff"
+ id="rect22"
+ x="0"
+ y="0" /></clipPath></defs><g
+ id="surface6775442"
+ transform="translate(-191.68405,-219.34269)"><path
+
style="fill:#333333;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.56626"
+ d="m 212.45187,248.52376 c -0.22547,0.49712 -0.40927,1.05413
-0.18384,1.58321 0.14219,0.33343 0.42152,0.62091 0.66903,0.90442
-0.74991,0.0501 -1.37483,0.52708 -1.94338,0.88647 -0.8283,0.52507
-1.64926,1.02819 -2.42857,1.60319 -0.34063,0.25154 -0.67638,0.54504
-1.04153,0.77265 -0.32103,0.19964 -0.74499,0.31943 -0.99495,0.58496
-0.30634,0.32345 -0.3725,0.70479 -0.5563,1.07412 -0.2769,0.56301
-0.57835,1.14003 -0.88959,1.69705 -0.66166,1.17394 -1.1714,2.41178
-1.7473,3.61968 -0.1641,0 [...]
+ id="path40" /><path
+
style="fill:#303033;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.567511"
+ d="m 191.68405,249.94158 0.061,0.0544 c 0.51379,-0.0964
0.97595,-0.70803 1.33724,-1.03064 0.9337,-0.83372 1.87443,-1.6444
2.91607,-2.3692 0.58648,-0.4064 1.2199,-0.90495 1.88382,-1.20242
0.38005,-0.1697 0.80703,-0.22624 1.21522,-0.29745 0.92431,-0.16134
1.84866,-0.25348 2.79408,-0.25348 0.49737,0 1.15424,-0.18644 1.64218,-0.0355
0.15955,0.0482 0.27451,0.1739 0.42466,0.24299 0.2299,0.10693 0.51376,0.0733
0.72957,0.19063 0.38946,0.21368 0.73431,0.52372 1.09326,0.77718 0.73428,0.5195
[...]
+ id="path41" /><path
+
style="fill:#b01e30;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.602013"
+ d="m 219.00562,239.84466 c 0.13966,0.0542 0.20232,0.16684
0.15668,0.26963 l -1.22862,2.71784 h 2.26628 c 0.29933,0 0.45328,0.2425
0.24802,0.39186 l -5.45909,3.9458 c -0.24801,0.17845 -0.68131,0.008
-0.57296,-0.22697 l 1.22863,-2.71783 h -2.26629 c -0.29933,0 -0.45613,-0.24442
-0.25087,-0.39185 l 5.45908,-3.94581 c 0.10836,-0.0796 0.28221,-0.097
0.41906,-0.0426 z m 0,0"
+ id="path44" /><g
+ style="fill:none"
+ id="g115"
+ transform="matrix(0.74999999,0,0,0.74999999,202.27741,217.3729)"><path
+ d="m 54.024,30 3.84,-8.4 h 0.876 l 3.84,8.4 h -0.936 l -3.528,-7.884
h 0.36 L 54.948,30 Z m 1.512,-2.244 0.264,-0.72 h 4.884 l 0.264,0.72 z M
63.9696,30 v -8.4 h 3.144 c 0.712,0 1.324,0.116 1.836,0.348 0.512,0.224
0.904,0.552 1.176,0.984 0.28,0.424 0.42,0.94 0.42,1.548 0,0.592 -0.14,1.104
-0.42,1.536 -0.272,0.424 -0.664,0.752 -1.176,0.984 -0.512,0.232 -1.124,0.348
-1.836,0.348 h -2.652 l 0.396,-0.42 V 30 Z m 0.888,-3 -0.396,-0.432 h 2.628 c
0.84,0 1.476,-0.18 1.908,-0.54 0.44,-0 [...]
+ fill="#333333"
+ id="path1-2" /><path
+ d="m 137.145,48.2 c -1.067,0 -2.06,-0.1733 -2.98,-0.52 -0.907,-0.36
-1.7,-0.86 -2.38,-1.5 -0.667,-0.6533 -1.187,-1.42 -1.56,-2.3 -0.373,-0.88
-0.56,-1.84 -0.56,-2.88 0,-1.04 0.187,-2 0.56,-2.88 0.373,-0.88 0.9,-1.64
1.58,-2.28 0.68,-0.6533 1.473,-1.1533 2.38,-1.5 0.907,-0.36 1.9,-0.54
2.98,-0.54 1.147,0 2.193,0.2 3.14,0.6 0.947,0.3867 1.747,0.9667 2.4,1.74 l
-1.68,1.58 c -0.507,-0.5467 -1.073,-0.9533 -1.7,-1.22 -0.627,-0.28 -1.307,-0.42
-2.04,-0.42 -0.733,0 -1.407,0.12 -2.02,0.3 [...]
+ fill="#99181c"
+ id="path2-3" /></g></g></svg>
diff --git a/img/var2.svg b/img/var2.svg
new file mode 100644
index 0000000..8abeb25
--- /dev/null
+++ b/img/var2.svg
@@ -0,0 +1,19 @@
+<svg width="320" height="156" viewBox="0 0 320 156" fill="none"
xmlns="http://www.w3.org/2000/svg">
+<path d="M100.12 73L107.848 56.2H109.072L116.8 73H115.48L108.184
56.968H108.712L101.44 73H100.12ZM102.952 68.272L103.36 67.24H113.416L113.824
68.272H102.952ZM119.85 73V56.2H125.874C127.282 56.2 128.49 56.424 129.498
56.872C130.506 57.32 131.282 57.968 131.826 58.816C132.37 59.648 132.642 60.664
132.642 61.864C132.642 63.032 132.37 64.04 131.826 64.888C131.282 65.736
130.506 66.384 129.498 66.832C128.49 67.28 127.282 67.504 125.874
67.504H120.522L121.074 66.928V73H119.85ZM121.074 67L120.5 [...]
+<path d="M199.774 102.24C198.494 102.24 197.302 102.032 196.198 101.616C195.11
101.184 194.158 100.584 193.342 99.816C192.542 99.032 191.918 98.112 191.47
97.056C191.022 96 190.798 94.848 190.798 93.6C190.798 92.352 191.022 91.2
191.47 90.144C191.918 89.088 192.55 88.176 193.366 87.408C194.182 86.624
195.134 86.024 196.222 85.608C197.31 85.176 198.502 84.96 199.798 84.96C201.174
84.96 202.43 85.2 203.566 85.68C204.702 86.144 205.662 86.84 206.446
87.768L204.43 89.664C203.822 89.008 203.1 [...]
+<g clip-path="url(#clip0_3_15)">
+<path d="M24.927 154.981C25.224 154.684 25.1153 154.309 24.5517 153.687C20.956
149.72 16.8009 135.356 17.7447 130.155C18.9759 123.37 19.4748 120.537 20.1732
116.364C21.1602 110.467 21.4807 108.462 21.6779 106.952C21.7648 106.286 21.9565
105.259 22.1036 104.671C22.3075 103.855 22.4567 100.107 23.2951 98.0157C23.4197
97.7047 23.601 97.4016 23.8503 97.1777C24.3709 96.7105 25.0737 96.4948 25.7141
96.2135C27.3394 95.4997 28.9204 95.0843 30.7163 94.3862C34.1781 93.0406 34.7143
92.7783 35.5081 [...]
+<path d="M52.7252 71.8751L52.7079 71.8924L52.7272 71.8934C52.7272 71.8857
52.7252 71.8847 52.7252 71.8751ZM45.9341 80.5837C45.3837 80.5824 44.8238
80.6426 44.3228 80.7011C42.8407 80.8738 40.9271 81.1518 40.2066 82.4585C38.6212
85.3336 39.2052 93.5226 45.2713 92.8398C51.3375 92.1571 50.4968 83.8877 48.2988
81.3887C47.7437 80.7575 46.8515 80.5859 45.9341 80.5837Z" fill="#9E191D"/>
+<path d="M42.5063 37.5409C36.4896 37.7955 30.7467 44.2899 28.5244
54.5685C28.3888 55.1959 28.1965 55.8705 28.097 56.0674C27.6452 56.9607 27.4216
62.8355 27.7998 63.8705C27.9079 64.1661 28.1024 64.8896 28.2321 65.4778C29.4064
70.7983 33.9272 74.7949 39.5819 75.5114C47.8332 76.5569 55.509 72.1344 57.6173
65.121C57.8297 64.4151 58.1081 63.5171 58.2356 63.125C60.0918 57.4167 54.4556
43.7236 48.4943 39.4574C46.5479 38.0646 44.5118 37.4561 42.5063
37.5409ZM54.6572 75.0005C54.0986 75.4036 53.99 [...]
+<path d="M46.0759 92.2655C46.6071 92.2655 47.0377 91.8349 47.0377
91.3037C47.0377 90.7725 46.6071 90.3419 46.0759 90.3419C45.5448 90.3419 45.1142
90.7725 45.1142 91.3037C45.1142 91.8349 45.5448 92.2655 46.0759 92.2655Z"
fill="#333333"/>
+<path d="M43.7594 92.3978C44.2906 92.3978 44.7212 91.9672 44.7212
91.4361C44.7212 90.9049 44.2906 90.4743 43.7594 90.4743C43.2283 90.4743 42.7977
90.9049 42.7977 91.4361C42.7977 91.9672 43.2283 92.3978 43.7594 92.3978Z"
fill="#333333"/>
+<path d="M47.6148 90.3419C47.9335 90.3419 48.1918 90.0835 48.1918
89.7648C48.1918 89.4461 47.9335 89.1878 47.6148 89.1878C47.2961 89.1878 47.0377
89.4461 47.0377 89.7648C47.0377 90.0835 47.2961 90.3419 47.6148 90.3419Z"
fill="#333333"/>
+<path d="M42.2206 90.4743C42.5393 90.4743 42.7976 90.2159 42.7976
89.8972C42.7976 89.5785 42.5393 89.3202 42.2206 89.3202C41.9019 89.3202 41.6435
89.5785 41.6435 89.8972C41.6435 90.2159 41.9019 90.4743 42.2206 90.4743Z"
fill="#333333"/>
+<path d="M47.8351 47.2145C47.9732 47.2946 48.0801 47.4191 48.1382
47.5677C48.1964 47.7163 48.2024 47.8803 48.1554 48.0328L45.6146
56.2885H50.3025C50.4403 56.2884 50.5751 56.3287 50.6902 56.4044C50.8053 56.48
50.8958 56.5877 50.9504 56.7142C51.005 56.8407 51.0214 56.9804 50.9975
57.1161C50.9736 57.2517 50.9105 57.3775 50.816 57.4777L39.53 69.4691C39.4208
69.5852 39.2755 69.6609 39.1178 69.6839C38.96 69.7068 38.7992 69.6757 38.6614
69.5955C38.5236 69.5153 38.4171 69.3908 38.3591 69.2423C38 [...]
+</g>
+<defs>
+<clipPath id="clip0_3_15">
+<rect width="100" height="155.182" fill="white"/>
+</clipPath>
+</defs>
+</svg>
diff --git a/img/var3.svg b/img/var3.svg
new file mode 100644
index 0000000..34956ca
--- /dev/null
+++ b/img/var3.svg
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ width="61.905357mm"
+ height="17.991438mm"
+ viewBox="0 0 61.905357 17.991438"
+ version="1.1"
+ id="svg1"
+ xml:space="preserve"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"><defs
+ id="defs1"><clipPath
+ id="clip0_2_693-4"><rect
+ width="54"
+ height="68"
+ fill="#ffffff"
+ id="rect22"
+ x="0"
+ y="0" /></clipPath></defs><g
+ id="layer1"
+ transform="translate(-17.035021,-77.746141)"><g
+ style="fill:none"
+ id="g1"
+ transform="matrix(0.26458333,0,0,0.26458333,33.870235,35.189577)"><g
+ style="fill:none"
+ id="g115"
+ transform="translate(-63.629157,160.84371)"><path
+ d="m 54.024,30 3.84,-8.4 h 0.876 l 3.84,8.4 h -0.936 l
-3.528,-7.884 h 0.36 L 54.948,30 Z m 1.512,-2.244 0.264,-0.72 h 4.884 l
0.264,0.72 z M 63.9696,30 v -8.4 h 3.144 c 0.712,0 1.324,0.116 1.836,0.348
0.512,0.224 0.904,0.552 1.176,0.984 0.28,0.424 0.42,0.94 0.42,1.548 0,0.592
-0.14,1.104 -0.42,1.536 -0.272,0.424 -0.664,0.752 -1.176,0.984 -0.512,0.232
-1.124,0.348 -1.836,0.348 h -2.652 l 0.396,-0.42 V 30 Z m 0.888,-3
-0.396,-0.432 h 2.628 c 0.84,0 1.476,-0.18 1.908,-0.54 0.44, [...]
+ fill="#333333"
+ id="path1-2" /><path
+ d="m 137.145,48.2 c -1.067,0 -2.06,-0.1733 -2.98,-0.52 -0.907,-0.36
-1.7,-0.86 -2.38,-1.5 -0.667,-0.6533 -1.187,-1.42 -1.56,-2.3 -0.373,-0.88
-0.56,-1.84 -0.56,-2.88 0,-1.04 0.187,-2 0.56,-2.88 0.373,-0.88 0.9,-1.64
1.58,-2.28 0.68,-0.6533 1.473,-1.1533 2.38,-1.5 0.907,-0.36 1.9,-0.54
2.98,-0.54 1.147,0 2.193,0.2 3.14,0.6 0.947,0.3867 1.747,0.9667 2.4,1.74 l
-1.68,1.58 c -0.507,-0.5467 -1.073,-0.9533 -1.7,-1.22 -0.627,-0.28 -1.307,-0.42
-2.04,-0.42 -0.733,0 -1.407,0.12 -2.02,0 [...]
+ fill="#99181c"
+ id="path2-3" /><g
+ clip-path="url(#clip0_2_693-4)"
+ id="g22"><path
+ d="m 44.5435,54.3966 c -0.0726,0.0039 -0.349,0.1109
-0.6546,0.2539 -0.3373,0.1577 -0.8776,0.3526 -1.2005,0.433 -0.323,0.0804
-0.615,0.1722 -0.649,0.204 -0.0878,0.0821 0.1011,0.879 0.7403,3.1251
0.306,1.0749 0.6528,2.3378 0.7709,2.8068 0.2126,0.8444 1.0576,4.5793
1.222,5.4011 0.1427,0.7135 0.2714,0.9551 0.6315,1.1861 0.2945,0.1893
0.3746,0.2075 0.8053,0.1849 1.0431,-0.0547 1.368,-0.7173 1.0921,-2.2258
-0.5317,-2.9066 -1.4523,-7.09 -2.0014,-9.0943 -0.3167,-1.1559 -0.6653,-2.22
[...]
+ fill="#333333"
+ id="path3-7" /><path
+ d="m 48.5332,48.3185 c -0.083,0.0031 -0.2185,0.0887 -0.4906,0.3
-0.2536,0.197 -0.6771,0.4671 -0.9413,0.6002 -0.4012,0.2019 -0.4805,0.2715
-0.4805,0.4204 0,0.1963 0.3686,0.9598 0.9926,2.0567 2.2139,3.8921 3.9292,6.4315
4.5168,6.6869 0.4659,0.2025 1.2377,0.0535 1.5518,-0.2996 0.2088,-0.2348
0.3558,-0.6703 0.3095,-0.9168 -0.0237,-0.1259 -0.281,-0.5954 -0.5718,-1.0438
-0.6036,-0.9306 -2.1626,-3.4889 -3.3676,-5.5264 -0.863,-1.4593 -1.2879,-2.12
-1.4502,-2.2545 -0.0193,-0.016 -0.0 [...]
+ fill="#333333"
+ id="path4-5" /><path
+ d="m 42.3407,47.6914 c -0.1213,-3e-4 -0.236,0.1026 -0.3703,0.3143
-0.3169,0.4991 -0.8984,1.098 -1.35,1.39 -0.2272,0.1469 -0.4487,0.2786
-0.4922,0.2931 -0.1685,0.0562 1.3536,4.3185 1.6078,4.5026 0.2113,0.153
0.7692,0.0814 1.4564,-0.1873 1.0648,-0.4164 1.1459,-0.6183 0.8731,-2.1739
-0.3305,-1.8849 -0.8556,-3.3484 -1.4177,-3.9527 -0.1146,-0.1231 -0.2127,-0.1858
-0.3071,-0.1861 z"
+ fill="#333333"
+ id="path5-9" /><path
+ d="m 35.7738,43.9977 c -0.0975,0.0055 -0.1814,0.0438
-0.3383,0.1197 -0.4199,0.2029 -1.1548,0.8696 -1.3723,1.2448 -0.094,0.1623
-0.2074,0.4336 -0.2522,0.603 -0.123,0.466 -0.0154,0.5741 0.9609,0.9642
1.0191,0.4072 2.5762,1.1029 3.6567,1.6337 0.4462,0.2192 0.9082,0.3986
1.0271,0.3986 0.7534,0 1.9716,-1.2282 1.9822,-1.9986 0.0037,-0.2672
-0.0294,-0.3365 -0.2522,-0.5288 -0.6957,-0.6004 -3.7018,-2.0214 -4.9916,-2.3591
-0.2116,-0.0554 -0.3228,-0.0829 -0.4203,-0.0775 z"
+ fill="#333333"
+ id="path6-2" /><path
+ d="m 45.1917,42.4238 c -0.1635,0 -0.2289,0.0441 -0.2904,0.1955
-0.3457,0.8515 -0.6484,1.3808 -1.0189,1.7805 l -0.4118,0.4436 0.2189,0.3361 c
0.1202,0.1848 0.4022,0.6396 0.6266,1.0109 0.7331,1.2132 1.4346,2.258
1.5684,2.3356 0.3198,0.1856 0.7928,0.0397 1.5015,-0.4634 0.4602,-0.3268
0.6583,-0.5992 0.6583,-0.9055 0,-0.5343 -0.84,-2.5242 -1.4564,-3.4499
-0.4404,-0.6615 -1.1169,-1.2834 -1.3962,-1.2834 z"
+ fill="#333333"
+ id="path7-2" /><path
+ d="m 36.8878,39.9699 c -0.1122,0.0032 -0.1999,0.0149
-0.2607,0.0349 -0.2122,0.0699 -0.2703,0.1402 -0.3976,0.4801 -0.3027,0.8076
-0.3571,1.9982 -0.1028,2.2521 0.0564,0.0563 0.2867,0.139 0.5117,0.1836
1.1543,0.2289 2.7659,0.6078 4.0393,0.9497 0.7829,0.2102 1.5821,0.3866
1.7759,0.3913 0.3402,0.0088 0.366,-0.0047 0.7473,-0.3998 0.4563,-0.4727
0.8671,-1.2502 0.9134,-1.729 0.0278,-0.2885 0.0092,-0.3437 -0.1605,-0.4769
-0.2608,-0.2049 -0.8065,-0.4011 -2.0342,-0.7307 -2.2697,-0.6093 [...]
+ fill="#333333"
+ id="path8-8" /><path
+ d="m 40.1461,33.9115 c -0.0714,-0.0031 -0.1538,0.0146
-0.2587,0.0426 -0.6908,0.1845 -4.8289,2.0232 -5.0956,2.2643 -0.0705,0.0637
-0.1283,0.2052 -0.1283,0.3146 0,0.5403 0.6723,1.8028 1.0977,2.0611 0.1252,0.076
0.2793,0.1147 0.361,0.0904 0.2681,-0.0794 3.6241,-1.9087 4.4487,-2.4248
0.6916,-0.4329 0.7003,-0.4894 0.2246,-1.4756 -0.3211,-0.6654 -0.4354,-0.8628
-0.6494,-0.8726 z"
+ fill="#333333"
+ id="path9-9" /><path
+ d="m 48.4825,30.6074 c -0.887,0 -6.9606,2.4117 -7.2269,2.8697
-0.0488,0.0838 0.0402,0.3353 0.3322,0.9415 0.3619,0.7514 0.4157,0.8272
0.5893,0.8272 0.2549,0 1.1813,-0.3735 2.9492,-1.1901 0.8025,-0.3707
1.9664,-0.8792 2.5866,-1.1301 1.3138,-0.5316 1.4203,-0.5937 1.5708,-0.9103
0.3109,-0.6542 -0.1181,-1.4079 -0.8012,-1.4079 z"
+ fill="#333333"
+ id="path10-7" /><path
+ d="m 27,40.5078 c -0.4094,2e-4 -0.8177,0.026 -1.0583,0.0762
-0.7685,0.1604 -1.4345,0.6189 -1.7983,1.2384 -0.3043,0.5181 -0.4211,1.1168
-0.4155,2.1296 0.0059,1.0545 0.1236,1.6952 0.4614,2.51 0.3011,0.7265
0.9564,1.4047 1.5887,1.6442 0.2897,0.1098 0.8096,0.1935 1.222,0.1935 0.4124,0
0.9323,-0.0837 1.222,-0.1935 0.6324,-0.2395 1.2876,-0.9177 1.5888,-1.6442
0.3377,-0.8148 0.4554,-1.4555 0.4613,-2.51 C 30.2778,42.9392 30.161,42.3405
29.8567,41.8224 29.4928,41.2029 28.8268,40.7444 [...]
+ fill="#333333"
+ id="path11-3" /><path
+ d="m 20.3218,36.5459 c -0.0072,-1e-4 -0.0128,7e-4 -0.0162,0.0024
-0.0554,0.0211 -0.1404,0.1605 -0.1889,0.3098 -0.1752,0.5396 -0.6678,1.446
-1.0819,1.9901 -0.5968,0.7841 -0.5943,0.7723 -0.361,1.6532 0.1744,0.6584
0.1987,0.8783 0.1994,1.804 8e-4,1.208 -0.1111,0.9929 0.9227,1.7773
0.7492,0.5684 1.1254,1.19 1.2801,2.1158 0.0687,0.4116 0.2201,0.4946
0.9844,0.5401 0.3697,0.0221 0.7922,0.0174 0.9389,-0.0101 0.3063,-0.0574
0.305,-0.0312 0.0463,-0.9955 -0.2166,-0.8076 -0.2671,-1.9672 [...]
+ fill="#333333"
+ id="path12-6" /><path
+ d="m 9.4565,54.3966 c 0.07266,0.0039 0.34906,0.1109 0.6547,0.2539
0.3372,0.1577 0.8775,0.3526 1.2004,0.433 0.323,0.0804 0.615,0.1722 0.649,0.204
0.0878,0.0821 -0.101,0.879 -0.7403,3.1251 -0.306,1.0749 -0.6527,2.3378
-0.7708,2.8068 -0.2127,0.8444 -1.05767,4.5793 -1.22205,5.4011 C 9.08474,67.334
8.95602,67.5756 8.59594,67.8066 8.30146,67.9959 8.22135,68.0141 7.7906,67.9915
6.74747,67.9368 6.42265,67.2742 6.69855,65.7657 7.23019,62.8591 8.15078,58.6757
8.6999,56.6714 9.0166,55. [...]
+ fill="#333333"
+ id="path13-1" /><path
+ d="m 5.46678,48.3185 c 0.08305,0.0031 0.21851,0.0887 0.49059,0.3
0.25364,0.197 0.67715,0.4671 0.94139,0.6002 0.40114,0.2019 0.48044,0.2715
0.48044,0.4204 0,0.1963 -0.36863,0.9598 -0.99256,2.0567 C 4.17269,55.5879
2.45742,58.1273 1.86979,58.3827 1.40396,58.5852 0.632118,58.4362
0.318015,58.0831 0.109244,57.8483 -0.0377373,57.4128 0.00855144,57.1663
0.0321909,57.0404 0.28953,56.5709 0.580363,56.1225 1.18394,55.1919
2.74288,52.6336 3.9479,50.5961 c 0.86306,-1.4593 1.28794,-2.12 [...]
+ fill="#333333"
+ id="path14-2" /><path
+ d="m 11.6593,47.6914 c 0.1213,-3e-4 0.236,0.1026 0.3704,0.3143
0.3168,0.4991 0.8983,1.098 1.3499,1.39 0.2272,0.1469 0.4487,0.2786
0.4922,0.2931 0.1685,0.0562 -1.3535,4.3185 -1.6078,4.5026 -0.2112,0.153
-0.7692,0.0814 -1.4563,-0.1873 -1.06488,-0.4164 -1.14596,-0.6183
-0.8732,-2.1739 0.3305,-1.8849 0.8556,-3.3484 1.4178,-3.9527 0.1145,-0.1231
0.2126,-0.1858 0.307,-0.1861 z"
+ fill="#333333"
+ id="path15-9" /><path
+ d="m 18.2262,43.9977 c 0.0975,0.0055 0.1814,0.0438 0.3383,0.1197
0.4199,0.2029 1.1548,0.8696 1.3723,1.2448 0.0941,0.1623 0.2075,0.4336
0.2522,0.603 0.1231,0.466 0.0154,0.5741 -0.9609,0.9642 -1.0191,0.4072
-2.5762,1.1029 -3.6567,1.6337 -0.4462,0.2192 -0.9082,0.3986 -1.027,0.3986
-0.7535,0 -1.9717,-1.2282 -1.9823,-1.9986 -0.0037,-0.2672 0.0294,-0.3365
0.2522,-0.5288 0.6957,-0.6004 3.7018,-2.0214 4.9916,-2.3591 0.2116,-0.0554
0.3228,-0.0829 0.4203,-0.0775 z"
+ fill="#333333"
+ id="path16-3" /><path
+ d="m 8.80833,42.4238 c 0.1635,0 0.2289,0.0441 0.29038,0.1955
0.34571,0.8515 0.64838,1.3808 1.01899,1.7805 l 0.4118,0.4436 -0.2189,0.3361 C
10.1903,45.3643 9.9083,45.8191 9.68392,46.1904 8.95087,47.4036 8.24935,48.4484
8.1155,48.526 7.79577,48.7116 7.32269,48.5657 6.61407,48.0626 6.15383,47.7358
5.95576,47.4634 5.95576,47.1571 c 0,-0.5343 0.83997,-2.5242 1.45634,-3.4499
0.44041,-0.6615 1.11696,-1.2834 1.39623,-1.2834 z"
+ fill="#333333"
+ id="path17-1" /><path
+ d="m 17.1122,39.9699 c 0.1122,0.0032 0.1999,0.0149 0.2608,0.0349
0.2121,0.0699 0.2702,0.1402 0.3976,0.4801 0.3026,0.8076 0.357,1.9982
0.1027,2.2521 -0.0564,0.0563 -0.2866,0.139 -0.5117,0.1836 -1.1543,0.2289
-2.7659,0.6078 -4.0393,0.9497 -0.7829,0.2102 -1.5821,0.3866 -1.7759,0.3913
-0.3402,0.0088 -0.366,-0.0047 -0.7473,-0.3998 -0.4562,-0.4727 -0.86707,-1.2502
-0.91333,-1.729 -0.02787,-0.2885 -0.00921,-0.3437 0.16043,-0.4769
0.2609,-0.2049 0.8065,-0.4011 2.0342,-0.7307 2.2698, [...]
+ fill="#333333"
+ id="path18-9" /><path
+ d="m 13.8539,33.9115 c 0.0714,-0.0031 0.1538,0.0146 0.2587,0.0426
0.6908,0.1845 4.8289,2.0232 5.0956,2.2643 0.0705,0.0637 0.1283,0.2052
0.1283,0.3146 0,0.5403 -0.6723,1.8028 -1.0977,2.0611 -0.1252,0.076
-0.2793,0.1147 -0.361,0.0904 -0.268,-0.0794 -3.6241,-1.9087 -4.4487,-2.4248
-0.6916,-0.4329 -0.7003,-0.4894 -0.2245,-1.4756 0.321,-0.6654 0.4353,-0.8628
0.6493,-0.8726 z"
+ fill="#333333"
+ id="path19-4" /><path
+ d="m 5.51755,30.6074 c 0.88694,0 6.96055,2.4117 7.22685,2.8697
0.0488,0.0838 -0.0402,0.3353 -0.3322,0.9415 -0.3619,0.7514 -0.4156,0.8272
-0.5892,0.8272 -0.2549,0 -1.1813,-0.3735 -2.94928,-1.1901 C 8.07122,33.685
6.90727,33.1765 6.28715,32.9256 4.97333,32.394 4.86677,32.3319 4.71628,32.0153
4.40538,31.3611 4.83438,30.6074 5.51755,30.6074 Z"
+ fill="#333333"
+ id="path20-7" /><path
+ d="M 47.2844,5.66217e-4 C 46.9844,-0.0090064 46.6836,0.102534
46.5188,0.355362 46.462,0.442492 46.2079,1.55331 45.9539,2.82358 45.7,4.09386
45.327,5.90069 45.125,6.83874 c -0.4289,1.99229 -0.4865,2.40578 -0.346,2.49254
0.0539,0.03327 0.386,0.14798 0.7384,0.25465 0.7899,0.23915 1.0709,0.25321
1.1749,0.05917 C 46.976,9.11581 48.2685,1.07721 48.1474,0.595377
48.0544,0.225351 47.67,0.0128936 47.2844,5.66217e-4 Z M 44.5569,10.3049 c
-0.2482,0.0157 -0.2502,0.0183 -0.4788,0.6909 -0 [...]
+ fill="#333333"
+ id="path21-8" /><path
+ d="m 30.0562,17.3484 c 0.1894,0.1097 0.2779,0.3355 0.2134,0.5444
l -1.6931,5.4928 h 3.1238 c 0.4122,-2e-4 0.625,0.4918 0.3422,0.7912 L
24.522,32.155 c -0.3413,0.3623 -0.9385,0.0153 -0.7915,-0.4599 l 1.693,-5.4937 h
-3.1238 c -0.4122,2e-4 -0.625,-0.4918 -0.3422,-0.7912 L 29.478,17.432 c
0.1497,-0.1589 0.3892,-0.1939 0.5782,-0.0845 z"
+ fill="#99181c"
+ id="path22" /></g></g></g></g></svg>
diff --git a/index.html b/index.html
index f694206..9dbbdd8 100644
--- a/index.html
+++ b/index.html
@@ -6,13 +6,13 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
- <title>Apache StormCrawler (Incubating)</title>
- <meta name="description" content="Apache StormCrawler (Incubating) is
collection of resources for building low-latency, scalable web crawlers on
Apache Storm
+ <title>Apache StormCrawler</title>
+ <meta name="description" content="Apache StormCrawler is collection of
resources for building low-latency, scalable web crawlers on Apache Storm
">
<link rel="stylesheet" href="/css/main.css">
<link rel="canonical" href="https://stormcrawler.apache.org/">
- <link rel="alternate" type="application/rss+xml" title="Apache StormCrawler
(Incubating)" href="https://stormcrawler.apache.org/feed.xml">
+ <link rel="alternate" type="application/rss+xml" title="Apache StormCrawler"
href="https://stormcrawler.apache.org/feed.xml">
<link rel="icon" type="/image/png" href="/img/favicon.png" />
</head>
@@ -22,7 +22,7 @@
<header class="site-header">
<div class="site-header__wrap">
<div class="site-header__logo">
- <a href="/"><img src="/img/incubator_logo.png" alt="Apache StormCrawler
(Incubating)"></a>
+ <a href="/"><img src="/img/logo-small.png" alt="Apache StormCrawler"></a>
</div>
</div>
</header>
@@ -32,8 +32,9 @@
<li><a href="/download/index.html">Download</a>
<li><a href="/getting-started/">Getting Started</a></li>
<li><a href="/contribute/">Contribute</a></li>
- <li><a
href="https://javadoc.io/doc/org.apache.stormcrawler/stormcrawler-core/3.3.0/index.html">JavaDocs</a>
+ <li><a
href="https://javadoc.io/doc/org.apache.stormcrawler/stormcrawler-core/3.5.0/index.html">JavaDocs</a>
<li><a href="/faq/">FAQ</a></li>
+ <li><a href="/security/">Security</a></li>
<li><a href="/support/">Support</a></li>
</ul>
</nav>
@@ -46,8 +47,8 @@
</div>
</div>
<div class="row row-col">
- <p><strong>Apache StormCrawler (Incubating)</strong> is an open source SDK
for building distributed web crawlers based on <a
href="http://storm.apache.org">Apache Storm®</a>. The project is under Apache
License v2 and consists of a collection of reusable resources and components,
written mostly in Java.</p>
- <p>The aim of Apache StormCrawler (Incubating) is to help build web crawlers
that are :</p>
+ <p><strong>Apache StormCrawler</strong> is an open source SDK for building
distributed web crawlers based on <a href="http://storm.apache.org">Apache
Storm®</a>. The project is under Apache License v2 and consists of a collection
of reusable resources and components, written mostly in Java.</p>
+ <p>The aim of Apache StormCrawler is to help build web crawlers that are
:</p>
<ul>
<li>scalable</li>
<li>resilient</li>
@@ -55,9 +56,9 @@
<li>easy to extend</li>
<li>polite yet efficient</li>
</ul>
- <p><strong>Apache StormCrawler (Incubating)</strong> is a library and
collection of resources that developers can leverage to build their own
crawlers. The good news is that doing so can be pretty straightforward! Have a
look at the <a href="getting-started/">Getting Started</a> section for more
details.</p>
+ <p><strong>Apache StormCrawler</strong> is a library and collection of
resources that developers can leverage to build their own crawlers. The good
news is that doing so can be pretty straightforward! Have a look at the <a
href="getting-started/">Getting Started</a> section for more details.</p>
<p>Apart from the core components, we provide some <a
href="https://github.com/apache/incubator-stormcrawler/tree/main/external">external
resources</a> that you can reuse in your project, like for instance our spout
and bolts for <a href="https://opensearch.org/">OpenSearch®</a> or a ParserBolt
which uses <a href="http://tika.apache.org">Apache Tika®</a> to parse various
document formats.</p>
- <p><strong>Apache StormCrawler (Incubating)</strong> is perfectly suited to
use cases where the URL to fetch and parse come as streams but is also an
appropriate solution for large scale recursive crawls, particularly where low
latency is required. The project is used in production by <a
href="https://github.com/apache/incubator-stormcrawler/wiki/Powered-By">many
organisations</a> and is actively developed and maintained.</p>
+ <p><strong>Apache StormCrawler</strong> is perfectly suited to use cases
where the URL to fetch and parse come as streams but is also an appropriate
solution for large scale recursive crawls, particularly where low latency is
required. The project is used in production by <a
href="https://github.com/apache/incubator-stormcrawler/wiki/Powered-By">many
organisations</a> and is actively developed and maintained.</p>
<p>The <a
href="https://github.com/apache/incubator-stormcrawler/wiki/Presentations">Presentations</a>
page contains links to some recent presentations made about this project.</p>
</div>
@@ -84,12 +85,8 @@
</main>
<footer class="site-footer">
- <img src="/img/incubator_feather_egg_logo_bw_crop.png" alt="Apache
Incubator Logo" width="500"><br/>
-
- Apache StormCrawler is an effort undergoing incubation at The Apache
Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is
required of all newly accepted projects until a further review indicates that
the infrastructure, communications, and decision making process have stabilized
in a manner consistent with other successful ASF projects. While incubation
status is not necessarily a reflection of the completeness or stability of the
code, it does indicate that the p [...]
-<br/> <br/>
- © 2024 <a href="https://www.apache.org/">The Apache Software
Foundation</a><br/><br/>
-Licensed under the <a
href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
2.0</a>. <br/> Apache StormCrawler, StormCrawler, the Apache feather logo are
trademarks of The Apache Software Foundation. <br/> All other marks mentioned
may be trademarks or registered trademarks of their respective owners.
<br/><br/>
+© 2025 <a href="https://www.apache.org/">The Apache Software
Foundation</a><br/><br/>
+Licensed under the <a
href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
2.0</a>. <br/> Apache StormCrawler, StormCrawler, the Apache logo are
trademarks of The Apache Software Foundation. <br/> All other marks mentioned
may be trademarks or registered trademarks of their respective owners.
<br/><br/>
<a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy
Policy</a> | <a href="https://www.apache.org/security/">Security</a> | <a
href="https://www.apache.org/foundation/sponsorship">Sponsorship</a> | <a
href="https://www.apache.org/foundation/sponsors">Sponsors</a><br/><br/>
<div class="footer-widget">
<a class="acevent" data-format="wide" data-mode="dark"></a>
diff --git a/logos.html b/logos.html
new file mode 100644
index 0000000..18d8237
--- /dev/null
+++ b/logos.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>Icon Variants Table</title>
+ <style>
+ body {
+ font-family: Arial, sans-serif;
+ text-align: center;
+ margin-top: 50px;
+ }
+ table {
+ margin: 0 auto;
+ border-collapse: collapse;
+ }
+ td {
+ padding: 20px;
+ border: 1px solid #ccc;
+ }
+ img {
+ width: 400px; /* Set all images to 400px wide */
+ height: auto; /* Keep aspect ratio */
+ }
+ .label {
+ font-weight: bold;
+ font-size: 1.2em;
+ }
+ @media (max-width: 1300px) {
+ img {
+ width: 90%; /* Make images responsive on smaller screens */
+ }
+ }
+ </style>
+</head>
+<body>
+<h1>Icon Variants</h1>
+<table>
+ <r>
+ <td><img src="img/logo-small.png" alt="Original"></td>
+ <td></td>
+ </r>
+ <tr>
+ <td class="label">Original</td>
+ <td class="label"></td>
+ </tr>
+ <tr>
+ <td><img src="img/var1.svg" alt="Variant 1"></td>
+ <td><img src="img/var1b.svg" alt="Variant 1"></td>
+
+ </tr>
+ <tr>
+ <td class="label">Variant 1 (original)</td>
+ <td class="label">Variant 1 (smaller icon)</td>
+ </tr>
+ <tr>
+ <td><img src="img/var2.svg" alt="Variant 2"></td>
+ <td><img src="img/var3.svg" alt="Variant 3"></td>
+ </tr>
+ <tr>
+ <td class="label">Variant 2</td>
+ <td class="label">Variant 3</td>
+ </tr>
+</table>
+</body>
+</html>
diff --git a/security/index.html b/security/index.html
new file mode 100644
index 0000000..92e3dee
--- /dev/null
+++ b/security/index.html
@@ -0,0 +1,135 @@
+<!DOCTYPE html>
+<html>
+
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+
+ <title>Reporting Security Problems to Apache StormCrawler</title>
+ <meta name="description" content="Apache StormCrawler is collection of
resources for building low-latency, scalable web crawlers on Apache Storm
+">
+
+ <link rel="stylesheet" href="/css/main.css">
+ <link rel="canonical" href="https://stormcrawler.apache.org/security/">
+ <link rel="alternate" type="application/rss+xml" title="Apache StormCrawler"
href="https://stormcrawler.apache.org/feed.xml">
+ <link rel="icon" type="/image/png" href="/img/favicon.png" />
+</head>
+
+
+ <body class="security">
+
+ <header class="site-header">
+ <div class="site-header__wrap">
+ <div class="site-header__logo">
+ <a href="/"><img src="/img/logo-small.png" alt="Apache StormCrawler"></a>
+ </div>
+ </div>
+</header>
+<nav class="site-nav">
+ <ul>
+ <li><a href="/index.html">Home</a>
+ <li><a href="/download/index.html">Download</a>
+ <li><a href="/getting-started/">Getting Started</a></li>
+ <li><a href="/contribute/">Contribute</a></li>
+ <li><a
href="https://javadoc.io/doc/org.apache.stormcrawler/stormcrawler-core/3.5.0/index.html">JavaDocs</a>
+ <li><a href="/faq/">FAQ</a></li>
+ <li><a href="/security/">Security</a></li>
+ <li><a href="/support/">Support</a></li>
+ </ul>
+</nav>
+<span id="forkongithub"><a
href="https://github.com/apache/incubator-stormcrawler">Fork me on
GitHub</a></span>
+
+
+ <main class="main-content">
+ <div class="row row-col">
+ <h1>Security</h1>
+ <h2>Reporting New Security Problems with Apache StormCrawler</h2>
+ <p>The Apache Software Foundation takes a very active stance in
eliminating security problems and denial of service attacks against its
products.</p>
+ <p>We strongly encourage people to report security problems privately
using the security mailing list of the <a
href="https://www.apache.org/security/">ASF Security Team</a> before disclosing
them in a public forum.</p>
+ <p>Please note that the security mailing list should only be used for
reporting undisclosed security vulnerabilities and managing the process of
fixing such vulnerabilities. We cannot accept regular bug reports or other
queries at this address. All mail sent to this address that does not relate to
an undisclosed security problem in our source code will be ignored.</p>
+ <p>The private security mailing address is: <a class="externalLink"
href="mailto:[email protected]">[email protected]</a></p>
+
+ <h2>Threat Model and Security Considerations</h2>
+ <p>StormCrawler is designed to operate in trusted environments as part
of a distributed Apache Storm® cluster. This document outlines the threat
model and key security assumptions to help users understand the secure use and
deployment of StormCrawler.</p>
+
+ <h3>Trusted Configuration</h3>
+ <p>The configuration file used by StormCrawler is loaded during
topology submission and is treated as a trusted source. It does not involve any
user-supplied input at runtime.</p>
+ <p>If an attacker is able to modify this file, they would already have
full access to the system, including:</p>
+ <ul>
+ <li>The ability to alter behavior of the topology</li>
+ <li>Access to credentials and other secrets</li>
+ <li>Arbitrary control over job execution</li>
+ </ul>
+ <p>Securing the configuration file and the environment in which
topologies are submitted is essential. However, modification of the file
implies full system compromise and is out of scope for runtime protections.</p>
+
+ <h3>Apache Storm® Cluster Security</h3>
+ <p>StormCrawler runs on an Apache Storm® cluster, which is designed
to allow users to:</p>
+ <ul>
+ <li>Submit topologies</li>
+ <li>Execute custom, user-defined code</li>
+ </ul>
+ <p>This model inherently trusts cluster users and assumes they are
authorized.</p>
+
+ <h4>Security Recommendations:</h4>
+ <ul>
+ <li>Access to the Apache Storm® cluster must be strictly
restricted to trusted users</li>
+ <li>Underlying systems should not store secrets or hold
elevated privileges beyond those assigned to the authorized users</li>
+ <li>Avoid deploying StormCrawler in multi-tenant environments
without strong isolation guarantees</li>
+ </ul>
+
+ <h3>Summary</h3>
+ <p>StormCrawler's security model assumes a trusted deployment
environment. Users should:</p>
+ <ul>
+ <li>Secure configuration files and deployment
infrastructure</li>
+ <li>Restrict Apache Storm® cluster access</li>
+ <li>Follow best practices for secret and privilege
management</li>
+ </ul>
+
+ <h2>Asking Questions About Known Security Problems</h2>
+ <p>Questions about:</p>
+ <ul>
+ <li>if a vulnerability applies to your particular
application</li>
+ <li>obtaining further information on a published
vulnerability</li>
+ <li>availability of patches and/or new releases</li>
+ </ul>
+ <p>should be addressed to the <a
href="https://lists.apache.org/[email protected]">dev
mailing list</a>.</p>
+
+ <h2>Known Security Vulnerabilities</h2>
+ <p>No known security vulnerability yet.</p>
+</div>
+
+ </main>
+
+ <footer class="site-footer">
+© 2025 <a href="https://www.apache.org/">The Apache Software
Foundation</a><br/><br/>
+Licensed under the <a
href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
2.0</a>. <br/> Apache StormCrawler, StormCrawler, the Apache logo are
trademarks of The Apache Software Foundation. <br/> All other marks mentioned
may be trademarks or registered trademarks of their respective owners.
<br/><br/>
+ <a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy
Policy</a> | <a href="https://www.apache.org/security/">Security</a> | <a
href="https://www.apache.org/foundation/sponsorship">Sponsorship</a> | <a
href="https://www.apache.org/foundation/sponsors">Sponsors</a><br/><br/>
+ <div class="footer-widget">
+ <a class="acevent" data-format="wide" data-mode="dark"></a>
+ </div>
+</footer>
+
+
+ </body>
+
+ <script src="https://www.apachecon.com/event-images/snippet.js"></script>
+
+ <!-- Matomo -->
+ <script>
+ var _paq = window._paq = window._paq || [];
+ /* tracker methods like "setCustomDimension" should be called before
"trackPageView" */
+ _paq.push(["setDoNotTrack", true]);
+ _paq.push(["disableCookies"]);
+ _paq.push(['trackPageView']);
+ _paq.push(['enableLinkTracking']);
+ (function() {
+ var u="https://analytics.apache.org/";
+ _paq.push(['setTrackerUrl', u+'matomo.php']);
+ _paq.push(['setSiteId', '58']);
+ var d=document, g=d.createElement('script'),
s=d.getElementsByTagName('script')[0];
+ g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+ })();
+ </script>
+ <!-- End Matomo Code -->
+</html>
diff --git a/support/index.html b/support/index.html
index a725af0..f8315ad 100644
--- a/support/index.html
+++ b/support/index.html
@@ -7,12 +7,12 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Need assistance from web crawling experts?</title>
- <meta name="description" content="Apache StormCrawler (Incubating) is
collection of resources for building low-latency, scalable web crawlers on
Apache Storm
+ <meta name="description" content="Apache StormCrawler is collection of
resources for building low-latency, scalable web crawlers on Apache Storm
">
<link rel="stylesheet" href="/css/main.css">
<link rel="canonical" href="https://stormcrawler.apache.org/support/">
- <link rel="alternate" type="application/rss+xml" title="Apache StormCrawler
(Incubating)" href="https://stormcrawler.apache.org/feed.xml">
+ <link rel="alternate" type="application/rss+xml" title="Apache StormCrawler"
href="https://stormcrawler.apache.org/feed.xml">
<link rel="icon" type="/image/png" href="/img/favicon.png" />
</head>
@@ -22,7 +22,7 @@
<header class="site-header">
<div class="site-header__wrap">
<div class="site-header__logo">
- <a href="/"><img src="/img/incubator_logo.png" alt="Apache StormCrawler
(Incubating)"></a>
+ <a href="/"><img src="/img/logo-small.png" alt="Apache StormCrawler"></a>
</div>
</div>
</header>
@@ -32,8 +32,9 @@
<li><a href="/download/index.html">Download</a>
<li><a href="/getting-started/">Getting Started</a></li>
<li><a href="/contribute/">Contribute</a></li>
- <li><a
href="https://javadoc.io/doc/org.apache.stormcrawler/stormcrawler-core/3.3.0/index.html">JavaDocs</a>
+ <li><a
href="https://javadoc.io/doc/org.apache.stormcrawler/stormcrawler-core/3.5.0/index.html">JavaDocs</a>
<li><a href="/faq/">FAQ</a></li>
+ <li><a href="/security/">Security</a></li>
<li><a href="/support/">Support</a></li>
</ul>
</nav>
@@ -44,16 +45,16 @@
<div class="row row-col">
<h1>Support</h1>
<br>
-<p>You can ask questions related to Apache StormCrawler (Incubating) on Github
in the <a
href="https://github.com/apache/incubator-stormcrawler/discussions">discussions
section</a>, on <a
href="http://stackoverflow.com/questions/tagged/stormcrawler">stackoverflow</a>
using the tag 'stormcrawler' or on <a
href="https://discord.com/invite/C62MHusNnG">Discord</a>.</p>
+<p>You can ask questions related to Apache StormCrawler on Github in the <a
href="https://github.com/apache/incubator-stormcrawler/discussions">discussions
section</a>, on <a
href="http://stackoverflow.com/questions/tagged/stormcrawler">stackoverflow</a>
using the tag 'stormcrawler'.</p>
<p>If you think you've found a bug, please <a
href="https://github.com/apache/incubator-stormcrawler/issues">open an
issue</a> on GitHub.</p>
<h1>Commercial Support</h1>
<br>
- <p>The Apache StormCrawler (Incubating) PMC does not endorse or recommend
any of the products or services on this page. We love all our supporters
equally.</p>
+ <p>The Apache StormCrawler PMC does not endorse or recommend any of the
products or services on this page. We love all our supporters equally.</p>
<h2>Want to be added to this page? </h2>
<p>All submitted information must be factual and informational in nature and
not be a marketing statement. Statements that promote your products and
services over other offerings on the page will not be tolerated and will be
removed. Such marketing statements can be added to your own pages on your own
site.</p>
- <p>When in doubt, email the Apache StormCrawler (Incubating) PMC and ask. We
are be happy to help.</p>
+ <p>When in doubt, email the Apache StormCrawler PMC and ask. We are be happy
to help.</p>
<h2>Companies</h2>
<ul>
@@ -64,12 +65,8 @@
</main>
<footer class="site-footer">
- <img src="/img/incubator_feather_egg_logo_bw_crop.png" alt="Apache
Incubator Logo" width="500"><br/>
-
- Apache StormCrawler is an effort undergoing incubation at The Apache
Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is
required of all newly accepted projects until a further review indicates that
the infrastructure, communications, and decision making process have stabilized
in a manner consistent with other successful ASF projects. While incubation
status is not necessarily a reflection of the completeness or stability of the
code, it does indicate that the p [...]
-<br/> <br/>
- © 2024 <a href="https://www.apache.org/">The Apache Software
Foundation</a><br/><br/>
-Licensed under the <a
href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
2.0</a>. <br/> Apache StormCrawler, StormCrawler, the Apache feather logo are
trademarks of The Apache Software Foundation. <br/> All other marks mentioned
may be trademarks or registered trademarks of their respective owners.
<br/><br/>
+© 2025 <a href="https://www.apache.org/">The Apache Software
Foundation</a><br/><br/>
+Licensed under the <a
href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
2.0</a>. <br/> Apache StormCrawler, StormCrawler, the Apache logo are
trademarks of The Apache Software Foundation. <br/> All other marks mentioned
may be trademarks or registered trademarks of their respective owners.
<br/><br/>
<a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy
Policy</a> | <a href="https://www.apache.org/security/">Security</a> | <a
href="https://www.apache.org/foundation/sponsorship">Sponsorship</a> | <a
href="https://www.apache.org/foundation/sponsors">Sponsors</a><br/><br/>
<div class="footer-widget">
<a class="acevent" data-format="wide" data-mode="dark"></a>