diff options
author | Frederic Peters <fpeters@entrouvert.com> | 2004-08-26 13:18:39 +0000 |
---|---|---|
committer | Frederic Peters <fpeters@entrouvert.com> | 2004-08-26 13:18:39 +0000 |
commit | a1aac4c4c5af0317b1a2e0f1977f9afb44acb219 (patch) | |
tree | 02375f631871507127090979c977fc40b522888b /docs/lasso-book | |
parent | 22f66483a30648a03df0bfda3a8c5ec138555ef1 (diff) | |
download | lasso-a1aac4c4c5af0317b1a2e0f1977f9afb44acb219.tar.gz lasso-a1aac4c4c5af0317b1a2e0f1977f9afb44acb219.tar.xz lasso-a1aac4c4c5af0317b1a2e0f1977f9afb44acb219.zip |
new lasso documentation
Diffstat (limited to 'docs/lasso-book')
-rw-r--r-- | docs/lasso-book/Makefile.am | 14 | ||||
-rw-r--r-- | docs/lasso-book/book.rst | 35 | ||||
-rw-r--r-- | docs/lasso-book/common-knowledge.rst | 175 | ||||
-rw-r--r-- | docs/lasso-book/figures/single-logout.png | bin | 0 -> 94664 bytes | |||
-rw-r--r-- | docs/lasso-book/figures/single-logout.svg | 3105 | ||||
-rw-r--r-- | docs/lasso-book/figures/single-sign-on.png | bin | 0 -> 57131 bytes | |||
-rw-r--r-- | docs/lasso-book/figures/single-sign-on.svg | 2661 | ||||
-rw-r--r-- | docs/lasso-book/getting-lasso.rst | 131 | ||||
-rw-r--r-- | docs/lasso-book/integration.rst | 7 | ||||
-rw-r--r-- | docs/lasso-book/language-bindings.rst | 18 | ||||
-rw-r--r-- | docs/lasso-book/lasso-architecture.rst | 45 | ||||
-rw-r--r-- | docs/lasso-book/liberty-architecture.rst | 75 | ||||
-rw-r--r-- | docs/lasso-book/other-profiles.rst | 7 | ||||
-rw-r--r-- | docs/lasso-book/preface.rst | 28 | ||||
-rw-r--r-- | docs/lasso-book/single-sign-on.rst | 105 |
15 files changed, 6403 insertions, 3 deletions
diff --git a/docs/lasso-book/Makefile.am b/docs/lasso-book/Makefile.am index ae7dd52c..83cadf67 100644 --- a/docs/lasso-book/Makefile.am +++ b/docs/lasso-book/Makefile.am @@ -1,14 +1,22 @@ docdir = $(datadir)/doc/lasso +LASSOBOOK_FILES = book.rst common-knowledge.rst getting-lasso.rst \ + integration.rst language-bindings.rst lasso-architecture.rst \ + liberty-architecture.rst other-profiles.rst preface.rst \ + single-sign-on.rst + if HAVE_REST2HTML -doc_DATA = writing-a-c-sp.html +doc_DATA = writing-a-c-sp.html book.html else -doc_DATA = writing-a-c-sp.txt +doc_DATA = writing-a-c-sp.txt $(LASSOBOOK_FILES) endif %.html: %.txt $(REST2HTML) $? > $@ +%.html: %.rst + $(REST2HTML) $? > $@ + CLEANFILES = writing-a-c-sp.html -EXTRA_DIST = lasso-book.txt writing-a-c-sp.txt +EXTRA_DIST = lasso-book.txt writing-a-c-sp.txt $(LASSOBOOK_FILES) diff --git a/docs/lasso-book/book.rst b/docs/lasso-book/book.rst new file mode 100644 index 00000000..e4ba0927 --- /dev/null +++ b/docs/lasso-book/book.rst @@ -0,0 +1,35 @@ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Building Liberty Services with Lasso +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +:Author: Frederic Peters +:Contact: fpeters@entrouvert.com +:date: $Date$ +:revision: $Revision$ +:Copyright: Copyright © 2004 Entr'ouvert + +.. contents:: Table of Contents +.. section-numbering:: + +This work is licensed under the GNU General Public License. To view a copy of +this license, visit http://www.gnu.org/copyleft/gpl.html. + + +.. include:: preface.rst +.. include:: liberty-architecture.rst +.. include:: lasso-architecture.rst +.. include:: getting-lasso.rst +.. include:: common-knowledge.rst +.. include:: single-sign-on.rst +.. include:: integration.rst +.. include:: other-profiles.rst +.. include:: language-bindings.rst + +.. appendix with hints on openssl usage ? + +.. and where should the info about metadata files go ? + +.. a note about GLib; g_free() and other GLib objects exposed to the developer. + +.. quick overview of the HTTP protocol status codes (302, etc.) + diff --git a/docs/lasso-book/common-knowledge.rst b/docs/lasso-book/common-knowledge.rst new file mode 100644 index 00000000..5f3b6c81 --- /dev/null +++ b/docs/lasso-book/common-knowledge.rst @@ -0,0 +1,175 @@ +====================== +Common Lasso Knowledge +====================== + +Starting with basics on using Lasso in a given program. + +Lasso Projects Basics +===================== + +Lasso functions are defined in several header files typically located in +``/usr/include/lasso/`` or ``/usr/local/include/lasso/``. It is possible to +include individual files but in most case it is enough to include the main +``lasso.h``. + +The first thing to do is then to call ``lasso_init()``. Similarly the last +thing will be to call ``lasso_shutdown()``. The smallest and useless Lasso +project will therefore be:: + + #include <lasso/lasso.h> + + int main(int argc, char *argv[]) + { + lasso_init(); + printf("Hello world.\n"); + lasso_shutdown(); + return 0; + } + +Lasso uses a tool called ``pkg-config`` to know the necessary flags for +compilation and linking. + +:: + + $ pkg-config lasso --cflags + -DXMLSEC_CRYPTO=\"openssl\" -DXMLSEC_LIBXML_260=1 -D__XMLSEC_FUNCTION__=__FUNCTION__ + -DXMLSEC_NO_XKMS=1 -DXMLSEC_NO_CRYPTO_DYNAMIC_LOADING=1 -DXMLSEC_CRYPTO_OPENSSL=1 + -I/usr/include/lasso -I/usr/include/libxml2 -I/usr/include/xmlsec1 -I/usr/include/glib-2.0 + -I/usr/lib/glib-2.0/include + $ pkg-config lasso --libs + -llasso -lxmlsec1-openssl -lxmlsec1 -lssl -lcrypto -ldl -lgobject-2.0 -lxslt -lxml2 + -lpthread -lz -lm -lglib-2.0 + + +Creating an executable from the previous sample would then a simple matter of +calling ``gcc`` with the right flags. But there is currently in bug in +XMLSec, the library used by Lasso to provide XML Signature and XML Encryption +support. It is possible to workaround the bug:: + + $ gcc hello.c -o hello $(pkg-config lasso --cflags --libs) + <command line>:4:16: missing terminating " character + $ gcc hello.c -o hello $(pkg-config xmlsec1 --cflags --libs | tr -d '\\') + $ ./hello + Hello world. + + +.. XXX talks about autoconf/automake; that really helps. But that could be in + an appendix. + + +Lasso Objects +============= + +The Lasso Architecture chapter described the different objects provided by +Lasso. The profile objects will be detailed in the following chapters; common +objects such as server, identity and session are explained here. + + +LassoServer +----------- + +A ``LassoServer`` object may be created as follows: + +:: + + LassoServer *server; + server = lasso_server_new("sp-metadata.xml", + NULL, "sp-private-key.pem", "sp-crt.pem", lassoSignatureMethodRsaSha1); + lasso_server_add_provider(server, "idp-metadata.xml", + "idp-public-key.pem", "ca-crt.pem"); + +- ``sp-metadata.xml`` is the Liberty metadata file for the service provider +- ``idp-metadata.xml`` is the Liberty metadata file for the identity provider +- ``sp-private-key.pem`` is the service provider private key; used to sign + documents +- ``sp-crt.pem`` is the service provider certificate; sent inside signed + documents +- ``idp-public-key.pem`` is the identity provider public key; used to verify + signature in documents sent by the identity provider +- ``ca-crt.pem`` is the certificate of the certification authority used by the + identity provider. + +It is of course possible to have several calls so ``lasso_server_add_provider`` +if there are more than one identity provider. + +LassoProfile +------------ + +This is the virtual base class for profiles. It notably provides access to the +identity and session parts of a profile. See below for examples. + + +LassoIdentity +------------- + +:: + + /* profile is a pointer to a LassoProfile object */ + + LassoIdentity *identity; + + if (lasso_profile_is_identity_dirty(profile)) { + identity = lasso_profile_get_identity(profile); + if (identity) { + dump = lasso_identity_dump(identity); + } + } + + + +LassoSession +------------ + +:: + + /* profile is a pointer to a LassoProfile object */ + + LassoSession *session; + + if (lasso_profile_is_session_dirty(profile)) { + session = lasso_profile_get_session(profile); + if (session) { + dump = lasso_session_dump(session); + } + } + + + +Serialization +------------- + +``LassoServer``, ``LassoIdentity`` and ``LassoSession``objects can be +serialized into XML files. Example with a ``LassoServer``:: + + gchar *dump; + FILE *fd; + + dump = lasso_server_dump(server); + /* write dump into a file, a database, whatever */ + g_free(dump); + +.. note:: ``lasso_server_dump`` (and other Lasso dump functions) allocates + memory through GLib. ``g_free`` is then the function to use instead + of ``free`` to release memory. + +It is then really easy to get back properly constructed objects:: + + LassoServer *server; + gchar *dump; + + /* restore dump from file, database, whatever */ + server = lasso_server_new_from_dump(dump); + +.. warning:: The server dump only contains the filenames; not the actual file + contents. Files should not be moved afterwards. + +The functions are: + +================ ==================== ============================= +Object Dump Restore +================ ==================== ============================= +LassoServer lasso_server_dump lasso_server_new_from_dump +LassoIdentity lasso_identity_dump lasso_identity_new_from_dump +LassoSession lasso_session_dump lasso_session_new_from_dump +================ ==================== ============================= + diff --git a/docs/lasso-book/figures/single-logout.png b/docs/lasso-book/figures/single-logout.png Binary files differnew file mode 100644 index 00000000..a15a8123 --- /dev/null +++ b/docs/lasso-book/figures/single-logout.png diff --git a/docs/lasso-book/figures/single-logout.svg b/docs/lasso-book/figures/single-logout.svg new file mode 100644 index 00000000..0beae84d --- /dev/null +++ b/docs/lasso-book/figures/single-logout.svg @@ -0,0 +1,3105 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" +"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + id="svg1" + sodipodi:version="0.32" + inkscape:version="0.39" + width="210mm" + height="297mm" + sodipodi:docname="single-logout.svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:cc="http://web.resource.org/cc/" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:xml="http://www.w3.org/XML/1998/namespace" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:xlink="http://www.w3.org/1999/xlink" + sodipodi:docbase="/home/fred/src/lasso/lasso/docs/lasso-book/f/figures"> + <defs + id="defs3"> + <linearGradient + id="linearGradient8054"> + <stop + offset="0.0000000" + style="stop-color:#dbdbdb;stop-opacity:1.0000000;" + id="stop8056" /> + <stop + offset="1.0000000" + style="stop-color:#acacac;stop-opacity:1.0000000;" + id="stop8055" /> + </linearGradient> + <linearGradient + id="linearGradient8051"> + <stop + offset="0.0000000" + style="stop-color:#9f9f9f;stop-opacity:1.0000000;" + id="stop8053" /> + <stop + offset="1.0000000" + style="stop-color:#828282;stop-opacity:1.0000000;" + id="stop8052" /> + </linearGradient> + <linearGradient + id="linearGradient8048"> + <stop + offset="0.0000000" + style="stop-color:#000000;stop-opacity:1.0000000;" + id="stop8050" /> + <stop + offset="1.0000000" + style="stop-color:#3a4a70;stop-opacity:1.0000000;" + id="stop8049" /> + </linearGradient> + <linearGradient + id="linearGradient8044"> + <stop + style="stop-color:#000;stop-opacity:1;" + offset="0" + id="stop8045" /> + <stop + style="stop-color:#fff;stop-opacity:1;" + offset="1" + id="stop8046" /> + </linearGradient> + <marker + style="overflow:visible;" + id="TriangleInM" + refX="0.0" + refY="0.0" + orient="auto" + inkscape:stockid="TriangleInM"> + <path + transform="scale(-0.4)" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" + d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z " + id="path4066" + sodipodi:nodetypes="cccc" /> + </marker> + <marker + style="overflow:visible;" + id="TriangleOutM" + refX="0.0" + refY="0.0" + orient="auto" + inkscape:stockid="TriangleOutM"> + <path + transform="scale(0.4)" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" + d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z " + id="path4060" + sodipodi:nodetypes="cccc" /> + </marker> + <marker + style="overflow:visible;" + id="TriangleOutL" + refX="0.0" + refY="0.0" + orient="auto" + inkscape:stockid="TriangleOutL"> + <path + transform="scale(0.8)" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" + d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z " + id="path4062" + sodipodi:nodetypes="cccc" /> + </marker> + <marker + style="overflow:visible;" + id="Arrow1L" + refX="0.0" + refY="0.0" + orient="auto" + inkscape:stockid="Arrow1L"> + <path + transform="scale(0.8)" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " + id="path4114" + sodipodi:nodetypes="ccccc" /> + </marker> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient8054" + id="linearGradient8059" + x1="0.27071825" + y1="0.75728154" + x2="0.81215471" + y2="0.18446602" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="3.4732669" + inkscape:cx="194.20903" + inkscape:cy="411.37247" + inkscape:window-width="1022" + inkscape:window-height="720" + inkscape:window-x="0" + inkscape:window-y="24" /> + <metadata + id="metadata4"> + <rdf:RDF + id="RDF5"> + <cc:Work + rdf:about="" + id="Work6"> + <dc:format + id="format7">image/svg+xml</dc:format> + <dc:type + id="type9" + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + id="g1070" + transform="translate(175.7007,434.4800)"> + <g + id="Layer_x0020_3" + style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;"> + <path + style="fill:none;stroke:none;" + d="M 70.000000,60.000000 L 0.0000000,60.000000 L 0.0000000,0.0000000 L 70.000000,0.0000000 L 70.000000,60.000000 z " + id="path5" /> + </g> + <g + id="Layer_x0020_4" + style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;"> + <path + style="opacity:0.24999996;stroke:none;" + d="M 65.200000,34.600000 C 67.200000,35.100000 69.000000,38.100000 66.200000,40.000000 L 37.700000,57.000000 L 26.800000,24.500000 L 65.300000,34.600000 L 65.200000,34.600000 z " + id="path10" /> + <path + style="stroke:none;" + d="M 27.000000,21.100000 C 27.000000,21.100000 27.000000,21.100000 26.900000,21.100000 C 26.800000,21.100000 6.6000000,32.800000 6.6000000,32.800000 L 6.6000000,32.800000 C 5.2000000,33.700000 4.0000000,35.000000 3.8000000,36.900000 C 3.8000000,37.100000 3.8000000,37.400000 3.8000000,37.700000 L 3.8000000,37.700000 L 4.1000000,43.300000 C 4.2000000,45.200000 5.4000000,46.100000 6.1000000,46.400000 C 6.1000000,46.400000 6.1000000,46.400000 6.2000000,46.400000 C 6.2000000,46.400000 34.000000,57.100000 34.000000,57.100000 C 35.800000,57.800000 37.800000,57.400000 39.100000,56.200000 L 58.800000,41.000000 C 60.000000,39.900000 60.100000,38.800000 60.200000,38.400000 L 60.200000,38.200000 L 60.500000,33.700000 C 60.500000,33.100000 60.600000,32.000000 60.300000,30.900000 C 59.900000,29.500000 58.900000,28.600000 57.500000,28.200000 L 31.200000,20.800000 C 30.100000,20.500000 28.900000,20.200000 26.900000,21.000000 L 27.000000,21.100000 z " + id="path12" /> + <linearGradient + id="aigrd1" + gradientUnits="userSpaceOnUse" + x1="7.6943002" + y1="35.450199" + x2="57.984402" + y2="35.450199" + gradientTransform="matrix(0.997000,7.730000e-2,-7.730000e-2,0.997000,1.700200,-3.835900)"> + <stop + offset="0" + style="stop-color:#CFCFCF" + id="stop16" /> + <stop + offset="1" + style="stop-color:#EAEAEA" + id="stop18" /> + </linearGradient> + <path + style="fill:url(#aigrd1);stroke:none;" + d="M 30.900000,22.900000 C 29.800000,22.500000 28.400000,22.500000 27.700000,22.700000 C 27.200000,22.900000 8.2000000,33.700000 7.2000000,34.400000 C 6.2000000,35.000000 6.0000000,36.200000 7.3000000,36.600000 C 8.6000000,37.100000 33.200000,45.000000 34.300000,45.300000 C 35.400000,45.600000 37.000000,45.600000 37.600000,45.100000 C 38.200000,44.600000 56.500000,31.800000 57.100000,31.300000 C 57.700000,30.800000 56.600000,29.900000 55.700000,29.700000 C 54.800000,29.400000 32.000000,23.200000 30.900000,22.800000 L 30.900000,22.900000 z " + id="path21" /> + <linearGradient + id="aigrd2" + gradientUnits="userSpaceOnUse" + x1="9.7152996" + y1="46.870098" + x2="35.932899" + y2="48.758400" + gradientTransform="matrix(0.997000,7.730000e-2,-7.730000e-2,0.997000,1.700200,-3.835900)"> + <stop + offset="0" + style="stop-color:#F8F8F8" + id="stop25" /> + <stop + offset="1" + style="stop-color:#B5B5B5" + id="stop27" /> + </linearGradient> + <path + style="fill:url(#aigrd2);stroke:none;" + d="M 5.5000000,37.700000 C 5.4000000,36.800000 6.1000000,36.300000 6.8000000,36.500000 C 7.4000000,36.700000 33.900000,45.400000 34.900000,46.000000 C 35.900000,46.600000 36.500000,46.900000 36.400000,47.700000 C 36.300000,48.500000 36.000000,52.900000 35.900000,53.500000 C 35.800000,54.200000 35.300000,54.900000 34.300000,54.700000 C 31.300000,54.000000 6.9000000,44.200000 6.9000000,44.200000 C 6.1000000,43.900000 5.9000000,43.400000 5.9000000,42.500000 L 5.6000000,37.600000 L 5.5000000,37.700000 z " + id="path30" /> + <linearGradient + id="aigrd3" + gradientUnits="userSpaceOnUse" + x1="40.842800" + y1="51.790001" + x2="57.230701" + y2="32.497101" + gradientTransform="matrix(0.997000,7.730000e-2,-7.730000e-2,0.997000,1.700200,-3.835900)"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop34" /> + <stop + offset="1" + style="stop-color:#828282" + id="stop36" /> + </linearGradient> + <path + style="fill:url(#aigrd3);stroke:none;" + d="M 37.000000,54.300000 C 36.500000,54.700000 35.600000,54.200000 35.700000,53.300000 C 35.800000,52.400000 36.100000,48.300000 36.200000,47.500000 C 36.300000,46.700000 36.600000,46.000000 37.200000,45.500000 C 37.800000,45.000000 56.200000,32.200000 56.900000,31.600000 C 57.600000,31.000000 58.000000,32.100000 57.900000,32.700000 C 57.800000,33.300000 57.600000,37.200000 57.500000,37.700000 C 57.500000,38.300000 57.400000,38.600000 56.800000,39.100000 C 56.300000,39.600000 37.500000,53.900000 37.000000,54.300000 z " + id="path39" /> + <g + style="fill:#ffffff;stroke:none;" + id="g41"> + <path + d="M 35.500000,45.200000 C 33.800000,45.100000 6.8000000,36.000000 6.6000000,35.900000 C 6.4000000,35.800000 6.6000000,34.900000 7.2000000,34.300000 C 5.5000000,35.400000 5.5000000,37.400000 5.5000000,37.400000 C 5.5000000,37.400000 5.7000000,36.500000 6.5000000,36.400000 C 9.8000000,37.600000 33.200000,45.700000 34.100000,46.000000 C 35.100000,46.300000 35.400000,47.500000 35.400000,48.400000 L 35.700000,53.800000 L 36.300000,48.400000 C 36.400000,47.500000 36.800000,45.900000 37.800000,45.200000 C 38.300000,44.900000 50.300000,36.200000 54.800000,33.000000 C 50.200000,36.300000 37.500000,45.300000 35.400000,45.100000 L 35.500000,45.200000 z " + id="path43" /> + <path + d="M 54.900000,33.100000 C 55.900000,32.400000 56.500000,31.900000 56.500000,31.900000 C 56.500000,31.900000 55.900000,32.300000 54.900000,33.100000 z " + id="path45" /> + </g> + <path + style="fill:#848484;stroke:none;" + d="M 36.900000,54.400000 C 36.300000,54.900000 35.900000,55.000000 34.600000,54.800000 C 35.500000,54.500000 35.800000,53.900000 35.800000,53.900000 C 35.800000,53.900000 36.000000,54.400000 36.800000,54.400000 L 36.900000,54.400000 z " + id="path48" /> + <g + id="g50"> + <g + id="g52"> + <path + style="stroke:none;" + d="M 11.900000,40.000000 L 11.800000,42.000000 L 7.1000000,40.100000 L 7.1000000,38.300000 L 11.900000,40.000000 L 11.900000,40.000000 z " + id="path54" /> + <path + style="fill:#2a2a26;stroke:none;" + d="M 11.800000,40.000000 L 11.700000,41.700000 L 7.4000000,40.000000 L 7.4000000,38.400000 L 11.700000,39.900000 L 11.800000,40.000000 z " + id="path56" /> + <path + style="fill:#535445;stroke:none;" + d="M 11.700000,40.000000 L 11.600000,41.500000 L 7.9000000,40.000000 L 7.9000000,38.600000 L 11.700000,39.900000 L 11.700000,40.000000 z " + id="path58" /> + <path + style="fill:#7b7d5b;stroke:none;" + d="M 11.600000,39.900000 L 11.500000,41.200000 L 8.3000000,40.000000 L 8.3000000,38.800000 L 11.600000,40.000000 L 11.600000,39.900000 z " + id="path60" /> + <path + style="fill:#a3a76a;stroke:none;" + d="M 11.500000,39.900000 L 11.500000,41.000000 L 8.7000000,39.900000 L 8.7000000,38.900000 L 11.600000,39.900000 L 11.500000,39.900000 z " + id="path62" /> + <path + style="fill:#c9cf71;stroke:none;" + d="M 11.400000,39.900000 L 11.400000,40.800000 L 9.0000000,39.900000 L 9.0000000,39.100000 L 11.400000,39.900000 z " + id="path64" /> + <path + style="fill:#f0f970;stroke:none;" + d="M 11.300000,39.800000 L 11.300000,40.500000 L 9.4000000,39.800000 L 9.4000000,39.100000 L 11.300000,39.700000 L 11.300000,39.800000 z " + id="path66" /> + </g> + </g> + <path + style="fill:#545454;stroke:none;" + d="M 55.900000,29.800000 C 57.000000,30.300000 57.400000,31.000000 56.900000,31.500000 C 57.500000,31.100000 57.900000,32.500000 57.900000,32.500000 C 58.000000,31.700000 58.000000,30.300000 55.900000,29.800000 z " + id="path70" /> + </g> + <g + id="Layer_x0020_5" + style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;"> + <radialGradient + id="aigrd4" + cx="27.577101" + cy="13.338400" + r="22.910500" + fx="27.577101" + fy="13.338400" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#2286B7" + id="stop77" /> + <stop + offset="1" + style="stop-color:#190F50" + id="stop79" /> + </radialGradient> + <path + style="fill:url(#aigrd4);fill-rule:evenodd;stroke-width:3.3747001;" + d="M 15.200000,20.300000 C 15.200000,29.200000 22.400000,36.400000 31.300000,36.400000 C 40.200000,36.400000 47.400000,29.200000 47.400000,20.300000 C 47.400000,11.400000 40.200000,4.2000000 31.300000,4.2000000 C 22.400000,4.2000000 15.200000,11.400000 15.200000,20.300000 L 15.200000,20.300000 z " + id="path82" /> + <radialGradient + id="aigrd5" + cx="26.127001" + cy="13.318800" + r="24.134199" + fx="26.127001" + fy="13.318800" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#99BBA8" + id="stop86" /> + <stop + offset="4.483276e-002" + style="stop-color:#94B8A9" + id="stop88" /> + <stop + offset="9.596599e-002" + style="stop-color:#87B0A9" + id="stop90" /> + <stop + offset="0.1502" + style="stop-color:#72A1A9" + id="stop92" /> + <stop + offset="0.2065" + style="stop-color:#538FA8" + id="stop94" /> + <stop + offset="0.264" + style="stop-color:#2E79A7" + id="stop96" /> + <stop + offset="0.2865" + style="stop-color:#1D70A5" + id="stop98" /> + <stop + offset="0.8539" + style="stop-color:#190F50" + id="stop100" /> + <stop + offset="1" + style="stop-color:#585287" + id="stop102" /> + </radialGradient> + <path + style="fill:url(#aigrd5);fill-rule:evenodd;stroke:none;" + d="M 15.200000,20.300000 C 15.200000,29.200000 22.400000,36.400000 31.300000,36.400000 C 40.200000,36.400000 47.400000,29.200000 47.400000,20.300000 C 47.400000,11.400000 40.200000,4.2000000 31.300000,4.2000000 C 22.400000,4.2000000 15.200000,11.400000 15.200000,20.300000 L 15.200000,20.300000 z " + id="path105" /> + <radialGradient + id="aigrd6" + cx="25.506300" + cy="13.189500" + r="19.858400" + fx="25.506300" + fy="13.189500" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#D5D690" + id="stop109" /> + <stop + offset="0.2202" + style="stop-color:#CFD08C" + id="stop111" /> + <stop + offset="0.4404" + style="stop-color:#BFBF80" + id="stop113" /> + <stop + offset="0.6607" + style="stop-color:#A4A46D" + id="stop115" /> + <stop + offset="0.8799" + style="stop-color:#828257" + id="stop117" /> + <stop + offset="0.927" + style="stop-color:#7A7A52" + id="stop119" /> + <stop + offset="1" + style="stop-color:#9C9C68" + id="stop121" /> + </radialGradient> + <path + style="fill:url(#aigrd6);fill-rule:evenodd;stroke:none;" + d="M 29.200000,10.700000 L 33.000000,14.000000 L 34.800000,10.900000 L 37.400000,13.800000 L 33.000000,16.200000 L 32.400000,20.100000 L 33.300000,21.700000 L 32.400000,21.700000 L 31.300000,20.100000 L 27.700000,20.100000 L 26.300000,22.500000 L 29.900000,24.600000 L 35.100000,27.600000 L 30.800000,31.200000 L 30.800000,34.800000 L 27.500000,27.300000 L 28.800000,25.100000 L 25.000000,22.500000 L 25.000000,19.300000 L 23.200000,12.800000 L 21.100000,11.600000 L 21.300000,9.3000000 L 24.100000,7.3000000 L 24.100000,9.8000000 L 29.100000,10.500000 L 29.200000,10.700000 z " + id="path124" /> + <radialGradient + id="aigrd7" + cx="27.575199" + cy="14.522900" + r="17.179100" + fx="27.575199" + fy="14.522900" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#D5D690" + id="stop128" /> + <stop + offset="0.2202" + style="stop-color:#CFD08C" + id="stop130" /> + <stop + offset="0.4404" + style="stop-color:#BFBF80" + id="stop132" /> + <stop + offset="0.6607" + style="stop-color:#A4A46D" + id="stop134" /> + <stop + offset="0.8799" + style="stop-color:#828257" + id="stop136" /> + <stop + offset="0.927" + style="stop-color:#7A7A52" + id="stop138" /> + <stop + offset="1" + style="stop-color:#9C9C68" + id="stop140" /> + </radialGradient> + <path + style="fill:url(#aigrd7);fill-rule:evenodd;stroke:none;" + d="M 40.400000,8.8000000 L 40.400000,10.800000 L 41.600000,12.800000 L 41.600000,16.000000 L 43.400000,17.000000 L 43.600000,14.900000 L 42.500000,13.100000 L 44.100000,13.100000 L 40.400000,8.8000000 z " + id="path143" /> + </g> + </g> + <g + id="g1379" + transform="translate(321.7083,470.4267)"> + <g + id="g1382" + style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;"> + <path + style="fill:none;stroke:none;" + d="M 70.000000,60.000000 L 0.0000000,60.000000 L 0.0000000,0.0000000 L 70.000000,0.0000000 L 70.000000,60.000000 z " + id="path1384" /> + </g> + <g + id="g1387" + style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;"> + <path + style="opacity:0.24999996;stroke:none;" + d="M 65.200000,34.600000 C 67.200000,35.100000 69.000000,38.100000 66.200000,40.000000 L 37.700000,57.000000 L 26.800000,24.500000 L 65.300000,34.600000 L 65.200000,34.600000 z " + id="path1389" /> + <path + style="stroke:none;" + d="M 27.000000,21.100000 C 27.000000,21.100000 27.000000,21.100000 26.900000,21.100000 C 26.800000,21.100000 6.6000000,32.800000 6.6000000,32.800000 L 6.6000000,32.800000 C 5.2000000,33.700000 4.0000000,35.000000 3.8000000,36.900000 C 3.8000000,37.100000 3.8000000,37.400000 3.8000000,37.700000 L 3.8000000,37.700000 L 4.1000000,43.300000 C 4.2000000,45.200000 5.4000000,46.100000 6.1000000,46.400000 C 6.1000000,46.400000 6.1000000,46.400000 6.2000000,46.400000 C 6.2000000,46.400000 34.000000,57.100000 34.000000,57.100000 C 35.800000,57.800000 37.800000,57.400000 39.100000,56.200000 L 58.800000,41.000000 C 60.000000,39.900000 60.100000,38.800000 60.200000,38.400000 L 60.200000,38.200000 L 60.500000,33.700000 C 60.500000,33.100000 60.600000,32.000000 60.300000,30.900000 C 59.900000,29.500000 58.900000,28.600000 57.500000,28.200000 L 31.200000,20.800000 C 30.100000,20.500000 28.900000,20.200000 26.900000,21.000000 L 27.000000,21.100000 z " + id="path1391" /> + <linearGradient + id="linearGradient1393" + gradientUnits="userSpaceOnUse" + x1="7.6943002" + y1="35.450199" + x2="57.984402" + y2="35.450199" + gradientTransform="matrix(0.997000,7.730000e-2,-7.730000e-2,0.997000,1.700200,-3.835900)"> + <stop + offset="0" + style="stop-color:#CFCFCF" + id="stop1395" /> + <stop + offset="1" + style="stop-color:#EAEAEA" + id="stop1397" /> + </linearGradient> + <path + style="fill:url(#aigrd1);stroke:none;" + d="M 30.900000,22.900000 C 29.800000,22.500000 28.400000,22.500000 27.700000,22.700000 C 27.200000,22.900000 8.2000000,33.700000 7.2000000,34.400000 C 6.2000000,35.000000 6.0000000,36.200000 7.3000000,36.600000 C 8.6000000,37.100000 33.200000,45.000000 34.300000,45.300000 C 35.400000,45.600000 37.000000,45.600000 37.600000,45.100000 C 38.200000,44.600000 56.500000,31.800000 57.100000,31.300000 C 57.700000,30.800000 56.600000,29.900000 55.700000,29.700000 C 54.800000,29.400000 32.000000,23.200000 30.900000,22.800000 L 30.900000,22.900000 z " + id="path1400" /> + <linearGradient + id="linearGradient1402" + gradientUnits="userSpaceOnUse" + x1="9.7152996" + y1="46.870098" + x2="35.932899" + y2="48.758400" + gradientTransform="matrix(0.997000,7.730000e-2,-7.730000e-2,0.997000,1.700200,-3.835900)"> + <stop + offset="0" + style="stop-color:#F8F8F8" + id="stop1404" /> + <stop + offset="1" + style="stop-color:#B5B5B5" + id="stop1406" /> + </linearGradient> + <path + style="fill:url(#aigrd2);stroke:none;" + d="M 5.5000000,37.700000 C 5.4000000,36.800000 6.1000000,36.300000 6.8000000,36.500000 C 7.4000000,36.700000 33.900000,45.400000 34.900000,46.000000 C 35.900000,46.600000 36.500000,46.900000 36.400000,47.700000 C 36.300000,48.500000 36.000000,52.900000 35.900000,53.500000 C 35.800000,54.200000 35.300000,54.900000 34.300000,54.700000 C 31.300000,54.000000 6.9000000,44.200000 6.9000000,44.200000 C 6.1000000,43.900000 5.9000000,43.400000 5.9000000,42.500000 L 5.6000000,37.600000 L 5.5000000,37.700000 z " + id="path1409" /> + <linearGradient + id="linearGradient1411" + gradientUnits="userSpaceOnUse" + x1="40.842800" + y1="51.790001" + x2="57.230701" + y2="32.497101" + gradientTransform="matrix(0.997000,7.730000e-2,-7.730000e-2,0.997000,1.700200,-3.835900)"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop1413" /> + <stop + offset="1" + style="stop-color:#828282" + id="stop1415" /> + </linearGradient> + <path + style="fill:url(#aigrd3);stroke:none;" + d="M 37.000000,54.300000 C 36.500000,54.700000 35.600000,54.200000 35.700000,53.300000 C 35.800000,52.400000 36.100000,48.300000 36.200000,47.500000 C 36.300000,46.700000 36.600000,46.000000 37.200000,45.500000 C 37.800000,45.000000 56.200000,32.200000 56.900000,31.600000 C 57.600000,31.000000 58.000000,32.100000 57.900000,32.700000 C 57.800000,33.300000 57.600000,37.200000 57.500000,37.700000 C 57.500000,38.300000 57.400000,38.600000 56.800000,39.100000 C 56.300000,39.600000 37.500000,53.900000 37.000000,54.300000 z " + id="path1418" /> + <g + style="fill:#ffffff;stroke:none;" + id="g1420"> + <path + d="M 35.500000,45.200000 C 33.800000,45.100000 6.8000000,36.000000 6.6000000,35.900000 C 6.4000000,35.800000 6.6000000,34.900000 7.2000000,34.300000 C 5.5000000,35.400000 5.5000000,37.400000 5.5000000,37.400000 C 5.5000000,37.400000 5.7000000,36.500000 6.5000000,36.400000 C 9.8000000,37.600000 33.200000,45.700000 34.100000,46.000000 C 35.100000,46.300000 35.400000,47.500000 35.400000,48.400000 L 35.700000,53.800000 L 36.300000,48.400000 C 36.400000,47.500000 36.800000,45.900000 37.800000,45.200000 C 38.300000,44.900000 50.300000,36.200000 54.800000,33.000000 C 50.200000,36.300000 37.500000,45.300000 35.400000,45.100000 L 35.500000,45.200000 z " + id="path1422" /> + <path + d="M 54.900000,33.100000 C 55.900000,32.400000 56.500000,31.900000 56.500000,31.900000 C 56.500000,31.900000 55.900000,32.300000 54.900000,33.100000 z " + id="path1424" /> + </g> + <path + style="fill:#848484;stroke:none;" + d="M 36.900000,54.400000 C 36.300000,54.900000 35.900000,55.000000 34.600000,54.800000 C 35.500000,54.500000 35.800000,53.900000 35.800000,53.900000 C 35.800000,53.900000 36.000000,54.400000 36.800000,54.400000 L 36.900000,54.400000 z " + id="path1427" /> + <g + id="g1429"> + <g + id="g1431"> + <path + style="stroke:none;" + d="M 11.900000,40.000000 L 11.800000,42.000000 L 7.1000000,40.100000 L 7.1000000,38.300000 L 11.900000,40.000000 L 11.900000,40.000000 z " + id="path1433" /> + <path + style="fill:#2a2a26;stroke:none;" + d="M 11.800000,40.000000 L 11.700000,41.700000 L 7.4000000,40.000000 L 7.4000000,38.400000 L 11.700000,39.900000 L 11.800000,40.000000 z " + id="path1435" /> + <path + style="fill:#535445;stroke:none;" + d="M 11.700000,40.000000 L 11.600000,41.500000 L 7.9000000,40.000000 L 7.9000000,38.600000 L 11.700000,39.900000 L 11.700000,40.000000 z " + id="path1437" /> + <path + style="fill:#7b7d5b;stroke:none;" + d="M 11.600000,39.900000 L 11.500000,41.200000 L 8.3000000,40.000000 L 8.3000000,38.800000 L 11.600000,40.000000 L 11.600000,39.900000 z " + id="path1439" /> + <path + style="fill:#a3a76a;stroke:none;" + d="M 11.500000,39.900000 L 11.500000,41.000000 L 8.7000000,39.900000 L 8.7000000,38.900000 L 11.600000,39.900000 L 11.500000,39.900000 z " + id="path1441" /> + <path + style="fill:#c9cf71;stroke:none;" + d="M 11.400000,39.900000 L 11.400000,40.800000 L 9.0000000,39.900000 L 9.0000000,39.100000 L 11.400000,39.900000 z " + id="path1443" /> + <path + style="fill:#f0f970;stroke:none;" + d="M 11.300000,39.800000 L 11.300000,40.500000 L 9.4000000,39.800000 L 9.4000000,39.100000 L 11.300000,39.700000 L 11.300000,39.800000 z " + id="path1445" /> + </g> + </g> + <path + style="fill:#545454;stroke:none;" + d="M 55.900000,29.800000 C 57.000000,30.300000 57.400000,31.000000 56.900000,31.500000 C 57.500000,31.100000 57.900000,32.500000 57.900000,32.500000 C 58.000000,31.700000 58.000000,30.300000 55.900000,29.800000 z " + id="path1449" /> + </g> + <g + id="g1452" + style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;"> + <radialGradient + id="radialGradient1454" + cx="27.577101" + cy="13.338400" + r="22.910500" + fx="27.577101" + fy="13.338400" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#2286B7" + id="stop1456" /> + <stop + offset="1" + style="stop-color:#190F50" + id="stop1458" /> + </radialGradient> + <path + style="fill:url(#aigrd4);fill-rule:evenodd;stroke-width:3.3747001;" + d="M 15.200000,20.300000 C 15.200000,29.200000 22.400000,36.400000 31.300000,36.400000 C 40.200000,36.400000 47.400000,29.200000 47.400000,20.300000 C 47.400000,11.400000 40.200000,4.2000000 31.300000,4.2000000 C 22.400000,4.2000000 15.200000,11.400000 15.200000,20.300000 L 15.200000,20.300000 z " + id="path1461" /> + <radialGradient + id="radialGradient1463" + cx="26.127001" + cy="13.318800" + r="24.134199" + fx="26.127001" + fy="13.318800" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#99BBA8" + id="stop1465" /> + <stop + offset="4.483276e-002" + style="stop-color:#94B8A9" + id="stop1467" /> + <stop + offset="9.596599e-002" + style="stop-color:#87B0A9" + id="stop1469" /> + <stop + offset="0.1502" + style="stop-color:#72A1A9" + id="stop1471" /> + <stop + offset="0.2065" + style="stop-color:#538FA8" + id="stop1473" /> + <stop + offset="0.264" + style="stop-color:#2E79A7" + id="stop1475" /> + <stop + offset="0.2865" + style="stop-color:#1D70A5" + id="stop1477" /> + <stop + offset="0.8539" + style="stop-color:#190F50" + id="stop1479" /> + <stop + offset="1" + style="stop-color:#585287" + id="stop1481" /> + </radialGradient> + <path + style="fill:url(#aigrd5);fill-rule:evenodd;stroke:none;" + d="M 15.200000,20.300000 C 15.200000,29.200000 22.400000,36.400000 31.300000,36.400000 C 40.200000,36.400000 47.400000,29.200000 47.400000,20.300000 C 47.400000,11.400000 40.200000,4.2000000 31.300000,4.2000000 C 22.400000,4.2000000 15.200000,11.400000 15.200000,20.300000 L 15.200000,20.300000 z " + id="path1484" /> + <radialGradient + id="radialGradient1486" + cx="25.506300" + cy="13.189500" + r="19.858400" + fx="25.506300" + fy="13.189500" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#D5D690" + id="stop1488" /> + <stop + offset="0.2202" + style="stop-color:#CFD08C" + id="stop1490" /> + <stop + offset="0.4404" + style="stop-color:#BFBF80" + id="stop1492" /> + <stop + offset="0.6607" + style="stop-color:#A4A46D" + id="stop1494" /> + <stop + offset="0.8799" + style="stop-color:#828257" + id="stop1496" /> + <stop + offset="0.927" + style="stop-color:#7A7A52" + id="stop1498" /> + <stop + offset="1" + style="stop-color:#9C9C68" + id="stop1500" /> + </radialGradient> + <path + style="fill:url(#aigrd6);fill-rule:evenodd;stroke:none;" + d="M 29.200000,10.700000 L 33.000000,14.000000 L 34.800000,10.900000 L 37.400000,13.800000 L 33.000000,16.200000 L 32.400000,20.100000 L 33.300000,21.700000 L 32.400000,21.700000 L 31.300000,20.100000 L 27.700000,20.100000 L 26.300000,22.500000 L 29.900000,24.600000 L 35.100000,27.600000 L 30.800000,31.200000 L 30.800000,34.800000 L 27.500000,27.300000 L 28.800000,25.100000 L 25.000000,22.500000 L 25.000000,19.300000 L 23.200000,12.800000 L 21.100000,11.600000 L 21.300000,9.3000000 L 24.100000,7.3000000 L 24.100000,9.8000000 L 29.100000,10.500000 L 29.200000,10.700000 z " + id="path1503" /> + <radialGradient + id="radialGradient1505" + cx="27.575199" + cy="14.522900" + r="17.179100" + fx="27.575199" + fy="14.522900" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#D5D690" + id="stop1507" /> + <stop + offset="0.2202" + style="stop-color:#CFD08C" + id="stop1509" /> + <stop + offset="0.4404" + style="stop-color:#BFBF80" + id="stop1511" /> + <stop + offset="0.6607" + style="stop-color:#A4A46D" + id="stop1513" /> + <stop + offset="0.8799" + style="stop-color:#828257" + id="stop1515" /> + <stop + offset="0.927" + style="stop-color:#7A7A52" + id="stop1517" /> + <stop + offset="1" + style="stop-color:#9C9C68" + id="stop1519" /> + </radialGradient> + <path + style="fill:url(#aigrd7);fill-rule:evenodd;stroke:none;" + d="M 40.400000,8.8000000 L 40.400000,10.800000 L 41.600000,12.800000 L 41.600000,16.000000 L 43.400000,17.000000 L 43.600000,14.900000 L 42.500000,13.100000 L 44.100000,13.100000 L 40.400000,8.8000000 z " + id="path1522" /> + </g> + </g> + <g + id="g2149" + transform="translate(242.8099,580.2111)"> + <g + id="cables" + style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;"> + <path + style="fill:#c2c2c2;stroke-width:1.0588000;stroke-linecap:round;stroke-linejoin:round;" + d="M 8.4000000,30.600000 C 8.0000000,31.700000 8.5000000,32.600000 9.7000000,33.100000 L 10.000000,32.500000 C 9.4000000,32.200000 8.7000000,31.700000 9.0000000,30.800000 C 9.4000000,29.600000 11.500000,28.300000 13.500000,28.900000 L 13.700000,28.200000 C 11.500000,27.600000 9.0000000,29.000000 8.4000000,30.600000 z " + id="path1530" /> + <linearGradient + id="linearGradient2155" + gradientUnits="userSpaceOnUse" + x1="8.3593998" + y1="30.738300" + x2="13.752400" + y2="30.738300"> + <stop + offset="0" + style="stop-color:#D6D6D6" + id="stop1534" /> + <stop + offset="1" + style="stop-color:#848484" + id="stop1536" /> + </linearGradient> + <path + style="fill:url(#aigrd1);stroke:none;" + d="M 8.4000000,30.600000 C 8.0000000,31.700000 8.5000000,32.600000 9.7000000,33.100000 L 10.000000,32.500000 C 9.4000000,32.200000 8.7000000,31.700000 9.0000000,30.800000 C 9.4000000,29.600000 11.500000,28.300000 13.500000,28.900000 L 13.700000,28.200000 C 11.500000,27.600000 9.0000000,29.000000 8.4000000,30.600000 z " + id="path1539" /> + <path + style="fill:#a6a6a6;stroke-width:0.63919997;" + d="M 38.700000,23.900000 L 38.800000,24.200000 C 38.800000,24.200000 43.800000,22.200000 48.500000,23.500000 L 50.700000,24.100000 C 54.700000,25.100000 60.800000,26.700000 61.200000,28.400000 C 61.300000,28.700000 61.100000,29.100000 60.700000,29.400000 C 57.400000,32.100000 55.000000,31.400000 52.600000,30.700000 C 50.600000,30.100000 48.800000,29.600000 46.800000,31.200000 C 46.000000,31.800000 45.700000,32.300000 45.800000,32.800000 C 46.000000,33.600000 47.400000,34.100000 48.900000,34.500000 C 50.300000,34.900000 51.700000,35.300000 51.900000,36.000000 C 52.000000,36.300000 51.800000,36.700000 51.400000,37.100000 C 49.600000,38.900000 47.300000,37.900000 45.300000,37.100000 C 43.600000,36.400000 42.100000,35.700000 41.100000,36.700000 C 40.100000,37.700000 39.900000,38.500000 39.800000,39.200000 C 39.700000,40.000000 39.500000,40.800000 38.200000,42.100000 L 38.400000,42.300000 C 39.800000,40.900000 40.000000,40.000000 40.100000,39.200000 C 40.200000,38.500000 40.400000,37.900000 41.300000,36.900000 C 42.200000,36.000000 43.600000,36.600000 45.200000,37.300000 C 47.300000,38.200000 49.700000,39.200000 51.600000,37.300000 C 52.100000,36.800000 52.300000,36.300000 52.200000,35.900000 C 52.000000,35.000000 50.500000,34.600000 49.000000,34.200000 C 47.600000,33.800000 46.200000,33.400000 46.100000,32.700000 C 46.000000,32.400000 46.300000,31.900000 47.000000,31.400000 C 48.900000,29.900000 50.600000,30.400000 52.500000,31.000000 C 54.800000,31.700000 57.500000,32.500000 60.900000,29.600000 C 61.400000,29.200000 61.600000,28.700000 61.500000,28.200000 C 61.100000,26.300000 55.400000,24.800000 50.800000,23.700000 L 48.600000,23.100000 C 43.700000,21.800000 38.700000,23.800000 38.700000,23.800000 L 38.700000,23.900000 z " + id="path1541" /> + <path + style="opacity:0.34999999;stroke:none;" + d="M 38.900000,24.600000 L 39.000000,24.900000 C 39.000000,24.900000 44.000000,22.900000 48.700000,24.200000 L 50.900000,24.800000 C 54.900000,25.800000 61.000000,27.400000 61.400000,29.100000 C 61.500000,29.400000 61.300000,29.800000 60.900000,30.100000 C 57.600000,32.800000 55.200000,32.100000 52.800000,31.400000 C 50.800000,30.800000 49.000000,30.300000 47.000000,31.900000 C 46.200000,32.500000 45.900000,33.000000 46.000000,33.500000 C 46.200000,34.300000 47.600000,34.800000 49.100000,35.200000 C 50.500000,35.600000 51.900000,36.000000 52.100000,36.700000 C 52.200000,37.000000 52.000000,37.400000 51.600000,37.800000 C 49.800000,39.600000 47.500000,38.600000 45.500000,37.800000 C 43.800000,37.100000 42.300000,36.400000 41.300000,37.400000 C 40.300000,38.400000 40.100000,39.200000 40.000000,39.900000 C 39.900000,40.700000 39.700000,41.500000 38.400000,42.800000 L 38.600000,43.000000 C 40.000000,41.600000 40.200000,40.700000 40.300000,39.900000 C 40.400000,39.200000 40.600000,38.600000 41.500000,37.600000 C 42.400000,36.700000 43.800000,37.300000 45.400000,38.000000 C 47.500000,38.900000 49.900000,39.900000 51.800000,38.000000 C 52.300000,37.500000 52.500000,37.000000 52.400000,36.600000 C 52.200000,35.700000 50.700000,35.300000 49.200000,34.900000 C 47.800000,34.500000 46.400000,34.100000 46.300000,33.400000 C 46.200000,33.100000 46.500000,32.600000 47.200000,32.100000 C 49.100000,30.600000 50.800000,31.100000 52.700000,31.700000 C 55.000000,32.400000 57.700000,33.200000 61.100000,30.300000 C 61.600000,29.900000 61.800000,29.400000 61.700000,28.900000 C 61.300000,27.000000 55.600000,25.500000 51.000000,24.400000 L 48.800000,23.800000 C 43.900000,22.500000 38.900000,24.500000 38.900000,24.500000 L 38.900000,24.600000 z " + id="path1543" /> + </g> + <g + id="mouse" + style="fill:#bababa;fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;"> + <g + style="opacity:0.34999999;" + id="g1548"> + <path + style="fill:#000000;stroke:none;" + d="M 30.200000,48.100000 C 29.700000,48.600000 29.700000,51.100000 32.000000,51.400000 C 32.000000,51.400000 36.000000,52.600000 38.400000,50.300000 L 42.300000,46.600000 C 42.800000,46.100000 42.600000,44.800000 42.000000,44.500000 L 37.600000,42.400000 C 36.900000,42.100000 36.000000,42.300000 35.500000,42.800000 L 30.400000,48.200000 L 30.200000,48.100000 z " + id="path1550" /> + </g> + <radialGradient + id="radialGradient2176" + cx="31.883301" + cy="40.924801" + r="9.6183004" + fx="31.883301" + fy="40.924801" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#EFEFEF" + id="stop1555" /> + <stop + offset="1" + style="stop-color:#6D6D6D" + id="stop1557" /> + </radialGradient> + <path + style="fill:url(#aigrd2);stroke-width:3.2730000;stroke-linecap:round;stroke-linejoin:round;" + d="M 40.300000,43.600000 C 40.300000,43.500000 40.300000,43.400000 40.200000,43.300000 C 39.800000,42.600000 38.500000,42.200000 37.300000,41.900000 C 37.100000,41.800000 36.900000,41.700000 36.600000,41.600000 C 36.400000,41.600000 36.200000,41.600000 36.000000,41.700000 C 35.700000,41.700000 35.400000,41.600000 35.200000,41.600000 C 34.000000,41.600000 30.600000,41.600000 30.100000,46.600000 C 30.100000,46.800000 30.100000,46.900000 30.100000,47.100000 C 29.600000,49.200000 34.200000,50.400000 36.200000,48.600000 L 40.000000,44.800000 C 40.300000,44.500000 40.200000,43.900000 40.100000,43.600000 L 40.300000,43.600000 z " + id="path1560" /> + <path + style="fill:#a6a6a6;stroke:none;" + d="M 42.800000,23.700000 L 43.500000,23.900000 C 43.500000,23.900000 43.800000,22.200000 48.600000,23.500000 L 50.800000,24.100000 C 54.800000,25.100000 60.900000,26.700000 61.300000,28.400000 C 61.400000,28.700000 61.200000,29.100000 60.800000,29.400000 C 57.500000,32.100000 55.100000,31.400000 52.700000,30.700000 C 50.700000,30.100000 48.900000,29.600000 46.900000,31.200000 C 46.100000,31.800000 45.800000,32.300000 45.900000,32.800000 C 46.100000,33.600000 47.500000,34.100000 49.000000,34.500000 C 50.400000,34.900000 51.800000,35.300000 52.000000,36.000000 C 52.100000,36.300000 51.900000,36.700000 51.500000,37.100000 C 49.700000,38.900000 47.400000,37.900000 45.400000,37.100000 C 43.700000,36.400000 42.200000,35.700000 41.200000,36.700000 C 40.200000,37.700000 40.000000,38.500000 39.900000,39.200000 C 39.800000,40.000000 39.600000,40.800000 38.300000,42.100000 L 38.500000,42.300000 C 39.900000,40.900000 40.100000,40.000000 40.200000,39.200000 C 40.300000,38.500000 40.500000,37.900000 41.400000,36.900000 C 42.300000,36.000000 43.700000,36.600000 45.300000,37.300000 C 47.400000,38.200000 49.800000,39.200000 51.700000,37.300000 C 52.200000,36.800000 52.400000,36.300000 52.300000,35.900000 C 52.100000,35.000000 50.600000,34.600000 49.100000,34.200000 C 47.700000,33.800000 46.300000,33.400000 46.200000,32.700000 C 46.100000,32.400000 46.400000,31.900000 47.100000,31.400000 C 49.000000,29.900000 50.700000,30.400000 52.600000,31.000000 C 54.900000,31.700000 57.600000,32.500000 61.000000,29.600000 C 61.500000,29.200000 61.700000,28.700000 61.600000,28.200000 C 61.200000,26.300000 55.500000,24.800000 50.900000,23.700000 L 48.700000,23.100000 C 43.800000,21.800000 42.900000,23.600000 42.800000,23.600000 L 42.800000,23.700000 z " + id="path1562" /> + <linearGradient + id="linearGradient2187" + gradientUnits="userSpaceOnUse" + x1="33.299801" + y1="47.693401" + x2="38.961201" + y2="42.144901"> + <stop + offset="0" + style="stop-color:#686868" + id="stop1566" /> + <stop + offset="1" + style="stop-color:#6D6D6D" + id="stop1568" /> + </linearGradient> + <path + style="fill:url(#aigrd3);stroke:none;" + d="M 40.200000,43.300000 L 30.500000,46.500000 C 28.700000,48.900000 34.100000,50.700000 36.300000,48.600000 L 40.100000,44.800000 C 40.600000,44.300000 40.100000,43.300000 40.100000,43.300000 L 40.200000,43.300000 z " + id="path1571" /> + <path + style="fill:#f0f0f0;stroke:none;" + d="M 40.200000,43.400000 C 39.600000,42.300000 36.400000,41.800000 35.200000,41.800000 C 34.000000,41.800000 30.600000,41.800000 30.100000,46.800000 C 29.900000,48.500000 32.200000,49.700000 33.900000,49.100000 C 35.600000,48.500000 35.700000,45.900000 37.100000,44.800000 C 38.500000,43.700000 40.800000,44.500000 40.200000,43.400000 z " + id="path1573" /> + <linearGradient + id="linearGradient2198" + gradientUnits="userSpaceOnUse" + x1="30.388201" + y1="46.680698" + x2="40.614700" + y2="42.969200"> + <stop + offset="0" + style="stop-color:#FCFCFC" + id="stop1577" /> + <stop + offset="1" + style="stop-color:#BBBBBB" + id="stop1579" /> + </linearGradient> + <path + style="fill:url(#aigrd4);stroke:none;" + d="M 40.200000,43.300000 C 39.600000,42.200000 36.400000,41.700000 35.200000,41.700000 C 34.000000,41.700000 30.600000,41.700000 30.100000,46.700000 C 30.000000,48.400000 32.300000,49.500000 34.000000,49.000000 C 35.700000,48.400000 35.800000,45.800000 37.200000,44.700000 C 38.600000,43.600000 40.900000,44.400000 40.300000,43.300000 L 40.200000,43.300000 z " + id="path1582" /> + <linearGradient + id="linearGradient2207" + gradientUnits="userSpaceOnUse" + x1="32.862801" + y1="44.293900" + x2="39.974998" + y2="41.712700"> + <stop + offset="0" + style="stop-color:#EBEBEB" + id="stop1586" /> + <stop + offset="1" + style="stop-color:#818181" + id="stop1588" /> + </linearGradient> + <path + style="fill:url(#aigrd5);stroke:none;" + d="M 40.300000,43.600000 C 40.400000,44.100000 38.300000,43.800000 37.800000,44.300000 C 37.400000,43.600000 35.800000,42.900000 34.700000,42.600000 C 33.500000,42.300000 32.100000,42.500000 32.100000,42.500000 C 34.000000,40.700000 40.200000,41.900000 40.300000,43.500000 L 40.300000,43.600000 z " + id="path1591" /> + <path + style="opacity:0.29999998;fill:#000000;stroke:none;" + d="M 37.800000,44.300000 L 37.900000,44.900000 C 38.400000,44.300000 39.700000,45.000000 40.300000,43.900000 C 39.700000,44.700000 38.300000,44.300000 38.000000,44.600000 L 37.800000,44.300000 L 37.800000,44.300000 z " + id="path1593" /> + <path + style="opacity:0.29999998;fill:#000000;stroke:none;" + d="M 34.700000,42.600000 L 34.900000,42.600000 C 35.800000,41.800000 38.300000,42.100000 38.300000,42.100000 C 38.300000,42.100000 35.600000,41.600000 34.700000,42.500000 L 34.700000,42.600000 z " + id="path1595" /> + <g + id="g1597"> + <radialGradient + id="radialGradient2222" + cx="37.036098" + cy="43.108398" + r="1.4450999" + fx="37.036098" + fy="43.108398" + gradientTransform="matrix(0.907000,0.421100,-0.421100,0.907000,20.87590,-13.39680)" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#EFEFEF" + id="stop1601" /> + <stop + offset="1" + style="stop-color:#6D6D6D" + id="stop1603" /> + </radialGradient> + <path + style="fill:url(#aigrd6);stroke:none;" + d="M 36.600000,41.600000 C 36.000000,41.500000 35.700000,41.900000 35.600000,42.200000 C 35.800000,42.400000 35.900000,42.400000 36.300000,42.400000 C 36.900000,42.400000 37.100000,42.300000 37.500000,42.100000 C 37.300000,41.900000 37.000000,41.600000 36.600000,41.600000 L 36.600000,41.600000 z " + id="path1606" /> + <radialGradient + id="radialGradient2231" + cx="36.370098" + cy="43.091801" + r="1.9756000" + fx="36.370098" + fy="43.091801" + gradientTransform="matrix(0.907000,0.421100,-0.421100,0.907000,20.87590,-13.39680)" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#9E9E9E" + id="stop1610" /> + <stop + offset="1" + style="stop-color:#535353" + id="stop1612" /> + </radialGradient> + <path + style="fill:url(#aigrd7);stroke:none;" + d="M 36.900000,41.800000 C 36.500000,41.700000 36.300000,42.200000 36.300000,42.400000 C 36.700000,42.400000 37.200000,42.300000 37.500000,42.000000 C 37.400000,41.900000 37.200000,41.800000 37.000000,41.700000 L 36.900000,41.800000 z " + id="path1615" /> + </g> + <g + style="stroke:none;" + id="g1618"> + <path + d="M 31.600000,47.700000 C 31.600000,47.700000 31.600000,47.700000 31.600000,47.700000 C 31.600000,47.700000 31.600000,47.700000 31.600000,47.600000 L 31.700000,47.400000 L 31.700000,47.400000 L 31.600000,47.600000 C 31.600000,47.600000 31.600000,47.700000 31.600000,47.700000 C 31.600000,47.700000 31.600000,47.700000 31.500000,47.700000 L 31.500000,47.700000 L 31.600000,47.700000 z M 31.700000,47.400000 C 31.700000,47.400000 31.700000,47.400000 31.700000,47.400000 C 31.700000,47.400000 31.700000,47.400000 31.700000,47.400000 C 31.700000,47.400000 31.700000,47.400000 31.700000,47.400000 C 31.700000,47.400000 31.700000,47.400000 31.700000,47.400000 z " + id="path1620" /> + <path + d="M 31.800000,47.500000 C 31.800000,47.500000 31.800000,47.500000 31.800000,47.500000 C 31.800000,47.500000 31.800000,47.500000 31.800000,47.500000 C 31.800000,47.500000 31.800000,47.500000 31.800000,47.500000 C 31.800000,47.500000 31.800000,47.500000 31.800000,47.500000 z M 31.700000,47.700000 L 31.800000,47.500000 L 31.800000,47.500000 L 31.700000,47.700000 L 31.700000,47.700000 z " + id="path1622" /> + <path + d="M 31.800000,47.600000 C 31.800000,47.600000 31.800000,47.600000 31.800000,47.600000 L 31.800000,47.600000 L 31.800000,47.600000 L 31.800000,47.600000 C 31.800000,47.600000 31.800000,47.600000 31.900000,47.600000 C 31.900000,47.600000 31.900000,47.600000 31.900000,47.700000 L 31.900000,47.700000 C 31.900000,47.700000 31.900000,47.700000 31.900000,47.700000 C 31.900000,47.700000 31.900000,47.700000 31.900000,47.700000 C 31.900000,47.700000 32.000000,47.700000 31.900000,47.800000 L 31.900000,47.900000 L 31.900000,47.900000 L 31.900000,47.800000 C 31.900000,47.800000 31.900000,47.700000 31.900000,47.700000 C 31.900000,47.700000 31.900000,47.700000 31.900000,47.700000 C 31.900000,47.700000 31.900000,47.700000 31.900000,47.700000 L 31.900000,47.800000 L 31.900000,47.800000 L 31.900000,47.700000 C 31.900000,47.700000 31.900000,47.600000 31.900000,47.600000 C 31.900000,47.600000 31.900000,47.600000 31.800000,47.600000 C 31.800000,47.600000 31.800000,47.600000 31.800000,47.600000 L 31.800000,47.700000 L 31.800000,47.700000 L 31.900000,47.600000 L 31.800000,47.600000 z " + id="path1624" /> + <path + d="M 32.100000,47.700000 C 32.100000,47.700000 32.100000,47.700000 32.100000,47.600000 L 32.100000,47.600000 L 32.100000,47.600000 L 32.100000,47.600000 C 32.100000,47.600000 32.100000,47.600000 32.200000,47.600000 C 32.200000,47.600000 32.200000,47.600000 32.200000,47.700000 L 32.200000,47.700000 C 32.200000,47.700000 32.200000,47.700000 32.200000,47.700000 C 32.200000,47.700000 32.200000,47.700000 32.200000,47.700000 C 32.200000,47.700000 32.300000,47.700000 32.200000,47.800000 L 32.200000,47.900000 L 32.200000,47.900000 L 32.200000,47.800000 C 32.200000,47.800000 32.200000,47.700000 32.200000,47.700000 C 32.200000,47.700000 32.200000,47.700000 32.100000,47.700000 C 32.100000,47.700000 32.100000,47.700000 32.100000,47.700000 L 32.100000,47.800000 L 32.100000,47.800000 L 32.100000,47.700000 C 32.100000,47.700000 32.100000,47.600000 32.100000,47.600000 C 32.100000,47.600000 32.100000,47.600000 32.000000,47.600000 C 32.000000,47.600000 32.000000,47.600000 32.000000,47.600000 L 32.000000,47.700000 L 32.000000,47.700000 L 32.100000,47.600000 L 32.100000,47.700000 z " + id="path1626" /> + <path + d="M 32.500000,47.900000 C 32.500000,47.900000 32.500000,47.900000 32.500000,47.900000 L 32.500000,47.900000 L 32.500000,47.900000 L 32.500000,47.900000 C 32.500000,47.900000 32.500000,47.900000 32.400000,47.900000 C 32.400000,47.900000 32.400000,47.900000 32.400000,47.800000 C 32.400000,47.800000 32.500000,47.700000 32.500000,47.800000 L 32.500000,47.800000 C 32.500000,47.800000 32.500000,47.800000 32.500000,47.700000 C 32.500000,47.700000 32.500000,47.700000 32.400000,47.700000 L 32.400000,47.700000 C 32.400000,47.700000 32.400000,47.700000 32.500000,47.700000 C 32.600000,47.700000 32.600000,47.800000 32.500000,47.800000 L 32.500000,47.900000 z M 32.400000,47.800000 C 32.400000,47.800000 32.300000,47.800000 32.300000,47.800000 C 32.300000,47.800000 32.300000,47.800000 32.300000,47.800000 C 32.300000,47.800000 32.300000,47.800000 32.400000,47.800000 C 32.400000,47.800000 32.400000,47.800000 32.400000,47.800000 L 32.400000,47.800000 z " + id="path1628" /> + <path + d="M 32.600000,48.000000 C 32.600000,48.000000 32.600000,48.000000 32.500000,48.000000 C 32.400000,48.000000 32.400000,47.900000 32.500000,47.900000 C 32.500000,47.800000 32.600000,47.800000 32.700000,47.800000 C 32.700000,47.800000 32.700000,47.800000 32.700000,47.800000 L 32.700000,47.800000 C 32.700000,47.800000 32.700000,47.800000 32.700000,47.800000 C 32.700000,47.800000 32.600000,47.800000 32.600000,47.800000 C 32.600000,47.800000 32.600000,47.900000 32.600000,47.900000 C 32.600000,47.900000 32.600000,47.900000 32.600000,47.900000 L 32.600000,47.900000 L 32.600000,48.000000 z " + id="path1630" /> + </g> + </g> + <g + id="computercase" + style="fill:#ffffff;fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;"> + <g + style="opacity:0.34999999;" + id="g1636"> + <path + style="fill:#000000;stroke:none;" + d="M 26.200000,45.300000 C 24.500000,47.000000 21.200000,48.600000 19.300000,47.700000 C 17.400000,46.800000 4.5000000,41.100000 4.5000000,41.100000 C 3.8000000,40.800000 3.8000000,40.200000 4.3000000,39.800000 L 10.800000,34.800000 C 11.400000,34.400000 12.300000,33.700000 12.900000,33.200000 L 28.500000,21.800000 C 29.100000,21.400000 30.100000,21.200000 30.800000,21.400000 L 51.500000,27.200000 C 52.200000,27.400000 52.300000,27.900000 51.700000,28.400000 L 47.800000,31.500000 C 46.700000,32.600000 50.700000,31.700000 49.300000,33.100000 L 42.500000,39.000000 C 41.300000,40.200000 39.700000,38.100000 38.500000,39.000000 L 37.300000,39.900000 C 36.700000,40.400000 35.700000,40.800000 35.000000,40.900000 L 31.900000,41.300000 C 31.200000,41.400000 30.200000,41.900000 29.700000,42.400000 C 29.700000,42.400000 27.900000,43.600000 26.200000,45.300000 L 26.200000,45.300000 z " + id="path1638" /> + </g> + <path + style="fill:#000000;stroke-width:3.2730000;stroke-linecap:round;stroke-linejoin:round;" + d="M 43.800000,23.900000 C 43.800000,23.900000 43.800000,23.900000 43.800000,23.900000 C 43.800000,23.900000 43.700000,23.900000 43.600000,23.800000 C 43.100000,23.600000 29.500000,19.900000 28.900000,19.700000 C 28.200000,19.500000 27.400000,19.400000 27.000000,19.600000 C 26.600000,19.700000 15.400000,26.200000 14.800000,26.600000 C 14.700000,26.700000 14.600000,26.700000 14.600000,26.800000 C 13.800000,27.500000 13.800000,28.500000 13.800000,28.500000 C 13.800000,28.500000 13.800000,28.500000 13.800000,28.400000 C 13.800000,28.500000 13.800000,28.500000 13.800000,28.600000 L 14.000000,31.500000 C 14.000000,32.100000 14.100000,32.300000 14.600000,32.500000 C 14.600000,32.500000 29.100000,38.300000 30.900000,38.700000 C 31.000000,38.700000 31.000000,38.700000 31.100000,38.700000 C 31.100000,38.700000 31.100000,38.700000 31.100000,38.700000 C 31.900000,38.900000 32.100000,38.800000 32.400000,38.500000 C 32.400000,38.500000 32.500000,38.500000 32.500000,38.400000 C 32.800000,38.200000 43.900000,29.700000 44.300000,29.400000 C 44.600000,29.100000 44.700000,28.900000 44.700000,28.600000 C 44.700000,28.300000 44.900000,26.000000 44.900000,25.600000 C 44.900000,25.600000 44.900000,25.500000 44.900000,25.500000 C 44.900000,25.500000 44.900000,25.500000 44.900000,25.500000 C 44.900000,25.000000 44.900000,24.200000 43.700000,23.900000 L 43.800000,23.900000 z M 31.800000,38.200000 C 31.800000,38.200000 31.800000,38.200000 31.800000,38.200000 L 31.800000,38.200000 L 31.800000,38.200000 C 31.800000,38.200000 31.800000,38.300000 31.800000,38.300000 C 31.800000,38.300000 31.800000,38.200000 31.800000,38.200000 C 31.800000,38.200000 31.800000,38.200000 31.800000,38.200000 z M 43.400000,25.600000 C 43.800000,25.300000 44.100000,25.100000 44.100000,25.100000 C 44.100000,25.100000 43.800000,25.300000 43.300000,25.700000 C 42.600000,26.200000 41.500000,27.000000 40.300000,27.800000 C 42.200000,26.500000 43.900000,25.300000 44.300000,25.000000 C 44.200000,25.100000 43.900000,25.300000 43.300000,25.700000 L 43.400000,25.600000 z " + id="path1641" /> + <linearGradient + id="aigrd8" + gradientUnits="userSpaceOnUse" + x1="15.328600" + y1="27.821301" + x2="45.169899" + y2="27.821301" + gradientTransform="matrix(0.997000,7.730000e-2,-7.730000e-2,0.997000,1.382000,-3.616000)"> + <stop + offset="0" + style="stop-color:#EBEBEB" + id="stop1645" /> + <stop + offset="1" + style="stop-color:#EAEAEA" + id="stop1647" /> + </linearGradient> + <path + style="fill:url(#aigrd8);stroke:none;" + d="M 28.900000,19.800000 C 28.200000,19.600000 27.400000,19.500000 27.000000,19.700000 C 26.600000,19.800000 15.400000,26.300000 14.800000,26.700000 C 14.200000,27.100000 14.100000,27.800000 14.900000,28.000000 C 15.700000,28.300000 30.300000,33.000000 30.900000,33.200000 C 31.500000,33.400000 32.500000,33.400000 32.900000,33.100000 C 33.200000,32.800000 44.100000,25.200000 44.500000,24.900000 C 44.800000,24.600000 44.200000,24.100000 43.700000,23.900000 C 43.200000,23.700000 29.600000,20.000000 29.000000,19.800000 L 28.900000,19.800000 z " + id="path1650" /> + <linearGradient + id="aigrd9" + gradientUnits="userSpaceOnUse" + x1="16.527300" + y1="34.597698" + x2="32.084099" + y2="35.718102" + gradientTransform="matrix(0.997000,7.730000e-2,-7.730000e-2,0.997000,1.382000,-3.616000)"> + <stop + offset="0" + style="stop-color:#F8F8F8" + id="stop1654" /> + <stop + offset="1" + style="stop-color:#C9C9C9" + id="stop1656" /> + </linearGradient> + <path + style="fill:url(#aigrd9);stroke:none;" + d="M 13.900000,28.600000 C 13.900000,28.100000 14.300000,27.800000 14.700000,27.900000 C 15.100000,28.000000 30.800000,33.200000 31.400000,33.600000 C 32.000000,34.000000 32.300000,34.200000 32.300000,34.600000 C 32.300000,35.100000 32.100000,37.700000 32.000000,38.100000 C 32.000000,38.500000 31.600000,39.000000 31.000000,38.800000 C 29.300000,38.400000 14.700000,32.600000 14.700000,32.600000 C 14.200000,32.400000 14.100000,32.200000 14.100000,31.600000 L 13.900000,28.700000 L 13.900000,28.600000 z " + id="path1659" /> + <linearGradient + id="aigrd10" + gradientUnits="userSpaceOnUse" + x1="35.135700" + y1="37.355499" + x2="44.730701" + y2="26.059700" + gradientTransform="matrix(0.997000,7.730000e-2,-7.730000e-2,0.997000,1.382000,-3.616000)"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop1663" /> + <stop + offset="1" + style="stop-color:#828282" + id="stop1665" /> + </linearGradient> + <path + style="fill:url(#aigrd10);stroke:none;" + d="M 32.600000,38.500000 C 32.300000,38.700000 31.800000,38.400000 31.800000,37.900000 C 31.800000,37.300000 32.000000,34.900000 32.100000,34.400000 C 32.100000,33.900000 32.400000,33.500000 32.700000,33.200000 C 33.000000,32.900000 44.000000,25.300000 44.400000,25.000000 C 44.800000,24.600000 45.000000,25.300000 45.000000,25.700000 C 45.000000,26.100000 44.800000,28.300000 44.800000,28.700000 C 44.800000,29.000000 44.700000,29.200000 44.400000,29.500000 C 44.100000,29.800000 32.900000,38.300000 32.600000,38.500000 L 32.600000,38.500000 z " + id="path1668" /> + <g + style="stroke:none;" + id="g1670"> + <path + d="M 31.600000,33.100000 C 30.600000,33.000000 14.600000,27.700000 14.400000,27.600000 C 14.300000,27.600000 14.400000,27.000000 14.800000,26.700000 C 13.800000,27.400000 13.800000,28.600000 13.800000,28.600000 C 13.800000,28.600000 13.900000,28.100000 14.400000,28.000000 C 16.400000,28.700000 30.300000,33.500000 30.800000,33.700000 C 31.400000,33.900000 31.600000,34.600000 31.600000,35.100000 L 31.800000,38.300000 L 32.100000,35.100000 C 32.100000,34.600000 32.400000,33.600000 33.000000,33.200000 C 33.300000,33.000000 40.400000,27.800000 43.100000,25.900000 C 40.400000,27.800000 32.800000,33.200000 31.600000,33.100000 z " + id="path1672" /> + <path + d="M 43.100000,25.900000 C 43.700000,25.500000 44.100000,25.200000 44.100000,25.200000 C 44.100000,25.200000 43.700000,25.500000 43.100000,25.900000 z " + id="path1674" /> + </g> + <path + style="fill:#848484;stroke:none;" + d="M 32.400000,38.500000 C 32.000000,38.800000 31.800000,38.900000 31.100000,38.700000 C 31.600000,38.500000 31.800000,38.200000 31.800000,38.200000 C 31.800000,38.200000 31.900000,38.500000 32.400000,38.500000 z " + id="path1677" /> + <path + style="fill:#545454;stroke:none;" + d="M 43.800000,24.000000 C 44.500000,24.300000 44.700000,24.700000 44.400000,25.000000 C 44.700000,24.800000 45.000000,25.600000 45.000000,25.600000 C 45.000000,25.100000 45.000000,24.300000 43.800000,24.000000 z " + id="path1679" /> + <linearGradient + id="aigrd11" + gradientUnits="userSpaceOnUse" + x1="24.541000" + y1="34.498001" + x2="30.010300" + y2="34.498001"> + <stop + offset="0" + style="stop-color:#2A2A2A" + id="stop1683" /> + <stop + offset="0.4743" + style="stop-color:#585858" + id="stop1685" /> + <stop + offset="1" + style="stop-color:#878787" + id="stop1687" /> + </linearGradient> + <path + style="fill:url(#aigrd11);stroke:none;" + d="M 24.500000,33.200000 L 24.500000,33.900000 L 30.000000,35.800000 L 30.000000,35.200000 L 24.500000,33.200000 z " + id="path1690" /> + <path + style="opacity:0.21999998;fill:#000000;stroke:none;" + d="M 24.500000,33.900000 L 24.200000,34.100000 L 24.200000,32.800000 L 30.200000,35.000000 L 30.000000,35.200000 L 24.500000,33.200000 L 24.500000,33.900000 L 24.500000,33.900000 z " + id="path1692" /> + <path + style="opacity:0.72000003;stroke:none;" + d="M 30.200000,36.200000 L 30.200000,34.900000 L 30.000000,35.200000 L 30.000000,35.800000 L 24.500000,33.900000 L 24.200000,34.100000 L 30.200000,36.200000 L 30.200000,36.200000 z " + id="path1694" /> + <linearGradient + id="aigrd12" + gradientUnits="userSpaceOnUse" + x1="41.679699" + y1="26.849600" + x2="37.783298" + y2="34.141399"> + <stop + offset="0" + style="stop-color:#FFFFFF" + id="stop1698" /> + <stop + offset="1" + style="stop-color:#FFFFFF" + id="stop1700" /> + </linearGradient> + <path + style="opacity:0.12999995;fill:url(#aigrd12);stroke:none;" + d="M 44.900000,27.600000 L 32.800000,36.400000 L 32.800000,36.800000 L 44.900000,27.800000 L 44.900000,27.500000 L 44.900000,27.600000 z " + id="path1703" /> + <linearGradient + id="aigrd13" + gradientUnits="userSpaceOnUse" + x1="41.679699" + y1="25.784201" + x2="37.783600" + y2="33.075401"> + <stop + offset="0" + style="stop-color:#FFFFFF" + id="stop1707" /> + <stop + offset="1" + style="stop-color:#FFFFFF" + id="stop1709" /> + </linearGradient> + <path + style="opacity:0.12999995;fill:url(#aigrd13);stroke:none;" + d="M 44.900000,26.500000 L 32.800000,35.300000 L 32.800000,35.700000 L 44.900000,26.700000 L 44.900000,26.400000 L 44.900000,26.500000 z " + id="path1712" /> + <linearGradient + id="aigrd14" + gradientUnits="userSpaceOnUse" + x1="41.679699" + y1="26.504900" + x2="37.783298" + y2="33.796700"> + <stop + offset="0" + style="stop-color:#000000" + id="stop1716" /> + <stop + offset="1" + style="stop-color:#6A6A6A" + id="stop1718" /> + </linearGradient> + <path + style="opacity:0.12999995;fill:url(#aigrd14);stroke:none;" + d="M 44.900000,27.200000 L 32.800000,36.000000 L 32.800000,36.400000 L 44.900000,27.400000 L 44.900000,27.100000 L 44.900000,27.200000 z " + id="path1721" /> + <linearGradient + id="aigrd15" + gradientUnits="userSpaceOnUse" + x1="41.680698" + y1="25.439501" + x2="37.784199" + y2="32.731300"> + <stop + offset="0" + style="stop-color:#000000" + id="stop1725" /> + <stop + offset="1" + style="stop-color:#6A6A6A" + id="stop1727" /> + </linearGradient> + <path + style="opacity:0.12999995;fill:url(#aigrd15);stroke:none;" + d="M 44.900000,26.200000 L 32.800000,35.000000 L 32.800000,35.400000 L 44.900000,26.400000 L 44.900000,26.100000 L 44.900000,26.200000 z " + id="path1730" /> + </g> + <g + id="keyboard" + style="fill:#ffffff;fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;"> + <linearGradient + id="aigrd16" + gradientUnits="userSpaceOnUse" + x1="12.391600" + y1="42.346699" + x2="21.630400" + y2="33.292198"> + <stop + offset="0" + style="stop-color:#DBDBDB" + id="stop1737" /> + <stop + offset="1" + style="stop-color:#ACACAC" + id="stop1739" /> + </linearGradient> + <path + style="fill:url(#aigrd16);stroke-width:3.2730000;stroke-linecap:round;stroke-linejoin:round;" + d="M 25.900000,37.400000 L 11.200000,31.800000 C 10.700000,32.800000 10.000000,33.700000 9.3000000,34.400000 L 9.3000000,34.400000 C 9.0000000,34.300000 8.4000000,34.300000 8.1000000,34.600000 L 5.6000000,36.500000 C 5.3000000,36.700000 5.4000000,37.000000 5.6000000,37.100000 L 5.6000000,37.100000 C 4.6000000,37.600000 4.0000000,37.900000 4.0000000,37.900000 C 3.3000000,38.600000 4.3000000,39.600000 4.3000000,39.600000 L 19.000000,46.000000 C 20.300000,46.600000 25.400000,42.900000 26.300000,41.400000 C 27.100000,39.900000 25.900000,37.300000 25.900000,37.300000 L 25.900000,37.400000 z " + id="path1742" /> + <linearGradient + id="aigrd17" + gradientUnits="userSpaceOnUse" + x1="11.995100" + y1="43.459000" + x2="20.337601" + y2="33.637600"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop1746" /> + <stop + offset="1" + style="stop-color:#828282" + id="stop1748" /> + </linearGradient> + <path + style="fill:url(#aigrd17);stroke:none;" + d="M 4.4000000,39.600000 L 19.100000,46.000000 C 20.400000,46.600000 25.500000,42.900000 26.400000,41.400000 C 27.200000,39.900000 26.000000,37.300000 26.000000,37.300000 L 11.300000,31.700000 C 9.3000000,35.800000 4.0000000,37.900000 4.0000000,37.900000 C 3.3000000,38.600000 4.3000000,39.600000 4.3000000,39.600000 L 4.4000000,39.600000 z " + id="path1751" /> + <linearGradient + id="aigrd18" + gradientUnits="userSpaceOnUse" + x1="4.0293002" + y1="38.033199" + x2="25.940901" + y2="38.033199"> + <stop + offset="0" + style="stop-color:#EBEBEB" + id="stop1755" /> + <stop + offset="1" + style="stop-color:#EAEAEA" + id="stop1757" /> + </linearGradient> + <path + style="fill:url(#aigrd18);stroke:none;" + d="M 25.900000,37.400000 C 24.800000,40.600000 19.300000,44.300000 19.300000,44.300000 L 4.0000000,37.900000 C 4.0000000,37.900000 8.9000000,36.100000 11.200000,31.800000 L 25.900000,37.400000 z " + id="path1760" /> + <path + style="stroke:none;" + d="M 25.900000,37.400000 C 25.100000,39.900000 19.800000,44.000000 19.200000,44.000000 C 18.700000,44.000000 4.0000000,37.900000 4.0000000,37.900000 L 18.800000,44.200000 C 18.800000,44.200000 19.100000,44.400000 19.100000,44.700000 L 19.300000,46.100000 L 19.400000,44.800000 C 19.400000,44.800000 19.400000,44.300000 19.700000,44.200000 C 19.700000,44.200000 25.200000,40.100000 25.900000,37.400000 L 25.900000,37.400000 z " + id="path1762" /> + <g + id="g1764"> + <linearGradient + id="aigrd19" + gradientUnits="userSpaceOnUse" + x1="10.036100" + y1="39.681599" + x2="14.645200" + y2="35.164501"> + <stop + offset="0" + style="stop-color:#686868" + id="stop1768" /> + <stop + offset="1" + style="stop-color:#6D6D6D" + id="stop1770" /> + </linearGradient> + <path + style="fill:url(#aigrd19);stroke:none;" + d="M 5.5000000,37.200000 C 5.2000000,37.400000 5.2000000,37.800000 5.6000000,37.900000 L 14.200000,41.400000 C 14.600000,41.600000 15.100000,41.400000 15.400000,41.200000 L 17.800000,38.900000 C 18.100000,38.600000 18.000000,38.300000 17.600000,38.100000 L 9.5000000,35.000000 C 9.1000000,34.900000 8.6000000,34.900000 8.2000000,35.200000 L 5.5000000,37.300000 L 5.5000000,37.200000 z " + id="path1773" /> + </g> + <g + id="g1776"> + <linearGradient + id="aigrd20" + gradientUnits="userSpaceOnUse" + x1="9.8589001" + y1="38.754902" + x2="14.118700" + y2="34.580002"> + <stop + offset="0" + style="stop-color:#DBDBDB" + id="stop1780" /> + <stop + offset="1" + style="stop-color:#ACACAC" + id="stop1782" /> + </linearGradient> + <path + style="fill:url(#aigrd20);stroke:none;" + d="M 5.7000000,36.500000 C 5.4000000,36.700000 5.4000000,37.000000 5.8000000,37.200000 L 13.700000,40.500000 C 14.000000,40.600000 14.500000,40.500000 14.800000,40.300000 L 17.000000,38.200000 C 17.300000,37.900000 17.200000,37.600000 16.900000,37.500000 L 9.3000000,34.600000 C 9.0000000,34.500000 8.4000000,34.500000 8.1000000,34.800000 L 5.6000000,36.700000 L 5.7000000,36.500000 z " + id="path1785" /> + </g> + <g + id="g1788"> + <linearGradient + id="aigrd21" + gradientUnits="userSpaceOnUse" + x1="18.019501" + y1="42.152302" + x2="21.334000" + y2="38.903999"> + <stop + offset="0" + style="stop-color:#686868" + id="stop1792" /> + <stop + offset="1" + style="stop-color:#6D6D6D" + id="stop1794" /> + </linearGradient> + <path + style="fill:url(#aigrd21);stroke:none;" + d="M 19.800000,38.700000 C 19.400000,38.500000 18.900000,38.700000 18.600000,39.000000 L 16.000000,41.400000 C 15.700000,41.700000 15.800000,42.100000 16.200000,42.200000 L 18.600000,43.200000 C 19.000000,43.400000 19.500000,43.300000 19.800000,43.000000 L 22.300000,40.500000 C 22.600000,40.200000 22.500000,39.800000 22.100000,39.700000 L 19.700000,38.700000 L 19.800000,38.700000 z " + id="path1797" /> + </g> + <g + id="g1800"> + <linearGradient + id="aigrd22" + gradientUnits="userSpaceOnUse" + x1="18.018600" + y1="41.378899" + x2="20.946501" + y2="38.509300"> + <stop + offset="0" + style="stop-color:#DBDBDB" + id="stop1804" /> + <stop + offset="1" + style="stop-color:#ACACAC" + id="stop1806" /> + </linearGradient> + <path + style="fill:url(#aigrd22);stroke:none;" + d="M 19.600000,38.400000 C 19.300000,38.300000 18.800000,38.400000 18.500000,38.600000 L 16.300000,40.800000 C 16.000000,41.100000 16.100000,41.400000 16.400000,41.500000 L 18.500000,42.400000 C 18.800000,42.500000 19.300000,42.400000 19.600000,42.200000 L 21.800000,40.000000 C 22.100000,39.700000 22.000000,39.400000 21.600000,39.300000 L 19.500000,38.400000 L 19.600000,38.400000 z " + id="path1809" /> + </g> + <g + id="g1812"> + <linearGradient + id="aigrd23" + gradientUnits="userSpaceOnUse" + x1="13.828100" + y1="35.628899" + x2="16.475901" + y2="33.033901"> + <stop + offset="0" + style="stop-color:#686868" + id="stop1816" /> + <stop + offset="1" + style="stop-color:#6D6D6D" + id="stop1818" /> + </linearGradient> + <path + style="fill:url(#aigrd23);stroke:none;" + d="M 11.300000,32.600000 C 10.900000,32.500000 10.500000,32.600000 10.300000,33.000000 L 10.300000,33.100000 C 10.100000,33.400000 10.200000,33.800000 10.600000,34.000000 L 18.200000,37.000000 C 18.600000,37.100000 19.000000,37.000000 19.200000,36.700000 L 19.300000,36.500000 C 19.500000,36.200000 19.400000,35.800000 19.000000,35.600000 L 11.300000,32.700000 L 11.300000,32.600000 z " + id="path1821" /> + </g> + <g + id="g1824"> + <linearGradient + id="aigrd24" + gradientUnits="userSpaceOnUse" + x1="13.600100" + y1="35.823200" + x2="14.871100" + y2="33.779598" + spreadMethod="pad" + xlink:href="#linearGradient8054" /> + <path + style="fill:url(#aigrd24);stroke:none;" + d="M 11.300000,32.200000 C 11.000000,32.100000 10.500000,32.200000 10.300000,32.500000 L 10.300000,32.600000 C 10.100000,32.900000 10.200000,33.300000 10.600000,33.400000 L 17.800000,36.300000 C 18.100000,36.400000 18.600000,36.300000 18.800000,36.000000 L 18.900000,35.800000 C 19.100000,35.500000 19.000000,35.100000 18.600000,35.000000 L 11.300000,32.200000 z " + id="path1833" /> + </g> + <path + style="fill:#f8f8f8;stroke:none;" + d="M 24.900000,37.700000 L 23.800000,39.300000 L 19.100000,37.400000 L 20.200000,36.000000 L 24.900000,37.700000 L 24.900000,37.700000 z " + id="path1836" /> + <path + style="fill:#c9c9c9;stroke:none;" + d="M 19.100000,37.400000 L 20.200000,36.000000 L 24.900000,37.700000 L 24.600000,37.700000 L 20.300000,36.200000 L 19.100000,37.400000 L 19.100000,37.400000 z " + id="path1838" /> + <path + style="stroke:none;" + d="M 17.900000,36.400000 L 10.500000,33.400000 C 10.000000,33.100000 10.400000,32.500000 10.400000,32.500000 C 10.400000,32.500000 10.100000,33.100000 10.700000,33.300000 L 17.900000,36.200000 C 18.500000,36.400000 19.000000,35.800000 19.000000,35.800000 C 19.000000,35.800000 18.600000,36.500000 18.000000,36.400000 L 17.900000,36.400000 z " + id="path1840" /> + <path + style="stroke:none;" + d="M 13.900000,40.400000 L 5.9000000,37.100000 C 5.3000000,36.800000 5.8000000,36.400000 5.8000000,36.400000 C 5.8000000,36.400000 5.4000000,36.800000 6.0000000,37.100000 L 13.800000,40.300000 C 14.400000,40.400000 15.000000,40.000000 15.000000,40.000000 C 15.000000,40.000000 14.500000,40.500000 13.900000,40.400000 z " + id="path1842" /> + <path + style="stroke:none;" + d="M 18.600000,42.400000 L 16.400000,41.400000 C 15.800000,41.100000 16.300000,40.700000 16.300000,40.700000 C 16.300000,40.700000 16.000000,41.100000 16.600000,41.300000 L 18.600000,42.200000 C 19.200000,42.400000 19.800000,42.000000 19.800000,42.000000 C 19.800000,42.000000 19.300000,42.500000 18.700000,42.400000 L 18.600000,42.400000 z " + id="path1844" /> + </g> + <g + id="monitor" + style="fill:#dedede;fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;"> + <g + style="opacity:0.44999996;" + id="g1849"> + <path + style="opacity:0.29999998;fill:#000000;stroke:none;" + d="M 28.300000,22.300000 C 26.500000,21.800000 23.700000,22.100000 22.100000,23.000000 L 17.700000,25.400000 C 16.100000,26.300000 16.200000,27.500000 17.900000,28.100000 L 32.400000,32.900000 L 32.800000,33.400000 L 34.300000,37.500000 L 43.700000,30.500000 L 42.000000,26.700000 C 42.000000,26.700000 41.100000,26.000000 40.200000,25.700000 L 28.300000,22.300000 L 28.300000,22.300000 z " + id="path1851" /> + </g> + <radialGradient + id="aigrd25" + cx="27.416000" + cy="20.659700" + r="8.7596998" + fx="27.416000" + fy="20.659700" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#B6B6B6" + id="stop1856" /> + <stop + offset="1" + style="stop-color:#878787" + id="stop1858" /> + </radialGradient> + <path + style="fill:url(#aigrd25);stroke-width:2.0486000;stroke-linecap:round;stroke-linejoin:round;" + d="M 29.300000,20.800000 C 25.300000,20.800000 22.000000,22.200000 22.000000,24.000000 L 22.000000,24.900000 C 22.000000,26.700000 25.300000,28.100000 29.300000,28.100000 C 33.300000,28.100000 36.600000,26.700000 36.600000,24.900000 L 36.600000,24.000000 C 36.600000,22.200000 33.300000,20.800000 29.300000,20.800000 z " + id="path1861" /> + <path + style="fill:url(#aigrd25);stroke:none;" + d="M 29.300000,20.800000 C 25.300000,20.800000 22.000000,22.200000 22.000000,24.000000 L 22.000000,24.900000 C 22.000000,26.700000 25.300000,28.100000 29.300000,28.100000 C 33.300000,28.100000 36.600000,26.700000 36.600000,24.900000 L 36.600000,24.000000 C 36.600000,22.200000 33.300000,20.800000 29.300000,20.800000 z " + id="path1863" /> + <path + style="fill:#b3b3b3;stroke:none;" + d="M 22.100000,23.500000 C 22.300000,24.900000 23.900000,26.900000 30.600000,27.000000 C 25.500000,27.500000 21.500000,26.000000 22.100000,23.500000 z " + id="path1865" /> + <g + id="g1867"> + <path + style="fill:#000000;stroke:none;" + d="M 38.400000,6.5000000 C 38.500000,6.1000000 38.400000,5.8000000 38.200000,5.8000000 C 38.000000,5.8000000 37.900000,5.7000000 37.900000,5.7000000 C 37.900000,5.7000000 37.900000,5.7000000 37.900000,5.7000000 C 37.900000,5.7000000 37.600000,5.6000000 37.200000,5.6000000 L 18.800000,2.4000000 C 18.400000,2.3000000 17.900000,2.3000000 17.700000,2.3000000 C 17.500000,2.3000000 17.100000,2.3000000 16.900000,2.3000000 C 16.700000,2.3000000 16.500000,2.6000000 16.500000,3.0000000 L 14.000000,20.300000 C 13.900000,20.700000 14.200000,21.100000 14.600000,21.200000 L 32.200000,26.400000 C 32.600000,26.500000 32.900000,26.600000 32.900000,26.600000 C 32.900000,26.600000 32.900000,26.600000 32.900000,26.600000 C 32.900000,26.600000 33.000000,26.600000 33.200000,26.700000 C 33.400000,26.800000 33.600000,26.800000 33.700000,26.700000 C 33.800000,26.700000 34.000000,26.600000 34.000000,26.600000 C 34.100000,26.600000 34.300000,26.500000 34.300000,26.500000 C 34.300000,26.500000 34.500000,26.500000 34.700000,26.400000 C 34.900000,26.300000 35.100000,26.000000 35.200000,25.600000 L 38.400000,6.5000000 L 38.400000,6.5000000 z " + id="path1869" /> + <path + style="fill:none;stroke-width:3.2730000;stroke-linecap:round;stroke-linejoin:round;" + d="M 38.400000,6.5000000 C 38.500000,6.1000000 38.400000,5.8000000 38.200000,5.8000000 C 38.000000,5.8000000 37.900000,5.7000000 37.900000,5.7000000 C 37.900000,5.7000000 37.900000,5.7000000 37.900000,5.7000000 C 37.900000,5.7000000 37.600000,5.6000000 37.200000,5.6000000 L 18.800000,2.4000000 C 18.400000,2.3000000 17.900000,2.3000000 17.700000,2.3000000 C 17.500000,2.3000000 17.100000,2.3000000 16.900000,2.3000000 C 16.700000,2.3000000 16.500000,2.6000000 16.500000,3.0000000 L 14.000000,20.300000 C 13.900000,20.700000 14.200000,21.100000 14.600000,21.200000 L 32.200000,26.400000 C 32.600000,26.500000 32.900000,26.600000 32.900000,26.600000 C 32.900000,26.600000 32.900000,26.600000 32.900000,26.600000 C 32.900000,26.600000 33.000000,26.600000 33.200000,26.700000 C 33.400000,26.800000 33.600000,26.800000 33.700000,26.700000 C 33.800000,26.700000 34.000000,26.600000 34.000000,26.600000 C 34.100000,26.600000 34.300000,26.500000 34.300000,26.500000 C 34.300000,26.500000 34.500000,26.500000 34.700000,26.400000 C 34.900000,26.300000 35.100000,26.000000 35.200000,25.600000 L 38.400000,6.5000000 L 38.400000,6.5000000 z " + id="path1871" /> + </g> + <g + id="g1874"> + <linearGradient + id="aigrd27" + gradientUnits="userSpaceOnUse" + x1="16.602501" + y1="13.872100" + x2="34.358002" + y2="15.150900"> + <stop + offset="0" + style="stop-color:#F8F8F8" + id="stop1878" /> + <stop + offset="1" + style="stop-color:#C9C9C9" + id="stop1880" /> + </linearGradient> + <path + style="fill:url(#aigrd27);stroke:none;" + d="M 17.500000,2.5000000 C 17.000000,2.4000000 16.600000,2.8000000 16.500000,3.2000000 L 14.000000,20.100000 C 13.900000,20.600000 14.300000,21.100000 14.700000,21.200000 L 32.600000,26.400000 C 33.100000,26.500000 33.500000,26.300000 33.600000,25.800000 L 37.000000,6.7000000 C 37.100000,6.2000000 36.800000,5.8000000 36.300000,5.7000000 L 17.500000,2.5000000 z " + id="path1883" /> + </g> + <g + id="g1886"> + <linearGradient + id="aigrd28" + gradientUnits="userSpaceOnUse" + x1="31.709499" + y1="21.258801" + x2="41.333199" + y2="9.9291000" + spreadMethod="pad" + xlink:href="#linearGradient8051" /> + <path + style="fill:url(#aigrd28);stroke:none;" + d="M 35.300000,25.400000 C 35.200000,25.900000 34.800000,26.400000 34.300000,26.500000 C 33.800000,26.600000 33.600000,26.300000 33.600000,25.800000 L 37.000000,6.7000000 C 37.100000,6.2000000 37.500000,5.8000000 37.900000,5.8000000 C 38.300000,5.8000000 38.500000,6.2000000 38.400000,6.7000000 L 35.300000,25.400000 z " + id="path1895" /> + </g> + <g + id="g1898"> + <linearGradient + id="aigrd29" + gradientUnits="userSpaceOnUse" + x1="17.374001" + y1="4.0742002" + x2="37.861301" + y2="4.0742002"> + <stop + offset="0" + style="stop-color:#EBEBEB" + id="stop1902" /> + <stop + offset="1" + style="stop-color:#EAEAEA" + id="stop1904" /> + </linearGradient> + <path + style="fill:url(#aigrd29);stroke:none;" + d="M 19.000000,2.4000000 C 18.500000,2.3000000 17.800000,2.3000000 17.400000,2.3000000 C 17.000000,2.3000000 17.000000,2.4000000 17.500000,2.5000000 L 36.300000,5.6000000 C 36.800000,5.7000000 37.500000,5.7000000 37.900000,5.7000000 C 38.300000,5.7000000 38.200000,5.6000000 37.700000,5.5000000 L 19.000000,2.4000000 z " + id="path1907" /> + </g> + <path + style="fill:#848484;stroke:none;" + d="M 34.300000,26.500000 C 33.900000,26.700000 33.400000,26.700000 32.800000,26.500000 C 33.300000,26.300000 33.600000,25.900000 33.600000,25.900000 C 33.600000,25.900000 33.700000,26.600000 34.300000,26.500000 z " + id="path1910" /> + <path + style="fill:#ffffff;stroke:none;" + d="M 36.300000,5.8000000 C 36.700000,5.9000000 37.100000,5.9000000 36.800000,7.0000000 L 35.300000,16.200000 L 37.100000,6.5000000 C 37.200000,5.9000000 37.500000,5.8000000 37.800000,5.7000000 L 17.400000,2.4000000 C 17.300000,2.4000000 17.200000,2.3000000 17.200000,2.3000000 C 16.800000,2.3000000 16.500000,2.8000000 16.400000,3.2000000 C 16.600000,2.8000000 16.800000,2.6000000 17.200000,2.6000000 L 36.200000,5.8000000 L 36.300000,5.8000000 z " + id="path1912" /> + <path + style="fill:#545454;stroke:none;" + d="M 38.400000,6.7000000 C 38.400000,6.0000000 37.900000,5.8000000 37.900000,5.8000000 C 37.900000,5.8000000 38.000000,5.7000000 37.900000,5.7000000 C 38.200000,5.7000000 38.500000,6.2000000 38.400000,6.7000000 z " + id="path1914" /> + <g + id="g1916"> + <linearGradient + id="aigrd30" + gradientUnits="userSpaceOnUse" + x1="24.594700" + y1="6.3744998" + x2="24.594700" + y2="19.534800" + gradientTransform="matrix(1.000000,-2.300000e-3,2.300000e-3,1.000000,-0.254200,0.289000)" + spreadMethod="pad" + xlink:href="#linearGradient8048" /> + <path + style="fill:url(#aigrd30);stroke-width:0.42309999;" + d="M 30.200000,22.300000 L 15.900000,18.200000 L 17.800000,4.3000000 L 32.700000,6.9000000 L 30.100000,22.300000 L 30.200000,22.300000 z " + id="path1925" /> + <linearGradient + id="aigrd31" + gradientUnits="userSpaceOnUse" + x1="24.784201" + y1="6.4232998" + x2="24.784201" + y2="19.582199" + gradientTransform="matrix(1.000000,-2.300000e-3,2.300000e-3,1.000000,-0.254200,0.289000)"> + <stop + offset="0" + style="stop-color:#2F4030" + id="stop1929" /> + <stop + offset="1" + style="stop-color:#698969" + id="stop1931" /> + </linearGradient> + <path + style="fill:url(#aigrd31);stroke:none;" + d="M 30.400000,22.400000 L 16.100000,18.300000 L 18.000000,4.4000000 L 33.000000,6.9000000 L 30.400000,22.300000 L 30.400000,22.400000 z " + id="path1934" /> + <g + id="g1936"> + <linearGradient + id="aigrd32" + gradientUnits="userSpaceOnUse" + x1="25.157200" + y1="5.8223000" + x2="25.157200" + y2="11.083600" + gradientTransform="matrix(1.000000,-2.300000e-3,2.300000e-3,1.000000,-0.254200,0.289000)"> + <stop + offset="0" + style="stop-color:#E7EBEF" + id="stop1940" /> + <stop + offset="1" + style="stop-color:#739167" + id="stop1942" /> + </linearGradient> + <path + style="opacity:0.57999998;fill:url(#aigrd32);stroke:none;" + d="M 18.900000,5.1000000 C 18.800000,5.1000000 18.700000,5.2000000 18.700000,5.4000000 L 17.800000,12.000000 C 17.800000,12.200000 17.800000,12.300000 17.900000,12.300000 C 21.800000,12.300000 28.200000,10.500000 31.800000,8.8000000 C 31.900000,8.8000000 32.000000,8.7000000 32.000000,8.5000000 L 32.100000,7.9000000 C 32.100000,7.7000000 32.100000,7.5000000 32.000000,7.5000000 L 18.900000,5.1000000 z " + id="path1945" /> + </g> + <g + id="g1948" /> + </g> + <g + style="stroke:none;" + id="g1952"> + <g + id="g1954"> + <g + id="g1956"> + <g + id="g1958"> + <linearGradient + id="aigrd33" + gradientUnits="userSpaceOnUse" + x1="33.067402" + y1="18.872999" + x2="33.740200" + y2="18.080900"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop1962" /> + <stop + offset="1" + style="stop-color:#828282" + id="stop1964" /> + </linearGradient> + <path + style="fill:url(#aigrd33);" + d="M 34.400000,18.600000 L 32.600000,18.200000 L 32.500000,18.700000 L 34.400000,18.600000 z " + id="path1967" /> + <path + d="M 34.300000,19.000000 L 34.400000,18.600000 L 32.500000,18.700000 L 34.200000,19.100000 L 34.300000,19.000000 z " + id="path1969" /> + </g> + <g + id="g1972"> + <linearGradient + id="aigrd34" + gradientUnits="userSpaceOnUse" + x1="33.411098" + y1="16.837900" + x2="34.083500" + y2="16.046301"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop1976" /> + <stop + offset="1" + style="stop-color:#828282" + id="stop1978" /> + </linearGradient> + <path + style="fill:url(#aigrd34);" + d="M 34.700000,16.500000 L 33.000000,16.100000 L 32.900000,16.600000 L 34.800000,16.500000 L 34.700000,16.500000 z " + id="path1981" /> + <path + d="M 34.600000,17.000000 L 34.700000,16.600000 L 32.800000,16.700000 L 34.500000,17.100000 L 34.600000,17.000000 z " + id="path1983" /> + </g> + <g + id="g1986"> + <linearGradient + id="aigrd35" + gradientUnits="userSpaceOnUse" + x1="33.753899" + y1="14.804700" + x2="34.426399" + y2="14.012900"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop1990" /> + <stop + offset="1" + style="stop-color:#828282" + id="stop1992" /> + </linearGradient> + <path + style="fill:url(#aigrd35);" + d="M 35.100000,14.500000 L 33.300000,14.100000 L 33.200000,14.600000 L 35.100000,14.500000 z " + id="path1995" /> + <path + d="M 35.000000,14.900000 L 35.100000,14.500000 L 33.200000,14.600000 L 34.900000,15.000000 L 35.000000,14.900000 z " + id="path1997" /> + </g> + <g + id="g2000"> + <linearGradient + id="aigrd36" + gradientUnits="userSpaceOnUse" + x1="34.096699" + y1="12.769000" + x2="34.768501" + y2="11.978100"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop2004" /> + <stop + offset="1" + style="stop-color:#828282" + id="stop2006" /> + </linearGradient> + <path + style="fill:url(#aigrd36);" + d="M 35.400000,12.500000 L 33.600000,12.100000 L 33.500000,12.600000 L 35.400000,12.500000 z " + id="path2009" /> + <path + d="M 35.300000,12.900000 L 35.400000,12.500000 L 33.500000,12.600000 L 35.200000,13.000000 L 35.300000,12.900000 z " + id="path2011" /> + </g> + <g + id="g2014"> + <linearGradient + id="aigrd37" + gradientUnits="userSpaceOnUse" + x1="34.440399" + y1="10.734900" + x2="35.112301" + y2="9.9439001"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop2018" /> + <stop + offset="1" + style="stop-color:#828282" + id="stop2020" /> + </linearGradient> + <path + style="fill:url(#aigrd37);" + d="M 35.800000,10.400000 L 34.000000,10.000000 L 33.900000,10.500000 L 35.800000,10.400000 z " + id="path2023" /> + <path + d="M 35.600000,10.900000 L 35.700000,10.500000 L 33.800000,10.600000 L 35.500000,11.000000 L 35.600000,10.900000 z " + id="path2025" /> + </g> + <g + id="g2028"> + <linearGradient + id="aigrd38" + gradientUnits="userSpaceOnUse" + x1="34.784199" + y1="8.7006998" + x2="35.455700" + y2="7.9101000"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop2032" /> + <stop + offset="1" + style="stop-color:#828282" + id="stop2034" /> + </linearGradient> + <path + style="fill:url(#aigrd38);" + d="M 36.100000,8.4000000 L 34.300000,8.0000000 L 34.200000,8.5000000 L 36.100000,8.4000000 L 36.100000,8.4000000 z " + id="path2037" /> + <path + d="M 36.000000,8.8000000 L 36.100000,8.4000000 L 34.200000,8.5000000 L 36.000000,8.8000000 z " + id="path2039" /> + </g> + </g> + </g> + <g + id="g2044"> + <g + id="g2046"> + <g + id="g2048"> + <linearGradient + id="aigrd39" + gradientUnits="userSpaceOnUse" + x1="35.102501" + y1="8.6772003" + x2="35.585899" + y2="8.1082001"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop2052" /> + <stop + offset="1" + style="stop-color:#828282" + id="stop2054" /> + </linearGradient> + <path + style="fill:url(#aigrd39);" + d="M 34.600000,8.4000000 L 35.900000,8.7000000 L 36.000000,8.4000000 L 34.700000,8.4000000 L 34.600000,8.4000000 z " + id="path2057" /> + <path + d="M 34.700000,8.1000000 L 34.600000,8.4000000 L 35.900000,8.4000000 L 34.600000,8.1000000 L 34.700000,8.1000000 z " + id="path2059" /> + </g> + <g + id="g2062"> + <linearGradient + id="aigrd40" + gradientUnits="userSpaceOnUse" + x1="34.768600" + y1="10.711400" + x2="35.251999" + y2="10.142300"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop2066" /> + <stop + offset="1" + style="stop-color:#828282" + id="stop2068" /> + </linearGradient> + <path + style="fill:url(#aigrd40);" + d="M 34.300000,10.400000 L 35.600000,10.700000 L 35.700000,10.400000 L 34.400000,10.400000 L 34.300000,10.400000 z " + id="path2071" /> + <path + d="M 34.300000,10.100000 L 34.200000,10.400000 L 35.500000,10.400000 L 34.200000,10.100000 L 34.300000,10.100000 z " + id="path2073" /> + </g> + <g + id="g2076"> + <linearGradient + id="aigrd41" + gradientUnits="userSpaceOnUse" + x1="34.436501" + y1="12.746600" + x2="34.919899" + y2="12.177500"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop2080" /> + <stop + offset="1" + style="stop-color:#828282" + id="stop2082" /> + </linearGradient> + <path + style="fill:url(#aigrd41);" + d="M 33.900000,12.500000 L 35.200000,12.800000 L 35.300000,12.500000 L 34.000000,12.500000 L 33.900000,12.500000 z " + id="path2085" /> + <path + d="M 34.000000,12.100000 L 33.900000,12.400000 L 35.200000,12.400000 L 34.000000,12.100000 z " + id="path2087" /> + </g> + <g + id="g2090"> + <linearGradient + id="aigrd42" + gradientUnits="userSpaceOnUse" + x1="34.101601" + y1="14.781300" + x2="34.584999" + y2="14.212200"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop2094" /> + <stop + offset="1" + style="stop-color:#828282" + id="stop2096" /> + </linearGradient> + <path + style="fill:url(#aigrd42);" + d="M 33.600000,14.500000 L 34.900000,14.800000 L 35.000000,14.500000 L 33.700000,14.500000 L 33.600000,14.500000 z " + id="path2099" /> + <path + d="M 33.700000,14.200000 L 33.600000,14.500000 L 34.900000,14.500000 L 33.600000,14.200000 L 33.700000,14.200000 z " + id="path2101" /> + </g> + <g + id="g2104"> + <linearGradient + id="aigrd43" + gradientUnits="userSpaceOnUse" + x1="33.768600" + y1="16.815901" + x2="34.251900" + y2="16.246901"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop2108" /> + <stop + offset="1" + style="stop-color:#828282" + id="stop2110" /> + </linearGradient> + <path + style="fill:url(#aigrd43);" + d="M 33.300000,16.500000 L 34.600000,16.800000 L 34.700000,16.500000 L 33.400000,16.500000 L 33.300000,16.500000 z " + id="path2113" /> + <path + d="M 33.300000,16.200000 L 33.200000,16.500000 L 34.500000,16.500000 L 33.200000,16.200000 L 33.300000,16.200000 z " + id="path2115" /> + </g> + <g + id="g2118"> + <linearGradient + id="aigrd44" + gradientUnits="userSpaceOnUse" + x1="33.435501" + y1="18.851101" + x2="33.918900" + y2="18.282000"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop2122" /> + <stop + offset="1" + style="stop-color:#828282" + id="stop2124" /> + </linearGradient> + <path + style="fill:url(#aigrd44);" + d="M 32.900000,18.600000 L 34.200000,18.900000 L 34.300000,18.600000 L 33.000000,18.600000 L 32.900000,18.600000 z " + id="path2127" /> + <path + d="M 33.000000,18.200000 L 32.900000,18.500000 L 34.200000,18.500000 L 33.000000,18.200000 z " + id="path2129" /> + </g> + </g> + </g> + </g> + <path + style="fill:none;stroke:none;" + d="M 64.000000,52.000000 L 0.0000000,52.000000 L 0.0000000,0.0000000 L 64.000000,0.0000000 L 64.000000,52.000000 z " + id="path2135" /> + </g> + <g + id="Layer_x0020_7" + style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;" /> + </g> + <text + xml:space="preserve" + style="font-size:12.000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#000000;fill-opacity:1.0000000;stroke:#ffffff;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;text-anchor:start;writing-mode:lr;" + x="350.16705" + y="521.00403" + id="text2764" + sodipodi:linespacing="100%"><tspan + id="tspan2765">Service Provider</tspan></text> + <text + xml:space="preserve" + style="font-size:12.000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#000000;fill-opacity:1.0000000;stroke:#ffffff;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;text-anchor:start;writing-mode:lr;" + x="197.21687" + y="486.28748" + id="text3388" + sodipodi:linespacing="100%"><tspan + id="tspan3389">Identity Provider</tspan></text> + <text + xml:space="preserve" + style="font-size:12.000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#000000;fill-opacity:1.0000000;stroke:#ffffff;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;text-anchor:start;writing-mode:lr;" + x="279.66901" + y="627.77936" + id="text3391" + sodipodi:linespacing="100%"><tspan + id="tspan3392">User</tspan></text> + <path + style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;marker-start:none;marker-end:url(#TriangleOutM);" + d="M 283.48221,589.26691 L 327.14157,521.88178" + id="path3395" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;marker-start:url(#TriangleInM);marker-end:none;" + d="M 285.15797,593.36298 L 328.81733,525.97785" + id="path4129" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;marker-start:none;marker-end:url(#TriangleOutM);" + d="M 306.75145,600.20093 L 350.41081,532.81580" + id="path4772" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;marker-start:url(#TriangleInM);marker-end:none;" + d="M 309.99049,604.15973 L 353.64985,536.77460" + id="path4774" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;marker-start:none;marker-end:url(#TriangleOutM);" + d="M 245.92976,596.96189 L 210.41295,500.06564" + id="path4775" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;marker-start:url(#TriangleInM);marker-end:none;" + d="M 247.72922,588.68438 L 216.89100,500.42553" + id="path4776" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.2500000;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.50381678;stroke-miterlimit:4.0000000;stroke-dasharray:1.2500000,1.2500000;stroke-dashoffset:0.0000000;" + d="M 308.06732,606.81623 C 294.03154,623.37125 261.28140,635.60757 246.16595,598.17883" + id="path6069" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.2500000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:1.2500000 1.2500000 ;stroke-dashoffset:0.0000000;stroke-opacity:0.50381678;" + d="M 283.59467,588.40561 C 269.55889,604.96063 254.08355,597.76280 249.04507,591.28475" + id="path7362" + sodipodi:nodetypes="cc" /> + <text + xml:space="preserve" + style="font-size:12.000000;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;" + x="302.30905" + y="596.01947" + id="text7366"><tspan + id="tspan7367">1</tspan></text> + <text + xml:space="preserve" + style="font-size:12.000000;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;" + x="353.05377" + y="543.11542" + id="text7369"><tspan + id="tspan7370">2</tspan></text> + <text + xml:space="preserve" + style="font-size:12.000000;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;" + x="325.34210" + y="540.59613" + id="text7372"><tspan + id="tspan7373">8</tspan></text> + <text + xml:space="preserve" + style="font-size:12.000000;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;" + x="279.63586" + y="582.34363" + id="text7375"><tspan + id="tspan7376">7</tspan></text> + <text + xml:space="preserve" + style="font-size:12.000000;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;" + x="233.92963" + y="594.93982" + id="text7378"><tspan + id="tspan7379">3</tspan></text> + <text + xml:space="preserve" + style="font-size:12.000000;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;" + x="223.13287" + y="514.68396" + id="text7381"><tspan + id="tspan7382">6</tspan></text> + <g + id="g8063" + transform="translate(-77.37672,-22.31329)"> + <rect + style="fill:url(#linearGradient8059);fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.75000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;" + id="rect7398" + width="24.112743" + height="8.9972935" + x="373.20773" + y="571.18695" /> + <text + xml:space="preserve" + style="font-size:8.0000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;text-anchor:start;writing-mode:lr;" + x="375.36707" + y="578.74469" + id="text8060" + sodipodi:linespacing="100%"><tspan + id="tspan8061">HTTP</tspan></text> + </g> + <g + id="g8068" + transform="translate(-52.36426,-3.059082)"> + <rect + style="fill:url(#linearGradient8059);fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.75000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;" + id="rect8069" + width="24.112743" + height="8.9972935" + x="373.20773" + y="571.18695" /> + <text + xml:space="preserve" + style="font-size:8.0000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;text-anchor:start;writing-mode:lr;" + x="375.36707" + y="578.74469" + id="text8070" + sodipodi:linespacing="100%"><tspan + id="tspan8071">HTTP</tspan></text> + </g> + <g + id="g8073" + transform="translate(-157.8125,-40.84771)"> + <rect + style="fill:url(#linearGradient8059);fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.75000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;" + id="rect8074" + width="24.112743" + height="8.9972935" + x="373.20773" + y="571.18695" /> + <text + xml:space="preserve" + style="font-size:8.0000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;text-anchor:start;writing-mode:lr;" + x="375.36707" + y="578.74469" + id="text8075" + sodipodi:linespacing="100%"><tspan + id="tspan8076">HTTP</tspan></text> + </g> + <g + id="g1383" + transform="translate(66.12958,449.7745)"> + <g + id="g1384" + style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;"> + <path + style="fill:none;stroke:none;" + d="M 70.000000,60.000000 L 0.0000000,60.000000 L 0.0000000,0.0000000 L 70.000000,0.0000000 L 70.000000,60.000000 z " + id="path1385" /> + </g> + <g + id="g1386" + style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;"> + <path + style="opacity:0.24999996;stroke:none;" + d="M 65.200000,34.600000 C 67.200000,35.100000 69.000000,38.100000 66.200000,40.000000 L 37.700000,57.000000 L 26.800000,24.500000 L 65.300000,34.600000 L 65.200000,34.600000 z " + id="path1387" /> + <path + style="stroke:none;" + d="M 27.000000,21.100000 C 27.000000,21.100000 27.000000,21.100000 26.900000,21.100000 C 26.800000,21.100000 6.6000000,32.800000 6.6000000,32.800000 L 6.6000000,32.800000 C 5.2000000,33.700000 4.0000000,35.000000 3.8000000,36.900000 C 3.8000000,37.100000 3.8000000,37.400000 3.8000000,37.700000 L 3.8000000,37.700000 L 4.1000000,43.300000 C 4.2000000,45.200000 5.4000000,46.100000 6.1000000,46.400000 C 6.1000000,46.400000 6.1000000,46.400000 6.2000000,46.400000 C 6.2000000,46.400000 34.000000,57.100000 34.000000,57.100000 C 35.800000,57.800000 37.800000,57.400000 39.100000,56.200000 L 58.800000,41.000000 C 60.000000,39.900000 60.100000,38.800000 60.200000,38.400000 L 60.200000,38.200000 L 60.500000,33.700000 C 60.500000,33.100000 60.600000,32.000000 60.300000,30.900000 C 59.900000,29.500000 58.900000,28.600000 57.500000,28.200000 L 31.200000,20.800000 C 30.100000,20.500000 28.900000,20.200000 26.900000,21.000000 L 27.000000,21.100000 z " + id="path1388" /> + <linearGradient + id="linearGradient1389" + gradientUnits="userSpaceOnUse" + x1="7.6943002" + y1="35.450199" + x2="57.984402" + y2="35.450199" + gradientTransform="matrix(0.997000,7.730000e-2,-7.730000e-2,0.997000,1.700200,-3.835900)"> + <stop + offset="0" + style="stop-color:#CFCFCF" + id="stop1390" /> + <stop + offset="1" + style="stop-color:#EAEAEA" + id="stop1391" /> + </linearGradient> + <path + style="fill:url(#aigrd1);stroke:none;" + d="M 30.900000,22.900000 C 29.800000,22.500000 28.400000,22.500000 27.700000,22.700000 C 27.200000,22.900000 8.2000000,33.700000 7.2000000,34.400000 C 6.2000000,35.000000 6.0000000,36.200000 7.3000000,36.600000 C 8.6000000,37.100000 33.200000,45.000000 34.300000,45.300000 C 35.400000,45.600000 37.000000,45.600000 37.600000,45.100000 C 38.200000,44.600000 56.500000,31.800000 57.100000,31.300000 C 57.700000,30.800000 56.600000,29.900000 55.700000,29.700000 C 54.800000,29.400000 32.000000,23.200000 30.900000,22.800000 L 30.900000,22.900000 z " + id="path1392" /> + <linearGradient + id="linearGradient1394" + gradientUnits="userSpaceOnUse" + x1="9.7152996" + y1="46.870098" + x2="35.932899" + y2="48.758400" + gradientTransform="matrix(0.997000,7.730000e-2,-7.730000e-2,0.997000,1.700200,-3.835900)"> + <stop + offset="0" + style="stop-color:#F8F8F8" + id="stop1396" /> + <stop + offset="1" + style="stop-color:#B5B5B5" + id="stop1398" /> + </linearGradient> + <path + style="fill:url(#aigrd2);stroke:none;" + d="M 5.5000000,37.700000 C 5.4000000,36.800000 6.1000000,36.300000 6.8000000,36.500000 C 7.4000000,36.700000 33.900000,45.400000 34.900000,46.000000 C 35.900000,46.600000 36.500000,46.900000 36.400000,47.700000 C 36.300000,48.500000 36.000000,52.900000 35.900000,53.500000 C 35.800000,54.200000 35.300000,54.900000 34.300000,54.700000 C 31.300000,54.000000 6.9000000,44.200000 6.9000000,44.200000 C 6.1000000,43.900000 5.9000000,43.400000 5.9000000,42.500000 L 5.6000000,37.600000 L 5.5000000,37.700000 z " + id="path1399" /> + <linearGradient + id="linearGradient1400" + gradientUnits="userSpaceOnUse" + x1="40.842800" + y1="51.790001" + x2="57.230701" + y2="32.497101" + gradientTransform="matrix(0.997000,7.730000e-2,-7.730000e-2,0.997000,1.700200,-3.835900)"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop1401" /> + <stop + offset="1" + style="stop-color:#828282" + id="stop1402" /> + </linearGradient> + <path + style="fill:url(#aigrd3);stroke:none;" + d="M 37.000000,54.300000 C 36.500000,54.700000 35.600000,54.200000 35.700000,53.300000 C 35.800000,52.400000 36.100000,48.300000 36.200000,47.500000 C 36.300000,46.700000 36.600000,46.000000 37.200000,45.500000 C 37.800000,45.000000 56.200000,32.200000 56.900000,31.600000 C 57.600000,31.000000 58.000000,32.100000 57.900000,32.700000 C 57.800000,33.300000 57.600000,37.200000 57.500000,37.700000 C 57.500000,38.300000 57.400000,38.600000 56.800000,39.100000 C 56.300000,39.600000 37.500000,53.900000 37.000000,54.300000 z " + id="path1403" /> + <g + style="fill:#ffffff;stroke:none;" + id="g1404"> + <path + d="M 35.500000,45.200000 C 33.800000,45.100000 6.8000000,36.000000 6.6000000,35.900000 C 6.4000000,35.800000 6.6000000,34.900000 7.2000000,34.300000 C 5.5000000,35.400000 5.5000000,37.400000 5.5000000,37.400000 C 5.5000000,37.400000 5.7000000,36.500000 6.5000000,36.400000 C 9.8000000,37.600000 33.200000,45.700000 34.100000,46.000000 C 35.100000,46.300000 35.400000,47.500000 35.400000,48.400000 L 35.700000,53.800000 L 36.300000,48.400000 C 36.400000,47.500000 36.800000,45.900000 37.800000,45.200000 C 38.300000,44.900000 50.300000,36.200000 54.800000,33.000000 C 50.200000,36.300000 37.500000,45.300000 35.400000,45.100000 L 35.500000,45.200000 z " + id="path1405" /> + <path + d="M 54.900000,33.100000 C 55.900000,32.400000 56.500000,31.900000 56.500000,31.900000 C 56.500000,31.900000 55.900000,32.300000 54.900000,33.100000 z " + id="path1406" /> + </g> + <path + style="fill:#848484;stroke:none;" + d="M 36.900000,54.400000 C 36.300000,54.900000 35.900000,55.000000 34.600000,54.800000 C 35.500000,54.500000 35.800000,53.900000 35.800000,53.900000 C 35.800000,53.900000 36.000000,54.400000 36.800000,54.400000 L 36.900000,54.400000 z " + id="path1407" /> + <g + id="g1408"> + <g + id="g1409"> + <path + style="stroke:none;" + d="M 11.900000,40.000000 L 11.800000,42.000000 L 7.1000000,40.100000 L 7.1000000,38.300000 L 11.900000,40.000000 L 11.900000,40.000000 z " + id="path1410" /> + <path + style="fill:#2a2a26;stroke:none;" + d="M 11.800000,40.000000 L 11.700000,41.700000 L 7.4000000,40.000000 L 7.4000000,38.400000 L 11.700000,39.900000 L 11.800000,40.000000 z " + id="path1411" /> + <path + style="fill:#535445;stroke:none;" + d="M 11.700000,40.000000 L 11.600000,41.500000 L 7.9000000,40.000000 L 7.9000000,38.600000 L 11.700000,39.900000 L 11.700000,40.000000 z " + id="path1412" /> + <path + style="fill:#7b7d5b;stroke:none;" + d="M 11.600000,39.900000 L 11.500000,41.200000 L 8.3000000,40.000000 L 8.3000000,38.800000 L 11.600000,40.000000 L 11.600000,39.900000 z " + id="path1413" /> + <path + style="fill:#a3a76a;stroke:none;" + d="M 11.500000,39.900000 L 11.500000,41.000000 L 8.7000000,39.900000 L 8.7000000,38.900000 L 11.600000,39.900000 L 11.500000,39.900000 z " + id="path1414" /> + <path + style="fill:#c9cf71;stroke:none;" + d="M 11.400000,39.900000 L 11.400000,40.800000 L 9.0000000,39.900000 L 9.0000000,39.100000 L 11.400000,39.900000 z " + id="path1415" /> + <path + style="fill:#f0f970;stroke:none;" + d="M 11.300000,39.800000 L 11.300000,40.500000 L 9.4000000,39.800000 L 9.4000000,39.100000 L 11.300000,39.700000 L 11.300000,39.800000 z " + id="path1416" /> + </g> + </g> + <path + style="fill:#545454;stroke:none;" + d="M 55.900000,29.800000 C 57.000000,30.300000 57.400000,31.000000 56.900000,31.500000 C 57.500000,31.100000 57.900000,32.500000 57.900000,32.500000 C 58.000000,31.700000 58.000000,30.300000 55.900000,29.800000 z " + id="path1417" /> + </g> + <g + id="g1418" + style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;"> + <radialGradient + id="radialGradient1419" + cx="27.577101" + cy="13.338400" + r="22.910500" + fx="27.577101" + fy="13.338400" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#2286B7" + id="stop1420" /> + <stop + offset="1" + style="stop-color:#190F50" + id="stop1421" /> + </radialGradient> + <path + style="fill:url(#aigrd4);fill-rule:evenodd;stroke-width:3.3747001;" + d="M 15.200000,20.300000 C 15.200000,29.200000 22.400000,36.400000 31.300000,36.400000 C 40.200000,36.400000 47.400000,29.200000 47.400000,20.300000 C 47.400000,11.400000 40.200000,4.2000000 31.300000,4.2000000 C 22.400000,4.2000000 15.200000,11.400000 15.200000,20.300000 L 15.200000,20.300000 z " + id="path1423" /> + <radialGradient + id="radialGradient1424" + cx="26.127001" + cy="13.318800" + r="24.134199" + fx="26.127001" + fy="13.318800" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#99BBA8" + id="stop1425" /> + <stop + offset="4.483276e-002" + style="stop-color:#94B8A9" + id="stop1426" /> + <stop + offset="9.596599e-002" + style="stop-color:#87B0A9" + id="stop1427" /> + <stop + offset="0.1502" + style="stop-color:#72A1A9" + id="stop1428" /> + <stop + offset="0.2065" + style="stop-color:#538FA8" + id="stop1429" /> + <stop + offset="0.264" + style="stop-color:#2E79A7" + id="stop1430" /> + <stop + offset="0.2865" + style="stop-color:#1D70A5" + id="stop1431" /> + <stop + offset="0.8539" + style="stop-color:#190F50" + id="stop1432" /> + <stop + offset="1" + style="stop-color:#585287" + id="stop1433" /> + </radialGradient> + <path + style="fill:url(#aigrd5);fill-rule:evenodd;stroke:none;" + d="M 15.200000,20.300000 C 15.200000,29.200000 22.400000,36.400000 31.300000,36.400000 C 40.200000,36.400000 47.400000,29.200000 47.400000,20.300000 C 47.400000,11.400000 40.200000,4.2000000 31.300000,4.2000000 C 22.400000,4.2000000 15.200000,11.400000 15.200000,20.300000 L 15.200000,20.300000 z " + id="path1434" /> + <radialGradient + id="radialGradient1435" + cx="25.506300" + cy="13.189500" + r="19.858400" + fx="25.506300" + fy="13.189500" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#D5D690" + id="stop1436" /> + <stop + offset="0.2202" + style="stop-color:#CFD08C" + id="stop1437" /> + <stop + offset="0.4404" + style="stop-color:#BFBF80" + id="stop1438" /> + <stop + offset="0.6607" + style="stop-color:#A4A46D" + id="stop1439" /> + <stop + offset="0.8799" + style="stop-color:#828257" + id="stop1440" /> + <stop + offset="0.927" + style="stop-color:#7A7A52" + id="stop1441" /> + <stop + offset="1" + style="stop-color:#9C9C68" + id="stop1442" /> + </radialGradient> + <path + style="fill:url(#aigrd6);fill-rule:evenodd;stroke:none;" + d="M 29.200000,10.700000 L 33.000000,14.000000 L 34.800000,10.900000 L 37.400000,13.800000 L 33.000000,16.200000 L 32.400000,20.100000 L 33.300000,21.700000 L 32.400000,21.700000 L 31.300000,20.100000 L 27.700000,20.100000 L 26.300000,22.500000 L 29.900000,24.600000 L 35.100000,27.600000 L 30.800000,31.200000 L 30.800000,34.800000 L 27.500000,27.300000 L 28.800000,25.100000 L 25.000000,22.500000 L 25.000000,19.300000 L 23.200000,12.800000 L 21.100000,11.600000 L 21.300000,9.3000000 L 24.100000,7.3000000 L 24.100000,9.8000000 L 29.100000,10.500000 L 29.200000,10.700000 z " + id="path1444" /> + <radialGradient + id="radialGradient1445" + cx="27.575199" + cy="14.522900" + r="17.179100" + fx="27.575199" + fy="14.522900" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#D5D690" + id="stop1446" /> + <stop + offset="0.2202" + style="stop-color:#CFD08C" + id="stop1447" /> + <stop + offset="0.4404" + style="stop-color:#BFBF80" + id="stop1448" /> + <stop + offset="0.6607" + style="stop-color:#A4A46D" + id="stop1449" /> + <stop + offset="0.8799" + style="stop-color:#828257" + id="stop1450" /> + <stop + offset="0.927" + style="stop-color:#7A7A52" + id="stop1451" /> + <stop + offset="1" + style="stop-color:#9C9C68" + id="stop1452" /> + </radialGradient> + <path + style="fill:url(#aigrd7);fill-rule:evenodd;stroke:none;" + d="M 40.400000,8.8000000 L 40.400000,10.800000 L 41.600000,12.800000 L 41.600000,16.000000 L 43.400000,17.000000 L 43.600000,14.900000 L 42.500000,13.100000 L 44.100000,13.100000 L 40.400000,8.8000000 z " + id="path1453" /> + </g> + </g> + <g + id="g1454" + transform="translate(85.92361,499.4395)"> + <g + id="g1455" + style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;"> + <path + style="fill:none;stroke:none;" + d="M 70.000000,60.000000 L 0.0000000,60.000000 L 0.0000000,0.0000000 L 70.000000,0.0000000 L 70.000000,60.000000 z " + id="path1456" /> + </g> + <g + id="g1457" + style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;"> + <path + style="opacity:0.24999996;stroke:none;" + d="M 65.200000,34.600000 C 67.200000,35.100000 69.000000,38.100000 66.200000,40.000000 L 37.700000,57.000000 L 26.800000,24.500000 L 65.300000,34.600000 L 65.200000,34.600000 z " + id="path1458" /> + <path + style="stroke:none;" + d="M 27.000000,21.100000 C 27.000000,21.100000 27.000000,21.100000 26.900000,21.100000 C 26.800000,21.100000 6.6000000,32.800000 6.6000000,32.800000 L 6.6000000,32.800000 C 5.2000000,33.700000 4.0000000,35.000000 3.8000000,36.900000 C 3.8000000,37.100000 3.8000000,37.400000 3.8000000,37.700000 L 3.8000000,37.700000 L 4.1000000,43.300000 C 4.2000000,45.200000 5.4000000,46.100000 6.1000000,46.400000 C 6.1000000,46.400000 6.1000000,46.400000 6.2000000,46.400000 C 6.2000000,46.400000 34.000000,57.100000 34.000000,57.100000 C 35.800000,57.800000 37.800000,57.400000 39.100000,56.200000 L 58.800000,41.000000 C 60.000000,39.900000 60.100000,38.800000 60.200000,38.400000 L 60.200000,38.200000 L 60.500000,33.700000 C 60.500000,33.100000 60.600000,32.000000 60.300000,30.900000 C 59.900000,29.500000 58.900000,28.600000 57.500000,28.200000 L 31.200000,20.800000 C 30.100000,20.500000 28.900000,20.200000 26.900000,21.000000 L 27.000000,21.100000 z " + id="path1459" /> + <linearGradient + id="linearGradient1460" + gradientUnits="userSpaceOnUse" + x1="7.6943002" + y1="35.450199" + x2="57.984402" + y2="35.450199" + gradientTransform="matrix(0.997000,7.730000e-2,-7.730000e-2,0.997000,1.700200,-3.835900)"> + <stop + offset="0" + style="stop-color:#CFCFCF" + id="stop1461" /> + <stop + offset="1" + style="stop-color:#EAEAEA" + id="stop1462" /> + </linearGradient> + <path + style="fill:url(#aigrd1);stroke:none;" + d="M 30.900000,22.900000 C 29.800000,22.500000 28.400000,22.500000 27.700000,22.700000 C 27.200000,22.900000 8.2000000,33.700000 7.2000000,34.400000 C 6.2000000,35.000000 6.0000000,36.200000 7.3000000,36.600000 C 8.6000000,37.100000 33.200000,45.000000 34.300000,45.300000 C 35.400000,45.600000 37.000000,45.600000 37.600000,45.100000 C 38.200000,44.600000 56.500000,31.800000 57.100000,31.300000 C 57.700000,30.800000 56.600000,29.900000 55.700000,29.700000 C 54.800000,29.400000 32.000000,23.200000 30.900000,22.800000 L 30.900000,22.900000 z " + id="path1463" /> + <linearGradient + id="linearGradient1464" + gradientUnits="userSpaceOnUse" + x1="9.7152996" + y1="46.870098" + x2="35.932899" + y2="48.758400" + gradientTransform="matrix(0.997000,7.730000e-2,-7.730000e-2,0.997000,1.700200,-3.835900)"> + <stop + offset="0" + style="stop-color:#F8F8F8" + id="stop1466" /> + <stop + offset="1" + style="stop-color:#B5B5B5" + id="stop1468" /> + </linearGradient> + <path + style="fill:url(#aigrd2);stroke:none;" + d="M 5.5000000,37.700000 C 5.4000000,36.800000 6.1000000,36.300000 6.8000000,36.500000 C 7.4000000,36.700000 33.900000,45.400000 34.900000,46.000000 C 35.900000,46.600000 36.500000,46.900000 36.400000,47.700000 C 36.300000,48.500000 36.000000,52.900000 35.900000,53.500000 C 35.800000,54.200000 35.300000,54.900000 34.300000,54.700000 C 31.300000,54.000000 6.9000000,44.200000 6.9000000,44.200000 C 6.1000000,43.900000 5.9000000,43.400000 5.9000000,42.500000 L 5.6000000,37.600000 L 5.5000000,37.700000 z " + id="path1469" /> + <linearGradient + id="linearGradient1470" + gradientUnits="userSpaceOnUse" + x1="40.842800" + y1="51.790001" + x2="57.230701" + y2="32.497101" + gradientTransform="matrix(0.997000,7.730000e-2,-7.730000e-2,0.997000,1.700200,-3.835900)"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop1472" /> + <stop + offset="1" + style="stop-color:#828282" + id="stop1474" /> + </linearGradient> + <path + style="fill:url(#aigrd3);stroke:none;" + d="M 37.000000,54.300000 C 36.500000,54.700000 35.600000,54.200000 35.700000,53.300000 C 35.800000,52.400000 36.100000,48.300000 36.200000,47.500000 C 36.300000,46.700000 36.600000,46.000000 37.200000,45.500000 C 37.800000,45.000000 56.200000,32.200000 56.900000,31.600000 C 57.600000,31.000000 58.000000,32.100000 57.900000,32.700000 C 57.800000,33.300000 57.600000,37.200000 57.500000,37.700000 C 57.500000,38.300000 57.400000,38.600000 56.800000,39.100000 C 56.300000,39.600000 37.500000,53.900000 37.000000,54.300000 z " + id="path1475" /> + <g + style="fill:#ffffff;stroke:none;" + id="g1476"> + <path + d="M 35.500000,45.200000 C 33.800000,45.100000 6.8000000,36.000000 6.6000000,35.900000 C 6.4000000,35.800000 6.6000000,34.900000 7.2000000,34.300000 C 5.5000000,35.400000 5.5000000,37.400000 5.5000000,37.400000 C 5.5000000,37.400000 5.7000000,36.500000 6.5000000,36.400000 C 9.8000000,37.600000 33.200000,45.700000 34.100000,46.000000 C 35.100000,46.300000 35.400000,47.500000 35.400000,48.400000 L 35.700000,53.800000 L 36.300000,48.400000 C 36.400000,47.500000 36.800000,45.900000 37.800000,45.200000 C 38.300000,44.900000 50.300000,36.200000 54.800000,33.000000 C 50.200000,36.300000 37.500000,45.300000 35.400000,45.100000 L 35.500000,45.200000 z " + id="path1477" /> + <path + d="M 54.900000,33.100000 C 55.900000,32.400000 56.500000,31.900000 56.500000,31.900000 C 56.500000,31.900000 55.900000,32.300000 54.900000,33.100000 z " + id="path1478" /> + </g> + <path + style="fill:#848484;stroke:none;" + d="M 36.900000,54.400000 C 36.300000,54.900000 35.900000,55.000000 34.600000,54.800000 C 35.500000,54.500000 35.800000,53.900000 35.800000,53.900000 C 35.800000,53.900000 36.000000,54.400000 36.800000,54.400000 L 36.900000,54.400000 z " + id="path1479" /> + <g + id="g1480"> + <g + id="g1481"> + <path + style="stroke:none;" + d="M 11.900000,40.000000 L 11.800000,42.000000 L 7.1000000,40.100000 L 7.1000000,38.300000 L 11.900000,40.000000 L 11.900000,40.000000 z " + id="path1482" /> + <path + style="fill:#2a2a26;stroke:none;" + d="M 11.800000,40.000000 L 11.700000,41.700000 L 7.4000000,40.000000 L 7.4000000,38.400000 L 11.700000,39.900000 L 11.800000,40.000000 z " + id="path1483" /> + <path + style="fill:#535445;stroke:none;" + d="M 11.700000,40.000000 L 11.600000,41.500000 L 7.9000000,40.000000 L 7.9000000,38.600000 L 11.700000,39.900000 L 11.700000,40.000000 z " + id="path1485" /> + <path + style="fill:#7b7d5b;stroke:none;" + d="M 11.600000,39.900000 L 11.500000,41.200000 L 8.3000000,40.000000 L 8.3000000,38.800000 L 11.600000,40.000000 L 11.600000,39.900000 z " + id="path1486" /> + <path + style="fill:#a3a76a;stroke:none;" + d="M 11.500000,39.900000 L 11.500000,41.000000 L 8.7000000,39.900000 L 8.7000000,38.900000 L 11.600000,39.900000 L 11.500000,39.900000 z " + id="path1487" /> + <path + style="fill:#c9cf71;stroke:none;" + d="M 11.400000,39.900000 L 11.400000,40.800000 L 9.0000000,39.900000 L 9.0000000,39.100000 L 11.400000,39.900000 z " + id="path1488" /> + <path + style="fill:#f0f970;stroke:none;" + d="M 11.300000,39.800000 L 11.300000,40.500000 L 9.4000000,39.800000 L 9.4000000,39.100000 L 11.300000,39.700000 L 11.300000,39.800000 z " + id="path1489" /> + </g> + </g> + <path + style="fill:#545454;stroke:none;" + d="M 55.900000,29.800000 C 57.000000,30.300000 57.400000,31.000000 56.900000,31.500000 C 57.500000,31.100000 57.900000,32.500000 57.900000,32.500000 C 58.000000,31.700000 58.000000,30.300000 55.900000,29.800000 z " + id="path1490" /> + </g> + <g + id="g1491" + style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;"> + <radialGradient + id="radialGradient1492" + cx="27.577101" + cy="13.338400" + r="22.910500" + fx="27.577101" + fy="13.338400" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#2286B7" + id="stop1493" /> + <stop + offset="1" + style="stop-color:#190F50" + id="stop1495" /> + </radialGradient> + <path + style="fill:url(#aigrd4);fill-rule:evenodd;stroke-width:3.3747001;" + d="M 15.200000,20.300000 C 15.200000,29.200000 22.400000,36.400000 31.300000,36.400000 C 40.200000,36.400000 47.400000,29.200000 47.400000,20.300000 C 47.400000,11.400000 40.200000,4.2000000 31.300000,4.2000000 C 22.400000,4.2000000 15.200000,11.400000 15.200000,20.300000 L 15.200000,20.300000 z " + id="path1496" /> + <radialGradient + id="radialGradient1497" + cx="26.127001" + cy="13.318800" + r="24.134199" + fx="26.127001" + fy="13.318800" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#99BBA8" + id="stop1499" /> + <stop + offset="4.483276e-002" + style="stop-color:#94B8A9" + id="stop1501" /> + <stop + offset="9.596599e-002" + style="stop-color:#87B0A9" + id="stop1502" /> + <stop + offset="0.1502" + style="stop-color:#72A1A9" + id="stop1503" /> + <stop + offset="0.2065" + style="stop-color:#538FA8" + id="stop1504" /> + <stop + offset="0.264" + style="stop-color:#2E79A7" + id="stop1505" /> + <stop + offset="0.2865" + style="stop-color:#1D70A5" + id="stop1506" /> + <stop + offset="0.8539" + style="stop-color:#190F50" + id="stop1508" /> + <stop + offset="1" + style="stop-color:#585287" + id="stop1510" /> + </radialGradient> + <path + style="fill:url(#aigrd5);fill-rule:evenodd;stroke:none;" + d="M 15.200000,20.300000 C 15.200000,29.200000 22.400000,36.400000 31.300000,36.400000 C 40.200000,36.400000 47.400000,29.200000 47.400000,20.300000 C 47.400000,11.400000 40.200000,4.2000000 31.300000,4.2000000 C 22.400000,4.2000000 15.200000,11.400000 15.200000,20.300000 L 15.200000,20.300000 z " + id="path1511" /> + <radialGradient + id="radialGradient1512" + cx="25.506300" + cy="13.189500" + r="19.858400" + fx="25.506300" + fy="13.189500" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#D5D690" + id="stop1514" /> + <stop + offset="0.2202" + style="stop-color:#CFD08C" + id="stop1516" /> + <stop + offset="0.4404" + style="stop-color:#BFBF80" + id="stop1518" /> + <stop + offset="0.6607" + style="stop-color:#A4A46D" + id="stop1520" /> + <stop + offset="0.8799" + style="stop-color:#828257" + id="stop1521" /> + <stop + offset="0.927" + style="stop-color:#7A7A52" + id="stop1522" /> + <stop + offset="1" + style="stop-color:#9C9C68" + id="stop1523" /> + </radialGradient> + <path + style="fill:url(#aigrd6);fill-rule:evenodd;stroke:none;" + d="M 29.200000,10.700000 L 33.000000,14.000000 L 34.800000,10.900000 L 37.400000,13.800000 L 33.000000,16.200000 L 32.400000,20.100000 L 33.300000,21.700000 L 32.400000,21.700000 L 31.300000,20.100000 L 27.700000,20.100000 L 26.300000,22.500000 L 29.900000,24.600000 L 35.100000,27.600000 L 30.800000,31.200000 L 30.800000,34.800000 L 27.500000,27.300000 L 28.800000,25.100000 L 25.000000,22.500000 L 25.000000,19.300000 L 23.200000,12.800000 L 21.100000,11.600000 L 21.300000,9.3000000 L 24.100000,7.3000000 L 24.100000,9.8000000 L 29.100000,10.500000 L 29.200000,10.700000 z " + id="path1524" /> + <radialGradient + id="radialGradient1525" + cx="27.575199" + cy="14.522900" + r="17.179100" + fx="27.575199" + fy="14.522900" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#D5D690" + id="stop1526" /> + <stop + offset="0.2202" + style="stop-color:#CFD08C" + id="stop1527" /> + <stop + offset="0.4404" + style="stop-color:#BFBF80" + id="stop1528" /> + <stop + offset="0.6607" + style="stop-color:#A4A46D" + id="stop1529" /> + <stop + offset="0.8799" + style="stop-color:#828257" + id="stop1530" /> + <stop + offset="0.927" + style="stop-color:#7A7A52" + id="stop1531" /> + <stop + offset="1" + style="stop-color:#9C9C68" + id="stop1532" /> + </radialGradient> + <path + style="fill:url(#aigrd7);fill-rule:evenodd;stroke:none;" + d="M 40.400000,8.8000000 L 40.400000,10.800000 L 41.600000,12.800000 L 41.600000,16.000000 L 43.400000,17.000000 L 43.600000,14.900000 L 42.500000,13.100000 L 44.100000,13.100000 L 40.400000,8.8000000 z " + id="path1533" /> + </g> + </g> + <g + id="g1534" + transform="translate(134.5090,531.1101)"> + <g + id="g1535" + style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;"> + <path + style="fill:none;stroke:none;" + d="M 70.000000,60.000000 L 0.0000000,60.000000 L 0.0000000,0.0000000 L 70.000000,0.0000000 L 70.000000,60.000000 z " + id="path1536" /> + </g> + <g + id="g1537" + style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;"> + <path + style="opacity:0.24999996;stroke:none;" + d="M 65.200000,34.600000 C 67.200000,35.100000 69.000000,38.100000 66.200000,40.000000 L 37.700000,57.000000 L 26.800000,24.500000 L 65.300000,34.600000 L 65.200000,34.600000 z " + id="path1538" /> + <path + style="stroke:none;" + d="M 27.000000,21.100000 C 27.000000,21.100000 27.000000,21.100000 26.900000,21.100000 C 26.800000,21.100000 6.6000000,32.800000 6.6000000,32.800000 L 6.6000000,32.800000 C 5.2000000,33.700000 4.0000000,35.000000 3.8000000,36.900000 C 3.8000000,37.100000 3.8000000,37.400000 3.8000000,37.700000 L 3.8000000,37.700000 L 4.1000000,43.300000 C 4.2000000,45.200000 5.4000000,46.100000 6.1000000,46.400000 C 6.1000000,46.400000 6.1000000,46.400000 6.2000000,46.400000 C 6.2000000,46.400000 34.000000,57.100000 34.000000,57.100000 C 35.800000,57.800000 37.800000,57.400000 39.100000,56.200000 L 58.800000,41.000000 C 60.000000,39.900000 60.100000,38.800000 60.200000,38.400000 L 60.200000,38.200000 L 60.500000,33.700000 C 60.500000,33.100000 60.600000,32.000000 60.300000,30.900000 C 59.900000,29.500000 58.900000,28.600000 57.500000,28.200000 L 31.200000,20.800000 C 30.100000,20.500000 28.900000,20.200000 26.900000,21.000000 L 27.000000,21.100000 z " + id="path1540" /> + <linearGradient + id="linearGradient1541" + gradientUnits="userSpaceOnUse" + x1="7.6943002" + y1="35.450199" + x2="57.984402" + y2="35.450199" + gradientTransform="matrix(0.997000,7.730000e-2,-7.730000e-2,0.997000,1.700200,-3.835900)"> + <stop + offset="0" + style="stop-color:#CFCFCF" + id="stop1542" /> + <stop + offset="1" + style="stop-color:#EAEAEA" + id="stop1543" /> + </linearGradient> + <path + style="fill:url(#aigrd1);stroke:none;" + d="M 30.900000,22.900000 C 29.800000,22.500000 28.400000,22.500000 27.700000,22.700000 C 27.200000,22.900000 8.2000000,33.700000 7.2000000,34.400000 C 6.2000000,35.000000 6.0000000,36.200000 7.3000000,36.600000 C 8.6000000,37.100000 33.200000,45.000000 34.300000,45.300000 C 35.400000,45.600000 37.000000,45.600000 37.600000,45.100000 C 38.200000,44.600000 56.500000,31.800000 57.100000,31.300000 C 57.700000,30.800000 56.600000,29.900000 55.700000,29.700000 C 54.800000,29.400000 32.000000,23.200000 30.900000,22.800000 L 30.900000,22.900000 z " + id="path1544" /> + <linearGradient + id="linearGradient1545" + gradientUnits="userSpaceOnUse" + x1="9.7152996" + y1="46.870098" + x2="35.932899" + y2="48.758400" + gradientTransform="matrix(0.997000,7.730000e-2,-7.730000e-2,0.997000,1.700200,-3.835900)"> + <stop + offset="0" + style="stop-color:#F8F8F8" + id="stop1546" /> + <stop + offset="1" + style="stop-color:#B5B5B5" + id="stop1547" /> + </linearGradient> + <path + style="fill:url(#aigrd2);stroke:none;" + d="M 5.5000000,37.700000 C 5.4000000,36.800000 6.1000000,36.300000 6.8000000,36.500000 C 7.4000000,36.700000 33.900000,45.400000 34.900000,46.000000 C 35.900000,46.600000 36.500000,46.900000 36.400000,47.700000 C 36.300000,48.500000 36.000000,52.900000 35.900000,53.500000 C 35.800000,54.200000 35.300000,54.900000 34.300000,54.700000 C 31.300000,54.000000 6.9000000,44.200000 6.9000000,44.200000 C 6.1000000,43.900000 5.9000000,43.400000 5.9000000,42.500000 L 5.6000000,37.600000 L 5.5000000,37.700000 z " + id="path1548" /> + <linearGradient + id="linearGradient1549" + gradientUnits="userSpaceOnUse" + x1="40.842800" + y1="51.790001" + x2="57.230701" + y2="32.497101" + gradientTransform="matrix(0.997000,7.730000e-2,-7.730000e-2,0.997000,1.700200,-3.835900)"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop1550" /> + <stop + offset="1" + style="stop-color:#828282" + id="stop1551" /> + </linearGradient> + <path + style="fill:url(#aigrd3);stroke:none;" + d="M 37.000000,54.300000 C 36.500000,54.700000 35.600000,54.200000 35.700000,53.300000 C 35.800000,52.400000 36.100000,48.300000 36.200000,47.500000 C 36.300000,46.700000 36.600000,46.000000 37.200000,45.500000 C 37.800000,45.000000 56.200000,32.200000 56.900000,31.600000 C 57.600000,31.000000 58.000000,32.100000 57.900000,32.700000 C 57.800000,33.300000 57.600000,37.200000 57.500000,37.700000 C 57.500000,38.300000 57.400000,38.600000 56.800000,39.100000 C 56.300000,39.600000 37.500000,53.900000 37.000000,54.300000 z " + id="path1552" /> + <g + style="fill:#ffffff;stroke:none;" + id="g1553"> + <path + d="M 35.500000,45.200000 C 33.800000,45.100000 6.8000000,36.000000 6.6000000,35.900000 C 6.4000000,35.800000 6.6000000,34.900000 7.2000000,34.300000 C 5.5000000,35.400000 5.5000000,37.400000 5.5000000,37.400000 C 5.5000000,37.400000 5.7000000,36.500000 6.5000000,36.400000 C 9.8000000,37.600000 33.200000,45.700000 34.100000,46.000000 C 35.100000,46.300000 35.400000,47.500000 35.400000,48.400000 L 35.700000,53.800000 L 36.300000,48.400000 C 36.400000,47.500000 36.800000,45.900000 37.800000,45.200000 C 38.300000,44.900000 50.300000,36.200000 54.800000,33.000000 C 50.200000,36.300000 37.500000,45.300000 35.400000,45.100000 L 35.500000,45.200000 z " + id="path1554" /> + <path + d="M 54.900000,33.100000 C 55.900000,32.400000 56.500000,31.900000 56.500000,31.900000 C 56.500000,31.900000 55.900000,32.300000 54.900000,33.100000 z " + id="path1555" /> + </g> + <path + style="fill:#848484;stroke:none;" + d="M 36.900000,54.400000 C 36.300000,54.900000 35.900000,55.000000 34.600000,54.800000 C 35.500000,54.500000 35.800000,53.900000 35.800000,53.900000 C 35.800000,53.900000 36.000000,54.400000 36.800000,54.400000 L 36.900000,54.400000 z " + id="path1556" /> + <g + id="g1557"> + <g + id="g1558"> + <path + style="stroke:none;" + d="M 11.900000,40.000000 L 11.800000,42.000000 L 7.1000000,40.100000 L 7.1000000,38.300000 L 11.900000,40.000000 L 11.900000,40.000000 z " + id="path1559" /> + <path + style="fill:#2a2a26;stroke:none;" + d="M 11.800000,40.000000 L 11.700000,41.700000 L 7.4000000,40.000000 L 7.4000000,38.400000 L 11.700000,39.900000 L 11.800000,40.000000 z " + id="path1561" /> + <path + style="fill:#535445;stroke:none;" + d="M 11.700000,40.000000 L 11.600000,41.500000 L 7.9000000,40.000000 L 7.9000000,38.600000 L 11.700000,39.900000 L 11.700000,40.000000 z " + id="path1563" /> + <path + style="fill:#7b7d5b;stroke:none;" + d="M 11.600000,39.900000 L 11.500000,41.200000 L 8.3000000,40.000000 L 8.3000000,38.800000 L 11.600000,40.000000 L 11.600000,39.900000 z " + id="path1564" /> + <path + style="fill:#a3a76a;stroke:none;" + d="M 11.500000,39.900000 L 11.500000,41.000000 L 8.7000000,39.900000 L 8.7000000,38.900000 L 11.600000,39.900000 L 11.500000,39.900000 z " + id="path1565" /> + <path + style="fill:#c9cf71;stroke:none;" + d="M 11.400000,39.900000 L 11.400000,40.800000 L 9.0000000,39.900000 L 9.0000000,39.100000 L 11.400000,39.900000 z " + id="path1566" /> + <path + style="fill:#f0f970;stroke:none;" + d="M 11.300000,39.800000 L 11.300000,40.500000 L 9.4000000,39.800000 L 9.4000000,39.100000 L 11.300000,39.700000 L 11.300000,39.800000 z " + id="path1567" /> + </g> + </g> + <path + style="fill:#545454;stroke:none;" + d="M 55.900000,29.800000 C 57.000000,30.300000 57.400000,31.000000 56.900000,31.500000 C 57.500000,31.100000 57.900000,32.500000 57.900000,32.500000 C 58.000000,31.700000 58.000000,30.300000 55.900000,29.800000 z " + id="path1568" /> + </g> + <g + id="g1569" + style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;"> + <radialGradient + id="radialGradient1570" + cx="27.577101" + cy="13.338400" + r="22.910500" + fx="27.577101" + fy="13.338400" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#2286B7" + id="stop1571" /> + <stop + offset="1" + style="stop-color:#190F50" + id="stop1572" /> + </radialGradient> + <path + style="fill:url(#aigrd4);fill-rule:evenodd;stroke-width:3.3747001;" + d="M 15.200000,20.300000 C 15.200000,29.200000 22.400000,36.400000 31.300000,36.400000 C 40.200000,36.400000 47.400000,29.200000 47.400000,20.300000 C 47.400000,11.400000 40.200000,4.2000000 31.300000,4.2000000 C 22.400000,4.2000000 15.200000,11.400000 15.200000,20.300000 L 15.200000,20.300000 z " + id="path1574" /> + <radialGradient + id="radialGradient1575" + cx="26.127001" + cy="13.318800" + r="24.134199" + fx="26.127001" + fy="13.318800" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#99BBA8" + id="stop1576" /> + <stop + offset="4.483276e-002" + style="stop-color:#94B8A9" + id="stop1578" /> + <stop + offset="9.596599e-002" + style="stop-color:#87B0A9" + id="stop1580" /> + <stop + offset="0.1502" + style="stop-color:#72A1A9" + id="stop1581" /> + <stop + offset="0.2065" + style="stop-color:#538FA8" + id="stop1582" /> + <stop + offset="0.264" + style="stop-color:#2E79A7" + id="stop1583" /> + <stop + offset="0.2865" + style="stop-color:#1D70A5" + id="stop1584" /> + <stop + offset="0.8539" + style="stop-color:#190F50" + id="stop1585" /> + <stop + offset="1" + style="stop-color:#585287" + id="stop1587" /> + </radialGradient> + <path + style="fill:url(#aigrd5);fill-rule:evenodd;stroke:none;" + d="M 15.200000,20.300000 C 15.200000,29.200000 22.400000,36.400000 31.300000,36.400000 C 40.200000,36.400000 47.400000,29.200000 47.400000,20.300000 C 47.400000,11.400000 40.200000,4.2000000 31.300000,4.2000000 C 22.400000,4.2000000 15.200000,11.400000 15.200000,20.300000 L 15.200000,20.300000 z " + id="path1588" /> + <radialGradient + id="radialGradient1589" + cx="25.506300" + cy="13.189500" + r="19.858400" + fx="25.506300" + fy="13.189500" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#D5D690" + id="stop1590" /> + <stop + offset="0.2202" + style="stop-color:#CFD08C" + id="stop1591" /> + <stop + offset="0.4404" + style="stop-color:#BFBF80" + id="stop1592" /> + <stop + offset="0.6607" + style="stop-color:#A4A46D" + id="stop1593" /> + <stop + offset="0.8799" + style="stop-color:#828257" + id="stop1594" /> + <stop + offset="0.927" + style="stop-color:#7A7A52" + id="stop1595" /> + <stop + offset="1" + style="stop-color:#9C9C68" + id="stop1596" /> + </radialGradient> + <path + style="fill:url(#aigrd6);fill-rule:evenodd;stroke:none;" + d="M 29.200000,10.700000 L 33.000000,14.000000 L 34.800000,10.900000 L 37.400000,13.800000 L 33.000000,16.200000 L 32.400000,20.100000 L 33.300000,21.700000 L 32.400000,21.700000 L 31.300000,20.100000 L 27.700000,20.100000 L 26.300000,22.500000 L 29.900000,24.600000 L 35.100000,27.600000 L 30.800000,31.200000 L 30.800000,34.800000 L 27.500000,27.300000 L 28.800000,25.100000 L 25.000000,22.500000 L 25.000000,19.300000 L 23.200000,12.800000 L 21.100000,11.600000 L 21.300000,9.3000000 L 24.100000,7.3000000 L 24.100000,9.8000000 L 29.100000,10.500000 L 29.200000,10.700000 z " + id="path1597" /> + <radialGradient + id="radialGradient1598" + cx="27.575199" + cy="14.522900" + r="17.179100" + fx="27.575199" + fy="14.522900" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#D5D690" + id="stop1599" /> + <stop + offset="0.2202" + style="stop-color:#CFD08C" + id="stop1600" /> + <stop + offset="0.4404" + style="stop-color:#BFBF80" + id="stop1602" /> + <stop + offset="0.6607" + style="stop-color:#A4A46D" + id="stop1604" /> + <stop + offset="0.8799" + style="stop-color:#828257" + id="stop1605" /> + <stop + offset="0.927" + style="stop-color:#7A7A52" + id="stop1606" /> + <stop + offset="1" + style="stop-color:#9C9C68" + id="stop1607" /> + </radialGradient> + <path + style="fill:url(#aigrd7);fill-rule:evenodd;stroke:none;" + d="M 40.400000,8.8000000 L 40.400000,10.800000 L 41.600000,12.800000 L 41.600000,16.000000 L 43.400000,17.000000 L 43.600000,14.900000 L 42.500000,13.100000 L 44.100000,13.100000 L 40.400000,8.8000000 z " + id="path1608" /> + </g> + </g> + <path + style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;marker-start:none;marker-end:url(#TriangleOutM);" + d="M 131.45824,481.91475 L 175.72214,477.35721" + id="path1616" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;marker-start:none;marker-end:url(#TriangleOutM);" + d="M 142.46089,520.12502 L 176.78115,481.80380" + id="path1617" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;marker-start:url(#TriangleInM);marker-end:none;" + d="M 166.06467,530.75461 L 180.30333,484.41037" + id="path1618" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;marker-start:url(#TriangleInM);marker-end:none;" + d="M 130.81166,477.98502 L 175.07556,473.42748" + id="path1619" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;marker-start:url(#TriangleInM);marker-end:none;" + d="M 139.34623,519.04264 L 173.66649,480.72142" + id="path1621" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;marker-start:none;marker-end:url(#TriangleOutM);" + d="M 169.45493,527.49324 L 184.41337,485.10781" + id="path1623" + sodipodi:nodetypes="cc" /> + <text + xml:space="preserve" + style="font-size:12.000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#000000;fill-opacity:1.0000000;stroke:#ffffff;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;text-anchor:start;writing-mode:lr;" + x="88.108223" + y="499.23328" + id="text2269" + sodipodi:linespacing="100%"><tspan + id="tspan2270">SP2</tspan></text> + <text + xml:space="preserve" + style="font-size:12.000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#000000;fill-opacity:1.0000000;stroke:#ffffff;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;text-anchor:start;writing-mode:lr;" + x="108.48077" + y="548.92316" + id="text2272" + sodipodi:linespacing="100%"><tspan + id="tspan2273">SP3</tspan></text> + <text + xml:space="preserve" + style="font-size:12.000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#000000;fill-opacity:1.0000000;stroke:#ffffff;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;text-anchor:start;writing-mode:lr;" + x="156.34637" + y="581.67334" + id="text2275" + sodipodi:linespacing="100%"><tspan + id="tspan2276">SP4</tspan></text> + <g + id="g2283" + transform="translate(-136.3990,8.637416)"> + <rect + style="fill:url(#linearGradient8059);fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.75000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;" + id="rect2284" + width="24.112743" + height="8.9972935" + x="373.20773" + y="571.18695" + transform="translate(-96.27105,-107.0678)" /> + <text + xml:space="preserve" + style="font-size:8.0000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;text-anchor:start;writing-mode:lr;" + x="278.37622" + y="471.67688" + id="text2285" + sodipodi:linespacing="100%"><tspan + id="tspan2286">SOAP</tspan></text> + </g> + <g + id="g2288" + transform="translate(-132.4401,30.95070)"> + <rect + style="fill:url(#linearGradient8059);fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.75000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;" + id="rect2289" + width="24.112743" + height="8.9972935" + x="373.20773" + y="571.18695" + transform="translate(-96.27105,-107.0678)" /> + <text + xml:space="preserve" + style="font-size:8.0000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;text-anchor:start;writing-mode:lr;" + x="278.37622" + y="471.67688" + id="text2290" + sodipodi:linespacing="100%"><tspan + id="tspan2291">SOAP</tspan></text> + </g> + <g + id="g2293" + transform="translate(-108.6873,47.86562)"> + <rect + style="fill:url(#linearGradient8059);fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.75000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;" + id="rect2294" + width="24.112743" + height="8.9972935" + x="373.20773" + y="571.18695" + transform="translate(-96.27105,-107.0678)" /> + <text + xml:space="preserve" + style="font-size:8.0000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;text-anchor:start;writing-mode:lr;" + x="278.37622" + y="471.67688" + id="text2295" + sodipodi:linespacing="100%"><tspan + id="tspan2296">SOAP</tspan></text> + </g> + <text + xml:space="preserve" + style="font-size:12.000000;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;" + x="137.11873" + y="471.49695" + id="text2301"><tspan + id="tspan2302">4a,5a</tspan></text> + <text + xml:space="preserve" + style="font-size:12.000000;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;" + x="132.93370" + y="514.84088" + id="text2304"><tspan + id="tspan2305">4b,5b</tspan></text> + <text + xml:space="preserve" + style="font-size:12.000000;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;" + x="171.44211" + y="533.91516" + id="text2307"><tspan + id="tspan2308">4c,5c</tspan></text> +</svg> diff --git a/docs/lasso-book/figures/single-sign-on.png b/docs/lasso-book/figures/single-sign-on.png Binary files differnew file mode 100644 index 00000000..d33b61f8 --- /dev/null +++ b/docs/lasso-book/figures/single-sign-on.png diff --git a/docs/lasso-book/figures/single-sign-on.svg b/docs/lasso-book/figures/single-sign-on.svg new file mode 100644 index 00000000..453cad29 --- /dev/null +++ b/docs/lasso-book/figures/single-sign-on.svg @@ -0,0 +1,2661 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" +"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + id="svg1" + sodipodi:version="0.32" + inkscape:version="0.39" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://web.resource.org/cc/" + xmlns:dc="http://purl.org/dc/elements/1.1/" + width="210mm" + height="297mm" + sodipodi:docbase="/home/fred" + sodipodi:docname="drawing.svg"> + <defs + id="defs3"> + <linearGradient + id="linearGradient8054"> + <stop + offset="0.0000000" + style="stop-color:#dbdbdb;stop-opacity:1.0000000;" + id="stop8056" /> + <stop + offset="1.0000000" + style="stop-color:#acacac;stop-opacity:1.0000000;" + id="stop8055" /> + </linearGradient> + <linearGradient + id="linearGradient8051"> + <stop + offset="0.0000000" + style="stop-color:#9f9f9f;stop-opacity:1.0000000;" + id="stop8053" /> + <stop + offset="1.0000000" + style="stop-color:#828282;stop-opacity:1.0000000;" + id="stop8052" /> + </linearGradient> + <linearGradient + id="linearGradient8048"> + <stop + offset="0.0000000" + style="stop-color:#000000;stop-opacity:1.0000000;" + id="stop8050" /> + <stop + offset="1.0000000" + style="stop-color:#3a4a70;stop-opacity:1.0000000;" + id="stop8049" /> + </linearGradient> + <linearGradient + id="linearGradient8044"> + <stop + style="stop-color:#000;stop-opacity:1;" + offset="0" + id="stop8045" /> + <stop + style="stop-color:#fff;stop-opacity:1;" + offset="1" + id="stop8046" /> + </linearGradient> + <marker + style="overflow:visible;" + id="TriangleInM" + refX="0.0" + refY="0.0" + orient="auto" + inkscape:stockid="TriangleInM"> + <path + transform="scale(-0.4)" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" + d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z " + id="path4066" + sodipodi:nodetypes="cccc" /> + </marker> + <marker + style="overflow:visible;" + id="TriangleOutM" + refX="0.0" + refY="0.0" + orient="auto" + inkscape:stockid="TriangleOutM"> + <path + transform="scale(0.4)" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" + d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z " + id="path4060" + sodipodi:nodetypes="cccc" /> + </marker> + <marker + style="overflow:visible;" + id="TriangleOutL" + refX="0.0" + refY="0.0" + orient="auto" + inkscape:stockid="TriangleOutL"> + <path + transform="scale(0.8)" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" + d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z " + id="path4062" + sodipodi:nodetypes="cccc" /> + </marker> + <marker + style="overflow:visible;" + id="Arrow1L" + refX="0.0" + refY="0.0" + orient="auto" + inkscape:stockid="Arrow1L"> + <path + transform="scale(0.8)" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " + id="path4114" + sodipodi:nodetypes="ccccc" /> + </marker> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient8054" + id="linearGradient8059" + x1="0.27071825" + y1="0.75728154" + x2="0.81215471" + y2="0.18446602" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="3.4732669" + inkscape:cx="243.20174" + inkscape:cy="415.42042" + inkscape:window-width="1022" + inkscape:window-height="720" + inkscape:window-x="0" + inkscape:window-y="24" /> + <metadata + id="metadata4"> + <rdf:RDF + id="RDF5"> + <cc:Work + rdf:about="" + id="Work6"> + <dc:format + id="format7">image/svg+xml</dc:format> + <dc:type + id="type9" + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + id="g1070" + transform="translate(175.7007,434.4800)"> + + + <g + id="Layer_x0020_3" + style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;"> + <path + style="fill:none;stroke:none;" + d="M 70.000000,60.000000 L 0.0000000,60.000000 L 0.0000000,0.0000000 L 70.000000,0.0000000 L 70.000000,60.000000 z " + id="path5" /> + + + </g> + + + <g + id="Layer_x0020_4" + style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;"> + <path + style="opacity:0.24999996;stroke:none;" + d="M 65.200000,34.600000 C 67.200000,35.100000 69.000000,38.100000 66.200000,40.000000 L 37.700000,57.000000 L 26.800000,24.500000 L 65.300000,34.600000 L 65.200000,34.600000 z " + id="path10" /> + + + <path + style="stroke:none;" + d="M 27.000000,21.100000 C 27.000000,21.100000 27.000000,21.100000 26.900000,21.100000 C 26.800000,21.100000 6.6000000,32.800000 6.6000000,32.800000 L 6.6000000,32.800000 C 5.2000000,33.700000 4.0000000,35.000000 3.8000000,36.900000 C 3.8000000,37.100000 3.8000000,37.400000 3.8000000,37.700000 L 3.8000000,37.700000 L 4.1000000,43.300000 C 4.2000000,45.200000 5.4000000,46.100000 6.1000000,46.400000 C 6.1000000,46.400000 6.1000000,46.400000 6.2000000,46.400000 C 6.2000000,46.400000 34.000000,57.100000 34.000000,57.100000 C 35.800000,57.800000 37.800000,57.400000 39.100000,56.200000 L 58.800000,41.000000 C 60.000000,39.900000 60.100000,38.800000 60.200000,38.400000 L 60.200000,38.200000 L 60.500000,33.700000 C 60.500000,33.100000 60.600000,32.000000 60.300000,30.900000 C 59.900000,29.500000 58.900000,28.600000 57.500000,28.200000 L 31.200000,20.800000 C 30.100000,20.500000 28.900000,20.200000 26.900000,21.000000 L 27.000000,21.100000 z " + id="path12" /> + + + <linearGradient + id="aigrd1" + gradientUnits="userSpaceOnUse" + x1="7.6943002" + y1="35.450199" + x2="57.984402" + y2="35.450199" + gradientTransform="matrix(0.997000,7.730000e-2,-7.730000e-2,0.997000,1.700200,-3.835900)"> + <stop + offset="0" + style="stop-color:#CFCFCF" + id="stop16" /> + + + <stop + offset="1" + style="stop-color:#EAEAEA" + id="stop18" /> + + + </linearGradient> + + + <path + style="fill:url(#aigrd1);stroke:none;" + d="M 30.900000,22.900000 C 29.800000,22.500000 28.400000,22.500000 27.700000,22.700000 C 27.200000,22.900000 8.2000000,33.700000 7.2000000,34.400000 C 6.2000000,35.000000 6.0000000,36.200000 7.3000000,36.600000 C 8.6000000,37.100000 33.200000,45.000000 34.300000,45.300000 C 35.400000,45.600000 37.000000,45.600000 37.600000,45.100000 C 38.200000,44.600000 56.500000,31.800000 57.100000,31.300000 C 57.700000,30.800000 56.600000,29.900000 55.700000,29.700000 C 54.800000,29.400000 32.000000,23.200000 30.900000,22.800000 L 30.900000,22.900000 z " + id="path21" /> + + + <linearGradient + id="aigrd2" + gradientUnits="userSpaceOnUse" + x1="9.7152996" + y1="46.870098" + x2="35.932899" + y2="48.758400" + gradientTransform="matrix(0.997000,7.730000e-2,-7.730000e-2,0.997000,1.700200,-3.835900)"> + <stop + offset="0" + style="stop-color:#F8F8F8" + id="stop25" /> + + + <stop + offset="1" + style="stop-color:#B5B5B5" + id="stop27" /> + + + </linearGradient> + + + <path + style="fill:url(#aigrd2);stroke:none;" + d="M 5.5000000,37.700000 C 5.4000000,36.800000 6.1000000,36.300000 6.8000000,36.500000 C 7.4000000,36.700000 33.900000,45.400000 34.900000,46.000000 C 35.900000,46.600000 36.500000,46.900000 36.400000,47.700000 C 36.300000,48.500000 36.000000,52.900000 35.900000,53.500000 C 35.800000,54.200000 35.300000,54.900000 34.300000,54.700000 C 31.300000,54.000000 6.9000000,44.200000 6.9000000,44.200000 C 6.1000000,43.900000 5.9000000,43.400000 5.9000000,42.500000 L 5.6000000,37.600000 L 5.5000000,37.700000 z " + id="path30" /> + + + <linearGradient + id="aigrd3" + gradientUnits="userSpaceOnUse" + x1="40.842800" + y1="51.790001" + x2="57.230701" + y2="32.497101" + gradientTransform="matrix(0.997000,7.730000e-2,-7.730000e-2,0.997000,1.700200,-3.835900)"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop34" /> + + + <stop + offset="1" + style="stop-color:#828282" + id="stop36" /> + + + </linearGradient> + + + <path + style="fill:url(#aigrd3);stroke:none;" + d="M 37.000000,54.300000 C 36.500000,54.700000 35.600000,54.200000 35.700000,53.300000 C 35.800000,52.400000 36.100000,48.300000 36.200000,47.500000 C 36.300000,46.700000 36.600000,46.000000 37.200000,45.500000 C 37.800000,45.000000 56.200000,32.200000 56.900000,31.600000 C 57.600000,31.000000 58.000000,32.100000 57.900000,32.700000 C 57.800000,33.300000 57.600000,37.200000 57.500000,37.700000 C 57.500000,38.300000 57.400000,38.600000 56.800000,39.100000 C 56.300000,39.600000 37.500000,53.900000 37.000000,54.300000 z " + id="path39" /> + + + <g + style="fill:#ffffff;stroke:none;" + id="g41"> + <path + d="M 35.500000,45.200000 C 33.800000,45.100000 6.8000000,36.000000 6.6000000,35.900000 C 6.4000000,35.800000 6.6000000,34.900000 7.2000000,34.300000 C 5.5000000,35.400000 5.5000000,37.400000 5.5000000,37.400000 C 5.5000000,37.400000 5.7000000,36.500000 6.5000000,36.400000 C 9.8000000,37.600000 33.200000,45.700000 34.100000,46.000000 C 35.100000,46.300000 35.400000,47.500000 35.400000,48.400000 L 35.700000,53.800000 L 36.300000,48.400000 C 36.400000,47.500000 36.800000,45.900000 37.800000,45.200000 C 38.300000,44.900000 50.300000,36.200000 54.800000,33.000000 C 50.200000,36.300000 37.500000,45.300000 35.400000,45.100000 L 35.500000,45.200000 z " + id="path43" /> + + + <path + d="M 54.900000,33.100000 C 55.900000,32.400000 56.500000,31.900000 56.500000,31.900000 C 56.500000,31.900000 55.900000,32.300000 54.900000,33.100000 z " + id="path45" /> + + + </g> + + + <path + style="fill:#848484;stroke:none;" + d="M 36.900000,54.400000 C 36.300000,54.900000 35.900000,55.000000 34.600000,54.800000 C 35.500000,54.500000 35.800000,53.900000 35.800000,53.900000 C 35.800000,53.900000 36.000000,54.400000 36.800000,54.400000 L 36.900000,54.400000 z " + id="path48" /> + + + <g + id="g50"> + <g + id="g52"> + <path + style="stroke:none;" + d="M 11.900000,40.000000 L 11.800000,42.000000 L 7.1000000,40.100000 L 7.1000000,38.300000 L 11.900000,40.000000 L 11.900000,40.000000 z " + id="path54" /> + + + <path + style="fill:#2a2a26;stroke:none;" + d="M 11.800000,40.000000 L 11.700000,41.700000 L 7.4000000,40.000000 L 7.4000000,38.400000 L 11.700000,39.900000 L 11.800000,40.000000 z " + id="path56" /> + + + <path + style="fill:#535445;stroke:none;" + d="M 11.700000,40.000000 L 11.600000,41.500000 L 7.9000000,40.000000 L 7.9000000,38.600000 L 11.700000,39.900000 L 11.700000,40.000000 z " + id="path58" /> + + + <path + style="fill:#7b7d5b;stroke:none;" + d="M 11.600000,39.900000 L 11.500000,41.200000 L 8.3000000,40.000000 L 8.3000000,38.800000 L 11.600000,40.000000 L 11.600000,39.900000 z " + id="path60" /> + + + <path + style="fill:#a3a76a;stroke:none;" + d="M 11.500000,39.900000 L 11.500000,41.000000 L 8.7000000,39.900000 L 8.7000000,38.900000 L 11.600000,39.900000 L 11.500000,39.900000 z " + id="path62" /> + + + <path + style="fill:#c9cf71;stroke:none;" + d="M 11.400000,39.900000 L 11.400000,40.800000 L 9.0000000,39.900000 L 9.0000000,39.100000 L 11.400000,39.900000 z " + id="path64" /> + + + <path + style="fill:#f0f970;stroke:none;" + d="M 11.300000,39.800000 L 11.300000,40.500000 L 9.4000000,39.800000 L 9.4000000,39.100000 L 11.300000,39.700000 L 11.300000,39.800000 z " + id="path66" /> + + + </g> + + + </g> + + + <path + style="fill:#545454;stroke:none;" + d="M 55.900000,29.800000 C 57.000000,30.300000 57.400000,31.000000 56.900000,31.500000 C 57.500000,31.100000 57.900000,32.500000 57.900000,32.500000 C 58.000000,31.700000 58.000000,30.300000 55.900000,29.800000 z " + id="path70" /> + + + </g> + + + <g + id="Layer_x0020_5" + style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;"> + <radialGradient + id="aigrd4" + cx="27.577101" + cy="13.338400" + r="22.910500" + fx="27.577101" + fy="13.338400" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#2286B7" + id="stop77" /> + + + <stop + offset="1" + style="stop-color:#190F50" + id="stop79" /> + + + </radialGradient> + + + <path + style="fill:url(#aigrd4);fill-rule:evenodd;stroke-width:3.3747001;" + d="M 15.200000,20.300000 C 15.200000,29.200000 22.400000,36.400000 31.300000,36.400000 C 40.200000,36.400000 47.400000,29.200000 47.400000,20.300000 C 47.400000,11.400000 40.200000,4.2000000 31.300000,4.2000000 C 22.400000,4.2000000 15.200000,11.400000 15.200000,20.300000 L 15.200000,20.300000 z " + id="path82" /> + + + <radialGradient + id="aigrd5" + cx="26.127001" + cy="13.318800" + r="24.134199" + fx="26.127001" + fy="13.318800" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#99BBA8" + id="stop86" /> + + + <stop + offset="4.483276e-002" + style="stop-color:#94B8A9" + id="stop88" /> + + + <stop + offset="9.596599e-002" + style="stop-color:#87B0A9" + id="stop90" /> + + + <stop + offset="0.1502" + style="stop-color:#72A1A9" + id="stop92" /> + + + <stop + offset="0.2065" + style="stop-color:#538FA8" + id="stop94" /> + + + <stop + offset="0.264" + style="stop-color:#2E79A7" + id="stop96" /> + + + <stop + offset="0.2865" + style="stop-color:#1D70A5" + id="stop98" /> + + + <stop + offset="0.8539" + style="stop-color:#190F50" + id="stop100" /> + + + <stop + offset="1" + style="stop-color:#585287" + id="stop102" /> + + + </radialGradient> + + + <path + style="fill:url(#aigrd5);fill-rule:evenodd;stroke:none;" + d="M 15.200000,20.300000 C 15.200000,29.200000 22.400000,36.400000 31.300000,36.400000 C 40.200000,36.400000 47.400000,29.200000 47.400000,20.300000 C 47.400000,11.400000 40.200000,4.2000000 31.300000,4.2000000 C 22.400000,4.2000000 15.200000,11.400000 15.200000,20.300000 L 15.200000,20.300000 z " + id="path105" /> + + + <radialGradient + id="aigrd6" + cx="25.506300" + cy="13.189500" + r="19.858400" + fx="25.506300" + fy="13.189500" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#D5D690" + id="stop109" /> + + + <stop + offset="0.2202" + style="stop-color:#CFD08C" + id="stop111" /> + + + <stop + offset="0.4404" + style="stop-color:#BFBF80" + id="stop113" /> + + + <stop + offset="0.6607" + style="stop-color:#A4A46D" + id="stop115" /> + + + <stop + offset="0.8799" + style="stop-color:#828257" + id="stop117" /> + + + <stop + offset="0.927" + style="stop-color:#7A7A52" + id="stop119" /> + + + <stop + offset="1" + style="stop-color:#9C9C68" + id="stop121" /> + + + </radialGradient> + + + <path + style="fill:url(#aigrd6);fill-rule:evenodd;stroke:none;" + d="M 29.200000,10.700000 L 33.000000,14.000000 L 34.800000,10.900000 L 37.400000,13.800000 L 33.000000,16.200000 L 32.400000,20.100000 L 33.300000,21.700000 L 32.400000,21.700000 L 31.300000,20.100000 L 27.700000,20.100000 L 26.300000,22.500000 L 29.900000,24.600000 L 35.100000,27.600000 L 30.800000,31.200000 L 30.800000,34.800000 L 27.500000,27.300000 L 28.800000,25.100000 L 25.000000,22.500000 L 25.000000,19.300000 L 23.200000,12.800000 L 21.100000,11.600000 L 21.300000,9.3000000 L 24.100000,7.3000000 L 24.100000,9.8000000 L 29.100000,10.500000 L 29.200000,10.700000 z " + id="path124" /> + + + <radialGradient + id="aigrd7" + cx="27.575199" + cy="14.522900" + r="17.179100" + fx="27.575199" + fy="14.522900" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#D5D690" + id="stop128" /> + + + <stop + offset="0.2202" + style="stop-color:#CFD08C" + id="stop130" /> + + + <stop + offset="0.4404" + style="stop-color:#BFBF80" + id="stop132" /> + + + <stop + offset="0.6607" + style="stop-color:#A4A46D" + id="stop134" /> + + + <stop + offset="0.8799" + style="stop-color:#828257" + id="stop136" /> + + + <stop + offset="0.927" + style="stop-color:#7A7A52" + id="stop138" /> + + + <stop + offset="1" + style="stop-color:#9C9C68" + id="stop140" /> + + + </radialGradient> + + + <path + style="fill:url(#aigrd7);fill-rule:evenodd;stroke:none;" + d="M 40.400000,8.8000000 L 40.400000,10.800000 L 41.600000,12.800000 L 41.600000,16.000000 L 43.400000,17.000000 L 43.600000,14.900000 L 42.500000,13.100000 L 44.100000,13.100000 L 40.400000,8.8000000 z " + id="path143" /> + + + </g> + + + + +</g> + <g + id="g1379" + transform="translate(321.7083,470.4267)"> + + + <g + id="g1382" + style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;"> + <path + style="fill:none;stroke:none;" + d="M 70.000000,60.000000 L 0.0000000,60.000000 L 0.0000000,0.0000000 L 70.000000,0.0000000 L 70.000000,60.000000 z " + id="path1384" /> + + + </g> + + + <g + id="g1387" + style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;"> + <path + style="opacity:0.24999996;stroke:none;" + d="M 65.200000,34.600000 C 67.200000,35.100000 69.000000,38.100000 66.200000,40.000000 L 37.700000,57.000000 L 26.800000,24.500000 L 65.300000,34.600000 L 65.200000,34.600000 z " + id="path1389" /> + + + <path + style="stroke:none;" + d="M 27.000000,21.100000 C 27.000000,21.100000 27.000000,21.100000 26.900000,21.100000 C 26.800000,21.100000 6.6000000,32.800000 6.6000000,32.800000 L 6.6000000,32.800000 C 5.2000000,33.700000 4.0000000,35.000000 3.8000000,36.900000 C 3.8000000,37.100000 3.8000000,37.400000 3.8000000,37.700000 L 3.8000000,37.700000 L 4.1000000,43.300000 C 4.2000000,45.200000 5.4000000,46.100000 6.1000000,46.400000 C 6.1000000,46.400000 6.1000000,46.400000 6.2000000,46.400000 C 6.2000000,46.400000 34.000000,57.100000 34.000000,57.100000 C 35.800000,57.800000 37.800000,57.400000 39.100000,56.200000 L 58.800000,41.000000 C 60.000000,39.900000 60.100000,38.800000 60.200000,38.400000 L 60.200000,38.200000 L 60.500000,33.700000 C 60.500000,33.100000 60.600000,32.000000 60.300000,30.900000 C 59.900000,29.500000 58.900000,28.600000 57.500000,28.200000 L 31.200000,20.800000 C 30.100000,20.500000 28.900000,20.200000 26.900000,21.000000 L 27.000000,21.100000 z " + id="path1391" /> + + + <linearGradient + id="linearGradient1393" + gradientUnits="userSpaceOnUse" + x1="7.6943002" + y1="35.450199" + x2="57.984402" + y2="35.450199" + gradientTransform="matrix(0.997000,7.730000e-2,-7.730000e-2,0.997000,1.700200,-3.835900)"> + <stop + offset="0" + style="stop-color:#CFCFCF" + id="stop1395" /> + + + <stop + offset="1" + style="stop-color:#EAEAEA" + id="stop1397" /> + + + </linearGradient> + + + <path + style="fill:url(#aigrd1);stroke:none;" + d="M 30.900000,22.900000 C 29.800000,22.500000 28.400000,22.500000 27.700000,22.700000 C 27.200000,22.900000 8.2000000,33.700000 7.2000000,34.400000 C 6.2000000,35.000000 6.0000000,36.200000 7.3000000,36.600000 C 8.6000000,37.100000 33.200000,45.000000 34.300000,45.300000 C 35.400000,45.600000 37.000000,45.600000 37.600000,45.100000 C 38.200000,44.600000 56.500000,31.800000 57.100000,31.300000 C 57.700000,30.800000 56.600000,29.900000 55.700000,29.700000 C 54.800000,29.400000 32.000000,23.200000 30.900000,22.800000 L 30.900000,22.900000 z " + id="path1400" /> + + + <linearGradient + id="linearGradient1402" + gradientUnits="userSpaceOnUse" + x1="9.7152996" + y1="46.870098" + x2="35.932899" + y2="48.758400" + gradientTransform="matrix(0.997000,7.730000e-2,-7.730000e-2,0.997000,1.700200,-3.835900)"> + <stop + offset="0" + style="stop-color:#F8F8F8" + id="stop1404" /> + + + <stop + offset="1" + style="stop-color:#B5B5B5" + id="stop1406" /> + + + </linearGradient> + + + <path + style="fill:url(#aigrd2);stroke:none;" + d="M 5.5000000,37.700000 C 5.4000000,36.800000 6.1000000,36.300000 6.8000000,36.500000 C 7.4000000,36.700000 33.900000,45.400000 34.900000,46.000000 C 35.900000,46.600000 36.500000,46.900000 36.400000,47.700000 C 36.300000,48.500000 36.000000,52.900000 35.900000,53.500000 C 35.800000,54.200000 35.300000,54.900000 34.300000,54.700000 C 31.300000,54.000000 6.9000000,44.200000 6.9000000,44.200000 C 6.1000000,43.900000 5.9000000,43.400000 5.9000000,42.500000 L 5.6000000,37.600000 L 5.5000000,37.700000 z " + id="path1409" /> + + + <linearGradient + id="linearGradient1411" + gradientUnits="userSpaceOnUse" + x1="40.842800" + y1="51.790001" + x2="57.230701" + y2="32.497101" + gradientTransform="matrix(0.997000,7.730000e-2,-7.730000e-2,0.997000,1.700200,-3.835900)"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop1413" /> + + + <stop + offset="1" + style="stop-color:#828282" + id="stop1415" /> + + + </linearGradient> + + + <path + style="fill:url(#aigrd3);stroke:none;" + d="M 37.000000,54.300000 C 36.500000,54.700000 35.600000,54.200000 35.700000,53.300000 C 35.800000,52.400000 36.100000,48.300000 36.200000,47.500000 C 36.300000,46.700000 36.600000,46.000000 37.200000,45.500000 C 37.800000,45.000000 56.200000,32.200000 56.900000,31.600000 C 57.600000,31.000000 58.000000,32.100000 57.900000,32.700000 C 57.800000,33.300000 57.600000,37.200000 57.500000,37.700000 C 57.500000,38.300000 57.400000,38.600000 56.800000,39.100000 C 56.300000,39.600000 37.500000,53.900000 37.000000,54.300000 z " + id="path1418" /> + + + <g + style="fill:#ffffff;stroke:none;" + id="g1420"> + <path + d="M 35.500000,45.200000 C 33.800000,45.100000 6.8000000,36.000000 6.6000000,35.900000 C 6.4000000,35.800000 6.6000000,34.900000 7.2000000,34.300000 C 5.5000000,35.400000 5.5000000,37.400000 5.5000000,37.400000 C 5.5000000,37.400000 5.7000000,36.500000 6.5000000,36.400000 C 9.8000000,37.600000 33.200000,45.700000 34.100000,46.000000 C 35.100000,46.300000 35.400000,47.500000 35.400000,48.400000 L 35.700000,53.800000 L 36.300000,48.400000 C 36.400000,47.500000 36.800000,45.900000 37.800000,45.200000 C 38.300000,44.900000 50.300000,36.200000 54.800000,33.000000 C 50.200000,36.300000 37.500000,45.300000 35.400000,45.100000 L 35.500000,45.200000 z " + id="path1422" /> + + + <path + d="M 54.900000,33.100000 C 55.900000,32.400000 56.500000,31.900000 56.500000,31.900000 C 56.500000,31.900000 55.900000,32.300000 54.900000,33.100000 z " + id="path1424" /> + + + </g> + + + <path + style="fill:#848484;stroke:none;" + d="M 36.900000,54.400000 C 36.300000,54.900000 35.900000,55.000000 34.600000,54.800000 C 35.500000,54.500000 35.800000,53.900000 35.800000,53.900000 C 35.800000,53.900000 36.000000,54.400000 36.800000,54.400000 L 36.900000,54.400000 z " + id="path1427" /> + + + <g + id="g1429"> + <g + id="g1431"> + <path + style="stroke:none;" + d="M 11.900000,40.000000 L 11.800000,42.000000 L 7.1000000,40.100000 L 7.1000000,38.300000 L 11.900000,40.000000 L 11.900000,40.000000 z " + id="path1433" /> + + + <path + style="fill:#2a2a26;stroke:none;" + d="M 11.800000,40.000000 L 11.700000,41.700000 L 7.4000000,40.000000 L 7.4000000,38.400000 L 11.700000,39.900000 L 11.800000,40.000000 z " + id="path1435" /> + + + <path + style="fill:#535445;stroke:none;" + d="M 11.700000,40.000000 L 11.600000,41.500000 L 7.9000000,40.000000 L 7.9000000,38.600000 L 11.700000,39.900000 L 11.700000,40.000000 z " + id="path1437" /> + + + <path + style="fill:#7b7d5b;stroke:none;" + d="M 11.600000,39.900000 L 11.500000,41.200000 L 8.3000000,40.000000 L 8.3000000,38.800000 L 11.600000,40.000000 L 11.600000,39.900000 z " + id="path1439" /> + + + <path + style="fill:#a3a76a;stroke:none;" + d="M 11.500000,39.900000 L 11.500000,41.000000 L 8.7000000,39.900000 L 8.7000000,38.900000 L 11.600000,39.900000 L 11.500000,39.900000 z " + id="path1441" /> + + + <path + style="fill:#c9cf71;stroke:none;" + d="M 11.400000,39.900000 L 11.400000,40.800000 L 9.0000000,39.900000 L 9.0000000,39.100000 L 11.400000,39.900000 z " + id="path1443" /> + + + <path + style="fill:#f0f970;stroke:none;" + d="M 11.300000,39.800000 L 11.300000,40.500000 L 9.4000000,39.800000 L 9.4000000,39.100000 L 11.300000,39.700000 L 11.300000,39.800000 z " + id="path1445" /> + + + </g> + + + </g> + + + <path + style="fill:#545454;stroke:none;" + d="M 55.900000,29.800000 C 57.000000,30.300000 57.400000,31.000000 56.900000,31.500000 C 57.500000,31.100000 57.900000,32.500000 57.900000,32.500000 C 58.000000,31.700000 58.000000,30.300000 55.900000,29.800000 z " + id="path1449" /> + + + </g> + + + <g + id="g1452" + style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;"> + <radialGradient + id="radialGradient1454" + cx="27.577101" + cy="13.338400" + r="22.910500" + fx="27.577101" + fy="13.338400" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#2286B7" + id="stop1456" /> + + + <stop + offset="1" + style="stop-color:#190F50" + id="stop1458" /> + + + </radialGradient> + + + <path + style="fill:url(#aigrd4);fill-rule:evenodd;stroke-width:3.3747001;" + d="M 15.200000,20.300000 C 15.200000,29.200000 22.400000,36.400000 31.300000,36.400000 C 40.200000,36.400000 47.400000,29.200000 47.400000,20.300000 C 47.400000,11.400000 40.200000,4.2000000 31.300000,4.2000000 C 22.400000,4.2000000 15.200000,11.400000 15.200000,20.300000 L 15.200000,20.300000 z " + id="path1461" /> + + + <radialGradient + id="radialGradient1463" + cx="26.127001" + cy="13.318800" + r="24.134199" + fx="26.127001" + fy="13.318800" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#99BBA8" + id="stop1465" /> + + + <stop + offset="4.483276e-002" + style="stop-color:#94B8A9" + id="stop1467" /> + + + <stop + offset="9.596599e-002" + style="stop-color:#87B0A9" + id="stop1469" /> + + + <stop + offset="0.1502" + style="stop-color:#72A1A9" + id="stop1471" /> + + + <stop + offset="0.2065" + style="stop-color:#538FA8" + id="stop1473" /> + + + <stop + offset="0.264" + style="stop-color:#2E79A7" + id="stop1475" /> + + + <stop + offset="0.2865" + style="stop-color:#1D70A5" + id="stop1477" /> + + + <stop + offset="0.8539" + style="stop-color:#190F50" + id="stop1479" /> + + + <stop + offset="1" + style="stop-color:#585287" + id="stop1481" /> + + + </radialGradient> + + + <path + style="fill:url(#aigrd5);fill-rule:evenodd;stroke:none;" + d="M 15.200000,20.300000 C 15.200000,29.200000 22.400000,36.400000 31.300000,36.400000 C 40.200000,36.400000 47.400000,29.200000 47.400000,20.300000 C 47.400000,11.400000 40.200000,4.2000000 31.300000,4.2000000 C 22.400000,4.2000000 15.200000,11.400000 15.200000,20.300000 L 15.200000,20.300000 z " + id="path1484" /> + + + <radialGradient + id="radialGradient1486" + cx="25.506300" + cy="13.189500" + r="19.858400" + fx="25.506300" + fy="13.189500" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#D5D690" + id="stop1488" /> + + + <stop + offset="0.2202" + style="stop-color:#CFD08C" + id="stop1490" /> + + + <stop + offset="0.4404" + style="stop-color:#BFBF80" + id="stop1492" /> + + + <stop + offset="0.6607" + style="stop-color:#A4A46D" + id="stop1494" /> + + + <stop + offset="0.8799" + style="stop-color:#828257" + id="stop1496" /> + + + <stop + offset="0.927" + style="stop-color:#7A7A52" + id="stop1498" /> + + + <stop + offset="1" + style="stop-color:#9C9C68" + id="stop1500" /> + + + </radialGradient> + + + <path + style="fill:url(#aigrd6);fill-rule:evenodd;stroke:none;" + d="M 29.200000,10.700000 L 33.000000,14.000000 L 34.800000,10.900000 L 37.400000,13.800000 L 33.000000,16.200000 L 32.400000,20.100000 L 33.300000,21.700000 L 32.400000,21.700000 L 31.300000,20.100000 L 27.700000,20.100000 L 26.300000,22.500000 L 29.900000,24.600000 L 35.100000,27.600000 L 30.800000,31.200000 L 30.800000,34.800000 L 27.500000,27.300000 L 28.800000,25.100000 L 25.000000,22.500000 L 25.000000,19.300000 L 23.200000,12.800000 L 21.100000,11.600000 L 21.300000,9.3000000 L 24.100000,7.3000000 L 24.100000,9.8000000 L 29.100000,10.500000 L 29.200000,10.700000 z " + id="path1503" /> + + + <radialGradient + id="radialGradient1505" + cx="27.575199" + cy="14.522900" + r="17.179100" + fx="27.575199" + fy="14.522900" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#D5D690" + id="stop1507" /> + + + <stop + offset="0.2202" + style="stop-color:#CFD08C" + id="stop1509" /> + + + <stop + offset="0.4404" + style="stop-color:#BFBF80" + id="stop1511" /> + + + <stop + offset="0.6607" + style="stop-color:#A4A46D" + id="stop1513" /> + + + <stop + offset="0.8799" + style="stop-color:#828257" + id="stop1515" /> + + + <stop + offset="0.927" + style="stop-color:#7A7A52" + id="stop1517" /> + + + <stop + offset="1" + style="stop-color:#9C9C68" + id="stop1519" /> + + + </radialGradient> + + + <path + style="fill:url(#aigrd7);fill-rule:evenodd;stroke:none;" + d="M 40.400000,8.8000000 L 40.400000,10.800000 L 41.600000,12.800000 L 41.600000,16.000000 L 43.400000,17.000000 L 43.600000,14.900000 L 42.500000,13.100000 L 44.100000,13.100000 L 40.400000,8.8000000 z " + id="path1522" /> + + + </g> + + + + +</g> + <g + id="g2149" + transform="translate(242.8099,580.2111)"> + <g + id="cables" + style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;"> + <path + style="fill:#c2c2c2;stroke-width:1.0588000;stroke-linecap:round;stroke-linejoin:round;" + d="M 8.4000000,30.600000 C 8.0000000,31.700000 8.5000000,32.600000 9.7000000,33.100000 L 10.000000,32.500000 C 9.4000000,32.200000 8.7000000,31.700000 9.0000000,30.800000 C 9.4000000,29.600000 11.500000,28.300000 13.500000,28.900000 L 13.700000,28.200000 C 11.500000,27.600000 9.0000000,29.000000 8.4000000,30.600000 z " + id="path1530" /> + + <linearGradient + id="linearGradient2155" + gradientUnits="userSpaceOnUse" + x1="8.3593998" + y1="30.738300" + x2="13.752400" + y2="30.738300"> + <stop + offset="0" + style="stop-color:#D6D6D6" + id="stop1534" /> + + <stop + offset="1" + style="stop-color:#848484" + id="stop1536" /> + + </linearGradient> + + <path + style="fill:url(#aigrd1);stroke:none;" + d="M 8.4000000,30.600000 C 8.0000000,31.700000 8.5000000,32.600000 9.7000000,33.100000 L 10.000000,32.500000 C 9.4000000,32.200000 8.7000000,31.700000 9.0000000,30.800000 C 9.4000000,29.600000 11.500000,28.300000 13.500000,28.900000 L 13.700000,28.200000 C 11.500000,27.600000 9.0000000,29.000000 8.4000000,30.600000 z " + id="path1539" /> + + <path + style="fill:#a6a6a6;stroke-width:0.63919997;" + d="M 38.700000,23.900000 L 38.800000,24.200000 C 38.800000,24.200000 43.800000,22.200000 48.500000,23.500000 L 50.700000,24.100000 C 54.700000,25.100000 60.800000,26.700000 61.200000,28.400000 C 61.300000,28.700000 61.100000,29.100000 60.700000,29.400000 C 57.400000,32.100000 55.000000,31.400000 52.600000,30.700000 C 50.600000,30.100000 48.800000,29.600000 46.800000,31.200000 C 46.000000,31.800000 45.700000,32.300000 45.800000,32.800000 C 46.000000,33.600000 47.400000,34.100000 48.900000,34.500000 C 50.300000,34.900000 51.700000,35.300000 51.900000,36.000000 C 52.000000,36.300000 51.800000,36.700000 51.400000,37.100000 C 49.600000,38.900000 47.300000,37.900000 45.300000,37.100000 C 43.600000,36.400000 42.100000,35.700000 41.100000,36.700000 C 40.100000,37.700000 39.900000,38.500000 39.800000,39.200000 C 39.700000,40.000000 39.500000,40.800000 38.200000,42.100000 L 38.400000,42.300000 C 39.800000,40.900000 40.000000,40.000000 40.100000,39.200000 C 40.200000,38.500000 40.400000,37.900000 41.300000,36.900000 C 42.200000,36.000000 43.600000,36.600000 45.200000,37.300000 C 47.300000,38.200000 49.700000,39.200000 51.600000,37.300000 C 52.100000,36.800000 52.300000,36.300000 52.200000,35.900000 C 52.000000,35.000000 50.500000,34.600000 49.000000,34.200000 C 47.600000,33.800000 46.200000,33.400000 46.100000,32.700000 C 46.000000,32.400000 46.300000,31.900000 47.000000,31.400000 C 48.900000,29.900000 50.600000,30.400000 52.500000,31.000000 C 54.800000,31.700000 57.500000,32.500000 60.900000,29.600000 C 61.400000,29.200000 61.600000,28.700000 61.500000,28.200000 C 61.100000,26.300000 55.400000,24.800000 50.800000,23.700000 L 48.600000,23.100000 C 43.700000,21.800000 38.700000,23.800000 38.700000,23.800000 L 38.700000,23.900000 z " + id="path1541" /> + + <path + style="opacity:0.34999999;stroke:none;" + d="M 38.900000,24.600000 L 39.000000,24.900000 C 39.000000,24.900000 44.000000,22.900000 48.700000,24.200000 L 50.900000,24.800000 C 54.900000,25.800000 61.000000,27.400000 61.400000,29.100000 C 61.500000,29.400000 61.300000,29.800000 60.900000,30.100000 C 57.600000,32.800000 55.200000,32.100000 52.800000,31.400000 C 50.800000,30.800000 49.000000,30.300000 47.000000,31.900000 C 46.200000,32.500000 45.900000,33.000000 46.000000,33.500000 C 46.200000,34.300000 47.600000,34.800000 49.100000,35.200000 C 50.500000,35.600000 51.900000,36.000000 52.100000,36.700000 C 52.200000,37.000000 52.000000,37.400000 51.600000,37.800000 C 49.800000,39.600000 47.500000,38.600000 45.500000,37.800000 C 43.800000,37.100000 42.300000,36.400000 41.300000,37.400000 C 40.300000,38.400000 40.100000,39.200000 40.000000,39.900000 C 39.900000,40.700000 39.700000,41.500000 38.400000,42.800000 L 38.600000,43.000000 C 40.000000,41.600000 40.200000,40.700000 40.300000,39.900000 C 40.400000,39.200000 40.600000,38.600000 41.500000,37.600000 C 42.400000,36.700000 43.800000,37.300000 45.400000,38.000000 C 47.500000,38.900000 49.900000,39.900000 51.800000,38.000000 C 52.300000,37.500000 52.500000,37.000000 52.400000,36.600000 C 52.200000,35.700000 50.700000,35.300000 49.200000,34.900000 C 47.800000,34.500000 46.400000,34.100000 46.300000,33.400000 C 46.200000,33.100000 46.500000,32.600000 47.200000,32.100000 C 49.100000,30.600000 50.800000,31.100000 52.700000,31.700000 C 55.000000,32.400000 57.700000,33.200000 61.100000,30.300000 C 61.600000,29.900000 61.800000,29.400000 61.700000,28.900000 C 61.300000,27.000000 55.600000,25.500000 51.000000,24.400000 L 48.800000,23.800000 C 43.900000,22.500000 38.900000,24.500000 38.900000,24.500000 L 38.900000,24.600000 z " + id="path1543" /> + + </g> + + <g + id="mouse" + style="fill:#bababa;fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;"> + <g + style="opacity:0.34999999;" + id="g1548"> + <path + style="fill:#000000;stroke:none;" + d="M 30.200000,48.100000 C 29.700000,48.600000 29.700000,51.100000 32.000000,51.400000 C 32.000000,51.400000 36.000000,52.600000 38.400000,50.300000 L 42.300000,46.600000 C 42.800000,46.100000 42.600000,44.800000 42.000000,44.500000 L 37.600000,42.400000 C 36.900000,42.100000 36.000000,42.300000 35.500000,42.800000 L 30.400000,48.200000 L 30.200000,48.100000 z " + id="path1550" /> + + </g> + + <radialGradient + id="radialGradient2176" + cx="31.883301" + cy="40.924801" + r="9.6183004" + fx="31.883301" + fy="40.924801" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#EFEFEF" + id="stop1555" /> + + <stop + offset="1" + style="stop-color:#6D6D6D" + id="stop1557" /> + + </radialGradient> + + <path + style="fill:url(#aigrd2);stroke-width:3.2730000;stroke-linecap:round;stroke-linejoin:round;" + d="M 40.300000,43.600000 C 40.300000,43.500000 40.300000,43.400000 40.200000,43.300000 C 39.800000,42.600000 38.500000,42.200000 37.300000,41.900000 C 37.100000,41.800000 36.900000,41.700000 36.600000,41.600000 C 36.400000,41.600000 36.200000,41.600000 36.000000,41.700000 C 35.700000,41.700000 35.400000,41.600000 35.200000,41.600000 C 34.000000,41.600000 30.600000,41.600000 30.100000,46.600000 C 30.100000,46.800000 30.100000,46.900000 30.100000,47.100000 C 29.600000,49.200000 34.200000,50.400000 36.200000,48.600000 L 40.000000,44.800000 C 40.300000,44.500000 40.200000,43.900000 40.100000,43.600000 L 40.300000,43.600000 z " + id="path1560" /> + + <path + style="fill:#a6a6a6;stroke:none;" + d="M 42.800000,23.700000 L 43.500000,23.900000 C 43.500000,23.900000 43.800000,22.200000 48.600000,23.500000 L 50.800000,24.100000 C 54.800000,25.100000 60.900000,26.700000 61.300000,28.400000 C 61.400000,28.700000 61.200000,29.100000 60.800000,29.400000 C 57.500000,32.100000 55.100000,31.400000 52.700000,30.700000 C 50.700000,30.100000 48.900000,29.600000 46.900000,31.200000 C 46.100000,31.800000 45.800000,32.300000 45.900000,32.800000 C 46.100000,33.600000 47.500000,34.100000 49.000000,34.500000 C 50.400000,34.900000 51.800000,35.300000 52.000000,36.000000 C 52.100000,36.300000 51.900000,36.700000 51.500000,37.100000 C 49.700000,38.900000 47.400000,37.900000 45.400000,37.100000 C 43.700000,36.400000 42.200000,35.700000 41.200000,36.700000 C 40.200000,37.700000 40.000000,38.500000 39.900000,39.200000 C 39.800000,40.000000 39.600000,40.800000 38.300000,42.100000 L 38.500000,42.300000 C 39.900000,40.900000 40.100000,40.000000 40.200000,39.200000 C 40.300000,38.500000 40.500000,37.900000 41.400000,36.900000 C 42.300000,36.000000 43.700000,36.600000 45.300000,37.300000 C 47.400000,38.200000 49.800000,39.200000 51.700000,37.300000 C 52.200000,36.800000 52.400000,36.300000 52.300000,35.900000 C 52.100000,35.000000 50.600000,34.600000 49.100000,34.200000 C 47.700000,33.800000 46.300000,33.400000 46.200000,32.700000 C 46.100000,32.400000 46.400000,31.900000 47.100000,31.400000 C 49.000000,29.900000 50.700000,30.400000 52.600000,31.000000 C 54.900000,31.700000 57.600000,32.500000 61.000000,29.600000 C 61.500000,29.200000 61.700000,28.700000 61.600000,28.200000 C 61.200000,26.300000 55.500000,24.800000 50.900000,23.700000 L 48.700000,23.100000 C 43.800000,21.800000 42.900000,23.600000 42.800000,23.600000 L 42.800000,23.700000 z " + id="path1562" /> + + <linearGradient + id="linearGradient2187" + gradientUnits="userSpaceOnUse" + x1="33.299801" + y1="47.693401" + x2="38.961201" + y2="42.144901"> + <stop + offset="0" + style="stop-color:#686868" + id="stop1566" /> + + <stop + offset="1" + style="stop-color:#6D6D6D" + id="stop1568" /> + + </linearGradient> + + <path + style="fill:url(#aigrd3);stroke:none;" + d="M 40.200000,43.300000 L 30.500000,46.500000 C 28.700000,48.900000 34.100000,50.700000 36.300000,48.600000 L 40.100000,44.800000 C 40.600000,44.300000 40.100000,43.300000 40.100000,43.300000 L 40.200000,43.300000 z " + id="path1571" /> + + <path + style="fill:#f0f0f0;stroke:none;" + d="M 40.200000,43.400000 C 39.600000,42.300000 36.400000,41.800000 35.200000,41.800000 C 34.000000,41.800000 30.600000,41.800000 30.100000,46.800000 C 29.900000,48.500000 32.200000,49.700000 33.900000,49.100000 C 35.600000,48.500000 35.700000,45.900000 37.100000,44.800000 C 38.500000,43.700000 40.800000,44.500000 40.200000,43.400000 z " + id="path1573" /> + + <linearGradient + id="linearGradient2198" + gradientUnits="userSpaceOnUse" + x1="30.388201" + y1="46.680698" + x2="40.614700" + y2="42.969200"> + <stop + offset="0" + style="stop-color:#FCFCFC" + id="stop1577" /> + + <stop + offset="1" + style="stop-color:#BBBBBB" + id="stop1579" /> + + </linearGradient> + + <path + style="fill:url(#aigrd4);stroke:none;" + d="M 40.200000,43.300000 C 39.600000,42.200000 36.400000,41.700000 35.200000,41.700000 C 34.000000,41.700000 30.600000,41.700000 30.100000,46.700000 C 30.000000,48.400000 32.300000,49.500000 34.000000,49.000000 C 35.700000,48.400000 35.800000,45.800000 37.200000,44.700000 C 38.600000,43.600000 40.900000,44.400000 40.300000,43.300000 L 40.200000,43.300000 z " + id="path1582" /> + + <linearGradient + id="linearGradient2207" + gradientUnits="userSpaceOnUse" + x1="32.862801" + y1="44.293900" + x2="39.974998" + y2="41.712700"> + <stop + offset="0" + style="stop-color:#EBEBEB" + id="stop1586" /> + + <stop + offset="1" + style="stop-color:#818181" + id="stop1588" /> + + </linearGradient> + + <path + style="fill:url(#aigrd5);stroke:none;" + d="M 40.300000,43.600000 C 40.400000,44.100000 38.300000,43.800000 37.800000,44.300000 C 37.400000,43.600000 35.800000,42.900000 34.700000,42.600000 C 33.500000,42.300000 32.100000,42.500000 32.100000,42.500000 C 34.000000,40.700000 40.200000,41.900000 40.300000,43.500000 L 40.300000,43.600000 z " + id="path1591" /> + + <path + style="opacity:0.29999998;fill:#000000;stroke:none;" + d="M 37.800000,44.300000 L 37.900000,44.900000 C 38.400000,44.300000 39.700000,45.000000 40.300000,43.900000 C 39.700000,44.700000 38.300000,44.300000 38.000000,44.600000 L 37.800000,44.300000 L 37.800000,44.300000 z " + id="path1593" /> + + <path + style="opacity:0.29999998;fill:#000000;stroke:none;" + d="M 34.700000,42.600000 L 34.900000,42.600000 C 35.800000,41.800000 38.300000,42.100000 38.300000,42.100000 C 38.300000,42.100000 35.600000,41.600000 34.700000,42.500000 L 34.700000,42.600000 z " + id="path1595" /> + + <g + id="g1597"> + <radialGradient + id="radialGradient2222" + cx="37.036098" + cy="43.108398" + r="1.4450999" + fx="37.036098" + fy="43.108398" + gradientTransform="matrix(0.907000,0.421100,-0.421100,0.907000,20.87590,-13.39680)" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#EFEFEF" + id="stop1601" /> + + <stop + offset="1" + style="stop-color:#6D6D6D" + id="stop1603" /> + + </radialGradient> + + <path + style="fill:url(#aigrd6);stroke:none;" + d="M 36.600000,41.600000 C 36.000000,41.500000 35.700000,41.900000 35.600000,42.200000 C 35.800000,42.400000 35.900000,42.400000 36.300000,42.400000 C 36.900000,42.400000 37.100000,42.300000 37.500000,42.100000 C 37.300000,41.900000 37.000000,41.600000 36.600000,41.600000 L 36.600000,41.600000 z " + id="path1606" /> + + <radialGradient + id="radialGradient2231" + cx="36.370098" + cy="43.091801" + r="1.9756000" + fx="36.370098" + fy="43.091801" + gradientTransform="matrix(0.907000,0.421100,-0.421100,0.907000,20.87590,-13.39680)" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#9E9E9E" + id="stop1610" /> + + <stop + offset="1" + style="stop-color:#535353" + id="stop1612" /> + + </radialGradient> + + <path + style="fill:url(#aigrd7);stroke:none;" + d="M 36.900000,41.800000 C 36.500000,41.700000 36.300000,42.200000 36.300000,42.400000 C 36.700000,42.400000 37.200000,42.300000 37.500000,42.000000 C 37.400000,41.900000 37.200000,41.800000 37.000000,41.700000 L 36.900000,41.800000 z " + id="path1615" /> + + </g> + + <g + style="stroke:none;" + id="g1618"> + <path + d="M 31.600000,47.700000 C 31.600000,47.700000 31.600000,47.700000 31.600000,47.700000 C 31.600000,47.700000 31.600000,47.700000 31.600000,47.600000 L 31.700000,47.400000 L 31.700000,47.400000 L 31.600000,47.600000 C 31.600000,47.600000 31.600000,47.700000 31.600000,47.700000 C 31.600000,47.700000 31.600000,47.700000 31.500000,47.700000 L 31.500000,47.700000 L 31.600000,47.700000 z M 31.700000,47.400000 C 31.700000,47.400000 31.700000,47.400000 31.700000,47.400000 C 31.700000,47.400000 31.700000,47.400000 31.700000,47.400000 C 31.700000,47.400000 31.700000,47.400000 31.700000,47.400000 C 31.700000,47.400000 31.700000,47.400000 31.700000,47.400000 z " + id="path1620" /> + + <path + d="M 31.800000,47.500000 C 31.800000,47.500000 31.800000,47.500000 31.800000,47.500000 C 31.800000,47.500000 31.800000,47.500000 31.800000,47.500000 C 31.800000,47.500000 31.800000,47.500000 31.800000,47.500000 C 31.800000,47.500000 31.800000,47.500000 31.800000,47.500000 z M 31.700000,47.700000 L 31.800000,47.500000 L 31.800000,47.500000 L 31.700000,47.700000 L 31.700000,47.700000 z " + id="path1622" /> + + <path + d="M 31.800000,47.600000 C 31.800000,47.600000 31.800000,47.600000 31.800000,47.600000 L 31.800000,47.600000 L 31.800000,47.600000 L 31.800000,47.600000 C 31.800000,47.600000 31.800000,47.600000 31.900000,47.600000 C 31.900000,47.600000 31.900000,47.600000 31.900000,47.700000 L 31.900000,47.700000 C 31.900000,47.700000 31.900000,47.700000 31.900000,47.700000 C 31.900000,47.700000 31.900000,47.700000 31.900000,47.700000 C 31.900000,47.700000 32.000000,47.700000 31.900000,47.800000 L 31.900000,47.900000 L 31.900000,47.900000 L 31.900000,47.800000 C 31.900000,47.800000 31.900000,47.700000 31.900000,47.700000 C 31.900000,47.700000 31.900000,47.700000 31.900000,47.700000 C 31.900000,47.700000 31.900000,47.700000 31.900000,47.700000 L 31.900000,47.800000 L 31.900000,47.800000 L 31.900000,47.700000 C 31.900000,47.700000 31.900000,47.600000 31.900000,47.600000 C 31.900000,47.600000 31.900000,47.600000 31.800000,47.600000 C 31.800000,47.600000 31.800000,47.600000 31.800000,47.600000 L 31.800000,47.700000 L 31.800000,47.700000 L 31.900000,47.600000 L 31.800000,47.600000 z " + id="path1624" /> + + <path + d="M 32.100000,47.700000 C 32.100000,47.700000 32.100000,47.700000 32.100000,47.600000 L 32.100000,47.600000 L 32.100000,47.600000 L 32.100000,47.600000 C 32.100000,47.600000 32.100000,47.600000 32.200000,47.600000 C 32.200000,47.600000 32.200000,47.600000 32.200000,47.700000 L 32.200000,47.700000 C 32.200000,47.700000 32.200000,47.700000 32.200000,47.700000 C 32.200000,47.700000 32.200000,47.700000 32.200000,47.700000 C 32.200000,47.700000 32.300000,47.700000 32.200000,47.800000 L 32.200000,47.900000 L 32.200000,47.900000 L 32.200000,47.800000 C 32.200000,47.800000 32.200000,47.700000 32.200000,47.700000 C 32.200000,47.700000 32.200000,47.700000 32.100000,47.700000 C 32.100000,47.700000 32.100000,47.700000 32.100000,47.700000 L 32.100000,47.800000 L 32.100000,47.800000 L 32.100000,47.700000 C 32.100000,47.700000 32.100000,47.600000 32.100000,47.600000 C 32.100000,47.600000 32.100000,47.600000 32.000000,47.600000 C 32.000000,47.600000 32.000000,47.600000 32.000000,47.600000 L 32.000000,47.700000 L 32.000000,47.700000 L 32.100000,47.600000 L 32.100000,47.700000 z " + id="path1626" /> + + <path + d="M 32.500000,47.900000 C 32.500000,47.900000 32.500000,47.900000 32.500000,47.900000 L 32.500000,47.900000 L 32.500000,47.900000 L 32.500000,47.900000 C 32.500000,47.900000 32.500000,47.900000 32.400000,47.900000 C 32.400000,47.900000 32.400000,47.900000 32.400000,47.800000 C 32.400000,47.800000 32.500000,47.700000 32.500000,47.800000 L 32.500000,47.800000 C 32.500000,47.800000 32.500000,47.800000 32.500000,47.700000 C 32.500000,47.700000 32.500000,47.700000 32.400000,47.700000 L 32.400000,47.700000 C 32.400000,47.700000 32.400000,47.700000 32.500000,47.700000 C 32.600000,47.700000 32.600000,47.800000 32.500000,47.800000 L 32.500000,47.900000 z M 32.400000,47.800000 C 32.400000,47.800000 32.300000,47.800000 32.300000,47.800000 C 32.300000,47.800000 32.300000,47.800000 32.300000,47.800000 C 32.300000,47.800000 32.300000,47.800000 32.400000,47.800000 C 32.400000,47.800000 32.400000,47.800000 32.400000,47.800000 L 32.400000,47.800000 z " + id="path1628" /> + + <path + d="M 32.600000,48.000000 C 32.600000,48.000000 32.600000,48.000000 32.500000,48.000000 C 32.400000,48.000000 32.400000,47.900000 32.500000,47.900000 C 32.500000,47.800000 32.600000,47.800000 32.700000,47.800000 C 32.700000,47.800000 32.700000,47.800000 32.700000,47.800000 L 32.700000,47.800000 C 32.700000,47.800000 32.700000,47.800000 32.700000,47.800000 C 32.700000,47.800000 32.600000,47.800000 32.600000,47.800000 C 32.600000,47.800000 32.600000,47.900000 32.600000,47.900000 C 32.600000,47.900000 32.600000,47.900000 32.600000,47.900000 L 32.600000,47.900000 L 32.600000,48.000000 z " + id="path1630" /> + + </g> + + </g> + + <g + id="computercase" + style="fill:#ffffff;fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;"> + <g + style="opacity:0.34999999;" + id="g1636"> + <path + style="fill:#000000;stroke:none;" + d="M 26.200000,45.300000 C 24.500000,47.000000 21.200000,48.600000 19.300000,47.700000 C 17.400000,46.800000 4.5000000,41.100000 4.5000000,41.100000 C 3.8000000,40.800000 3.8000000,40.200000 4.3000000,39.800000 L 10.800000,34.800000 C 11.400000,34.400000 12.300000,33.700000 12.900000,33.200000 L 28.500000,21.800000 C 29.100000,21.400000 30.100000,21.200000 30.800000,21.400000 L 51.500000,27.200000 C 52.200000,27.400000 52.300000,27.900000 51.700000,28.400000 L 47.800000,31.500000 C 46.700000,32.600000 50.700000,31.700000 49.300000,33.100000 L 42.500000,39.000000 C 41.300000,40.200000 39.700000,38.100000 38.500000,39.000000 L 37.300000,39.900000 C 36.700000,40.400000 35.700000,40.800000 35.000000,40.900000 L 31.900000,41.300000 C 31.200000,41.400000 30.200000,41.900000 29.700000,42.400000 C 29.700000,42.400000 27.900000,43.600000 26.200000,45.300000 L 26.200000,45.300000 z " + id="path1638" /> + + </g> + + <path + style="fill:#000000;stroke-width:3.2730000;stroke-linecap:round;stroke-linejoin:round;" + d="M 43.800000,23.900000 C 43.800000,23.900000 43.800000,23.900000 43.800000,23.900000 C 43.800000,23.900000 43.700000,23.900000 43.600000,23.800000 C 43.100000,23.600000 29.500000,19.900000 28.900000,19.700000 C 28.200000,19.500000 27.400000,19.400000 27.000000,19.600000 C 26.600000,19.700000 15.400000,26.200000 14.800000,26.600000 C 14.700000,26.700000 14.600000,26.700000 14.600000,26.800000 C 13.800000,27.500000 13.800000,28.500000 13.800000,28.500000 C 13.800000,28.500000 13.800000,28.500000 13.800000,28.400000 C 13.800000,28.500000 13.800000,28.500000 13.800000,28.600000 L 14.000000,31.500000 C 14.000000,32.100000 14.100000,32.300000 14.600000,32.500000 C 14.600000,32.500000 29.100000,38.300000 30.900000,38.700000 C 31.000000,38.700000 31.000000,38.700000 31.100000,38.700000 C 31.100000,38.700000 31.100000,38.700000 31.100000,38.700000 C 31.900000,38.900000 32.100000,38.800000 32.400000,38.500000 C 32.400000,38.500000 32.500000,38.500000 32.500000,38.400000 C 32.800000,38.200000 43.900000,29.700000 44.300000,29.400000 C 44.600000,29.100000 44.700000,28.900000 44.700000,28.600000 C 44.700000,28.300000 44.900000,26.000000 44.900000,25.600000 C 44.900000,25.600000 44.900000,25.500000 44.900000,25.500000 C 44.900000,25.500000 44.900000,25.500000 44.900000,25.500000 C 44.900000,25.000000 44.900000,24.200000 43.700000,23.900000 L 43.800000,23.900000 z M 31.800000,38.200000 C 31.800000,38.200000 31.800000,38.200000 31.800000,38.200000 L 31.800000,38.200000 L 31.800000,38.200000 C 31.800000,38.200000 31.800000,38.300000 31.800000,38.300000 C 31.800000,38.300000 31.800000,38.200000 31.800000,38.200000 C 31.800000,38.200000 31.800000,38.200000 31.800000,38.200000 z M 43.400000,25.600000 C 43.800000,25.300000 44.100000,25.100000 44.100000,25.100000 C 44.100000,25.100000 43.800000,25.300000 43.300000,25.700000 C 42.600000,26.200000 41.500000,27.000000 40.300000,27.800000 C 42.200000,26.500000 43.900000,25.300000 44.300000,25.000000 C 44.200000,25.100000 43.900000,25.300000 43.300000,25.700000 L 43.400000,25.600000 z " + id="path1641" /> + + <linearGradient + id="aigrd8" + gradientUnits="userSpaceOnUse" + x1="15.328600" + y1="27.821301" + x2="45.169899" + y2="27.821301" + gradientTransform="matrix(0.997000,7.730000e-2,-7.730000e-2,0.997000,1.382000,-3.616000)"> + <stop + offset="0" + style="stop-color:#EBEBEB" + id="stop1645" /> + + <stop + offset="1" + style="stop-color:#EAEAEA" + id="stop1647" /> + + </linearGradient> + + <path + style="fill:url(#aigrd8);stroke:none;" + d="M 28.900000,19.800000 C 28.200000,19.600000 27.400000,19.500000 27.000000,19.700000 C 26.600000,19.800000 15.400000,26.300000 14.800000,26.700000 C 14.200000,27.100000 14.100000,27.800000 14.900000,28.000000 C 15.700000,28.300000 30.300000,33.000000 30.900000,33.200000 C 31.500000,33.400000 32.500000,33.400000 32.900000,33.100000 C 33.200000,32.800000 44.100000,25.200000 44.500000,24.900000 C 44.800000,24.600000 44.200000,24.100000 43.700000,23.900000 C 43.200000,23.700000 29.600000,20.000000 29.000000,19.800000 L 28.900000,19.800000 z " + id="path1650" /> + + <linearGradient + id="aigrd9" + gradientUnits="userSpaceOnUse" + x1="16.527300" + y1="34.597698" + x2="32.084099" + y2="35.718102" + gradientTransform="matrix(0.997000,7.730000e-2,-7.730000e-2,0.997000,1.382000,-3.616000)"> + <stop + offset="0" + style="stop-color:#F8F8F8" + id="stop1654" /> + + <stop + offset="1" + style="stop-color:#C9C9C9" + id="stop1656" /> + + </linearGradient> + + <path + style="fill:url(#aigrd9);stroke:none;" + d="M 13.900000,28.600000 C 13.900000,28.100000 14.300000,27.800000 14.700000,27.900000 C 15.100000,28.000000 30.800000,33.200000 31.400000,33.600000 C 32.000000,34.000000 32.300000,34.200000 32.300000,34.600000 C 32.300000,35.100000 32.100000,37.700000 32.000000,38.100000 C 32.000000,38.500000 31.600000,39.000000 31.000000,38.800000 C 29.300000,38.400000 14.700000,32.600000 14.700000,32.600000 C 14.200000,32.400000 14.100000,32.200000 14.100000,31.600000 L 13.900000,28.700000 L 13.900000,28.600000 z " + id="path1659" /> + + <linearGradient + id="aigrd10" + gradientUnits="userSpaceOnUse" + x1="35.135700" + y1="37.355499" + x2="44.730701" + y2="26.059700" + gradientTransform="matrix(0.997000,7.730000e-2,-7.730000e-2,0.997000,1.382000,-3.616000)"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop1663" /> + + <stop + offset="1" + style="stop-color:#828282" + id="stop1665" /> + + </linearGradient> + + <path + style="fill:url(#aigrd10);stroke:none;" + d="M 32.600000,38.500000 C 32.300000,38.700000 31.800000,38.400000 31.800000,37.900000 C 31.800000,37.300000 32.000000,34.900000 32.100000,34.400000 C 32.100000,33.900000 32.400000,33.500000 32.700000,33.200000 C 33.000000,32.900000 44.000000,25.300000 44.400000,25.000000 C 44.800000,24.600000 45.000000,25.300000 45.000000,25.700000 C 45.000000,26.100000 44.800000,28.300000 44.800000,28.700000 C 44.800000,29.000000 44.700000,29.200000 44.400000,29.500000 C 44.100000,29.800000 32.900000,38.300000 32.600000,38.500000 L 32.600000,38.500000 z " + id="path1668" /> + + <g + style="stroke:none;" + id="g1670"> + <path + d="M 31.600000,33.100000 C 30.600000,33.000000 14.600000,27.700000 14.400000,27.600000 C 14.300000,27.600000 14.400000,27.000000 14.800000,26.700000 C 13.800000,27.400000 13.800000,28.600000 13.800000,28.600000 C 13.800000,28.600000 13.900000,28.100000 14.400000,28.000000 C 16.400000,28.700000 30.300000,33.500000 30.800000,33.700000 C 31.400000,33.900000 31.600000,34.600000 31.600000,35.100000 L 31.800000,38.300000 L 32.100000,35.100000 C 32.100000,34.600000 32.400000,33.600000 33.000000,33.200000 C 33.300000,33.000000 40.400000,27.800000 43.100000,25.900000 C 40.400000,27.800000 32.800000,33.200000 31.600000,33.100000 z " + id="path1672" /> + + <path + d="M 43.100000,25.900000 C 43.700000,25.500000 44.100000,25.200000 44.100000,25.200000 C 44.100000,25.200000 43.700000,25.500000 43.100000,25.900000 z " + id="path1674" /> + + </g> + + <path + style="fill:#848484;stroke:none;" + d="M 32.400000,38.500000 C 32.000000,38.800000 31.800000,38.900000 31.100000,38.700000 C 31.600000,38.500000 31.800000,38.200000 31.800000,38.200000 C 31.800000,38.200000 31.900000,38.500000 32.400000,38.500000 z " + id="path1677" /> + + <path + style="fill:#545454;stroke:none;" + d="M 43.800000,24.000000 C 44.500000,24.300000 44.700000,24.700000 44.400000,25.000000 C 44.700000,24.800000 45.000000,25.600000 45.000000,25.600000 C 45.000000,25.100000 45.000000,24.300000 43.800000,24.000000 z " + id="path1679" /> + + <linearGradient + id="aigrd11" + gradientUnits="userSpaceOnUse" + x1="24.541000" + y1="34.498001" + x2="30.010300" + y2="34.498001"> + <stop + offset="0" + style="stop-color:#2A2A2A" + id="stop1683" /> + + <stop + offset="0.4743" + style="stop-color:#585858" + id="stop1685" /> + + <stop + offset="1" + style="stop-color:#878787" + id="stop1687" /> + + </linearGradient> + + <path + style="fill:url(#aigrd11);stroke:none;" + d="M 24.500000,33.200000 L 24.500000,33.900000 L 30.000000,35.800000 L 30.000000,35.200000 L 24.500000,33.200000 z " + id="path1690" /> + + <path + style="opacity:0.21999998;fill:#000000;stroke:none;" + d="M 24.500000,33.900000 L 24.200000,34.100000 L 24.200000,32.800000 L 30.200000,35.000000 L 30.000000,35.200000 L 24.500000,33.200000 L 24.500000,33.900000 L 24.500000,33.900000 z " + id="path1692" /> + + <path + style="opacity:0.72000003;stroke:none;" + d="M 30.200000,36.200000 L 30.200000,34.900000 L 30.000000,35.200000 L 30.000000,35.800000 L 24.500000,33.900000 L 24.200000,34.100000 L 30.200000,36.200000 L 30.200000,36.200000 z " + id="path1694" /> + + <linearGradient + id="aigrd12" + gradientUnits="userSpaceOnUse" + x1="41.679699" + y1="26.849600" + x2="37.783298" + y2="34.141399"> + <stop + offset="0" + style="stop-color:#FFFFFF" + id="stop1698" /> + + <stop + offset="1" + style="stop-color:#FFFFFF" + id="stop1700" /> + + </linearGradient> + + <path + style="opacity:0.12999995;fill:url(#aigrd12);stroke:none;" + d="M 44.900000,27.600000 L 32.800000,36.400000 L 32.800000,36.800000 L 44.900000,27.800000 L 44.900000,27.500000 L 44.900000,27.600000 z " + id="path1703" /> + + <linearGradient + id="aigrd13" + gradientUnits="userSpaceOnUse" + x1="41.679699" + y1="25.784201" + x2="37.783600" + y2="33.075401"> + <stop + offset="0" + style="stop-color:#FFFFFF" + id="stop1707" /> + + <stop + offset="1" + style="stop-color:#FFFFFF" + id="stop1709" /> + + </linearGradient> + + <path + style="opacity:0.12999995;fill:url(#aigrd13);stroke:none;" + d="M 44.900000,26.500000 L 32.800000,35.300000 L 32.800000,35.700000 L 44.900000,26.700000 L 44.900000,26.400000 L 44.900000,26.500000 z " + id="path1712" /> + + <linearGradient + id="aigrd14" + gradientUnits="userSpaceOnUse" + x1="41.679699" + y1="26.504900" + x2="37.783298" + y2="33.796700"> + <stop + offset="0" + style="stop-color:#000000" + id="stop1716" /> + + <stop + offset="1" + style="stop-color:#6A6A6A" + id="stop1718" /> + + </linearGradient> + + <path + style="opacity:0.12999995;fill:url(#aigrd14);stroke:none;" + d="M 44.900000,27.200000 L 32.800000,36.000000 L 32.800000,36.400000 L 44.900000,27.400000 L 44.900000,27.100000 L 44.900000,27.200000 z " + id="path1721" /> + + <linearGradient + id="aigrd15" + gradientUnits="userSpaceOnUse" + x1="41.680698" + y1="25.439501" + x2="37.784199" + y2="32.731300"> + <stop + offset="0" + style="stop-color:#000000" + id="stop1725" /> + + <stop + offset="1" + style="stop-color:#6A6A6A" + id="stop1727" /> + + </linearGradient> + + <path + style="opacity:0.12999995;fill:url(#aigrd15);stroke:none;" + d="M 44.900000,26.200000 L 32.800000,35.000000 L 32.800000,35.400000 L 44.900000,26.400000 L 44.900000,26.100000 L 44.900000,26.200000 z " + id="path1730" /> + + </g> + + <g + id="keyboard" + style="fill:#ffffff;fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;"> + <linearGradient + id="aigrd16" + gradientUnits="userSpaceOnUse" + x1="12.391600" + y1="42.346699" + x2="21.630400" + y2="33.292198"> + <stop + offset="0" + style="stop-color:#DBDBDB" + id="stop1737" /> + + <stop + offset="1" + style="stop-color:#ACACAC" + id="stop1739" /> + + </linearGradient> + + <path + style="fill:url(#aigrd16);stroke-width:3.2730000;stroke-linecap:round;stroke-linejoin:round;" + d="M 25.900000,37.400000 L 11.200000,31.800000 C 10.700000,32.800000 10.000000,33.700000 9.3000000,34.400000 L 9.3000000,34.400000 C 9.0000000,34.300000 8.4000000,34.300000 8.1000000,34.600000 L 5.6000000,36.500000 C 5.3000000,36.700000 5.4000000,37.000000 5.6000000,37.100000 L 5.6000000,37.100000 C 4.6000000,37.600000 4.0000000,37.900000 4.0000000,37.900000 C 3.3000000,38.600000 4.3000000,39.600000 4.3000000,39.600000 L 19.000000,46.000000 C 20.300000,46.600000 25.400000,42.900000 26.300000,41.400000 C 27.100000,39.900000 25.900000,37.300000 25.900000,37.300000 L 25.900000,37.400000 z " + id="path1742" /> + + <linearGradient + id="aigrd17" + gradientUnits="userSpaceOnUse" + x1="11.995100" + y1="43.459000" + x2="20.337601" + y2="33.637600"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop1746" /> + + <stop + offset="1" + style="stop-color:#828282" + id="stop1748" /> + + </linearGradient> + + <path + style="fill:url(#aigrd17);stroke:none;" + d="M 4.4000000,39.600000 L 19.100000,46.000000 C 20.400000,46.600000 25.500000,42.900000 26.400000,41.400000 C 27.200000,39.900000 26.000000,37.300000 26.000000,37.300000 L 11.300000,31.700000 C 9.3000000,35.800000 4.0000000,37.900000 4.0000000,37.900000 C 3.3000000,38.600000 4.3000000,39.600000 4.3000000,39.600000 L 4.4000000,39.600000 z " + id="path1751" /> + + <linearGradient + id="aigrd18" + gradientUnits="userSpaceOnUse" + x1="4.0293002" + y1="38.033199" + x2="25.940901" + y2="38.033199"> + <stop + offset="0" + style="stop-color:#EBEBEB" + id="stop1755" /> + + <stop + offset="1" + style="stop-color:#EAEAEA" + id="stop1757" /> + + </linearGradient> + + <path + style="fill:url(#aigrd18);stroke:none;" + d="M 25.900000,37.400000 C 24.800000,40.600000 19.300000,44.300000 19.300000,44.300000 L 4.0000000,37.900000 C 4.0000000,37.900000 8.9000000,36.100000 11.200000,31.800000 L 25.900000,37.400000 z " + id="path1760" /> + + <path + style="stroke:none;" + d="M 25.900000,37.400000 C 25.100000,39.900000 19.800000,44.000000 19.200000,44.000000 C 18.700000,44.000000 4.0000000,37.900000 4.0000000,37.900000 L 18.800000,44.200000 C 18.800000,44.200000 19.100000,44.400000 19.100000,44.700000 L 19.300000,46.100000 L 19.400000,44.800000 C 19.400000,44.800000 19.400000,44.300000 19.700000,44.200000 C 19.700000,44.200000 25.200000,40.100000 25.900000,37.400000 L 25.900000,37.400000 z " + id="path1762" /> + + <g + id="g1764"> + <linearGradient + id="aigrd19" + gradientUnits="userSpaceOnUse" + x1="10.036100" + y1="39.681599" + x2="14.645200" + y2="35.164501"> + <stop + offset="0" + style="stop-color:#686868" + id="stop1768" /> + + <stop + offset="1" + style="stop-color:#6D6D6D" + id="stop1770" /> + + </linearGradient> + + <path + style="fill:url(#aigrd19);stroke:none;" + d="M 5.5000000,37.200000 C 5.2000000,37.400000 5.2000000,37.800000 5.6000000,37.900000 L 14.200000,41.400000 C 14.600000,41.600000 15.100000,41.400000 15.400000,41.200000 L 17.800000,38.900000 C 18.100000,38.600000 18.000000,38.300000 17.600000,38.100000 L 9.5000000,35.000000 C 9.1000000,34.900000 8.6000000,34.900000 8.2000000,35.200000 L 5.5000000,37.300000 L 5.5000000,37.200000 z " + id="path1773" /> + + </g> + + <g + id="g1776"> + <linearGradient + id="aigrd20" + gradientUnits="userSpaceOnUse" + x1="9.8589001" + y1="38.754902" + x2="14.118700" + y2="34.580002"> + <stop + offset="0" + style="stop-color:#DBDBDB" + id="stop1780" /> + + <stop + offset="1" + style="stop-color:#ACACAC" + id="stop1782" /> + + </linearGradient> + + <path + style="fill:url(#aigrd20);stroke:none;" + d="M 5.7000000,36.500000 C 5.4000000,36.700000 5.4000000,37.000000 5.8000000,37.200000 L 13.700000,40.500000 C 14.000000,40.600000 14.500000,40.500000 14.800000,40.300000 L 17.000000,38.200000 C 17.300000,37.900000 17.200000,37.600000 16.900000,37.500000 L 9.3000000,34.600000 C 9.0000000,34.500000 8.4000000,34.500000 8.1000000,34.800000 L 5.6000000,36.700000 L 5.7000000,36.500000 z " + id="path1785" /> + + </g> + + <g + id="g1788"> + <linearGradient + id="aigrd21" + gradientUnits="userSpaceOnUse" + x1="18.019501" + y1="42.152302" + x2="21.334000" + y2="38.903999"> + <stop + offset="0" + style="stop-color:#686868" + id="stop1792" /> + + <stop + offset="1" + style="stop-color:#6D6D6D" + id="stop1794" /> + + </linearGradient> + + <path + style="fill:url(#aigrd21);stroke:none;" + d="M 19.800000,38.700000 C 19.400000,38.500000 18.900000,38.700000 18.600000,39.000000 L 16.000000,41.400000 C 15.700000,41.700000 15.800000,42.100000 16.200000,42.200000 L 18.600000,43.200000 C 19.000000,43.400000 19.500000,43.300000 19.800000,43.000000 L 22.300000,40.500000 C 22.600000,40.200000 22.500000,39.800000 22.100000,39.700000 L 19.700000,38.700000 L 19.800000,38.700000 z " + id="path1797" /> + + </g> + + <g + id="g1800"> + <linearGradient + id="aigrd22" + gradientUnits="userSpaceOnUse" + x1="18.018600" + y1="41.378899" + x2="20.946501" + y2="38.509300"> + <stop + offset="0" + style="stop-color:#DBDBDB" + id="stop1804" /> + + <stop + offset="1" + style="stop-color:#ACACAC" + id="stop1806" /> + + </linearGradient> + + <path + style="fill:url(#aigrd22);stroke:none;" + d="M 19.600000,38.400000 C 19.300000,38.300000 18.800000,38.400000 18.500000,38.600000 L 16.300000,40.800000 C 16.000000,41.100000 16.100000,41.400000 16.400000,41.500000 L 18.500000,42.400000 C 18.800000,42.500000 19.300000,42.400000 19.600000,42.200000 L 21.800000,40.000000 C 22.100000,39.700000 22.000000,39.400000 21.600000,39.300000 L 19.500000,38.400000 L 19.600000,38.400000 z " + id="path1809" /> + + </g> + + <g + id="g1812"> + <linearGradient + id="aigrd23" + gradientUnits="userSpaceOnUse" + x1="13.828100" + y1="35.628899" + x2="16.475901" + y2="33.033901"> + <stop + offset="0" + style="stop-color:#686868" + id="stop1816" /> + + <stop + offset="1" + style="stop-color:#6D6D6D" + id="stop1818" /> + + </linearGradient> + + <path + style="fill:url(#aigrd23);stroke:none;" + d="M 11.300000,32.600000 C 10.900000,32.500000 10.500000,32.600000 10.300000,33.000000 L 10.300000,33.100000 C 10.100000,33.400000 10.200000,33.800000 10.600000,34.000000 L 18.200000,37.000000 C 18.600000,37.100000 19.000000,37.000000 19.200000,36.700000 L 19.300000,36.500000 C 19.500000,36.200000 19.400000,35.800000 19.000000,35.600000 L 11.300000,32.700000 L 11.300000,32.600000 z " + id="path1821" /> + + </g> + + <g + id="g1824"> + <linearGradient + id="aigrd24" + gradientUnits="userSpaceOnUse" + x1="13.600100" + y1="35.823200" + x2="14.871100" + y2="33.779598" + spreadMethod="pad" + xlink:href="#linearGradient8054"> + + + </linearGradient> + + <path + style="fill:url(#aigrd24);stroke:none;" + d="M 11.300000,32.200000 C 11.000000,32.100000 10.500000,32.200000 10.300000,32.500000 L 10.300000,32.600000 C 10.100000,32.900000 10.200000,33.300000 10.600000,33.400000 L 17.800000,36.300000 C 18.100000,36.400000 18.600000,36.300000 18.800000,36.000000 L 18.900000,35.800000 C 19.100000,35.500000 19.000000,35.100000 18.600000,35.000000 L 11.300000,32.200000 z " + id="path1833" /> + + </g> + + <path + style="fill:#f8f8f8;stroke:none;" + d="M 24.900000,37.700000 L 23.800000,39.300000 L 19.100000,37.400000 L 20.200000,36.000000 L 24.900000,37.700000 L 24.900000,37.700000 z " + id="path1836" /> + + <path + style="fill:#c9c9c9;stroke:none;" + d="M 19.100000,37.400000 L 20.200000,36.000000 L 24.900000,37.700000 L 24.600000,37.700000 L 20.300000,36.200000 L 19.100000,37.400000 L 19.100000,37.400000 z " + id="path1838" /> + + <path + style="stroke:none;" + d="M 17.900000,36.400000 L 10.500000,33.400000 C 10.000000,33.100000 10.400000,32.500000 10.400000,32.500000 C 10.400000,32.500000 10.100000,33.100000 10.700000,33.300000 L 17.900000,36.200000 C 18.500000,36.400000 19.000000,35.800000 19.000000,35.800000 C 19.000000,35.800000 18.600000,36.500000 18.000000,36.400000 L 17.900000,36.400000 z " + id="path1840" /> + + <path + style="stroke:none;" + d="M 13.900000,40.400000 L 5.9000000,37.100000 C 5.3000000,36.800000 5.8000000,36.400000 5.8000000,36.400000 C 5.8000000,36.400000 5.4000000,36.800000 6.0000000,37.100000 L 13.800000,40.300000 C 14.400000,40.400000 15.000000,40.000000 15.000000,40.000000 C 15.000000,40.000000 14.500000,40.500000 13.900000,40.400000 z " + id="path1842" /> + + <path + style="stroke:none;" + d="M 18.600000,42.400000 L 16.400000,41.400000 C 15.800000,41.100000 16.300000,40.700000 16.300000,40.700000 C 16.300000,40.700000 16.000000,41.100000 16.600000,41.300000 L 18.600000,42.200000 C 19.200000,42.400000 19.800000,42.000000 19.800000,42.000000 C 19.800000,42.000000 19.300000,42.500000 18.700000,42.400000 L 18.600000,42.400000 z " + id="path1844" /> + + </g> + + <g + id="monitor" + style="fill:#dedede;fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;"> + <g + style="opacity:0.44999996;" + id="g1849"> + <path + style="opacity:0.29999998;fill:#000000;stroke:none;" + d="M 28.300000,22.300000 C 26.500000,21.800000 23.700000,22.100000 22.100000,23.000000 L 17.700000,25.400000 C 16.100000,26.300000 16.200000,27.500000 17.900000,28.100000 L 32.400000,32.900000 L 32.800000,33.400000 L 34.300000,37.500000 L 43.700000,30.500000 L 42.000000,26.700000 C 42.000000,26.700000 41.100000,26.000000 40.200000,25.700000 L 28.300000,22.300000 L 28.300000,22.300000 z " + id="path1851" /> + + </g> + + <radialGradient + id="aigrd25" + cx="27.416000" + cy="20.659700" + r="8.7596998" + fx="27.416000" + fy="20.659700" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + style="stop-color:#B6B6B6" + id="stop1856" /> + + <stop + offset="1" + style="stop-color:#878787" + id="stop1858" /> + + </radialGradient> + + <path + style="fill:url(#aigrd25);stroke-width:2.0486000;stroke-linecap:round;stroke-linejoin:round;" + d="M 29.300000,20.800000 C 25.300000,20.800000 22.000000,22.200000 22.000000,24.000000 L 22.000000,24.900000 C 22.000000,26.700000 25.300000,28.100000 29.300000,28.100000 C 33.300000,28.100000 36.600000,26.700000 36.600000,24.900000 L 36.600000,24.000000 C 36.600000,22.200000 33.300000,20.800000 29.300000,20.800000 z " + id="path1861" /> + + <path + style="fill:url(#aigrd25);stroke:none;" + d="M 29.300000,20.800000 C 25.300000,20.800000 22.000000,22.200000 22.000000,24.000000 L 22.000000,24.900000 C 22.000000,26.700000 25.300000,28.100000 29.300000,28.100000 C 33.300000,28.100000 36.600000,26.700000 36.600000,24.900000 L 36.600000,24.000000 C 36.600000,22.200000 33.300000,20.800000 29.300000,20.800000 z " + id="path1863" /> + + <path + style="fill:#b3b3b3;stroke:none;" + d="M 22.100000,23.500000 C 22.300000,24.900000 23.900000,26.900000 30.600000,27.000000 C 25.500000,27.500000 21.500000,26.000000 22.100000,23.500000 z " + id="path1865" /> + + <g + id="g1867"> + <path + style="fill:#000000;stroke:none;" + d="M 38.400000,6.5000000 C 38.500000,6.1000000 38.400000,5.8000000 38.200000,5.8000000 C 38.000000,5.8000000 37.900000,5.7000000 37.900000,5.7000000 C 37.900000,5.7000000 37.900000,5.7000000 37.900000,5.7000000 C 37.900000,5.7000000 37.600000,5.6000000 37.200000,5.6000000 L 18.800000,2.4000000 C 18.400000,2.3000000 17.900000,2.3000000 17.700000,2.3000000 C 17.500000,2.3000000 17.100000,2.3000000 16.900000,2.3000000 C 16.700000,2.3000000 16.500000,2.6000000 16.500000,3.0000000 L 14.000000,20.300000 C 13.900000,20.700000 14.200000,21.100000 14.600000,21.200000 L 32.200000,26.400000 C 32.600000,26.500000 32.900000,26.600000 32.900000,26.600000 C 32.900000,26.600000 32.900000,26.600000 32.900000,26.600000 C 32.900000,26.600000 33.000000,26.600000 33.200000,26.700000 C 33.400000,26.800000 33.600000,26.800000 33.700000,26.700000 C 33.800000,26.700000 34.000000,26.600000 34.000000,26.600000 C 34.100000,26.600000 34.300000,26.500000 34.300000,26.500000 C 34.300000,26.500000 34.500000,26.500000 34.700000,26.400000 C 34.900000,26.300000 35.100000,26.000000 35.200000,25.600000 L 38.400000,6.5000000 L 38.400000,6.5000000 z " + id="path1869" /> + + <path + style="fill:none;stroke-width:3.2730000;stroke-linecap:round;stroke-linejoin:round;" + d="M 38.400000,6.5000000 C 38.500000,6.1000000 38.400000,5.8000000 38.200000,5.8000000 C 38.000000,5.8000000 37.900000,5.7000000 37.900000,5.7000000 C 37.900000,5.7000000 37.900000,5.7000000 37.900000,5.7000000 C 37.900000,5.7000000 37.600000,5.6000000 37.200000,5.6000000 L 18.800000,2.4000000 C 18.400000,2.3000000 17.900000,2.3000000 17.700000,2.3000000 C 17.500000,2.3000000 17.100000,2.3000000 16.900000,2.3000000 C 16.700000,2.3000000 16.500000,2.6000000 16.500000,3.0000000 L 14.000000,20.300000 C 13.900000,20.700000 14.200000,21.100000 14.600000,21.200000 L 32.200000,26.400000 C 32.600000,26.500000 32.900000,26.600000 32.900000,26.600000 C 32.900000,26.600000 32.900000,26.600000 32.900000,26.600000 C 32.900000,26.600000 33.000000,26.600000 33.200000,26.700000 C 33.400000,26.800000 33.600000,26.800000 33.700000,26.700000 C 33.800000,26.700000 34.000000,26.600000 34.000000,26.600000 C 34.100000,26.600000 34.300000,26.500000 34.300000,26.500000 C 34.300000,26.500000 34.500000,26.500000 34.700000,26.400000 C 34.900000,26.300000 35.100000,26.000000 35.200000,25.600000 L 38.400000,6.5000000 L 38.400000,6.5000000 z " + id="path1871" /> + + </g> + + <g + id="g1874"> + <linearGradient + id="aigrd27" + gradientUnits="userSpaceOnUse" + x1="16.602501" + y1="13.872100" + x2="34.358002" + y2="15.150900"> + <stop + offset="0" + style="stop-color:#F8F8F8" + id="stop1878" /> + + <stop + offset="1" + style="stop-color:#C9C9C9" + id="stop1880" /> + + </linearGradient> + + <path + style="fill:url(#aigrd27);stroke:none;" + d="M 17.500000,2.5000000 C 17.000000,2.4000000 16.600000,2.8000000 16.500000,3.2000000 L 14.000000,20.100000 C 13.900000,20.600000 14.300000,21.100000 14.700000,21.200000 L 32.600000,26.400000 C 33.100000,26.500000 33.500000,26.300000 33.600000,25.800000 L 37.000000,6.7000000 C 37.100000,6.2000000 36.800000,5.8000000 36.300000,5.7000000 L 17.500000,2.5000000 z " + id="path1883" /> + + </g> + + <g + id="g1886"> + <linearGradient + id="aigrd28" + gradientUnits="userSpaceOnUse" + x1="31.709499" + y1="21.258801" + x2="41.333199" + y2="9.9291000" + spreadMethod="pad" + xlink:href="#linearGradient8051"> + + + </linearGradient> + + <path + style="fill:url(#aigrd28);stroke:none;" + d="M 35.300000,25.400000 C 35.200000,25.900000 34.800000,26.400000 34.300000,26.500000 C 33.800000,26.600000 33.600000,26.300000 33.600000,25.800000 L 37.000000,6.7000000 C 37.100000,6.2000000 37.500000,5.8000000 37.900000,5.8000000 C 38.300000,5.8000000 38.500000,6.2000000 38.400000,6.7000000 L 35.300000,25.400000 z " + id="path1895" /> + + </g> + + <g + id="g1898"> + <linearGradient + id="aigrd29" + gradientUnits="userSpaceOnUse" + x1="17.374001" + y1="4.0742002" + x2="37.861301" + y2="4.0742002"> + <stop + offset="0" + style="stop-color:#EBEBEB" + id="stop1902" /> + + <stop + offset="1" + style="stop-color:#EAEAEA" + id="stop1904" /> + + </linearGradient> + + <path + style="fill:url(#aigrd29);stroke:none;" + d="M 19.000000,2.4000000 C 18.500000,2.3000000 17.800000,2.3000000 17.400000,2.3000000 C 17.000000,2.3000000 17.000000,2.4000000 17.500000,2.5000000 L 36.300000,5.6000000 C 36.800000,5.7000000 37.500000,5.7000000 37.900000,5.7000000 C 38.300000,5.7000000 38.200000,5.6000000 37.700000,5.5000000 L 19.000000,2.4000000 z " + id="path1907" /> + + </g> + + <path + style="fill:#848484;stroke:none;" + d="M 34.300000,26.500000 C 33.900000,26.700000 33.400000,26.700000 32.800000,26.500000 C 33.300000,26.300000 33.600000,25.900000 33.600000,25.900000 C 33.600000,25.900000 33.700000,26.600000 34.300000,26.500000 z " + id="path1910" /> + + <path + style="fill:#ffffff;stroke:none;" + d="M 36.300000,5.8000000 C 36.700000,5.9000000 37.100000,5.9000000 36.800000,7.0000000 L 35.300000,16.200000 L 37.100000,6.5000000 C 37.200000,5.9000000 37.500000,5.8000000 37.800000,5.7000000 L 17.400000,2.4000000 C 17.300000,2.4000000 17.200000,2.3000000 17.200000,2.3000000 C 16.800000,2.3000000 16.500000,2.8000000 16.400000,3.2000000 C 16.600000,2.8000000 16.800000,2.6000000 17.200000,2.6000000 L 36.200000,5.8000000 L 36.300000,5.8000000 z " + id="path1912" /> + + <path + style="fill:#545454;stroke:none;" + d="M 38.400000,6.7000000 C 38.400000,6.0000000 37.900000,5.8000000 37.900000,5.8000000 C 37.900000,5.8000000 38.000000,5.7000000 37.900000,5.7000000 C 38.200000,5.7000000 38.500000,6.2000000 38.400000,6.7000000 z " + id="path1914" /> + + <g + id="g1916"> + <linearGradient + id="aigrd30" + gradientUnits="userSpaceOnUse" + x1="24.594700" + y1="6.3744998" + x2="24.594700" + y2="19.534800" + gradientTransform="matrix(1.000000,-2.300000e-3,2.300000e-3,1.000000,-0.254200,0.289000)" + spreadMethod="pad" + xlink:href="#linearGradient8048"> + + + </linearGradient> + + <path + style="fill:url(#aigrd30);stroke-width:0.42309999;" + d="M 30.200000,22.300000 L 15.900000,18.200000 L 17.800000,4.3000000 L 32.700000,6.9000000 L 30.100000,22.300000 L 30.200000,22.300000 z " + id="path1925" /> + + <linearGradient + id="aigrd31" + gradientUnits="userSpaceOnUse" + x1="24.784201" + y1="6.4232998" + x2="24.784201" + y2="19.582199" + gradientTransform="matrix(1.000000,-2.300000e-3,2.300000e-3,1.000000,-0.254200,0.289000)"> + <stop + offset="0" + style="stop-color:#2F4030" + id="stop1929" /> + + <stop + offset="1" + style="stop-color:#698969" + id="stop1931" /> + + </linearGradient> + + <path + style="fill:url(#aigrd31);stroke:none;" + d="M 30.400000,22.400000 L 16.100000,18.300000 L 18.000000,4.4000000 L 33.000000,6.9000000 L 30.400000,22.300000 L 30.400000,22.400000 z " + id="path1934" /> + + <g + id="g1936"> + <linearGradient + id="aigrd32" + gradientUnits="userSpaceOnUse" + x1="25.157200" + y1="5.8223000" + x2="25.157200" + y2="11.083600" + gradientTransform="matrix(1.000000,-2.300000e-3,2.300000e-3,1.000000,-0.254200,0.289000)"> + <stop + offset="0" + style="stop-color:#E7EBEF" + id="stop1940" /> + + <stop + offset="1" + style="stop-color:#739167" + id="stop1942" /> + + </linearGradient> + + <path + style="opacity:0.57999998;fill:url(#aigrd32);stroke:none;" + d="M 18.900000,5.1000000 C 18.800000,5.1000000 18.700000,5.2000000 18.700000,5.4000000 L 17.800000,12.000000 C 17.800000,12.200000 17.800000,12.300000 17.900000,12.300000 C 21.800000,12.300000 28.200000,10.500000 31.800000,8.8000000 C 31.900000,8.8000000 32.000000,8.7000000 32.000000,8.5000000 L 32.100000,7.9000000 C 32.100000,7.7000000 32.100000,7.5000000 32.000000,7.5000000 L 18.900000,5.1000000 z " + id="path1945" /> + + </g> + + <g + id="g1948"> + </g> + + </g> + + <g + style="stroke:none;" + id="g1952"> + <g + id="g1954"> + <g + id="g1956"> + <g + id="g1958"> + <linearGradient + id="aigrd33" + gradientUnits="userSpaceOnUse" + x1="33.067402" + y1="18.872999" + x2="33.740200" + y2="18.080900"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop1962" /> + + <stop + offset="1" + style="stop-color:#828282" + id="stop1964" /> + + </linearGradient> + + <path + style="fill:url(#aigrd33);" + d="M 34.400000,18.600000 L 32.600000,18.200000 L 32.500000,18.700000 L 34.400000,18.600000 z " + id="path1967" /> + + <path + d="M 34.300000,19.000000 L 34.400000,18.600000 L 32.500000,18.700000 L 34.200000,19.100000 L 34.300000,19.000000 z " + id="path1969" /> + + </g> + + <g + id="g1972"> + <linearGradient + id="aigrd34" + gradientUnits="userSpaceOnUse" + x1="33.411098" + y1="16.837900" + x2="34.083500" + y2="16.046301"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop1976" /> + + <stop + offset="1" + style="stop-color:#828282" + id="stop1978" /> + + </linearGradient> + + <path + style="fill:url(#aigrd34);" + d="M 34.700000,16.500000 L 33.000000,16.100000 L 32.900000,16.600000 L 34.800000,16.500000 L 34.700000,16.500000 z " + id="path1981" /> + + <path + d="M 34.600000,17.000000 L 34.700000,16.600000 L 32.800000,16.700000 L 34.500000,17.100000 L 34.600000,17.000000 z " + id="path1983" /> + + </g> + + <g + id="g1986"> + <linearGradient + id="aigrd35" + gradientUnits="userSpaceOnUse" + x1="33.753899" + y1="14.804700" + x2="34.426399" + y2="14.012900"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop1990" /> + + <stop + offset="1" + style="stop-color:#828282" + id="stop1992" /> + + </linearGradient> + + <path + style="fill:url(#aigrd35);" + d="M 35.100000,14.500000 L 33.300000,14.100000 L 33.200000,14.600000 L 35.100000,14.500000 z " + id="path1995" /> + + <path + d="M 35.000000,14.900000 L 35.100000,14.500000 L 33.200000,14.600000 L 34.900000,15.000000 L 35.000000,14.900000 z " + id="path1997" /> + + </g> + + <g + id="g2000"> + <linearGradient + id="aigrd36" + gradientUnits="userSpaceOnUse" + x1="34.096699" + y1="12.769000" + x2="34.768501" + y2="11.978100"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop2004" /> + + <stop + offset="1" + style="stop-color:#828282" + id="stop2006" /> + + </linearGradient> + + <path + style="fill:url(#aigrd36);" + d="M 35.400000,12.500000 L 33.600000,12.100000 L 33.500000,12.600000 L 35.400000,12.500000 z " + id="path2009" /> + + <path + d="M 35.300000,12.900000 L 35.400000,12.500000 L 33.500000,12.600000 L 35.200000,13.000000 L 35.300000,12.900000 z " + id="path2011" /> + + </g> + + <g + id="g2014"> + <linearGradient + id="aigrd37" + gradientUnits="userSpaceOnUse" + x1="34.440399" + y1="10.734900" + x2="35.112301" + y2="9.9439001"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop2018" /> + + <stop + offset="1" + style="stop-color:#828282" + id="stop2020" /> + + </linearGradient> + + <path + style="fill:url(#aigrd37);" + d="M 35.800000,10.400000 L 34.000000,10.000000 L 33.900000,10.500000 L 35.800000,10.400000 z " + id="path2023" /> + + <path + d="M 35.600000,10.900000 L 35.700000,10.500000 L 33.800000,10.600000 L 35.500000,11.000000 L 35.600000,10.900000 z " + id="path2025" /> + + </g> + + <g + id="g2028"> + <linearGradient + id="aigrd38" + gradientUnits="userSpaceOnUse" + x1="34.784199" + y1="8.7006998" + x2="35.455700" + y2="7.9101000"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop2032" /> + + <stop + offset="1" + style="stop-color:#828282" + id="stop2034" /> + + </linearGradient> + + <path + style="fill:url(#aigrd38);" + d="M 36.100000,8.4000000 L 34.300000,8.0000000 L 34.200000,8.5000000 L 36.100000,8.4000000 L 36.100000,8.4000000 z " + id="path2037" /> + + <path + d="M 36.000000,8.8000000 L 36.100000,8.4000000 L 34.200000,8.5000000 L 36.000000,8.8000000 z " + id="path2039" /> + + </g> + + </g> + + </g> + + <g + id="g2044"> + <g + id="g2046"> + <g + id="g2048"> + <linearGradient + id="aigrd39" + gradientUnits="userSpaceOnUse" + x1="35.102501" + y1="8.6772003" + x2="35.585899" + y2="8.1082001"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop2052" /> + + <stop + offset="1" + style="stop-color:#828282" + id="stop2054" /> + + </linearGradient> + + <path + style="fill:url(#aigrd39);" + d="M 34.600000,8.4000000 L 35.900000,8.7000000 L 36.000000,8.4000000 L 34.700000,8.4000000 L 34.600000,8.4000000 z " + id="path2057" /> + + <path + d="M 34.700000,8.1000000 L 34.600000,8.4000000 L 35.900000,8.4000000 L 34.600000,8.1000000 L 34.700000,8.1000000 z " + id="path2059" /> + + </g> + + <g + id="g2062"> + <linearGradient + id="aigrd40" + gradientUnits="userSpaceOnUse" + x1="34.768600" + y1="10.711400" + x2="35.251999" + y2="10.142300"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop2066" /> + + <stop + offset="1" + style="stop-color:#828282" + id="stop2068" /> + + </linearGradient> + + <path + style="fill:url(#aigrd40);" + d="M 34.300000,10.400000 L 35.600000,10.700000 L 35.700000,10.400000 L 34.400000,10.400000 L 34.300000,10.400000 z " + id="path2071" /> + + <path + d="M 34.300000,10.100000 L 34.200000,10.400000 L 35.500000,10.400000 L 34.200000,10.100000 L 34.300000,10.100000 z " + id="path2073" /> + + </g> + + <g + id="g2076"> + <linearGradient + id="aigrd41" + gradientUnits="userSpaceOnUse" + x1="34.436501" + y1="12.746600" + x2="34.919899" + y2="12.177500"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop2080" /> + + <stop + offset="1" + style="stop-color:#828282" + id="stop2082" /> + + </linearGradient> + + <path + style="fill:url(#aigrd41);" + d="M 33.900000,12.500000 L 35.200000,12.800000 L 35.300000,12.500000 L 34.000000,12.500000 L 33.900000,12.500000 z " + id="path2085" /> + + <path + d="M 34.000000,12.100000 L 33.900000,12.400000 L 35.200000,12.400000 L 34.000000,12.100000 z " + id="path2087" /> + + </g> + + <g + id="g2090"> + <linearGradient + id="aigrd42" + gradientUnits="userSpaceOnUse" + x1="34.101601" + y1="14.781300" + x2="34.584999" + y2="14.212200"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop2094" /> + + <stop + offset="1" + style="stop-color:#828282" + id="stop2096" /> + + </linearGradient> + + <path + style="fill:url(#aigrd42);" + d="M 33.600000,14.500000 L 34.900000,14.800000 L 35.000000,14.500000 L 33.700000,14.500000 L 33.600000,14.500000 z " + id="path2099" /> + + <path + d="M 33.700000,14.200000 L 33.600000,14.500000 L 34.900000,14.500000 L 33.600000,14.200000 L 33.700000,14.200000 z " + id="path2101" /> + + </g> + + <g + id="g2104"> + <linearGradient + id="aigrd43" + gradientUnits="userSpaceOnUse" + x1="33.768600" + y1="16.815901" + x2="34.251900" + y2="16.246901"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop2108" /> + + <stop + offset="1" + style="stop-color:#828282" + id="stop2110" /> + + </linearGradient> + + <path + style="fill:url(#aigrd43);" + d="M 33.300000,16.500000 L 34.600000,16.800000 L 34.700000,16.500000 L 33.400000,16.500000 L 33.300000,16.500000 z " + id="path2113" /> + + <path + d="M 33.300000,16.200000 L 33.200000,16.500000 L 34.500000,16.500000 L 33.200000,16.200000 L 33.300000,16.200000 z " + id="path2115" /> + + </g> + + <g + id="g2118"> + <linearGradient + id="aigrd44" + gradientUnits="userSpaceOnUse" + x1="33.435501" + y1="18.851101" + x2="33.918900" + y2="18.282000"> + <stop + offset="0" + style="stop-color:#9F9F9F" + id="stop2122" /> + + <stop + offset="1" + style="stop-color:#828282" + id="stop2124" /> + + </linearGradient> + + <path + style="fill:url(#aigrd44);" + d="M 32.900000,18.600000 L 34.200000,18.900000 L 34.300000,18.600000 L 33.000000,18.600000 L 32.900000,18.600000 z " + id="path2127" /> + + <path + d="M 33.000000,18.200000 L 32.900000,18.500000 L 34.200000,18.500000 L 33.000000,18.200000 z " + id="path2129" /> + + </g> + + </g> + + </g> + + </g> + + <path + style="fill:none;stroke:none;" + d="M 64.000000,52.000000 L 0.0000000,52.000000 L 0.0000000,0.0000000 L 64.000000,0.0000000 L 64.000000,52.000000 z " + id="path2135" /> + + </g> + + <g + id="Layer_x0020_7" + style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;"> + </g> + +</g> + <text + xml:space="preserve" + style="font-size:12.000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#000000;fill-opacity:1.0000000;stroke:#ffffff;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;text-anchor:start;writing-mode:lr;" + x="350.16705" + y="521.00403" + id="text2764" + sodipodi:linespacing="100%"><tspan + id="tspan2765">Service Provider</tspan></text> + <text + xml:space="preserve" + style="font-size:12.000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#000000;fill-opacity:1.0000000;stroke:#ffffff;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;text-anchor:start;writing-mode:lr;" + x="197.21687" + y="486.28748" + id="text3388" + sodipodi:linespacing="100%"><tspan + id="tspan3389">Identity Provider</tspan></text> + <text + xml:space="preserve" + style="font-size:12.000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#000000;fill-opacity:1.0000000;stroke:#ffffff;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;text-anchor:start;writing-mode:lr;" + x="279.66901" + y="627.77936" + id="text3391" + sodipodi:linespacing="100%"><tspan + id="tspan3392">User</tspan></text> + <path + style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;marker-start:none;marker-end:url(#TriangleOutM);" + d="M 283.48221,589.26691 L 327.14157,521.88178" + id="path3395" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;marker-start:url(#TriangleInM);marker-end:none;" + d="M 285.15797,593.36298 L 328.81733,525.97785" + id="path4129" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;marker-start:none;marker-end:url(#TriangleOutM);" + d="M 306.75145,600.20093 L 350.41081,532.81580" + id="path4772" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;marker-start:url(#TriangleInM);marker-end:none;" + d="M 309.99049,604.15973 L 353.64985,536.77460" + id="path4774" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;marker-start:none;marker-end:url(#TriangleOutM);" + d="M 245.92976,596.96189 L 210.41295,500.06564" + id="path4775" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;marker-start:url(#TriangleInM);marker-end:none;" + d="M 247.72922,588.68438 L 216.89100,500.42553" + id="path4776" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;marker-start:none;marker-end:url(#TriangleOutM);" + d="M 332.66366,474.95860 L 244.24276,463.35669" + id="path5422" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;marker-start:url(#TriangleInM);marker-end:none;" + d="M 334.28318,479.09735 L 245.86228,467.49544" + id="path5423" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.2500000;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.50381678;stroke-miterlimit:4.0000000;stroke-dasharray:1.2500000,1.2500000;stroke-dashoffset:0.0000000;" + d="M 308.06732,606.81623 C 294.03154,623.37125 261.28140,635.60757 246.16595,598.17883" + id="path6069" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.2500000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:1.2500000 1.2500000 ;stroke-dashoffset:0.0000000;stroke-opacity:0.50381678;" + d="M 283.59467,588.40561 C 269.55889,604.96063 254.08355,597.76280 249.04507,591.28475" + id="path7362" + sodipodi:nodetypes="cc" /> + <text + xml:space="preserve" + style="font-size:12.000000;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;" + x="302.30905" + y="596.01947" + id="text7366"><tspan + id="tspan7367">1</tspan></text> + <text + xml:space="preserve" + style="font-size:12.000000;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;" + x="353.05377" + y="543.11542" + id="text7369"><tspan + id="tspan7370">2</tspan></text> + <text + xml:space="preserve" + style="font-size:12.000000;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;" + x="325.34210" + y="540.59613" + id="text7372"><tspan + id="tspan7373">8</tspan></text> + <text + xml:space="preserve" + style="font-size:12.000000;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;" + x="279.63586" + y="582.34363" + id="text7375"><tspan + id="tspan7376">5</tspan></text> + <text + xml:space="preserve" + style="font-size:12.000000;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;" + x="233.92963" + y="594.93982" + id="text7378"><tspan + id="tspan7379">3</tspan></text> + <text + xml:space="preserve" + style="font-size:12.000000;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;" + x="223.13287" + y="514.68396" + id="text7381"><tspan + id="tspan7382">4</tspan></text> + <text + xml:space="preserve" + style="font-size:12.000000;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;" + x="323.18277" + y="472.21674" + id="text7384"><tspan + id="tspan7385">6</tspan></text> + <text + xml:space="preserve" + style="font-size:12.000000;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;" + x="246.88571" + y="477.97501" + id="text7387"><tspan + id="tspan7388">7</tspan></text> + <g + id="g8063" + transform="translate(-77.37672,-22.31329)"> + <rect + style="fill:url(#linearGradient8059);fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.75000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;" + id="rect7398" + width="24.112743" + height="8.9972935" + x="373.20773" + y="571.18695" /> + <text + xml:space="preserve" + style="font-size:8.0000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;text-anchor:start;writing-mode:lr;" + x="375.36707" + y="578.74469" + id="text8060" + sodipodi:linespacing="100%"><tspan + id="tspan8061">HTTP</tspan></text> + </g> + <g + id="g8068" + transform="translate(-52.36426,-3.059082)"> + <rect + style="fill:url(#linearGradient8059);fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.75000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;" + id="rect8069" + width="24.112743" + height="8.9972935" + x="373.20773" + y="571.18695" /> + <text + xml:space="preserve" + style="font-size:8.0000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;text-anchor:start;writing-mode:lr;" + x="375.36707" + y="578.74469" + id="text8070" + sodipodi:linespacing="100%"><tspan + id="tspan8071">HTTP</tspan></text> + </g> + <g + id="g8073" + transform="translate(-157.8125,-40.84771)"> + <rect + style="fill:url(#linearGradient8059);fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.75000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;" + id="rect8074" + width="24.112743" + height="8.9972935" + x="373.20773" + y="571.18695" /> + <text + xml:space="preserve" + style="font-size:8.0000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;text-anchor:start;writing-mode:lr;" + x="375.36707" + y="578.74469" + id="text8075" + sodipodi:linespacing="100%"><tspan + id="tspan8076">HTTP</tspan></text> + </g> + <rect + style="fill:url(#linearGradient8059);fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.75000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000;" + id="rect8079" + width="24.112743" + height="8.9972935" + x="373.20773" + y="571.18695" + transform="translate(-96.27105,-107.0678)" /> + <text + xml:space="preserve" + style="font-size:8.0000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;text-anchor:start;writing-mode:lr;" + x="278.37622" + y="471.67688" + id="text8080" + sodipodi:linespacing="100%"><tspan + id="tspan8081">SOAP</tspan></text> +</svg> diff --git a/docs/lasso-book/getting-lasso.rst b/docs/lasso-book/getting-lasso.rst new file mode 100644 index 00000000..a07b8d3e --- /dev/null +++ b/docs/lasso-book/getting-lasso.rst @@ -0,0 +1,131 @@ +============= +Getting Lasso +============= + +Lasso is licensed under the GNU General Public License. That means users are +given several inalienable rights: the right to use the library, whatever the +purpose is; the right to study how it works, getting access to source code; the +right to distribute the library to others and the right to modify the library +and publish those modifications. + +Talks about library and how Lasso will force the use of the GPL. + + +Binary packages +=============== + +Debian packages +--------------- + +The latest Lasso release should be available straight from any Debian mirror +worldwide in the ``etch`` or ``sid`` distribution. Additionaly packages are +provided for the ``sarge`` release on a dedicated APT repository. The +following line needs to be added to ``/etc/apt/sources.list``:: + + deb http://www.entrouvert.org ./debian/lasso/ + +It is then a matter of running:: + + apt-get install liblasso-dev + + +RPM packages +------------ + +RPM Bad. A mess. + + +Microsoft Windows packages +-------------------------- + +Ah. Isn't that funky ? (need to ask Romain about cygwin, mingw32 and whatever +is needed to get Lasso working on Windows) + + +Sources +======= + +The source code of the latest release is available at the following URL: +http://labs.libre-entreprise.org/project/showfiles.php?group_id=31 + +Lasso uses the GNU automake and autoconf to handle system dependency +checking. It is developed and built locally on GNU/Linux (Debian) both +on x86 and PowerPC processors. + +Compiling +--------- + +:: + + ./configure + +The ``configure`` shell script attempts to guess correct values for various +system-dependent variables used during compilation. It uses those values to +create a ``Makefile`` in each directory of the package. It may also create one +or more ``.h`` files containing system-dependent definitions. Finally, it +creates a shell script ``config.status`` that can be run in the future to +recreate the configuration, and a file ``config.log`` containing compiler +output (useful mainly for debugging ``configure``). + +``configure`` can take a lot of options, a complete list is available with the +``--help`` flag: ``./configure --help`` + +Installation Directories +```````````````````````` + +By default, Lasso will be installed in ``/usr/local/lib``. It is possible to +specify an installation prefix other than ``/usr/local`` by giving the option +``--prefix=PATH``; for example ``--prefix=/usr``. + + +Optional Features +````````````````` + +There are optional features that you may want not to build, things like unit +tests, bindings for different languages, etc. + +===================== ============================ +``--disable-java`` Disable the Java binding +``--disable-python`` Disable the Python binding +``--disable-php`` Disable the PHP binding +``--disable-csharp`` Disable the C# binding +``--disable-tests`` Disable the unit tests +===================== ============================ + +On the other hand there are features you may want to activate. + +====================== ==================================== +``--enable-debugging`` Enable debugging messages +``--enable-profiling`` Enable profiling compilation flags +====================== ==================================== + +Once ``./configure`` has been executed it is time to compile the whole thing. + +:: + + make + +It should take a few minutes. + +:: + + make install + +Will then copy the library and header files to their final directories. + +Bleeding Edge +------------- + +CVS (Concurrent Versions System) is the version control system used by Lasso +developers to keep track of files, how and by whom they were modified. It is +accessible anonymously for people to use the latest developments. + +:: + + export CVSROOT=:pserver:anonymous@cvs.labs.libre-entreprise.org:/cvsroot/lasso + cvs login # press enter + cvs -z3 checkout lasso + +.. note:: The CVS version requires more tools to build; notably automake, + autoconf and libtool. + diff --git a/docs/lasso-book/integration.rst b/docs/lasso-book/integration.rst new file mode 100644 index 00000000..a7ceca54 --- /dev/null +++ b/docs/lasso-book/integration.rst @@ -0,0 +1,7 @@ +====================================== +Integration with Existing Applications +====================================== + +That's the part where we talk about identity dumps to insert in existing user +tables. And session dumps wherever sessions are stored. + diff --git a/docs/lasso-book/language-bindings.rst b/docs/lasso-book/language-bindings.rst new file mode 100644 index 00000000..85f3c41c --- /dev/null +++ b/docs/lasso-book/language-bindings.rst @@ -0,0 +1,18 @@ +======================== +Lasso in other Languages +======================== + +C is cool. + +But. + +Python. (CGI ?) + +PHP. (with code putting the session dump in the PHP $_SESSION["lasso"]) + +Java. (and JSP ?) + +C#. (and ASP.Net ?) + +Whatever we have. + diff --git a/docs/lasso-book/lasso-architecture.rst b/docs/lasso-book/lasso-architecture.rst new file mode 100644 index 00000000..2ca2f0a1 --- /dev/null +++ b/docs/lasso-book/lasso-architecture.rst @@ -0,0 +1,45 @@ +====================== +The Lasso Architecture +====================== + +Doesn't store, doesn't communicate. + +Modeled on liberty profiles; one profile = one class + +Objet oriented but in C. Talks about how this work (necessary to know for the +lasso_profile functions) + +------ + +Lasso provides the necessary functions to implement Liberty Alliance profiles, +as defined in the `Liberty ID-FF Bindings and Profiles Specification`_ and +explained in the previous chapter. Each profile maps to a Lasso class: + +===================================== ============================= +Single Sign-On and Federation LassoLogin +Name Registration LassoRegisterNameIdentifier +Federation Termination Notification LassoFederationTermination +Single Logout LassoLogout +Name Identifier Mapping LassoNameIdentifierMapping +Identity Provider Introduction *not implemented* +Name Identifier Encryption *not implemented* +===================================== ============================= + + +There are also a few other classes to know about: + +- LassoServer holds the data about a provider, which other providers it knows, + what certificates to use, etc. + +- LassoIdentity holds the data about a Liberty federated identity +- LassoSession holds the data about an active Liberty session. + +- LassoProfile is the base class for profiles. + + +Talk more about respective usage of Identity and Session. + + +.. _Liberty ID-FF Bindings and Profiles Specification: + http://www.projectliberty.org/specs/draft-liberty-idff-bindings-profiles-1.2-errata-v1.0.pdf + diff --git a/docs/lasso-book/liberty-architecture.rst b/docs/lasso-book/liberty-architecture.rst new file mode 100644 index 00000000..463a1bcb --- /dev/null +++ b/docs/lasso-book/liberty-architecture.rst @@ -0,0 +1,75 @@ +======================== +The Liberty Architecture +======================== + +Building on existing pieces, XML, SAML, SOAP, HTTP, SSL... + +Points to specs; quick glossary; user = principal... + +Maps use cases to profiles. + +This chapter provides a quick overview of the different profiles; they will be +detailed and implemented in the next chapters. + + +Single Sign-On and Federation +============================= + +A few paragraphs; what does single sign-on and federation really mean... + + +Artifact Profile +---------------- + +.. figure:: figures/single-sign-on.png + + Single Sign-On and Federation interactions, Artifact profile + +1. the user clicks on a "login" button +2. the service provider answers with a redirect to the identity provider +3. the browser goes to the identity provider where the user logs in +4. the identity provider answers with a redirect, back to the service provider +5. the browser goes to the service provider telling it has been authenticated +6. the service provider makes a SOAP request to the identity provider asking + if it is true that the user has been authenticated +7. the identity provider answers that yeah, everything is under control +8. the service provider answers to the browser and send a welcome page + + +Browser POST Profile +-------------------- + +Almost the Same thing. + + +Single Log-out +============== + +A few words about the five different profiles. + + +Initiated by the Service Provider, using SOAP requests +------------------------------------------------------ + +.. figure:: figures/single-logout.png + + Single Log-out interactions; initiated at service provider, using SOAP + + +Should arrange the figure with the SP on the right; I think it would help read +the figure. + + +Initiated by the Service Provider, using HTTP Redirects +------------------------------------------------------- + +3 more to go. + + + +Liberty URLs +============ + +How does the identity provider knows the "SOAP endpoint" of the service +provider ? That is metadata for you. + diff --git a/docs/lasso-book/other-profiles.rst b/docs/lasso-book/other-profiles.rst new file mode 100644 index 00000000..28fab9ef --- /dev/null +++ b/docs/lasso-book/other-profiles.rst @@ -0,0 +1,7 @@ +============== +Other Profiles +============== + +That would be like the single sign-on chapter but harder better faster +stronger. + diff --git a/docs/lasso-book/preface.rst b/docs/lasso-book/preface.rst new file mode 100644 index 00000000..19f85e27 --- /dev/null +++ b/docs/lasso-book/preface.rst @@ -0,0 +1,28 @@ +======= +Preface +======= + +In a digitalized world where both businesses and consumers want security in +their transactions and other blah blah. + + +The Liberty Alliance Project +============================ + +Initiated by Sun Microsystems in 2001 with the aim to develop an alternative to +Microsoft Passport system the Liberty Alliance project is now a worldwide +consortium with more than 150 companies, goverments and non-profits. + + +The Lasso Project +================= + +In July 2003... the CVQ project... Cross-site authentication... Further +developments... + + +Acknowledgments +=============== + +Figures use drawings from GNOME Gorilla theme by Jakub 'jimmac' Steiner. + diff --git a/docs/lasso-book/single-sign-on.rst b/docs/lasso-book/single-sign-on.rst new file mode 100644 index 00000000..3015c527 --- /dev/null +++ b/docs/lasso-book/single-sign-on.rst @@ -0,0 +1,105 @@ +============================= +Single Sign-On and Federation +============================= + +Profile Overview +================ + +The service provider has four things to do: + +- creating an authentication request +- sending it to the identity provider +- receiving an authentication response or an artifact +- (eventually) checking it against the identity provider + +The first two steps are handled with an HTTP redirection; typically the user +would click on a button, the service provider would then create the +authentication request and send an HTTP Redirect to the browser. No URL is +defined in the specifications for this first step. + +The last two steps are handled in the *AssertionConsumerServiceURL*; the user +will arrive there through an HTTP Redirect or an HTTP POST carrying a piece of +information from the identity provider. In case of a redirect, this +information won't be large and will be exchanged with the identity provider for +a *AuthnResponse*. An HTTP POST will be able to carry much more information +and will therefore directly provider the same *AuthnResponse*. + +An appropriate metadata snippet would be:: + + <?xml version="1.0"?> + <EntityDescriptor providerID="service-provider" xmlns="urn:liberty:metadata:2003-08"> + <SPDescriptor> + <AssertionConsumerServiceURL id="AssertionConsumerServiceURL1" isDefault="true"> + https://service-provider.example.com/liberty-alliance/assertionConsumer + </AssertionConsumerServiceURL> + </SPDescriptor> + </EntityDescriptor> + + +The identity provider has more things to do: + +- receiving an authentication request +- authenticating the user if necessary +- sending a response to the service provider +- (eventually) answering a SOAP request with an other response + +All but the last one is handled in the *SingleSignOnServiceURL*; the user has +been redirected there from the service provider with an authentication request +as URL parameter. This authentication request is used to decide several things +(allowed authentication methods for example) and the authentication is done. +This step is not part of the Liberty protocols, this can be as simple as +straight HTTP authentication with a username and a password or as complex as a +Java applet checking a certificate on the client. + +Anyway, once the user has been authenticated, an answer must be sent to the +service provider. It is actually not a direct communication, the answer +bounces on the user agent with an HTTP Redirect or by an HTML form pointing to +the service provider. + +The first case is preferred, an *artifact* is generated and incorporated in a +URL (based on the service provider *AssertionConsumerURL*); the user is then +simply redirected to this URL. The service provider will then make a SOAP +request to the *SoapEndpoint* asking for the authentication response matching +the artifact. + +The second case consists in the identity provider answering with an HTML page +with an HTML form embedding the authentication response. The user will then +submit this form to the service provider *AssertionConsumerURL*. + +Metadata would be:: + + <?xml version="1.0"?> + <EntityDescriptor providerID="identity-provider" xmlns="urn:liberty:metadata:2003-08"> + <IDPDescriptor> + <SoapEndpoint> + https://identity-provider.example.com/soapEndpoint + </SoapEndpoint> + <SingleSignOnServiceURL> + https://identity-provider.example.com/singleSignOn + </SingleSignOnServiceURL> + </IDPDescriptor> + </EntityDescriptor> + + +Implementing the service provider parts +======================================= + +Sending the user to the identity provider +----------------------------------------- + +XXX + + +Receiving an answer from the identity provider +---------------------------------------------- + +XXX + + + +Implementing the identity provider parts +======================================== + +XXX + + |