regenerated documentation
@@ -1,4 +1,4 @@
|
||||
# Sphinx build info version 1
|
||||
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
|
||||
config: 8e5f2a4bcebac1b2d77d5116e3094531
|
||||
config: b6c0a435aa7d2e7b87f7f3b438fbe297
|
||||
tags: 645f666f9bcd5a90fca523b33c5a78b7
|
||||
|
||||
@@ -1,35 +1,23 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>Android Smart Card Emulator — vsmartcard 2017-01-16 documentation</title>
|
||||
|
||||
<link rel="stylesheet" href="../_static/basic.css" type="text/css" />
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Android Smart Card Emulator — vsmartcard 2021-04-28 documentation</title>
|
||||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../_static/bootswatch-3.3.4/flatly/bootstrap.min.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../_static/bootstrap-sphinx.css" type="text/css" />
|
||||
|
||||
<script type="text/javascript">
|
||||
var DOCUMENTATION_OPTIONS = {
|
||||
URL_ROOT: '../',
|
||||
VERSION: '2017-01-16',
|
||||
COLLAPSE_INDEX: false,
|
||||
FILE_SUFFIX: '.html',
|
||||
HAS_SOURCE: true
|
||||
};
|
||||
</script>
|
||||
<script type="text/javascript" src="../_static/jquery.js"></script>
|
||||
<script type="text/javascript" src="../_static/underscore.js"></script>
|
||||
<script type="text/javascript" src="../_static/doctools.js"></script>
|
||||
<script type="text/javascript" src="../_static/js/jquery-1.11.0.min.js"></script>
|
||||
<script type="text/javascript" src="../_static/js/jquery-fix.js"></script>
|
||||
<script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
|
||||
<script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="../_static/graphviz.css" />
|
||||
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
|
||||
<script src="../_static/jquery.js"></script>
|
||||
<script src="../_static/underscore.js"></script>
|
||||
<script src="../_static/doctools.js"></script>
|
||||
<script src="../_static/js/jquery-1.11.0.min.js"></script>
|
||||
<script src="../_static/js/jquery-fix.js"></script>
|
||||
<script src="../_static/bootstrap-3.3.7/js/bootstrap.min.js"></script>
|
||||
<script src="../_static/bootstrap-sphinx.js"></script>
|
||||
<link rel="shortcut icon" href="../_static/chip.ico"/>
|
||||
<link rel="top" title="vsmartcard 2017-01-16 documentation" href="../index.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="Tizen Smart Card Emulator" href="../TCardEmulator/README.html" />
|
||||
<link rel="prev" title="Remote Smart Card Reader" href="../remote-reader/README.html" />
|
||||
<meta charset='utf-8'>
|
||||
@@ -37,8 +25,7 @@
|
||||
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
|
||||
</head>
|
||||
<body>
|
||||
</head><body>
|
||||
|
||||
<a href="https://github.com/frankmorgner/vsmartcard"
|
||||
class="visible-desktop hidden-xs"><img
|
||||
@@ -84,7 +71,7 @@
|
||||
aria-labelledby="dLabelGlobalToc"><ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="../virtualsmartcard/README.html">Virtual Smart Card</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../remote-reader/README.html">Remote Smart Card Reader</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="">Android Smart Card Emulator</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">Android Smart Card Emulator</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../TCardEmulator/README.html">Tizen Smart Card Emulator</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../pcsc-relay/README.html">PC/SC Relay</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../ccid/README.html">USB CCID Emulator</a></li>
|
||||
@@ -119,11 +106,11 @@
|
||||
|
||||
|
||||
<li>
|
||||
<a href="../remote-reader/README.html" title="Previous Chapter: Remote Smart Card Reader"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">« Remote Smart Car...</span>
|
||||
<a href="../remote-reader/README.html" title="Previous Chapter: Remote Smart Card Reader"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">« Remote Smart ...</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../TCardEmulator/README.html" title="Next Chapter: Tizen Smart Card Emulator"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">Tizen Smart Card... »</span>
|
||||
<a href="../TCardEmulator/README.html" title="Next Chapter: Tizen Smart Card Emulator"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">Tizen Smart C... »</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -156,114 +143,82 @@
|
||||
<div class="section" id="android-smart-card-emulator">
|
||||
<span id="acardemulator"></span><h1>Android Smart Card Emulator<a class="headerlink" href="#android-smart-card-emulator" title="Permalink to this headline">¶</a></h1>
|
||||
<div class="sidebar">
|
||||
<p class="first sidebar-title">Use an Android phone as contact-less smart card</p>
|
||||
<table class="last docutils field-list" frame="void" rules="none">
|
||||
<col class="field-name" />
|
||||
<col class="field-body" />
|
||||
<tbody valign="top">
|
||||
<tr class="field-odd field"><th class="field-name">License:</th><td class="field-body">GPL version 3</td>
|
||||
</tr>
|
||||
<tr class="field-even field"><th class="field-name" colspan="2">Tested Platform:</th></tr>
|
||||
<tr class="field-even field"><td> </td><td class="field-body">Android, CyanogenMod</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p class="sidebar-title">Use an Android phone as contact-less smart card</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">License</dt>
|
||||
<dd class="field-odd"><p>GPL version 3</p>
|
||||
</dd>
|
||||
<dt class="field-even">Tested Platform</dt>
|
||||
<dd class="field-even"><p>Android, CyanogenMod</p>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>The Android Smart Card Emulator allows the emulation of a contact-less smart card.
|
||||
The emulator uses Android’s <abbr title="host card emulation">HCE</abbr> to fetch APDUs from a contact-less reader.
|
||||
The emulator uses Android’s <abbr title="host card emulation">HCE</abbr> to fetch APDUs from a contact-less reader.
|
||||
The app allows to process the Command APDUs either by delegating them to a
|
||||
remote virtual smart card or by a built-in Java Card simulator. The response
|
||||
APDUs are then returned to the smart card reader. Together with
|
||||
<a class="reference internal" href="../TCardEmulator/README.html#tcardemulator"><em>Tizen Smart Card Emulator</em></a> it is also possible to use a smartwatch as communication
|
||||
<a class="reference internal" href="../TCardEmulator/README.html#tcardemulator"><span class="std std-ref">Tizen Smart Card Emulator</span></a> it is also possible to use a smartwatch as communication
|
||||
device instead of the phone.</p>
|
||||
<p>With the built-in Java Card runtime of <a class="reference external" href="http://www.jcardsim.org/">jCardSim</a> <a class="footnote-reference" href="#id1" id="id2">[1]</a> the app includes the following
|
||||
<p>With the built-in Java Card runtime of <a class="reference external" href="http://www.jcardsim.org/">jCardSim</a> <a class="footnote-reference brackets" href="#id4" id="id5">1</a> the app includes the following
|
||||
Applets:</p>
|
||||
<ul class="simple">
|
||||
<li><a class="reference external" href="https://github.com/licel/jcardsim/blob/master/src/main/java/com/licel/jcardsim/samples/HelloWorldApplet.java">Hello World Applet</a> <a class="footnote-reference" href="#id3" id="id4">[2]</a> (application identifier <tt class="docutils literal"><span class="pre">F000000001</span></tt>)</li>
|
||||
<li><a class="reference external" href="https://developers.yubico.com/ykneo-openpgp/">OpenPGP Applet</a> <a class="footnote-reference" href="#id5" id="id6">[3]</a> (application identifier <tt class="docutils literal"><span class="pre">D2760001240102000000000000010000</span></tt>)</li>
|
||||
<li><a class="reference external" href="https://developers.yubico.com/ykneo-oath/">OATH Applet</a> <a class="footnote-reference" href="#id7" id="id8">[4]</a> (application identifier <tt class="docutils literal"><span class="pre">A000000527210101</span></tt>)</li>
|
||||
<li><a class="reference external" href="http://www.pwendland.net/IsoApplet/">ISO Applet</a> <a class="footnote-reference" href="#id9" id="id10">[5]</a> (application identifier <tt class="docutils literal"><span class="pre">F276A288BCFBA69D34F31001</span></tt>)</li>
|
||||
<li><a class="reference external" href="https://github.com/vletoux/GidsApplet">GIDS Applet</a> <a class="footnote-reference" href="#id11" id="id12">[6]</a> (application identifier <tt class="docutils literal"><span class="pre">A000000397425446590201</span></tt>)</li>
|
||||
<li><p><a class="reference external" href="https://developers.yubico.com/ykneo-openpgp/">OpenPGP Applet</a> <a class="footnote-reference brackets" href="#id6" id="id7">2</a> (application identifier <code class="docutils literal notranslate"><span class="pre">D2760001240102000000000000010000</span></code>)</p></li>
|
||||
<li><p><a class="reference external" href="https://developers.yubico.com/ykneo-oath/">OATH Applet</a> <a class="footnote-reference brackets" href="#id8" id="id9">3</a> (application identifier <code class="docutils literal notranslate"><span class="pre">A000000527210101</span></code>)</p></li>
|
||||
<li><p><a class="reference external" href="http://www.pwendland.net/IsoApplet/">ISO Applet</a> <a class="footnote-reference brackets" href="#id10" id="id11">4</a> (application identifier <code class="docutils literal notranslate"><span class="pre">F276A288BCFBA69D34F31001</span></code>)</p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/vletoux/GidsApplet">GIDS Applet</a> <a class="footnote-reference brackets" href="#id12" id="id13">5</a> (application identifier <code class="docutils literal notranslate"><span class="pre">A000000397425446590201</span></code>)</p></li>
|
||||
</ul>
|
||||
<p>The remote interface can be used together with the <a class="reference internal" href="../virtualsmartcard/README.html#vicc"><em>Virtual Smart Card</em></a>, which allows
|
||||
<p>The remote interface can be used together with the <a class="reference internal" href="../virtualsmartcard/README.html#vicc"><span class="std std-ref">Virtual Smart Card</span></a>, which allows
|
||||
emulating the following cards:</p>
|
||||
<ul class="simple">
|
||||
<li>Generic ISO-7816 smart card</li>
|
||||
<li>German electronic identity card (nPA)</li>
|
||||
<li>Electronic passport</li>
|
||||
<li><p>Generic ISO-7816 smart card</p></li>
|
||||
<li><p>German electronic identity card (nPA)</p></li>
|
||||
<li><p>Electronic passport</p></li>
|
||||
</ul>
|
||||
<p>The remote interface can also be used together with the <a class="reference internal" href="../pcsc-relay/README.html#pcsc-relay"><em>PC/SC Relay</em></a>,
|
||||
<p>The remote interface can also be used together with the <a class="reference internal" href="../pcsc-relay/README.html#pcsc-relay"><span class="std std-ref">PC/SC Relay</span></a>,
|
||||
which allows emulating a contactless card from an existing contact-based card
|
||||
(by relaying the commands from PC/SC to the phone).</p>
|
||||
<p>You may also attach your own simulation to the remote interface by implementing
|
||||
a simple interface through a socket communication.</p>
|
||||
<div class="figure">
|
||||
<p><img src="../_images/tikz-f7010fa8209b3752026a52619d57bbebb8fa2bcd.svg" alt="\input{$wd/bilder/tikzstyles.tex}
|
||||
\node (reader) {\includegraphics[width=3cm]{$wd/bilder/my_cardreader.pdf}};
|
||||
\node [below=0cm of reader, kleiner] {Contact-less Reader};
|
||||
\node (phone) [right=1cm of reader] {\includegraphics[width=3cm]{$wd/bilder/smartphone.pdf}};
|
||||
\node (app) [at=(phone.center)] {\includegraphics[width=2.8cm, height=4.9cm]{$wd/bilder/ACardEmulator.png}};
|
||||
|
||||
\begin{pgfonlayer}{background}
|
||||
\draw [rfid] (reader.center) -- (phone.west) ;
|
||||
\end{pgfonlayer}" /></p>
|
||||
<p class="caption">Simulate a contact-less Java Card with Android Smart Card Emulator</p></div><div class="figure">
|
||||
<p><img src="../_images/tikz-ae1e764f23cec8b5d67952bc6d8bbe66280e80d1.svg" alt="\input{$wd/bilder/tikzstyles.tex}
|
||||
\node (reader) {\includegraphics[width=3cm]{$wd/bilder/my_cardreader.pdf}};
|
||||
\node [below=0cm of reader, kleiner] {Contact-less Reader};
|
||||
\node (phone) [right=1cm of reader] {\includegraphics[width=3cm]{$wd/bilder/smartphone.pdf}};
|
||||
\node (app) [at=(phone.center)] {\includegraphics[width=2.8cm, height=4.9cm]{$wd/bilder/ACardEmulator.png}};
|
||||
\node (vicc) [aktivbox, right=2cm of phone, kleiner] {\texttt{vicc --reversed}};
|
||||
|
||||
\begin{pgfonlayer}{background}
|
||||
\draw [rfid] (reader.center) -- (phone.west) ;
|
||||
\path[linie] (phone) edge node {\includegraphics[width=1.5cm]{$wd/bilder/simplecloud.pdf}} (vicc) ;
|
||||
\end{pgfonlayer}" /></p>
|
||||
<p class="caption">Simulate a contact-less smart card with a remote virtual smart card</p></div><div class="figure">
|
||||
<p><img src="../_images/tikz-30c9c7049675e5b06e8364c63b0718d51986e380.svg" alt="\input{$wd/bilder/tikzstyles.tex}
|
||||
\node (reader) {\includegraphics[width=3cm]{$wd/bilder/my_cardreader.pdf}};
|
||||
\node [below=0cm of reader, kleiner] {Contact-less Reader};
|
||||
\node (phone) [right=1cm of reader] {\includegraphics[width=3cm]{$wd/bilder/smartphone.pdf}};
|
||||
\node (app) [at=(phone.center)] {\includegraphics[width=2.8cm, height=4.9cm]{$wd/bilder/ACardEmulator.png}};
|
||||
\node (pcsc-relay) [aktivbox, right=2cm of phone, kleiner] {\texttt{pcsc-relay --emulator=vpcd}};
|
||||
\node (card) [below=.5cm of pcsc-relay)] {\includegraphics[width=0.8cm]{$wd/bilder/smartcard.pdf}};
|
||||
\node (reader2) [below=1cm of pcsc-relay] {\includegraphics[width=1.3cm]{$wd/bilder/my_cardreader.pdf}};
|
||||
|
||||
\begin{pgfonlayer}{background}
|
||||
\draw [rfid] (reader.center) -- (phone.west) ;
|
||||
\path[linie] (phone) edge node {\includegraphics[width=1.5cm]{$wd/bilder/simplecloud.pdf}} (pcsc-relay) ;
|
||||
\path[linie] (pcsc-relay) edge (reader2) ;
|
||||
\end{pgfonlayer}" /></p>
|
||||
<p class="caption">Relaying a contact-based smart card with pcsc-relay</p></div><p>The Android Smart Card Emulator has the following dependencies:</p>
|
||||
<div class="figure" id="id1" style="text-align: center">
|
||||
<p><img src="../_images/tikz-f7010fa8209b3752026a52619d57bbebb8fa2bcd.svg" alt="Figure made with TikZ" /></p>
|
||||
<p class="caption"><span class="caption-text">Simulate a contact-less Java Card with Android Smart Card Emulator</span></p>
|
||||
</div><div class="figure" id="id2" style="text-align: center">
|
||||
<p><img src="../_images/tikz-ae1e764f23cec8b5d67952bc6d8bbe66280e80d1.svg" alt="Figure made with TikZ" /></p>
|
||||
<p class="caption"><span class="caption-text">Simulate a contact-less smart card with a remote virtual smart card</span></p>
|
||||
</div><div class="figure" id="id3" style="text-align: center">
|
||||
<p><img src="../_images/tikz-30c9c7049675e5b06e8364c63b0718d51986e380.svg" alt="Figure made with TikZ" /></p>
|
||||
<p class="caption"><span class="caption-text">Relaying a contact-based smart card with pcsc-relay</span></p>
|
||||
</div><p>The Android Smart Card Emulator has the following dependencies:</p>
|
||||
<ul class="simple">
|
||||
<li>NFC hardware built into the smartphone for <abbr title="host card emulation">HCE</abbr></li>
|
||||
<li>Android 4.4 “KitKat” (or newer) or CyanogenMod 11 (or newer)</li>
|
||||
<li>permissions for a data connection (communication with Virtual Smart Card) and
|
||||
<li><p>NFC hardware built into the smartphone for <abbr title="host card emulation">HCE</abbr></p></li>
|
||||
<li><p>Android 4.4 “KitKat” (or newer) or CyanogenMod 11 (or newer)</p></li>
|
||||
<li><p>permissions for a data connection (communication with Virtual Smart Card) and
|
||||
for using NFC (communication to the reader); scanning the configuration via
|
||||
QR code requires permission to access the camera</li>
|
||||
<li>Virtual Smart Card <a class="reference internal" href="../virtualsmartcard/README.html#vicc-install"><em>installed on the host computer</em></a> for
|
||||
using the remote interface</li>
|
||||
QR code requires permission to access the camera</p></li>
|
||||
<li><p>Virtual Smart Card <a class="reference internal" href="../virtualsmartcard/README.html#vicc-install"><span class="std std-ref">installed on the host computer</span></a> for
|
||||
using the remote interface</p></li>
|
||||
</ul>
|
||||
<p>Please note that the currently emulated applets are verifying the PIN by
|
||||
transmitting it without any protection between card and terminal. You may want
|
||||
to have a look at <a class="reference external" href="http://sar.informatik.hu-berlin.de/research/publications/SAR-PR-2014-08/SAR-PR-2014-08_.pdf">Erik Nellesson’s</a>
|
||||
<a class="reference external" href="https://github.com/eriknellessen/Virtual-Keycard">Virtual Keycard</a> <a class="footnote-reference" href="#id13" id="id14">[7]</a>, which uses the PACE protocol for PIN verification.</p>
|
||||
to have a look at <a class="reference external" href="http://sar.informatik.hu-berlin.de/research/publications/SAR-PR-2014-08/SAR-PR-2014-08_.pdf">Erik Nellesson’s</a>
|
||||
<a class="reference external" href="https://github.com/eriknellessen/Virtual-Keycard">Virtual Keycard</a> <a class="footnote-reference brackets" href="#id14" id="id15">6</a>, which uses the PACE protocol for PIN verification.</p>
|
||||
<div class="section" id="download-and-install">
|
||||
<span id="acardemulator-install"></span><h2>Download and Install<a class="headerlink" href="#download-and-install" title="Permalink to this headline">¶</a></h2>
|
||||
<p>The Android Smart Card Emulator is available on <a class="reference external" href="https://f-droid.org/repository/browse/?fdid=com.vsmartcard.remotesmartcardreader.app">F-Droid</a> <a class="footnote-reference" href="#id15" id="id16">[8]</a>.</p>
|
||||
<p>The Android Smart Card Emulator is available on <a class="reference external" href="https://f-droid.org/repository/browse/?fdid=com.vsmartcard.remotesmartcardreader.app">F-Droid</a> <a class="footnote-reference brackets" href="#id16" id="id17">7</a>.</p>
|
||||
<a class="reference external image-reference" href="https://f-droid.org/repository/browse/?fdid=com.vsmartcard.acardemulator"><img alt="Android Smart Card Emulator on F-Droid" src="../_images/acardemu-qrcode.png" style="width: 265px; height: 265px;" /></a>
|
||||
<p>To manually compile the app you need to fetch the sources and initialize the
|
||||
submodules:</p>
|
||||
<div class="highlight-sh"><div class="highlight"><pre>git clone https://github.com/frankmorgner/vsmartcard.git
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>git clone https://github.com/frankmorgner/vsmartcard.git
|
||||
<span class="nb">cd</span> vsmartcard
|
||||
<span class="c"># fetch the applets that are in the submodules</span>
|
||||
<span class="c1"># fetch the applets that are in the submodules</span>
|
||||
git submodule init
|
||||
git submodule update
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>We use <a class="reference external" href="http://developer.android.com/sdk/installing/studio.html">Android Studio</a> <a class="footnote-reference" href="#id17" id="id18">[9]</a> to build and deploy the application. Use
|
||||
<em class="menuselection">File ‣ Open</em> to select <tt class="file docutils literal"><span class="pre">vsmartcard/ACardEmulator</span></tt>.
|
||||
Attach your smartphone and choose <em class="menuselection">Run ‣ Run ‘app’</em>.</p>
|
||||
<p>We use <a class="reference external" href="http://developer.android.com/sdk/installing/studio.html">Android Studio</a> <a class="footnote-reference brackets" href="#id18" id="id19">8</a> to build and deploy the application. Use
|
||||
<span class="menuselection">File ‣ Open</span> to select <code class="file docutils literal notranslate"><span class="pre">vsmartcard/ACardEmulator</span></code>.
|
||||
Attach your smartphone and choose <span class="menuselection">Run ‣ Run ‘app’</span>.</p>
|
||||
</div>
|
||||
<div class="section" id="question">
|
||||
<h2>Question<a class="headerlink" href="#question" title="Permalink to this headline">¶</a></h2>
|
||||
@@ -272,60 +227,32 @@ more than welcome! Please use our <a class="reference external" href="https://gi
|
||||
</div>
|
||||
<div class="section" id="notes-and-references">
|
||||
<h2>Notes and References<a class="headerlink" href="#notes-and-references" title="Permalink to this headline">¶</a></h2>
|
||||
<table class="docutils footnote" frame="void" id="id1" rules="none">
|
||||
<colgroup><col class="label" /><col /></colgroup>
|
||||
<tbody valign="top">
|
||||
<tr><td class="label"><a class="fn-backref" href="#id2">[1]</a></td><td><a class="reference external" href="http://www.jcardsim.org/">http://www.jcardsim.org/</a></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="docutils footnote" frame="void" id="id3" rules="none">
|
||||
<colgroup><col class="label" /><col /></colgroup>
|
||||
<tbody valign="top">
|
||||
<tr><td class="label"><a class="fn-backref" href="#id4">[2]</a></td><td><a class="reference external" href="https://github.com/licel/jcardsim/blob/master/src/main/java/com/licel/jcardsim/samples/HelloWorldApplet.java">https://github.com/licel/jcardsim/blob/master/src/main/java/com/licel/jcardsim/samples/HelloWorldApplet.java</a></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="docutils footnote" frame="void" id="id5" rules="none">
|
||||
<colgroup><col class="label" /><col /></colgroup>
|
||||
<tbody valign="top">
|
||||
<tr><td class="label"><a class="fn-backref" href="#id6">[3]</a></td><td><a class="reference external" href="https://developers.yubico.com/ykneo-openpgp/">https://developers.yubico.com/ykneo-openpgp/</a></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="docutils footnote" frame="void" id="id7" rules="none">
|
||||
<colgroup><col class="label" /><col /></colgroup>
|
||||
<tbody valign="top">
|
||||
<tr><td class="label"><a class="fn-backref" href="#id8">[4]</a></td><td><a class="reference external" href="https://developers.yubico.com/ykneo-oath/">https://developers.yubico.com/ykneo-oath/</a></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="docutils footnote" frame="void" id="id9" rules="none">
|
||||
<colgroup><col class="label" /><col /></colgroup>
|
||||
<tbody valign="top">
|
||||
<tr><td class="label"><a class="fn-backref" href="#id10">[5]</a></td><td><a class="reference external" href="http://www.pwendland.net/IsoApplet/">http://www.pwendland.net/IsoApplet/</a></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="docutils footnote" frame="void" id="id11" rules="none">
|
||||
<colgroup><col class="label" /><col /></colgroup>
|
||||
<tbody valign="top">
|
||||
<tr><td class="label"><a class="fn-backref" href="#id12">[6]</a></td><td><a class="reference external" href="https://github.com/vletoux/GidsApplet">https://github.com/vletoux/GidsApplet</a></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="docutils footnote" frame="void" id="id13" rules="none">
|
||||
<colgroup><col class="label" /><col /></colgroup>
|
||||
<tbody valign="top">
|
||||
<tr><td class="label"><a class="fn-backref" href="#id14">[7]</a></td><td><a class="reference external" href="https://github.com/eriknellessen/Virtual-Keycard">https://github.com/eriknellessen/Virtual-Keycard</a></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="docutils footnote" frame="void" id="id15" rules="none">
|
||||
<colgroup><col class="label" /><col /></colgroup>
|
||||
<tbody valign="top">
|
||||
<tr><td class="label"><a class="fn-backref" href="#id16">[8]</a></td><td><a class="reference external" href="https://f-droid.org/repository/browse/?fdid=com.vsmartcard.remotesmartcardreader.app">https://f-droid.org/repository/browse/?fdid=com.vsmartcard.remotesmartcardreader.app</a></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="docutils footnote" frame="void" id="id17" rules="none">
|
||||
<colgroup><col class="label" /><col /></colgroup>
|
||||
<tbody valign="top">
|
||||
<tr><td class="label"><a class="fn-backref" href="#id18">[9]</a></td><td><a class="reference external" href="http://developer.android.com/sdk/installing/studio.html">http://developer.android.com/sdk/installing/studio.html</a></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<dl class="footnote brackets">
|
||||
<dt class="label" id="id4"><span class="brackets"><a class="fn-backref" href="#id5">1</a></span></dt>
|
||||
<dd><p><a class="reference external" href="http://www.jcardsim.org/">http://www.jcardsim.org/</a></p>
|
||||
</dd>
|
||||
<dt class="label" id="id6"><span class="brackets"><a class="fn-backref" href="#id7">2</a></span></dt>
|
||||
<dd><p><a class="reference external" href="https://developers.yubico.com/ykneo-openpgp/">https://developers.yubico.com/ykneo-openpgp/</a></p>
|
||||
</dd>
|
||||
<dt class="label" id="id8"><span class="brackets"><a class="fn-backref" href="#id9">3</a></span></dt>
|
||||
<dd><p><a class="reference external" href="https://developers.yubico.com/ykneo-oath/">https://developers.yubico.com/ykneo-oath/</a></p>
|
||||
</dd>
|
||||
<dt class="label" id="id10"><span class="brackets"><a class="fn-backref" href="#id11">4</a></span></dt>
|
||||
<dd><p><a class="reference external" href="http://www.pwendland.net/IsoApplet/">http://www.pwendland.net/IsoApplet/</a></p>
|
||||
</dd>
|
||||
<dt class="label" id="id12"><span class="brackets"><a class="fn-backref" href="#id13">5</a></span></dt>
|
||||
<dd><p><a class="reference external" href="https://github.com/vletoux/GidsApplet">https://github.com/vletoux/GidsApplet</a></p>
|
||||
</dd>
|
||||
<dt class="label" id="id14"><span class="brackets"><a class="fn-backref" href="#id15">6</a></span></dt>
|
||||
<dd><p><a class="reference external" href="https://github.com/eriknellessen/Virtual-Keycard">https://github.com/eriknellessen/Virtual-Keycard</a></p>
|
||||
</dd>
|
||||
<dt class="label" id="id16"><span class="brackets"><a class="fn-backref" href="#id17">7</a></span></dt>
|
||||
<dd><p><a class="reference external" href="https://f-droid.org/repository/browse/?fdid=com.vsmartcard.remotesmartcardreader.app">https://f-droid.org/repository/browse/?fdid=com.vsmartcard.remotesmartcardreader.app</a></p>
|
||||
</dd>
|
||||
<dt class="label" id="id18"><span class="brackets"><a class="fn-backref" href="#id19">8</a></span></dt>
|
||||
<dd><p><a class="reference external" href="http://developer.android.com/sdk/installing/studio.html">http://developer.android.com/sdk/installing/studio.html</a></p>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -341,7 +268,7 @@ more than welcome! Please use our <a class="reference external" href="https://gi
|
||||
|
||||
</p>
|
||||
<p>
|
||||
© Copyright 2009-2017 by Dominik Oepen and Frank Morgner.<br/>
|
||||
© Copyright 2009-2021 by Dominik Oepen and Frank Morgner.<br/>
|
||||
</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
@@ -1,35 +1,23 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>Tizen Smart Card Emulator — vsmartcard 2017-01-16 documentation</title>
|
||||
|
||||
<link rel="stylesheet" href="../_static/basic.css" type="text/css" />
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Tizen Smart Card Emulator — vsmartcard 2021-04-28 documentation</title>
|
||||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../_static/bootswatch-3.3.4/flatly/bootstrap.min.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../_static/bootstrap-sphinx.css" type="text/css" />
|
||||
|
||||
<script type="text/javascript">
|
||||
var DOCUMENTATION_OPTIONS = {
|
||||
URL_ROOT: '../',
|
||||
VERSION: '2017-01-16',
|
||||
COLLAPSE_INDEX: false,
|
||||
FILE_SUFFIX: '.html',
|
||||
HAS_SOURCE: true
|
||||
};
|
||||
</script>
|
||||
<script type="text/javascript" src="../_static/jquery.js"></script>
|
||||
<script type="text/javascript" src="../_static/underscore.js"></script>
|
||||
<script type="text/javascript" src="../_static/doctools.js"></script>
|
||||
<script type="text/javascript" src="../_static/js/jquery-1.11.0.min.js"></script>
|
||||
<script type="text/javascript" src="../_static/js/jquery-fix.js"></script>
|
||||
<script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
|
||||
<script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="../_static/graphviz.css" />
|
||||
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
|
||||
<script src="../_static/jquery.js"></script>
|
||||
<script src="../_static/underscore.js"></script>
|
||||
<script src="../_static/doctools.js"></script>
|
||||
<script src="../_static/js/jquery-1.11.0.min.js"></script>
|
||||
<script src="../_static/js/jquery-fix.js"></script>
|
||||
<script src="../_static/bootstrap-3.3.7/js/bootstrap.min.js"></script>
|
||||
<script src="../_static/bootstrap-sphinx.js"></script>
|
||||
<link rel="shortcut icon" href="../_static/chip.ico"/>
|
||||
<link rel="top" title="vsmartcard 2017-01-16 documentation" href="../index.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="PC/SC Relay" href="../pcsc-relay/README.html" />
|
||||
<link rel="prev" title="Android Smart Card Emulator" href="../ACardEmulator/README.html" />
|
||||
<meta charset='utf-8'>
|
||||
@@ -37,8 +25,7 @@
|
||||
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
|
||||
</head>
|
||||
<body>
|
||||
</head><body>
|
||||
|
||||
<a href="https://github.com/frankmorgner/vsmartcard"
|
||||
class="visible-desktop hidden-xs"><img
|
||||
@@ -85,7 +72,7 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="../virtualsmartcard/README.html">Virtual Smart Card</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../remote-reader/README.html">Remote Smart Card Reader</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../ACardEmulator/README.html">Android Smart Card Emulator</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="">Tizen Smart Card Emulator</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">Tizen Smart Card Emulator</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../pcsc-relay/README.html">PC/SC Relay</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../ccid/README.html">USB CCID Emulator</a></li>
|
||||
</ul>
|
||||
@@ -119,7 +106,7 @@
|
||||
|
||||
|
||||
<li>
|
||||
<a href="../ACardEmulator/README.html" title="Previous Chapter: Android Smart Card Emulator"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">« Android Smart Ca...</span>
|
||||
<a href="../ACardEmulator/README.html" title="Previous Chapter: Android Smart Card Emulator"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">« Android Smart...</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
@@ -156,50 +143,45 @@
|
||||
<div class="section" id="tizen-smart-card-emulator">
|
||||
<span id="tcardemulator"></span><h1>Tizen Smart Card Emulator<a class="headerlink" href="#tizen-smart-card-emulator" title="Permalink to this headline">¶</a></h1>
|
||||
<div class="sidebar">
|
||||
<p class="first sidebar-title">Use a Tizen smartwatch as contact-less smart card</p>
|
||||
<table class="last docutils field-list" frame="void" rules="none">
|
||||
<col class="field-name" />
|
||||
<col class="field-body" />
|
||||
<tbody valign="top">
|
||||
<tr class="field-odd field"><th class="field-name">License:</th><td class="field-body">GPL version 3</td>
|
||||
</tr>
|
||||
<tr class="field-even field"><th class="field-name" colspan="2">Tested Platform:</th></tr>
|
||||
<tr class="field-even field"><td> </td><td class="field-body">Tizen (Samsung Gear S2)</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p class="sidebar-title">Use a Tizen smartwatch as contact-less smart card</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">License</dt>
|
||||
<dd class="field-odd"><p>GPL version 3</p>
|
||||
</dd>
|
||||
<dt class="field-even">Tested Platform</dt>
|
||||
<dd class="field-even"><p>Tizen (Samsung Gear S2)</p>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<p>The Tizen Smart Card Emulator allows the emulation of a contact-less smart card.
|
||||
The emulator uses Tizen’s <abbr title="host card emulation">HCE</abbr> to fetch APDUs from a contact-less reader.
|
||||
The headless Tizen service delegates the Command APDUs via Samsung’s Accessory
|
||||
Protocol to the <a class="reference internal" href="../ACardEmulator/README.html#acardemulator"><em>Android Smart Card Emulator</em></a>. The android app processes the commands and
|
||||
The emulator uses Tizen’s <abbr title="host card emulation">HCE</abbr> to fetch APDUs from a contact-less reader.
|
||||
The headless Tizen service delegates the Command APDUs via Samsung’s Accessory
|
||||
Protocol to the <a class="reference internal" href="../ACardEmulator/README.html#acardemulator"><span class="std std-ref">Android Smart Card Emulator</span></a>. The android app processes the commands and
|
||||
sends responses back to the contact-less reader via the Tizen Smart Card
|
||||
Emulator.</p>
|
||||
<p>You may also attach your own simulation by using the Samsung Accessory Protocol
|
||||
for communicating with the tizen service.</p>
|
||||
<div class="figure">
|
||||
<p><img src="../_images/tikz-b87c5ab6092153f7f845370e9964b266e5d97f55.svg" alt="\input{$wd/bilder/tikzstyles.tex}
|
||||
\node (reader) {\includegraphics[width=3cm]{$wd/bilder/my_cardreader.pdf}};
|
||||
\node [below=0cm of reader, kleiner] {Contact-less Reader};
|
||||
\node (gears2) [right=1cm of reader] {\includegraphics[width=3cm]{$wd/bilder/gears2.jpg}};
|
||||
\node (phone) [right=-.5cm of gears2] {\includegraphics[width=3cm]{$wd/bilder/smartphone.pdf}};
|
||||
\node (app) [at=(phone.center)] {\includegraphics[width=2.8cm, height=4.9cm]{$wd/bilder/ACardEmulator.png}};
|
||||
|
||||
\begin{pgfonlayer}{background}
|
||||
\draw [rfid] (reader.center) -- (gears2.west) ;
|
||||
\end{pgfonlayer}" /></p>
|
||||
<p class="caption">Simulate a contact-less smart card with Android Smart Card Emulator</p></div><div class="section" id="download-and-install">
|
||||
<div class="figure" id="id1" style="text-align: center">
|
||||
<p><img src="../_images/tikz-b87c5ab6092153f7f845370e9964b266e5d97f55.svg" alt="Figure made with TikZ" /></p>
|
||||
<p class="caption"><span class="caption-text">Simulate a contact-less smart card with Android Smart Card Emulator</span></p>
|
||||
</div><div class="section" id="download-and-install">
|
||||
<h2>Download and Install<a class="headerlink" href="#download-and-install" title="Permalink to this headline">¶</a></h2>
|
||||
<p>To manually compile the app you need to fetch the sources and initialize the
|
||||
submodules:</p>
|
||||
<div class="highlight-sh"><div class="highlight"><pre>git clone https://github.com/frankmorgner/vsmartcard.git
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>git clone https://github.com/frankmorgner/vsmartcard.git
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>We use <a class="reference external" href="https://developer.tizen.org/development/tools/download">Tizen SDK</a> <a class="footnote-reference" href="#id1" id="id2">[1]</a> to build and deploy the application. Use
|
||||
<em class="menuselection">Import...</em> to select <em class="menuselection">Tizen ‣ Tizen Project</em>.
|
||||
In the next dialog choose <tt class="file docutils literal"><span class="pre">Tizen/TCardEmulator</span></tt>. To be able to build and
|
||||
<p>We use <a class="reference external" href="https://developer.tizen.org/development/tools/download">Tizen SDK</a> <a class="footnote-reference brackets" href="#id2" id="id3">1</a> to build and deploy the application. Use
|
||||
<span class="menuselection">Import…</span> to select <span class="menuselection">Tizen ‣ Tizen Project</span>.
|
||||
In the next dialog choose <code class="file docutils literal notranslate"><span class="pre">Tizen/TCardEmulator</span></code>. To be able to build and
|
||||
install the Tizen service on the smartwatch, you need to <a class="reference external" href="https://developer.tizen.org/community/tip-tech/tizen-sdk-install-guide-certificate-extensions-included">install the
|
||||
appropriate SDK extensions and register as app developer</a> <a class="footnote-reference" href="#id3" id="id4">[2]</a>.</p>
|
||||
appropriate SDK extensions and register as app developer</a> <a class="footnote-reference brackets" href="#id4" id="id5">2</a>.</p>
|
||||
<p>More usefull ressources:</p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference external" href="https://developer.tizen.org/development/guides/native-application/connectivity-and-wireless/nfc">Tizen Developers: Near Field Communication (NFC)</a> <a class="footnote-reference brackets" href="#id6" id="id7">3</a></p></li>
|
||||
<li><p><a class="reference external" href="http://developer.samsung.com/html/techdoc/ProgrammingGuide_Accessory.pdf">Programming Guide: Accessory</a> <a class="footnote-reference brackets" href="#id8" id="id9">4</a></p></li>
|
||||
<li><p><a class="reference external" href="http://developer.samsung.com/html/techdoc/Guidelines_on_Connecting_GearS2_device_using_WiFi_151222.pdf">Guidelines on Connecting a Gear S2 Device Using Wi-Fi</a> <a class="footnote-reference brackets" href="#id10" id="id11">5</a></p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="question">
|
||||
<h2>Question<a class="headerlink" href="#question" title="Permalink to this headline">¶</a></h2>
|
||||
@@ -208,18 +190,23 @@ more than welcome! Please use our <a class="reference external" href="https://gi
|
||||
</div>
|
||||
<div class="section" id="notes-and-references">
|
||||
<h2>Notes and References<a class="headerlink" href="#notes-and-references" title="Permalink to this headline">¶</a></h2>
|
||||
<table class="docutils footnote" frame="void" id="id1" rules="none">
|
||||
<colgroup><col class="label" /><col /></colgroup>
|
||||
<tbody valign="top">
|
||||
<tr><td class="label"><a class="fn-backref" href="#id2">[1]</a></td><td><a class="reference external" href="https://developer.tizen.org/development/tools/download">https://developer.tizen.org/development/tools/download</a></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="docutils footnote" frame="void" id="id3" rules="none">
|
||||
<colgroup><col class="label" /><col /></colgroup>
|
||||
<tbody valign="top">
|
||||
<tr><td class="label"><a class="fn-backref" href="#id4">[2]</a></td><td><a class="reference external" href="https://developer.tizen.org/community/tip-tech/tizen-sdk-install-guide-certificate-extensions-included">https://developer.tizen.org/community/tip-tech/tizen-sdk-install-guide-certificate-extensions-included</a></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<dl class="footnote brackets">
|
||||
<dt class="label" id="id2"><span class="brackets"><a class="fn-backref" href="#id3">1</a></span></dt>
|
||||
<dd><p><a class="reference external" href="https://developer.tizen.org/development/tools/download">https://developer.tizen.org/development/tools/download</a></p>
|
||||
</dd>
|
||||
<dt class="label" id="id4"><span class="brackets"><a class="fn-backref" href="#id5">2</a></span></dt>
|
||||
<dd><p><a class="reference external" href="https://developer.tizen.org/community/tip-tech/tizen-sdk-install-guide-certificate-extensions-included">https://developer.tizen.org/community/tip-tech/tizen-sdk-install-guide-certificate-extensions-included</a></p>
|
||||
</dd>
|
||||
<dt class="label" id="id6"><span class="brackets"><a class="fn-backref" href="#id7">3</a></span></dt>
|
||||
<dd><p><a class="reference external" href="https://developer.tizen.org/development/guides/native-application/connectivity-and-wireless/nfc">https://developer.tizen.org/development/guides/native-application/connectivity-and-wireless/nfc</a></p>
|
||||
</dd>
|
||||
<dt class="label" id="id8"><span class="brackets"><a class="fn-backref" href="#id9">4</a></span></dt>
|
||||
<dd><p><a class="reference external" href="http://developer.samsung.com/html/techdoc/ProgrammingGuide_Accessory.pdf">http://developer.samsung.com/html/techdoc/ProgrammingGuide_Accessory.pdf</a></p>
|
||||
</dd>
|
||||
<dt class="label" id="id10"><span class="brackets"><a class="fn-backref" href="#id11">5</a></span></dt>
|
||||
<dd><p><a class="reference external" href="http://developer.samsung.com/html/techdoc/Guidelines_on_Connecting_GearS2_device_using_WiFi_151222.pdf">http://developer.samsung.com/html/techdoc/Guidelines_on_Connecting_GearS2_device_using_WiFi_151222.pdf</a></p>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -235,7 +222,7 @@ more than welcome! Please use our <a class="reference external" href="https://gi
|
||||
|
||||
</p>
|
||||
<p>
|
||||
© Copyright 2009-2017 by Dominik Oepen and Frank Morgner.<br/>
|
||||
© Copyright 2009-2021 by Dominik Oepen and Frank Morgner.<br/>
|
||||
</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
Before Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 3.6 KiB |
@@ -1,4 +1,4 @@
|
||||
<map id="inheritance91c24ce5a0" name="inheritance91c24ce5a0">
|
||||
<area shape="rect" id="node1" title="A class whose instances are single test cases." alt="" coords="5,5,172,31"/>
|
||||
<area shape="rect" id="node2" href="#virtualsmartcard.tests.SmartcardSAM_test.TestSmartcardSAM" title="virtualsmartcard.tests.SmartcardSAM_test.TestSmartcardSAM" alt="" coords="220,5,639,31"/>
|
||||
<area shape="rect" id="node1" title="A class whose instances are single test cases." alt="" coords="5,5,173,31"/>
|
||||
<area shape="rect" id="node2" href="#virtualsmartcard.tests.SmartcardSAM_test.TestSmartcardSAM" target="_top" title="virtualsmartcard.tests.SmartcardSAM_test.TestSmartcardSAM" alt="" coords="221,5,648,31"/>
|
||||
</map>
|
||||
|
Before Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 2.7 KiB |
@@ -1,3 +1,3 @@
|
||||
<map id="inheritancef021466e51" name="inheritancef021466e51">
|
||||
<area shape="rect" id="node1" href="#virtualsmartcard.SWutils.SwError" title="virtualsmartcard.SWutils.SwError" alt="" coords="5,5,239,31"/>
|
||||
<area shape="rect" id="node1" href="#virtualsmartcard.SWutils.SwError" target="_top" title="virtualsmartcard.SWutils.SwError" alt="" coords="5,5,243,31"/>
|
||||
</map>
|
||||
|
Before Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 7.1 KiB |
@@ -0,0 +1,6 @@
|
||||
<map id="inheritancef880455e0d" name="inheritancef880455e0d">
|
||||
<area shape="rect" id="node1" href="virtualsmartcard.SEutils.html#virtualsmartcard.SEutils.Security_Environment" target="_top" title="virtualsmartcard.SEutils.Security_Environment" alt="" coords="5,55,331,80"/>
|
||||
<area shape="rect" id="node4" href="#virtualsmartcard.cards.ePass.ePass_SE" target="_top" title="This class implements the Security Environment of the ICAO Passports. It" alt="" coords="391,55,665,80"/>
|
||||
<area shape="rect" id="node2" href="virtualsmartcard.SmartcardSAM.html#virtualsmartcard.SmartcardSAM.SAM" target="_top" title="This class is used to store the data needed by the SAM." alt="" coords="35,5,301,31"/>
|
||||
<area shape="rect" id="node3" href="#virtualsmartcard.cards.ePass.PassportSAM" target="_top" title="SAM for ICAO ePassport. Implements Basic access control and key derivation" alt="" coords="379,5,677,31"/>
|
||||
</map>
|
||||
|
After Width: | Height: | Size: 6.2 KiB |
@@ -0,0 +1,4 @@
|
||||
<map id="inheritance7064aeb8f6" name="inheritance7064aeb8f6">
|
||||
<area shape="rect" id="node1" href="#virtualsmartcard.SEutils.ControlReferenceTemplate" target="_top" title="Control Reference Templates are used to configure the Security" alt="" coords="5,55,360,80"/>
|
||||
<area shape="rect" id="node2" href="#virtualsmartcard.SEutils.Security_Environment" target="_top" title="virtualsmartcard.SEutils.Security_Environment" alt="" coords="20,5,345,31"/>
|
||||
</map>
|
||||
|
Before Width: | Height: | Size: 5.7 KiB |
@@ -1,6 +0,0 @@
|
||||
<map id="inheritancef880455e0d" name="inheritancef880455e0d">
|
||||
<area shape="rect" id="node1" href="virtualsmartcard.SEutils.html#virtualsmartcard.SEutils.Security_Environment" title="virtualsmartcard.SEutils.Security_Environment" alt="" coords="5,55,324,80"/>
|
||||
<area shape="rect" id="node4" href="#virtualsmartcard.cards.ePass.ePass_SE" title="This class implements the Security Environment of the ICAO Passports. It" alt="" coords="383,55,655,80"/>
|
||||
<area shape="rect" id="node2" href="virtualsmartcard.SmartcardSAM.html#virtualsmartcard.SmartcardSAM.SAM" title="This class is used to store the data needed by the SAM." alt="" coords="36,5,293,31"/>
|
||||
<area shape="rect" id="node3" href="#virtualsmartcard.cards.ePass.PassportSAM" title="SAM for ICAO ePassport. Implements Basic access control and key derivation" alt="" coords="372,5,667,31"/>
|
||||
</map>
|
||||
|
After Width: | Height: | Size: 3.0 KiB |
@@ -1,4 +1,4 @@
|
||||
<map id="inheritancedaa185e5f0" name="inheritancedaa185e5f0">
|
||||
<area shape="rect" id="node1" title="A class whose instances are single test cases." alt="" coords="5,5,172,31"/>
|
||||
<area shape="rect" id="node2" href="#virtualsmartcard.tests.utils_test.TestUtils" title="virtualsmartcard.tests.utils_test.TestUtils" alt="" coords="220,5,503,31"/>
|
||||
<area shape="rect" id="node1" title="A class whose instances are single test cases." alt="" coords="5,5,173,31"/>
|
||||
<area shape="rect" id="node2" href="#virtualsmartcard.tests.utils_test.TestUtils" target="_top" title="virtualsmartcard.tests.utils_test.TestUtils" alt="" coords="221,5,512,31"/>
|
||||
</map>
|
||||
|
After Width: | Height: | Size: 6.1 KiB |
@@ -0,0 +1,5 @@
|
||||
<map id="inheritance4bd50c7c14" name="inheritance4bd50c7c14">
|
||||
<area shape="rect" id="node1" href="#virtualsmartcard.VirtualSmartcard.Iso7816OS" target="_top" title="virtualsmartcard.VirtualSmartcard.Iso7816OS" alt="" coords="387,55,704,80"/>
|
||||
<area shape="rect" id="node2" href="#virtualsmartcard.VirtualSmartcard.SmartcardOS" target="_top" title="Base class for a smart card OS" alt="" coords="5,55,339,80"/>
|
||||
<area shape="rect" id="node3" href="#virtualsmartcard.VirtualSmartcard.VirtualICC" target="_top" title="This class is responsible for maintaining the communication of the virtual" alt="" coords="15,5,329,31"/>
|
||||
</map>
|
||||
|
After Width: | Height: | Size: 3.4 KiB |
@@ -0,0 +1,4 @@
|
||||
<map id="inheritancee548df9983" name="inheritancee548df9983">
|
||||
<area shape="rect" id="node1" href="virtualsmartcard.VirtualSmartcard.html#virtualsmartcard.VirtualSmartcard.SmartcardOS" target="_top" title="Base class for a smart card OS" alt="" coords="5,5,339,31"/>
|
||||
<area shape="rect" id="node2" href="#virtualsmartcard.cards.HandlerTest.HandlerTestOS" target="_top" title="This class implements the commands used for the PC/SC-lite  smart  card" alt="" coords="387,5,736,31"/>
|
||||
</map>
|
||||
|
Before Width: | Height: | Size: 11 KiB |
@@ -1,9 +0,0 @@
|
||||
<map id="inheritance498eda02c2" name="inheritance498eda02c2">
|
||||
<area shape="rect" id="node1" href="#virtualsmartcard.SmartcardFilesystem.DF" title="Class for a dedicated file" alt="" coords="250,20,446,37"/>
|
||||
<area shape="rect" id="node4" href="#virtualsmartcard.SmartcardFilesystem.MF" title="Class for a master file" alt="" coords="523,20,719,37"/>
|
||||
<area shape="rect" id="node2" href="#virtualsmartcard.SmartcardFilesystem.File" title="Template class for a smartcard file." alt="" coords="12,37,209,54"/>
|
||||
<area shape="rect" id="node3" href="#virtualsmartcard.SmartcardFilesystem.EF" title="Template class for an elementary file." alt="" coords="250,53,445,71"/>
|
||||
<area shape="rect" id="node6" href="#virtualsmartcard.SmartcardFilesystem.RecordStructureEF" title="Class for an elementary file with record structure." alt="" coords="489,53,754,71"/>
|
||||
<area shape="rect" id="node7" href="#virtualsmartcard.SmartcardFilesystem.TransparentStructureEF" title="Class for an elementary file with transparent structure." alt="" coords="478,87,764,104"/>
|
||||
<area shape="rect" id="node5" href="#virtualsmartcard.SmartcardFilesystem.Record" title="virtualsmartcard.SmartcardFilesystem.Record" alt="" coords="4,4,217,21"/>
|
||||
</map>
|
||||
|
Before Width: | Height: | Size: 6.3 KiB |
|
Before Width: | Height: | Size: 4.9 KiB |
@@ -1,5 +0,0 @@
|
||||
<map id="inheritance4bd50c7c14" name="inheritance4bd50c7c14">
|
||||
<area shape="rect" id="node1" href="#virtualsmartcard.VirtualSmartcard.Iso7816OS" title="virtualsmartcard.VirtualSmartcard.Iso7816OS" alt="" coords="383,55,695,80"/>
|
||||
<area shape="rect" id="node2" href="#virtualsmartcard.VirtualSmartcard.SmartcardOS" title="Base class for a smart card OS" alt="" coords="5,55,335,80"/>
|
||||
<area shape="rect" id="node3" href="#virtualsmartcard.VirtualSmartcard.VirtualICC" title="This class is responsible for maintaining the communication of the virtual" alt="" coords="17,5,323,31"/>
|
||||
</map>
|
||||
|
Before Width: | Height: | Size: 2.9 KiB |
|
After Width: | Height: | Size: 7.5 KiB |
@@ -1,5 +1,5 @@
|
||||
<map id="inheritance305ec42f0e" name="inheritance305ec42f0e">
|
||||
<area shape="rect" id="node1" href="#virtualsmartcard.utils.APDU" title="Base class for an APDU" alt="" coords="5,31,204,56"/>
|
||||
<area shape="rect" id="node2" href="#virtualsmartcard.utils.C_APDU" title="Class for a command APDU" alt="" coords="252,5,467,31"/>
|
||||
<area shape="rect" id="node3" href="#virtualsmartcard.utils.R_APDU" title="Class for a response APDU" alt="" coords="252,55,467,80"/>
|
||||
<area shape="rect" id="node1" href="#virtualsmartcard.utils.APDU" target="_top" title="Base class for an APDU" alt="" coords="5,31,208,56"/>
|
||||
<area shape="rect" id="node2" href="#virtualsmartcard.utils.C_APDU" target="_top" title="Class for a command APDU" alt="" coords="256,5,475,31"/>
|
||||
<area shape="rect" id="node3" href="#virtualsmartcard.utils.R_APDU" target="_top" title="Class for a response APDU" alt="" coords="256,55,475,80"/>
|
||||
</map>
|
||||
|
After Width: | Height: | Size: 9.4 KiB |
@@ -0,0 +1,13 @@
|
||||
<map id="inheritance645263d8d9" name="inheritance645263d8d9">
|
||||
<area shape="rect" id="node1" href="virtualsmartcard.SEutils.html#virtualsmartcard.SEutils.Security_Environment" target="_top" title="virtualsmartcard.SEutils.Security_Environment" alt="" coords="5,79,173,93"/>
|
||||
<area shape="rect" id="node11" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSE" target="_top" title="virtualsmartcard.cards.cryptoflex.CryptoflexSE" alt="" coords="204,79,372,93"/>
|
||||
<area shape="rect" id="node2" href="virtualsmartcard.SmartcardFilesystem.html#virtualsmartcard.SmartcardFilesystem.DF" target="_top" title="Class for a dedicated file" alt="" coords="212,54,364,67"/>
|
||||
<area shape="rect" id="node4" href="virtualsmartcard.SmartcardFilesystem.html#virtualsmartcard.SmartcardFilesystem.MF" target="_top" title="Class for a master file" alt="" coords="409,54,562,67"/>
|
||||
<area shape="rect" id="node3" href="virtualsmartcard.SmartcardFilesystem.html#virtualsmartcard.SmartcardFilesystem.File" target="_top" title="Template class for a smartcard file." alt="" coords="12,54,166,67"/>
|
||||
<area shape="rect" id="node8" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF" target="_top" title="virtualsmartcard.cards.cryptoflex.CryptoflexMF" alt="" coords="595,54,765,67"/>
|
||||
<area shape="rect" id="node5" href="virtualsmartcard.SmartcardSAM.html#virtualsmartcard.SmartcardSAM.SAM" target="_top" title="This class is used to store the data needed by the SAM." alt="" coords="20,28,158,41"/>
|
||||
<area shape="rect" id="node10" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSAM" target="_top" title="virtualsmartcard.cards.cryptoflex.CryptoflexSAM" alt="" coords="200,28,376,41"/>
|
||||
<area shape="rect" id="node6" href="virtualsmartcard.VirtualSmartcard.html#virtualsmartcard.VirtualSmartcard.Iso7816OS" target="_top" title="virtualsmartcard.VirtualSmartcard.Iso7816OS" alt="" coords="206,3,370,16"/>
|
||||
<area shape="rect" id="node9" href="#virtualsmartcard.cards.cryptoflex.CryptoflexOS" target="_top" title="virtualsmartcard.cards.cryptoflex.CryptoflexOS" alt="" coords="401,3,570,16"/>
|
||||
<area shape="rect" id="node7" href="virtualsmartcard.VirtualSmartcard.html#virtualsmartcard.VirtualSmartcard.SmartcardOS" target="_top" title="Base class for a smart card OS" alt="" coords="3,3,175,16"/>
|
||||
</map>
|
||||
|
Before Width: | Height: | Size: 3.0 KiB |
@@ -1,4 +0,0 @@
|
||||
<map id="inheritancee548df9983" name="inheritancee548df9983">
|
||||
<area shape="rect" id="node1" href="virtualsmartcard.VirtualSmartcard.html#virtualsmartcard.VirtualSmartcard.SmartcardOS" title="Base class for a smart card OS" alt="" coords="5,5,335,31"/>
|
||||
<area shape="rect" id="node2" href="#virtualsmartcard.cards.HandlerTest.HandlerTestOS" title="This class implements the commands used for the PC/SC-lite  smart  card" alt="" coords="383,5,725,31"/>
|
||||
</map>
|
||||
|
Before Width: | Height: | Size: 2.9 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
@@ -0,0 +1,3 @@
|
||||
<map id="inheritancea75424a3c7" name="inheritancea75424a3c7">
|
||||
<area shape="rect" id="node1" href="#virtualsmartcard.cards.RelayMiddleman.RelayMiddleman" target="_top" title="The RelayMiddleman class serves as a base from which a user might derive" alt="" coords="5,5,403,31"/>
|
||||
</map>
|
||||
|
Before Width: | Height: | Size: 5.6 KiB |
@@ -1,4 +0,0 @@
|
||||
<map id="inheritance7064aeb8f6" name="inheritance7064aeb8f6">
|
||||
<area shape="rect" id="node1" href="#virtualsmartcard.SEutils.ControlReferenceTemplate" title="Control Reference Templates are used to configure the Security" alt="" coords="5,55,353,80"/>
|
||||
<area shape="rect" id="node2" href="#virtualsmartcard.SEutils.Security_Environment" title="virtualsmartcard.SEutils.Security_Environment" alt="" coords="20,5,339,31"/>
|
||||
</map>
|
||||
|
Before Width: | Height: | Size: 7.5 KiB |
@@ -1,6 +0,0 @@
|
||||
<map id="inheritancea62cb97bf3" name="inheritancea62cb97bf3">
|
||||
<area shape="rect" id="node1" title="A class whose instances are single test cases." alt="" coords="3,20,113,37"/>
|
||||
<area shape="rect" id="node3" href="#virtualsmartcard.tests.CardGenerator_test.ISO7816GeneratorTest" title="virtualsmartcard.tests.CardGenerator_test.ISO7816GeneratorTest" alt="" coords="144,20,434,37"/>
|
||||
<area shape="rect" id="node2" href="#virtualsmartcard.tests.CardGenerator_test.CryptoflexGeneratorTest" title="virtualsmartcard.tests.CardGenerator_test.CryptoflexGeneratorTest" alt="" coords="465,3,765,20"/>
|
||||
<area shape="rect" id="node4" href="#virtualsmartcard.tests.CardGenerator_test.TestNPACardGenerator" title="virtualsmartcard.tests.CardGenerator_test.TestNPACardGenerator" alt="" coords="469,36,761,52"/>
|
||||
</map>
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
@@ -1,3 +1,3 @@
|
||||
<map id="inheritancecb03a25959" name="inheritancecb03a25959">
|
||||
<area shape="rect" id="node1" href="#virtualsmartcard.CardGenerator.CardGenerator" title="This class is used to generate the SAM and filesystem for the" alt="" coords="5,5,331,31"/>
|
||||
<area shape="rect" id="node1" href="#virtualsmartcard.CardGenerator.CardGenerator" target="_top" title="This class is used to generate the SAM and filesystem for the" alt="" coords="5,5,332,31"/>
|
||||
</map>
|
||||
|
Before Width: | Height: | Size: 10 KiB |
@@ -1,11 +0,0 @@
|
||||
<map id="inheritance6f1df1879c" name="inheritance6f1df1879c">
|
||||
<area shape="rect" id="node1" href="virtualsmartcard.SEutils.html#virtualsmartcard.SEutils.ControlReferenceTemplate" title="Control Reference Templates are used to configure the Security" alt="" coords="4,117,269,136"/>
|
||||
<area shape="rect" id="node7" href="#virtualsmartcard.cards.nPA.nPA_AT_CRT" title="virtualsmartcard.cards.nPA.nPA_AT_CRT" alt="" coords="318,117,530,136"/>
|
||||
<area shape="rect" id="node2" href="virtualsmartcard.SEutils.html#virtualsmartcard.SEutils.Security_Environment" title="virtualsmartcard.SEutils.Security_Environment" alt="" coords="15,79,258,98"/>
|
||||
<area shape="rect" id="node9" href="#virtualsmartcard.cards.nPA.nPA_SE" title="virtualsmartcard.cards.nPA.nPA_SE" alt="" coords="330,79,518,98"/>
|
||||
<area shape="rect" id="node3" href="virtualsmartcard.SmartcardSAM.html#virtualsmartcard.SmartcardSAM.SAM" title="This class is used to store the data needed by the SAM." alt="" coords="39,42,234,61"/>
|
||||
<area shape="rect" id="node8" href="#virtualsmartcard.cards.nPA.nPA_SAM" title="virtualsmartcard.cards.nPA.nPA_SAM" alt="" coords="326,42,522,61"/>
|
||||
<area shape="rect" id="node4" href="virtualsmartcard.VirtualSmartcard.html#virtualsmartcard.VirtualSmartcard.Iso7816OS" title="virtualsmartcard.VirtualSmartcard.Iso7816OS" alt="" coords="305,4,543,23"/>
|
||||
<area shape="rect" id="node6" href="#virtualsmartcard.cards.nPA.NPAOS" title="virtualsmartcard.cards.nPA.NPAOS" alt="" coords="579,4,764,23"/>
|
||||
<area shape="rect" id="node5" href="virtualsmartcard.VirtualSmartcard.html#virtualsmartcard.VirtualSmartcard.SmartcardOS" title="Base class for a smart card OS" alt="" coords="11,4,262,23"/>
|
||||
</map>
|
||||
|
After Width: | Height: | Size: 3.4 KiB |
@@ -0,0 +1,4 @@
|
||||
<map id="inheritanceeed1b727ec" name="inheritanceeed1b727ec">
|
||||
<area shape="rect" id="node1" href="virtualsmartcard.VirtualSmartcard.html#virtualsmartcard.VirtualSmartcard.SmartcardOS" target="_top" title="Base class for a smart card OS" alt="" coords="5,5,339,31"/>
|
||||
<area shape="rect" id="node2" href="#virtualsmartcard.cards.Relay.RelayOS" target="_top" title="This class implements relaying of a (physical) smartcard. The RelayOS" alt="" coords="387,5,653,31"/>
|
||||
</map>
|
||||
|
After Width: | Height: | Size: 3.6 KiB |
@@ -1,4 +1,4 @@
|
||||
<map id="inheritance34477d81d3" name="inheritance34477d81d3">
|
||||
<area shape="rect" id="node1" title="A class whose instances are single test cases." alt="" coords="5,5,172,31"/>
|
||||
<area shape="rect" id="node2" href="#virtualsmartcard.tests.CryptoUtils_test.TestCryptoUtils" title="virtualsmartcard.tests.CryptoUtils_test.TestCryptoUtils" alt="" coords="220,5,591,31"/>
|
||||
<area shape="rect" id="node1" title="A class whose instances are single test cases." alt="" coords="5,5,173,31"/>
|
||||
<area shape="rect" id="node2" href="#virtualsmartcard.tests.CryptoUtils_test.TestCryptoUtils" target="_top" title="virtualsmartcard.tests.CryptoUtils_test.TestCryptoUtils" alt="" coords="221,5,600,31"/>
|
||||
</map>
|
||||
|
Before Width: | Height: | Size: 9.2 KiB |
@@ -1,13 +0,0 @@
|
||||
<map id="inheritance645263d8d9" name="inheritance645263d8d9">
|
||||
<area shape="rect" id="node1" href="virtualsmartcard.SEutils.html#virtualsmartcard.SEutils.Security_Environment" title="virtualsmartcard.SEutils.Security_Environment" alt="" coords="6,80,172,93"/>
|
||||
<area shape="rect" id="node11" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSE" title="virtualsmartcard.cards.cryptoflex.CryptoflexSE" alt="" coords="203,80,372,93"/>
|
||||
<area shape="rect" id="node2" href="virtualsmartcard.SmartcardFilesystem.html#virtualsmartcard.SmartcardFilesystem.DF" title="Class for a dedicated file" alt="" coords="212,54,363,68"/>
|
||||
<area shape="rect" id="node4" href="virtualsmartcard.SmartcardFilesystem.html#virtualsmartcard.SmartcardFilesystem.MF" title="Class for a master file" alt="" coords="410,54,561,68"/>
|
||||
<area shape="rect" id="node3" href="virtualsmartcard.SmartcardFilesystem.html#virtualsmartcard.SmartcardFilesystem.File" title="Template class for a smartcard file." alt="" coords="13,54,165,68"/>
|
||||
<area shape="rect" id="node8" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF" title="virtualsmartcard.cards.cryptoflex.CryptoflexMF" alt="" coords="596,54,765,68"/>
|
||||
<area shape="rect" id="node5" href="virtualsmartcard.SmartcardSAM.html#virtualsmartcard.SmartcardSAM.SAM" title="This class is used to store the data needed by the SAM." alt="" coords="22,29,156,42"/>
|
||||
<area shape="rect" id="node10" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSAM" title="virtualsmartcard.cards.cryptoflex.CryptoflexSAM" alt="" coords="200,29,375,42"/>
|
||||
<area shape="rect" id="node6" href="virtualsmartcard.VirtualSmartcard.html#virtualsmartcard.VirtualSmartcard.Iso7816OS" title="virtualsmartcard.VirtualSmartcard.Iso7816OS" alt="" coords="206,3,369,16"/>
|
||||
<area shape="rect" id="node9" href="#virtualsmartcard.cards.cryptoflex.CryptoflexOS" title="virtualsmartcard.cards.cryptoflex.CryptoflexOS" alt="" coords="400,3,571,16"/>
|
||||
<area shape="rect" id="node7" href="virtualsmartcard.VirtualSmartcard.html#virtualsmartcard.VirtualSmartcard.SmartcardOS" title="Base class for a smart card OS" alt="" coords="3,3,175,16"/>
|
||||
</map>
|
||||
|
After Width: | Height: | Size: 7.2 KiB |
@@ -0,0 +1,6 @@
|
||||
<map id="inheritancea62cb97bf3" name="inheritancea62cb97bf3">
|
||||
<area shape="rect" id="node1" title="A class whose instances are single test cases." alt="" coords="3,20,113,36"/>
|
||||
<area shape="rect" id="node3" href="#virtualsmartcard.tests.CardGenerator_test.ISO7816GeneratorTest" target="_top" title="virtualsmartcard.tests.CardGenerator_test.ISO7816GeneratorTest" alt="" coords="144,20,435,36"/>
|
||||
<area shape="rect" id="node2" href="#virtualsmartcard.tests.CardGenerator_test.CryptoflexGeneratorTest" target="_top" title="virtualsmartcard.tests.CardGenerator_test.CryptoflexGeneratorTest" alt="" coords="466,3,765,20"/>
|
||||
<area shape="rect" id="node4" href="#virtualsmartcard.tests.CardGenerator_test.TestNPACardGenerator" target="_top" title="virtualsmartcard.tests.CardGenerator_test.TestNPACardGenerator" alt="" coords="469,36,761,52"/>
|
||||
</map>
|
||||
|
Before Width: | Height: | Size: 2.8 KiB |
@@ -1,4 +0,0 @@
|
||||
<map id="inheritanceeed1b727ec" name="inheritanceeed1b727ec">
|
||||
<area shape="rect" id="node1" href="virtualsmartcard.VirtualSmartcard.html#virtualsmartcard.VirtualSmartcard.SmartcardOS" title="Base class for a smart card OS" alt="" coords="5,5,335,31"/>
|
||||
<area shape="rect" id="node2" href="#virtualsmartcard.cards.Relay.RelayOS" title="This class implements relaying of a (physical) smartcard. The RelayOS" alt="" coords="383,5,644,31"/>
|
||||
</map>
|
||||
|
After Width: | Height: | Size: 10 KiB |
@@ -0,0 +1,9 @@
|
||||
<map id="inheritance498eda02c2" name="inheritance498eda02c2">
|
||||
<area shape="rect" id="node1" href="#virtualsmartcard.SmartcardFilesystem.DF" target="_top" title="Class for a dedicated file" alt="" coords="250,20,447,37"/>
|
||||
<area shape="rect" id="node4" href="#virtualsmartcard.SmartcardFilesystem.MF" target="_top" title="Class for a master file" alt="" coords="523,20,721,37"/>
|
||||
<area shape="rect" id="node2" href="#virtualsmartcard.SmartcardFilesystem.File" target="_top" title="Template class for a smartcard file." alt="" coords="11,37,211,53"/>
|
||||
<area shape="rect" id="node3" href="#virtualsmartcard.SmartcardFilesystem.EF" target="_top" title="Template class for an elementary file." alt="" coords="251,53,446,69"/>
|
||||
<area shape="rect" id="node6" href="#virtualsmartcard.SmartcardFilesystem.RecordStructureEF" target="_top" title="Class for an elementary file with record structure." alt="" coords="490,53,754,69"/>
|
||||
<area shape="rect" id="node7" href="#virtualsmartcard.SmartcardFilesystem.TransparentStructureEF" target="_top" title="Class for an elementary file with transparent structure." alt="" coords="479,86,764,102"/>
|
||||
<area shape="rect" id="node5" href="#virtualsmartcard.SmartcardFilesystem.Record" target="_top" title="virtualsmartcard.SmartcardFilesystem.Record" alt="" coords="4,4,218,20"/>
|
||||
</map>
|
||||
|
Before Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
@@ -1,3 +1,3 @@
|
||||
<map id="inheritance8b3e5dd7ee" name="inheritance8b3e5dd7ee">
|
||||
<area shape="rect" id="node1" href="#virtualsmartcard.SmartcardSAM.SAM" title="This class is used to store the data needed by the SAM." alt="" coords="5,5,263,31"/>
|
||||
<area shape="rect" id="node1" href="#virtualsmartcard.SmartcardSAM.SAM" target="_top" title="This class is used to store the data needed by the SAM." alt="" coords="5,5,271,31"/>
|
||||
</map>
|
||||
|
Before Width: | Height: | Size: 4.6 MiB After Width: | Height: | Size: 4.6 MiB |
@@ -135,13 +135,13 @@
|
||||
</defs>
|
||||
<g id="surface1">
|
||||
<g clip-path="url(#clip1)" clip-rule="nonzero">
|
||||
<path style="fill:none;stroke-width:14.17339;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.96991%,79.873657%,90.252686%);stroke-opacity:1;stroke-miterlimit:10;" d="M -0.0013125 0.248 C -36.997406 0.248 -54.556 25.513625 -91.556 25.513625 " transform="matrix(1,0,0,-1,221.681,32.873)"/>
|
||||
<path style="fill:none;stroke-width:14.17339;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.96991%,79.873657%,90.252686%);stroke-opacity:1;stroke-miterlimit:10;" d="M -0.0013125 0.248 C -37.14975 0.248 -54.403656 25.513625 -91.556 25.513625 " transform="matrix(1,0,0,-1,221.681,32.873)"/>
|
||||
<path style="fill:none;stroke-width:14.17339;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.96991%,79.873657%,90.252686%);stroke-opacity:1;stroke-miterlimit:10;" d="M -0.0013125 0.248 C -35.981781 0.248 -55.571625 8.505813 -91.556 8.505813 " transform="matrix(1,0,0,-1,221.681,32.873)"/>
|
||||
<path style="fill:none;stroke-width:14.17339;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.96991%,79.873657%,90.252686%);stroke-opacity:1;stroke-miterlimit:10;" d="M -0.0013125 0.248 C -35.981781 0.248 -55.571625 -8.505906 -91.556 -8.505906 " transform="matrix(1,0,0,-1,221.681,32.873)"/>
|
||||
<path style="fill:none;stroke-width:14.17339;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.96991%,79.873657%,90.252686%);stroke-opacity:1;stroke-miterlimit:10;" d="M -0.0013125 0.248 C -37.14975 0.248 -54.403656 -25.513719 -91.556 -25.513719 " transform="matrix(1,0,0,-1,221.681,32.873)"/>
|
||||
</g>
|
||||
<g clip-path="url(#clip2)" clip-rule="nonzero">
|
||||
<path style="fill:none;stroke-width:14.17339;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.96991%,79.873657%,90.252686%);stroke-opacity:1;stroke-miterlimit:10;" d="M -0.0013125 0.248 C 36.998687 0.248 54.553375 25.513625 91.553375 25.513625 " transform="matrix(1,0,0,-1,221.681,32.873)"/>
|
||||
<path style="fill:none;stroke-width:14.17339;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.96991%,79.873657%,90.252686%);stroke-opacity:1;stroke-miterlimit:10;" d="M -0.0013125 0.248 C 37.151031 0.248 54.404937 25.513625 91.553375 25.513625 " transform="matrix(1,0,0,-1,221.681,32.873)"/>
|
||||
<path style="fill:none;stroke-width:14.17339;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.96991%,79.873657%,90.252686%);stroke-opacity:1;stroke-miterlimit:10;" d="M -0.0013125 0.248 C 35.983062 0.248 55.569 8.505813 91.553375 8.505813 " transform="matrix(1,0,0,-1,221.681,32.873)"/>
|
||||
<path style="fill:none;stroke-width:14.17339;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.96991%,79.873657%,90.252686%);stroke-opacity:1;stroke-miterlimit:10;" d="M -0.0013125 0.248 C 35.983062 0.248 55.569 -8.505906 91.553375 -8.505906 " transform="matrix(1,0,0,-1,221.681,32.873)"/>
|
||||
<path style="fill:none;stroke-width:14.17339;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.96991%,79.873657%,90.252686%);stroke-opacity:1;stroke-miterlimit:10;" d="M -0.0013125 0.248 C 37.151031 0.248 54.404937 -25.513719 91.553375 -25.513719 " transform="matrix(1,0,0,-1,221.681,32.873)"/>
|
||||
|
||||
|
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 2.6 MiB After Width: | Height: | Size: 2.6 MiB |
@@ -149,7 +149,7 @@
|
||||
</defs>
|
||||
<g id="surface1">
|
||||
<path style="fill:none;stroke-width:22.67754;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.96991%,79.873657%,90.252686%);stroke-opacity:1;stroke-miterlimit:10;" d="M -0.0003125 2.574 C -20.097969 2.574 -25.019844 27.409937 -45.1175 27.409937 " transform="matrix(1,0,0,-1,90.305,40.699)"/>
|
||||
<path style="fill:none;stroke-width:22.67754;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.96991%,79.873657%,90.252686%);stroke-opacity:1;stroke-miterlimit:10;" d="M -0.0003125 2.574 C -21.2425 2.574 -24.328437 -27.410375 -45.570625 -27.410375 " transform="matrix(1,0,0,-1,90.305,40.699)"/>
|
||||
<path style="fill:none;stroke-width:22.67754;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.96991%,79.873657%,90.252686%);stroke-opacity:1;stroke-miterlimit:10;" d="M -0.0003125 2.574 C -21.340156 2.574 -24.226875 -27.410375 -45.570625 -27.410375 " transform="matrix(1,0,0,-1,90.305,40.699)"/>
|
||||
<path style="fill:none;stroke-width:22.67754;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.96991%,79.873657%,90.252686%);stroke-opacity:1;stroke-miterlimit:10;" d="M -0.0003125 2.574 C 31.066094 2.574 44.566094 27.409937 75.6325 27.409937 " transform="matrix(1,0,0,-1,90.305,40.699)"/>
|
||||
<path style="fill:none;stroke-width:22.67754;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(76.96991%,79.873657%,90.252686%);stroke-opacity:1;stroke-miterlimit:10;" d="M -0.0003125 2.574 C 34.136406 2.574 47.948906 -27.410375 82.085625 -27.410375 " transform="matrix(1,0,0,-1,90.305,40.699)"/>
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(50%,50%,50%);fill-opacity:0.15;" d="M 51.75 3.570312 L 74.769531 3.570312 C 76.972656 3.570312 80.539062 3.570312 82.742188 3.570312 C 85.542969 3.570312 91.046875 9.074219 91.046875 15.863281 C 91.046875 22.648438 85.542969 28.152344 82.742188 28.152344 C 80.539062 28.152344 76.972656 28.152344 74.769531 28.152344 L 20.753906 28.152344 C 18.554688 28.152344 14.984375 28.152344 12.785156 28.152344 C 9.980469 28.152344 4.476562 22.648438 4.476562 15.863281 C 4.476562 9.074219 9.980469 3.570312 12.785156 3.570312 C 14.984375 3.570312 18.554688 3.570312 20.753906 3.570312 L 43.777344 3.570312 C 45.980469 3.570312 49.546875 3.570312 51.75 3.570312 Z M 51.75 3.570312 "/>
|
||||
|
||||
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 785 KiB After Width: | Height: | Size: 797 KiB |
@@ -523,22 +523,24 @@
|
||||
<use xlink:href="#glyph3-2" x="398.295009" y="35.158"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph3-15" x="334.1" y="55.315"/>
|
||||
<use xlink:href="#glyph3-16" x="342.660371" y="55.315"/>
|
||||
<use xlink:href="#glyph3-17" x="348.114921" y="55.315"/>
|
||||
<use xlink:href="#glyph3-18" x="354.176017" y="55.315"/>
|
||||
<use xlink:href="#glyph3-5" x="359.630567" y="55.315"/>
|
||||
<use xlink:href="#glyph3-13" x="364.478571" y="55.315"/>
|
||||
<use xlink:href="#glyph3-15" x="334.099" y="55.315"/>
|
||||
<use xlink:href="#glyph3-16" x="342.659371" y="55.315"/>
|
||||
<use xlink:href="#glyph3-17" x="348.113921" y="55.315"/>
|
||||
<use xlink:href="#glyph3-18" x="354.175017" y="55.315"/>
|
||||
<use xlink:href="#glyph3-5" x="359.629567" y="55.315"/>
|
||||
<use xlink:href="#glyph3-13" x="364.477571" y="55.315"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph3-1" x="372.35385" y="55.315"/>
|
||||
<use xlink:href="#glyph3-2" x="380.687312" y="55.315"/>
|
||||
<use xlink:href="#glyph3-3" x="384.960406" y="55.315"/>
|
||||
<use xlink:href="#glyph3-4" x="387.990954" y="55.315"/>
|
||||
<use xlink:href="#glyph3-1" x="372.35285" y="55.315"/>
|
||||
<use xlink:href="#glyph3-2" x="380.686312" y="55.315"/>
|
||||
<use xlink:href="#glyph3-3" x="384.959406" y="55.315"/>
|
||||
<use xlink:href="#glyph3-4" x="387.989954" y="55.315"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph3-5" x="393.443322" y="55.315"/>
|
||||
<use xlink:href="#glyph3-2" x="398.291326" y="55.315"/>
|
||||
<use xlink:href="#glyph3-5" x="393.442322" y="55.315"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph3-2" x="398.301235" y="55.315"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph3-8" x="338.357" y="104.861"/>
|
||||
|
||||
|
Before Width: | Height: | Size: 100 KiB After Width: | Height: | Size: 101 KiB |
@@ -257,18 +257,25 @@
|
||||
<symbol overflow="visible" id="glyph3-17">
|
||||
<path style="stroke:none;" d="M 5.140625 -2.328125 C 5.140625 -3.734375 4.046875 -4.890625 2.71875 -4.890625 C 1.359375 -4.890625 0.3125 -3.703125 0.3125 -2.328125 C 0.3125 -0.921875 1.4375 0.125 2.71875 0.125 C 4.03125 0.125 5.140625 -0.953125 5.140625 -2.328125 Z M 2.71875 -0.15625 C 2.25 -0.15625 1.78125 -0.375 1.484375 -0.890625 C 1.203125 -1.359375 1.203125 -2.03125 1.203125 -2.421875 C 1.203125 -2.84375 1.203125 -3.4375 1.46875 -3.921875 C 1.765625 -4.421875 2.28125 -4.640625 2.71875 -4.640625 C 3.203125 -4.640625 3.671875 -4.40625 3.953125 -3.9375 C 4.234375 -3.46875 4.234375 -2.828125 4.234375 -2.421875 C 4.234375 -2.03125 4.234375 -1.4375 3.984375 -0.953125 C 3.75 -0.46875 3.265625 -0.15625 2.71875 -0.15625 Z M 2.71875 -0.15625 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph4-0">
|
||||
<path style="stroke:none;" d=""/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph4-1">
|
||||
<path style="stroke:none;" d="M 4.421875 -2.5 C 4.421875 -3.5625 3.53125 -4.421875 2.5 -4.421875 C 1.421875 -4.421875 0.546875 -3.53125 0.546875 -2.5 C 0.546875 -1.4375 1.421875 -0.5625 2.5 -0.5625 C 3.53125 -0.5625 4.421875 -1.421875 4.421875 -2.5 Z M 4.421875 -2.5 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph5-0">
|
||||
<path style="stroke:none;" d=""/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph5-1">
|
||||
<path style="stroke:none;" d="M 5.71875 -2.546875 L 5.71875 -2.90625 L 0 -2.90625 L 0 -2.546875 Z M 5.71875 -2.546875 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph4-0">
|
||||
<g transform="matrix(1,0,0,1,0,-5)">
|
||||
<rect x="1" y="1" width="1" height="1"/>
|
||||
<rect x="2" y="1" width="1" height="1"/>
|
||||
<rect x="3" y="1" width="1" height="1"/>
|
||||
<rect x="1" y="2" width="1" height="1"/>
|
||||
<rect x="2" y="2" width="1" height="1"/>
|
||||
<rect x="3" y="2" width="1" height="1"/>
|
||||
<rect x="1" y="3" width="1" height="1"/>
|
||||
<rect x="2" y="3" width="1" height="1"/>
|
||||
<rect x="3" y="3" width="1" height="1"/>
|
||||
</g>
|
||||
</symbol>
|
||||
</g>
|
||||
<clipPath id="clip1">
|
||||
<path d="M 116 25 L 447.542969 25 L 447.542969 256.527344 L 116 256.527344 Z M 116 25 "/>
|
||||
@@ -314,10 +321,10 @@
|
||||
<filter id="alpha" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
|
||||
<feColorMatrix type="matrix" in="SourceGraphic" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
|
||||
</filter>
|
||||
<image id="image30" width="87" height="86" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAABWCAYAAAC6lArJAAAABmJLR0QA/wD/AP+gvaeTAAADFklEQVR4nO2Z25LaQAxEm8vC5v+/NQnLNQ92F42QBgw2zkOfKtV4WbKBY1mWxoAxxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMeb/ZzH3B+hZAFj2K4OvX/pjruf++PzJD/gKn5S7ArDuV41liCgX6GRqnEOc+jjKypMxG1PK/ZJYJ1EJHiL3FOIY4iDx8UwfW+5GgmI36GRG0czkJdqCgTprs4w94F7sXtZ9/97JGUPuCp3ALa5it7iKVdFZJmcZ/EjuSdaYqVyjUI0fOZ6Md+Qu0UnMIsqmYBXNbNZaHLOXVOWgKgFR6o+s8XjXv3901i/+uy8A331sZW3JjpGVCQa7BxKzVsVWQjOpKlT/713/+qh1+RW5lBnlVrJ5vMG97KxUaAYTzdqYrXr5VzKrExnr/Q4j1uOhclWQyvuFW8GV9Ex2lsnMXu0WmLGsqzFDK5lDa/pfjNTGDZG7xO1dP7vUVb6KjfK3uJeuN0IVDFwzlpd/JrOV+UDdacSWjifubYbIjc0/Q9uqGLFL4AmIWa7yKZs3uwuuX5i1kb/TGx8zL4riGjuUaqBZDXDSZGhZiM19a30m4nTGL80b5gZdZu36dY1OVKyVi2St4tnP/3ZpGCI3jpxZnJI1m6AOuK+DwG2W/pbXWWtZY5nB/Jnlgn9fs1aj9dkvsn685lbj5Rq3srIbR9Wzao3jTY2Xrl7y+l5tu7IWS1fta7MToSdEj0dhaFnYoy1OyRp/bZ+qnld7Xa2ncSKr+tqW7F2I7ATMJpf1T6kkMvihs4ktG4ezdqn195+ZyKJsFa3Ho47DrwwRZwB/UE9K+iW1PatG4Kyxj1dFNqG1prRsqHgke7SMJe9u3MT9hWxPocrUVpPPG1kmN2ZwrMVDxuFJN2/G2nJc4PFGTbW3G8dQ3VfI9nOzvdzWPm62OzZJpkam2Cxfod4Be2azXLuE+Jgny15Ob7FMVJI/xice8+i09uhRjw4BkUcb5lkGHzHjs7a5HlBmTx+qTRUS5XLUVcHGGGOMMcYYY4wxxphZ+QeTJfLeqOjuywAAAABJRU5ErkJggg=="/>
|
||||
<image id="image35" width="87" height="86" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAABWCAYAAAC6lArJAAAABmJLR0QA/wD/AP+gvaeTAAADFElEQVR4nO2ZW5OiUAyE28vo7P//rbvLeN0H6LKNCYiC7EN/VanDOI6DTZOTBMAYY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGGPP/s1r6BDpWANbdyuDr1+6Y66U7vnzyBF/hk+JuAGy7VWMdIooLtGJqXEKcuzjJyouxGHOK+yWxTaISeIy45xCnEEeJjzt9anF3EhR2h1bMKDSdvEa/wEDt2syxRzwKe5D10L13dqYQd4NWwD1uwu5xE1aFzpycOXhI3LOs0alco6AaP3I8G++Iu0YrYhZRbAqsQtPNmouje0mVDqoUEEX9SVZG071/crYv/t0XgO8u9rL2iR0jSxMMVg8kulaFrQStxPxJ/nfTvT5pXn5FXIoZxa3E5vEOj2JnqUIdTNS10a16+z8rpqYh/X8NJszHY8VVgVS8X7gXuBI9EztzMt2r1QIdy7waHVqJOTan/8VEZdwYcde43/WzW13FV2Gj+Hs8iq4boQoM3BzL2z8Ts8/5QF1pxJKOF+5txogbi3+GllUxYpXACxBdruJTbG52V9y+MHMjf6cbH50XheIaK5SqodmM0KSXsWkhFvd96zMRuzN+aW6YO7TOarp1i1aomCtXyVrFs+f/dmoYI25sObM4J2vWQR3xmAeBe5f+lteZa5lj6WD+zHTBz1fXavSd+1XWj+fcqr3c4l6sbOOoalbNcdzUeOvqLa/v1bIr5t4mrAzd/PRC6AXR40kYmxYO6BdOyQp/3eWrmldrXc2nsSOr6to+sZsQ2QVYTFzmP6USkcGTzjq2rB3OyqW+zx/qyDKxVWg9nrQdfqWJuAD4g7pT0i+p5VnVAmeFfbwrsg6tr0vLmoohsSdzLHl3cBPnC9lMoXJqX5HPjSwTNzo45uIx7fCsw5upRo4rDA9qqtlubEN1rpDNc7NZbt8cN5uOzeLUyBzD8g3qCdgzw3KtEuJjnsy97N5imqhE/hifeMyj3drQox5tAiJDA/PMwScs+KxtqQeU2dOHaqhCnnmGZowxxhhjjDHGGGOMWZR/jHfx6sviE14AAAAASUVORK5CYII="/>
|
||||
<mask id="mask3">
|
||||
<g filter="url(#alpha)">
|
||||
<use xlink:href="#image30"/>
|
||||
<use xlink:href="#image35"/>
|
||||
</g>
|
||||
</mask>
|
||||
<clipPath id="clip8">
|
||||
@@ -326,14 +333,14 @@
|
||||
<clipPath id="clip9">
|
||||
<path d="M 69.664062 61.234375 C 69.664062 67.335938 56.269531 72.277344 39.753906 72.277344 C 23.230469 72.277344 9.835938 67.335938 9.835938 61.234375 C 9.835938 55.136719 23.230469 50.195312 39.753906 50.195312 C 56.269531 50.195312 69.664062 55.136719 69.664062 61.234375 Z M 69.664062 61.234375 "/>
|
||||
</clipPath>
|
||||
<radialGradient id="radial0" gradientUnits="userSpaceOnUse" cx="12.574219" cy="67.5" fx="12.574219" fy="67.5" r="8.765625" gradientTransform="matrix(3.412284,0,0,1.259506,-3.159742,-23.782672)">
|
||||
<radialGradient id="radial0" gradientUnits="userSpaceOnUse" cx="29.37206" cy="157.67294" fx="29.37206" fy="157.67294" r="20.475583" gradientTransform="matrix(1.460804,0,0,0.539196,-3.159742,-23.782672)">
|
||||
<stop offset="0" style="stop-color:rgb(0%,0%,0%);stop-opacity:1;"/>
|
||||
<stop offset="1" style="stop-color:rgb(0%,0%,0%);stop-opacity:1;"/>
|
||||
</radialGradient>
|
||||
<clipPath id="clip7">
|
||||
<rect width="86" height="86"/>
|
||||
<rect x="0" y="0" width="86" height="86"/>
|
||||
</clipPath>
|
||||
<g id="surface33" clip-path="url(#clip7)">
|
||||
<g id="surface34" clip-path="url(#clip7)">
|
||||
<g clip-path="url(#clip8)" clip-rule="nonzero">
|
||||
<g clip-path="url(#clip9)" clip-rule="evenodd">
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:url(#radial0);" d="M 9.835938 50.195312 L 9.835938 72.277344 L 69.664062 72.277344 L 69.664062 50.195312 Z M 9.835938 50.195312 "/>
|
||||
@@ -343,25 +350,25 @@
|
||||
<clipPath id="clip10">
|
||||
<path d="M 0.347656 0.34375 L 85.394531 0.34375 L 85.394531 85.394531 L 0.347656 85.394531 Z M 0.347656 0.34375 "/>
|
||||
</clipPath>
|
||||
<image id="image40" width="87" height="86" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAABWCAYAAAC6lArJAAAABmJLR0QA/wD/AP+gvaeTAAAAx0lEQVR4nO3UIU5DQRhG0VtaW4GohISgWQU7J8GikWBxbKBB9MEK3p+Gl3OSmbFfrpgCAAAAAAAAAAAAAAAAAAAAAAAA/rtdtV9e1nOuzofqVB2vPGZrvqrvQ3W3HNbz1hL3vnq68pit+aw+xJ3xWvX7LYi7rtu6xD1VD9fdsjnHusTdLy/rufm7mCHuIHEHiTtI3EHiDhJ3kLiDxB0k7iBxB4k7SNxB4g4Sd5C4g8QdJO4gcQeJO0jcQbvquXq89pCNeanefwAmBQwCda6T+AAAAABJRU5ErkJggg=="/>
|
||||
<image id="image45" width="87" height="86" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAABWCAYAAAC6lArJAAAABmJLR0QA/wD/AP+gvaeTAAAAx0lEQVR4nO3UIU5DQRhG0VtaW4GohISgWQU7J8GikWBxbKBB9MEK3p+Gl3OSmbFfrpgCAAAAAAAAAAAAAAAAAAAAAAAA/rtdtV9e1nOuzofqVB2vPGZrvqrvQ3W3HNbz1hL3vnq68pit+aw+xJ3xWvX7LYi7rtu6xD1VD9fdsjnHusTdLy/rufm7mCHuIHEHiTtI3EHiDhJ3kLiDxB0k7iBxB4k7SNxB4g4Sd5C4g8QdJO4gcQeJO0jcQbvquXq89pCNeanefwAmBQwCda6T+AAAAABJRU5ErkJggg=="/>
|
||||
<mask id="mask4">
|
||||
<g filter="url(#alpha)">
|
||||
<use xlink:href="#image40"/>
|
||||
<use xlink:href="#image45"/>
|
||||
</g>
|
||||
</mask>
|
||||
<clipPath id="clip11">
|
||||
<rect width="86" height="86"/>
|
||||
<rect x="0" y="0" width="86" height="86"/>
|
||||
</clipPath>
|
||||
<g id="surface43" clip-path="url(#clip11)">
|
||||
<g id="surface44" clip-path="url(#clip11)">
|
||||
<path style="fill:none;stroke-width:0.512;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(84.70459%,87.449646%,83.920288%);stroke-opacity:1;stroke-miterlimit:4;" d="M 24.565163 25.172255 C 24.565163 26.808942 21.401137 28.133459 17.499896 28.133459 C 13.598654 28.133459 10.434628 26.808942 10.434628 25.172255 C 10.434628 23.535568 13.598654 22.207523 17.499896 22.207523 C 21.401137 22.207523 24.565163 23.535568 24.565163 25.172255 Z M 24.565163 25.172255 " transform="matrix(2.21484,0,0,2.21484,0.346,0.34514)"/>
|
||||
</g>
|
||||
<clipPath id="clip12">
|
||||
<path d="M 0.347656 0.34375 L 85.394531 0.34375 L 85.394531 85.394531 L 0.347656 85.394531 Z M 0.347656 0.34375 "/>
|
||||
</clipPath>
|
||||
<image id="image50" width="87" height="86" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAABWCAYAAAC6lArJAAAABmJLR0QA/wD/AP+gvaeTAAADCUlEQVR4nO2Zy3LqQAxEG3DIzf9/bHhzF7bKTaMZbBjHmz5VKmVDsI81Y40AjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGGLMKm5W+c0expdhIBHfKN8o3AFfK1+UvfzpLy90C6AB8DblDLzSyylXBgcrluFJcKJ+HfFnq5l6xhNwvij1GsSyY5arkmlyuWq3Yi8RZ4jTkW/M7LtBK7g69yD2Ab4xiQy5HiK5VcE1uqWIzsackH4d8anTvRT6V26GXGVL57z0eBato3Sa2GCVnciNKYmMbCJEhk+OIUe6RYhG6Nz+3QS/wn2SOTLJWc7ZNcPUGLDbklrYAFaoiI/hajsNnm/KO3B16mRGZ5Cmys+2CBWdytWKz5Z9VZunB8p5/QOMqnitXxdZiiuzaDYdg3Q64WrU6Ix/kf/PqqL04gYaC58plISrrHekqW0WEXBYb1aoVGpWXPaDaHq7tXXzPx8yRyy8fDu0CuFPQh/BKOouOl1xsB7zsQ+YB+UswE1fqh3Xf77CC3A3Gm8hyFjvK+nD0QYTkHzwKv2IU+YvnamZJWe+smbeFUo7v+Ig5cnUpzQk9VZUOAWf0EoBR6h2PLdaFPsP/h0OPyZwjMCF/xBy5urR0eWlrpIcErpzgjkexR/TVWdpzuTvgbiAqm19wekLTa+Rr59xsPjFXbkjjpTbldKUvC34paceQtWPxeRZT62UPeJSuPa4+BH0YTZjbLZzxPLma8vJgmaVeV9slfUFlc4Ts4KCnMJar0jPxTbYE4L1DxAm5xOymWSa3W9lApzTAyeYKOv3SwwRXZ3Y6K8luyqezhayFyg4JtUrN9mVdGUC+Ml5NwUqHDI1FxpItpmIxZ+C+tjaweTVTyPZtIG/2S8Ob7FicSV501tt6ntvhuUrjQFAbN045lmb7Or8kdUiebRchuNm+WmPJXyJ2qA/K9aw/V+6cuW7zidcU/vI3tPjtrFSxfErKrq02C8hiddb4gbLGVLl/sqyNMcYYY4wxxhhjjDHGGGOMMcYYsyj/AVcXASZodC/AAAAAAElFTkSuQmCC"/>
|
||||
<image id="image55" width="87" height="86" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAABWCAYAAAC6lArJAAAABmJLR0QA/wD/AP+gvaeTAAADCUlEQVR4nO2Zy3LqQAxEG3DIzf9/bHhzF7bKTaMZbBjHmz5VKmVDsI81Y40AjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGGLMKm5W+c0expdhIBHfKN8o3AFfK1+UvfzpLy90C6AB8DblDLzSyylXBgcrluFJcKJ+HfFnq5l6xhNwvij1GsSyY5arkmlyuWq3Yi8RZ4jTkW/M7LtBK7g69yD2Ab4xiQy5HiK5VcE1uqWIzsackH4d8anTvRT6V26GXGVL57z0eBato3Sa2GCVnciNKYmMbCJEhk+OIUe6RYhG6Nz+3QS/wn2SOTLJWc7ZNcPUGLDbklrYAFaoiI/hajsNnm/KO3B16mRGZ5Cmys+2CBWdytWKz5Z9VZunB8p5/QOMqnitXxdZiiuzaDYdg3Q64WrU6Ix/kf/PqqL04gYaC58plISrrHekqW0WEXBYb1aoVGpWXPaDaHq7tXXzPx8yRyy8fDu0CuFPQh/BKOouOl1xsB7zsQ+YB+UswE1fqh3Xf77CC3A3Gm8hyFjvK+nD0QYTkHzwKv2IU+YvnamZJWe+smbeFUo7v+Ig5cnUpzQk9VZUOAWf0EoBR6h2PLdaFPsP/h0OPyZwjMCF/xBy5urR0eWlrpIcErpzgjkexR/TVWdpzuTvgbiAqm19wekLTa+Rr59xsPjFXbkjjpTbldKUvC34paceQtWPxeRZT62UPeJSuPa4+BH0YTZjbLZzxPLma8vJgmaVeV9slfUFlc4Ts4KCnMJar0jPxTbYE4L1DxAm5xOymWSa3W9lApzTAyeYKOv3SwwRXZ3Y6K8luyqezhayFyg4JtUrN9mVdGUC+Ml5NwUqHDI1FxpItpmIxZ+C+tjaweTVTyPZtIG/2S8Ob7FicSV501tt6ntvhuUrjQFAbN045lmb7Or8kdUiebRchuNm+WmPJXyJ2qA/K9aw/V+6cuW7zidcU/vI3tPjtrFSxfErKrq02C8hiddb4gbLGVLl/sqyNMcYYY4wxxhhjjDHGGGOMMcYYsyj/AVcXASZodC/AAAAAAElFTkSuQmCC"/>
|
||||
<mask id="mask5">
|
||||
<g filter="url(#alpha)">
|
||||
<use xlink:href="#image50"/>
|
||||
<use xlink:href="#image55"/>
|
||||
</g>
|
||||
</mask>
|
||||
<clipPath id="clip14">
|
||||
@@ -370,14 +377,14 @@
|
||||
<clipPath id="clip15">
|
||||
<path d="M 69.664062 51.660156 C 69.664062 57.757812 56.269531 62.699219 39.753906 62.699219 C 23.230469 62.699219 9.835938 57.757812 9.835938 51.660156 C 9.835938 45.558594 23.230469 40.621094 39.753906 40.621094 C 56.269531 40.621094 69.664062 45.558594 69.664062 51.660156 Z M 69.664062 51.660156 "/>
|
||||
</clipPath>
|
||||
<radialGradient id="radial1" gradientUnits="userSpaceOnUse" cx="12.574219" cy="67.5" fx="12.574219" fy="67.5" r="8.765625" gradientTransform="matrix(3.412284,0,0,1.259506,-3.159742,-33.358098)">
|
||||
<radialGradient id="radial1" gradientUnits="userSpaceOnUse" cx="29.37206" cy="157.67294" fx="29.37206" fy="157.67294" r="20.475583" gradientTransform="matrix(1.460804,0,0,0.539196,-3.159742,-33.358098)">
|
||||
<stop offset="0" style="stop-color:rgb(0%,0%,0%);stop-opacity:1;"/>
|
||||
<stop offset="1" style="stop-color:rgb(0%,0%,0%);stop-opacity:1;"/>
|
||||
</radialGradient>
|
||||
<clipPath id="clip13">
|
||||
<rect width="86" height="86"/>
|
||||
<rect x="0" y="0" width="86" height="86"/>
|
||||
</clipPath>
|
||||
<g id="surface53" clip-path="url(#clip13)">
|
||||
<g id="surface54" clip-path="url(#clip13)">
|
||||
<g clip-path="url(#clip14)" clip-rule="nonzero">
|
||||
<g clip-path="url(#clip15)" clip-rule="evenodd">
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:url(#radial1);" d="M 9.835938 40.621094 L 9.835938 62.699219 L 69.664062 62.699219 L 69.664062 40.621094 Z M 9.835938 40.621094 "/>
|
||||
@@ -725,31 +732,31 @@
|
||||
<clipPath id="clip22">
|
||||
<path d="M 0.347656 0.34375 L 85.394531 0.34375 L 85.394531 85.394531 L 0.347656 85.394531 Z M 0.347656 0.34375 "/>
|
||||
</clipPath>
|
||||
<image id="image60" width="87" height="86" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAABWCAYAAAC6lArJAAAABmJLR0QA/wD/AP+gvaeTAAAAtUlEQVR4nO3aMQoCQRREwV5ZUBAU739FExHEwMBg9wg2I0MVTN684EeTAAAAAAAAAAAAAAAAAAAAAAD/b0lySXIcPWQyzyTvNcl1f/zOJ3vcc5Lb4DGzuSfJmu00HMZumc6SiFolbpG4ReIWiVskbpG4ReIWiVskbpG4ReIWiVskbpG4ReIWiVskbpG4ReIWiVskbpG4ReIWiVskbpG4ReIWiVskbpG4RUu2j8+n0UMm80jy+gKcWAdrUO890wAAAABJRU5ErkJggg=="/>
|
||||
<image id="image65" width="87" height="86" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAABWCAYAAAC6lArJAAAABmJLR0QA/wD/AP+gvaeTAAAAtUlEQVR4nO3aMQoCQRREwV5ZUBAU739FExHEwMBg9wg2I0MVTN684EeTAAAAAAAAAAAAAAAAAAAAAAD/b0lySXIcPWQyzyTvNcl1f/zOJ3vcc5Lb4DGzuSfJmu00HMZumc6SiFolbpG4ReIWiVskbpG4ReIWiVskbpG4ReIWiVskbpG4ReIWiVskbpG4ReIWiVskbpG4ReIWiVskbpG4ReIWiVskbpG4RUu2j8+n0UMm80jy+gKcWAdrUO890wAAAABJRU5ErkJggg=="/>
|
||||
<mask id="mask6">
|
||||
<g filter="url(#alpha)">
|
||||
<use xlink:href="#image60"/>
|
||||
<use xlink:href="#image65"/>
|
||||
</g>
|
||||
</mask>
|
||||
<clipPath id="clip23">
|
||||
<rect width="86" height="86"/>
|
||||
<rect x="0" y="0" width="86" height="86"/>
|
||||
</clipPath>
|
||||
<g id="surface63" clip-path="url(#clip23)">
|
||||
<g id="surface64" clip-path="url(#clip23)">
|
||||
<path style="fill:none;stroke-width:0.796945;stroke-linecap:round;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:4;" d="M 4.940791 22.98883 L 30.085455 22.98883 " transform="matrix(2.21484,0,0,2.21484,0.346,0.34514)"/>
|
||||
</g>
|
||||
<image id="image70" width="87" height="86" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAABWCAYAAAC6lArJAAAABmJLR0QA/wD/AP+gvaeTAAACm0lEQVR4nO2aW07DMBBFb1E++GUViD2wBtbLMuiCaPgoSZ06DzuZse84MxJSrmmT06NqGk97AfAF4ANekvUN4NoBeAfwWRmmtfoBcH2pTdFyuVzFcrmK5XIVy+UqVlcboLHqgz+XK1CjTLhckZoTGh673MxKEgqXm1y5QvvwyS43rr1C++c1l3svCaFRPrNcDaHh2unkags93Tu3lNAotyq3mlA0KpdBaFM9l02o+bbAKjTKVuSaERoeM8u1KHTIAPjkWhYaXZNBbitCo1xLbrNCw+OScs8gNMzqcs8mdLKmIffUQsNjKbkuNM6H5LrQ9Zwt14Wm5RuQJteF5mcAy3JdqIDgUK4LFT5nh3t/uJHDqrx47dz9H9wOnohBGBvjKPfXAKwFoWGO2gIzrAWhk7W5tsAIm/Ri2PLcBxoN3EZmYFjLk55bG6YFoeGayq2YFixzfl4bt79DYIZlzGuPAfB45+65FSsJy5JznhO9c5lhLQidrKXcijHAls4i51y6FaOENcao2nMZhNVkFO+5DMIYGGflssKKvNjSeW/PZRDGzpjVc2vDWhA6ZADbPZcF1oLQiIl1+5sEz56Ztr9bmYEhh7H69jcHljUvrjGOHBkYRBhLbX9FYI0xHvr2tzSsBaFhLt5zGYSVYizScxmElWYu+jUPg7CSjAB85Kh5DR85al7DR46K2UeOetlHjorZR46aTD5yVMw+ctRjzP7xc01Y1rz0mCq/uNkLy5S3HjNuf33kKM8IwEeOmow+clRiHOX6yFHpGlo9l0FYbUbRnssgjInxcM9lEMbKuKvnMghjZ8z6mqc2rAWhYQawPltggrUgNBLMuP3dygwMSYws298kWPL8vIYLgDcAr3hUj2n1Cf/b8xzp89Ex/AHlXHZ58gBgzwAAAABJRU5ErkJggg=="/>
|
||||
<image id="image75" width="87" height="86" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAABWCAYAAAC6lArJAAAABmJLR0QA/wD/AP+gvaeTAAACm0lEQVR4nO2aW07DMBBFb1E++GUViD2wBtbLMuiCaPgoSZ06DzuZse84MxJSrmmT06NqGk97AfAF4ANekvUN4NoBeAfwWRmmtfoBcH2pTdFyuVzFcrmK5XIVy+UqVlcboLHqgz+XK1CjTLhckZoTGh673MxKEgqXm1y5QvvwyS43rr1C++c1l3svCaFRPrNcDaHh2unkags93Tu3lNAotyq3mlA0KpdBaFM9l02o+bbAKjTKVuSaERoeM8u1KHTIAPjkWhYaXZNBbitCo1xLbrNCw+OScs8gNMzqcs8mdLKmIffUQsNjKbkuNM6H5LrQ9Zwt14Wm5RuQJteF5mcAy3JdqIDgUK4LFT5nh3t/uJHDqrx47dz9H9wOnohBGBvjKPfXAKwFoWGO2gIzrAWhk7W5tsAIm/Ri2PLcBxoN3EZmYFjLk55bG6YFoeGayq2YFixzfl4bt79DYIZlzGuPAfB45+65FSsJy5JznhO9c5lhLQidrKXcijHAls4i51y6FaOENcao2nMZhNVkFO+5DMIYGGflssKKvNjSeW/PZRDGzpjVc2vDWhA6ZADbPZcF1oLQiIl1+5sEz56Ztr9bmYEhh7H69jcHljUvrjGOHBkYRBhLbX9FYI0xHvr2tzSsBaFhLt5zGYSVYizScxmElWYu+jUPg7CSjAB85Kh5DR85al7DR46K2UeOetlHjorZR46aTD5yVMw+ctRjzP7xc01Y1rz0mCq/uNkLy5S3HjNuf33kKM8IwEeOmow+clRiHOX6yFHpGlo9l0FYbUbRnssgjInxcM9lEMbKuKvnMghjZ8z6mqc2rAWhYQawPltggrUgNBLMuP3dygwMSYws298kWPL8vIYLgDcAr3hUj2n1Cf/b8xzp89Ex/AHlXHZ58gBgzwAAAABJRU5ErkJggg=="/>
|
||||
<mask id="mask7">
|
||||
<g filter="url(#alpha)">
|
||||
<use xlink:href="#image70"/>
|
||||
<use xlink:href="#image75"/>
|
||||
</g>
|
||||
</mask>
|
||||
<clipPath id="clip25">
|
||||
<path d="M 0.347656 0.34375 L 79 0.34375 L 79 64 L 0.347656 64 Z M 0.347656 0.34375 "/>
|
||||
</clipPath>
|
||||
<clipPath id="clip24">
|
||||
<rect width="86" height="86"/>
|
||||
<rect x="0" y="0" width="86" height="86"/>
|
||||
</clipPath>
|
||||
<g id="surface73" clip-path="url(#clip24)">
|
||||
<g id="surface74" clip-path="url(#clip24)">
|
||||
<g clip-path="url(#clip25)" clip-rule="nonzero">
|
||||
<path style="fill:none;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:4;" d="M 5.531621 2.163397 L 29.406441 2.136942 C 29.637482 2.133415 29.854414 2.323892 29.875578 2.655462 L 30.965527 22.500293 C 31.007855 23.343327 30.531664 23.93063 29.683338 23.93063 L 5.265307 23.93063 C 4.418745 23.93063 3.991936 23.343327 4.034264 22.500293 L 5.097758 2.902376 C 5.124213 2.33271 5.230034 2.163397 5.531621 2.163397 Z M 5.531621 2.163397 " transform="matrix(2.21484,0,0,2.21484,0.346,0.34514)"/>
|
||||
</g>
|
||||
@@ -758,16 +765,16 @@
|
||||
<path d="M 0.347656 0.34375 L 85.394531 0.34375 L 85.394531 85.394531 L 0.347656 85.394531 Z M 0.347656 0.34375 "/>
|
||||
</clipPath>
|
||||
<clipPath id="clip26">
|
||||
<rect width="86" height="86"/>
|
||||
<rect x="0" y="0" width="86" height="86"/>
|
||||
</clipPath>
|
||||
<g id="surface90" clip-path="url(#clip26)">
|
||||
<g id="surface94" clip-path="url(#clip26)">
|
||||
<g clip-path="url(#clip27)" clip-rule="nonzero">
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:0.531429;" d="M 0.347656 85.394531 L 85.394531 85.394531 L 85.394531 0.34375 L 0.347656 0.34375 Z M 0.347656 85.394531 "/>
|
||||
</g>
|
||||
</g>
|
||||
<mask id="mask8">
|
||||
<g filter="url(#alpha)">
|
||||
<use xlink:href="#surface90"/>
|
||||
<use xlink:href="#surface94"/>
|
||||
</g>
|
||||
</mask>
|
||||
<clipPath id="clip29">
|
||||
@@ -776,6 +783,12 @@
|
||||
<clipPath id="clip31">
|
||||
<path d="M 0.347656 0.34375 L 85.394531 0.34375 L 85.394531 85.394531 L 0.347656 85.394531 Z M 0.347656 0.34375 "/>
|
||||
</clipPath>
|
||||
<image id="image88" width="87" height="86" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAABWCAYAAAC6lArJAAAABmJLR0QA/wD/AP+gvaeTAAABRElEQVR4nO3ZSw4BURCF4SOxJwPrsA5bswwDG/JqBmiatGdV36rr/5ITEpPbJ5XSzUjSXNJUwzncvNb6fiFpNZY0kTSTvcMfZylJ458rLH8hpdI8+WwvfVZuycNmS9NXbm0XWiLt5O4lbQMcqKa0k7uTtAlwoJrSmVzKtQ2TS7k5064FyrUPk+sYJtcxTC7ldg9c+gzv5mEtZDp89HQmdx3gQDWFLzTHpNu5mcLkOobJpdycYS04hskdolx+LLdP6rXQ6CTqU+Xb5V4uIPLFREu7Frbi8det3IxrIXpS79zoYXKHKJdbMfuwFhzDWjDOA8o1KLEP5RqU2KfGcj95inT1bbnZHoOLqO3f31CyroUUopebWpRyqzR0uX/Fq1zoWq5EieYu5b66b8WXRucAAAAAAAAAAAAAAAAAAAAAAAAAAHDvCJOY8HcHZGDMAAAAAElFTkSuQmCC"/>
|
||||
<mask id="mask9">
|
||||
<g filter="url(#alpha)">
|
||||
<use xlink:href="#image88"/>
|
||||
</g>
|
||||
</mask>
|
||||
<clipPath id="clip33">
|
||||
<path d="M 14 8 L 59 8 L 59 41 L 14 41 Z M 14 8 "/>
|
||||
</clipPath>
|
||||
@@ -792,40 +805,35 @@
|
||||
<stop offset="1" style="stop-color:rgb(98.822021%,98.822021%,100%);stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<clipPath id="clip32">
|
||||
<rect width="86" height="86"/>
|
||||
<rect x="0" y="0" width="86" height="86"/>
|
||||
</clipPath>
|
||||
<g id="surface85" clip-path="url(#clip32)">
|
||||
<g id="surface87" clip-path="url(#clip32)">
|
||||
<g clip-path="url(#clip33)" clip-rule="nonzero">
|
||||
<g clip-path="url(#clip34)" clip-rule="evenodd">
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:url(#linear5);" d="M 14.363281 8.753906 L 14.363281 40.421875 L 58.925781 40.421875 L 58.925781 8.753906 Z M 14.363281 8.753906 "/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<mask id="mask9">
|
||||
<g filter="url(#alpha)">
|
||||
<use xlink:href="#surface85"/>
|
||||
</g>
|
||||
</mask>
|
||||
<clipPath id="clip30">
|
||||
<rect width="86" height="86"/>
|
||||
<rect x="0" y="0" width="86" height="86"/>
|
||||
</clipPath>
|
||||
<g id="surface87" clip-path="url(#clip30)">
|
||||
<g id="surface91" clip-path="url(#clip30)">
|
||||
<g clip-path="url(#clip31)" clip-rule="nonzero">
|
||||
<use xlink:href="#surface85" mask="url(#mask9)"/>
|
||||
<use xlink:href="#surface87" mask="url(#mask9)"/>
|
||||
</g>
|
||||
</g>
|
||||
<clipPath id="clip28">
|
||||
<rect width="86" height="86"/>
|
||||
<rect x="0" y="0" width="86" height="86"/>
|
||||
</clipPath>
|
||||
<g id="surface92" clip-path="url(#clip28)">
|
||||
<g id="surface93" clip-path="url(#clip28)">
|
||||
<g clip-path="url(#clip29)" clip-rule="nonzero">
|
||||
<use xlink:href="#surface87"/>
|
||||
<use xlink:href="#surface91"/>
|
||||
</g>
|
||||
</g>
|
||||
<image id="image99" width="87" height="86" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAABWCAYAAAC6lArJAAAABmJLR0QA/wD/AP+gvaeTAAAC/UlEQVR4nO2Z624iMQxGzaXl/R8XWGB/FAv3G9vJIGhXq3Mka0JblcyJJ4kzZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAkm9/uwJ2tffXFrxpmy77e7uHta/jZ9R6/yk/J3ZvZTmIbrjFUctXPKDbKvSZxKeJmb+TVcjf2JTKLnS0lV4I1g7WvKjaTe7Fa7J9w1XhZxr9C7keIfXJ9RnI2RSg3W8odZWsm9Szts7Sfzu5n5brMT/suN4tKtErOsjibe81ysTers9XlXWwpM4rUOEl7FWvkbuwh8zPER3MdZbULriR7Bmd9raaCTKpmqkpViXo9yeepqWM/80f2EHaw72I1OvFVVmfZnE0TWeZW00D22FdZqRJVqMY+tFtGcj1bo9RD8rMZ8Zlsb+vUESVHwU6Um0ntHvNZgTrocbC93WbxSK7KOdhS7ui6JuM1q+Oi59mrYrNHfq1AlTezHfSF7mjFotfJ9S+stlY6h8aIwqLsmYFQ6VG0y73aUqbGsRGnVAtkta2L7d29Lws6uVml5LGV9lbaGvpIxdDB0qdEB8BlHu8RhWWLm275qm2f3lN2f9kW0RfcVXKzkYydr6qhONLdftNHPFu0/Lsu9niEs8z17NUVPW634v42y0CN7h71d/55tdwoIcu+rmw1ERWFxZuLj3a2k9CMs/C/ujl3Zt49Jm3dlulAZXGpBI4WtGq7MVsZxU6cbLwP1gVGxWaPf5QcB2wke1Z8NRAeZQU3s8/17UZW/WjWrNl2VftcFTuq0EaD2m3NRsVCJ/48Ere2/K2KhExiVzRohVYVD7Nyq9K3qtAq4VlhkYme4tmzhZ31QjU7uyz19ujwRllzaKOLW3ZYE6XrvHuyYrvV8YpTsZ3NHdTMSs2yVvs6OsvtDnCqaSPL6tVCI+84LK8KjzXnudXbiEj2FmL2oLw7z30ZP/UmQouHbXLtXvVkfdWqqpsiMslvfw30r7xDM6sroK6Pldy3vr4B+L/5C6XgUhnLKGLmAAAAAElFTkSuQmCC"/>
|
||||
<image id="image104" width="87" height="86" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAABWCAYAAAC6lArJAAAABmJLR0QA/wD/AP+gvaeTAAAC+klEQVR4nO2Z224jIRAFO74k//+5dtb2PmSQO2dOA2PZyWpVJbUgFyW46AGaiQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAHefvtASzs4mssrdWIWI/1tkTrX9P3rkv8Kj8l9xARe4ldanOo5GqcWWyWezVxKeIWL+TZct/iS6SLfawlV4I1g3WsKtbJvUQt9k9qNZ6W8c+Qe0xxMO0jkt0SodxiLXeUrU7qp/Q/pf9wdj8qt8l8j+9yXVSiVbLLYrf2Rnixt6iztcm7xFpmFqlxlv4mtsh9i7vM9xTHTjvK6ia4ktwy2I21WgqcVM1UlaoStT3L11NLx2Hml+Iu7CO+i3VxNP1eVrtsdsuEy9xqGXCPfZWVKlGFahxSv8tIbsvWLPXDfG+reF1WdOnIkrPgRpbrpPYe81mBOul5slu/m8UjuSrnI9ZyR+2MeJfhuum17FWx7pHfKlDlzRwH20Z3imLT68lt/7A6WukamiMLy7JnJkKlZ9FN7jXWMjVOHXFKtUFWx7rcPyxjWNGT6yqlFjvp76SvoY9UDp0sfUp0AprM0xJZmNvc9MhXHfv0M7nPV1WRlp5cN5N58FU1lGe6d97cL63btNr/usT9EXaZ27JXd/R83MrnW5eBGr3PqD9rX2+WmyW47OuVrSGisrD84fKj7U4SmnGR/lZvzZ1Zd0+mr8cynSgXl0rgaEOrjhuzlVEexDnG52DdYFSse/yz5DxhI9mz4quJaFFWcDPn3HbccNWPZs2WY1d1zlWxowptNKm9o9moWOiJt5tYZmv5W1VnTmKvaNAKrSoeZuVWpW9VoVXCXWHhRE/x6N3CPvpCNTt7Wdr6o8sbZculjW5u7rImS9d197z8bBPPuBXbx9xFzaxUl7U61tFdbu8Cp1o2XFZvFpp5xWV5VXhsuc+t3kZk3FuI2Yvy3n3u0/ipNxFaPOxM23vV48aqVVVviXCSX/4a6F95hxbxQAUUtdyXvr4B+L/5C5VzUhji5NjtAAAAAElFTkSuQmCC"/>
|
||||
<mask id="mask10">
|
||||
<g filter="url(#alpha)">
|
||||
<use xlink:href="#image99"/>
|
||||
<use xlink:href="#image104"/>
|
||||
</g>
|
||||
</mask>
|
||||
<clipPath id="clip36">
|
||||
@@ -834,14 +842,14 @@
|
||||
<clipPath id="clip37">
|
||||
<path d="M 81.414062 73.453125 C 81.414062 79.203125 64.480469 83.867188 43.585938 83.867188 C 22.703125 83.867188 5.769531 79.203125 5.769531 73.453125 C 5.769531 67.699219 22.703125 63.035156 43.585938 63.035156 C 64.480469 63.035156 81.414062 67.699219 81.414062 73.453125 Z M 81.414062 73.453125 "/>
|
||||
</clipPath>
|
||||
<radialGradient id="radial2" gradientUnits="userSpaceOnUse" cx="12.574219" cy="67.5" fx="12.574219" fy="67.5" r="8.765625" gradientTransform="matrix(4.314486,0,0,1.188047,-10.668545,-6.743097)">
|
||||
<radialGradient id="radial2" gradientUnits="userSpaceOnUse" cx="34.595027" cy="185.710488" fx="34.595027" fy="185.710488" r="24.11657" gradientTransform="matrix(1.568182,0,0,0.431818,-10.668545,-6.743097)">
|
||||
<stop offset="0" style="stop-color:rgb(0%,0%,0%);stop-opacity:1;"/>
|
||||
<stop offset="1" style="stop-color:rgb(0%,0%,0%);stop-opacity:1;"/>
|
||||
</radialGradient>
|
||||
<clipPath id="clip35">
|
||||
<rect width="86" height="86"/>
|
||||
<rect x="0" y="0" width="86" height="86"/>
|
||||
</clipPath>
|
||||
<g id="surface102" clip-path="url(#clip35)">
|
||||
<g id="surface103" clip-path="url(#clip35)">
|
||||
<g clip-path="url(#clip36)" clip-rule="nonzero">
|
||||
<g clip-path="url(#clip37)" clip-rule="evenodd">
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:url(#radial2);" d="M 5.769531 63.035156 L 5.769531 83.867188 L 81.414062 83.867188 L 81.414062 63.035156 Z M 5.769531 63.035156 "/>
|
||||
@@ -1056,22 +1064,22 @@
|
||||
<clipPath id="clip47">
|
||||
<path d="M 0.347656 0.34375 L 85.394531 0.34375 L 85.394531 85.394531 L 0.347656 85.394531 Z M 0.347656 0.34375 "/>
|
||||
</clipPath>
|
||||
<image id="image109" width="87" height="86" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAABWCAYAAAC6lArJAAAABmJLR0QA/wD/AP+gvaeTAAABPklEQVR4nO3XXU7CQBiF4bdYBcMyXIo7dxWug3hhghdeaAyGoNNO5+dr3+cCGujJnH6ZTAAkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSdLKDK0LNDLcuP7ru/+uL9/PwMeY07CQ0g+eek9O/o0Zw015oNT7Wj14jfw7wAjcAbvOykXPn+BruHvgobNy0fMj3y8H4DFQ8dJrLLH+z3D3wLFS8a3k72H6cHMXjjKc3PysndtD8Qh5h1sw3+RY2Er+16+FY6DiEfJXx0JP5aLnr46FkgtHG07VndtT8Qj5qjt3a/nFdm5u8dw1Wq/f9XDXmF/sWChRLno+aee2Lu5wKxePkE86FlqVi55P+vtbsnjuGq3XL3ostCqem59z/1Q76He4Uz7r1q3hXl6v8sFrGIBn4Kl1kZV5AV4/AcYZDWH7geIZAAAAAElFTkSuQmCC"/>
|
||||
<image id="image114" width="87" height="86" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAABWCAYAAAC6lArJAAAABmJLR0QA/wD/AP+gvaeTAAABPklEQVR4nO3XXU7CQBiF4bdYBcMyXIo7dxWug3hhghdeaAyGoNNO5+dr3+cCGujJnH6ZTAAkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSdLKDK0LNDLcuP7ru/+uL9/PwMeY07CQ0g+eek9O/o0Zw015oNT7Wj14jfw7wAjcAbvOykXPn+BruHvgobNy0fMj3y8H4DFQ8dJrLLH+z3D3wLFS8a3k72H6cHMXjjKc3PysndtD8Qh5h1sw3+RY2Er+16+FY6DiEfJXx0JP5aLnr46FkgtHG07VndtT8Qj5qjt3a/nFdm5u8dw1Wq/f9XDXmF/sWChRLno+aee2Lu5wKxePkE86FlqVi55P+vtbsnjuGq3XL3ostCqem59z/1Q76He4Uz7r1q3hXl6v8sFrGIBn4Kl1kZV5AV4/AcYZDWH7geIZAAAAAElFTkSuQmCC"/>
|
||||
<mask id="mask11">
|
||||
<g filter="url(#alpha)">
|
||||
<use xlink:href="#image109"/>
|
||||
<use xlink:href="#image114"/>
|
||||
</g>
|
||||
</mask>
|
||||
<clipPath id="clip48">
|
||||
<rect width="86" height="86"/>
|
||||
<rect x="0" y="0" width="86" height="86"/>
|
||||
</clipPath>
|
||||
<g id="surface112" clip-path="url(#clip48)">
|
||||
<g id="surface113" clip-path="url(#clip48)">
|
||||
<path style="fill:none;stroke-width:0.4;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(97.647095%,100%,96.076965%);stroke-opacity:1;stroke-miterlimit:4;" d="M 4.901991 30.061152 L 30.362351 30.061152 L 32.473466 36.53559 L 2.663892 36.53559 Z M 4.901991 30.061152 " transform="matrix(2.21484,0,0,2.21484,0.346,0.34514)"/>
|
||||
</g>
|
||||
<image id="image119" width="87" height="86" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAABWCAYAAAC6lArJAAAABmJLR0QA/wD/AP+gvaeTAAACh0lEQVR4nO2bPU4kMRBGXzPDoAGGS3AIAkLOwDk4JQlHQCJYCWnDFSkQEJiW3eo/j10lsfh7EpoIe/TUqvlc7eqAB+CWtngDnoBH4Bn49NhkC9wA9x6L/2D+AXvgL/AHJ7knHov+B5wCV99/p16btCp3R5S789qkVbn9k3sAzrw2aVVuRxDbP70utCoX4IIod+uxQctyd4Sn94DTj1rLct0Tg+RKrgtpHJNcYzbEmnvw2KBluRCf3CscXLQuty8NLolBcuNhQnKNcU0Mkiu5bqQ1d2+9eOtywbGBI7lwjlNikNwg1CUxSK7jMVhyHROD5Dqe0iQ3OHBJDJIbSBs4G6tFJTfQJwbT0iC5AZcfNckNuMQxyQ2kl0Qk15j0lHZutajkRtLEYILkRvbE0mByOU9yI+YNHMmNmMcxyY2Y9xgkN5KWBdVcY04wTgySO+QSwwaO5A4xvbMruUPSxFBddyV3iGkDR3KHmPZ1JXfIlvjkXtQuJrlj0jjW1SwkuWPOMDqpSe4Yszu7kjvGrIEjuWPMhq4ld0wax6qGriV3TIdRA0dypzEZupbcaUxOapI7jUmPQXKnMYljkjuNyfs0yZ2mH7ruBRchufNUD11L7jzVpUFy56lu4EjuPNWJQXLnqb6zK7nzpGWhaOhacpepauBI7jJVQ9eSu0zVnV3JXaaqgSO5y1QlBsldRmXBkQ0ViUFy10m7Y0fd2ZXcdYp7DJK7TnGPQXLXKY5jkrtO8ZtgyV0nLQtHDV1Lbh693KPep0luHnsKEoPk5lE05SO5eRTFMcnNo+hNsOTmUTR0Lbl5FA1dS24+l8TDRFYDR3LzOfoY3AF3wLXjl/otvAOvwMv358faP3wBVtIb0p2B6U0AAAAASUVORK5CYII="/>
|
||||
<image id="image124" width="87" height="86" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAABWCAYAAAC6lArJAAAABmJLR0QA/wD/AP+gvaeTAAACh0lEQVR4nO2bPU4kMRBGXzPDoAGGS3AIAkLOwDk4JQlHQCJYCWnDFSkQEJiW3eo/j10lsfh7EpoIe/TUqvlc7eqAB+CWtngDnoBH4Bn49NhkC9wA9x6L/2D+AXvgL/AHJ7knHov+B5wCV99/p16btCp3R5S789qkVbn9k3sAzrw2aVVuRxDbP70utCoX4IIod+uxQctyd4Sn94DTj1rLct0Tg+RKrgtpHJNcYzbEmnvw2KBluRCf3CscXLQuty8NLolBcuNhQnKNcU0Mkiu5bqQ1d2+9eOtywbGBI7lwjlNikNwg1CUxSK7jMVhyHROD5Dqe0iQ3OHBJDJIbSBs4G6tFJTfQJwbT0iC5AZcfNckNuMQxyQ2kl0Qk15j0lHZutajkRtLEYILkRvbE0mByOU9yI+YNHMmNmMcxyY2Y9xgkN5KWBdVcY04wTgySO+QSwwaO5A4xvbMruUPSxFBddyV3iGkDR3KHmPZ1JXfIlvjkXtQuJrlj0jjW1SwkuWPOMDqpSe4Yszu7kjvGrIEjuWPMhq4ld0wax6qGriV3TIdRA0dypzEZupbcaUxOapI7jUmPQXKnMYljkjuNyfs0yZ2mH7ruBRchufNUD11L7jzVpUFy56lu4EjuPNWJQXLnqb6zK7nzpGWhaOhacpepauBI7jJVQ9eSu0zVnV3JXaaqgSO5y1QlBsldRmXBkQ0ViUFy10m7Y0fd2ZXcdYp7DJK7TnGPQXLXKY5jkrtO8ZtgyV0nLQtHDV1Lbh693KPep0luHnsKEoPk5lE05SO5eRTFMcnNo+hNsOTmUTR0Lbl5FA1dS24+l8TDRFYDR3LzOfoY3AF3wLXjl/otvAOvwMv358faP3wBVtIb0p2B6U0AAAAASUVORK5CYII="/>
|
||||
<mask id="mask12">
|
||||
<g filter="url(#alpha)">
|
||||
<use xlink:href="#image119"/>
|
||||
<use xlink:href="#image124"/>
|
||||
</g>
|
||||
</mask>
|
||||
<clipPath id="clip50">
|
||||
@@ -1178,19 +1186,19 @@
|
||||
<stop offset="1" style="stop-color:rgb(74.508667%,74.508667%,74.508667%);stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<clipPath id="clip49">
|
||||
<rect width="86" height="86"/>
|
||||
<rect x="0" y="0" width="86" height="86"/>
|
||||
</clipPath>
|
||||
<g id="surface122" clip-path="url(#clip49)">
|
||||
<g id="surface123" clip-path="url(#clip49)">
|
||||
<g clip-path="url(#clip50)" clip-rule="nonzero">
|
||||
<g clip-path="url(#clip51)" clip-rule="evenodd">
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:url(#linear11);" d="M 61.945312 9.015625 L 61.945312 10.980469 L 65.910156 10.980469 L 65.910156 9.015625 Z M 61.945312 9.015625 "/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<image id="image129" width="87" height="86" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAABWCAYAAAC6lArJAAAABmJLR0QA/wD/AP+gvaeTAAACTElEQVR4nO2dO04DMRRFL9+IT7IJFkFByRpYB7tEbIEC6BEVLQ3FMHJG83PsdyWEz5FSxo6ORm/uvPFTjiQ9SrpTW7xJepL0LOnDtcmppFtJD64N/igvkr4lvcso99i18B9nK2kn6dq5Satyr9UJ3jo3aVnu7vdz4tqkVbnHSnJtV2+rcqVUFmx1t2W5fWlArgHkGrHHsZbl9nFs59qgZbkbpcRw6digZblSimKW0tC6XOtNDbnItdHLtTyltS53K2MDp3W5+w2cs+jFW5crJbnhdRe5xgYOco2JAbnItWJ75YPcYWIIBbnSuUyJAbkdlsSA3A5L4xy5HZbEgNyOPjEg14AlMSC340pJ7iZqUeQmwuMYchPhdRe5ifA4htxEeBxDbiK8gYPcxH4cC/GC3MSpghMDcoeENnCQOyT0pobcIaFxDLlDQh8kkDsktIGD3CEXSnIvahdD7piwM7vIHROWGJA7BrlGkGsk7MwucseEDV0jd8z+0HVVaUDuNCGlAbnT9KXhqmYR5E4TMuWD3GlCGjjInaZvPVY1cJA7TcjQNXLnqW7gIHee6sdg5M6DXCPViQG581S/8kHuPPtxrGjoGrnLVCUG5C5TdY4BuctUJQbkLoNcI1VndpG7TFUcQ+4y/dB1UWJA7jrFiQG56yDXSHFiQO46xQ0c5K5TnBiQu07x0DVy8yia8kFuHkWJAbl5FCUG5ObBlWukqIGD3DyKhq6Rm0c/dH1QYkBuPgfXXeTmc3BiOJJ0L+nG9Yv+EV/q/rPyVdJnzhd+AILtGbOKWzEhAAAAAElFTkSuQmCC"/>
|
||||
<image id="image134" width="87" height="86" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAABWCAYAAAC6lArJAAAABmJLR0QA/wD/AP+gvaeTAAACTElEQVR4nO2dO04DMRRFL9+IT7IJFkFByRpYB7tEbIEC6BEVLQ3FMHJG83PsdyWEz5FSxo6ORm/uvPFTjiQ9SrpTW7xJepL0LOnDtcmppFtJD64N/igvkr4lvcso99i18B9nK2kn6dq5Satyr9UJ3jo3aVnu7vdz4tqkVbnHSnJtV2+rcqVUFmx1t2W5fWlArgHkGrHHsZbl9nFs59qgZbkbpcRw6digZblSimKW0tC6XOtNDbnItdHLtTyltS53K2MDp3W5+w2cs+jFW5crJbnhdRe5xgYOco2JAbnItWJ75YPcYWIIBbnSuUyJAbkdlsSA3A5L4xy5HZbEgNyOPjEg14AlMSC340pJ7iZqUeQmwuMYchPhdRe5ifA4htxEeBxDbiK8gYPcxH4cC/GC3MSpghMDcoeENnCQOyT0pobcIaFxDLlDQh8kkDsktIGD3CEXSnIvahdD7piwM7vIHROWGJA7BrlGkGsk7MwucseEDV0jd8z+0HVVaUDuNCGlAbnT9KXhqmYR5E4TMuWD3GlCGjjInaZvPVY1cJA7TcjQNXLnqW7gIHee6sdg5M6DXCPViQG581S/8kHuPPtxrGjoGrnLVCUG5C5TdY4BuctUJQbkLoNcI1VndpG7TFUcQ+4y/dB1UWJA7jrFiQG56yDXSHFiQO46xQ0c5K5TnBiQu07x0DVy8yia8kFuHkWJAbl5FCUG5ObBlWukqIGD3DyKhq6Rm0c/dH1QYkBuPgfXXeTmc3BiOJJ0L+nG9Yv+EV/q/rPyVdJnzhd+AILtGbOKWzEhAAAAAElFTkSuQmCC"/>
|
||||
<mask id="mask13">
|
||||
<g filter="url(#alpha)">
|
||||
<use xlink:href="#image129"/>
|
||||
<use xlink:href="#image134"/>
|
||||
</g>
|
||||
</mask>
|
||||
<clipPath id="clip53">
|
||||
@@ -1297,19 +1305,19 @@
|
||||
<stop offset="1" style="stop-color:rgb(74.508667%,74.508667%,74.508667%);stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<clipPath id="clip52">
|
||||
<rect width="86" height="86"/>
|
||||
<rect x="0" y="0" width="86" height="86"/>
|
||||
</clipPath>
|
||||
<g id="surface132" clip-path="url(#clip52)">
|
||||
<g id="surface133" clip-path="url(#clip52)">
|
||||
<g clip-path="url(#clip53)" clip-rule="nonzero">
|
||||
<g clip-path="url(#clip54)" clip-rule="evenodd">
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:url(#linear12);" d="M 62.144531 12.753906 L 62.144531 14.707031 L 66.105469 14.707031 L 66.105469 12.753906 Z M 62.144531 12.753906 "/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<image id="image139" width="87" height="86" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAABWCAYAAAC6lArJAAAABmJLR0QA/wD/AP+gvaeTAAACi0lEQVR4nO2dvW4TQRRGjxM7EBL7BSh5CApKnoHn4Cl5ACRKCmqaVEmoEMV4NbPaX+/cL4qY70hbesc6Wl1/e2euvAO+Ap9oh2fgB/AN+A48qhbaAx+BL6oFXiF/gPfAA/ATodwr1Y1fMQfgdL4OyoValHtNlnuvXKhFuQDH83VC6KBVuW94gdLQqtw9We6NapFW5R7IpcFygykTg+UGU5aFt6pFWpW7I4ntEoOEVuUCvEOcGFqWK08MLcvtftRkiaF1uV3NdVkIxmVBSNnAOSoWaFku9Bs419E3b12utLdrucLEYLm5LFhuMNLE0LrcsubeRt+8dbkgbOBYbmo5SkqD5QoTg+UKewyWK0wMlivcT7Pc5ECSGCw3cU9+esMaOJabkJQGy01IDolYbkKSGCw3IenrWm6ie3KPwF3UTS0300WxE+lETjWWmwlv4FhupmzghNRdy83sCd7ysdxM+IuE5WZKuSFndi03syO/pYWcwLHcPmUDZ197M8vtE1p3LbdPlxhCGjiW28dPrpDQBo7l9gkdurbcIWFD15Y7JGzo2nKHlL3dqh81yx0SdmbXcoeExTHLHRI2dG25Q8KGri13nJCha8sdJyQxWO44IYnBcscJ6TFY7jghx5ssd5yugVO15WO505QncDZ5stxpqt/ULHea6jO7ljuNn1wh1YnBcqcpD+ZtGrq23HnKxHAxljvPLRWlwXLnqRq6ttx5qoauLXeeqsRgufO4LAi5oiIxWO4ypdyLhq4td5nNpcFyl9m85WO5y2xODJa7zOb9NMtdpjzKf9HQteWu41Rcq4euLXcdm4auLXcd5ZbP6rpruevYlBh2wGfgg+hL/S/8BX6T/rPyF/C05kP/AMycG+jgHEdcAAAAAElFTkSuQmCC"/>
|
||||
<image id="image144" width="87" height="86" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAABWCAYAAAC6lArJAAAABmJLR0QA/wD/AP+gvaeTAAACi0lEQVR4nO2dvW4TQRRGjxM7EBL7BSh5CApKnoHn4Cl5ACRKCmqaVEmoEMV4NbPaX+/cL4qY70hbesc6Wl1/e2euvAO+Ap9oh2fgB/AN+A48qhbaAx+BL6oFXiF/gPfAA/ATodwr1Y1fMQfgdL4OyoValHtNlnuvXKhFuQDH83VC6KBVuW94gdLQqtw9We6NapFW5R7IpcFygykTg+UGU5aFt6pFWpW7I4ntEoOEVuUCvEOcGFqWK08MLcvtftRkiaF1uV3NdVkIxmVBSNnAOSoWaFku9Bs419E3b12utLdrucLEYLm5LFhuMNLE0LrcsubeRt+8dbkgbOBYbmo5SkqD5QoTg+UKewyWK0wMlivcT7Pc5ECSGCw3cU9+esMaOJabkJQGy01IDolYbkKSGCw3IenrWm6ie3KPwF3UTS0300WxE+lETjWWmwlv4FhupmzghNRdy83sCd7ysdxM+IuE5WZKuSFndi03syO/pYWcwLHcPmUDZ197M8vtE1p3LbdPlxhCGjiW28dPrpDQBo7l9gkdurbcIWFD15Y7JGzo2nKHlL3dqh81yx0SdmbXcoeExTHLHRI2dG25Q8KGri13nJCha8sdJyQxWO44IYnBcscJ6TFY7jghx5ssd5yugVO15WO505QncDZ5stxpqt/ULHea6jO7ljuNn1wh1YnBcqcpD+ZtGrq23HnKxHAxljvPLRWlwXLnqRq6ttx5qoauLXeeqsRgufO4LAi5oiIxWO4ypdyLhq4td5nNpcFyl9m85WO5y2xODJa7zOb9NMtdpjzKf9HQteWu41Rcq4euLXcdm4auLXcd5ZbP6rpruevYlBh2wGfgg+hL/S/8BX6T/rPyF/C05kP/AMycG+jgHEdcAAAAAElFTkSuQmCC"/>
|
||||
<mask id="mask14">
|
||||
<g filter="url(#alpha)">
|
||||
<use xlink:href="#image139"/>
|
||||
<use xlink:href="#image144"/>
|
||||
</g>
|
||||
</mask>
|
||||
<clipPath id="clip56">
|
||||
@@ -1416,19 +1424,19 @@
|
||||
<stop offset="1" style="stop-color:rgb(74.508667%,74.508667%,74.508667%);stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<clipPath id="clip55">
|
||||
<rect width="86" height="86"/>
|
||||
<rect x="0" y="0" width="86" height="86"/>
|
||||
</clipPath>
|
||||
<g id="surface142" clip-path="url(#clip55)">
|
||||
<g id="surface143" clip-path="url(#clip55)">
|
||||
<g clip-path="url(#clip56)" clip-rule="nonzero">
|
||||
<g clip-path="url(#clip57)" clip-rule="evenodd">
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:url(#linear13);" d="M 62.34375 16.289062 L 62.34375 18.253906 L 66.304688 18.253906 L 66.304688 16.289062 Z M 62.34375 16.289062 "/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<image id="image149" width="87" height="86" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAABWCAYAAAC6lArJAAAABmJLR0QA/wD/AP+gvaeTAAACRUlEQVR4nO2cO04DMRRFb/gESAibYBEUlKyBdbBKCtaAKECihAVQUUxGnmi+2O9KET5HmjJ2dGQ933j8spL0JOle9fAl6UXSs6RX50Rnku4kPTonOTK+Ja0lfcos98Q5+JGylXSzf6zUKPdCSe7GOVGNciVpt3+sq7dWuddqxO6ck9Qqt627yDWAXCNbUXNtdOPYuWuSWuWulOTaSkOtcqUmMbSRzELNcu2bGnKNm1rtcikLJli5RtZKcq8dE9QsV0obmmX11i7XmhiQi1wbyDWyETXXRjeOXUQPXrtcKZWF8NKAXOMrH+QaNzXkGn8GI9d4gIPcw5W7ihwYuc19OcsrH+Q27GQoDchtsGxqyG2wxDHkNlgSA3IbKAtGrpTkXkYNitxE+Csf5CbCNzXkJpBrJDwxIDcRnhiQm+jKPY0YELmJUwW/8kHuIW0UQ66B0LqL3ENCEwNyD9mIsmCDsmDkUoFN18jtE9Z0jdw+YTdwkNsn7AAHuX3C4hhy+4QlBuT2CWu6Rm6ftum6uDQgd5iQxIDcYUISA3KHCdnUkDtMSBxD7jCsXCMhTdfIHaf4zi5yxykuDcgdpziOIXec4sSA3HEoC0a6ctc5AyB3mqI7u8idpugAB7nTFCUG5E5TlBiQO01RYkDuNEVN18idpm26zioNyJ0n+84ucufJTgzInSf7z+OROw8r10h2HEPuPG3T9U5/bLpG7jKyEgNyl9Ee4PypNCB3GVmbGnKXkXWAs5L0IOnW8Y3+ET+S3iW9SfpY+qFfIOUYyVY4M8kAAAAASUVORK5CYII="/>
|
||||
<image id="image154" width="87" height="86" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAABWCAYAAAC6lArJAAAABmJLR0QA/wD/AP+gvaeTAAACRUlEQVR4nO2cO04DMRRFb/gESAibYBEUlKyBdbBKCtaAKECihAVQUUxGnmi+2O9KET5HmjJ2dGQ933j8spL0JOle9fAl6UXSs6RX50Rnku4kPTonOTK+Ja0lfcos98Q5+JGylXSzf6zUKPdCSe7GOVGNciVpt3+sq7dWuddqxO6ck9Qqt627yDWAXCNbUXNtdOPYuWuSWuWulOTaSkOtcqUmMbSRzELNcu2bGnKNm1rtcikLJli5RtZKcq8dE9QsV0obmmX11i7XmhiQi1wbyDWyETXXRjeOXUQPXrtcKZWF8NKAXOMrH+QaNzXkGn8GI9d4gIPcw5W7ihwYuc19OcsrH+Q27GQoDchtsGxqyG2wxDHkNlgSA3IbKAtGrpTkXkYNitxE+Csf5CbCNzXkJpBrJDwxIDcRnhiQm+jKPY0YELmJUwW/8kHuIW0UQ66B0LqL3ENCEwNyD9mIsmCDsmDkUoFN18jtE9Z0jdw+YTdwkNsn7AAHuX3C4hhy+4QlBuT2CWu6Rm6ftum6uDQgd5iQxIDcYUISA3KHCdnUkDtMSBxD7jCsXCMhTdfIHaf4zi5yxykuDcgdpziOIXec4sSA3HEoC0a6ctc5AyB3mqI7u8idpugAB7nTFCUG5E5TlBiQO01RYkDuNEVN18idpm26zioNyJ0n+84ucufJTgzInSf7z+OROw8r10h2HEPuPG3T9U5/bLpG7jKyEgNyl9Ee4PypNCB3GVmbGnKXkXWAs5L0IOnW8Y3+ET+S3iW9SfpY+qFfIOUYyVY4M8kAAAAASUVORK5CYII="/>
|
||||
<mask id="mask15">
|
||||
<g filter="url(#alpha)">
|
||||
<use xlink:href="#image149"/>
|
||||
<use xlink:href="#image154"/>
|
||||
</g>
|
||||
</mask>
|
||||
<clipPath id="clip59">
|
||||
@@ -1535,19 +1543,19 @@
|
||||
<stop offset="1" style="stop-color:rgb(74.508667%,74.508667%,74.508667%);stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<clipPath id="clip58">
|
||||
<rect width="86" height="86"/>
|
||||
<rect x="0" y="0" width="86" height="86"/>
|
||||
</clipPath>
|
||||
<g id="surface152" clip-path="url(#clip58)">
|
||||
<g id="surface153" clip-path="url(#clip58)">
|
||||
<g clip-path="url(#clip59)" clip-rule="nonzero">
|
||||
<g clip-path="url(#clip60)" clip-rule="evenodd">
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:url(#linear14);" d="M 62.550781 19.839844 L 62.550781 21.792969 L 66.503906 21.792969 L 66.503906 19.839844 Z M 62.550781 19.839844 "/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<image id="image159" width="87" height="86" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAABWCAYAAAC6lArJAAAABmJLR0QA/wD/AP+gvaeTAAACj0lEQVR4nO2cO27dMBBFz3t+/lvaRBbhwqXX4HVklSmyBCMIsoEgRboUhlPQAkfQLxBnDCNzD6DSonEgkJcz5DsAn4EHcvAC/AC+AF+Bn5GDnYB74ClykA/EK/AM/AG+ESz3GPnyD8gB6N6ePnqwbHIBbilie+AicqCMcs+oci8jB8oo90SdGiTXGX25gZyQ3DCOFLEdcBc9UEaGKNZTpokQsso95x2mhqxyh0WtIzDrZpU7xLEeuIoaJKvcd4ljWeUOcawDrqMGySoXxokhhMxyrwku4GSWa3dqIYtaZrln1AKOvlxn9OUGEh7HMsu1BZwuaoDMhBZwsssNnRqyy7U7NfdFLbvcIY6FbCSyyw2NY9nl2rrujffLs8uFwAKO5JbpICQxSO54apBcZ2zLR3KdCdtISG5gHJPcwDO7klu4o369J6+XSm7B1hjc5l3JLdgag+Q6E3KsVHILIXFMcgt2l+Z2ZldyK7aAc/B4oeRWLnCeGiS34n7LR3IrdlFz2QZLbsXGMZd+muRWbGJwObMruZWhgOPW8pHcMfbS9XnryyR3jGvLR3LHuLZ8JHeMaxyT3DGucUxyxxypu7TmM7uSO6U3T5MfyZ3idulacqfYWz6S64xby0dyp7i1fCR3im2zN53Zldx5XAo4kjuPy6VryZ3H5QSO5M7jcgJHcudxiWOSO49LHJPceWwBZ3dikNxlbAFn16VryV2mueUjucs0t3wkd5nmRU1yl2mOY5K7jJ1zb/e8QHLXaSrgSO46TZeuJXedppaP5K7TtKhJ7jpNcUxy12n69SbJXafpzK7kbrP70rXkbrO75SO52+xu+UjuNrvjmORus7uuewAegU8B/9T/xG/g+9vz61//6C+WjRureS1UpgAAAABJRU5ErkJggg=="/>
|
||||
<image id="image164" width="87" height="86" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAABWCAYAAAC6lArJAAAABmJLR0QA/wD/AP+gvaeTAAACj0lEQVR4nO2cO27dMBBFz3t+/lvaRBbhwqXX4HVklSmyBCMIsoEgRboUhlPQAkfQLxBnDCNzD6DSonEgkJcz5DsAn4EHcvAC/AC+AF+Bn5GDnYB74ClykA/EK/AM/AG+ESz3GPnyD8gB6N6ePnqwbHIBbilie+AicqCMcs+oci8jB8oo90SdGiTXGX25gZyQ3DCOFLEdcBc9UEaGKNZTpokQsso95x2mhqxyh0WtIzDrZpU7xLEeuIoaJKvcd4ljWeUOcawDrqMGySoXxokhhMxyrwku4GSWa3dqIYtaZrln1AKOvlxn9OUGEh7HMsu1BZwuaoDMhBZwsssNnRqyy7U7NfdFLbvcIY6FbCSyyw2NY9nl2rrujffLs8uFwAKO5JbpICQxSO54apBcZ2zLR3KdCdtISG5gHJPcwDO7klu4o369J6+XSm7B1hjc5l3JLdgag+Q6E3KsVHILIXFMcgt2l+Z2ZldyK7aAc/B4oeRWLnCeGiS34n7LR3IrdlFz2QZLbsXGMZd+muRWbGJwObMruZWhgOPW8pHcMfbS9XnryyR3jGvLR3LHuLZ8JHeMaxyT3DGucUxyxxypu7TmM7uSO6U3T5MfyZ3idulacqfYWz6S64xby0dyp7i1fCR3im2zN53Zldx5XAo4kjuPy6VryZ3H5QSO5M7jcgJHcudxiWOSO49LHJPceWwBZ3dikNxlbAFn16VryV2mueUjucs0t3wkd5nmRU1yl2mOY5K7jJ1zb/e8QHLXaSrgSO46TZeuJXedppaP5K7TtKhJ7jpNcUxy12n69SbJXafpzK7kbrP70rXkbrO75SO52+xu+UjuNrvjmORus7uuewAegU8B/9T/xG/g+9vz61//6C+WjRureS1UpgAAAABJRU5ErkJggg=="/>
|
||||
<mask id="mask16">
|
||||
<g filter="url(#alpha)">
|
||||
<use xlink:href="#image159"/>
|
||||
<use xlink:href="#image164"/>
|
||||
</g>
|
||||
</mask>
|
||||
<clipPath id="clip62">
|
||||
@@ -1654,9 +1662,9 @@
|
||||
<stop offset="1" style="stop-color:rgb(74.508667%,74.508667%,74.508667%);stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<clipPath id="clip61">
|
||||
<rect width="86" height="86"/>
|
||||
<rect x="0" y="0" width="86" height="86"/>
|
||||
</clipPath>
|
||||
<g id="surface161" clip-path="url(#clip61)">
|
||||
<g id="surface163" clip-path="url(#clip61)">
|
||||
<g clip-path="url(#clip62)" clip-rule="nonzero">
|
||||
<g clip-path="url(#clip63)" clip-rule="evenodd">
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:url(#linear15);" d="M 62.75 23.375 L 62.75 25.339844 L 66.714844 25.339844 L 66.714844 23.375 Z M 62.75 23.375 "/>
|
||||
@@ -1664,20 +1672,20 @@
|
||||
</g>
|
||||
</g>
|
||||
<clipPath id="clip5">
|
||||
<rect width="86" height="86"/>
|
||||
<rect x="0" y="0" width="86" height="86"/>
|
||||
</clipPath>
|
||||
<g id="surface22" clip-path="url(#clip5)">
|
||||
<g id="surface167" clip-path="url(#clip5)">
|
||||
<g clip-path="url(#clip6)" clip-rule="nonzero">
|
||||
<use xlink:href="#surface33" mask="url(#mask3)"/>
|
||||
<use xlink:href="#surface34" mask="url(#mask3)"/>
|
||||
</g>
|
||||
<path style="fill-rule:evenodd;fill:rgb(67.842102%,69.018555%,66.665649%);fill-opacity:1;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(29.411316%,30.195618%,29.019165%);stroke-opacity:1;stroke-miterlimit:4;" d="M 25.016663 26.336278 C 25.016663 28.078785 21.651578 29.487959 17.499896 29.487959 C 13.348213 29.487959 9.983128 28.078785 9.983128 26.336278 C 9.983128 24.593771 13.348213 23.184597 17.499896 23.184597 C 21.651578 23.184597 25.016663 24.593771 25.016663 26.336278 Z M 25.016663 26.336278 " transform="matrix(2.21484,0,0,2.21484,0.346,0.34514)"/>
|
||||
<path style="fill:none;stroke-width:0.752218;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(48.234558%,49.803162%,47.842407%);stroke-opacity:1;stroke-miterlimit:4;" d="M 24.565163 25.770139 C 24.565163 27.406826 21.401137 28.734871 17.499896 28.734871 C 13.598654 28.734871 10.434628 27.406826 10.434628 25.770139 C 10.434628 24.133452 13.598654 22.805408 17.499896 22.805408 C 21.401137 22.805408 24.565163 24.133452 24.565163 25.770139 Z M 24.565163 25.770139 " transform="matrix(2.21484,0,0,2.21484,0.346,0.34514)"/>
|
||||
<g clip-path="url(#clip10)" clip-rule="nonzero">
|
||||
<use xlink:href="#surface43" mask="url(#mask4)"/>
|
||||
<use xlink:href="#surface44" mask="url(#mask4)"/>
|
||||
</g>
|
||||
<path style="fill-rule:evenodd;fill:rgb(81.567383%,81.567383%,81.567383%);fill-opacity:1;stroke-width:0.32;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(59.214783%,59.214783%,59.214783%);stroke-opacity:1;stroke-miterlimit:4;" d="M 20.551047 23.011757 L 20.499901 23.812464 C 20.499901 23.812464 23.960224 26.690776 27.699207 27.175785 C 29.570463 27.417408 31.503447 27.738397 33.101333 28.124641 C 34.695692 28.512648 35.969063 29.020586 36.397635 29.449158 C 36.648076 29.699599 36.762715 29.909476 36.801516 30.073498 C 36.840316 30.24281 36.831498 30.359212 36.727441 30.523234 C 36.515801 30.854804 35.859715 31.301013 34.750366 31.648456 C 32.526376 32.352161 28.573988 32.800134 23.101316 32.800134 L 23.101316 33.602604 C 28.616317 33.602604 32.589868 33.179323 34.977879 32.426235 C 36.168358 32.047046 36.995519 31.613183 37.397637 30.976497 C 37.602222 30.655509 37.688642 30.265738 37.602222 29.89713 C 37.515802 29.535578 37.29358 29.191662 36.976119 28.874201 C 36.272414 28.17226 34.94437 27.750742 33.300628 27.352153 C 31.655122 26.948272 29.688629 26.616702 27.8015 26.375079 C 24.023716 25.886542 20.551047 23.011757 20.551047 23.011757 Z M 20.551047 23.011757 " transform="matrix(2.21484,0,0,2.21484,0.346,0.34514)"/>
|
||||
<g clip-path="url(#clip12)" clip-rule="nonzero">
|
||||
<use xlink:href="#surface53" mask="url(#mask5)"/>
|
||||
<use xlink:href="#surface54" mask="url(#mask5)"/>
|
||||
</g>
|
||||
<g clip-path="url(#clip16)" clip-rule="nonzero">
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:url(#linear1);" d="M 31.304688 54.746094 L 31.304688 59.597656 L 47.324219 59.597656 L 47.324219 54.746094 Z M 31.304688 54.746094 "/>
|
||||
@@ -1697,10 +1705,10 @@
|
||||
</g>
|
||||
<path style="fill:none;stroke-width:0.4;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(0%,0%,47.450256%);stroke-opacity:1;stroke-miterlimit:4;" d="M 6.727391 3.445587 L 5.734444 21.082301 L 27.85441 21.082301 L 26.785626 3.519661 Z M 6.727391 3.445587 " transform="matrix(2.21484,0,0,2.21484,0.346,0.34514)"/>
|
||||
<g clip-path="url(#clip22)" clip-rule="nonzero">
|
||||
<use xlink:href="#surface63" mask="url(#mask6)"/>
|
||||
<use xlink:href="#surface73" mask="url(#mask7)"/>
|
||||
<use xlink:href="#surface92" mask="url(#mask8)"/>
|
||||
<use xlink:href="#surface102" mask="url(#mask10)"/>
|
||||
<use xlink:href="#surface64" mask="url(#mask6)"/>
|
||||
<use xlink:href="#surface74" mask="url(#mask7)"/>
|
||||
<use xlink:href="#surface93" mask="url(#mask8)"/>
|
||||
<use xlink:href="#surface103" mask="url(#mask10)"/>
|
||||
</g>
|
||||
<g clip-path="url(#clip38)" clip-rule="nonzero">
|
||||
<g clip-path="url(#clip39)" clip-rule="evenodd">
|
||||
@@ -1729,12 +1737,12 @@
|
||||
</g>
|
||||
</g>
|
||||
<g clip-path="url(#clip47)" clip-rule="nonzero">
|
||||
<use xlink:href="#surface112" mask="url(#mask11)"/>
|
||||
<use xlink:href="#surface122" mask="url(#mask12)"/>
|
||||
<use xlink:href="#surface132" mask="url(#mask13)"/>
|
||||
<use xlink:href="#surface142" mask="url(#mask14)"/>
|
||||
<use xlink:href="#surface152" mask="url(#mask15)"/>
|
||||
<use xlink:href="#surface161" mask="url(#mask16)"/>
|
||||
<use xlink:href="#surface113" mask="url(#mask11)"/>
|
||||
<use xlink:href="#surface123" mask="url(#mask12)"/>
|
||||
<use xlink:href="#surface133" mask="url(#mask13)"/>
|
||||
<use xlink:href="#surface143" mask="url(#mask14)"/>
|
||||
<use xlink:href="#surface153" mask="url(#mask15)"/>
|
||||
<use xlink:href="#surface163" mask="url(#mask16)"/>
|
||||
</g>
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(29.019165%,29.019165%,29.019165%);fill-opacity:1;" d="M 35.785156 48.75 L 36.285156 48.75 C 36.433594 48.75 36.546875 48.777344 36.621094 48.847656 C 36.699219 48.917969 36.746094 49.011719 36.746094 49.132812 C 36.746094 49.253906 36.699219 49.347656 36.621094 49.410156 C 36.546875 49.480469 36.433594 49.511719 36.285156 49.511719 L 36.085938 49.511719 L 36.085938 49.910156 L 35.785156 49.910156 L 35.785156 48.75 M 36.085938 48.96875 L 36.085938 49.296875 L 36.25 49.296875 C 36.3125 49.296875 36.355469 49.28125 36.386719 49.253906 C 36.414062 49.21875 36.433594 49.183594 36.433594 49.132812 C 36.433594 49.082031 36.414062 49.035156 36.386719 49.011719 C 36.355469 48.976562 36.3125 48.96875 36.25 48.96875 L 36.085938 48.96875 M 37.488281 48.941406 C 37.394531 48.941406 37.324219 48.976562 37.273438 49.046875 C 37.226562 49.117188 37.203125 49.207031 37.203125 49.332031 C 37.203125 49.453125 37.226562 49.546875 37.273438 49.617188 C 37.324219 49.683594 37.394531 49.71875 37.488281 49.71875 C 37.582031 49.71875 37.652344 49.683594 37.703125 49.617188 C 37.757812 49.546875 37.78125 49.453125 37.78125 49.332031 C 37.78125 49.207031 37.757812 49.117188 37.703125 49.046875 C 37.652344 48.976562 37.582031 48.941406 37.488281 48.941406 M 37.488281 48.726562 C 37.675781 48.726562 37.824219 48.777344 37.929688 48.890625 C 38.035156 48.992188 38.085938 49.140625 38.085938 49.332031 C 38.085938 49.519531 38.035156 49.667969 37.929688 49.773438 C 37.824219 49.882812 37.675781 49.9375 37.488281 49.9375 C 37.296875 49.9375 37.148438 49.882812 37.046875 49.773438 C 36.941406 49.667969 36.890625 49.519531 36.890625 49.332031 C 36.890625 49.140625 36.941406 48.992188 37.046875 48.890625 C 37.148438 48.777344 37.296875 48.726562 37.488281 48.726562 M 38.320312 48.75 L 38.648438 48.75 L 39.070312 49.546875 L 39.070312 48.75 L 39.355469 48.75 L 39.355469 49.910156 L 39.027344 49.910156 L 38.597656 49.117188 L 38.597656 49.910156 L 38.320312 49.910156 L 38.320312 48.75 M 39.488281 48.75 L 39.8125 48.75 L 40.082031 49.167969 L 40.351562 48.75 L 40.679688 48.75 L 40.230469 49.425781 L 40.230469 49.910156 L 39.9375 49.910156 L 39.9375 49.425781 L 39.488281 48.75 "/>
|
||||
</g>
|
||||
@@ -1789,7 +1797,7 @@
|
||||
<path style="fill-rule:nonzero;fill:rgb(8.657837%,31.404114%,58.695984%);fill-opacity:1;stroke-width:1.99255;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(8.657837%,31.404114%,58.695984%);stroke-opacity:1;stroke-miterlimit:10;" d="M 1.752569 0.001875 C -0.438838 0.439375 -2.630244 1.314375 -5.25915 2.849531 C -2.630244 0.876875 -2.630244 -0.877031 -5.25915 -2.849687 C -2.630244 -1.314531 -0.438838 -0.439531 1.752569 0.001875 Z M 1.752569 0.001875 " transform="matrix(0,-1,-1,0,172.455,55.0846)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(8.657837%,31.404114%,58.695984%);fill-opacity:1;stroke-width:1.99255;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(8.657837%,31.404114%,58.695984%);stroke-opacity:1;stroke-miterlimit:10;" d="M 1.753336 -0.001875 C -0.43807 0.439531 -2.629476 1.314531 -5.262289 2.849687 C -2.629476 0.877031 -2.629476 -0.876875 -5.262289 -2.849531 C -2.629476 -1.314375 -0.43807 -0.439375 1.753336 -0.001875 Z M 1.753336 -0.001875 " transform="matrix(0,1,1,0,172.455,134.62557)"/>
|
||||
<path style="fill:none;stroke-width:1.99255;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(8.657837%,31.404114%,58.695984%);stroke-opacity:1;stroke-miterlimit:10;" d="M -37.622969 -116.180719 C -38.689375 -114.333063 -38.689375 -112.051813 -37.622969 -110.204156 M -42.79875 -119.169 C -44.931563 -115.473688 -44.931563 -110.915094 -42.79875 -107.215875 M -47.974531 -122.157281 C -51.177656 -116.610406 -51.177656 -109.774469 -47.974531 -104.227594 M -53.150313 -125.149469 C -57.42375 -117.751031 -57.42375 -108.633844 -53.150313 -101.235406 M -58.33 -128.13775 C -63.665938 -118.891656 -63.665938 -107.493219 -58.33 -98.247125 M -63.505781 -131.126031 C -69.912031 -120.028375 -69.912031 -106.3565 -63.505781 -95.258844 M -68.681563 -134.114313 C -76.154219 -121.169 -76.154219 -105.215875 -68.681563 -92.270563 " transform="matrix(1,0,0,-1,172.455,44.581)"/>
|
||||
<path style="fill:none;stroke-width:1.99255;stroke-linecap:round;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -121.583906 -7.290094 C -120.837813 -5.860406 -119.521406 -4.669 -118.005781 -4.579156 C -116.48625 -4.489313 -115.037031 -5.51275 -114.126875 -6.840875 C -113.216719 -8.172906 -112.872969 -9.26275 -112.73625 -9.254938 C -112.595625 -9.247125 -112.388594 -8.122125 -111.6425 -6.692438 C -110.888594 -5.26275 -109.572188 -4.07525 -108.052656 -3.9815 C -106.537031 -3.891656 -105.087813 -4.915094 -104.177656 -6.247125 C -103.263594 -7.57525 -102.92375 -8.665094 -102.783125 -8.657281 C -102.646406 -8.649469 -102.435469 -7.524469 -101.689375 -6.094781 C -100.939375 -4.665094 -99.622969 -3.477594 -98.103438 -3.38775 C -96.583906 -3.294 -95.138594 -4.317438 -94.224531 -5.649469 C -93.314375 -6.977594 -92.974531 -8.067438 -92.833906 -8.059625 C -92.697188 -8.051813 -92.48625 -6.930719 -91.740156 -5.501031 C -90.98625 -4.071344 -89.67375 -2.879938 -88.154219 -2.790094 C -86.634688 -2.70025 -85.185469 -3.723688 -84.275313 -5.051813 C -83.365156 -6.383844 -83.021406 -7.473688 -82.884688 -7.465875 C -82.744063 -7.454156 -82.537031 -6.333063 -81.790938 -4.903375 C -81.037031 -3.473688 -79.720625 -2.286188 -78.205 -2.192438 C -76.685469 -2.102594 -75.23625 -3.126031 -74.326094 -4.454156 C -73.415938 -5.786188 -73.072188 -6.876031 -72.935469 -6.868219 C -72.794844 -6.860406 -72.583906 -5.735406 -71.841719 -4.305719 C -71.087813 -2.876031 -69.771406 -1.688531 -68.251875 -1.598688 C -66.73625 -1.504938 -65.287031 -2.528375 -64.376875 -3.860406 C -63.462813 -5.188531 -63.122969 -6.278375 -62.982344 -6.270563 C -62.845625 -6.26275 -62.634688 -5.141656 -61.888594 -3.711969 C -61.138594 -2.282281 -59.822188 -1.090875 -58.302656 -1.001031 C -56.783125 -0.907281 -55.337813 -1.934625 -54.42375 -3.26275 C -53.513594 -4.594781 -53.17375 -5.684625 -53.033125 -5.672906 C -52.8925 -5.665094 -52.685469 -4.544 -51.939375 -3.114313 C -51.185469 -1.684625 -49.872969 -0.493219 -48.353438 -0.403375 C -46.833906 -0.313531 -45.384688 -1.336969 -44.474531 -2.665094 L -44.087813 -2.641656 " transform="matrix(1,0,0,-1,172.455,44.581)"/>
|
||||
<path style="fill:none;stroke-width:1.99255;stroke-linecap:round;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -121.583906 -7.290094 C -120.837813 -5.860406 -119.521406 -4.669 -118.005781 -4.579156 C -116.48625 -4.489313 -115.037031 -5.51275 -114.126875 -6.840875 C -113.216719 -8.172906 -112.872969 -9.26275 -112.73625 -9.254938 C -112.595625 -9.247125 -112.388594 -8.122125 -111.6425 -6.692438 C -110.896406 -5.26275 -109.58 -4.07525 -108.060469 -3.9815 C -106.540938 -3.891656 -105.095625 -4.915094 -104.181563 -6.247125 C -103.271406 -7.57525 -102.927656 -8.665094 -102.790938 -8.657281 C -102.650313 -8.649469 -102.443281 -7.524469 -101.697188 -6.098688 C -100.951094 -4.669 -99.634688 -3.477594 -98.115156 -3.38775 C -96.595625 -3.297906 -95.150313 -4.321344 -94.23625 -5.649469 C -93.326094 -6.9815 -92.98625 -8.071344 -92.845625 -8.059625 C -92.708906 -8.051813 -92.497969 -6.930719 -91.751875 -5.501031 C -91.005781 -4.071344 -89.689375 -2.883844 -88.169844 -2.790094 C -86.654219 -2.70025 -85.205 -3.723688 -84.294844 -5.051813 C -83.380781 -6.383844 -83.040938 -7.473688 -82.900313 -7.465875 C -82.763594 -7.458063 -82.552656 -6.333063 -81.806563 -4.903375 C -81.060469 -3.473688 -79.744063 -2.286188 -78.228438 -2.196344 C -76.708906 -2.102594 -75.259688 -3.126031 -74.349531 -4.458063 C -73.439375 -5.786188 -73.095625 -6.876031 -72.958906 -6.868219 C -72.818281 -6.860406 -72.61125 -5.739313 -71.865156 -4.309625 C -71.115156 -2.879938 -69.802656 -1.688531 -68.283125 -1.598688 C -66.763594 -1.508844 -65.314375 -2.532281 -64.404219 -3.860406 C -63.494063 -5.192438 -63.150313 -6.282281 -63.013594 -6.274469 C -62.872969 -6.266656 -62.665938 -5.141656 -61.919844 -3.711969 C -61.17375 -2.282281 -59.857344 -1.094781 -58.337813 -1.001031 C -56.818281 -0.911188 -55.372969 -1.934625 -54.458906 -3.266656 C -53.54875 -4.594781 -53.208906 -5.684625 -53.068281 -5.676813 C -52.931563 -5.669 -52.720625 -4.547906 -51.974531 -3.118219 C -51.228438 -1.688531 -49.912031 -0.497125 -48.3925 -0.407281 C -46.876875 -0.317438 -45.427656 -1.340875 -44.5175 -2.669 L -44.087813 -2.641656 " transform="matrix(1,0,0,-1,172.455,44.581)"/>
|
||||
<path style="fill:none;stroke-width:1.99255;stroke-linecap:round;stroke-linejoin:miter;stroke:rgb(8.657837%,31.404114%,58.695984%);stroke-opacity:1;stroke-miterlimit:10;" d="M 44.087969 -0.00103125 L 58.345781 -0.00103125 " transform="matrix(1,0,0,-1,172.455,44.581)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(8.657837%,31.404114%,58.695984%);fill-opacity:1;stroke-width:1.99255;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(8.657837%,31.404114%,58.695984%);stroke-opacity:1;stroke-miterlimit:10;" d="M 1.752218 -0.00103125 C -0.439189 0.436469 -2.630595 1.315375 -5.259501 2.850531 C -2.630595 0.877875 -2.630595 -0.876031 -5.259501 -2.848688 C -2.630595 -1.313531 -0.439189 -0.438531 1.752218 -0.00103125 Z M 1.752218 -0.00103125 " transform="matrix(1,0,0,-1,230.80247,44.581)"/>
|
||||
<path style="fill:none;stroke-width:1.99255;stroke-linecap:round;stroke-linejoin:miter;stroke:rgb(8.657837%,31.404114%,58.695984%);stroke-opacity:1;stroke-miterlimit:10;" d="M 44.087969 -0.00103125 L 46.923906 -0.00103125 L 46.923906 -156.329156 L 58.345781 -156.329156 " transform="matrix(1,0,0,-1,172.455,44.581)"/>
|
||||
@@ -1866,17 +1874,17 @@
|
||||
<use xlink:href="#glyph2-17" x="92.306127" y="199.722"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph3-1" x="318.114" y="48.309"/>
|
||||
<use xlink:href="#glyph3-1" x="318.114" y="48.308"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph3-2" x="324.633278" y="48.309"/>
|
||||
<use xlink:href="#glyph3-2" x="324.633278" y="48.308"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph3-3" x="332.509648" y="48.309"/>
|
||||
<use xlink:href="#glyph3-4" x="340.3882" y="48.309"/>
|
||||
<use xlink:href="#glyph3-3" x="332.509648" y="48.308"/>
|
||||
<use xlink:href="#glyph3-4" x="340.3882" y="48.308"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph4-1" x="252.181" y="66.64"/>
|
||||
<use xlink:href="#glyph4-0" x="252.182" y="66.64"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-11" x="263.015" y="66.64"/>
|
||||
@@ -1986,7 +1994,7 @@
|
||||
<use xlink:href="#glyph2-14" x="415.656655" y="103.502"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph4-1" x="252.181" y="123.427"/>
|
||||
<use xlink:href="#glyph4-0" x="252.182" y="123.427"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-11" x="263.015" y="123.427"/>
|
||||
@@ -2118,7 +2126,7 @@
|
||||
<use xlink:href="#glyph2-4" x="416.706713" y="160.289"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph4-1" x="252.181" y="180.214"/>
|
||||
<use xlink:href="#glyph4-0" x="252.182" y="180.214"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-6" x="263.015" y="180.214"/>
|
||||
@@ -2173,7 +2181,7 @@
|
||||
<use xlink:href="#glyph3-10" x="385.85573" y="204.697"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph4-1" x="252.181" y="223.028"/>
|
||||
<use xlink:href="#glyph4-0" x="252.182" y="223.028"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-38" x="263.015" y="223.028"/>
|
||||
@@ -2214,7 +2222,7 @@
|
||||
<use xlink:href="#glyph2-22" x="386.776395" y="223.028"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph4-1" x="252.181" y="240.961"/>
|
||||
<use xlink:href="#glyph4-0" x="252.182" y="240.961"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-7" x="263.015" y="240.961"/>
|
||||
@@ -2241,13 +2249,13 @@
|
||||
<use xlink:href="#glyph2-34" x="339.8655" y="240.961"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-20" x="346.227616" y="240.961"/>
|
||||
<use xlink:href="#glyph2-20" x="346.227617" y="240.961"/>
|
||||
<use xlink:href="#glyph2-35" x="350.654996" y="240.961"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-20" x="359.240765" y="240.961"/>
|
||||
<use xlink:href="#glyph2-2" x="363.668144" y="240.961"/>
|
||||
<use xlink:href="#glyph2-5" x="368.095523" y="240.961"/>
|
||||
<use xlink:href="#glyph2-5" x="368.095524" y="240.961"/>
|
||||
<use xlink:href="#glyph2-18" x="371.997874" y="240.961"/>
|
||||
<use xlink:href="#glyph2-3" x="375.872329" y="240.961"/>
|
||||
<use xlink:href="#glyph2-33" x="378.639939" y="240.961"/>
|
||||
@@ -2256,6 +2264,6 @@
|
||||
<use xlink:href="#glyph2-18" x="393.583839" y="240.961"/>
|
||||
<use xlink:href="#glyph2-2" x="397.458294" y="240.961"/>
|
||||
</g>
|
||||
<use xlink:href="#surface22" transform="matrix(1,0,0,1,8,9)"/>
|
||||
<use xlink:href="#surface167" transform="matrix(1,0,0,1,8,9)"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 6.6 MiB After Width: | Height: | Size: 6.6 MiB |
|
Before Width: | Height: | Size: 620 KiB After Width: | Height: | Size: 628 KiB |
@@ -124,9 +124,9 @@
|
||||
<path d="M 0.390625 0.160156 L 34.402344 0.160156 L 34.402344 18.730469 L 0.390625 18.730469 Z M 0.390625 0.160156 "/>
|
||||
</clipPath>
|
||||
<clipPath id="clip1">
|
||||
<rect width="35" height="19"/>
|
||||
<rect x="0" y="0" width="35" height="19"/>
|
||||
</clipPath>
|
||||
<g id="surface4" clip-path="url(#clip1)">
|
||||
<g id="surface5" clip-path="url(#clip1)">
|
||||
<g clip-path="url(#clip2)" clip-rule="nonzero">
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(90.194702%,90.194702%,90.194702%);fill-opacity:1;" d="M 18.71875 0.40625 C 16.828125 0.40625 15.152344 1.308594 14.09375 2.707031 C 13.199219 2.140625 12.136719 1.808594 10.996094 1.808594 C 8.117188 1.808594 5.726562 3.910156 5.28125 6.664062 C 2.632812 7.199219 0.640625 9.535156 0.640625 12.339844 C 0.640625 15.539062 3.234375 18.132812 6.433594 18.132812 C 7.738281 18.132812 8.941406 17.699219 9.910156 16.972656 C 10.472656 17.15625 11.074219 17.253906 11.695312 17.253906 C 12.300781 17.253906 12.882812 17.160156 13.429688 16.988281 C 14.457031 17.917969 15.820312 18.484375 17.3125 18.484375 C 18.828125 18.484375 20.210938 17.898438 21.242188 16.945312 C 22.171875 17.582031 23.296875 17.953125 24.507812 17.953125 C 25.46875 17.953125 26.378906 17.722656 27.175781 17.304688 C 27.558594 17.386719 27.960938 17.429688 28.367188 17.429688 C 31.566406 17.429688 34.160156 14.835938 34.160156 11.636719 C 34.160156 8.4375 31.566406 5.847656 28.367188 5.847656 C 28.335938 5.847656 28.304688 5.847656 28.273438 5.847656 C 27.242188 4.597656 25.699219 3.789062 23.964844 3.742188 C 23.039062 1.769531 21.039062 0.40625 18.71875 0.40625 Z M 18.71875 0.40625 "/>
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 18.710938 0.160156 C 16.820312 0.160156 15.136719 1.035156 14.03125 2.398438 C 13.136719 1.875 12.101562 1.566406 10.988281 1.566406 C 8.046875 1.566406 5.597656 3.675781 5.066406 6.464844 C 2.386719 7.082031 0.390625 9.476562 0.390625 12.339844 C 0.390625 15.671875 3.09375 18.378906 6.425781 18.378906 C 7.738281 18.378906 8.957031 17.953125 9.945312 17.242188 C 10.5 17.410156 11.085938 17.5 11.691406 17.5 C 12.273438 17.5 12.835938 17.414062 13.371094 17.261719 C 14.425781 18.171875 15.804688 18.730469 17.308594 18.730469 C 18.820312 18.730469 20.199219 18.167969 21.257812 17.25 C 22.195312 17.847656 23.308594 18.203125 24.503906 18.203125 C 25.472656 18.203125 26.390625 17.96875 27.207031 17.558594 C 27.582031 17.632812 27.96875 17.675781 28.363281 17.675781 C 31.695312 17.675781 34.402344 14.96875 34.402344 11.636719 C 34.402344 8.3125 31.703125 5.609375 28.375 5.601562 C 27.332031 4.386719 25.8125 3.597656 24.109375 3.507812 C 23.117188 1.527344 21.074219 0.160156 18.710938 0.160156 Z M 18.710938 0.652344 C 20.9375 0.652344 22.851562 1.960938 23.738281 3.847656 C 23.773438 3.929688 23.863281 3.988281 23.953125 3.988281 C 25.617188 4.035156 27.09375 4.808594 28.082031 6.003906 C 28.128906 6.0625 28.199219 6.097656 28.273438 6.09375 C 28.3125 6.09375 28.339844 6.09375 28.363281 6.09375 C 31.429688 6.09375 33.910156 8.574219 33.910156 11.636719 C 33.910156 14.703125 31.429688 17.183594 28.363281 17.183594 C 27.972656 17.183594 27.585938 17.144531 27.21875 17.066406 C 27.164062 17.054688 27.105469 17.0625 27.054688 17.089844 C 26.292969 17.484375 25.425781 17.710938 24.503906 17.710938 C 23.339844 17.710938 22.265625 17.351562 21.375 16.742188 C 21.28125 16.679688 21.148438 16.691406 21.070312 16.765625 C 20.078125 17.679688 18.761719 18.238281 17.308594 18.238281 C 15.878906 18.238281 14.574219 17.695312 13.59375 16.808594 C 13.527344 16.75 13.433594 16.730469 13.355469 16.753906 C 12.828125 16.921875 12.269531 17.007812 11.691406 17.007812 C 11.09375 17.007812 10.519531 16.914062 9.980469 16.738281 C 9.90625 16.714844 9.816406 16.730469 9.753906 16.777344 C 8.828125 17.472656 7.675781 17.886719 6.425781 17.886719 C 3.359375 17.886719 0.882812 15.40625 0.882812 12.339844 C 0.882812 9.652344 2.789062 7.417969 5.324219 6.90625 C 5.417969 6.886719 5.5 6.800781 5.515625 6.707031 C 5.945312 4.070312 8.230469 2.054688 10.988281 2.054688 C 12.082031 2.054688 13.097656 2.371094 13.957031 2.917969 C 14.058594 2.980469 14.210938 2.953125 14.285156 2.855469 C 15.296875 1.515625 16.902344 0.652344 18.710938 0.652344 Z M 18.710938 0.652344 "/>
|
||||
@@ -295,7 +295,7 @@
|
||||
<g id="surface1">
|
||||
<path style="fill:none;stroke-width:1.99255;stroke-linecap:round;stroke-linejoin:miter;stroke:rgb(8.657837%,31.404114%,58.695984%);stroke-opacity:1;stroke-miterlimit:10;" d="M -91.706094 -0.0013125 L -63.358438 -0.0013125 " transform="matrix(1,0,0,-1,161.46,32.444)"/>
|
||||
<path style="fill:none;stroke-width:1.99255;stroke-linecap:round;stroke-linejoin:miter;stroke:rgb(8.657837%,31.404114%,58.695984%);stroke-opacity:1;stroke-miterlimit:10;" d="M 73.825156 -0.0013125 L 120.051719 -0.0013125 " transform="matrix(1,0,0,-1,161.46,32.444)"/>
|
||||
<use xlink:href="#surface4" transform="matrix(1,0,0,1,241,23)"/>
|
||||
<use xlink:href="#surface5" transform="matrix(1,0,0,1,241,23)"/>
|
||||
<g clip-path="url(#clip3)" clip-rule="nonzero">
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(50%,50%,50%);fill-opacity:0.15;" d="M 222.410156 3.570312 L 105.65625 3.570312 C 103.453125 3.570312 101.671875 5.355469 101.671875 7.554688 L 101.671875 62.480469 C 101.671875 64.679688 103.453125 66.464844 105.65625 66.464844 L 222.410156 66.464844 C 224.613281 66.464844 226.398438 64.679688 226.398438 62.480469 L 226.398438 7.554688 C 226.398438 5.355469 224.613281 3.570312 222.410156 3.570312 Z M 222.410156 3.570312 "/>
|
||||
</g>
|
||||
@@ -334,7 +334,7 @@
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph1-1" x="144.4" y="41.946"/>
|
||||
<use xlink:href="#glyph1-2" x="150.127278" y="41.946"/>
|
||||
<use xlink:href="#glyph1-2" x="150.127277" y="41.946"/>
|
||||
<use xlink:href="#glyph1-3" x="155.854555" y="41.946"/>
|
||||
<use xlink:href="#glyph1-2" x="161.581833" y="41.946"/>
|
||||
<use xlink:href="#glyph1-4" x="167.30911" y="41.946"/>
|
||||
@@ -401,10 +401,10 @@
|
||||
<path style="fill:none;stroke-width:1.99255;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(74.472046%,79.733276%,82.038879%);stroke-opacity:1;stroke-miterlimit:10;" d="M 68.844687 10.651031 L 40.868125 10.651031 C 38.665 10.651031 36.879844 8.865875 36.879844 6.666656 L 36.879844 -6.665375 C 36.879844 -8.864594 38.665 -10.64975 40.868125 -10.64975 L 68.844687 -10.64975 C 71.043906 -10.64975 72.829062 -8.864594 72.829062 -6.665375 L 72.829062 6.666656 C 72.829062 8.865875 71.043906 10.651031 68.844687 10.651031 Z M 68.844687 10.651031 " transform="matrix(1,0,0,-1,161.46,32.444)"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-1" x="204.011" y="34.769"/>
|
||||
<use xlink:href="#glyph2-2" x="210.163146" y="34.769"/>
|
||||
<use xlink:href="#glyph2-3" x="216.315292" y="34.769"/>
|
||||
<use xlink:href="#glyph2-4" x="222.467438" y="34.769"/>
|
||||
<use xlink:href="#glyph2-1" x="204.01" y="34.769"/>
|
||||
<use xlink:href="#glyph2-2" x="210.162146" y="34.769"/>
|
||||
<use xlink:href="#glyph2-3" x="216.314292" y="34.769"/>
|
||||
<use xlink:href="#glyph2-4" x="222.466438" y="34.769"/>
|
||||
</g>
|
||||
<g clip-path="url(#clip13)" clip-rule="nonzero">
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(50%,50%,50%);fill-opacity:0.15;" d="M 317.042969 25.695312 L 289.066406 25.695312 C 286.867188 25.695312 285.082031 27.480469 285.082031 29.679688 L 285.082031 40.355469 C 285.082031 42.554688 286.867188 44.339844 289.066406 44.339844 L 317.042969 44.339844 C 319.246094 44.339844 321.03125 42.554688 321.03125 40.355469 L 321.03125 29.679688 C 321.03125 27.480469 319.246094 25.695312 317.042969 25.695312 Z M 317.042969 25.695312 "/>
|
||||
|
||||
|
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 689 KiB After Width: | Height: | Size: 696 KiB |
@@ -97,9 +97,9 @@
|
||||
<path d="M 0.90625 0.984375 L 43.421875 0.984375 L 43.421875 24.199219 L 0.90625 24.199219 Z M 0.90625 0.984375 "/>
|
||||
</clipPath>
|
||||
<clipPath id="clip1">
|
||||
<rect width="44" height="25"/>
|
||||
<rect x="0" y="0" width="44" height="25"/>
|
||||
</clipPath>
|
||||
<g id="surface4" clip-path="url(#clip1)">
|
||||
<g id="surface5" clip-path="url(#clip1)">
|
||||
<g clip-path="url(#clip2)" clip-rule="nonzero">
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(90.194702%,90.194702%,90.194702%);fill-opacity:1;" d="M 23.816406 1.292969 C 21.457031 1.292969 19.359375 2.421875 18.039062 4.171875 C 16.917969 3.460938 15.589844 3.046875 14.164062 3.046875 C 10.5625 3.046875 7.578125 5.675781 7.015625 9.117188 C 3.710938 9.785156 1.21875 12.707031 1.21875 16.210938 C 1.21875 20.210938 4.460938 23.449219 8.457031 23.449219 C 10.089844 23.449219 11.59375 22.910156 12.804688 22 C 13.507812 22.230469 14.257812 22.355469 15.039062 22.355469 C 15.792969 22.355469 16.523438 22.238281 17.207031 22.023438 C 18.492188 23.183594 20.191406 23.890625 22.058594 23.890625 C 23.953125 23.890625 25.679688 23.164062 26.972656 21.96875 C 28.132812 22.765625 29.539062 23.230469 31.054688 23.230469 C 32.257812 23.230469 33.390625 22.9375 34.386719 22.417969 C 34.871094 22.519531 35.367188 22.574219 35.878906 22.574219 C 39.878906 22.574219 43.121094 19.332031 43.121094 15.332031 C 43.121094 11.335938 39.878906 8.09375 35.878906 8.09375 C 35.839844 8.09375 35.800781 8.097656 35.761719 8.097656 C 34.472656 6.535156 32.542969 5.523438 30.375 5.464844 C 29.21875 3 26.71875 1.292969 23.816406 1.292969 Z M 23.816406 1.292969 "/>
|
||||
</g>
|
||||
@@ -229,7 +229,7 @@
|
||||
<g id="surface1">
|
||||
<path style="fill:none;stroke-width:1.99255;stroke-linecap:round;stroke-linejoin:miter;stroke:rgb(8.657837%,31.404114%,58.695984%);stroke-opacity:1;stroke-miterlimit:10;" d="M -91.706094 0.00115625 L -63.358438 0.00115625 " transform="matrix(1,0,0,-1,161.46,18.591)"/>
|
||||
<path style="fill:none;stroke-width:1.99255;stroke-linecap:round;stroke-linejoin:miter;stroke:rgb(8.657837%,31.404114%,58.695984%);stroke-opacity:1;stroke-miterlimit:10;" d="M 63.360312 0.00115625 L 120.051719 0.00115625 " transform="matrix(1,0,0,-1,161.46,18.591)"/>
|
||||
<use xlink:href="#surface4" transform="matrix(1,0,0,1,231,6)"/>
|
||||
<use xlink:href="#surface5" transform="matrix(1,0,0,1,231,6)"/>
|
||||
<g clip-path="url(#clip4)" clip-rule="nonzero">
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(50%,50%,50%);fill-opacity:0.15;" d="M 222.410156 3.570312 L 105.65625 3.570312 C 103.453125 3.570312 101.671875 5.351562 101.671875 7.554688 L 101.671875 34.773438 C 101.671875 36.976562 103.453125 38.761719 105.65625 38.761719 L 222.410156 38.761719 C 224.613281 38.761719 226.398438 36.976562 226.398438 34.773438 L 226.398438 7.554688 C 226.398438 5.351562 224.613281 3.570312 222.410156 3.570312 Z M 222.410156 3.570312 "/>
|
||||
</g>
|
||||
|
||||
|
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 381 KiB After Width: | Height: | Size: 390 KiB |
|
Before Width: | Height: | Size: 478 KiB After Width: | Height: | Size: 495 KiB |
|
Before Width: | Height: | Size: 600 KiB After Width: | Height: | Size: 607 KiB |
@@ -26,7 +26,6 @@ device instead of the phone.
|
||||
With the built-in Java Card runtime of jCardSim_ the app includes the following
|
||||
Applets:
|
||||
|
||||
- `Hello World Applet`_ (application identifier ``F000000001``)
|
||||
- `OpenPGP Applet`_ (application identifier ``D2760001240102000000000000010000``)
|
||||
- `OATH Applet`_ (application identifier ``A000000527210101``)
|
||||
- `ISO Applet`_ (application identifier ``F276A288BCFBA69D34F31001``)
|
||||
|
||||
@@ -56,6 +56,12 @@ In the next dialog choose :file:`Tizen/TCardEmulator`. To be able to build and
|
||||
install the Tizen service on the smartwatch, you need to `install the
|
||||
appropriate SDK extensions and register as app developer`_.
|
||||
|
||||
More usefull ressources:
|
||||
|
||||
- `Tizen Developers: Near Field Communication (NFC)`_
|
||||
- `Programming Guide: Accessory`_
|
||||
- `Guidelines on Connecting a Gear S2 Device Using Wi-Fi`_
|
||||
|
||||
|
||||
.. include:: questions.txt
|
||||
|
||||
@@ -68,3 +74,6 @@ Notes and References
|
||||
|
||||
.. _Tizen SDK: https://developer.tizen.org/development/tools/download
|
||||
.. _`install the appropriate SDK extensions and register as app developer`: https://developer.tizen.org/community/tip-tech/tizen-sdk-install-guide-certificate-extensions-included
|
||||
.. _`Tizen Developers: Near Field Communication (NFC)`: https://developer.tizen.org/development/guides/native-application/connectivity-and-wireless/nfc
|
||||
.. _`Programming Guide: Accessory`: http://developer.samsung.com/html/techdoc/ProgrammingGuide_Accessory.pdf
|
||||
.. _Guidelines on Connecting a Gear S2 Device Using Wi-Fi: http://developer.samsung.com/html/techdoc/Guidelines_on_Connecting_GearS2_device_using_WiFi_151222.pdf
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
.. meta::
|
||||
:http-equiv=refresh: 0;URL='https://github.com/frankmorgner/OpenSC'
|
||||
|
||||
######################
|
||||
nPA Smart Card Library
|
||||
######################
|
||||
|
||||
Access the German electronic identity card (neuer Personalausweis/nPA).
|
||||
|
||||
The functionality of nPA Smart Card Library has been integrated into
|
||||
OpenSC. Developement and Support will continue at our new home
|
||||
https://github.com/frankmorgner/OpenSC.
|
||||
@@ -169,7 +169,6 @@ to completely emulate an ISO/IEC 14443 smart card.
|
||||
PC/SC Relay has the following dependencies:
|
||||
|
||||
- PC/SC middleware
|
||||
- libnfc_
|
||||
|
||||
|
||||
.. include:: relay-note.txt
|
||||
@@ -190,7 +189,7 @@ installation of libnfc::
|
||||
|
||||
PREFIX=/tmp/install
|
||||
LIBNFC=libnfc
|
||||
git clone https://code.google.com/p/libnfc $LIBNFC
|
||||
git clone https://github.com/nfc-tools/libnfc $LIBNFC
|
||||
cd $LIBNFC
|
||||
autoreconf -i
|
||||
# See `./configure --help` for enabling support of additional hardware
|
||||
@@ -291,6 +290,6 @@ Notes and References
|
||||
.. target-notes::
|
||||
|
||||
.. _`Hardware supported by libnfc`: http://nfc-tools.org/index.php?title=Devices_compatibility_matrix
|
||||
.. _libnfc: http://www.libnfc.org/
|
||||
.. _libnfc: https://github.com/nfc-tools/libnfc
|
||||
.. _OpenPICC: http://www.openpcd.org/OpenPICC
|
||||
.. _PCSC-lite: https://pcsclite.apdu.fr/
|
||||
|
||||
@@ -102,10 +102,10 @@ responses via NFC to a contact-less smart card that signs the mail.
|
||||
Depending on your usage of the |vpicc| you may need to install the following:
|
||||
|
||||
- Python_
|
||||
- pyscard_ (relaying a local smart card with :option:`--type=relay`)
|
||||
- pyscard_ (relaying a local smart card with `--type=relay`)
|
||||
- PyCrypto_, PBKDF2_, PIL_, readline_ or PyReadline_ (emulation of electronic
|
||||
passport with :option:`--type=ePass`)
|
||||
- OpenPACE_ (emulation of German identity card with :option:`--type=nPA`)
|
||||
passport with `--type=ePass`)
|
||||
- OpenPACE_ (emulation of German identity card with `--type=nPA`)
|
||||
- libqrencode_ (to print a QR code on the command line for `vpcd-config`; an
|
||||
URL will be printed if libqrencode is not available)
|
||||
|
||||
@@ -129,9 +129,9 @@ Mac OS X 10.10 (and later) ships with a proprietary implementation of the PC/SC
|
||||
layer instead of with PCSC-Lite. As far as we know, this means that smart card
|
||||
readers must be USB devices instead of directly allowing a more generic type of
|
||||
reader. To make |vpcd| work we simply configure it to pretend being a USB smart
|
||||
card reader with an :file:`Ìnfo.plist`::
|
||||
card reader with an :file:`Info.plist`::
|
||||
|
||||
./configure --prefix=/ --enable-infoplist
|
||||
./configure --enable-infoplist
|
||||
make
|
||||
make install
|
||||
|
||||
@@ -209,7 +209,7 @@ connections. The port to open should be specified in ``CHANNELID`` and
|
||||
|
||||
If the first part of the ``DEVICENAME`` is different from ``/dev/null``, |vpcd|
|
||||
will use this string as a hostname for connecting to a waiting |vpicc|. |vpicc|
|
||||
needs to be started with :option:`--reversed` in this case.
|
||||
needs to be started with `--reversed` in this case.
|
||||
|
||||
================================================================================
|
||||
Configuring |vpcd| on Mac OS X
|
||||
@@ -229,7 +229,7 @@ as USB device:
|
||||
|
||||
system_profiler SPUSBDataType
|
||||
|
||||
3. Change :file:`/usr/libexec/SmartCardServices/drivers/ifd-vpcd.bundle/Info.plist`
|
||||
3. Change :file:`/usr/local/libexec/SmartCardServices/drivers/ifd-vpcd.bundle/Info.plist`
|
||||
to match your product and vendor ID:
|
||||
|
||||
.. literalinclude:: Info.plist
|
||||
@@ -240,11 +240,20 @@ Note that ``ifdFriendlyName`` can be used in the same way as ``DEVICENAME``
|
||||
|
||||
4. Restart the PC/SC service::
|
||||
|
||||
sudo killall -SIGKILL -m .*com.apple.ifdreader
|
||||
sudo killall -SIGKILL -m '.*com.apple.ifdreader'
|
||||
|
||||
Now, every time you plug in your USB device |vpcd| will be started. It will be
|
||||
stopped when you unplug the device.
|
||||
|
||||
To verify the installation, execute::
|
||||
|
||||
system_profiler SPSmartCardsDataType
|
||||
|
||||
In case of a problem, inspect the logs::
|
||||
|
||||
log show --predicate '(subsystem == "com.apple.CryptoTokenKit")' --info --debug
|
||||
|
||||
|
||||
================================================================================
|
||||
Configuring |vpcd| on Windows
|
||||
================================================================================
|
||||
@@ -262,7 +271,7 @@ to open should be specified in ``TCP_PORT``:
|
||||
:emphasize-lines: 8
|
||||
|
||||
Currently it is not possible to configure the Windows driver to connect to an
|
||||
|vpicc| running with :option:`--reversed`.
|
||||
|vpicc| running with `--reversed`.
|
||||
|
||||
================================================================================
|
||||
Running |vpicc|
|
||||
@@ -273,7 +282,7 @@ dependencies listed above need to be installed seperately. You can start the
|
||||
|vpicc| via :command:`python.exe vicc.py`. On all other systems an executable
|
||||
script :command:`vicc` is installed using the autotools.
|
||||
|
||||
The |vpicc| option :option:`--help` gives an overview about the command line
|
||||
The |vpicc| option `--help` gives an overview about the command line
|
||||
switches:
|
||||
|
||||
.. program-output:: vicc --help
|
||||
@@ -281,7 +290,7 @@ switches:
|
||||
.. versionadded:: 0.7
|
||||
We implemented :command:`vpcd-config` which tries to guess the local IP
|
||||
address and outputs |vpcd|'s configuration. |vpicc|'s options should be
|
||||
chosen accordingly (:option:`--hostname` and :option:`--port`)
|
||||
chosen accordingly (`--hostname` and `--port`)
|
||||
:command:`vpcd-config` also prints a QR code for configuration of the
|
||||
:ref:`remote-reader`.
|
||||
|
||||
|
||||
@@ -33,15 +33,6 @@ The communication is initiated by |vpcd|. First the length of the data (in
|
||||
network byte order, i.e. big endian) is sent followed by the data itself.
|
||||
|
||||
|
||||
===================================
|
||||
Documentation to Virtual Smart Card
|
||||
===================================
|
||||
|
||||
.. toctree::
|
||||
|
||||
api/virtualsmartcard
|
||||
|
||||
|
||||
========
|
||||
Examples
|
||||
========
|
||||
@@ -56,8 +47,7 @@ includes all standard commands for file management and secure messaging.
|
||||
Let's assume we want to create a cryptoflex card, that acts mostly according to
|
||||
ISO 7816. In this example we only want to add little things that differ from
|
||||
ISO 7816. But as for most complex software you need to know where you need to
|
||||
hook into. Here we only want to give an overview to the design, the complete
|
||||
details can be found in section `Documentation to Virtual Smart Card`_.
|
||||
hook into. Here we only want to give an overview to the design.
|
||||
|
||||
Back to the cryptoflex example.
|
||||
:class:`~virtualsmartcard.VirtualSmartcard.VirtualICC` provides the connection
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
RelayMiddleman Module
|
||||
=====================
|
||||
|
||||
.. inheritance-diagram:: virtualsmartcard.cards.RelayMiddleman
|
||||
.. automodule:: virtualsmartcard.cards.RelayMiddleman
|
||||
:members:
|
||||
:undoc-members:
|
||||
:inherited-members:
|
||||
:show-inheritance:
|
||||
:private-members:
|
||||
@@ -5,6 +5,7 @@ cards Package
|
||||
|
||||
virtualsmartcard.cards.HandlerTest
|
||||
virtualsmartcard.cards.Relay
|
||||
virtualsmartcard.cards.RelayMiddleman
|
||||
virtualsmartcard.cards.cryptoflex
|
||||
virtualsmartcard.cards.ePass
|
||||
virtualsmartcard.cards.nPA
|
||||
|
||||
BIN
docs/_static/ajax-loader.gif
vendored
|
Before Width: | Height: | Size: 673 B |
406
docs/_static/basic.css
vendored
@@ -4,7 +4,7 @@
|
||||
*
|
||||
* Sphinx stylesheet -- basic theme.
|
||||
*
|
||||
* :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS.
|
||||
* :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
|
||||
* :license: BSD, see LICENSE for details.
|
||||
*
|
||||
*/
|
||||
@@ -15,6 +15,12 @@ div.clearer {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
div.section::after {
|
||||
display: block;
|
||||
content: '';
|
||||
clear: left;
|
||||
}
|
||||
|
||||
/* -- relbar ---------------------------------------------------------------- */
|
||||
|
||||
div.related {
|
||||
@@ -52,6 +58,8 @@ div.sphinxsidebar {
|
||||
width: 230px;
|
||||
margin-left: -100%;
|
||||
font-size: 90%;
|
||||
word-wrap: break-word;
|
||||
overflow-wrap : break-word;
|
||||
}
|
||||
|
||||
div.sphinxsidebar ul {
|
||||
@@ -79,14 +87,26 @@ div.sphinxsidebar input {
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
div.sphinxsidebar #searchbox form.search {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
div.sphinxsidebar #searchbox input[type="text"] {
|
||||
width: 170px;
|
||||
float: left;
|
||||
width: 80%;
|
||||
padding: 0.25em;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
div.sphinxsidebar #searchbox input[type="submit"] {
|
||||
width: 30px;
|
||||
float: left;
|
||||
width: 20%;
|
||||
border-left: none;
|
||||
padding: 0.25em;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
|
||||
img {
|
||||
border: 0;
|
||||
max-width: 100%;
|
||||
@@ -124,6 +144,8 @@ ul.keywordmatches li.goodmatch a {
|
||||
|
||||
table.contentstable {
|
||||
width: 90%;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
table.contentstable p.biglink {
|
||||
@@ -151,9 +173,14 @@ table.indextable td {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
table.indextable dl, table.indextable dd {
|
||||
table.indextable ul {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
table.indextable > tbody > tr > td > ul {
|
||||
padding-left: 0em;
|
||||
}
|
||||
|
||||
table.indextable tr.pcap {
|
||||
@@ -185,19 +212,51 @@ div.genindex-jumpbox {
|
||||
padding: 0.4em;
|
||||
}
|
||||
|
||||
/* -- domain module index --------------------------------------------------- */
|
||||
|
||||
table.modindextable td {
|
||||
padding: 2px;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
/* -- general body styles --------------------------------------------------- */
|
||||
|
||||
div.body {
|
||||
min-width: 450px;
|
||||
max-width: 800px;
|
||||
}
|
||||
|
||||
div.body p, div.body dd, div.body li, div.body blockquote {
|
||||
-moz-hyphens: auto;
|
||||
-ms-hyphens: auto;
|
||||
-webkit-hyphens: auto;
|
||||
hyphens: auto;
|
||||
}
|
||||
|
||||
a.headerlink {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
a.brackets:before,
|
||||
span.brackets > a:before{
|
||||
content: "[";
|
||||
}
|
||||
|
||||
a.brackets:after,
|
||||
span.brackets > a:after {
|
||||
content: "]";
|
||||
}
|
||||
|
||||
h1:hover > a.headerlink,
|
||||
h2:hover > a.headerlink,
|
||||
h3:hover > a.headerlink,
|
||||
h4:hover > a.headerlink,
|
||||
h5:hover > a.headerlink,
|
||||
h6:hover > a.headerlink,
|
||||
dt:hover > a.headerlink {
|
||||
dt:hover > a.headerlink,
|
||||
caption:hover > a.headerlink,
|
||||
p.caption:hover > a.headerlink,
|
||||
div.code-block-caption:hover > a.headerlink {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
@@ -209,10 +268,6 @@ div.body td {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.field-list ul {
|
||||
padding-left: 1em;
|
||||
}
|
||||
|
||||
.first {
|
||||
margin-top: 0 !important;
|
||||
}
|
||||
@@ -222,19 +277,25 @@ p.rubric {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
img.align-left, .figure.align-left, object.align-left {
|
||||
img.align-left, figure.align-left, .figure.align-left, object.align-left {
|
||||
clear: left;
|
||||
float: left;
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
img.align-right, .figure.align-right, object.align-right {
|
||||
img.align-right, figure.align-right, .figure.align-right, object.align-right {
|
||||
clear: right;
|
||||
float: right;
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
img.align-center, .figure.align-center, object.align-center {
|
||||
img.align-center, figure.align-center, .figure.align-center, object.align-center {
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
img.align-default, figure.align-default, .figure.align-default {
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
@@ -248,30 +309,41 @@ img.align-center, .figure.align-center, object.align-center {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.align-default {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.align-right {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
/* -- sidebars -------------------------------------------------------------- */
|
||||
|
||||
div.sidebar {
|
||||
div.sidebar,
|
||||
aside.sidebar {
|
||||
margin: 0 0 0.5em 1em;
|
||||
border: 1px solid #ddb;
|
||||
padding: 7px 7px 0 7px;
|
||||
padding: 7px;
|
||||
background-color: #ffe;
|
||||
width: 40%;
|
||||
float: right;
|
||||
clear: right;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
p.sidebar-title {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.admonition, div.topic, blockquote {
|
||||
clear: left;
|
||||
}
|
||||
|
||||
/* -- topics ---------------------------------------------------------------- */
|
||||
|
||||
div.topic {
|
||||
border: 1px solid #ccc;
|
||||
padding: 7px 7px 0 7px;
|
||||
padding: 7px;
|
||||
margin: 10px 0 10px 0;
|
||||
}
|
||||
|
||||
@@ -293,10 +365,6 @@ div.admonition dt {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.admonition dl {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
p.admonition-title {
|
||||
margin: 0px 10px 5px 0px;
|
||||
font-weight: bold;
|
||||
@@ -307,13 +375,51 @@ div.body p.centered {
|
||||
margin-top: 25px;
|
||||
}
|
||||
|
||||
/* -- content of sidebars/topics/admonitions -------------------------------- */
|
||||
|
||||
div.sidebar > :last-child,
|
||||
aside.sidebar > :last-child,
|
||||
div.topic > :last-child,
|
||||
div.admonition > :last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
div.sidebar::after,
|
||||
aside.sidebar::after,
|
||||
div.topic::after,
|
||||
div.admonition::after,
|
||||
blockquote::after {
|
||||
display: block;
|
||||
content: '';
|
||||
clear: both;
|
||||
}
|
||||
|
||||
/* -- tables ---------------------------------------------------------------- */
|
||||
|
||||
table.docutils {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
border: 0;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
table.align-center {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
table.align-default {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
table caption span.caption-number {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
table caption span.caption-text {
|
||||
}
|
||||
|
||||
table.docutils td, table.docutils th {
|
||||
padding: 1px 8px 1px 5px;
|
||||
border-top: 0;
|
||||
@@ -322,10 +428,6 @@ table.docutils td, table.docutils th {
|
||||
border-bottom: 1px solid #aaa;
|
||||
}
|
||||
|
||||
table.field-list td, table.field-list th {
|
||||
border: 0 !important;
|
||||
}
|
||||
|
||||
table.footnote td, table.footnote th {
|
||||
border: 0 !important;
|
||||
}
|
||||
@@ -344,6 +446,69 @@ table.citation td {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
th > :first-child,
|
||||
td > :first-child {
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
th > :last-child,
|
||||
td > :last-child {
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
/* -- figures --------------------------------------------------------------- */
|
||||
|
||||
div.figure, figure {
|
||||
margin: 0.5em;
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
div.figure p.caption, figcaption {
|
||||
padding: 0.3em;
|
||||
}
|
||||
|
||||
div.figure p.caption span.caption-number,
|
||||
figcaption span.caption-number {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
div.figure p.caption span.caption-text,
|
||||
figcaption span.caption-text {
|
||||
}
|
||||
|
||||
/* -- field list styles ----------------------------------------------------- */
|
||||
|
||||
table.field-list td, table.field-list th {
|
||||
border: 0 !important;
|
||||
}
|
||||
|
||||
.field-list ul {
|
||||
margin: 0;
|
||||
padding-left: 1em;
|
||||
}
|
||||
|
||||
.field-list p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.field-name {
|
||||
-moz-hyphens: manual;
|
||||
-ms-hyphens: manual;
|
||||
-webkit-hyphens: manual;
|
||||
hyphens: manual;
|
||||
}
|
||||
|
||||
/* -- hlist styles ---------------------------------------------------------- */
|
||||
|
||||
table.hlist {
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
table.hlist td {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
|
||||
/* -- other body styles ----------------------------------------------------- */
|
||||
|
||||
ol.arabic {
|
||||
@@ -366,11 +531,78 @@ ol.upperroman {
|
||||
list-style: upper-roman;
|
||||
}
|
||||
|
||||
:not(li) > ol > li:first-child > :first-child,
|
||||
:not(li) > ul > li:first-child > :first-child {
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
:not(li) > ol > li:last-child > :last-child,
|
||||
:not(li) > ul > li:last-child > :last-child {
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
ol.simple ol p,
|
||||
ol.simple ul p,
|
||||
ul.simple ol p,
|
||||
ul.simple ul p {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
ol.simple > li:not(:first-child) > p,
|
||||
ul.simple > li:not(:first-child) > p {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
ol.simple p,
|
||||
ul.simple p {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
dl.footnote > dt,
|
||||
dl.citation > dt {
|
||||
float: left;
|
||||
margin-right: 0.5em;
|
||||
}
|
||||
|
||||
dl.footnote > dd,
|
||||
dl.citation > dd {
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
dl.footnote > dd:after,
|
||||
dl.citation > dd:after {
|
||||
content: "";
|
||||
clear: both;
|
||||
}
|
||||
|
||||
dl.field-list {
|
||||
display: grid;
|
||||
grid-template-columns: fit-content(30%) auto;
|
||||
}
|
||||
|
||||
dl.field-list > dt {
|
||||
font-weight: bold;
|
||||
word-break: break-word;
|
||||
padding-left: 0.5em;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
dl.field-list > dt:after {
|
||||
content: ":";
|
||||
}
|
||||
|
||||
dl.field-list > dd {
|
||||
padding-left: 0.5em;
|
||||
margin-top: 0em;
|
||||
margin-left: 0em;
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
dl {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
dd p {
|
||||
dd > :first-child {
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
@@ -384,28 +616,32 @@ dd {
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
dt:target, .highlighted {
|
||||
dl > dd:last-child,
|
||||
dl > dd:last-child > :last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
dt:target, span.highlighted {
|
||||
background-color: #fbe54e;
|
||||
}
|
||||
|
||||
rect.highlighted {
|
||||
fill: #fbe54e;
|
||||
}
|
||||
|
||||
dl.glossary dt {
|
||||
font-weight: bold;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
||||
.field-list ul {
|
||||
margin: 0;
|
||||
padding-left: 1em;
|
||||
}
|
||||
|
||||
.field-list p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.optional {
|
||||
font-size: 1.3em;
|
||||
}
|
||||
|
||||
.sig-paren {
|
||||
font-size: larger;
|
||||
}
|
||||
|
||||
.versionmodified {
|
||||
font-style: italic;
|
||||
}
|
||||
@@ -444,6 +680,12 @@ dl.glossary dt {
|
||||
font-style: oblique;
|
||||
}
|
||||
|
||||
.classifier:before {
|
||||
font-style: normal;
|
||||
margin: 0.5em;
|
||||
content: ":";
|
||||
}
|
||||
|
||||
abbr, acronym {
|
||||
border-bottom: dotted 1px;
|
||||
cursor: help;
|
||||
@@ -456,37 +698,110 @@ pre {
|
||||
overflow-y: hidden; /* fixes display issues on Chrome browsers */
|
||||
}
|
||||
|
||||
pre, div[class*="highlight-"] {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
span.pre {
|
||||
-moz-hyphens: none;
|
||||
-ms-hyphens: none;
|
||||
-webkit-hyphens: none;
|
||||
hyphens: none;
|
||||
}
|
||||
|
||||
div[class*="highlight-"] {
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
td.linenos pre {
|
||||
padding: 5px 0px;
|
||||
border: 0;
|
||||
background-color: transparent;
|
||||
color: #aaa;
|
||||
}
|
||||
|
||||
table.highlighttable {
|
||||
margin-left: 0.5em;
|
||||
display: block;
|
||||
}
|
||||
|
||||
table.highlighttable tbody {
|
||||
display: block;
|
||||
}
|
||||
|
||||
table.highlighttable tr {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
table.highlighttable td {
|
||||
padding: 0 0.5em 0 0.5em;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
tt.descname {
|
||||
table.highlighttable td.linenos {
|
||||
padding-right: 0.5em;
|
||||
}
|
||||
|
||||
table.highlighttable td.code {
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.highlight .hll {
|
||||
display: block;
|
||||
}
|
||||
|
||||
div.highlight pre,
|
||||
table.highlighttable pre {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
div.code-block-caption + div {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
div.code-block-caption {
|
||||
margin-top: 1em;
|
||||
padding: 2px 5px;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
div.code-block-caption code {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
table.highlighttable td.linenos,
|
||||
span.linenos,
|
||||
div.doctest > div.highlight span.gp { /* gp: Generic.Prompt */
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
div.code-block-caption span.caption-number {
|
||||
padding: 0.1em 0.3em;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
div.code-block-caption span.caption-text {
|
||||
}
|
||||
|
||||
div.literal-block-wrapper {
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
code.descname {
|
||||
background-color: transparent;
|
||||
font-weight: bold;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
tt.descclassname {
|
||||
code.descclassname {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
tt.xref, a tt {
|
||||
code.xref, a code {
|
||||
background-color: transparent;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt {
|
||||
h1 code, h2 code, h3 code, h4 code, h5 code, h6 code {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
@@ -518,6 +833,15 @@ span.eqno {
|
||||
float: right;
|
||||
}
|
||||
|
||||
span.eqno a.headerlink {
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
div.math:hover a.headerlink {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
/* -- printout stylesheet --------------------------------------------------- */
|
||||
|
||||
@media print {
|
||||
|
||||
|
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 8.6 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
@@ -1,9 +1,8 @@
|
||||
/*!
|
||||
* Bootstrap v3.3.4 (http://getbootstrap.com)
|
||||
* Copyright 2011-2015 Twitter, Inc.
|
||||
* Bootstrap v3.3.7 (http://getbootstrap.com)
|
||||
* Copyright 2011-2016 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
.btn-default,
|
||||
.btn-primary,
|
||||
.btn-success,
|
||||
@@ -29,6 +28,27 @@
|
||||
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
|
||||
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
|
||||
}
|
||||
.btn-default.disabled,
|
||||
.btn-primary.disabled,
|
||||
.btn-success.disabled,
|
||||
.btn-info.disabled,
|
||||
.btn-warning.disabled,
|
||||
.btn-danger.disabled,
|
||||
.btn-default[disabled],
|
||||
.btn-primary[disabled],
|
||||
.btn-success[disabled],
|
||||
.btn-info[disabled],
|
||||
.btn-warning[disabled],
|
||||
.btn-danger[disabled],
|
||||
fieldset[disabled] .btn-default,
|
||||
fieldset[disabled] .btn-primary,
|
||||
fieldset[disabled] .btn-success,
|
||||
fieldset[disabled] .btn-info,
|
||||
fieldset[disabled] .btn-warning,
|
||||
fieldset[disabled] .btn-danger {
|
||||
-webkit-box-shadow: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
.btn-default .badge,
|
||||
.btn-primary .badge,
|
||||
.btn-success .badge,
|
||||
@@ -64,8 +84,23 @@
|
||||
border-color: #dbdbdb;
|
||||
}
|
||||
.btn-default.disabled,
|
||||
.btn-default:disabled,
|
||||
.btn-default[disabled] {
|
||||
.btn-default[disabled],
|
||||
fieldset[disabled] .btn-default,
|
||||
.btn-default.disabled:hover,
|
||||
.btn-default[disabled]:hover,
|
||||
fieldset[disabled] .btn-default:hover,
|
||||
.btn-default.disabled:focus,
|
||||
.btn-default[disabled]:focus,
|
||||
fieldset[disabled] .btn-default:focus,
|
||||
.btn-default.disabled.focus,
|
||||
.btn-default[disabled].focus,
|
||||
fieldset[disabled] .btn-default.focus,
|
||||
.btn-default.disabled:active,
|
||||
.btn-default[disabled]:active,
|
||||
fieldset[disabled] .btn-default:active,
|
||||
.btn-default.disabled.active,
|
||||
.btn-default[disabled].active,
|
||||
fieldset[disabled] .btn-default.active {
|
||||
background-color: #e0e0e0;
|
||||
background-image: none;
|
||||
}
|
||||
@@ -90,8 +125,23 @@
|
||||
border-color: #245580;
|
||||
}
|
||||
.btn-primary.disabled,
|
||||
.btn-primary:disabled,
|
||||
.btn-primary[disabled] {
|
||||
.btn-primary[disabled],
|
||||
fieldset[disabled] .btn-primary,
|
||||
.btn-primary.disabled:hover,
|
||||
.btn-primary[disabled]:hover,
|
||||
fieldset[disabled] .btn-primary:hover,
|
||||
.btn-primary.disabled:focus,
|
||||
.btn-primary[disabled]:focus,
|
||||
fieldset[disabled] .btn-primary:focus,
|
||||
.btn-primary.disabled.focus,
|
||||
.btn-primary[disabled].focus,
|
||||
fieldset[disabled] .btn-primary.focus,
|
||||
.btn-primary.disabled:active,
|
||||
.btn-primary[disabled]:active,
|
||||
fieldset[disabled] .btn-primary:active,
|
||||
.btn-primary.disabled.active,
|
||||
.btn-primary[disabled].active,
|
||||
fieldset[disabled] .btn-primary.active {
|
||||
background-color: #265a88;
|
||||
background-image: none;
|
||||
}
|
||||
@@ -116,8 +166,23 @@
|
||||
border-color: #3e8f3e;
|
||||
}
|
||||
.btn-success.disabled,
|
||||
.btn-success:disabled,
|
||||
.btn-success[disabled] {
|
||||
.btn-success[disabled],
|
||||
fieldset[disabled] .btn-success,
|
||||
.btn-success.disabled:hover,
|
||||
.btn-success[disabled]:hover,
|
||||
fieldset[disabled] .btn-success:hover,
|
||||
.btn-success.disabled:focus,
|
||||
.btn-success[disabled]:focus,
|
||||
fieldset[disabled] .btn-success:focus,
|
||||
.btn-success.disabled.focus,
|
||||
.btn-success[disabled].focus,
|
||||
fieldset[disabled] .btn-success.focus,
|
||||
.btn-success.disabled:active,
|
||||
.btn-success[disabled]:active,
|
||||
fieldset[disabled] .btn-success:active,
|
||||
.btn-success.disabled.active,
|
||||
.btn-success[disabled].active,
|
||||
fieldset[disabled] .btn-success.active {
|
||||
background-color: #419641;
|
||||
background-image: none;
|
||||
}
|
||||
@@ -142,8 +207,23 @@
|
||||
border-color: #28a4c9;
|
||||
}
|
||||
.btn-info.disabled,
|
||||
.btn-info:disabled,
|
||||
.btn-info[disabled] {
|
||||
.btn-info[disabled],
|
||||
fieldset[disabled] .btn-info,
|
||||
.btn-info.disabled:hover,
|
||||
.btn-info[disabled]:hover,
|
||||
fieldset[disabled] .btn-info:hover,
|
||||
.btn-info.disabled:focus,
|
||||
.btn-info[disabled]:focus,
|
||||
fieldset[disabled] .btn-info:focus,
|
||||
.btn-info.disabled.focus,
|
||||
.btn-info[disabled].focus,
|
||||
fieldset[disabled] .btn-info.focus,
|
||||
.btn-info.disabled:active,
|
||||
.btn-info[disabled]:active,
|
||||
fieldset[disabled] .btn-info:active,
|
||||
.btn-info.disabled.active,
|
||||
.btn-info[disabled].active,
|
||||
fieldset[disabled] .btn-info.active {
|
||||
background-color: #2aabd2;
|
||||
background-image: none;
|
||||
}
|
||||
@@ -168,8 +248,23 @@
|
||||
border-color: #e38d13;
|
||||
}
|
||||
.btn-warning.disabled,
|
||||
.btn-warning:disabled,
|
||||
.btn-warning[disabled] {
|
||||
.btn-warning[disabled],
|
||||
fieldset[disabled] .btn-warning,
|
||||
.btn-warning.disabled:hover,
|
||||
.btn-warning[disabled]:hover,
|
||||
fieldset[disabled] .btn-warning:hover,
|
||||
.btn-warning.disabled:focus,
|
||||
.btn-warning[disabled]:focus,
|
||||
fieldset[disabled] .btn-warning:focus,
|
||||
.btn-warning.disabled.focus,
|
||||
.btn-warning[disabled].focus,
|
||||
fieldset[disabled] .btn-warning.focus,
|
||||
.btn-warning.disabled:active,
|
||||
.btn-warning[disabled]:active,
|
||||
fieldset[disabled] .btn-warning:active,
|
||||
.btn-warning.disabled.active,
|
||||
.btn-warning[disabled].active,
|
||||
fieldset[disabled] .btn-warning.active {
|
||||
background-color: #eb9316;
|
||||
background-image: none;
|
||||
}
|
||||
@@ -194,8 +289,23 @@
|
||||
border-color: #b92c28;
|
||||
}
|
||||
.btn-danger.disabled,
|
||||
.btn-danger:disabled,
|
||||
.btn-danger[disabled] {
|
||||
.btn-danger[disabled],
|
||||
fieldset[disabled] .btn-danger,
|
||||
.btn-danger.disabled:hover,
|
||||
.btn-danger[disabled]:hover,
|
||||
fieldset[disabled] .btn-danger:hover,
|
||||
.btn-danger.disabled:focus,
|
||||
.btn-danger[disabled]:focus,
|
||||
fieldset[disabled] .btn-danger:focus,
|
||||
.btn-danger.disabled.focus,
|
||||
.btn-danger[disabled].focus,
|
||||
fieldset[disabled] .btn-danger.focus,
|
||||
.btn-danger.disabled:active,
|
||||
.btn-danger[disabled]:active,
|
||||
fieldset[disabled] .btn-danger:active,
|
||||
.btn-danger.disabled.active,
|
||||
.btn-danger[disabled].active,
|
||||
fieldset[disabled] .btn-danger.active {
|
||||
background-color: #c12e2a;
|
||||
background-image: none;
|
||||
}
|
||||
@@ -260,6 +370,7 @@
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
background-repeat: repeat-x;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.navbar-inverse .navbar-nav > .open > a,
|
||||
.navbar-inverse .navbar-nav > .active > a {
|
||||