Subversion Repositories Applications.reseau

Compare Revisions

No changes between revisions

Regard whitespace Rev 1 → Rev HEAD

/trunk/pages/cupp/index.html
New file
0,0 → 1,33
<html>
<head>
<meta charset="UTF-8"/>
<title>CUPP - Configurateur d'URLs Par Projet</title>
<link rel="stylesheet" media="screen" type="text/css" href="https://resources.tela-botanica.org/bootstrap/3.1.0/css/bootstrap.min.css"/>
<link rel="stylesheet" media="screen" type="text/css" href="style.css"/>
<script src="https://resources.tela-botanica.org/jquery/1.9.1/jquery.min.js"></script>
<script src="https://resources.tela-botanica.org/bootstrap/3.1.0/js/bootstrap.min.js"></script>
<script src="https://resources.tela-botanica.org/tb/reseau/navigation.js"></script>
<script src="config.js"></script>
<script src="script.js"></script>
</head>
<body>
<div id="tb-navigation" data-mode="prod" data-courant="outils-cupp">
</div>
<div id="corps">
<div id="logo">
<img src="logo.png" />
</div>
<h1><span class="curseur-pointeur" title="Configurateur d'URLs Par Projet">CUPP</span> - Trouvez les bonnes URLs<br/>pour votre projet Tela Botanica !</h1>
<div id="zone-formulaire">
<label>Mot-clé associé à votre projet : </label>
<input id="mc" placeholder="Ex: sauvages" />
<br/>
<a id="ok" class="btn btn-success">Générer les URLs</a>
</div>
<div id="zone-urls">
<ul id="liste">
</ul>
</div>
</div>
</body>
</html>
/trunk/pages/cupp/README
New file
0,0 → 1,5
CUPP - Configurateur d'URLs Par Projet
Mathias - 2015-10-16
 
Permet de trouver facilement les URLs des différents outils TB, pour un projet
donné (mot-clef)
/trunk/pages/cupp/script.js
New file
0,0 → 1,37
$(document).ready(function() {
 
// écouteur de clic
$("#ok").click(function() {
genererURLs();
});
 
// écouteur de touche entrée
$("#mc").keypress(function(evt) {
if(evt.which == 13) {
genererURLs();
}
});
 
// génération des URLs
function genererURLs() {
// validation du mot-clef
var mc = $("#mc").val();
if (mc == '') {
alert("Merci de saisir le mot-clef associé à votre projet");
return false;
}
if (mc.indexOf(" ") != -1 || mc.indexOf(",") != -1) {
alert("Merci de ne saisir qu'un seul mot-clef, sans espace");
return false;
}
// création des URLs à partir de la config
var liste = $("#liste");
liste.empty();
$.each(URLs, function(nom, url) {
var urlMc = url.replace('[MC]', mc);
var element = '<li><label>' + nom + ' :</label> <a target="_blank" href="' + urlMc + '">' + urlMc + '</a></li>';
//alert(element);
liste.append(element);
});
}
});
/trunk/pages/cupp/config.js
New file
0,0 → 1,10
var URLs = {
"Carte": "https://www.tela-botanica.org/widget:cel:cartoPoint?projet=[MC]",
//"Carte à la commune": "http://www.tela-botanica.org/widget:cel:carto?projet=[MC]",
"Widget de saisie": "https://www.tela-botanica.org/widget:cel:saisie?projet=[MC]",
"Identiplante": "http://www.tela-botanica.org/appli:identiplante?masque.type=tous&masque.tag=[MC]",
"Pictoflora": "http://www.tela-botanica.org/appli:pictoflora?masque.tag_cel=[MC]",
"Widget photo": "https://www.tela-botanica.org/widget:cel:photo?projet=[MC]",
"Widget observations": "https://www.tela-botanica.org/widget:cel:observation?projet=[MC]",
"Widget export": "https://www.tela-botanica.org/widget:cel:export?projet=[MC]"
}
/trunk/pages/cupp/logo.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/pages/cupp/logo.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/pages/cupp/config.defaut.js
New file
0,0 → 1,10
var URLs = {
"Carte": "https://www.tela-botanica.org/widget:cel:cartoPoint?projet=[MC]",
//"Carte à la commune": "https://www.tela-botanica.org/widget:cel:carto?projet=[MC]",
"Widget de saisie": "https://www.tela-botanica.org/widget:cel:saisie?projet=[MC]",
"Identiplante": "https://www.tela-botanica.org/appli:identiplante?masque.type=tous&masque.tag=[MC]",
"Pictoflora": "https://www.tela-botanica.org/appli:pictoflora?masque.tag_cel=[MC]",
"Widget photo": "https://www.tela-botanica.org/widget:cel:photo?projet=[MC]",
"Widget observations": "https://www.tela-botanica.org/widget:cel:observation?projet=[MC]",
"Widget export": "https://www.tela-botanica.org/widget:cel:export?projet=[MC]"
}
/trunk/pages/cupp/style.css
New file
0,0 → 1,37
#corps {
padding: 20px;
}
 
#logo {
float: left;
}
 
.curseur-pointeur {
cursor: help;
}
 
#zone-formulaire {
padding: 10px;
margin-top: 40px;
}
 
#zone-urls {
padding: 10px;
margin-top: 20px;
}
 
#liste {
list-style-type: none;
margin: 0;
padding: 0;
}
 
#liste > li {
margin: 0;
padding: 0;
}
 
#liste > li > label {
font-weight: bold;
width: 180px;
}
/trunk/pages/presentation/defaut.css
New file
0,0 → 1,137
#haut {
height: 100px;
}
 
.tranche {
padding-top: 32px;
padding-bottom: 32px;
min-height: 250px;
}
.tranche:nth-child(even) {
background-color: #E7E9D3;
}
.tranche:nth-child(odd) {
background-color: #f8f8f8;
}
.tranche.majeure {
background-color: #f0f0f1;
height: 400px;
}
 
.mie {
margin: auto;
width: 650px;
}
.tranche:nth-child(even) .mie {
text-align : right;
}
.tranche:nth-child(odd) .mie {
text-align : left;
}
.tranche.majeure .mie {
width: 750px;
}
 
.dessin {
width: 180px;
height : 180px;
}
.dessin img {
width: 180px;
height : 180px;
}
.tranche:nth-child(even) .dessin {
float: left;
margin-left: 32px;
}
.tranche:nth-child(odd) .dessin {
float: right;
margin-right: 32px;
}
.tranche.majeure .dessin {
margin-left: 0;
float: none;
height: auto;
}
.tranche.majeure .dessin img {
width: auto;
height: auto;
}
 
/*c3d45d
918a6f*/
 
.laius {
color: #252525;
font-family: sans-serif;
font-size: 18px;
width : 400px;
display: inline-block;
text-align: left;
}
.tranche.majeure .laius {
font-size: 16px;
width: 310px;
padding-top: 80px;
color: #505050;
float: right;
}
 
.laius label {
font-family: Trebuchet MS, Helvetica;
font-size: 32px;
color: #918a6f;
}
 
.nombre {
display: inline-block;
font-weight: bold;
color: #8d9a43;
}
.nombre.fixe {
text-align: right;
width: 90px;
}
 
.pied {
height: 240px;
background-color: #ffffff;
text-align:center;
padding-top: 45px;
border-top: 2px solid #e7e9d3;
}
 
.slogan {
font-family: Trebuchet MS, sans-serif;
font-size: 32px;
color: #918a6f;
margin-top: 10px;
text-align: left;
padding-left: 13px;
}
 
#logo-bas {
margin-top: 25px;
}
 
#cc-by-sa {
margin-right: 50px;
}
 
/* pour mobiles haute résolution */
@media (-webkit-min-device-pixel-ratio: 1.3), (min-resolution: 124.8dpi) {
 
.laius {
font-size: 24px;
}
.tranche.majeure .laius {
font-size: 24px;
width: 400px;
}
.nombre.fixe {
width: 140px;
}
.pied {
font-size: 20px;
}
}
/trunk/pages/presentation/local.js
New file
0,0 → 1,28
$(document).ready(function() {
 
//alert('doc chargé!');
var nbObs = $('.nb-obs'),
nbImg = $('.nb-img'),
nbUtil = $('.nb-util');
 
var urlServiceNbInscrits = urlServiceAnnuaire + 'NbInscrits',
urlServiceNbImg = urlServiceCel + 'CelStatistiqueTxt/NbImagesPubliques',
urlServiceNbObs = urlServiceCel + 'CelStatistiqueTxt/NbObsPubliques';
 
// appels services
$.ajax(urlServiceNbInscrits, {
success: function(data) {
nbUtil.html(data.replace(/"/g,'').replace(/\B(?=(\d{3})+(?!\d))/g, " "));
}
});
$.ajax(urlServiceNbObs, {
success: function(data) {
nbObs.html(('' + data).replace(/\B(?=(\d{3})+(?!\d))/g, " "));
}
});
$.ajax(urlServiceNbImg, {
success: function(data) {
nbImg.html(('' + data).replace(/\B(?=(\d{3})+(?!\d))/g, " "));
}
});
});
/trunk/pages/presentation/config.defaut.js
New file
0,0 → 1,2
urlServiceAnnuaire = 'https://www.tela-botanica.org/service:annuaire:';
urlServiceCel = 'https://api.tela-botanica.org/service:cel:';
/trunk/pages/presentation/index.html
New file
0,0 → 1,178
<html>
 
<head>
<meta charset="UTF-8">
<link rel="stylesheet" media="screen" type="text/css" href="https://resources.tela-botanica.org/bootstrap/3.1.0/css/bootstrap.min.css"/>
<link rel="stylesheet" media="screen" type="text/css" href="defaut.css"/>
<script src="https://resources.tela-botanica.org/jquery/1.9.1/jquery.min.js"></script>
<script src="https://resources.tela-botanica.org/bootstrap/3.1.0/js/bootstrap.min.js"></script>
<script src="https://resources.tela-botanica.org/tb/reseau/navigation.js"></script>
<script src="config.js"></script>
<script src="local.js"></script>
</head>
 
<body>
<div id="tb-navigation" data-mode="prod" data-courant="site-presentation">
</div>
<div class="tranche majeure">
<div class="mie">
<div class="laius">
<span class="nombre fixe nb-obs">390 000</span> observations
<br/>
<span class="nombre fixe nb-img">165 000</span> photos
<br/>
<span class="nombre fixe nb-util">22 000</span> utilisateurs
<br/>
<span class="nombre fixe">55</span> telabotanistes relais
<br/>
<span id="nb-vues" class="nombre fixe">4 800 000</span> pages vues en 2013
</div>
<div class="dessin">
<img src="img/logo_tela_carre_400.png" />
</div>
<div class="slogan">
le réseau de la botanique francophone
</div>
</div>
</div>
<div class="tranche">
<div class="mie">
<div class="dessin">
<!--<img src="img/carte.png" />-->
<a href="https://www.tela-botanica.org/page:licence">
<img src="https://resources.tela-botanica.org/tb/img/256x256/macarons/cc.png" />
</a>
</div>
<div class="laius">
<label>Des données ouvertes</label>
<br/>
<a href="https://www.tela-botanica.org/widget:cel:cartoPoint"><img src="img/lien.png" /></a>
<span class="nombre nb-obs">400 000</span> observations publiques
<br/>
<a href="https://www.tela-botanica.org/appli:pictoflora"><img src="img/lien.png" /></a>
<span class="nombre nb-img">200 000</span> photographies
<br/>
<a href="https://creativecommons.org/licenses/by-sa/4.0/"><img src="img/lien.png" /></a>
Licence Creative Commons BY-SA
<br/><br/>
<img src="img/ccbysa.png" id="cc-by-sa" />
<a href="https://www.tela-botanica.org/page:licence">en savoir plus</a>
</div>
</div>
</div>
<div class="tranche">
<div class="mie">
<div class="dessin">
<!--<img src="img/gens.png" />-->
<a href="https://www.tela-botanica.org/site:reseau">
<img src="https://resources.tela-botanica.org/tb/img/256x256/macarons/reseau.png" />
</a>
</div>
<div class="laius">
<label>Un réseau international</label>
<br/>
<a href="https://www.tela-botanica.org/page:telabotanistes"><img src="img/lien.png" /></a>
<span class="nombre nb-util">22 000</span> telabotanistes dans <span class="nombre">45</span> pays
<br/>
<a href="https://www.tela-botanica.org/page:relais"><img src="img/lien.png" /></a>
<span class="nombre">55</span> telabotanistes relais
<br/>
<a href="https://www.tela-botanica.org/site:actu"><img src="img/lien.png" /></a>
Une lettre d'actualité hebdomadaire
<br/><br/>
<a href="https://www.tela-botanica.org/site:reseau">en savoir plus</a>
</div>
</div>
</div>
<div class="tranche">
<div class="mie">
<div class="dessin">
<!--<img src="img/code.png" />-->
<a href="https://www.tela-botanica.org/page:flora_data">
<img src="https://resources.tela-botanica.org/tb/img/256x256/macarons/outils.png" />
</a>
</div>
<div class="laius">
<label>Des outils libres</label>
<br/>
<a href="https://www.tela-botanica.org/page:eflore"><img src="img/lien.png" /></a>
Flore collaborative en ligne
<br/>
<a href="https://www.tela-botanica.org/appli:cel"><img src="img/lien.png" /></a>
Carnet de terrain numérique
<br/>
<a href="https://www.tela-botanica.org/appli:identiplante"><img src="img/lien.png" /></a>
Identification collaborative
<br/>
<a href="https://www.tela-botanica.org/widget:cel:cartoPoint"><img src="img/lien.png" /></a>
Cartographie des observations
<br/><br/>
<a href="https://www.tela-botanica.org/page:flora_data">en savoir plus</a>
</div>
</div>
</div>
<div class="tranche">
<div class="mie">
<div class="dessin">
<!--<img src="img/collab.png" />-->
<a href="https://www.tela-botanica.org/site:projets">
<img src="https://resources.tela-botanica.org/tb/img/256x256/macarons/partenaire.png" />
</a>
</div>
<div class="laius">
<label>Des projets collaboratifs</label>
<!-- Mettre plutôt Afrique de l'Ouest et Phytosocio ou alors Pédagogie -->
<br/>
<a href="https://www.tela-botanica.org/projets-1"><img src="img/lien.png" /></a>
Référentiel BDTFX
<br/>
<a href="https://www.tela-botanica.org/projets-10"><img src="img/lien.png" /></a>
Détermination de plantes
<br/>
<a href="https://www.tela-botanica.org/projets-9"><img src="img/lien.png" /></a>
Chorologie départementale
<br/>
<a href="https://www.tela-botanica.org/wikini"><img src="img/lien.png" /></a>
Des espaces wiki
<br/><br/>
<a href="https://www.tela-botanica.org/site:projets">en savoir plus</a>
</div>
</div>
</div>
<div class="tranche">
<div class="mie">
<div class="dessin">
<!--<img src="img/collab.png" />-->
<a href="https://www.tela-botanica.org/page:Les_sciences_participatives">
<img src="https://resources.tela-botanica.org/tb/img/256x256/macarons/sensibiliser.png" />
</a>
</div>
<div class="laius">
<label>Sciences participatives</label>
<br/>
<a href="https://www.tela-botanica.org/page:Observatoire_des_saisons"><img src="img/lien.png" /></a>
Observatoire Des Saisons
<br/>
<a href="https://www.tela-botanica.org/page:Sauvages_de_ma_rue"><img src="img/lien.png" /></a>
Sauvages de ma rue
<br/>
<a href="https://www.tela-botanica.org/page:herbonautes"><img src="img/lien.png" /></a>
Les herbonautes
<br/>
<a href="https://www.tela-botanica.org/page:Vigie_Flore"><img src="img/lien.png" /></a>
Vigie Flore
<br/><br/>
<a href="https://www.tela-botanica.org/page:Les_sciences_participatives">en savoir plus</a>
</div>
</div>
</div>
<div class="pied">
Équipe Tela Botanica - 2014 - Creative Commons CC-BY-SA
<br/>
<a href="https://www.tela-botanica.org">
<img id="logo-bas" src="img/logo_tela_horiz_90.png" />
</a>
</div>
</body>
 
</html>
/trunk/pages/presentation/img/collab.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/pages/presentation/img/collab.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/pages/presentation/img/gens.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/pages/presentation/img/gens.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/pages/presentation/img/carte.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/pages/presentation/img/carte.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/pages/presentation/img/1403180666_tools.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/pages/presentation/img/1403180666_tools.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/pages/presentation/img/ccbysa.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/pages/presentation/img/ccbysa.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/pages/presentation/img/logo_tela_carre_400.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/pages/presentation/img/logo_tela_carre_400.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/pages/presentation/img/lien.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/pages/presentation/img/lien.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/pages/presentation/img/logo_tela_horiz_90.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/pages/presentation/img/logo_tela_horiz_90.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/pages/presentation/img/20121123222537!Public-images-osm_logo.svg
New file
0,0 → 1,730
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="256" height="256" id="svg3038" version="1.1" inkscape:version="0.46" sodipodi:docname="osm_logo_soft_freds_version.svg" inkscape:export-filename="/home/fred/bla.png" inkscape:export-xdpi="180" inkscape:export-ydpi="180" sodipodi:version="0.32" inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs id="defs3040">
<linearGradient inkscape:collect="always" id="linearGradient8729">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop8731"/>
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop8733"/>
</linearGradient>
<linearGradient id="linearGradient6846">
<stop id="stop6848" offset="0" style="stop-color:#ffffff;stop-opacity:1;"/>
<stop style="stop-color:#ffffff;stop-opacity:0.93050194;" offset="0.5" id="stop6852"/>
<stop id="stop6850" offset="1" style="stop-color:#ffffff;stop-opacity:0;"/>
</linearGradient>
<linearGradient inkscape:collect="always" id="linearGradient6589">
<stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop6591"/>
<stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop6593"/>
</linearGradient>
<linearGradient id="linearGradient5862">
<stop style="stop-color:#f9e295;stop-opacity:1;" offset="0" id="stop5864"/>
<stop id="stop5876" offset="0.125" style="stop-color:#f7dd84;stop-opacity:1;"/>
<stop id="stop5874" offset="0.20580582" style="stop-color:#ffffff;stop-opacity:1;"/>
<stop id="stop5870" offset="0.30112621" style="stop-color:#f4ce51;stop-opacity:1;"/>
<stop style="stop-color:#f9e7aa;stop-opacity:1;" offset="0.3412039" id="stop5872"/>
<stop style="stop-color:#efbb0e;stop-opacity:1;" offset="1" id="stop5866"/>
</linearGradient>
<linearGradient id="linearGradient5762">
<stop style="stop-color:#2d3335;stop-opacity:1;" offset="0" id="stop5764"/>
<stop id="stop5770" offset="0.5" style="stop-color:#4c464a;stop-opacity:1;"/>
<stop style="stop-color:#384042;stop-opacity:1;" offset="1" id="stop5766"/>
</linearGradient>
<linearGradient id="linearGradient5745">
<stop style="stop-color:#d0e9f2;stop-opacity:0;" offset="0" id="stop5747"/>
<stop id="stop5753" offset="0.83932751" style="stop-color:#d0e9f2;stop-opacity:0;"/>
<stop style="stop-color:#d0e9f2;stop-opacity:0.28185329;" offset="0.94308507" id="stop5755"/>
<stop style="stop-color:#d0e9f2;stop-opacity:1;" offset="1" id="stop5749"/>
</linearGradient>
<linearGradient id="linearGradient4680">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop4682"/>
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop4684"/>
</linearGradient>
<inkscape:perspective sodipodi:type="inkscape:persp3d" inkscape:vp_x="0 : 32 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_z="64 : 32 : 1" inkscape:persp3d-origin="32 : 21.333333 : 1" id="perspective3046"/>
<inkscape:perspective id="perspective3056" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective3844" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective3871" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective3897" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective3926" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective3953" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective3979" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective4005" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective4028" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective4054" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective4083" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective4132" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective4158" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective4184" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective4219" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective4276" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective4302" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective4328" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective4354" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective4386" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective4413" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective4439" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective4465" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective4497" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective4523" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective4549" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective4575" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective4601" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective4627" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective4653" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective4837" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4680-7" id="linearGradient4686-3" x1="94.25" y1="-94.671967" x2="9" y2="-179.96893" gradientUnits="userSpaceOnUse"/>
<linearGradient id="linearGradient4680-7">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop4682-2"/>
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop4684-7"/>
</linearGradient>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4680-7" id="linearGradient4742-3" x1="50.75" y1="-114.4375" x2="35.75" y2="-30.4375" gradientUnits="userSpaceOnUse"/>
<linearGradient id="linearGradient4846">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop4848"/>
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop4850"/>
</linearGradient>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4680-7" id="linearGradient4734-3" x1="77.625" y1="-163.125" x2="115.25" y2="-74.625" gradientUnits="userSpaceOnUse"/>
<linearGradient id="linearGradient4853">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop4855"/>
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop4857"/>
</linearGradient>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4680-7" id="linearGradient4726-9" x1="56.5" y1="-50.4375" x2="125.71875" y2="7.0625" gradientUnits="userSpaceOnUse"/>
<linearGradient id="linearGradient4860">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop4862"/>
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop4864"/>
</linearGradient>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4680-7" id="linearGradient4710-2" x1="35" y1="-163.29688" x2="180.75" y2="-146.79688" gradientUnits="userSpaceOnUse"/>
<linearGradient id="linearGradient4867">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop4869"/>
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop4871"/>
</linearGradient>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4680-7" id="linearGradient4718-4" x1="57.000099" y1="-141.10941" x2="179" y2="-41.609402" gradientUnits="userSpaceOnUse"/>
<linearGradient id="linearGradient4874">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop4876"/>
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop4878"/>
</linearGradient>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4680-7" id="linearGradient4694-4" x1="156" y1="-26.5" x2="208.25" y2="39.75" gradientUnits="userSpaceOnUse"/>
<linearGradient id="linearGradient4881">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop4883"/>
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop4885"/>
</linearGradient>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4680-7" id="linearGradient4702-4" x1="142.75" y1="-169.29688" x2="235" y2="-77.296875" gradientUnits="userSpaceOnUse"/>
<linearGradient id="linearGradient4888">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop4890"/>
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop4892"/>
</linearGradient>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4744-9" id="linearGradient4806-9" x1="214.25" y1="-161.35938" x2="166.5" y2="-113.71875" gradientUnits="userSpaceOnUse"/>
<linearGradient inkscape:collect="always" id="linearGradient4744-9">
<stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop4746-3"/>
<stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop4748-8"/>
</linearGradient>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4744-9" id="linearGradient4790-3" x1="53.25" y1="-126.5" x2="57.65625" y2="-62.46875" gradientUnits="userSpaceOnUse"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4744-9" id="linearGradient4758-2" x1="39.5" y1="6.6250248" x2="75.71875" y2="-17.124975" gradientUnits="userSpaceOnUse"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4744-9" id="linearGradient4750-9" x1="102" y1="-162.34375" x2="85.3125" y2="-121.4375" gradientUnits="userSpaceOnUse"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4744-9" id="linearGradient4782-5" x1="117.75" y1="-78.09375" x2="63.5" y2="-14.75" gradientUnits="userSpaceOnUse"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4744-9" id="linearGradient4798-4" x1="180.68745" y1="-125.125" x2="133.93745" y2="-60.74995" gradientUnits="userSpaceOnUse"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4744-9" id="linearGradient4766-3" x1="170.75" y1="-23.5" x2="130.21875" y2="33.375" gradientUnits="userSpaceOnUse"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4744-9" id="linearGradient4774-9" x1="213.5" y1="-76" x2="181.75005" y2="-5.6563001" gradientUnits="userSpaceOnUse"/>
<linearGradient y2="-5.6563001" x2="181.75005" y1="-76" x1="213.5" gradientUnits="userSpaceOnUse" id="linearGradient4965" xlink:href="#linearGradient4744-9" inkscape:collect="always"/>
<inkscape:perspective id="perspective5148" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4680" id="linearGradient5168" x1="210.17188" y1="72.064125" x2="9" y2="-213.25346" gradientUnits="userSpaceOnUse" gradientTransform="translate(0,-10)"/>
<inkscape:perspective id="perspective5179" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective5201" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective5201-7" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective5201-72" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective5201-0" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective5260" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective5296" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective5339" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath5383">
<path style="fill:#ceeeab;fill-opacity:1;stroke:none" d="m 9,12.25 c 0,0 7.5,13 11.75,27.75 C 25,54.75 27,65.5 27,65.5 c 0,0 -5.5,12.75 -8.25,24.75 -2.75,12 -5.75,23 -5.75,23 0,0 5.75,16 9.25,30 3.5,14 3.75,24.25 3.75,24.25 0,0 -4,10.25 -7.5,24.25 -3.5,14 -5,30.75 -5,30.75 0,0 9.25,-2 28.5,1.25 19.25,3.25 32.25,6 32.25,6 0,0 12.75,-2.75 24,-6.25 11.25,-3.5 16.25,-6.5 16.25,-6.5 0,0 5.5,0.5 22.5,6.25 17,5.75 29.25,8.5 29.25,8.5 0,0 13,-2.75 26,-5.75 13,-3 26.5,-8 26.5,-8 0,0 -0.75,-5 4.25,-24.5 5,-19.5 8.75,-28 8.75,-28 0,0 -0.5,-4.5 -3.75,-19.75 C 224.75,130.5 218,116 218,116 c 0,0 1.75,-10.5 6.75,-23.75 C 229.75,79 235,65.5 235,65.5 c 0,0 -4.75,-15.25 -7.5,-29.75 C 224.75,21.25 219.25,10 219.25,10 c 0,0 -24.25,9 -31.75,10.5 -7.5,1.5 -21,5.25 -21,5.25 0,0 -9.75,-4.25 -22,-8.5 -12.25,-4.25 -29.75,-5.5 -29.75,-5.5 0,0 -3.25,3.5 -22,8 -18.75,4.5 -27.5,5.75 -27.5,5.75 0,0 -18.5,-9 -31.5,-11.5 -13,-2.5 -24,-2 -24.75,-1.75 z" id="path5385"/>
</clipPath>
<inkscape:perspective id="perspective5412" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath5426">
<path style="fill:#ceeeab;fill-opacity:1;stroke:none" d="m 9,12.25 c 0,0 7.5,13 11.75,27.75 C 25,54.75 27,65.5 27,65.5 c 0,0 -5.5,12.75 -8.25,24.75 -2.75,12 -5.75,23 -5.75,23 0,0 5.75,16 9.25,30 3.5,14 3.75,24.25 3.75,24.25 0,0 -4,10.25 -7.5,24.25 -3.5,14 -5,30.75 -5,30.75 0,0 9.25,-2 28.5,1.25 19.25,3.25 32.25,6 32.25,6 0,0 12.75,-2.75 24,-6.25 11.25,-3.5 16.25,-6.5 16.25,-6.5 0,0 5.5,0.5 22.5,6.25 17,5.75 29.25,8.5 29.25,8.5 0,0 13,-2.75 26,-5.75 13,-3 26.5,-8 26.5,-8 0,0 -0.75,-5 4.25,-24.5 5,-19.5 8.75,-28 8.75,-28 0,0 -0.5,-4.5 -3.75,-19.75 C 224.75,130.5 218,116 218,116 c 0,0 1.75,-10.5 6.75,-23.75 C 229.75,79 235,65.5 235,65.5 c 0,0 -4.75,-15.25 -7.5,-29.75 C 224.75,21.25 219.25,10 219.25,10 c 0,0 -24.25,9 -31.75,10.5 -7.5,1.5 -21,5.25 -21,5.25 0,0 -9.75,-4.25 -22,-8.5 -12.25,-4.25 -29.75,-5.5 -29.75,-5.5 0,0 -3.25,3.5 -22,8 -18.75,4.5 -27.5,5.75 -27.5,5.75 0,0 -18.5,-9 -31.5,-11.5 -13,-2.5 -24,-2 -24.75,-1.75 z" id="path5428"/>
</clipPath>
<inkscape:perspective id="perspective5452" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath5466">
<path style="fill:#ceeeab;fill-opacity:1;stroke:none" d="m 9,12.25 c 0,0 7.5,13 11.75,27.75 C 25,54.75 27,65.5 27,65.5 c 0,0 -5.5,12.75 -8.25,24.75 -2.75,12 -5.75,23 -5.75,23 0,0 5.75,16 9.25,30 3.5,14 3.75,24.25 3.75,24.25 0,0 -4,10.25 -7.5,24.25 -3.5,14 -5,30.75 -5,30.75 0,0 9.25,-2 28.5,1.25 19.25,3.25 32.25,6 32.25,6 0,0 12.75,-2.75 24,-6.25 11.25,-3.5 16.25,-6.5 16.25,-6.5 0,0 5.5,0.5 22.5,6.25 17,5.75 29.25,8.5 29.25,8.5 0,0 13,-2.75 26,-5.75 13,-3 26.5,-8 26.5,-8 0,0 -0.75,-5 4.25,-24.5 5,-19.5 8.75,-28 8.75,-28 0,0 -0.5,-4.5 -3.75,-19.75 C 224.75,130.5 218,116 218,116 c 0,0 1.75,-10.5 6.75,-23.75 C 229.75,79 235,65.5 235,65.5 c 0,0 -4.75,-15.25 -7.5,-29.75 C 224.75,21.25 219.25,10 219.25,10 c 0,0 -24.25,9 -31.75,10.5 -7.5,1.5 -21,5.25 -21,5.25 0,0 -9.75,-4.25 -22,-8.5 -12.25,-4.25 -29.75,-5.5 -29.75,-5.5 0,0 -3.25,3.5 -22,8 -18.75,4.5 -27.5,5.75 -27.5,5.75 0,0 -18.5,-9 -31.5,-11.5 -13,-2.5 -24,-2 -24.75,-1.75 z" id="path5468"/>
</clipPath>
<inkscape:perspective id="perspective5614" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective5638" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective5638-1" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective5638-3" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective5679" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective5701" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<inkscape:perspective id="perspective5723" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient5745" id="radialGradient5751" cx="128" cy="86" fx="128" fy="86" r="47" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.0212766,0,0,-1.0212766,-212.7234,173.82979)"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient5762" id="linearGradient5768" x1="123" y1="150.375" x2="133" y2="150.375" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-1,0,0,1,46,0)"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient5762" id="linearGradient5778" x1="128" y1="134.35938" x2="130.875" y2="143.35938" gradientUnits="userSpaceOnUse" gradientTransform="translate(-210,0)"/>
<inkscape:perspective id="perspective5788" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient5762-9" id="linearGradient5768-1" x1="123" y1="150.375" x2="133" y2="150.375" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-1,0,0,1,256,0)"/>
<linearGradient id="linearGradient5762-9">
<stop style="stop-color:#2d3335;stop-opacity:1;" offset="0" id="stop5764-6"/>
<stop id="stop5770-3" offset="0.5" style="stop-color:#4c464a;stop-opacity:1;"/>
<stop style="stop-color:#384042;stop-opacity:1;" offset="1" id="stop5766-6"/>
</linearGradient>
<linearGradient y2="150.375" x2="133" y1="150.375" x1="123" gradientTransform="matrix(-2,0,0,1.7699115,174,-86.65044)" gradientUnits="userSpaceOnUse" id="linearGradient5798" xlink:href="#linearGradient5762-9" inkscape:collect="always"/>
<inkscape:perspective id="perspective5829" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<linearGradient y2="150.375" x2="133" y1="150.375" x1="123" gradientTransform="matrix(-2,0,0,1.7699115,384,-86.65044)" gradientUnits="userSpaceOnUse" id="linearGradient5798-4" xlink:href="#linearGradient5762-9-6" inkscape:collect="always"/>
<linearGradient id="linearGradient5762-9-6">
<stop style="stop-color:#2d3335;stop-opacity:1;" offset="0" id="stop5764-6-6"/>
<stop id="stop5770-3-7" offset="0.5" style="stop-color:#4c464a;stop-opacity:1;"/>
<stop style="stop-color:#384042;stop-opacity:1;" offset="1" id="stop5766-6-2"/>
</linearGradient>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient5862" id="linearGradient5868" x1="120" y1="186.5" x2="136" y2="186.5" gradientUnits="userSpaceOnUse" gradientTransform="translate(-210,0)"/>
<inkscape:perspective id="perspective5886" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient5862-1" id="linearGradient5868-4" x1="120" y1="186.5" x2="136" y2="186.5" gradientUnits="userSpaceOnUse"/>
<linearGradient id="linearGradient5862-1">
<stop style="stop-color:#f9e295;stop-opacity:1;" offset="0" id="stop5864-0"/>
<stop id="stop5876-0" offset="0.125" style="stop-color:#f7dd84;stop-opacity:1;"/>
<stop id="stop5874-6" offset="0.20580582" style="stop-color:#ffffff;stop-opacity:1;"/>
<stop id="stop5870-4" offset="0.30112621" style="stop-color:#f4ce51;stop-opacity:1;"/>
<stop style="stop-color:#f9e7aa;stop-opacity:1;" offset="0.3412039" id="stop5872-4"/>
<stop style="stop-color:#efbb0e;stop-opacity:1;" offset="1" id="stop5866-3"/>
</linearGradient>
<linearGradient y2="186.5" x2="136" y1="186.5" x1="120" gradientUnits="userSpaceOnUse" id="linearGradient5899" xlink:href="#linearGradient5862-1" inkscape:collect="always" gradientTransform="translate(-210,67)"/>
<inkscape:perspective id="perspective5936" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<linearGradient y2="186.5" x2="136" y1="186.5" x1="120" gradientUnits="userSpaceOnUse" id="linearGradient5899-3" xlink:href="#linearGradient5862-1-4" inkscape:collect="always" gradientTransform="translate(0,69)"/>
<linearGradient id="linearGradient5862-1-4">
<stop style="stop-color:#f9e295;stop-opacity:1;" offset="0" id="stop5864-0-7"/>
<stop id="stop5876-0-2" offset="0.125" style="stop-color:#f7dd84;stop-opacity:1;"/>
<stop id="stop5874-6-1" offset="0.20580582" style="stop-color:#ffffff;stop-opacity:1;"/>
<stop id="stop5870-4-7" offset="0.30112621" style="stop-color:#f4ce51;stop-opacity:1;"/>
<stop style="stop-color:#f9e7aa;stop-opacity:1;" offset="0.3412039" id="stop5872-4-9"/>
<stop style="stop-color:#efbb0e;stop-opacity:1;" offset="1" id="stop5866-3-5"/>
</linearGradient>
<inkscape:perspective id="perspective5936-8" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<linearGradient y2="186.5" x2="136" y1="186.5" x1="120" gradientUnits="userSpaceOnUse" id="linearGradient5899-9" xlink:href="#linearGradient5862-1-5" inkscape:collect="always" gradientTransform="translate(0,69)"/>
<linearGradient id="linearGradient5862-1-5">
<stop style="stop-color:#f9e295;stop-opacity:1;" offset="0" id="stop5864-0-5"/>
<stop id="stop5876-0-21" offset="0.125" style="stop-color:#f7dd84;stop-opacity:1;"/>
<stop id="stop5874-6-5" offset="0.20580582" style="stop-color:#ffffff;stop-opacity:1;"/>
<stop id="stop5870-4-9" offset="0.30112621" style="stop-color:#f4ce51;stop-opacity:1;"/>
<stop style="stop-color:#f9e7aa;stop-opacity:1;" offset="0.3412039" id="stop5872-4-91"/>
<stop style="stop-color:#efbb0e;stop-opacity:1;" offset="1" id="stop5866-3-6"/>
</linearGradient>
<inkscape:perspective id="perspective6014" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<linearGradient y2="186.5" x2="136" y1="186.5" x1="120" gradientUnits="userSpaceOnUse" id="linearGradient5899-0" xlink:href="#linearGradient5862-1-53" inkscape:collect="always" gradientTransform="translate(0,67)"/>
<linearGradient id="linearGradient5862-1-53">
<stop style="stop-color:#f9e295;stop-opacity:1;" offset="0" id="stop5864-0-2"/>
<stop id="stop5876-0-1" offset="0.125" style="stop-color:#f7dd84;stop-opacity:1;"/>
<stop id="stop5874-6-9" offset="0.20580582" style="stop-color:#ffffff;stop-opacity:1;"/>
<stop id="stop5870-4-76" offset="0.30112621" style="stop-color:#f4ce51;stop-opacity:1;"/>
<stop style="stop-color:#f9e7aa;stop-opacity:1;" offset="0.3412039" id="stop5872-4-8"/>
<stop style="stop-color:#efbb0e;stop-opacity:1;" offset="1" id="stop5866-3-2"/>
</linearGradient>
<inkscape:perspective id="perspective6080" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<linearGradient id="linearGradient5745-3">
<stop style="stop-color:#d0e9f2;stop-opacity:0;" offset="0" id="stop5747-3"/>
<stop id="stop5753-6" offset="0.83932751" style="stop-color:#d0e9f2;stop-opacity:0;"/>
<stop style="stop-color:#d0e9f2;stop-opacity:0.28185329;" offset="0.94308507" id="stop5755-9"/>
<stop style="stop-color:#d0e9f2;stop-opacity:1;" offset="1" id="stop5749-0"/>
</linearGradient>
<linearGradient id="linearGradient5762-8">
<stop style="stop-color:#2d3335;stop-opacity:1;" offset="0" id="stop5764-5"/>
<stop id="stop5770-1" offset="0.5" style="stop-color:#4c464a;stop-opacity:1;"/>
<stop style="stop-color:#384042;stop-opacity:1;" offset="1" id="stop5766-2"/>
</linearGradient>
<linearGradient id="linearGradient6096">
<stop style="stop-color:#2d3335;stop-opacity:1;" offset="0" id="stop6098"/>
<stop id="stop6100" offset="0.5" style="stop-color:#4c464a;stop-opacity:1;"/>
<stop style="stop-color:#384042;stop-opacity:1;" offset="1" id="stop6102"/>
</linearGradient>
<linearGradient id="linearGradient5862-3">
<stop style="stop-color:#f9e295;stop-opacity:1;" offset="0" id="stop5864-8"/>
<stop id="stop5876-09" offset="0.125" style="stop-color:#f7dd84;stop-opacity:1;"/>
<stop id="stop5874-2" offset="0.20580582" style="stop-color:#ffffff;stop-opacity:1;"/>
<stop id="stop5870-3" offset="0.30112621" style="stop-color:#f4ce51;stop-opacity:1;"/>
<stop style="stop-color:#f9e7aa;stop-opacity:1;" offset="0.3412039" id="stop5872-1"/>
<stop style="stop-color:#efbb0e;stop-opacity:1;" offset="1" id="stop5866-8"/>
</linearGradient>
<linearGradient id="linearGradient5762-9-4">
<stop style="stop-color:#2d3335;stop-opacity:1;" offset="0" id="stop5764-6-1"/>
<stop id="stop5770-3-6" offset="0.5" style="stop-color:#4c464a;stop-opacity:1;"/>
<stop style="stop-color:#384042;stop-opacity:1;" offset="1" id="stop5766-6-3"/>
</linearGradient>
<linearGradient id="linearGradient5862-1-55">
<stop style="stop-color:#f9e295;stop-opacity:1;" offset="0" id="stop5864-0-0"/>
<stop id="stop5876-0-12" offset="0.125" style="stop-color:#f7dd84;stop-opacity:1;"/>
<stop id="stop5874-6-6" offset="0.20580582" style="stop-color:#ffffff;stop-opacity:1;"/>
<stop id="stop5870-4-4" offset="0.30112621" style="stop-color:#f4ce51;stop-opacity:1;"/>
<stop style="stop-color:#f9e7aa;stop-opacity:1;" offset="0.3412039" id="stop5872-4-85"/>
<stop style="stop-color:#efbb0e;stop-opacity:1;" offset="1" id="stop5866-3-62"/>
</linearGradient>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient5862-1-55" id="linearGradient6241" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.9842718,0.9842718,-0.9842718,0.9842718,66.992154,-59.215687)" x1="120" y1="186.5" x2="136" y2="186.5"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient5762-9-4" id="linearGradient6244" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-1.9685436,-1.9685436,-1.742074,1.742074,596.18632,167.51089)" x1="123" y1="150.375" x2="133" y2="150.375"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient5862-3" id="linearGradient6247" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.98427179,0.98427179,-0.98427179,0.98427179,132.93836,-125.1619)" x1="120" y1="186.5" x2="136" y2="186.5"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient5762-8" id="linearGradient6250" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-0.98427179,-0.98427179,-0.98427179,0.98427179,384.91194,126.81168)" x1="123" y1="150.375" x2="133" y2="150.375"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient5762-8" id="linearGradient6253" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.98427179,0.98427179,-0.98427179,0.98427179,132.93836,-125.1619)" x1="128" y1="134.35938" x2="130.875" y2="143.35938"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient5745-3" id="radialGradient6256" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.0052137,1.0052137,1.0052137,-1.0052137,-40.83796,43.253296)" cx="128" cy="86" fx="128" fy="86" r="47"/>
<inkscape:perspective id="perspective6269" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient5762-9-4-6" id="linearGradient6244-4" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-1.9685436,-1.9685436,-1.742074,1.742074,596.18632,177.51089)" x1="123" y1="150.375" x2="133" y2="150.375"/>
<linearGradient id="linearGradient5762-9-4-6">
<stop style="stop-color:#2d3335;stop-opacity:1;" offset="0" id="stop5764-6-1-0"/>
<stop id="stop5770-3-6-7" offset="0.5" style="stop-color:#4c464a;stop-opacity:1;"/>
<stop style="stop-color:#384042;stop-opacity:1;" offset="1" id="stop5766-6-3-4"/>
</linearGradient>
<linearGradient y2="150.375" x2="133" y1="167.7272" x1="108.00327" gradientTransform="matrix(-1.9685436,-1.9685436,-1.742074,1.742074,596.18632,167.51089)" gradientUnits="userSpaceOnUse" id="linearGradient6279" xlink:href="#linearGradient4680" inkscape:collect="always"/>
<inkscape:perspective id="perspective6314" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient6846" id="radialGradient6427" cx="159.61317" cy="72.588303" fx="159.61317" fy="72.588303" r="38.416904" gradientTransform="matrix(1.2124778,0,0,0.83914635,-46.348455,24.528408)" gradientUnits="userSpaceOnUse"/>
<inkscape:perspective id="perspective6437" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient4744-9-9" id="radialGradient6427-8" cx="159.61317" cy="72.588303" fx="159.61317" fy="72.588303" r="38.416904" gradientTransform="matrix(1,0,0,0.69209216,-1.4142136,17.754313)" gradientUnits="userSpaceOnUse"/>
<linearGradient inkscape:collect="always" id="linearGradient4744-9-9">
<stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop4746-3-8"/>
<stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop4748-8-3"/>
</linearGradient>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient4744-9-9" id="radialGradient6445" cx="159.61317" cy="72.588303" fx="159.61317" fy="72.588303" r="38.416904" gradientTransform="matrix(1,0,0,0.69209216,-1.4142136,17.754313)" gradientUnits="userSpaceOnUse"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient4744-9-9" id="radialGradient6453" cx="159.61317" cy="72.588303" fx="159.61317" fy="72.588303" r="38.416904" gradientTransform="matrix(1,0,0,0.69209216,-1.4142136,17.754313)" gradientUnits="userSpaceOnUse"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient4744-9-9" id="radialGradient6461" cx="159.61317" cy="72.588303" fx="159.61317" fy="72.588303" r="38.416904" gradientTransform="matrix(1,0,0,0.69209216,-1.4142136,17.754313)" gradientUnits="userSpaceOnUse"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient4744-9-9" id="radialGradient6469" cx="159.61317" cy="72.588303" fx="159.61317" fy="72.588303" r="38.416904" gradientTransform="matrix(1,0,0,0.69209216,-1.4142136,17.754313)" gradientUnits="userSpaceOnUse"/>
<radialGradient r="38.416904" fy="72.588303" fx="159.61317" cy="72.588303" cx="159.61317" gradientTransform="matrix(1.2124778,0,0,0.83914635,-45.919787,25.814437)" gradientUnits="userSpaceOnUse" id="radialGradient6482" xlink:href="#linearGradient4744-9-9" inkscape:collect="always"/>
<inkscape:perspective id="perspective6551" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient5745-3-3" id="radialGradient6256-6" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.0052137,1.0052137,1.0052137,-1.0052137,-40.83796,53.253296)" cx="128" cy="86" fx="128" fy="86" r="47"/>
<linearGradient id="linearGradient5745-3-3">
<stop style="stop-color:#d0e9f2;stop-opacity:0;" offset="0" id="stop5747-3-0"/>
<stop id="stop5753-6-1" offset="0.83932751" style="stop-color:#d0e9f2;stop-opacity:0;"/>
<stop style="stop-color:#d0e9f2;stop-opacity:0.28185329;" offset="0.94308507" id="stop5755-9-4"/>
<stop style="stop-color:#d0e9f2;stop-opacity:1;" offset="1" id="stop5749-0-8"/>
</linearGradient>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient6589" id="linearGradient6595" x1="126.64295" y1="29.814894" x2="179.96115" y2="137.19565" gradientUnits="userSpaceOnUse" gradientTransform="translate(0,-10)"/>
<inkscape:perspective id="perspective6605" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient6589-6" id="linearGradient6595-6" x1="126.64295" y1="29.814894" x2="179.96115" y2="137.19565" gradientUnits="userSpaceOnUse"/>
<linearGradient id="linearGradient6589-6">
<stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop6591-6"/>
<stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop6593-1"/>
</linearGradient>
<linearGradient gradientTransform="matrix(-0.50295302,0.19839946,0.19720153,-0.43253662,276.15635,123.41729)" y2="137.19565" x2="179.96115" y1="29.814894" x1="126.64295" gradientUnits="userSpaceOnUse" id="linearGradient6614" xlink:href="#linearGradient6589-6" inkscape:collect="always"/>
<inkscape:perspective id="perspective6643" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient6589-2" id="linearGradient6595-8" x1="126.64295" y1="29.814894" x2="179.96115" y2="137.19565" gradientUnits="userSpaceOnUse"/>
<linearGradient inkscape:collect="always" id="linearGradient6589-2">
<stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop6591-9"/>
<stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop6593-6"/>
</linearGradient>
<inkscape:perspective id="perspective6681" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient4744-9-4" id="radialGradient6427-9" cx="159.61317" cy="72.588303" fx="159.61317" fy="72.588303" r="38.416904" gradientTransform="matrix(1.2124778,0,0,0.83914635,-47.895494,34.408017)" gradientUnits="userSpaceOnUse"/>
<linearGradient inkscape:collect="always" id="linearGradient4744-9-4">
<stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop4746-3-3"/>
<stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop4748-8-7"/>
</linearGradient>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient4744-9-4" id="radialGradient6689" cx="159.61317" cy="72.588303" fx="159.61317" fy="72.588303" r="38.416904" gradientTransform="matrix(1.2124778,0,0,0.83914635,-47.895494,34.408017)" gradientUnits="userSpaceOnUse"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient4744-9-4" id="radialGradient6697" cx="159.61317" cy="72.588303" fx="159.61317" fy="72.588303" r="38.416904" gradientTransform="matrix(1.2124778,0,0,0.83914635,-47.895494,34.408017)" gradientUnits="userSpaceOnUse"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient4744-9-4" id="radialGradient6705" cx="159.61317" cy="72.588303" fx="159.61317" fy="72.588303" r="38.416904" gradientTransform="matrix(1.2124778,0,0,0.83914635,-47.895494,34.408017)" gradientUnits="userSpaceOnUse"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient4744-9-4" id="radialGradient6713" cx="159.61317" cy="72.588303" fx="159.61317" fy="72.588303" r="38.416904" gradientTransform="matrix(1.2124778,0,0,0.83914635,-47.895494,34.408017)" gradientUnits="userSpaceOnUse"/>
<radialGradient r="38.416904" fy="72.588303" fx="159.61317" cy="72.588303" cx="159.61317" gradientTransform="matrix(1.2124778,0,0,0.83914634,-47.895492,34.408018)" gradientUnits="userSpaceOnUse" id="radialGradient6726" xlink:href="#linearGradient4744-9-4" inkscape:collect="always"/>
<inkscape:perspective id="perspective6681-6" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient4744-9-49" id="radialGradient6427-0" cx="159.61317" cy="72.588303" fx="159.61317" fy="72.588303" r="38.416904" gradientTransform="matrix(1.2124778,0,0,0.83914635,-47.895494,34.408017)" gradientUnits="userSpaceOnUse"/>
<linearGradient inkscape:collect="always" id="linearGradient4744-9-49">
<stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop4746-3-1"/>
<stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop4748-8-2"/>
</linearGradient>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient4744-9-49" id="radialGradient6689-2" cx="159.61317" cy="72.588303" fx="159.61317" fy="72.588303" r="38.416904" gradientTransform="matrix(1.2124778,0,0,0.83914635,-47.895494,34.408017)" gradientUnits="userSpaceOnUse"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient4744-9-49" id="radialGradient6697-2" cx="159.61317" cy="72.588303" fx="159.61317" fy="72.588303" r="38.416904" gradientTransform="matrix(1.2124778,0,0,0.83914635,-47.895494,34.408017)" gradientUnits="userSpaceOnUse"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient4744-9-49" id="radialGradient6705-4" cx="159.61317" cy="72.588303" fx="159.61317" fy="72.588303" r="38.416904" gradientTransform="matrix(1.2124778,0,0,0.83914635,-47.895494,34.408017)" gradientUnits="userSpaceOnUse"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient4744-9-49" id="radialGradient6713-6" cx="159.61317" cy="72.588303" fx="159.61317" fy="72.588303" r="38.416904" gradientTransform="matrix(1.2124778,0,0,0.83914635,-47.895494,34.408017)" gradientUnits="userSpaceOnUse"/>
<radialGradient r="38.416904" fy="72.588303" fx="159.61317" cy="72.588303" cx="159.61317" gradientTransform="matrix(1.2124778,0,0,0.83914634,-47.895492,34.408018)" gradientUnits="userSpaceOnUse" id="radialGradient6726-0" xlink:href="#linearGradient4744-9-49" inkscape:collect="always"/>
<inkscape:perspective id="perspective6863" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<linearGradient id="linearGradient6589-6-9">
<stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop6591-6-7"/>
<stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop6593-1-2"/>
</linearGradient>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient6846-8" id="radialGradient6427-6" cx="159.61317" cy="72.588303" fx="159.61317" fy="72.588303" r="38.416904" gradientTransform="matrix(1.2124778,0,0,0.83914634,-47.895493,34.408019)" gradientUnits="userSpaceOnUse"/>
<linearGradient id="linearGradient6846-8">
<stop id="stop6848-8" offset="0" style="stop-color:#ffffff;stop-opacity:1;"/>
<stop style="stop-color:#ffffff;stop-opacity:0.93050194;" offset="0.5" id="stop6852-9"/>
<stop id="stop6850-8" offset="1" style="stop-color:#ffffff;stop-opacity:0;"/>
</linearGradient>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient6846-8" id="radialGradient6876" cx="159.61317" cy="72.588303" fx="159.61317" fy="72.588303" r="38.416904" gradientTransform="matrix(1.2124778,0,0,0.83914635,-47.895494,34.408017)" gradientUnits="userSpaceOnUse"/>
<linearGradient id="linearGradient6878">
<stop id="stop6880" offset="0" style="stop-color:#ffffff;stop-opacity:1;"/>
<stop style="stop-color:#ffffff;stop-opacity:0.93050194;" offset="0.5" id="stop6882"/>
<stop id="stop6884" offset="1" style="stop-color:#ffffff;stop-opacity:0;"/>
</linearGradient>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient6846-8" id="radialGradient6886" cx="159.61317" cy="72.588303" fx="159.61317" fy="72.588303" r="38.416904" gradientTransform="matrix(1.2124778,0,0,0.83914635,-47.895494,34.408017)" gradientUnits="userSpaceOnUse"/>
<linearGradient id="linearGradient6888">
<stop id="stop6890" offset="0" style="stop-color:#ffffff;stop-opacity:1;"/>
<stop style="stop-color:#ffffff;stop-opacity:0.93050194;" offset="0.5" id="stop6892"/>
<stop id="stop6894" offset="1" style="stop-color:#ffffff;stop-opacity:0;"/>
</linearGradient>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient6846-8" id="radialGradient6896" cx="159.61317" cy="72.588303" fx="159.61317" fy="72.588303" r="38.416904" gradientTransform="matrix(1.2124778,0,0,0.83914635,-47.895494,34.408017)" gradientUnits="userSpaceOnUse"/>
<linearGradient id="linearGradient6898">
<stop id="stop6900" offset="0" style="stop-color:#ffffff;stop-opacity:1;"/>
<stop style="stop-color:#ffffff;stop-opacity:0.93050194;" offset="0.5" id="stop6902"/>
<stop id="stop6904" offset="1" style="stop-color:#ffffff;stop-opacity:0;"/>
</linearGradient>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient6846-8" id="radialGradient6906" cx="159.61317" cy="72.588303" fx="159.61317" fy="72.588303" r="38.416904" gradientTransform="matrix(1.2124778,0,0,0.83914635,-47.895494,34.408017)" gradientUnits="userSpaceOnUse"/>
<linearGradient id="linearGradient6908">
<stop id="stop6910" offset="0" style="stop-color:#ffffff;stop-opacity:1;"/>
<stop style="stop-color:#ffffff;stop-opacity:0.93050194;" offset="0.5" id="stop6912"/>
<stop id="stop6914" offset="1" style="stop-color:#ffffff;stop-opacity:0;"/>
</linearGradient>
<radialGradient r="38.416904" fy="72.588303" fx="159.61317" cy="72.588303" cx="159.61317" gradientTransform="matrix(1.2124778,0,0,0.83914634,-47.466825,35.694048)" gradientUnits="userSpaceOnUse" id="radialGradient6482-8" xlink:href="#linearGradient4744-9-9-1" inkscape:collect="always"/>
<linearGradient inkscape:collect="always" id="linearGradient4744-9-9-1">
<stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop4746-3-8-6"/>
<stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop4748-8-3-8"/>
</linearGradient>
<radialGradient r="38.416904" fy="72.588303" fx="159.61317" cy="72.588303" cx="159.61317" gradientTransform="matrix(1.2124778,0,0,0.83914635,-47.466826,35.694046)" gradientUnits="userSpaceOnUse" id="radialGradient6920" xlink:href="#linearGradient4744-9-9-1" inkscape:collect="always"/>
<radialGradient r="38.416904" fy="72.588303" fx="159.61317" cy="72.588303" cx="159.61317" gradientTransform="matrix(1.2124778,0,0,0.83914635,-47.466826,35.694046)" gradientUnits="userSpaceOnUse" id="radialGradient6928" xlink:href="#linearGradient4744-9-9-1" inkscape:collect="always"/>
<radialGradient r="38.416904" fy="72.588303" fx="159.61317" cy="72.588303" cx="159.61317" gradientTransform="matrix(1.2124778,0,0,0.83914635,-47.466826,35.694046)" gradientUnits="userSpaceOnUse" id="radialGradient6936" xlink:href="#linearGradient4744-9-9-1" inkscape:collect="always"/>
<radialGradient r="38.416904" fy="72.588303" fx="159.61317" cy="72.588303" cx="159.61317" gradientTransform="matrix(1.2124778,0,0,0.83914635,-47.466826,35.694046)" gradientUnits="userSpaceOnUse" id="radialGradient6944" xlink:href="#linearGradient4744-9-9-1" inkscape:collect="always"/>
<linearGradient id="linearGradient5862-1-55-2">
<stop style="stop-color:#f9e295;stop-opacity:1;" offset="0" id="stop5864-0-0-9"/>
<stop id="stop5876-0-12-6" offset="0.125" style="stop-color:#f7dd84;stop-opacity:1;"/>
<stop id="stop5874-6-6-4" offset="0.20580582" style="stop-color:#ffffff;stop-opacity:1;"/>
<stop id="stop5870-4-4-5" offset="0.30112621" style="stop-color:#f4ce51;stop-opacity:1;"/>
<stop style="stop-color:#f9e7aa;stop-opacity:1;" offset="0.3412039" id="stop5872-4-85-5"/>
<stop style="stop-color:#efbb0e;stop-opacity:1;" offset="1" id="stop5866-3-62-4"/>
</linearGradient>
<linearGradient id="linearGradient4680-0">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop4682-5"/>
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop4684-76"/>
</linearGradient>
<linearGradient id="linearGradient5762-9-4-5">
<stop style="stop-color:#2d3335;stop-opacity:1;" offset="0" id="stop5764-6-1-3"/>
<stop id="stop5770-3-6-73" offset="0.5" style="stop-color:#4c464a;stop-opacity:1;"/>
<stop style="stop-color:#384042;stop-opacity:1;" offset="1" id="stop5766-6-3-2"/>
</linearGradient>
<linearGradient id="linearGradient5862-3-3">
<stop style="stop-color:#f9e295;stop-opacity:1;" offset="0" id="stop5864-8-0"/>
<stop id="stop5876-09-8" offset="0.125" style="stop-color:#f7dd84;stop-opacity:1;"/>
<stop id="stop5874-2-6" offset="0.20580582" style="stop-color:#ffffff;stop-opacity:1;"/>
<stop id="stop5870-3-6" offset="0.30112621" style="stop-color:#f4ce51;stop-opacity:1;"/>
<stop style="stop-color:#f9e7aa;stop-opacity:1;" offset="0.3412039" id="stop5872-1-9"/>
<stop style="stop-color:#efbb0e;stop-opacity:1;" offset="1" id="stop5866-8-7"/>
</linearGradient>
<linearGradient id="linearGradient5762-8-9">
<stop style="stop-color:#2d3335;stop-opacity:1;" offset="0" id="stop5764-5-3"/>
<stop id="stop5770-1-7" offset="0.5" style="stop-color:#4c464a;stop-opacity:1;"/>
<stop style="stop-color:#384042;stop-opacity:1;" offset="1" id="stop5766-2-1"/>
</linearGradient>
<linearGradient id="linearGradient6987">
<stop style="stop-color:#2d3335;stop-opacity:1;" offset="0" id="stop6989"/>
<stop id="stop6991" offset="0.5" style="stop-color:#4c464a;stop-opacity:1;"/>
<stop style="stop-color:#384042;stop-opacity:1;" offset="1" id="stop6993"/>
</linearGradient>
<linearGradient id="linearGradient5745-3-5">
<stop style="stop-color:#d0e9f2;stop-opacity:0;" offset="0" id="stop5747-3-7"/>
<stop id="stop5753-6-0" offset="0.83932751" style="stop-color:#d0e9f2;stop-opacity:0;"/>
<stop style="stop-color:#d0e9f2;stop-opacity:0.28185329;" offset="0.94308507" id="stop5755-9-2"/>
<stop style="stop-color:#d0e9f2;stop-opacity:1;" offset="1" id="stop5749-0-6"/>
</linearGradient>
<filter inkscape:collect="always" id="filter7286">
<feGaussianBlur inkscape:collect="always" stdDeviation="4.2868936" id="feGaussianBlur7288"/>
</filter>
<inkscape:perspective id="perspective7298" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4680-6" id="linearGradient5168-6" x1="210.17188" y1="72.064125" x2="9" y2="-213.25346" gradientUnits="userSpaceOnUse"/>
<linearGradient id="linearGradient4680-6">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop4682-3"/>
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop4684-2"/>
</linearGradient>
<inkscape:perspective id="perspective7298-3" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4680-4" id="linearGradient5168-60" x1="210.17188" y1="72.064125" x2="9" y2="-213.25346" gradientUnits="userSpaceOnUse"/>
<linearGradient id="linearGradient4680-4">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop4682-36"/>
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop4684-3"/>
</linearGradient>
<inkscape:perspective id="perspective7298-9" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4680-2" id="linearGradient5168-4" x1="210.17188" y1="72.064125" x2="9" y2="-213.25346" gradientUnits="userSpaceOnUse"/>
<linearGradient id="linearGradient4680-2">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop4682-9"/>
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop4684-38"/>
</linearGradient>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4680-2" id="linearGradient7376" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,-0.08087767,0,1,0,203.0563)" x1="210.17188" y1="72.064125" x2="9" y2="-213.25346"/>
<inkscape:perspective id="perspective7716" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<linearGradient id="linearGradient4680-7-3">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop4682-2-2"/>
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop4684-7-2"/>
</linearGradient>
<linearGradient id="linearGradient7725">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop7727"/>
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop7729"/>
</linearGradient>
<linearGradient id="linearGradient7732">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop7734"/>
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop7736"/>
</linearGradient>
<linearGradient id="linearGradient7739">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop7741"/>
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop7743"/>
</linearGradient>
<linearGradient id="linearGradient7746">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop7748"/>
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop7750"/>
</linearGradient>
<linearGradient id="linearGradient7753">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop7755"/>
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop7757"/>
</linearGradient>
<linearGradient id="linearGradient7760">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop7762"/>
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop7764"/>
</linearGradient>
<linearGradient id="linearGradient7767">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop7769"/>
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop7771"/>
</linearGradient>
<linearGradient id="linearGradient4680-22">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop4682-27"/>
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop4684-36"/>
</linearGradient>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath5426-1">
<path style="fill:#ceeeab;fill-opacity:1;stroke:none" d="m 9,12.25 c 0,0 7.5,13 11.75,27.75 C 25,54.75 27,65.5 27,65.5 c 0,0 -5.5,12.75 -8.25,24.75 -2.75,12 -5.75,23 -5.75,23 0,0 5.75,16 9.25,30 3.5,14 3.75,24.25 3.75,24.25 0,0 -4,10.25 -7.5,24.25 -3.5,14 -5,30.75 -5,30.75 0,0 9.25,-2 28.5,1.25 19.25,3.25 32.25,6 32.25,6 0,0 12.75,-2.75 24,-6.25 11.25,-3.5 16.25,-6.5 16.25,-6.5 0,0 5.5,0.5 22.5,6.25 17,5.75 29.25,8.5 29.25,8.5 0,0 13,-2.75 26,-5.75 13,-3 26.5,-8 26.5,-8 0,0 -0.75,-5 4.25,-24.5 5,-19.5 8.75,-28 8.75,-28 0,0 -0.5,-4.5 -3.75,-19.75 C 224.75,130.5 218,116 218,116 c 0,0 1.75,-10.5 6.75,-23.75 C 229.75,79 235,65.5 235,65.5 c 0,0 -4.75,-15.25 -7.5,-29.75 C 224.75,21.25 219.25,10 219.25,10 c 0,0 -24.25,9 -31.75,10.5 -7.5,1.5 -21,5.25 -21,5.25 0,0 -9.75,-4.25 -22,-8.5 -12.25,-4.25 -29.75,-5.5 -29.75,-5.5 0,0 -3.25,3.5 -22,8 -18.75,4.5 -27.5,5.75 -27.5,5.75 0,0 -18.5,-9 -31.5,-11.5 -13,-2.5 -24,-2 -24.75,-1.75 z" id="path5428-0"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath5383-0">
<path style="fill:#ceeeab;fill-opacity:1;stroke:none" d="m 9,12.25 c 0,0 7.5,13 11.75,27.75 C 25,54.75 27,65.5 27,65.5 c 0,0 -5.5,12.75 -8.25,24.75 -2.75,12 -5.75,23 -5.75,23 0,0 5.75,16 9.25,30 3.5,14 3.75,24.25 3.75,24.25 0,0 -4,10.25 -7.5,24.25 -3.5,14 -5,30.75 -5,30.75 0,0 9.25,-2 28.5,1.25 19.25,3.25 32.25,6 32.25,6 0,0 12.75,-2.75 24,-6.25 11.25,-3.5 16.25,-6.5 16.25,-6.5 0,0 5.5,0.5 22.5,6.25 17,5.75 29.25,8.5 29.25,8.5 0,0 13,-2.75 26,-5.75 13,-3 26.5,-8 26.5,-8 0,0 -0.75,-5 4.25,-24.5 5,-19.5 8.75,-28 8.75,-28 0,0 -0.5,-4.5 -3.75,-19.75 C 224.75,130.5 218,116 218,116 c 0,0 1.75,-10.5 6.75,-23.75 C 229.75,79 235,65.5 235,65.5 c 0,0 -4.75,-15.25 -7.5,-29.75 C 224.75,21.25 219.25,10 219.25,10 c 0,0 -24.25,9 -31.75,10.5 -7.5,1.5 -21,5.25 -21,5.25 0,0 -9.75,-4.25 -22,-8.5 -12.25,-4.25 -29.75,-5.5 -29.75,-5.5 0,0 -3.25,3.5 -22,8 -18.75,4.5 -27.5,5.75 -27.5,5.75 0,0 -18.5,-9 -31.5,-11.5 -13,-2.5 -24,-2 -24.75,-1.75 z" id="path5385-7"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath5466-2">
<path style="fill:#ceeeab;fill-opacity:1;stroke:none" d="m 9,12.25 c 0,0 7.5,13 11.75,27.75 C 25,54.75 27,65.5 27,65.5 c 0,0 -5.5,12.75 -8.25,24.75 -2.75,12 -5.75,23 -5.75,23 0,0 5.75,16 9.25,30 3.5,14 3.75,24.25 3.75,24.25 0,0 -4,10.25 -7.5,24.25 -3.5,14 -5,30.75 -5,30.75 0,0 9.25,-2 28.5,1.25 19.25,3.25 32.25,6 32.25,6 0,0 12.75,-2.75 24,-6.25 11.25,-3.5 16.25,-6.5 16.25,-6.5 0,0 5.5,0.5 22.5,6.25 17,5.75 29.25,8.5 29.25,8.5 0,0 13,-2.75 26,-5.75 13,-3 26.5,-8 26.5,-8 0,0 -0.75,-5 4.25,-24.5 5,-19.5 8.75,-28 8.75,-28 0,0 -0.5,-4.5 -3.75,-19.75 C 224.75,130.5 218,116 218,116 c 0,0 1.75,-10.5 6.75,-23.75 C 229.75,79 235,65.5 235,65.5 c 0,0 -4.75,-15.25 -7.5,-29.75 C 224.75,21.25 219.25,10 219.25,10 c 0,0 -24.25,9 -31.75,10.5 -7.5,1.5 -21,5.25 -21,5.25 0,0 -9.75,-4.25 -22,-8.5 -12.25,-4.25 -29.75,-5.5 -29.75,-5.5 0,0 -3.25,3.5 -22,8 -18.75,4.5 -27.5,5.75 -27.5,5.75 0,0 -18.5,-9 -31.5,-11.5 -13,-2.5 -24,-2 -24.75,-1.75 z" id="path5468-3"/>
</clipPath>
<inkscape:perspective id="perspective8183" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath5466-2-3">
<path style="fill:#ceeeab;fill-opacity:1;stroke:none" d="m 9,12.25 c 0,0 7.5,13 11.75,27.75 C 25,54.75 27,65.5 27,65.5 c 0,0 -5.5,12.75 -8.25,24.75 -2.75,12 -5.75,23 -5.75,23 0,0 5.75,16 9.25,30 3.5,14 3.75,24.25 3.75,24.25 0,0 -4,10.25 -7.5,24.25 -3.5,14 -5,30.75 -5,30.75 0,0 9.25,-2 28.5,1.25 19.25,3.25 32.25,6 32.25,6 0,0 12.75,-2.75 24,-6.25 11.25,-3.5 16.25,-6.5 16.25,-6.5 0,0 5.5,0.5 22.5,6.25 17,5.75 29.25,8.5 29.25,8.5 0,0 13,-2.75 26,-5.75 13,-3 26.5,-8 26.5,-8 0,0 -0.75,-5 4.25,-24.5 5,-19.5 8.75,-28 8.75,-28 0,0 -0.5,-4.5 -3.75,-19.75 C 224.75,130.5 218,116 218,116 c 0,0 1.75,-10.5 6.75,-23.75 C 229.75,79 235,65.5 235,65.5 c 0,0 -4.75,-15.25 -7.5,-29.75 C 224.75,21.25 219.25,10 219.25,10 c 0,0 -24.25,9 -31.75,10.5 -7.5,1.5 -21,5.25 -21,5.25 0,0 -9.75,-4.25 -22,-8.5 -12.25,-4.25 -29.75,-5.5 -29.75,-5.5 0,0 -3.25,3.5 -22,8 -18.75,4.5 -27.5,5.75 -27.5,5.75 0,0 -18.5,-9 -31.5,-11.5 -13,-2.5 -24,-2 -24.75,-1.75 z" id="path5468-3-2"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath5383-0-0">
<path style="fill:#ceeeab;fill-opacity:1;stroke:none" d="m 9,12.25 c 0,0 7.5,13 11.75,27.75 C 25,54.75 27,65.5 27,65.5 c 0,0 -5.5,12.75 -8.25,24.75 -2.75,12 -5.75,23 -5.75,23 0,0 5.75,16 9.25,30 3.5,14 3.75,24.25 3.75,24.25 0,0 -4,10.25 -7.5,24.25 -3.5,14 -5,30.75 -5,30.75 0,0 9.25,-2 28.5,1.25 19.25,3.25 32.25,6 32.25,6 0,0 12.75,-2.75 24,-6.25 11.25,-3.5 16.25,-6.5 16.25,-6.5 0,0 5.5,0.5 22.5,6.25 17,5.75 29.25,8.5 29.25,8.5 0,0 13,-2.75 26,-5.75 13,-3 26.5,-8 26.5,-8 0,0 -0.75,-5 4.25,-24.5 5,-19.5 8.75,-28 8.75,-28 0,0 -0.5,-4.5 -3.75,-19.75 C 224.75,130.5 218,116 218,116 c 0,0 1.75,-10.5 6.75,-23.75 C 229.75,79 235,65.5 235,65.5 c 0,0 -4.75,-15.25 -7.5,-29.75 C 224.75,21.25 219.25,10 219.25,10 c 0,0 -24.25,9 -31.75,10.5 -7.5,1.5 -21,5.25 -21,5.25 0,0 -9.75,-4.25 -22,-8.5 -12.25,-4.25 -29.75,-5.5 -29.75,-5.5 0,0 -3.25,3.5 -22,8 -18.75,4.5 -27.5,5.75 -27.5,5.75 0,0 -18.5,-9 -31.5,-11.5 -13,-2.5 -24,-2 -24.75,-1.75 z" id="path5385-7-8"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath5426-1-6">
<path style="fill:#ceeeab;fill-opacity:1;stroke:none" d="m 9,12.25 c 0,0 7.5,13 11.75,27.75 C 25,54.75 27,65.5 27,65.5 c 0,0 -5.5,12.75 -8.25,24.75 -2.75,12 -5.75,23 -5.75,23 0,0 5.75,16 9.25,30 3.5,14 3.75,24.25 3.75,24.25 0,0 -4,10.25 -7.5,24.25 -3.5,14 -5,30.75 -5,30.75 0,0 9.25,-2 28.5,1.25 19.25,3.25 32.25,6 32.25,6 0,0 12.75,-2.75 24,-6.25 11.25,-3.5 16.25,-6.5 16.25,-6.5 0,0 5.5,0.5 22.5,6.25 17,5.75 29.25,8.5 29.25,8.5 0,0 13,-2.75 26,-5.75 13,-3 26.5,-8 26.5,-8 0,0 -0.75,-5 4.25,-24.5 5,-19.5 8.75,-28 8.75,-28 0,0 -0.5,-4.5 -3.75,-19.75 C 224.75,130.5 218,116 218,116 c 0,0 1.75,-10.5 6.75,-23.75 C 229.75,79 235,65.5 235,65.5 c 0,0 -4.75,-15.25 -7.5,-29.75 C 224.75,21.25 219.25,10 219.25,10 c 0,0 -24.25,9 -31.75,10.5 -7.5,1.5 -21,5.25 -21,5.25 0,0 -9.75,-4.25 -22,-8.5 -12.25,-4.25 -29.75,-5.5 -29.75,-5.5 0,0 -3.25,3.5 -22,8 -18.75,4.5 -27.5,5.75 -27.5,5.75 0,0 -18.5,-9 -31.5,-11.5 -13,-2.5 -24,-2 -24.75,-1.75 z" id="path5428-0-9"/>
</clipPath>
<linearGradient gradientTransform="translate(0,192)" inkscape:collect="always" xlink:href="#linearGradient4680-22-2" id="linearGradient5168-2-9" x1="210.17188" y1="72.064125" x2="9" y2="-213.25346" gradientUnits="userSpaceOnUse"/>
<linearGradient id="linearGradient4680-22-2">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop4682-27-3"/>
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop4684-36-5"/>
</linearGradient>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4744-9-7-8" id="linearGradient4806-9-8-4" x1="214.25" y1="-161.35938" x2="166.5" y2="-113.71875" gradientUnits="userSpaceOnUse"/>
<linearGradient inkscape:collect="always" id="linearGradient4744-9-7-8">
<stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop4746-3-0-1"/>
<stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop4748-8-4-0"/>
</linearGradient>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4744-9-7-8" id="linearGradient4790-3-9-7" x1="53.25" y1="-126.5" x2="57.65625" y2="-62.46875" gradientUnits="userSpaceOnUse"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4744-9-7-8" id="linearGradient4758-2-6-2" x1="39.5" y1="6.6250248" x2="75.71875" y2="-17.124975" gradientUnits="userSpaceOnUse"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4744-9-7-8" id="linearGradient4750-9-9-4" x1="102" y1="-162.34375" x2="85.3125" y2="-121.4375" gradientUnits="userSpaceOnUse"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4744-9-7-8" id="linearGradient4782-5-5-9" x1="117.75" y1="-78.09375" x2="63.5" y2="-14.75" gradientUnits="userSpaceOnUse"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4744-9-7-8" id="linearGradient4798-4-1-9" x1="180.68745" y1="-125.125" x2="133.93745" y2="-60.74995" gradientUnits="userSpaceOnUse"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4744-9-7-8" id="linearGradient4766-3-6-2" x1="170.75" y1="-23.5" x2="130.21875" y2="33.375" gradientUnits="userSpaceOnUse"/>
<linearGradient y2="-5.6563001" x2="181.75005" y1="-76" x1="213.5" gradientUnits="userSpaceOnUse" id="linearGradient4965-0-3" xlink:href="#linearGradient4744-9-7-8" inkscape:collect="always"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4680-7-3-6" id="linearGradient4686-3-4-6" x1="94.25" y1="-94.671967" x2="9" y2="-179.96893" gradientUnits="userSpaceOnUse"/>
<linearGradient id="linearGradient4680-7-3-6">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop4682-2-2-7"/>
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop4684-7-2-7"/>
</linearGradient>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4680-7-3-6" id="linearGradient4742-3-4-4" x1="50.75" y1="-114.4375" x2="35.75" y2="-30.4375" gradientUnits="userSpaceOnUse"/>
<linearGradient id="linearGradient8255">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop8257"/>
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop8259"/>
</linearGradient>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4680-7-3-6" id="linearGradient4734-3-7-6" x1="77.625" y1="-163.125" x2="115.25" y2="-74.625" gradientUnits="userSpaceOnUse"/>
<linearGradient id="linearGradient8262">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop8264"/>
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop8266"/>
</linearGradient>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4680-7-3-6" id="linearGradient4726-9-4-9" x1="56.5" y1="-50.4375" x2="125.71875" y2="7.0625" gradientUnits="userSpaceOnUse"/>
<linearGradient id="linearGradient8269">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop8271"/>
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop8273"/>
</linearGradient>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4680-7-3-6" id="linearGradient4710-2-1-6" x1="35" y1="-163.29688" x2="180.75" y2="-146.79688" gradientUnits="userSpaceOnUse"/>
<linearGradient id="linearGradient8276">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop8278"/>
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop8280"/>
</linearGradient>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4680-7-3-6" id="linearGradient4718-4-6-0" x1="57.000099" y1="-141.10941" x2="179" y2="-41.609402" gradientUnits="userSpaceOnUse"/>
<linearGradient id="linearGradient8283">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop8285"/>
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop8287"/>
</linearGradient>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4680-7-3-6" id="linearGradient4694-4-1-9" x1="156" y1="-26.5" x2="208.25" y2="39.75" gradientUnits="userSpaceOnUse"/>
<linearGradient id="linearGradient8290">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop8292"/>
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop8294"/>
</linearGradient>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4680-7-3-6" id="linearGradient4702-4-6-9" x1="142.75" y1="-169.29688" x2="235" y2="-77.296875" gradientUnits="userSpaceOnUse"/>
<linearGradient id="linearGradient8297">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop8299"/>
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop8301"/>
</linearGradient>
<inkscape:perspective id="perspective8581" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient5745-3-1" id="radialGradient6256-5" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.0052137,1.0052137,1.0052137,-1.0052137,-40.83796,53.253296)" cx="128" cy="86" fx="128" fy="86" r="47"/>
<linearGradient id="linearGradient5745-3-1">
<stop style="stop-color:#d0e9f2;stop-opacity:0;" offset="0" id="stop5747-3-73"/>
<stop id="stop5753-6-08" offset="0.83932751" style="stop-color:#d0e9f2;stop-opacity:0;"/>
<stop style="stop-color:#d0e9f2;stop-opacity:0.28185329;" offset="0.94308507" id="stop5755-9-5"/>
<stop style="stop-color:#d0e9f2;stop-opacity:1;" offset="1" id="stop5749-0-4"/>
</linearGradient>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath8617">
<path style="fill:url(#radialGradient8621);fill-opacity:1;stroke:none" d="m 123.62289,141.06193 c 20.83191,20.24317 54.6071,19.28863 75.439,-2.132 20.8319,-21.42064 20.8319,-55.195816 0,-75.438984 -20.83191,-20.243167 -54.60709,-19.288643 -75.439,2.131999 -20.83189,21.42063 -20.8319,55.195815 0,75.438985 z" id="path8619" sodipodi:nodetypes="csssc"/>
</clipPath>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient5745-3-1" id="radialGradient8621" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.80254238,0.77986154,0.80254238,-0.82522321,-10.401684,73.423363)" cx="128" cy="86" fx="128" fy="86" r="47"/>
<inkscape:perspective id="perspective8631" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<filter inkscape:collect="always" id="filter8661">
<feGaussianBlur inkscape:collect="always" stdDeviation="6.3109704" id="feGaussianBlur8663"/>
</filter>
<inkscape:perspective id="perspective8673" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4680-62" id="linearGradient5168-8" x1="210.17188" y1="72.064125" x2="9" y2="-213.25346" gradientUnits="userSpaceOnUse"/>
<linearGradient id="linearGradient4680-62">
<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop4682-7"/>
<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop4684-0"/>
</linearGradient>
<inkscape:perspective id="perspective8711" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
<filter inkscape:collect="always" id="filter8725">
<feGaussianBlur inkscape:collect="always" stdDeviation="4.4575" id="feGaussianBlur8727"/>
</filter>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient8729" id="linearGradient8735" x1="122" y1="245.448" x2="122" y2="4.302" gradientUnits="userSpaceOnUse"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4680-2" id="linearGradient8742" gradientUnits="userSpaceOnUse" gradientTransform="translate(0,181.99999)" x1="210.17188" y1="72.064125" x2="9" y2="-213.25346"/>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath8750">
<path id="path8752" d="m 9,22.578406 c 0,0 7.5,12.393417 11.75,26.799687 C 25,63.784363 27,74.372608 27,74.372608 c 0,0 -5.5,13.194827 -8.25,25.417241 C 16,112.01226 13,123.2549 13,123.2549 c 0,0 5.75,15.53495 9.25,29.25188 3.5,13.71692 3.75,23.94671 3.75,23.94671 0,0 -4,10.57351 -7.5,24.85658 -3.5,14.28307 -5,31.15439 -5,31.15439 0,0 9.25,-2.74812 28.5,-1.05502 19.25,1.69311 32.25,3.3917 32.25,3.3917 0,0 12.75,-3.78119 24,-8.19107 11.25,-4.40987 16.25,-7.81426 16.25,-7.81426 0,0 5.5,0.0552 22.5,4.43025 17,4.37508 29.25,6.13433 29.25,6.13433 0,0 13,-3.80141 26,-7.85282 13,-4.05141 26.5,-10.14326 26.5,-10.14326 0,0 -0.75,-4.93934 4.25,-24.84373 5,-19.90438 8.75,-28.70768 8.75,-28.70768 0,0 -0.5145,-4.4553 -3.75,-19.4467 -1.75,-8.10847 -2.25,-4.06803 -2.25,-4.06803 0,0 16.264,-26.15535 16.5,-40.334481 C 242.5,78.94347 235,57.550053 235,57.550053 c 0,0 -4.75,-14.865832 -7.5,-29.143418 -2.75,-14.277586 -8.25,-25.0827591 -8.25,-25.0827591 0,0 -24.25,10.9612831 -31.75,13.0678661 -7.5,2.106582 -21,6.948431 -21,6.948431 0,0 -9.75,-3.461443 -22,-6.720691 -12.25,-3.259249 -29.75,-3.09389 -29.75,-3.09389 0,0 -3.25,3.762853 -22,9.779309 -18.75,6.016456 -27.5,7.974136 -27.5,7.974136 0,0 -18.5,-7.503763 -31.5,-8.952353 -13,-1.448591 -24,-0.05894 -24.75,0.251722 z" style="opacity:0.03913042;fill:url(#linearGradient8754);fill-opacity:1;stroke:none" sodipodi:nodetypes="cscscscscscscscscscscscscscscscsc"/>
</clipPath>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4680-2" id="linearGradient8754" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,-0.08087767,0,1,0,203.05629)" x1="210.17188" y1="72.064125" x2="9" y2="-213.25346"/>
</defs>
<sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="1.8066556" inkscape:cx="34.80086" inkscape:cy="49.324241" inkscape:current-layer="layer5" showgrid="true" inkscape:document-units="px" inkscape:grid-bbox="true" inkscape:window-width="1551" inkscape:window-height="1121" inkscape:window-x="0" inkscape:window-y="25" inkscape:window-maximized="0"/>
<metadata id="metadata3043">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title/>
</cc:Work>
</rdf:RDF>
</metadata>
<g inkscape:groupmode="layer" id="layer8" inkscape:label="map_shadow" style="display:inline">
<g id="g8737" transform="translate(0,-10)">
<path clip-path="none" transform="matrix(1,6.864071e-2,0,0.848698,-6.6011175e-8,36.913089)" id="path5604-26-0-3" d="M 174.28125,35.875 C 156.6825,35.875 139.08909,42.514475 125.5625,55.78125 C 125.39528,55.944528 125.22813,56.084367 125.0625,56.25 C 103.00655,78.305948 98.853795,111.50122 112.59375,137.75 L 110.3125,139.375 C 112.56129,143.61488 115.25415,147.6818 118.40625,151.5 L 105.09375,164.84375 C 103.75238,164.258 102.30517,163.81044 100.53125,163.46875 L 97.6875,166.3125 C 96.578031,165.82863 95.549481,165.49662 94.625,165.4375 L 30.5,229.5625 C 30.46313,230.66337 30.72615,231.74988 31.15625,232.84375 L 30.625,233.375 L 29.53125,234.46875 C 30.246688,238.20655 31.541682,241.29169 35,244.75 C 38.458318,248.20832 41.420414,249.38027 45.28125,250.21875 L 46.375,249.125 L 47.09375,248.40625 C 48.181953,248.8685 49.223649,249.19242 50.1875,249.25 L 114.3125,185.125 C 114.06964,184.15025 113.69207,183.18954 113.28125,182.21875 L 116.28125,179.21875 C 116.03142,177.48677 115.60454,176.02072 114.96875,174.625 L 128.25,161.34375 C 132.0682,164.49585 136.13512,167.18872 140.375,169.4375 L 142,167.15625 C 168.24878,180.8962 201.44405,176.74344 223.5,154.6875 C 223.66563,154.52186 223.80547,154.35472 223.96875,154.1875 C 250.66292,126.97054 250.51736,83.267352 223.5,56.25 C 209.91004,42.660041 192.09307,35.875 174.28125,35.875 z M 173.78125,39.15625 C 173.88592,39.15775 173.98908,39.15425 174.09375,39.15625 C 175.04294,39.17465 175.98913,39.22152 176.9375,39.28125 C 177.89594,39.34161 178.8563,39.428763 179.8125,39.53125 C 179.9062,39.5413 180.00004,39.55205 180.09375,39.5625 C 180.18775,39.57298 180.28105,39.58287 180.375,39.59375 C 180.5207,39.61063 180.66687,39.63839 180.8125,39.65625 C 181.7087,39.766152 182.60741,39.884369 183.5,40.03125 C 184.11909,40.133124 184.72687,40.255367 185.34375,40.375 C 185.6867,40.44144 186.03282,40.49058 186.375,40.5625 C 187.0987,40.714611 187.81147,40.885892 188.53125,41.0625 C 188.8443,41.13931 189.15653,41.199811 189.46875,41.28125 C 189.54185,41.30031 189.61445,41.32444 189.6875,41.34375 C 190.6434,41.596587 191.58423,41.860044 192.53125,42.15625 C 192.60365,42.17886 192.67766,42.19588 192.75,42.21875 C 193.69741,42.518592 194.65684,42.844291 195.59375,43.1875 C 195.64685,43.20695 195.69698,43.23041 195.75,43.25 C 196.70458,43.602395 197.65174,43.977633 198.59375,44.375 C 198.64525,44.39672 198.69853,44.41564 198.75,44.4375 C 199.69184,44.837551 200.63491,45.273781 201.5625,45.71875 C 201.6045,45.73891 201.6455,45.761 201.6875,45.78125 C 202.62288,46.232337 203.54958,46.690779 204.46875,47.1875 C 204.50185,47.20538 204.52945,47.23206 204.56245,47.25 C 205.48926,47.752833 206.40387,48.263321 207.31245,48.8125 C 207.34455,48.83189 207.37415,48.85555 207.40615,48.875 C 208.31425,49.425934 209.20552,49.996562 210.09365,50.59375 C 210.6426,50.962824 211.17785,51.36329 211.71865,51.75 C 212.08335,52.010827 212.45156,52.262412 212.8124,52.53125 C 212.8309,52.54506 212.8564,52.54867 212.8749,52.5625 C 213.75254,53.217706 214.61511,53.922431 215.46865,54.625 C 217.21133,56.059371 218.90007,57.587673 220.53115,59.21875 C 222.15163,60.83923 223.66733,62.519314 225.09365,64.25 C 225.10265,64.26124 225.11565,64.27 225.12485,64.28125 C 225.82806,65.135607 226.53159,65.996485 227.18735,66.875 C 227.47012,67.253769 227.72592,67.648223 227.99985,68.03125 C 228.36958,68.548307 228.73999,69.069236 229.0936,69.59375 C 229.1098,69.61774 229.14,69.63224 229.1561,69.65625 C 229.75422,70.545876 230.32314,71.434083 230.87485,72.34375 C 230.89435,72.37582 230.91795,72.40541 230.93735,72.4375 C 231.48294,73.340419 232.00002,74.266573 232.49985,75.1875 C 232.51775,75.22044 232.54455,75.24829 232.56235,75.28125 C 233.06035,76.202462 233.51643,77.124994 233.9686,78.0625 C 233.9888,78.10444 234.011,78.14552 234.0311,78.1875 C 234.47721,79.117367 234.91137,80.055804 235.31235,81 C 235.33415,81.05123 235.35325,81.104977 235.37485,81.15625 C 235.76965,82.092372 236.14946,83.051461 236.49985,84 C 236.51925,84.05253 236.54305,84.103686 236.56235,84.15625 C 236.90996,85.10461 237.22793,86.040882 237.5311,87 C 237.5538,87.07167 237.5712,87.147026 237.5936,87.21875 C 237.88758,88.159922 238.15494,89.112572 238.4061,90.0625 C 238.4256,90.13603 238.4494,90.207672 238.4686,90.28125 C 238.5493,90.590804 238.61118,90.908382 238.68735,91.21875 C 238.86396,91.938529 239.03524,92.651296 239.18735,93.375 C 239.25925,93.717177 239.30841,94.063299 239.37485,94.40625 C 239.49448,95.023132 239.61673,95.630911 239.7186,96.25 C 239.86548,97.142594 239.9837,98.041302 240.0936,98.9375 C 240.1115,99.083459 240.1392,99.228963 240.1561,99.375 C 240.1669,99.46829 240.1769,99.562929 240.1873,99.65625 C 240.1978,99.75023 240.2085,99.843493 240.2185,99.9375 C 240.32099,100.8937 240.40814,101.85406 240.4685,102.8125 C 240.5277,103.75494 240.57511,104.71299 240.5935,105.65625 C 240.5955,105.76038 240.5915,105.86462 240.5935,105.96875 C 240.6089,107.02208 240.5975,108.0726 240.5623,109.125 C 240.5307,110.05556 240.4776,110.97779 240.40605,111.90625 C 240.39605,112.03118 240.38515,112.15637 240.37485,112.28125 C 240.29875,113.19932 240.20894,114.11665 240.0936,115.03125 C 239.973,115.98751 239.81965,116.95518 239.6561,117.90625 C 239.6419,117.98865 239.6393,118.07392 239.6249,118.15625 C 239.6029,118.2811 239.5852,118.40651 239.5624,118.53125 C 239.39714,119.43903 239.2045,120.34852 238.9999,121.25 C 238.9693,121.38463 238.9376,121.52178 238.9062,121.65625 C 238.69845,122.54491 238.46486,123.43135 238.2187,124.3125 C 238.05479,124.89922 237.86842,125.47955 237.68745,126.0625 C 237.51204,126.62662 237.34761,127.18974 237.1562,127.75 C 236.86153,128.61381 236.55145,129.45882 236.2187,130.3125 C 236.1581,130.46799 236.09304,130.62612 236.0312,130.78125 C 235.9863,130.89371 235.9517,131.01273 235.9062,131.125 C 235.5501,132.00362 235.17807,132.8526 234.7812,133.71875 C 234.40422,134.54222 234.0076,135.34519 233.5937,136.15625 C 233.5132,136.31403 233.42563,136.46772 233.3437,136.625 C 232.92842,137.4224 232.51372,138.21595 232.06245,139 C 231.96725,139.16556 231.87805,139.33506 231.7812,139.5 C 231.58213,139.83885 231.36205,140.16384 231.1562,140.5 C 230.79455,141.09093 230.41383,141.66777 230.0312,142.25 C 230.0262,142.257 230.0362,142.2738 230.0312,142.2812 C 229.54039,143.02694 229.02527,143.76939 228.49995,144.49995 C 228.04268,145.13587 227.54591,145.75123 227.06245,146.37495 C 226.86549,146.62904 226.70126,146.90421 226.49995,147.1562 C 226.36593,147.32399 226.22965,147.48935 226.0937,147.6562 C 225.93019,147.85684 225.76,148.05071 225.5937,148.24995 C 225.03708,148.917 224.46291,149.5678 223.87495,150.2187 C 223.26864,150.88974 222.63964,151.56575 221.99995,152.2187 C 221.83899,152.38296 221.69428,152.55562 221.5312,152.7187 C 200.40085,173.84905 169.27251,177.21358 144.3437,163.87495 L 144.4687,163.68745 C 140.76453,161.79084 137.20703,159.54699 133.8437,156.9062 C 133.30478,156.48305 132.77833,156.03638 132.24995,155.5937 C 131.73554,155.16273 131.22265,154.7308 130.7187,154.2812 C 130.6258,154.1976 130.52998,154.1154 130.43745,154.0312 C 129.61572,153.28344 128.82556,152.51306 128.0312,151.7187 C 127.23684,150.92434 126.46647,150.13418 125.7187,149.31245 C 125.6345,149.21995 125.55231,149.12407 125.4687,149.0312 C 125.0191,148.52725 124.58717,148.01436 124.1562,147.49995 C 123.71352,146.97157 123.26685,146.44512 122.8437,145.9062 C 120.20291,142.54287 117.95906,138.98536 116.06245,135.2812 L 115.87495,135.4062 C 102.53632,110.47739 105.90085,79.349046 127.0312,58.2187 C 127.19428,58.05562 127.36694,57.910915 127.5312,57.74995 C 128.18415,57.110265 128.86016,56.481261 129.5312,55.87495 C 130.1821,55.286994 130.8329,54.712816 131.49995,54.1562 C 131.77209,53.929114 132.03772,53.690576 132.31245,53.4687 C 132.65592,53.191271 133.02754,52.956742 133.37495,52.68745 C 133.99867,52.203987 134.61403,51.707219 135.24995,51.24995 C 135.98748,50.719619 136.74695,50.21386 137.49995,49.7187 C 138.08218,49.336066 138.65902,48.955346 139.24995,48.5937 C 139.69662,48.32034 140.1423,48.042584 140.5937,47.7812 C 141.27515,47.386414 141.96454,47.023727 142.6562,46.6562 C 142.83226,46.56265 143.01076,46.46674 143.18745,46.37495 C 144.1327,45.883975 145.06888,45.40925 146.0312,44.9687 C 146.89735,44.571825 147.74633,44.1998 148.62495,43.8437 C 148.77776,43.78177 148.94054,43.74815 149.0937,43.68745 C 150.06209,43.303428 151.01838,42.928541 151.99995,42.5937 C 152.56021,42.402293 153.12333,42.237857 153.68745,42.06245 C 154.2704,41.881482 154.85073,41.695111 155.43745,41.5312 C 156.3186,41.285037 157.20504,41.051454 158.0937,40.8437 C 158.1648,40.82706 158.24127,40.82884 158.31245,40.81245 C 158.72838,40.71671 159.14509,40.618551 159.56245,40.5312 C 160.23458,40.390375 160.91827,40.244039 161.5937,40.12495 C 161.676,40.11046 161.76133,40.10786 161.8437,40.0937 C 162.79477,39.930149 163.76244,39.776798 164.7187,39.6562 C 166.68235,39.408555 168.64857,39.254564 170.62495,39.18745 C 171.67735,39.15181 172.72787,39.14082 173.7812,39.1562 L 173.78125,39.15625 z" style="opacity:0.7;fill:#2d3335;fill-opacity:1;stroke:none;filter:url(#filter8661)"/>
<path transform="matrix(1,0,0,0.846566,0,37.660073)" sodipodi:nodetypes="cscscscscscscscscscscscscscscscsc" id="path3834-49-7" d="M 9,17.25 C 9,17.25 16.5,28.25 20.75,43 C 25,57.75 27,68.5 27,68.5 C 27,68.5 21.5,81.25 18.75,93.25 C 16,105.25 13,118.25 13,118.25 C 13,118.25 18.75,134.25 22.25,148.25 C 25.75,162.25 26,170.5 26,170.5 C 26,170.5 22,180.75 18.5,194.75 C 15,208.75 13.5,225.5 13.5,225.5 C 13.5,225.5 22.75,223.5 42,226.75 C 61.25,230 74.25,232.75 74.25,232.75 C 74.25,232.75 87,230 98.25,226.5 C 109.5,223 114.5,220 114.5,220 C 114.5,220 120,220.5 137,226.25 C 154,232 166.25,234.75 166.25,234.75 C 166.25,234.75 179.25,232 192.25,229 C 205.25,226 218.75,221 218.75,221 C 218.75,221 218,216 223,196.5 C 228,177 231.75,168.5 231.75,168.5 C 231.75,168.5 231.25,166 228,150.75 C 224.75,135.5 218,121 218,121 C 218,121 219.75,108.5 224.75,95.25 C 229.75,82 235,68.5 235,68.5 C 235,68.5 230.25,53.25 227.5,38.75 C 224.75,24.25 219.25,15 219.25,15 C 219.25,15 195,24 187.5,25.5 C 180,27 166.5,30.75 166.5,30.75 C 166.5,30.75 156.75,26.5 144.5,22.25 C 132.25,18 114.75,16.75 114.75,16.75 C 114.75,16.75 111.5,20.25 92.75,24.75 C 74,29.25 65.25,30.5 65.25,30.5 C 65.25,30.5 46.75,21.5 33.75,19 C 20.75,16.5 9.75,17 9,17.25 z" style="opacity:0.5;fill:url(#linearGradient8735);fill-opacity:1;stroke:none;filter:url(#filter8725)"/>
</g>
</g>
<g inkscape:groupmode="layer" id="layer4" inkscape:label="map_details" sodipodi:insensitive="true" style="display:inline">
<path style="fill:#ceeeab;fill-opacity:1;stroke:none" d="M 9,2.25 C 9,2.25 16.5,15.25 20.75,30 C 25,44.75 27,55.5 27,55.5 C 27,55.5 21.5,68.25 18.75,80.25 C 16,92.25 13,103.25 13,103.25 C 13,103.25 18.75,119.25 22.25,133.25 C 25.75,147.25 26,157.5 26,157.5 C 26,157.5 22,167.75 18.5,181.75 C 15,195.75 13.5,212.5 13.5,212.5 C 13.5,212.5 22.75,210.5 42,213.75 C 61.25,217 74.25,219.75 74.25,219.75 C 74.25,219.75 87,217 98.25,213.5 C 109.5,210 114.5,207 114.5,207 C 114.5,207 120,207.5 137,213.25 C 154,219 166.25,221.75 166.25,221.75 C 166.25,221.75 179.25,219 192.25,216 C 205.25,213 218.75,208 218.75,208 C 218.75,208 218,203 223,183.5 C 228,164 231.75,155.5 231.75,155.5 C 231.75,155.5 231.25,151 228,135.75 C 224.75,120.5 218,106 218,106 C 218,106 219.75,95.5 224.75,82.25 C 229.75,69 235,55.5 235,55.5 C 235,55.5 230.25,40.25 227.5,25.75 C 224.75,11.25 219.25,0 219.25,0 C 219.25,0 195,9 187.5,10.5 C 180,12 166.5,15.75 166.5,15.75 C 166.5,15.75 156.75,11.5 144.5,7.25 C 132.25,3 114.75,1.75 114.75,1.75 C 114.75,1.75 111.5,5.25 92.75,9.75 C 74,14.25 65.25,15.5 65.25,15.5 C 65.25,15.5 46.75,6.5 33.75,4 C 20.75,1.5 9.75,2 9,2.25 z" id="path3834-9"/>
<g id="g5438" clip-path="url(#clipPath5466)" transform="translate(0,-10)">
<path style="fill:#a6dd8b;fill-opacity:1;stroke:none" d="M 110.75,5.5 L 106.5,12.5 C 105.75,21.5 104.25,26.25 98,29 C 91.75,31.75 85.75,32.5 87,36.5 C 88.25,40.5 100,45.75 101.25,49.5 C 102.5,53.25 109.5,51.25 112.25,56.5 C 115,61.75 114.25,71.75 108.5,73.75 C 102.75,75.75 91,74.25 88.25,83.25 C 85.5,92.25 83.5,93.75 79.25,96 C 75,98.25 72,106.5 75.75,112.5 C 79.5,118.5 88,111.25 90.75,106 C 93.5,100.75 98,97.25 98,97.25 L 121.75,97.25 L 180.75,95.5 L 184,91.75 C 184,91.75 187.25,95.75 186.75,100.5 C 186.25,105.25 183,115.25 187,117.75 C 191,120.25 206.5,115.75 211,110.75 C 215.5,105.75 206.25,82.5 200.5,81.25 C 194.75,80 182,79.5 183.5,74.25 C 185,69 195.25,78.75 200.75,77.5 C 206.25,76.25 217.5,56.5 212.75,52.25 C 208,48 188.5,47 187,44.25 C 185.5,41.5 208,36.25 209.25,33.25 C 210.5,30.25 206.75,26 203,24.75 C 199.25,23.5 189,41 182,40.5 C 175,40 162,46.25 164.75,52 C 167.5,57.75 158.75,63 150.25,58.5 C 141.75,54 125.5,45.5 128.5,34.5 C 131.5,23.5 150,15.75 150,15.75 L 110.75,5.5 z M 97.1875,112.71875 C 95.592651,112.86523 92.71875,117.40625 92.25,119.75 C 91.75,122.25 89,126.5 88.75,132 C 88.5,137.5 93.5,138.75 97.5,138.5 C 101.5,138.25 100.25,131.75 99.5,123.5 C 99.25,123.5 99,113.25 97.5,112.75 C 97.40625,112.7188 97.293823,112.709 97.1875,112.7188 L 97.1875,112.71875 z M 189.90625,164.375 C 183.5708,164.67041 183.28125,171.84375 182.5,173.25 C 181.25,175.5 184.75,187 184.5,191.25 C 184.25,195.5 179.75,196.5 175,201 C 170.25,205.5 175.5,217 186.25,232 L 231,233.25 L 230,198.25 C 230,198.25 234.75,194 209.25,174 C 199.6875,166.5 193.70752,164.19775 189.90625,164.375 z M 39.9375,180.90625 C 35.908264,180.80371 31.65625,186.625 30.25,188.5 C 28.75,190.5 24,193.5 13.25,198 L -1.25,232.25 L 51.75,236.5 C 51.75,236.5 53.5,225.5 47.5,220.75 C 41.5,216 30.25,215 29.25,207.5 C 28.25,200 38.5,197.5 43,193.25 C 47.5,189 45,182 40.75,181 C 40.484375,180.9375 40.206116,180.9131 39.9375,180.9063 L 39.9375,180.90625 z" id="path5436"/>
</g>
<path style="fill:#aac3e7;fill-opacity:1;stroke:none" d="M 158.53125,75.34375 C 153.77142,75.329407 149.5,76.3125 147,78.5 C 139,85.5 112,79.25 98.5,85.5 C 85,91.75 85.25,123.5 83.75,130 C 82.25,136.5 66.25,150.75 63.75,153.5 C 61.25,156.25 50.5,160.75 44.25,162 C 38,163.25 31.5,169.25 28.75,173 C 26.728876,175.75608 21.343981,179.45031 18.625,181.21875 C 18.5792,181.40003 18.54564,181.56743 18.5,181.75 C 18.366311,182.28475 18.25288,182.83331 18.125,183.375 C 23.104513,181.77018 29.304508,175.19549 34.75,169.75 C 41,163.5 54.75,162 62.5,158.25 C 70.25,154.5 76.75,138.5 89,134.5 C 101.25,130.5 110.25,146.25 113.25,153 C 116.25,159.75 115,165.75 117,170 C 119,174.25 128,181.75 128.5,183.5 C 129,185.25 123.5,190 122.25,192 C 121,194 111.75,199 110.5,200.75 C 109.53432,202.10195 108.57684,207.52314 108.1875,209.96875 C 108.60053,209.79955 108.94168,209.65822 109.3125,209.5 C 109.7965,206.97067 110.82799,202.42201 112.25,201 C 114.25,199 123.5,196.5 124.75,192.5 C 126,188.5 131.75,186 131.75,186 C 131.75,186 134.5,190 147.75,200 C 156.58333,206.66667 160.5081,215.53356 162.15625,220.71875 C 162.82985,220.8894 163.6892,221.12815 164.1875,221.25 C 162.96635,216.93129 159.35104,205.01115 155.25,200.5 C 150.25,195 136.75,189.75 132.5,178.5 C 128.25,167.25 108,144.25 115,138.25 C 122,132.25 131.5,134.25 143.5,145.75 C 155.5,157.25 189.75,151.5 201.25,149.5 C 211.20453,147.76878 222.08445,164.38321 225.15625,175.53125 C 225.74525,173.43558 226.28288,171.52906 226.8125,169.78125 C 225.07444,167.85545 223.11528,165.16129 221.5,161.5 C 217.75,153 209.5,148.25 209.5,148.25 C 209.5,148.25 218.25,143.25 224.25,140.5 C 225.86703,139.75886 227.25627,138.82287 228.4375,137.84375 C 228.27516,137.06972 228.17857,136.5879 228,135.75 C 227.9689,135.60389 227.938,135.45846 227.9063,135.3125 C 223.14065,140.8749 208.67404,144.92782 206.25005,146.25 C 203.50005,147.75 188.00005,149.25 170.50005,150.75 C 153.00005,152.25 143.75005,143.25 136.25005,136 C 128.75005,128.75 123.25005,100 133.25005,98 C 143.25005,96 153.25005,111.75 163.25005,115 C 173.25005,118.25 184.75005,99.25 183.00005,88 C 181.79693,80.265625 169.00292,75.375305 158.5313,75.34375 L 158.53125,75.34375 z M 105.1875,88.625 C 106.46283,88.6265 111.04688,90.21875 111.75,91 C 114,93.5 113.75,98.25 111.75,99 C 109.75,99.75 99,107 101.25,113.25 C 103.5,119.5 103,131.25 97.75,131.25 C 92.5,131.25 89.75,131.25 87.75,128.75 C 85.75,126.25 85.75,116.75 87.75,109 C 89.75,101.25 91.25,94 95.75,90.75 C 98.84375,88.51562 102.38177,88.621643 105.1875,88.625 L 105.1875,88.625 z M 118.78125,161.71875 C 118.9845,161.73245 120.6875,165.23438 123.5,168.75 C 126.5,172.5 126.75,177 126.75,177 C 126.75,177 122.5,172.25 120.75,169 C 119,165.75 118.75,161.75 118.75,161.75 C 118.75,161.7188 118.7678,161.7177 118.7812,161.7188 L 118.78125,161.71875 z" id="path5280"/>
<path style="opacity:0.38695655;fill:none;stroke:#6d7f42;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 122.75,62.25 C 129,62.75 135,60 133.5,55.75 C 132,51.5 121,48.5 120.25,52.75 C 119.5,57 122.25,63.25 122.75,62.25 z" id="path5319"/>
<path style="opacity:0.38695655;fill:none;stroke:#6d7f42;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 108.75,46.75 C 100.25,41.25 100.25,39.5 101.75,38.75 C 103.25,38 112,43.75 114.5,46.75 C 117,49.75 112.25,48.75 108.75,46.75 z" id="path5321"/>
<g id="g5373" clip-path="url(#clipPath5383)" transform="translate(0,-10)">
<path id="path5323" d="M 15.75,151.25 C 48.75,148.75 54,147.75 52,141 C 50,134.25 43.25,117.5 29,118.5 C 14.75,119.5 6.25,111.75 6.25,111.75" style="opacity:0.38695655;fill:none;stroke:#6d7f42;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
<path id="path5311" d="M 17.5,177.25 C 35.75,167.25 46.25,168.75 52.5,165.75 C 58.75,162.75 65.75,160 68.25,156.25 C 70.75,152.5 74,144.75 74,138.25 C 74,131.75 70.5,102.25 77.25,94.75 C 84,87.25 94.5,68.75 103.25,71.5 C 112,74.25 115.5,81.25 125.25,81 C 135,80.75 147,77 149.5,68.75 C 152,60.5 133.75,52.75 133.5,45.75 C 133.25,38.75 139,31.5 153.75,28.75 C 168.5,26 177.25,17.25 177.25,17.25" style="opacity:0.38695655;fill:none;stroke:#6d7f42;stroke-opacity:1"/>
<path id="path5313" d="M 14.5,161 C 29.75,159.5 36.75,164.5 46,162.75 C 55.25,161 59.25,159.75 63.75,157 C 68.25,154.25 69.75,153.25 70,150.5 C 70.25,147.75 71,138 67,128.5 C 63,119 54.5,97 58.75,89.75 C 63,82.5 64,68.25 74.5,65.25 C 85,62.25 95.5,59 102.25,64 C 109,69 115,78.25 122.25,78.5 C 129.5,78.75 134,77 136.75,74 C 139.5,71 141.25,63.75 138.5,60.25 C 135.75,56.75 123,54.75 121.25,50.75 C 119.5,46.75 110.5,33.75 121,24 C 131.5,14.25 157.25,15.75 157.25,15.75" style="opacity:0.38695655;fill:none;stroke:#6d7f42;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
<path id="path5315" d="M 21.25,159 C 35,160 42.75,163.25 54.75,158.5 C 66.75,153.75 68.25,153.25 68.5,149.75 C 68.75,146.25 68.25,134 65.5,129.75 C 62.75,125.5 52.5,116 49.75,105.5 C 47,95 50,64.5 58.25,57.25 C 66.5,50 90.25,50 95.75,46.75 C 101.25,43.5 101,30 108.75,22.25 C 116.5,14.5 135.75,9.9999997 135.75,9.9999997" style="opacity:0.38695655;fill:none;stroke:#6d7f42;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
<path id="path5317" d="M 190,18.5 C 201.75,23.5 229,28.25 237.25,58.75" style="opacity:0.38695655;fill:none;stroke:#6d7f42;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
<path id="path5325" d="M 9.75,214 C 28.75,201.5 45.75,212.75 58.75,210 C 71.75,207.25 97,172.75 104.75,173 C 112.5,173.25 110.25,161.25 113.25,159.75 C 116.25,158.25 118.75,165.75 125,167.75 C 131.25,169.75 149.5,165 148.5,162 C 147.5,159 141.5,154.25 143,153.5 C 144.5,152.75 151.5,158.5 155.75,157 C 160,155.5 199.5,156 204.25,143.5 C 209,131 225.75,130 225.75,130" style="opacity:0.38695655;fill:none;stroke:#6d7f42;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
<path sodipodi:nodetypes="csssssssc" id="path5327" d="M 77.5,233.5 C 91,222 100.75,208.5 106,206.5 C 111.25,204.5 118.75,202.75 121.75,198.5 C 124.75,194.25 124.25,187.75 127,186.5 C 129.75,185.25 130.75,192.25 135.75,192.5 C 140.75,192.75 172.5,187.5 178.5,180.75 C 184.5,174 210.75,168.25 211,166.25 C 211.25,164.25 210,161.5 211.25,160.75 C 212.5,160 236,154.75 236,154.75" style="opacity:0.38695655;fill:none;stroke:#6d7f42;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
<path id="path5329" d="M 168.75,236 C 177.75,222.25 189.25,195 198.25,194 C 207.25,193 208.5,191.5 210.75,189.75 C 213,188 227.75,192 227.75,192" style="opacity:0.38695655;fill:none;stroke:#6d7f42;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
</g>
<g id="g5400" clip-path="url(#clipPath5426)" transform="translate(0,-10)">
<path id="path5387" d="M 57.75,20 L 49.25,48.25 L 67.25,54.5 L 75,90.75 L 54,113 L 63,123.5 L 51,135 L 51.5,139.5 L 71.75,164 L 85.75,157.25 L 106.25,175.75 L 95.75,204 L 106,212.5 L 103.25,225.5" style="fill:none;stroke:#d38484;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
<path id="path5389" d="M 105.75,212.25 L 118.25,184.5 L 129.25,177.5 L 156.75,193.25 L 177.25,189.5 L 177,173.75 L 166.75,167.75 L 179.5,141.5 L 185.25,137.75 L 224,127.75" style="fill:none;stroke:#d38484;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
</g>
</g>
<g id="layer1" inkscape:label="Layer 1" inkscape:groupmode="layer" transform="translate(0,192)" sodipodi:insensitive="true" style="display:inline">
<g id="g4199" transform="translate(0,320)" style="opacity:0.5043478">
<path sodipodi:nodetypes="cscscscscscccccsc" id="path3834-4" transform="translate(0,-192)" d="M 219.25,10 C 219.25,10 195,19 187.5,20.5 C 180,22 166.5,25.75 166.5,25.75 C 166.5,25.75 156.75,21.5 144.5,17.25 C 132.25,13 114.75,11.75 114.75,11.75 C 114.75,11.75 111.5,15.25 92.75,19.75 C 74.000003,24.25 65.25,25.5 65.25,25.5 C 65.25,25.5 46.75,16.5 33.75,14 C 20.75,11.5 9.75,12 9,12.25 C 9,12.25 16.5,25.25 20.75,40 C 25,54.75 27,65.5 27,65.5 L 78.46875,70.625 L 127.4375,66.625 L 179.6875,78.65625 C 190.07319,74.238496 231.80421,73.755785 235,65.5 C 235,65.5 230.25,50.25 227.5,35.75 C 224.75,21.25 219.25,10 219.25,10 z" style="fill:#b1e479;fill-opacity:1;stroke:none"/>
<path sodipodi:nodetypes="cscccccsccccc" id="path3834-7-2" transform="translate(0,-192)" d="M 27,65.5 C 27,65.5 21.5,78.25 18.75,90.25 C 16,102.25 13,113.25 13,113.25 L 63.96875,129.625 L 117.6875,113.875 L 169.9375,131.40625 C 186.30214,127.14964 202.33444,122.28803 218,116 C 218,116 219.75,105.5 224.75,92.25 C 229.75,79 235,65.5 235,65.5 C 231.80421,73.75579 190.07319,74.2385 179.6875,78.65625 L 127.4375,66.625 L 79.46875,70.625 L 27,65.5 z" style="fill:#87d531;fill-opacity:1;stroke:none"/>
<path id="path3834-7-26" transform="translate(0,-192)" d="M 231.75,165.5 C 213.85059,173.17118 195.80681,180.40405 177.4375,186.90625 L 125.1875,168.375 L 74.96875,177.375 L 26,167.5 C 26,167.5 22,177.75 18.5,191.75 C 15,205.75 13.5,222.5 13.5,222.5 C 13.5,222.5 22.75,220.5 42,223.75 C 61.25,227 74.25,229.75 74.25,229.75 C 74.25,229.75 87.000003,227 98.25,223.5 C 109.5,220 114.5,217 114.5,217 C 114.5,217 120,217.5 137,223.25 C 154,229 166.25,231.75 166.25,231.75 C 166.25,231.75 179.25,229 192.25,226 C 205.25,223 218.75,218 218.75,218 C 218.75,218 218,213 223,193.5 C 228,174 231.75,165.5 231.75,165.5 z" style="fill:#ceeeab;fill-opacity:1;stroke:none"/>
<path sodipodi:nodetypes="cscccccsccccc" id="path3834-7-26-0" transform="translate(0,-192)" d="M 13,113.25 C 13,113.25 18.75,129.25 22.25,143.25 C 25.75,157.25 26,167.5 26,167.5 L 74.96875,177.375 L 125.1875,168.375 L 177.4375,186.90625 C 195.80681,180.40405 213.85059,173.17118 231.75,165.5 C 231.75,165.5 231.25,161 228,145.75 C 224.75,130.5 218,116 218,116 C 202.33444,122.28803 186.30214,127.14964 169.9375,131.40625 L 117.6875,113.875 L 63.96875,129.625 L 13,113.25 z" style="fill:#b9e787;fill-opacity:1;stroke:none"/>
</g>
<g id="g4205" style="opacity:0.52173911" transform="translate(0,140)">
<path sodipodi:nodetypes="ccscscscscscccccsc" id="path3834-2" d="M 13.71875,0.03125 C 10.989746,0.02425 9.28125,0.15625 9,0.25 C 9,0.25 16.5,13.25 20.75,28 C 25,42.75 27,53.5 27,53.5 C 27,53.5 21.5,66.25 18.75,78.25 C 16,90.25 13,101.25 13,101.25 C 13,101.25 18.75,117.25 22.25,131.25 C 25.75,145.25 26,155.5 26,155.5 C 26,155.5 22,165.75 18.5,179.75 C 15,193.75 13.5,210.5 13.5,210.5 C 13.5,210.5 22.75,208.5 42,211.75 C 61.25,215 74.25,217.75 74.25,217.75 L 75.75,164.5 L 63.5,118 L 79.5,58.25 C 77.279793,42.77003 70.432295,28.20354 65.25,13.5 C 65.25,13.5 46.75,4.5 33.75,2 C 25.625,0.4375 18.26709,0.04346 13.71875,0.03125 z" style="fill:#83d32b;fill-opacity:1;stroke:none"/>
<path sodipodi:nodetypes="cscccccsccccc" id="path3834-6-2" d="M 114.75,-0.25 C 114.75,-0.25 111.5,3.25 92.75,7.75 C 74,12.25 65.25,13.5 65.25,13.5 C 70.432295,28.20354 77.279793,42.77003 79.5,58.25 L 63.5,118 L 75.75,164.5 L 74.25,217.75 C 74.25,217.75 87,215 98.25,211.5 C 109.5,208 114.5,205 114.5,205 L 125.75,156.5 L 117.5,102.25 L 129.25,57.25 C 125.81031,47.52322 121.18553,0.32024 114.75,-0.25 z" style="fill:#b1e479;fill-opacity:1;stroke:none"/>
<path id="path3834-6-6" d="M 219.25,-2 C 219.25,-2 195,7 187.5,8.5 C 180,10 166.5,13.75 166.5,13.75 C 171.42395,12.39167 177.93679,59.14247 180.75,66 L 169.5,119.25 L 179,174.25 L 166.25,219.75 C 166.25,219.75 179.25,217 192.25,214 C 205.25,211 218.75,206 218.75,206 C 218.75,206 218,201 223,181.5 C 228,162 231.75,153.5 231.75,153.5 C 231.75,153.5 231.25,149 228,133.75 C 224.75,118.5 218,104 218,104 C 218,104 219.75,93.5 224.75,80.25 C 229.75,67 235,53.5 235,53.5 C 235,53.5 230.25,38.25 227.5,23.75 C 224.75,9.25 219.25,-2 219.25,-2 z" style="fill:#a4df62;fill-opacity:1;stroke:none" sodipodi:nodetypes="cscccccscscscscsc"/>
<path sodipodi:nodetypes="cccccscccccsc" id="path3834-6-6-9" d="M 114.75,-0.25 C 121.18553,0.32024 125.81031,47.52322 129.25,57.25 L 117.5,102.25 L 125.75,155.5 L 114.5,205 C 114.5,205 120,205.5 137,211.25 C 154,217 166.25,219.75 166.25,219.75 L 179,174.25 L 169.5,119.25 L 180.75,66 C 177.93679,59.14247 171.42395,12.39167 166.5,13.75 C 166.5,13.75 156.75,9.5 144.5,5.25 C 132.25,1 114.75,-0.25 114.75,-0.25 z" style="fill:#ceeeab;fill-opacity:1;stroke:none"/>
</g>
<path style="opacity:0.03913042;fill:url(#linearGradient5168);fill-opacity:1;stroke:none" d="M 9,-189.75 C 9,-189.75 16.5,-176.75 20.75,-162 C 25,-147.25 27,-136.5 27,-136.5 C 27,-136.5 21.5,-123.75 18.75,-111.75 C 16,-99.75 13,-88.75 13,-88.75 C 13,-88.75 18.75,-72.75 22.25,-58.75 C 25.75,-44.75 26,-34.5 26,-34.5 C 26,-34.5 22,-24.25 18.5,-10.25 C 15,3.75 13.5,20.5 13.5,20.5 C 13.5,20.5 22.75,18.5 42,21.75 C 61.25,25 74.25,27.75 74.25,27.75 C 74.25,27.75 87,25 98.25,21.5 C 109.5,18 114.5,15 114.5,15 C 114.5,15 120,15.5 137,21.25 C 154,27 166.25,29.75 166.25,29.75 C 166.25,29.75 179.25,27 192.25,24 C 205.25,21 218.75,16 218.75,16 C 218.75,16 218,11 223,-8.5 C 228,-28 231.75,-36.5 231.75,-36.5 C 231.75,-36.5 231.25,-41 228,-56.25 C 224.75,-71.5 218,-86 218,-86 C 218,-86 219.75,-96.5 224.75,-109.75 C 229.75,-123 235,-136.5 235,-136.5 C 235,-136.5 230.25,-151.75 227.5,-166.25 C 224.75,-180.75 219.25,-192 219.25,-192 C 219.25,-192 195,-183 187.5,-181.5 C 180,-180 166.5,-176.25 166.5,-176.25 C 166.5,-176.25 156.75,-180.5 144.5,-184.75 C 132.25,-189 114.75,-190.25 114.75,-190.25 C 114.75,-190.25 111.5,-186.75 92.75,-182.25 C 74,-177.75 65.25,-176.5 65.25,-176.5 C 65.25,-176.5 46.75,-185.5 33.75,-188 C 20.75,-190.5 9.75,-190 9,-189.75 z" id="path3834-49"/>
</g>
<g inkscape:groupmode="layer" id="layer3" inkscape:label="grid_shade" style="display:inline" sodipodi:insensitive="true">
<g transform="translate(0,182)" id="g4808" style="opacity:0.2695656">
<path id="path3834-4-9" d="M 219.25,-182 C 219.25,-182 195,-173 187.5,-171.5 C 180,-170 166.5,-166.25 166.5,-166.25 C 171.42395,-167.60833 177.93679,-120.85753 180.75,-114 L 180.6875,-113.71875 C 192.49544,-117.79254 231.89797,-118.48643 235,-126.5 C 235,-126.5 230.25,-141.75 227.5,-156.25 C 224.75,-170.75 219.25,-182 219.25,-182 z" style="fill:url(#linearGradient4806-9);fill-opacity:1;stroke:none"/>
<path id="path3834-7-2-4-9" d="M 27,-126.5 C 27,-126.5 21.5,-113.75 18.75,-101.75 C 16,-89.75 13,-78.75 13,-78.75 L 63.625,-62.46875 L 79.40625,-121.375 L 27,-126.5 z" style="fill:url(#linearGradient4790-3);fill-opacity:1;stroke:none"/>
<path id="path3834-7-26-9-7" d="M 26,-24.5 C 26,-24.5 22,-14.25 18.5,-0.25 C 15,13.75 13.5,30.5 13.5,30.5 C 13.5,30.5 13.646973,30.4546 13.9375,30.4063 C 15.971191,30.06792 25.15625,28.9063 42,31.75005 C 61.25,35.00005 74.25,37.75005 74.25,37.75005 L 75.71875,-14.74995 L 74.96875,-14.62495 L 26,-24.5 z" style="fill:url(#linearGradient4758-2);fill-opacity:1;stroke:none"/>
<path id="path3834-4-9-6" d="M 114.75,-180.25 C 114.75,-180.25 111.5,-176.75 92.75,-172.25 C 74.000003,-167.75 65.25,-166.5 65.25,-166.5 C 70.432295,-151.79646 77.279793,-137.22997 79.5,-121.75 L 79.40625,-121.4375 L 127.4375,-125.375 L 128.5625,-125.125 C 125.20002,-138.4478 120.76647,-179.71689 114.75,-180.25 z" style="fill:url(#linearGradient4750-9);fill-opacity:1;stroke:none"/>
<path id="path3834-7-26-0-0-9" d="M 117.59375,-78.09375 L 63.96875,-62.375 L 63.625,-62.46875 L 63.5,-62 L 75.75,-15.5 L 75.71875,-14.75 L 125.1875,-23.625 L 125.71875,-23.4375 L 125.74995,-23.5 L 117.49995,-77.75 L 117.59365,-78.09375 L 117.59375,-78.09375 z" style="fill:url(#linearGradient4782-5);fill-opacity:1;stroke:none"/>
<path id="path3834-7-2-4-3" d="M 128.5625,-125.125 C 128.7967,-124.19705 129.02602,-123.38337 129.25,-122.75 L 117.59375,-78.09375 L 117.68745,-78.12495 L 169.49995,-60.74995 L 180.68745,-113.7187 C 180.33054,-113.59556 179.99216,-113.47332 179.68745,-113.3437 L 128.56245,-125.12495 L 128.5625,-125.125 z" style="fill:url(#linearGradient4798-4);fill-opacity:1;stroke:none"/>
<path id="path3834-7-26-9-85" d="M 125.53125,-23.5 L 114.5,25 C 114.5,25 120,25.5 137,31.25 C 139.125,31.96875 141.16309,32.65576 143.125,33.28125 C 145.08691,33.90674 146.98047,34.4668 148.75,35 C 159.36719,38.19922 166.25,39.75 166.25,39.75 L 178.96875,-5.65625 C 178.45649,-5.47361 177.95026,-5.27525 177.4375,-5.09375 L 125.53125,-23.5 z" style="fill:url(#linearGradient4766-3);fill-opacity:1;stroke:none"/>
<path id="path3834-7-26-0-0-3" d="M 218,-76 C 202.33444,-69.71197 186.30214,-64.85036 169.9375,-60.59375 L 169.5,-60.75 L 179,-5.75 L 178.9688,-5.6563 C 196.80782,-12.01643 214.35028,-19.043 231.75005,-26.50005 C 231.75005,-26.50005 231.25005,-31.00005 228.00005,-46.25005 C 224.75,-61.5 218,-76 218,-76 z" style="fill:url(#linearGradient4965);fill-opacity:1;stroke:none"/>
</g>
<g transform="translate(0,182)" id="g4818" style="opacity:0.04347827">
<path id="path3834-4-9-1" d="M 13.71875,-179.96875 C 12.61251,-179.97175 11.746535,-179.93665 11,-179.90625 C 10.55476,-179.88815 10.144586,-179.86725 9.84375,-179.84375 C 9.81446,-179.84175 9.7778,-179.84575 9.75,-179.84375 C 9.352051,-179.81105 9.09375,-179.78125 9,-179.75005 C 9,-179.75005 16.5,-166.75005 20.75,-152.00005 C 25,-137.25 27,-126.5 27,-126.5 L 78.46875,-121.375 L 79.40625,-121.4375 L 79.5,-121.75 C 77.279793,-137.22997 70.432295,-151.79646 65.25,-166.5 C 65.25,-166.5 46.75,-175.5 33.75,-178 C 32.731734,-178.19582 31.73976,-178.37068 30.75,-178.53125 C 30.154387,-178.62795 29.583119,-178.72763 29,-178.8125 C 28.763416,-178.8469 28.546809,-178.8737 28.3125,-178.9062 C 27.006022,-179.08805 25.724495,-179.24659 24.5,-179.37495 C 23.765447,-179.45195 23.105404,-179.50254 22.40625,-179.56245 C 21.721361,-179.62155 21.053311,-179.67434 20.40625,-179.7187 C 19.414378,-179.7865 18.515844,-179.83704 17.625,-179.87495 C 16.168632,-179.93805 14.855835,-179.96565 13.71875,-179.96865 L 13.71875,-179.96875 z" style="fill:url(#linearGradient4686-3);fill-opacity:1;stroke:none"/>
<path id="path3834-7-26-0-0-7" d="M 13,-78.75 C 13,-78.75 18.75,-62.75 22.25,-48.75 C 25.75,-34.75 26,-24.5 26,-24.5 L 74.96875,-14.625 L 75.71875,-14.75 L 75.75,-15.5 L 63.5,-62 L 63.625,-62.46875 L 13,-78.75 z" style="fill:url(#linearGradient4742-3);fill-opacity:1;stroke:none"/>
<path id="path3834-7-2-4-6" d="M 127.4375,-125.375 L 79.46875,-121.375 L 79.40625,-121.375 L 63.625,-62.46875 L 63.96875,-62.375 L 117.59375,-78.09375 L 129.25,-122.75 C 129.02602,-123.38337 128.7967,-124.19705 128.5625,-125.125 L 127.4375,-125.375 L 127.4375,-125.375 z" style="fill:url(#linearGradient4734-3);fill-opacity:1;stroke:none"/>
<path id="path3834-7-26-9-8" d="M 125.1875,-23.625 L 75.71875,-14.75 L 74.25,37.75 C 74.25,37.75 87.000003,35 98.25,31.5 C 109.5,28 114.5,25 114.5,25 L 125.71875,-23.4375 L 125.1875,-23.625 z" style="fill:url(#linearGradient4726-9);fill-opacity:1;stroke:none"/>
<path id="path3834-4-9-2" d="M 114.75,-180.25 C 120.76647,-179.71689 125.20002,-138.4478 128.5625,-125.125 L 179.6875,-113.34375 C 179.99221,-113.47337 180.33059,-113.59561 180.6875,-113.71875 L 180.75,-114 C 177.93679,-120.85753 171.42395,-167.60833 166.5,-166.25 C 166.5,-166.25 165.88672,-166.50391 164.78125,-166.96875 C 161.46484,-168.36328 153.6875,-171.5625 144.5,-174.75 C 132.25,-179 114.75,-180.25 114.75,-180.25 z" style="fill:url(#linearGradient4710-2);fill-opacity:1;stroke:none"/>
<path id="path3834-7-26-0-0-0" d="M 117.6875,-78.125 L 117.5938,-78.0938 L 117.5001,-77.75005 L 125.7501,-24.50005 L 125.53135,-23.50005 L 177.4376,-5.0938 C 177.95036,-5.2753 178.45659,-5.47366 178.96885,-5.6563 L 179,-5.75 L 169.5,-60.75 L 117.6875,-78.125 L 117.6875,-78.125 z" style="fill:url(#linearGradient4718-4);fill-opacity:1;stroke:none"/>
<path id="path3834-7-26-9-9" d="M 231.75,-26.5 C 214.35023,-19.04295 196.80777,-12.01638 178.96875,-5.65625 L 166.25,39.75 C 166.25,39.75 179.25,37 192.25,34 C 205.25,31 218.75,26 218.75,26 C 218.75,26 218,21 223,1.5 C 228,-18 231.75,-26.5 231.75,-26.5 z" style="fill:url(#linearGradient4694-4);fill-opacity:1;stroke:none"/>
<path id="path3834-7-2-4-5" d="M 235,-126.5 C 231.89797,-118.48643 192.49544,-117.79254 180.6875,-113.71875 L 169.5,-60.75 L 169.9375,-60.59375 C 186.30214,-64.85036 202.33444,-69.71197 218,-76 C 218,-76 219.75,-86.5 224.75,-99.75 C 229.75,-113 235,-126.5 235,-126.5 z" style="fill:url(#linearGradient4702-4);fill-opacity:1;stroke:none"/>
</g>
</g>
<g inkscape:groupmode="layer" id="layer7" inkscape:label="mag_zoom" sodipodi:insensitive="true" style="display:inline">
<g style="display:inline" id="g8102" transform="matrix(1.2525366,3.539823e-2,0,1.2525366,-27.80947,-48.34395)" clip-path="url(#clipPath8617)">
<path id="path3834-9-1" d="M 9,12.25 C 9,12.25 16.5,25.25 20.75,40 C 25,54.75 27,65.5 27,65.5 C 27,65.5 21.5,78.25 18.75,90.25 C 16,102.25 13,113.25 13,113.25 C 13,113.25 18.75,129.25 22.25,143.25 C 25.75,157.25 26,167.5 26,167.5 C 26,167.5 22,177.75 18.5,191.75 C 15,205.75 13.5,222.5 13.5,222.5 C 13.5,222.5 22.75,220.5 42,223.75 C 61.25,227 74.25,229.75 74.25,229.75 C 74.25,229.75 87,227 98.25,223.5 C 109.5,220 114.5,217 114.5,217 C 114.5,217 120,217.5 137,223.25 C 154,229 166.25,231.75 166.25,231.75 C 166.25,231.75 179.25,229 192.25,226 C 205.25,223 218.75,218 218.75,218 C 218.75,218 218,213 223,193.5 C 228,174 231.75,165.5 231.75,165.5 C 231.75,165.5 231.25,161 228,145.75 C 224.75,130.5 218,116 218,116 C 218,116 219.75,105.5 224.75,92.25 C 229.75,79 235,65.5 235,65.5 C 235,65.5 230.25,50.25 227.5,35.75 C 224.75,21.25 219.25,10 219.25,10 C 219.25,10 195,19 187.5,20.5 C 180,22 166.5,25.75 166.5,25.75 C 166.5,25.75 156.75,21.5 144.5,17.25 C 132.25,13 114.75,11.75 114.75,11.75 C 114.75,11.75 111.5,15.25 92.75,19.75 C 74,24.25 65.25,25.5 65.25,25.5 C 65.25,25.5 46.75,16.5 33.75,14 C 20.75,11.5 9.75,12 9,12.25 z" style="fill:#ceeeab;fill-opacity:1;stroke:none"/>
<g clip-path="url(#clipPath5466-2-3)" id="g5438-0">
<path id="path5436-7" d="M 110.75,5.5 L 106.5,12.5 C 105.75,21.5 104.25,26.25 98,29 C 91.75,31.75 85.75,32.5 87,36.5 C 88.25,40.5 100,45.75 101.25,49.5 C 102.5,53.25 109.5,51.25 112.25,56.5 C 115,61.75 114.25,71.75 108.5,73.75 C 102.75,75.75 91,74.25 88.25,83.25 C 85.5,92.25 83.5,93.75 79.25,96 C 75,98.25 72,106.5 75.75,112.5 C 79.5,118.5 88,111.25 90.75,106 C 93.5,100.75 98,97.25 98,97.25 L 121.75,97.25 L 180.75,95.5 L 184,91.75 C 184,91.75 187.25,95.75 186.75,100.5 C 186.25,105.25 183,115.25 187,117.75 C 191,120.25 206.5,115.75 211,110.75 C 215.5,105.75 206.25,82.5 200.5,81.25 C 194.75,80 182,79.5 183.5,74.25 C 185,69 195.25,78.75 200.75,77.5 C 206.25,76.25 217.5,56.5 212.75,52.25 C 208,48 188.5,47 187,44.25 C 185.5,41.5 208,36.25 209.25,33.25 C 210.5,30.25 206.75,26 203,24.75 C 199.25,23.5 189,41 182,40.5 C 175,40 162,46.25 164.75,52 C 167.5,57.75 158.75,63 150.25,58.5 C 141.75,54 125.5,45.5 128.5,34.5 C 131.5,23.5 150,15.75 150,15.75 L 110.75,5.5 z M 97.1875,112.71875 C 95.592651,112.86523 92.71875,117.40625 92.25,119.75 C 91.75,122.25 89,126.5 88.75,132 C 88.5,137.5 93.5,138.75 97.5,138.5 C 101.5,138.25 100.25,131.75 99.5,123.5 C 99.25,123.5 99,113.25 97.5,112.75 C 97.40625,112.7188 97.293823,112.709 97.1875,112.7188 L 97.1875,112.71875 z M 189.90625,164.375 C 183.5708,164.67041 183.28125,171.84375 182.5,173.25 C 181.25,175.5 184.75,187 184.5,191.25 C 184.25,195.5 179.75,196.5 175,201 C 170.25,205.5 175.5,217 186.25,232 L 231,233.25 L 230,198.25 C 230,198.25 234.75,194 209.25,174 C 199.6875,166.5 193.70752,164.19775 189.90625,164.375 z M 39.9375,180.90625 C 35.908264,180.80371 31.65625,186.625 30.25,188.5 C 28.75,190.5 24,193.5 13.25,198 L -1.25,232.25 L 51.75,236.5 C 51.75,236.5 53.5,225.5 47.5,220.75 C 41.5,216 30.25,215 29.25,207.5 C 28.25,200 38.5,197.5 43,193.25 C 47.5,189 45,182 40.75,181 C 40.484375,180.9375 40.206116,180.9131 39.9375,180.9063 L 39.9375,180.90625 z" style="fill:#a6dd8b;fill-opacity:1;stroke:none"/>
</g>
<path id="path5280-4" d="M 158.53125,85.34375 C 153.77142,85.329407 149.5,86.3125 147,88.5 C 139,95.5 112,89.25 98.5,95.5 C 85,101.75 85.25,133.5 83.75,140 C 82.25,146.5 66.25,160.75 63.75,163.5 C 61.25,166.25 50.5,170.75 44.25,172 C 38,173.25 31.5,179.25 28.75,183 C 26.728876,185.75608 21.343981,189.45031 18.625,191.21875 C 18.5792,191.40003 18.54564,191.56743 18.5,191.75 C 18.366311,192.28475 18.25288,192.83331 18.125,193.375 C 23.104513,191.77018 29.304508,185.19549 34.75,179.75 C 41,173.5 54.75,172 62.5,168.25 C 70.25,164.5 76.75,148.5 89,144.5 C 101.25,140.5 110.25,156.25 113.25,163 C 116.25,169.75 115,175.75 117,180 C 119,184.25 128,191.75 128.5,193.5 C 129,195.25 123.5,200 122.25,202 C 121,204 111.75,209 110.5,210.75 C 109.53432,212.10195 108.57684,217.52314 108.1875,219.96875 C 108.60053,219.79955 108.94168,219.65822 109.3125,219.5 C 109.7965,216.97067 110.82799,212.42201 112.25,211 C 114.25,209 123.5,206.5 124.75,202.5 C 126,198.5 131.75,196 131.75,196 C 131.75,196 134.5,200 147.75,210 C 156.58333,216.66667 160.5081,225.53356 162.15625,230.71875 C 162.82985,230.8894 163.6892,231.12815 164.1875,231.25 C 162.96635,226.93129 159.35104,215.01115 155.25,210.5 C 150.25,205 136.75,199.75 132.5,188.5 C 128.25,177.25 108,154.25 115,148.25 C 122,142.25 131.5,144.25 143.5,155.75 C 155.5,167.25 189.75,161.5 201.25,159.5 C 211.20453,157.76878 222.08445,174.38321 225.15625,185.53125 C 225.74525,183.43558 226.28288,181.52906 226.8125,179.78125 C 225.07444,177.85545 223.11528,175.16129 221.5,171.5 C 217.75,163 209.5,158.25 209.5,158.25 C 209.5,158.25 218.25,153.25 224.25,150.5 C 225.86703,149.75886 227.25627,148.82287 228.4375,147.84375 C 228.27516,147.06972 228.17857,146.5879 228,145.75 C 227.9689,145.60389 227.938,145.45846 227.9063,145.3125 C 223.14065,150.8749 208.67404,154.92782 206.25005,156.25 C 203.50005,157.75 188.00005,159.25 170.50005,160.75 C 153.00005,162.25 143.75005,153.25 136.25005,146 C 128.75005,138.75 123.25005,110 133.25005,108 C 143.25005,106 153.25005,121.75 163.25005,125 C 173.25005,128.25 184.75005,109.25 183.00005,98 C 181.79693,90.265625 169.00292,85.375305 158.5313,85.34375 L 158.53125,85.34375 z M 105.1875,98.625 C 106.46283,98.6265 111.04688,100.21875 111.75,101 C 114,103.5 113.75,108.25 111.75,109 C 109.75,109.75 99,117 101.25,123.25 C 103.5,129.5 103,141.25 97.75,141.25 C 92.5,141.25 89.75,141.25 87.75,138.75 C 85.75,136.25 85.75,126.75 87.75,119 C 89.75,111.25 91.25,104 95.75,100.75 C 98.84375,98.51562 102.38177,98.621643 105.1875,98.625 L 105.1875,98.625 z M 118.78125,171.71875 C 118.9845,171.73245 120.6875,175.23438 123.5,178.75 C 126.5,182.5 126.75,187 126.75,187 C 126.75,187 122.5,182.25 120.75,179 C 119,175.75 118.75,171.75 118.75,171.75 C 118.75,171.7188 118.7678,171.7177 118.7812,171.7188 L 118.78125,171.71875 z" style="fill:#aac3e7;fill-opacity:1;stroke:none"/>
<path id="path5319-8" d="M 122.75,72.25 C 129,72.75 135,70 133.5,65.75 C 132,61.5 121,58.5 120.25,62.75 C 119.5,67 122.25,73.25 122.75,72.25 z" style="opacity:0.38695655;fill:none;stroke:#6d7f42;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
<path id="path5321-0" d="M 108.75,56.75 C 100.25,51.25 100.25,49.5 101.75,48.75 C 103.25,48 112,53.75 114.5,56.75 C 117,59.75 112.25,58.75 108.75,56.75 z" style="opacity:0.38695655;fill:none;stroke:#6d7f42;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
<g clip-path="url(#clipPath5383-0-0)" id="g5373-1">
<path style="opacity:0.38695655;fill:none;stroke:#6d7f42;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 15.75,151.25 C 48.75,148.75 54,147.75 52,141 C 50,134.25 43.25,117.5 29,118.5 C 14.75,119.5 6.25,111.75 6.25,111.75" id="path5323-8"/>
<path style="opacity:0.38695655;fill:none;stroke:#6d7f42;stroke-opacity:1" d="M 17.5,177.25 C 35.75,167.25 46.25,168.75 52.5,165.75 C 58.75,162.75 65.75,160 68.25,156.25 C 70.75,152.5 74,144.75 74,138.25 C 74,131.75 70.5,102.25 77.25,94.75 C 84,87.25 94.5,68.75 103.25,71.5 C 112,74.25 115.5,81.25 125.25,81 C 135,80.75 147,77 149.5,68.75 C 152,60.5 133.75,52.75 133.5,45.75 C 133.25,38.75 139,31.5 153.75,28.75 C 168.5,26 177.25,17.25 177.25,17.25" id="path5311-7"/>
<path style="opacity:0.38695655;fill:none;stroke:#6d7f42;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 14.5,161 C 29.75,159.5 36.75,164.5 46,162.75 C 55.25,161 59.25,159.75 63.75,157 C 68.25,154.25 69.75,153.25 70,150.5 C 70.25,147.75 71,138 67,128.5 C 63,119 54.5,97 58.75,89.75 C 63,82.5 64,68.25 74.5,65.25 C 85,62.25 95.5,59 102.25,64 C 109,69 115,78.25 122.25,78.5 C 129.5,78.75 134,77 136.75,74 C 139.5,71 141.25,63.75 138.5,60.25 C 135.75,56.75 123,54.75 121.25,50.75 C 119.5,46.75 110.5,33.75 121,24 C 131.5,14.25 157.25,15.75 157.25,15.75" id="path5313-3"/>
<path style="opacity:0.38695655;fill:none;stroke:#6d7f42;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 21.25,159 C 35,160 42.75,163.25 54.75,158.5 C 66.75,153.75 68.25,153.25 68.5,149.75 C 68.75,146.25 68.25,134 65.5,129.75 C 62.75,125.5 52.5,116 49.75,105.5 C 47,95 50,64.5 58.25,57.25 C 66.5,50 90.25,50 95.75,46.75 C 101.25,43.5 101,30 108.75,22.25 C 116.5,14.5 135.75,9.9999997 135.75,9.9999997" id="path5315-4"/>
<path style="opacity:0.38695655;fill:none;stroke:#6d7f42;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 190,18.5 C 201.75,23.5 229,28.25 237.25,58.75" id="path5317-7"/>
<path style="opacity:0.38695655;fill:none;stroke:#6d7f42;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 9.75,214 C 28.75,201.5 45.75,212.75 58.75,210 C 71.75,207.25 97,172.75 104.75,173 C 112.5,173.25 110.25,161.25 113.25,159.75 C 116.25,158.25 118.75,165.75 125,167.75 C 131.25,169.75 149.5,165 148.5,162 C 147.5,159 141.5,154.25 143,153.5 C 144.5,152.75 151.5,158.5 155.75,157 C 160,155.5 199.5,156 204.25,143.5 C 209,131 225.75,130 225.75,130" id="path5325-1"/>
<path style="opacity:0.38695655;fill:none;stroke:#6d7f42;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 77.5,233.5 C 91,222 100.75,208.5 106,206.5 C 111.25,204.5 118.75,202.75 121.75,198.5 C 124.75,194.25 124.25,187.75 127,186.5 C 129.75,185.25 130.75,192.25 135.75,192.5 C 140.75,192.75 172.5,187.5 178.5,180.75 C 184.5,174 210.75,168.25 211,166.25 C 211.25,164.25 210,161.5 211.25,160.75 C 212.5,160 236,154.75 236,154.75" id="path5327-3" sodipodi:nodetypes="csssssssc"/>
<path style="opacity:0.38695655;fill:none;stroke:#6d7f42;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 168.75,236 C 177.75,222.25 189.25,195 198.25,194 C 207.25,193 208.5,191.5 210.75,189.75 C 213,188 227.75,192 227.75,192" id="path5329-4"/>
</g>
<g clip-path="url(#clipPath5426-1-6)" id="g5400-4">
<path style="fill:none;stroke:#d38484;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 57.75,20 L 49.25,48.25 L 67.25,54.5 L 75,90.75 L 54,113 L 63,123.5 L 51,135 L 51.5,139.5 L 71.75,164 L 85.75,157.25 L 106.25,175.75 L 95.75,204 L 106,212.5 L 103.25,225.5" id="path5387-2"/>
<path style="fill:none;stroke:#d38484;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 105.75,212.25 L 118.25,184.5 L 129.25,177.5 L 156.75,193.25 L 177.25,189.5 L 177,173.75 L 166.75,167.75 L 179.5,141.5 L 185.25,137.75 L 224,127.75" id="path5389-4"/>
</g>
<path id="path3834-49-6" d="M 9,12.25 C 9,12.25 16.5,25.25 20.75,40 C 25,54.75 27,65.5 27,65.5 C 27,65.5 21.5,78.25 18.75,90.25 C 16,102.25 13,113.25 13,113.25 C 13,113.25 18.75,129.25 22.25,143.25 C 25.75,157.25 26,167.5 26,167.5 C 26,167.5 22,177.75 18.5,191.75 C 15,205.75 13.5,222.5 13.5,222.5 C 13.5,222.5 22.75,220.5 42,223.75 C 61.25,227 74.25,229.75 74.25,229.75 C 74.25,229.75 87,227 98.25,223.5 C 109.5,220 114.5,217 114.5,217 C 114.5,217 120,217.5 137,223.25 C 154,229 166.25,231.75 166.25,231.75 C 166.25,231.75 179.25,229 192.25,226 C 205.25,223 218.75,218 218.75,218 C 218.75,218 218,213 223,193.5 C 228,174 231.75,165.5 231.75,165.5 C 231.75,165.5 231.25,161 228,145.75 C 224.75,130.5 218,116 218,116 C 218,116 219.75,105.5 224.75,92.25 C 229.75,79 235,65.5 235,65.5 C 235,65.5 230.25,50.25 227.5,35.75 C 224.75,21.25 219.25,10 219.25,10 C 219.25,10 195,19 187.5,20.5 C 180,22 166.5,25.75 166.5,25.75 C 166.5,25.75 156.75,21.5 144.5,17.25 C 132.25,13 114.75,11.75 114.75,11.75 C 114.75,11.75 111.5,15.25 92.75,19.75 C 74,24.25 65.25,25.5 65.25,25.5 C 65.25,25.5 46.75,16.5 33.75,14 C 20.75,11.5 9.75,12 9,12.25 z" style="opacity:0.03913042;fill:url(#linearGradient5168-2-9);fill-opacity:1;stroke:none"/>
<g style="opacity:0.2695656;display:inline" id="g4808-4" transform="translate(0,192)">
<path style="fill:url(#linearGradient4806-9-8-4);fill-opacity:1;stroke:none" d="M 219.25,-182 C 219.25,-182 195,-173 187.5,-171.5 C 180,-170 166.5,-166.25 166.5,-166.25 C 171.42395,-167.60833 177.93679,-120.85753 180.75,-114 L 180.6875,-113.71875 C 192.49544,-117.79254 231.89797,-118.48643 235,-126.5 C 235,-126.5 230.25,-141.75 227.5,-156.25 C 224.75,-170.75 219.25,-182 219.25,-182 z" id="path3834-4-9-9"/>
<path style="fill:url(#linearGradient4790-3-9-7);fill-opacity:1;stroke:none" d="M 27,-126.5 C 27,-126.5 21.5,-113.75 18.75,-101.75 C 16,-89.75 13,-78.75 13,-78.75 L 63.625,-62.46875 L 79.40625,-121.375 L 27,-126.5 z" id="path3834-7-2-4-9-8"/>
<path style="fill:url(#linearGradient4758-2-6-2);fill-opacity:1;stroke:none" d="M 26,-24.5 C 26,-24.5 22,-14.25 18.5,-0.25 C 15,13.75 13.5,30.5 13.5,30.5 C 13.5,30.5 13.646973,30.4546 13.9375,30.4063 C 15.971191,30.06792 25.15625,28.9063 42,31.75005 C 61.25,35.00005 74.25,37.75005 74.25,37.75005 L 75.71875,-14.74995 L 74.96875,-14.62495 L 26,-24.5 z" id="path3834-7-26-9-7-4"/>
<path style="fill:url(#linearGradient4750-9-9-4);fill-opacity:1;stroke:none" d="M 114.75,-180.25 C 114.75,-180.25 111.5,-176.75 92.75,-172.25 C 74.000003,-167.75 65.25,-166.5 65.25,-166.5 C 70.432295,-151.79646 77.279793,-137.22997 79.5,-121.75 L 79.40625,-121.4375 L 127.4375,-125.375 L 128.5625,-125.125 C 125.20002,-138.4478 120.76647,-179.71689 114.75,-180.25 z" id="path3834-4-9-6-2"/>
<path style="fill:url(#linearGradient4782-5-5-9);fill-opacity:1;stroke:none" d="M 117.59375,-78.09375 L 63.96875,-62.375 L 63.625,-62.46875 L 63.5,-62 L 75.75,-15.5 L 75.71875,-14.75 L 125.1875,-23.625 L 125.71875,-23.4375 L 125.74995,-23.5 L 117.49995,-77.75 L 117.59365,-78.09375 L 117.59375,-78.09375 z" id="path3834-7-26-0-0-9-5"/>
<path style="fill:url(#linearGradient4798-4-1-9);fill-opacity:1;stroke:none" d="M 128.5625,-125.125 C 128.7967,-124.19705 129.02602,-123.38337 129.25,-122.75 L 117.59375,-78.09375 L 117.68745,-78.12495 L 169.49995,-60.74995 L 180.68745,-113.7187 C 180.33054,-113.59556 179.99216,-113.47332 179.68745,-113.3437 L 128.56245,-125.12495 L 128.5625,-125.125 z" id="path3834-7-2-4-3-7"/>
<path style="fill:url(#linearGradient4766-3-6-2);fill-opacity:1;stroke:none" d="M 125.53125,-23.5 L 114.5,25 C 114.5,25 120,25.5 137,31.25 C 139.125,31.96875 141.16309,32.65576 143.125,33.28125 C 145.08691,33.90674 146.98047,34.4668 148.75,35 C 159.36719,38.19922 166.25,39.75 166.25,39.75 L 178.96875,-5.65625 C 178.45649,-5.47361 177.95026,-5.27525 177.4375,-5.09375 L 125.53125,-23.5 z" id="path3834-7-26-9-85-2"/>
<path style="fill:url(#linearGradient4965-0-3);fill-opacity:1;stroke:none" d="M 218,-76 C 202.33444,-69.71197 186.30214,-64.85036 169.9375,-60.59375 L 169.5,-60.75 L 179,-5.75 L 178.9688,-5.6563 C 196.80782,-12.01643 214.35028,-19.043 231.75005,-26.50005 C 231.75005,-26.50005 231.25005,-31.00005 228.00005,-46.25005 C 224.75,-61.5 218,-76 218,-76 z" id="path3834-7-26-0-0-3-7"/>
</g>
<g style="opacity:0.04347827;display:inline" id="g4818-4" transform="translate(0,192)">
<path style="fill:url(#linearGradient4686-3-4-6);fill-opacity:1;stroke:none" d="M 13.71875,-179.96875 C 12.61251,-179.97175 11.746535,-179.93665 11,-179.90625 C 10.55476,-179.88815 10.144586,-179.86725 9.84375,-179.84375 C 9.81446,-179.84175 9.7778,-179.84575 9.75,-179.84375 C 9.352051,-179.81105 9.09375,-179.78125 9,-179.75005 C 9,-179.75005 16.5,-166.75005 20.75,-152.00005 C 25,-137.25 27,-126.5 27,-126.5 L 78.46875,-121.375 L 79.40625,-121.4375 L 79.5,-121.75 C 77.279793,-137.22997 70.432295,-151.79646 65.25,-166.5 C 65.25,-166.5 46.75,-175.5 33.75,-178 C 32.731734,-178.19582 31.73976,-178.37068 30.75,-178.53125 C 30.154387,-178.62795 29.583119,-178.72763 29,-178.8125 C 28.763416,-178.8469 28.546809,-178.8737 28.3125,-178.9062 C 27.006022,-179.08805 25.724495,-179.24659 24.5,-179.37495 C 23.765447,-179.45195 23.105404,-179.50254 22.40625,-179.56245 C 21.721361,-179.62155 21.053311,-179.67434 20.40625,-179.7187 C 19.414378,-179.7865 18.515844,-179.83704 17.625,-179.87495 C 16.168632,-179.93805 14.855835,-179.96565 13.71875,-179.96865 L 13.71875,-179.96875 z" id="path3834-4-9-1-4"/>
<path style="fill:url(#linearGradient4742-3-4-4);fill-opacity:1;stroke:none" d="M 13,-78.75 C 13,-78.75 18.75,-62.75 22.25,-48.75 C 25.75,-34.75 26,-24.5 26,-24.5 L 74.96875,-14.625 L 75.71875,-14.75 L 75.75,-15.5 L 63.5,-62 L 63.625,-62.46875 L 13,-78.75 z" id="path3834-7-26-0-0-7-0"/>
<path style="fill:url(#linearGradient4734-3-7-6);fill-opacity:1;stroke:none" d="M 127.4375,-125.375 L 79.46875,-121.375 L 79.40625,-121.375 L 63.625,-62.46875 L 63.96875,-62.375 L 117.59375,-78.09375 L 129.25,-122.75 C 129.02602,-123.38337 128.7967,-124.19705 128.5625,-125.125 L 127.4375,-125.375 L 127.4375,-125.375 z" id="path3834-7-2-4-6-5"/>
<path style="fill:url(#linearGradient4726-9-4-9);fill-opacity:1;stroke:none" d="M 125.1875,-23.625 L 75.71875,-14.75 L 74.25,37.75 C 74.25,37.75 87.000003,35 98.25,31.5 C 109.5,28 114.5,25 114.5,25 L 125.71875,-23.4375 L 125.1875,-23.625 z" id="path3834-7-26-9-8-6"/>
<path style="fill:url(#linearGradient4710-2-1-6);fill-opacity:1;stroke:none" d="M 114.75,-180.25 C 120.76647,-179.71689 125.20002,-138.4478 128.5625,-125.125 L 179.6875,-113.34375 C 179.99221,-113.47337 180.33059,-113.59561 180.6875,-113.71875 L 180.75,-114 C 177.93679,-120.85753 171.42395,-167.60833 166.5,-166.25 C 166.5,-166.25 165.88672,-166.50391 164.78125,-166.96875 C 161.46484,-168.36328 153.6875,-171.5625 144.5,-174.75 C 132.25,-179 114.75,-180.25 114.75,-180.25 z" id="path3834-4-9-2-0"/>
<path style="fill:url(#linearGradient4718-4-6-0);fill-opacity:1;stroke:none" d="M 117.6875,-78.125 L 117.5938,-78.0938 L 117.5001,-77.75005 L 125.7501,-24.50005 L 125.53135,-23.50005 L 177.4376,-5.0938 C 177.95036,-5.2753 178.45659,-5.47366 178.96885,-5.6563 L 179,-5.75 L 169.5,-60.75 L 117.6875,-78.125 L 117.6875,-78.125 z" id="path3834-7-26-0-0-0-0"/>
<path style="fill:url(#linearGradient4694-4-1-9);fill-opacity:1;stroke:none" d="M 231.75,-26.5 C 214.35023,-19.04295 196.80777,-12.01638 178.96875,-5.65625 L 166.25,39.75 C 166.25,39.75 179.25,37 192.25,34 C 205.25,31 218.75,26 218.75,26 C 218.75,26 218,21 223,1.5 C 228,-18 231.75,-26.5 231.75,-26.5 z" id="path3834-7-26-9-9-4"/>
<path style="fill:url(#linearGradient4702-4-6-9);fill-opacity:1;stroke:none" d="M 235,-126.5 C 231.89797,-118.48643 192.49544,-117.79254 180.6875,-113.71875 L 169.5,-60.75 L 169.9375,-60.59375 C 186.30214,-64.85036 202.33444,-69.71197 218,-76 C 218,-76 219.75,-86.5 224.75,-99.75 C 229.75,-113 235,-126.5 235,-126.5 z" id="path3834-7-2-4-5-0"/>
</g>
</g>
</g>
<g inkscape:groupmode="layer" id="layer6" inkscape:label="Mag Shadow" style="display:inline" sodipodi:insensitive="true">
<path style="fill:#2d3335;fill-opacity:1;stroke:none;filter:url(#filter7286)" d="M 174.28125,35.875 C 156.6825,35.875 139.08909,42.514475 125.5625,55.78125 C 125.39528,55.944528 125.22813,56.084367 125.0625,56.25 C 103.00655,78.305948 98.853795,111.50122 112.59375,137.75 L 110.3125,139.375 C 112.56129,143.61488 115.25415,147.6818 118.40625,151.5 L 105.09375,164.84375 C 103.75238,164.258 102.30517,163.81044 100.53125,163.46875 L 97.6875,166.3125 C 96.578031,165.82863 95.549481,165.49662 94.625,165.4375 L 30.5,229.5625 C 30.46313,230.66337 30.72615,231.74988 31.15625,232.84375 L 30.625,233.375 L 29.53125,234.46875 C 30.246688,238.20655 31.541682,241.29169 35,244.75 C 38.458318,248.20832 41.420414,249.38027 45.28125,250.21875 L 46.375,249.125 L 47.09375,248.40625 C 48.181953,248.8685 49.223649,249.19242 50.1875,249.25 L 114.3125,185.125 C 114.06964,184.15025 113.69207,183.18954 113.28125,182.21875 L 116.28125,179.21875 C 116.03142,177.48677 115.60454,176.02072 114.96875,174.625 L 128.25,161.34375 C 132.0682,164.49585 136.13512,167.18872 140.375,169.4375 L 142,167.15625 C 168.24878,180.8962 201.44405,176.74344 223.5,154.6875 C 223.66563,154.52186 223.80547,154.35472 223.96875,154.1875 C 250.66292,126.97054 250.51736,83.267352 223.5,56.25 C 209.91004,42.660041 192.09307,35.875 174.28125,35.875 z M 173.78125,39.15625 C 173.88592,39.15775 173.98908,39.15425 174.09375,39.15625 C 175.04294,39.17465 175.98913,39.22152 176.9375,39.28125 C 177.89594,39.34161 178.8563,39.428763 179.8125,39.53125 C 179.9062,39.5413 180.00004,39.55205 180.09375,39.5625 C 180.18775,39.57298 180.28105,39.58287 180.375,39.59375 C 180.5207,39.61063 180.66687,39.63839 180.8125,39.65625 C 181.7087,39.766152 182.60741,39.884369 183.5,40.03125 C 184.11909,40.133124 184.72687,40.255367 185.34375,40.375 C 185.6867,40.44144 186.03282,40.49058 186.375,40.5625 C 187.0987,40.714611 187.81147,40.885892 188.53125,41.0625 C 188.8443,41.13931 189.15653,41.199811 189.46875,41.28125 C 189.54185,41.30031 189.61445,41.32444 189.6875,41.34375 C 190.6434,41.596587 191.58423,41.860044 192.53125,42.15625 C 192.60365,42.17886 192.67766,42.19588 192.75,42.21875 C 193.69741,42.518592 194.65684,42.844291 195.59375,43.1875 C 195.64685,43.20695 195.69698,43.23041 195.75,43.25 C 196.70458,43.602395 197.65174,43.977633 198.59375,44.375 C 198.64525,44.39672 198.69853,44.41564 198.75,44.4375 C 199.69184,44.837551 200.63491,45.273781 201.5625,45.71875 C 201.6045,45.73891 201.6455,45.761 201.6875,45.78125 C 202.62288,46.232337 203.54958,46.690779 204.46875,47.1875 C 204.50185,47.20538 204.52945,47.23206 204.56245,47.25 C 205.48926,47.752833 206.40387,48.263321 207.31245,48.8125 C 207.34455,48.83189 207.37415,48.85555 207.40615,48.875 C 208.31425,49.425934 209.20552,49.996562 210.09365,50.59375 C 210.6426,50.962824 211.17785,51.36329 211.71865,51.75 C 212.08335,52.010827 212.45156,52.262412 212.8124,52.53125 C 212.8309,52.54506 212.8564,52.54867 212.8749,52.5625 C 213.75254,53.217706 214.61511,53.922431 215.46865,54.625 C 217.21133,56.059371 218.90007,57.587673 220.53115,59.21875 C 222.15163,60.83923 223.66733,62.519314 225.09365,64.25 C 225.10265,64.26124 225.11565,64.27 225.12485,64.28125 C 225.82806,65.135607 226.53159,65.996485 227.18735,66.875 C 227.47012,67.253769 227.72592,67.648223 227.99985,68.03125 C 228.36958,68.548307 228.73999,69.069236 229.0936,69.59375 C 229.1098,69.61774 229.14,69.63224 229.1561,69.65625 C 229.75422,70.545876 230.32314,71.434083 230.87485,72.34375 C 230.89435,72.37582 230.91795,72.40541 230.93735,72.4375 C 231.48294,73.340419 232.00002,74.266573 232.49985,75.1875 C 232.51775,75.22044 232.54455,75.24829 232.56235,75.28125 C 233.06035,76.202462 233.51643,77.124994 233.9686,78.0625 C 233.9888,78.10444 234.011,78.14552 234.0311,78.1875 C 234.47721,79.117367 234.91137,80.055804 235.31235,81 C 235.33415,81.05123 235.35325,81.104977 235.37485,81.15625 C 235.76965,82.092372 236.14946,83.051461 236.49985,84 C 236.51925,84.05253 236.54305,84.103686 236.56235,84.15625 C 236.90996,85.10461 237.22793,86.040882 237.5311,87 C 237.5538,87.07167 237.5712,87.147026 237.5936,87.21875 C 237.88758,88.159922 238.15494,89.112572 238.4061,90.0625 C 238.4256,90.13603 238.4494,90.207672 238.4686,90.28125 C 238.5493,90.590804 238.61118,90.908382 238.68735,91.21875 C 238.86396,91.938529 239.03524,92.651296 239.18735,93.375 C 239.25925,93.717177 239.30841,94.063299 239.37485,94.40625 C 239.49448,95.023132 239.61673,95.630911 239.7186,96.25 C 239.86548,97.142594 239.9837,98.041302 240.0936,98.9375 C 240.1115,99.083459 240.1392,99.228963 240.1561,99.375 C 240.1669,99.46829 240.1769,99.562929 240.1873,99.65625 C 240.1978,99.75023 240.2085,99.843493 240.2185,99.9375 C 240.32099,100.8937 240.40814,101.85406 240.4685,102.8125 C 240.5277,103.75494 240.57511,104.71299 240.5935,105.65625 C 240.5955,105.76038 240.5915,105.86462 240.5935,105.96875 C 240.6089,107.02208 240.5975,108.0726 240.5623,109.125 C 240.5307,110.05556 240.4776,110.97779 240.40605,111.90625 C 240.39605,112.03118 240.38515,112.15637 240.37485,112.28125 C 240.29875,113.19932 240.20894,114.11665 240.0936,115.03125 C 239.973,115.98751 239.81965,116.95518 239.6561,117.90625 C 239.6419,117.98865 239.6393,118.07392 239.6249,118.15625 C 239.6029,118.2811 239.5852,118.40651 239.5624,118.53125 C 239.39714,119.43903 239.2045,120.34852 238.9999,121.25 C 238.9693,121.38463 238.9376,121.52178 238.9062,121.65625 C 238.69845,122.54491 238.46486,123.43135 238.2187,124.3125 C 238.05479,124.89922 237.86842,125.47955 237.68745,126.0625 C 237.51204,126.62662 237.34761,127.18974 237.1562,127.75 C 236.86153,128.61381 236.55145,129.45882 236.2187,130.3125 C 236.1581,130.46799 236.09304,130.62612 236.0312,130.78125 C 235.9863,130.89371 235.9517,131.01273 235.9062,131.125 C 235.5501,132.00362 235.17807,132.8526 234.7812,133.71875 C 234.40422,134.54222 234.0076,135.34519 233.5937,136.15625 C 233.5132,136.31403 233.42563,136.46772 233.3437,136.625 C 232.92842,137.4224 232.51372,138.21595 232.06245,139 C 231.96725,139.16556 231.87805,139.33506 231.7812,139.5 C 231.58213,139.83885 231.36205,140.16384 231.1562,140.5 C 230.79455,141.09093 230.41383,141.66777 230.0312,142.25 C 230.0262,142.257 230.0362,142.2738 230.0312,142.2812 C 229.54039,143.02694 229.02527,143.76939 228.49995,144.49995 C 228.04268,145.13587 227.54591,145.75123 227.06245,146.37495 C 226.86549,146.62904 226.70126,146.90421 226.49995,147.1562 C 226.36593,147.32399 226.22965,147.48935 226.0937,147.6562 C 225.93019,147.85684 225.76,148.05071 225.5937,148.24995 C 225.03708,148.917 224.46291,149.5678 223.87495,150.2187 C 223.26864,150.88974 222.63964,151.56575 221.99995,152.2187 C 221.83899,152.38296 221.69428,152.55562 221.5312,152.7187 C 200.40085,173.84905 169.27251,177.21358 144.3437,163.87495 L 144.4687,163.68745 C 140.76453,161.79084 137.20703,159.54699 133.8437,156.9062 C 133.30478,156.48305 132.77833,156.03638 132.24995,155.5937 C 131.73554,155.16273 131.22265,154.7308 130.7187,154.2812 C 130.6258,154.1976 130.52998,154.1154 130.43745,154.0312 C 129.61572,153.28344 128.82556,152.51306 128.0312,151.7187 C 127.23684,150.92434 126.46647,150.13418 125.7187,149.31245 C 125.6345,149.21995 125.55231,149.12407 125.4687,149.0312 C 125.0191,148.52725 124.58717,148.01436 124.1562,147.49995 C 123.71352,146.97157 123.26685,146.44512 122.8437,145.9062 C 120.20291,142.54287 117.95906,138.98536 116.06245,135.2812 L 115.87495,135.4062 C 102.53632,110.47739 105.90085,79.349046 127.0312,58.2187 C 127.19428,58.05562 127.36694,57.910915 127.5312,57.74995 C 128.18415,57.110265 128.86016,56.481261 129.5312,55.87495 C 130.1821,55.286994 130.8329,54.712816 131.49995,54.1562 C 131.77209,53.929114 132.03772,53.690576 132.31245,53.4687 C 132.65592,53.191271 133.02754,52.956742 133.37495,52.68745 C 133.99867,52.203987 134.61403,51.707219 135.24995,51.24995 C 135.98748,50.719619 136.74695,50.21386 137.49995,49.7187 C 138.08218,49.336066 138.65902,48.955346 139.24995,48.5937 C 139.69662,48.32034 140.1423,48.042584 140.5937,47.7812 C 141.27515,47.386414 141.96454,47.023727 142.6562,46.6562 C 142.83226,46.56265 143.01076,46.46674 143.18745,46.37495 C 144.1327,45.883975 145.06888,45.40925 146.0312,44.9687 C 146.89735,44.571825 147.74633,44.1998 148.62495,43.8437 C 148.77776,43.78177 148.94054,43.74815 149.0937,43.68745 C 150.06209,43.303428 151.01838,42.928541 151.99995,42.5937 C 152.56021,42.402293 153.12333,42.237857 153.68745,42.06245 C 154.2704,41.881482 154.85073,41.695111 155.43745,41.5312 C 156.3186,41.285037 157.20504,41.051454 158.0937,40.8437 C 158.1648,40.82706 158.24127,40.82884 158.31245,40.81245 C 158.72838,40.71671 159.14509,40.618551 159.56245,40.5312 C 160.23458,40.390375 160.91827,40.244039 161.5937,40.12495 C 161.676,40.11046 161.76133,40.10786 161.8437,40.0937 C 162.79477,39.930149 163.76244,39.776798 164.7187,39.6562 C 166.68235,39.408555 168.64857,39.254564 170.62495,39.18745 C 171.67735,39.15181 172.72787,39.14082 173.7812,39.1562 L 173.78125,39.15625 z" id="path5604-26-0" transform="matrix(1,8.087767e-2,0,1,0,-21.056305)" clip-path="url(#clipPath8750)"/>
</g>
<g inkscape:groupmode="layer" id="layer5" inkscape:label="Magnifying Galss" style="display:inline">
<path style="fill:url(#linearGradient6241);fill-opacity:1;stroke:none" d="M 48.010249,227.45683 L 43.202749,232.01466 C 38.19646,226.69951 32.962779,221.30836 28.123445,215.88155 L 32.613667,211.80898 C 39.442824,218.34324 41.486314,220.33887 48.010249,227.45683 z" id="rect5757-8-7-7-9" sodipodi:nodetypes="ccccc"/>
<path style="fill:#d0e9f2;fill-opacity:0.47593581;stroke:none" d="M -95.5,225 C -66.78119,225 -43.5,248.28119 -43.5,277 C -43.5,305.71881 -66.78119,329 -95.5,329 C -124.21881,329 -147.5,305.71881 -147.5,277 C -147.5,248.28119 -124.21881,225 -95.5,225 z" id="path5604-9-1-8" sodipodi:nodetypes="csssc"/>
<g id="g6060">
<path sodipodi:nodetypes="csssccsssc" id="path5604" d="M -82,136 C -109.61424,136 -132,113.61424 -132,86 C -132,58.38576 -109.61424,36 -82,36 C -54.38576,36 -32,58.38576 -32,86 C -32,113.61424 -54.38576,136 -82,136 z M -82,133 C -55.49033,133 -34,112.50967 -34,86 C -34,59.49033 -55.49033,39 -82,39 C -108.50967,39 -130,59.49033 -130,86 C -130,112.50967 -108.50967,133 -82,133 z" style="fill:#2d3335;fill-opacity:1;stroke:none"/>
<path id="path5604-2" d="M -82.00007,136 C -109.61431,136 -132.00007,113.61424 -132.00007,86 C -132.00007,85.831721 -132.00207,85.667887 -132.00007,85.5 C -131.72953,112.88199 -109.44603,135 -82.00007,135 C -54.55411,135 -32.27061,112.88199 -32.00007,85.5 C -31.99807,85.667887 -32.00007,85.831721 -32.00007,86 C -32.00007,113.61424 -54.38583,136 -82.00007,136 z M -130.00007,85.5 C -130.00207,85.33281 -130.00007,85.167675 -130.00007,85 C -130.00007,58.49033 -108.50974,38 -82.00007,38 C -55.4904,38 -34.00007,58.49033 -34.00007,85 C -34.00007,85.167675 -33.99807,85.33281 -34.00007,85.5 C -34.26955,59.23424 -55.65808,39 -82.00007,39 C -108.34206,39 -129.73058,59.23424 -130.00007,85.5 z" style="fill:#9eaaac;fill-opacity:1;stroke:none"/>
<path sodipodi:nodetypes="csssc" id="path5604-9" d="M -82,134 C -55.49033,134 -34,112.50967 -34,86 C -34,59.49033 -55.49033,38 -82,38 C -108.50967,38 -130,59.49033 -130,86 C -130,112.50967 -108.50967,134 -82,134 z" style="fill:#d0e9f2;fill-opacity:0.47593581;stroke:none"/>
<path sodipodi:nodetypes="csssc" id="path5604-9-1" d="M -82,134 C -55.49033,134 -34,112.50966 -34,86 C -34,59.490325 -55.49033,38 -82,38 C -108.50967,38 -130,59.490325 -130,86 C -130,112.50966 -108.50967,134 -82,134 z" style="fill:url(#radialGradient5751);fill-opacity:1;stroke:none"/>
<path id="path5604-9-1-8-8" d="M -96.4375,130.71875 L -97.28125,135.71875 C -92.45117,137.2009 -87.31584,138 -82,138 C -76.68416,138 -71.54883,137.2009 -66.71875,135.71875 L -67.5625,130.71875 C -72.11472,132.1879 -76.95892,133 -82,133 C -87.04108,133 -91.88528,132.1879 -96.4375,130.71875 L -96.4375,130.71875 z" style="fill:url(#linearGradient5778);fill-opacity:1;stroke:none"/>
<path id="rect5757" d="M -82,136.25 C -80.24321,136.25 -78.5686,136.54816 -77,137.0625 L -77,163.6875 C -78.5686,164.20184 -80.24321,164.5 -82,164.5 C -83.75679,164.5 -85.4314,164.20184 -87,163.6875 L -87,137.0625 C -85.4314,136.54816 -83.75679,136.25 -82,136.25 z" style="fill:url(#linearGradient5768);fill-opacity:1;stroke:none"/>
<path sodipodi:nodetypes="cccsccc" id="rect5757-8-7" d="M -82,150.5 C -78.48642,150.5 -76.3872,151.15272 -74,152.93805 L -74,220.06195 C -77.1372,220.97228 -78.48642,221.5 -82,221.5 C -85.51358,221.5 -86.8628,220.97228 -90,220.06195 L -90,152.93805 C -87.3628,151.15272 -85.51358,150.5 -82,150.5 z" style="fill:url(#linearGradient5868);fill-opacity:1;stroke:none"/>
<path sodipodi:nodetypes="cccsccc" id="rect5757-8" d="M -82,154.5 C -78.48642,154.5 -74.7622,155.27772 -72,156.93805 L -72,222.06195 C -74.0122,223.84728 -78.48642,224.5 -82,224.5 C -85.51358,224.5 -89.8628,224.34728 -92,222.06195 L -92,156.93805 C -90.1128,155.27772 -85.51358,154.5 -82,154.5 z" style="fill:url(#linearGradient5798);fill-opacity:1;stroke:none"/>
<path sodipodi:nodetypes="cccsccc" id="rect5757-8-7-7" d="M -82,217.5 C -78.48642,217.5 -76.1372,218.27772 -74,219.93805 L -74,225.06195 C -76.3872,226.59728 -78.48642,227.5 -82,227.5 C -85.51358,227.5 -87.7378,226.59728 -90,225.06195 L -90,219.93805 C -87.6128,218.02772 -85.51358,217.5 -82,217.5 z" style="fill:url(#linearGradient5899);fill-opacity:1;stroke:none"/>
<path id="rect5757-8-7-7-0" d="M -82,221.5 C -85.51358,221.5 -87.6128,221.77717 -90,223.9375 L -90,225.0625 C -87.7378,226.59783 -85.51358,227.5 -82,227.5 C -78.48642,227.5 -76.3872,226.59783 -74,225.0625 L -74,223.9375 C -76.5122,221.90217 -78.48642,221.5 -82,221.5 z" style="fill:#e0bb41;fill-opacity:1;stroke:none"/>
</g>
<path style="fill:#2d3335;fill-opacity:1;stroke:none" d="M 125.06419,134.68586 C 97.884272,107.50594 97.884272,63.438594 125.06419,36.258677 C 152.24411,9.078759 196.31145,9.078759 223.49137,36.258677 C 250.67129,63.438594 250.67129,107.50594 223.49137,134.68586 C 196.31145,161.86577 152.24411,161.86577 125.06419,134.68586 z M 128.01701,131.73304 C 154.10973,157.82576 195.4301,158.81003 221.52283,132.71731 C 247.61555,106.62459 246.63127,65.304212 220.53855,39.211492 C 194.44583,13.118772 153.12545,12.1345 127.03273,38.22722 C 100.94001,64.319941 101.92428,105.64032 128.01701,131.73304 L 128.01701,131.73304 z" id="path5604-26" sodipodi:nodetypes="csssccsssc"/>
<path style="fill:#9eaaac;fill-opacity:1;stroke:none" d="M 125.06412,134.68579 C 97.884203,107.50587 97.884203,63.438525 125.06412,36.258608 C 125.22975,36.092975 125.38904,35.92975 125.55626,35.766472 C 98.871221,62.984077 99.034108,106.68723 126.04839,133.70151 C 153.06268,160.7158 196.76583,160.87869 223.98344,134.19365 C 223.82016,134.36087 223.65693,134.52015 223.4913,134.68579 C 196.31138,161.8657 152.24404,161.8657 125.06412,134.68579 z M 127.5248,37.735015 C 127.68739,37.568487 127.8519,37.407917 128.01694,37.24288 C 154.10966,11.150159 195.43004,12.134431 221.52276,38.227151 C 247.61548,64.319872 248.59975,105.64025 222.50703,131.73297 C 222.34199,131.89801 222.18142,132.06252 222.01489,132.22511 C 247.6023,106.10722 246.46616,65.139101 220.53848,39.211423 C 194.61081,13.283745 153.6427,12.14762 127.5248,37.735015 L 127.5248,37.735015 z" id="path5604-2-9"/>
<path style="fill:#d0e9f2;fill-opacity:0.47593581;stroke:none" d="M 127.03273,132.71731 C 153.12545,158.81003 195.4301,158.81003 221.52283,132.71731 C 247.61555,106.62459 247.61555,64.319941 221.52283,38.22722 C 195.4301,12.1345 153.12545,12.1345 127.03273,38.22722 C 100.94001,64.319941 100.94001,106.62459 127.03273,132.71731 z" id="path5604-9-13" sodipodi:nodetypes="csssc"/>
<path style="fill:url(#radialGradient6256);fill-opacity:1;stroke:none" d="M 127.03273,132.71731 C 153.12545,158.81003 195.43011,158.81002 221.52283,132.71731 C 247.61555,106.62459 247.61555,64.319941 221.52283,38.22722 C 195.4301,12.1345 153.12546,12.134495 127.03273,38.22722 C 100.94002,64.319931 100.94001,106.62459 127.03273,132.71731 z" id="path5604-9-1-3" sodipodi:nodetypes="csssc"/>
<path style="fill:url(#linearGradient6253);fill-opacity:1;stroke:none" d="M 116.05195,115.27725 L 110.30011,119.36813 C 113.59539,125.58108 117.86341,131.42217 123.09565,136.6544 C 128.32788,141.88663 134.16897,146.15466 140.38192,149.44993 L 144.4728,143.69809 C 138.54613,140.66352 132.9788,136.69483 128.01701,131.73304 C 123.05521,126.77125 119.08653,121.20391 116.05195,115.27725 L 116.05195,115.27725 z" id="path5604-9-1-8-8-1"/>
<path style="fill:url(#linearGradient6250);fill-opacity:1;stroke:none" d="M 124.81812,134.93192 C 126.54728,136.66108 127.90208,138.60282 128.93976,140.653 L 102.73352,166.85924 C 100.68334,165.82156 98.741603,164.46676 97.012444,162.7376 C 95.283285,161.00844 93.928484,159.0667 92.890806,157.01652 L 119.09704,130.81029 C 121.14722,131.84796 123.08896,133.20276 124.81812,134.93192 z" id="rect5757-5"/>
<path style="fill:url(#linearGradient6247);fill-opacity:1;stroke:none" d="M 116.26672,159.23167 L 50.198558,225.29984 C 46.214689,223.10799 44.367269,222.29941 40.908952,218.84109 C 37.450634,215.38278 36.642055,213.53536 34.450209,209.55149 L 100.51837,143.48333 C 105.58172,147.23135 112.63531,153.88125 116.26672,159.23167 z" id="rect5757-8-7-2" sodipodi:nodetypes="ccsccc"/>
<path style="fill:url(#linearGradient6244);fill-opacity:1;stroke:none" d="M 105.77884,154.11797 C 109.23716,157.57629 113.21364,160.78433 114.29818,165.13731 L 50.198558,229.23692 C 43.682447,224.0819 35.643787,216.44629 30.513122,209.55149 L 94.61274,145.45187 C 98.104474,145.67517 102.27159,150.61074 105.72991,154.06905 L 105.77884,154.11797 z" id="rect5757-8-6" sodipodi:nodetypes="ccccccc"/>
<path style="opacity:0.59565214;fill:url(#linearGradient6279);fill-opacity:1;stroke:none" d="M 105.53422,154.36259 C 108.99254,157.82091 113.21364,160.78433 114.29818,165.13731 L 50.198558,229.23692 C 42.321633,222.32946 38.401371,218.6125 30.513122,209.55149 L 94.61274,145.45187 C 98.104474,145.67517 102.02698,150.90428 105.4853,154.36259 L 105.53422,154.36259 z" id="rect5757-8-6-3" sodipodi:nodetypes="ccccccc"/>
<path style="opacity:0.6043478;fill:url(#linearGradient6595);fill-opacity:1;stroke:none" d="M 131.1683,37.049946 C 171.82694,4.876587 209.3036,24.322024 208.95005,42.353247 C 208.5965,60.38447 152.38151,112.71037 132.58252,108.46773 C 112.78353,104.22509 107.12667,55.081169 131.1683,37.049946 z" id="path6587"/>
<text xml:space="preserve" style="font-size:19.79973221px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;opacity:0.46086958;fill:url(#radialGradient6482);fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" x="99.83886" y="69.184349" id="text6302-7" transform="matrix(0.9879609,-0.1547039,0.1547039,0.9879609,0,0)"><tspan sodipodi:role="line" id="tspan6304-0" x="99.83886" y="69.184349" style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:url(#radialGradient6482);fill-opacity:1;font-family:Monospace;-inkscape-font-specification:Monospace Bold">01011001</tspan><tspan sodipodi:role="line" x="99.83886" y="93.934013" style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:url(#radialGradient6482);fill-opacity:1;font-family:Monospace;-inkscape-font-specification:Monospace Bold" id="tspan6415-7">00110101</tspan><tspan sodipodi:role="line" x="99.83886" y="118.68368" style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:url(#radialGradient6482);fill-opacity:1;font-family:Monospace;-inkscape-font-specification:Monospace Bold" id="tspan6417-1">10010011</tspan><tspan sodipodi:role="line" x="99.83886" y="143.43335" style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:url(#radialGradient6482);fill-opacity:1;font-family:Monospace;-inkscape-font-specification:Monospace Bold" id="tspan6419-9"/></text>
<text xml:space="preserve" style="font-size:19.79973221px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:url(#radialGradient6427);fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" x="99.410172" y="67.898323" id="text6302" transform="matrix(0.9879609,-0.1547039,0.1547039,0.9879609,0,0)"><tspan sodipodi:role="line" id="tspan6304" x="99.410172" y="67.898323" style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:url(#radialGradient6427);fill-opacity:1;font-family:Monospace;-inkscape-font-specification:Monospace Bold">01011001</tspan><tspan sodipodi:role="line" x="99.410172" y="92.647987" style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:url(#radialGradient6427);fill-opacity:1;font-family:Monospace;-inkscape-font-specification:Monospace Bold" id="tspan6415">00110101</tspan><tspan sodipodi:role="line" x="99.410172" y="117.39765" style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:url(#radialGradient6427);fill-opacity:1;font-family:Monospace;-inkscape-font-specification:Monospace Bold" id="tspan6417">10010011</tspan><tspan sodipodi:role="line" x="99.410172" y="142.14732" style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:url(#radialGradient6427);fill-opacity:1;font-family:Monospace;-inkscape-font-specification:Monospace Bold" id="tspan6419"/></text>
<path style="opacity:0.76521738;fill:url(#linearGradient6614);fill-opacity:1;stroke:none" d="M 219.46318,129.09019 C 192.66917,151.07299 177.65484,150.09749 181.38844,142.22816 C 185.12205,134.35887 223.71429,100.57298 232.83561,98.47996 C 241.95691,96.38695 235.11079,116.52117 219.46318,129.09019 z" id="path6587-7"/>
</g>
</svg>
/trunk/pages/presentation/img/code.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/pages/presentation/img/code.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/pages/presentation
New file
Property changes:
Added: svn:ignore
+config.js
/trunk/pages/miniregen/config.defaut.js
New file
0,0 → 1,0
var urlServiceSuppressionMiniatures = "http://localhost/service:cel:CelImage/regenerer-miniatures";
/trunk/pages/miniregen/style.css
New file
0,0 → 1,43
#corps {
padding: 20px;
}
 
#logo {
float: left;
}
 
#logo img {
height: 100px;
margin-top: 10px;
margin-right: 15px;
}
 
#zone-formulaire {
padding: 10px;
margin-top: 40px;
}
 
.boite-liste {
float: left;
margin-right: 40px;
}
 
#ids-img, #ids-obs {
width: 300px;
height: 150px;
margin-bottom: 20px;
margin-top: 10px;
}
 
#ok {
margin-right: 10px;
}
 
#succes {
color: green;
}
 
#erreur {
color: red;
}
/trunk/pages/miniregen/index.html
New file
0,0 → 1,43
<html>
<head>
<meta charset="UTF-8"/>
<title>MiniRegen - Régénérateur de miniatures Flora Data</title>
<link rel="stylesheet" media="screen" type="text/css" href="https://resources.tela-botanica.org/bootstrap/3.1.0/css/bootstrap.min.css"/>
<link rel="stylesheet" media="screen" type="text/css" href="style.css"/>
<script src="https://resources.tela-botanica.org/jquery/1.9.1/jquery.min.js"></script>
<script src="https://resources.tela-botanica.org/bootstrap/3.1.0/js/bootstrap.min.js"></script>
<script src="https://resources.tela-botanica.org/tb/reseau/navigation.js"></script>
<script src="config.js"></script>
<script src="script.js"></script>
</head>
<body>
<div id="tb-navigation" data-mode="prod" data-courant="outils-miniregen">
</div>
<div id="corps">
<div id="logo">
<img src="https://resources.tela-botanica.org/tb/img/256x256/logo_sans_mots.png" />
</div>
<h1>MiniRegen - Régénérateur de<br/>miniatures pour Flora Data</h1>
<div id="zone-formulaire">
<div class="boite-liste">
<label>Par numéro d'image (un numéro par ligne) : </label>
<br/>
<textarea id="ids-img"></textarea>
</div>
<div class="boite-liste">
<label>Par numéro d'observation (un numéro par ligne) : </label>
<br/>
<textarea id="ids-obs"></textarea>
</div>
<br style="clear:both"/>
<a id="ok" class="btn btn-success">Régénérer les miniatures</a>
<span id="succes">
Les miniatures ont été régénérées :)
</span>
<span id="erreur">
La régénération d'au moins une miniature a échoué :(
</span>
</div>
</div>
</body>
</html>
/trunk/pages/miniregen/README
New file
0,0 → 1,4
MiniRegen - Régénérateur de miniatures pour Flora Data
Mathias - 2015-12-01
 
Permet de régénérer des miniatures d'images Flora Data (images du Carnet en Ligne)
/trunk/pages/miniregen/script.js
New file
0,0 → 1,114
$(document).ready(function() {
$('#succes').hide();
$('#erreur').hide();
 
// écouteur de clic
$("#ok").click(function() {
$('#succes').hide();
$('#erreur').hide();
regenererMiniatures();
});
 
// pour faire se rejoindre les callback
cptRequetes = 0;
cptErreurs = 0;
 
function idValide(id) {
//console.log("idValide ? : " + id);
intId = parseInt(id);
return (! isNaN(intId) && intId > 0);
}
 
/**
* prend en entrée la valeur d'un textarea, qui peut etre vide; si elle est
* vide ("") ou si elle ne contient que des entiers valides (un par ligne),
* retourne un tableau contenant ces ids (ou aucun élément); sinon, retourne
* false
*/
function validerIds(ids) {
var valides = true;
if (ids != "") {
ids = ids.split("\n");
//console.log(ids);
for (var i=0; (i < ids.length) && valides; i++) {
//console.log('teste', ids[i]);
valides = (valides && idValide(ids[i]));
}
} else {
ids = []; // tableau vide
}
if (! valides) {
ids = false;
}
return ids;
}
 
// génération des URLs
function regenererMiniatures() {
cptRequetes = 0;
cptErreurs = 0;
// validation des ids
var idsImg = $("#ids-img").val();
var idsObs = $("#ids-obs").val();
if (idsObs == "" && idsImg == "") {
alert("Merci de saisir au moins 1 id image ou 1 id observation");
return false;
}
idsImg = validerIds(idsImg);
idsObs = validerIds(idsObs);
if (! (idsImg && idsObs)) {
alert("Merci de ne saisir que des nombres > 0 (un par ligne)");
return false;
}
//console.log('ok');
idsImg = $.unique(idsImg);
idsObs = $.unique(idsObs);
//console.log(idsImg);
//console.log(idsObs);
 
$("body").css("cursor", "progress");
// création des URLs à partir de la config
if (idsImg.length > 0) {
cptRequetes++;
var url = urlServiceSuppressionMiniatures + '?ids-img=' + idsImg.join(',');
//console.log(url);
envoyerRequete(url, suite);
}
if (idsObs.length > 0) {
cptRequetes++;
var url = urlServiceSuppressionMiniatures + '?ids-obs=' + idsObs.join(',');
//console.log(url);
envoyerRequete(url, suite);
}
}
 
function envoyerRequete(url, cb) {
$.get(url)
.fail(function() {
//console.log('a foiré :(');
cptErreurs++;
})
.always(function() {
cb();
});
}
 
function suite() {
cptRequetes--;
if (cptRequetes == 0) {
//console.log('a fini !');
$("body").css("cursor", "default");
// ok
if (cptErreurs == 0) {
//console.log('yatoukébon');
$('#succes').show();
$('#erreur').hide();
$('#ids-img').val('');
$('#ids-obs').val('');
} else {
$('#succes').hide();
$('#erreur').show();
}
}
}
});
/trunk/pages/miniregen
New file
Property changes:
Added: svn:ignore
+config.js
/trunk/widget/modules/navigation/Navigation.php
New file
0,0 → 1,49
<?php
/**
* Barre de navigation à ajotuer dans chaque application
*
* Utilisation: http://www.tela-botanica.org/widget:reseau:navigation
* Paramètres GET (optionnels):
* - squelette (string) : utiliser un squelette particulier, qui se prête à l'éventuel
* framework css utilisé par l'appli cliente (voir l'attribut $squelettes)
*
* @author Mathias Chouet <mathias@tela-botanica.org>
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
* @version 0.1
* @copyright 2014, Tela Botanica (accueil@tela-botanica.org)
*/
class Navigation extends WidgetCommun {
 
const DS = DIRECTORY_SEPARATOR;
 
private $squelettes = array('bootstrap3'/*, 'bootstrap2', 'html'*/); // ajouter un jour d'autres possibilités que bs3
private $squelette;
 
public function __construct($config, $parametres) {
parent::__construct($config, $parametres);
$this->squelette = 'bootstrap3';
}
 
public function executer() {
$donnees = array();
$this->collecterParametres();
$cheminSquelette = dirname(__FILE__) . self::DS . 'squelettes' . self::DS . $this->squelette . '.tpl.php';
 
$donnees['url_logo'] = sprintf($this->config['chemins']['baseURLRessources'], 'tb/img/32x32/logo.png');
$donnees['url_logo_hires'] = sprintf($this->config['chemins']['baseURLRessources'], 'tb/img/64x64/logo.png');
$donnees['url_style'] = $this->config['navigation']['baseCheminWidget'] . '/squelettes/style.css';
 
$contenu = $this->traiterSquelettePhp($cheminSquelette, $donnees);
$this->envoyer($contenu);
}
 
protected function collecterParametres() {
if (isset($_GET['squelette']) && $_GET['squelette'] != '') {
if (in_array($this->squelette, $this->squelettes)) {
$this->squelette = $_GET['squelette'];
}
}
}
}
?>
/trunk/widget/modules/navigation/config.defaut.ini
New file
0,0 → 1,3
[navigation]
; Chemin de la racine du widget Navigation
baseCheminWidget = /reseau/widget/modules/navigation
/trunk/widget/modules/navigation/squelettes/style.css
New file
0,0 → 1,81
#logo_hires {
display: none;
}
.logo-tb {
position:absolute;
left: 10px;
top: 10px;
}
 
.navbar.navbar-default {
margin-bottom: 0;
}
#tb-navbar {
padding-left: 30px;
}
 
@media (-webkit-min-device-pixel-ratio: 1.3), (min-resolution: 124.8dpi) {
 
/* polices */
a.dropdown-toggle, ul.dropdown-menu {
font-size: 26px;
}
 
/* empêche les mobiles de zoomer */
.dropdown {
-moz-text-size-adjust: none;
-webkit-text-size-adjust: none;
-ms-text-size-adjust: none;
}
 
/* logo */
#logo_hires {
display: block;
top: 5px;
}
#logo {
display: none;
}
 
/* bootstrap navbar */
.navbar-header {
float: none;
}
.navbar-left,.navbar-right {
float: none !important;
}
.navbar-toggle {
display: block;
width: 80px;
height: 60px;
}
.navbar-toggle .icon-bar {
height: 10px;
width: 58px;
}
.navbar-collapse {
border-top: 1px solid transparent;
box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
}
.navbar-fixed-top {
top: 0;
border-width: 0 0 1px;
}
.navbar-collapse.collapse {
display: none!important;
}
.navbar-nav {
float: none!important;
margin-top: 7.5px;
}
.navbar-nav>li {
float: none;
}
.navbar-nav>li>a {
padding-top: 10px;
padding-bottom: 10px;
}
.collapse.in {
display:block !important;
}
}
/trunk/widget/modules/navigation/squelettes/bootstrap3.tpl.php
New file
0,0 → 1,126
<link rel="stylesheet" type="text/css" href="<?=$url_style?>" />
 
<div class="navbar navbar-default" role="navigation">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#tb-navbar"
title="Afficher / masquer le menu de navigation">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="http://www.tela-botanica.org">
<img id="logo" class="logo-tb" src="<?=$url_logo?>" />
<img id="logo_hires" class="logo-tb" src="<?=$url_logo_hires?>" />
</a>
</div>
 
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="tb-navbar">
<ul class="nav navbar-nav">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Tela Botanica <b class="caret"></b></a>
<ul class="dropdown-menu">
<li id="site-presentation"><a href="http://www.tela-botanica.org/reseau/presentation/">Présentation</a></li>
<li class="divider"></li>
<li id="site-botanique"><a href="http://www.tela-botanica.org/site:botanique">Botanique</a></li>
<li id="site-reseau"><a href="http://www.tela-botanica.org/site:reseau">Réseau</a></li>
<li id="site-projets"><a href="http://www.tela-botanica.org/site:projets">Projets</a></li>
<li id="site-actu"><a href="http://www.tela-botanica.org/site:actu">Actualités</a></li>
<li class="divider"></li>
<li id="wikini"><a href="http://www.tela-botanica.org/wikini">Wikini</a></li>
</ul>
</li>
<li class="divider">
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">eFlore <b class="caret"></b></a>
<ul class="dropdown-menu">
<li id="eflore-bdtfx"><a href="http://www.tela-botanica.org/page:eflore_bdtfx">France métropolitaine</a></li>
<li id="eflore-bdtxa"><a href="http://www.tela-botanica.org/page:bdtxa">Antilles françaises</a></li>
<li id="eflore-isfan"><a href="http://www.tela-botanica.org/page:isfan">Afrique du Nord</a></li>
<li id="eflore-apd"><a href="http://www.tela-botanica.org/page:apd">Afrique tropicale</a></li>
</ul>
</li>
<li class="divider">
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Carnet en Ligne <b class="caret"></b></a>
<ul class="dropdown-menu">
<li id="appli-cel"><a href="http://www.tela-botanica.org/appli:cel">Carnet en Ligne (CeL)</a></li>
<li class="divider"></li>
<li id="widget-cel-saisie"><a href="http://www.tela-botanica.org/widget:cel:saisie">Widget de saisie</a></li>
<li id="widget-cel-carto"><a href="http://www.tela-botanica.org/widget:cel:carto">Widget carto (communes)</a></li>
<li id="widget-cel-cartopoint"><a href="http://www.tela-botanica.org/widget:cel:cartoPoint">Widget carto (points)</a></li>
<li id="widget-cel-stats"><a href="http://www.tela-botanica.org/widget:cel:stats">Widget statistiques</a></li>
<li id="widget-cel-export"><a href="http://www.tela-botanica.org/widget:cel:export?bar">Widget export</a></li>
</ul>
</li>
<li class="divider">
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Identiplante / Pictoflora <b class="caret"></b></a>
<ul class="dropdown-menu">
<li id="appli-identiplante"><a href="http://www.tela-botanica.org/appli:identiplante">Identiplante</a></li>
<li id="appli-pictoflora"><a href="http://www.tela-botanica.org/appli:pictoflora">Pictoflora</a></li>
<li class="divider"></li>
<li id="widget-del-statistiques"><a href="http://www.tela-botanica.org/widget:del:stats">Widget statistiques</a></li>
</ul>
</li>
<li class="divider">
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">SmartFlore <b class="caret"></b></a>
<ul class="dropdown-menu">
<li id="appli-smartflore"><a href="http://www.tela-botanica.org/appli:smartflore">SmartFlore</a></li>
</ul>
</li>
<li class="divider">
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Collections en Ligne <b class="caret"></b></a>
<ul class="dropdown-menu">
<li id="appli-coel"><a href="http://www.tela-botanica.org/appli:coel">Collections en Ligne (CoEL)</a></li>
<li id="page-herbiers-recherche"><a href="http://www.tela-botanica.org/page:herbiers_recherche">Consultation des collections</a></li>
<li class="divider"></li>
<li id="widget-coel-carto"><a href="http://www.tela-botanica.org/widget:coel:carto">Widget carto</a></li>
</ul>
</li>
<li class="divider">
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Référentiels <b class="caret"></b></a>
<ul class="dropdown-menu">
<!--<li id="appli-rtax"><a href="http://referentiels.tela-botanica.org/">RTax ß</a></li>-->
<li id="referentiels-accueil"><a href="http://www.tela-botanica.org/page:Noms_scientifiques">Accueil</a></li>
<li class="divider"></li>
<li id="appli-rtax-bdtfx"><a href="http://referentiels.tela-botanica.org/referentiel/index.php?module=Consultation&ref=bdtfx">Trachéophytes de France métropolitaine</a></li>
<li id="appli-rtax-bdtxa"><a href="http://referentiels.tela-botanica.org/referentiel/index.php?module=Consultation&ref=bdtxa">Trachéophytes des Antilles françaises</a></li>
<li id="appli-rtax-bdtre"><a href="http://referentiels.tela-botanica.org/referentiel/index.php?module=Consultation&ref=bdtre">Trachéophytes de la Réunion</a></li>
<li id="appli-rtax-isfan"><a href="http://referentiels.tela-botanica.org/referentiel/index.php?module=Consultation&ref=isfan">Index synonymique de la flore d'Afrique du Nord</a></li>
<li id="appli-rtax-apd"><a href="http://referentiels.tela-botanica.org/referentiel/index.php?module=Consultation&ref=apd">Plantes d'Afrique (partie Tropicale)</a></li>
<li id="appli-rtax-bdlfx"><a href="http://referentiels.tela-botanica.org/referentiel/index.php?module=Consultation&ref=bdlfx">Lichens de France métropolitaine</a></li>
</ul>
</li>
</ul>
<div id="contenu-source">
<!-- ici le contenu du div #tb-navigation de la page appelante -->
</div>
<ul class="nav navbar-nav navbar-right">
<li id="bouton-connexion" class="dropdown">
<a href="http://www.tela-botanica.org/widget:reseau:auth?origine=">Connexion</a>
</li>
<li class="dropdown" id="utilisateur-connecte" style="display: none;">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><span id="nom-complet"></span> <b class="caret"></b></a>
<ul class="dropdown-menu">
<li id="profil-utilisateur"><a href="http://www.tela-botanica.org/inscription">Mon profil</a></li>
<li id="deconnexion"><a href="http://www.tela-botanica.org/widget:reseau:auth?action=deconnexion&origine=">Déconnexion</a></li>
</ul>
</li>
</ul>
</div><!-- /.navbar-collapse -->
</div><!-- /.container-fluid -->
</div>
/trunk/widget/modules/navigation/squelettes
New file
Property changes:
Added: svn:ignore
+config.ini
/trunk/widget/modules/navigation
New file
Property changes:
Added: svn:ignore
+config.ini
/trunk/widget/modules/auth/Auth.php
New file
0,0 → 1,64
<?php
/**
* Portail d'authentification qui présente les différentes application TB; permet(tra un jour)
* de se connecter en utilisant d'autres comptes (Plante-net, ils recolmatent, visagelivre...)
*
* Utilisation: http://www.tela-botanica.org/widget:reseau:auth
* Paramètres GET (optionnels):
*
* @author Mathias Chouet <mathias@tela-botanica.org>
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
* @version 0.1
* @copyright 2015, Tela Botanica
*/
class Auth extends WidgetCommun {
 
protected $langue;
protected $langueDefaut;
protected $origine;
protected $action;
protected $baseUrlAuth;
 
public function __construct($config, $parametres) {
parent::__construct($config, $parametres);
$this->langueDefaut = $this->config['auth']['langueDefaut'];
$this->baseUrlAuth = $this->config['auth']['baseUrlAuth'];
}
 
/**
* Méthode appelée par défaut pour charger ce widget
*/
public function executer() {
$this->collecterParametres();
// choix du squelette en fonction de la langue
$squelette = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'squelettes' . DIRECTORY_SEPARATOR . 'auth_' . $this->langue . '.tpl.php';
if (! file_exists($squelette)) {
$squelette = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'squelettes' . DIRECTORY_SEPARATOR . 'auth_' . $this->langueDefaut . '.tpl.php';
}
 
$widget['donnees']['url_css'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/auth/squelettes/css/defaut.css');
$widget['donnees']['url_js'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/auth/squelettes/js/defaut.js');
$widget['donnees']['baseUrlAuth'] = $this->baseUrlAuth;
$widget['donnees']['origine'] = $this->origine;
$widget['donnees']['action'] = $this->action;
 
$contenu = $this->traiterSquelettePhp($squelette, $widget['donnees']);
$this->envoyer($contenu);
}
 
protected function collecterParametres() {
if (isset($_GET['origine']) && $_GET['origine'] != '') {
$this->origine = $_GET['origine'];
}
if (isset($_GET['action']) && $_GET['action'] != '') {
$this->action = $_GET['action'];
}
if (isset($_GET['lang']) && $_GET['lang'] != '') {
$this->langue = $_GET['lang'];
} else {
$this->langue = $this->langueDefaut;
}
}
}
?>
/trunk/widget/modules/auth/config.defaut.ini
New file
0,0 → 1,5
[auth]
; Chemin de la racine du widget Navigation
baseCheminWidget = /reseau/widget/modules/auth
langueDefaut = "fr"
baseUrlAuth = https://www.tela-botanica.org/service:annuaire:auth
/trunk/widget/modules/auth/squelettes/auth_en.tpl.php
New file
0,0 → 1,162
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Tela Botanica - Authentication</title>
 
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<meta http-equiv="Content-style-type" content="text/css" />
<meta http-equiv="Content-script-type" content="text/javascript" />
<meta http-equiv="Content-language" content="fr" />
 
<meta name="revisit-after" content="15 days" />
<meta name="robots" content="index,follow" />
<meta name="author" content="Mathias Chouet" />
<meta name="keywords" content="Tela Botanica, authentication, connection, login" />
<meta name="description" content="Authentication widget" />
 
<meta name="viewport" content="width=device-width, initial-scale=1" />
 
<link rel="stylesheet" type="text/css" href="<?=$url_css?>" media="screen" />
<link rel="stylesheet" type="text/css" href="https://resources.tela-botanica.org/bootstrap/3.1.0/css/bootstrap.min.css" />
 
<script src="https://resources.tela-botanica.org/jquery/1.9.1/jquery.min.js"></script>
<script src="https://resources.tela-botanica.org/bootstrap/3.1.0/js/bootstrap.min.js"></script>
<script src="<?=$url_js?>"></script>
 
<script>
baseUrlAuth = '<?php echo $baseUrlAuth ?>';
origine = '<?php echo $origine ?>';
action = '<?php echo $action ?>';
</script>
</head>
 
<body>
<div id="licence-image"></div>
<!-- <h1>Auth !</h1> -->
<div class="vertical-center">
<div class="boite-centre">
<div class="contenu-boite" id="panneau-identification" style="display: none;">
<div id="liste-fournisseurs">
<ul>
<li class="tela-botanica">
<a href="#" data-focus="true" title="Log in with Tela Botanica" data-toggle="tooltip"
data-nom-partenaire="Tela Botanica"
data-login-legende="email address"
data-login-type-champ="text"
data-url-oubli-mdp="http://www.tela-botanica.org/page:inscription?m=f_oubli_mdp">
<img class="grande" src="https://resources.tela-botanica.org/tb/img/96x96/logo_sans_mots.png" />
</a>
</li>
<li>
<a href="#" data-focus="false" title="Log in with Pl@ntNet" data-toggle="tooltip"
data-nom-partenaire="Pl@ntNet"
data-login-legende="username or email address"
data-login-type-champ="text"
data-code-partenaire="plantnet"
data-url-oubli-mdp="http://identify.plantnet-project.org/api/resetting/request">
<img class="grande" src="https://resources.tela-botanica.org/tb/img/partenaires/plantnet_64.png" />
<img class="petite" src="https://resources.tela-botanica.org/tb/img/partenaires/plantnet_24.png" />
</a>
</li>
<li>
<a href="#" data-focus="false" title="Log in with eRecolnat" data-toggle="tooltip"
data-nom-partenaire="eRecolnat"
data-login-legende="username"
data-login-type-champ="text"
data-code-partenaire="recolnat"
data-url-oubli-mdp="https://api.recolnat.org/erecolnat/recovery/#/forget">
<img class="grande" src="https://resources.tela-botanica.org/tb/img/partenaires/erecolnat_64.png" />
<img class="petite" src="https://resources.tela-botanica.org/tb/img/partenaires/erecolnat_24.png" />
</a>
</li>
</ul>
</div>
<form id="formulaire-identification">
<div id="info-partenaire">
Log in with <span id="nom-partenaire">Tela Botanica</span>
</div>
<div class="form-group">
<input type="email" required class="form-control" id="login" placeholder="email address">
</div>
<div class="form-group position-relative">
<span class="mdp-oublie">
<a id="mdp-oublie" href="http://www.tela-botanica.org/page:inscription?m=f_oubli_mdp" target="_blank">lost it ?</a>
</span>
<input type="password" required class="form-control" id="mdp" placeholder="password">
</div>
<div class="commandes-formulaire">
<a id="lien-inscription" href="http://www.tela-botanica.org/inscription" target="_blank">Sign up</a>
<button id="bouton-connexion" type="submit" class="btn btn-primary">Log in</button>
</div>
</form>
<div class="info-erreur" id="info-erreur-login" style="display:none;">Wrong id or password</div>
<div class="info-erreur" id="info-erreur-serveur" style="display:none;">Server error</div>
</div>
 
<div class="contenu-boite" id="panneau-bienvenue" style="display: none;">
<div id="logo-tb">
<img src="https://resources.tela-botanica.org/tb/img/96x96/logo_sans_mots.png" />
</div>
<div id="bienvenue">
<span class="leger">welcome</span>
<br/>
<span id="nom-complet"></span>
<br/>
(<a id="deconnexion" href="#">log out</a>)
</div>
<div id="liste-applications">
<a href="http://www.tela-botanica.org">http://www.tela-botanica.org</a>
<!--<h2>Discover our applications :</h2>
<ul>
<li>
<a href="http://www.tela-botanica.org" title="Site Web" data-toggle="tooltip">
<div class="bouton-appli www">www</div>
</a>
</li>
<li>
<a href="http://www.tela-botanica.org/page:eflore_bdtfx" title="eFlore" data-toggle="tooltip">
<div class="bouton-appli eflore">eF</div>
</a>
</li>
<li>
<a href="http://www.tela-botanica.org/appli:cel" title="Carnet en Ligne" data-toggle="tooltip">
<div class="bouton-appli cel">CeL</div>
</a>
</li>
<li>
<a href="http://www.tela-botanica.org/appli:identiplante" title="Identiplante" data-toggle="tooltip">
<div class="bouton-appli identiplante">IP</div>
</a>
</li>
<li>
<a href="http://www.tela-botanica.org/appli:pictoflora" title="Pictoflora" data-toggle="tooltip">
<div class="bouton-appli pictoflora">PF</div>
</a>
</li>
<li>
<a href="http://www.tela-botanica.org/appli:smartflore" title="Smart'Flore" data-toggle="tooltip">
<div class="bouton-appli smartflore">SF</div>
</a>
</li>
<li>
<a href="http://www.tela-botanica.org/appli:coel" title="Collections en Ligne" data-toggle="tooltip">
<div class="bouton-appli coel">Co</div>
</a>
</li>
<li>
<a href="http://referentiels.tela-botanica.org" title="Référentiels" data-toggle="tooltip">
<div class="bouton-appli referentiels">Réf</div>
</a>
</li>
<li>
<a href="http://www.tela-botanica.org/wikini" title="Wikini" data-toggle="tooltip">
<div class="bouton-appli wiki">W</div>
</a>
</li>
</ul>-->
</div>
</div>
</div>
</div>
</body>
</html>
/trunk/widget/modules/auth/squelettes/css/defaut.css
New file
0,0 → 1,278
/*body {
padding: 10px;
}*/
 
body {
background-image: url(https://api.tela-botanica.org/img:000191249O.jpg);
background-size: cover;
background-position: center;
}
#licence-image::after { /* mettre à jour lorsqu'on change l'image de fond ci-dessus */
content: "Silene latifolia Poir. (bdtfx) - Jacques MARÉCHAL - CC BY SA";
}
 
#licence-image {
position: fixed;
padding: 10px;
bottom: 0;
right: 0;
color: white;
font-size: 0.8em;
background-color: rgba(0,0,0,0.3);
}
 
.vertical-center {
min-height: 100%; /* Fallback for browsers do NOT support vh unit */
min-height: 100vh;
display: flex;
align-items: center;
}
 
.boite-centre {
width: 430px;
height: 450px;
padding: 20px;
border: solid #f0f0f0 1px;
border-radius: 5px;
margin: auto;
/*text-align: center;*/
background-color: white;
}
 
.boite-centre.reduite {
height: 450px;
}
 
.boite-centre h1 {
margin-top: 0;
margin-bottom: 0;
}
 
.leger {
color: #808080;
}
 
#panneau-bienvenue {
text-align: center;
margin-top: 40px;
}
 
#bienvenue {
margin-top: 20px;
}
 
#nom-complet {
font-size: 1.6em;
/*margin-left: 5px;*/
}
 
#liste-applications {
margin-top: 80px; /* temporaire, pour afficher un simple lien en attendant mieux */
}
 
#liste-applications h2 {
font-size: 1.7em;
margin-top: 30px;
margin-bottom: 15px;
}
 
#liste-applications ul {
/*border: solid red 1px;*/
margin: auto;
margin-top: 10px;
padding: 0;
width: 260px;
}
 
#liste-applications ul li {
margin: 0;
padding: 0;
list-style-type: none;
float: left;
/*border: solid blue 1px;*/
}
 
#liste-applications ul li a, #liste-applications ul li a:hover {
text-decoration: none;
}
 
.bouton-appli {
display: block;
width: 64px;
height: 64px;
margin: 10px;
border: solid #d0d0d0 1px;
border-radius: 5px;
font-size: 1.7em;
line-height: 60px;
color: white;
}
 
.www {
background-color: #478DA7;
}
.eflore {
background-color: #5EC563;
}
.cel {
background-color: #66E3F2;
}
.identiplante {
background-color: #F9EF14;
}
.pictoflora {
background-color: #F9EF14;
}
.smartflore {
background-color: #3CE946;
}
.coel {
background-color: #A79247;
}
.referentiels {
background-color: #909090;
}
.wiki {
background-color: #F54521;
}
 
#panneau-identification {
padding-top: 20px;
}
 
#liste-fournisseurs {
margin-top: 10px;
/*border: solid green 1px;*/
height: 110px;
}
 
#liste-fournisseurs ul {
/*border: solid red 1px;*/
margin: auto;
margin-top: 10px;
padding: 0;
/*width: 210px;*/
}
 
#liste-fournisseurs ul li {
margin: 0;
padding: 0;
list-style-type: none;
float: left;
display: block;
height: 100px;
/*border: solid blue 1px;*/
}
 
#liste-fournisseurs ul li a, #liste-fournisseurs ul li a:hover {
text-decoration: none;
}
#liste-fournisseurs ul li a:focus {
border: none;
outline: none;
}
 
#liste-fournisseurs ul li img {
margin: 5px;
}
#liste-fournisseurs ul li img.grande {
margin-top: 40px; /* à ajuster en fonction de la hauteur des icônes choisies */
}
#liste-fournisseurs ul li img.petite {
margin-top: 70px; /* à ajuster en fonction de la hauteur des icônes choisies */
}
#liste-fournisseurs ul li a[data-focus="true"] img.grande {
display: block;
}
#liste-fournisseurs ul li a[data-focus="false"] img.grande {
display: none;
}
#liste-fournisseurs ul li a[data-focus="true"] img.petite {
display: none;
}
#liste-fournisseurs ul li a[data-focus="false"] img.petite {
display: block;
}
#liste-fournisseurs ul li.tela-botanica {
}
#liste-fournisseurs ul li.tela-botanica img.grande {
margin-top: 0;
}
#liste-fournisseurs ul li.tela-botanica a[data-focus="false"] img.grande {
display: block;
}
#liste-fournisseurs ul li.tela-botanica a[data-focus="true"] img.petite {
display: none;
}
 
#info-partenaire {
color: #808080;
margin-bottom: 35px;
}
#formulaire-identification,
#liste-fournisseurs,
#info-erreur-login,
#info-erreur-serveur {
width: 320px;
margin: auto;
}
 
#formulaire-identification {
height: 240px;
}
#formulaire-identification .form-group {
margin-bottom: 25px;
}
#formulaire-identification .form-control {
border: none;
border-bottom: solid #d0d0d0 1px;
border-radius: 0;
box-shadow: none;
padding-left: 0;
font-size: 18px;
color: #505050;
}
 
.position-relative {
position: relative;
}
 
#mdp {
padding-right: 80px;
}
 
.mdp-oublie {
position: absolute;
top: 10px;
right: 0;
}
 
.commandes-formulaire {
margin-top: 40px;
}
 
#lien-inscription {
float: left;
line-height: 30px;
text-decoration: underline;
margin-left: 5px;
}
 
#bouton-connexion {
float: right;
font-size: 16px;
}
 
.left {
float: left;
}
 
.right {
float: right;
}
 
.info-erreur {
color: red;
}
/trunk/widget/modules/auth/squelettes/auth_fr.tpl.php
New file
0,0 → 1,168
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Tela Botanica - Authentification</title>
 
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<meta http-equiv="Content-style-type" content="text/css" />
<meta http-equiv="Content-script-type" content="text/javascript" />
<meta http-equiv="Content-language" content="fr" />
 
<meta name="revisit-after" content="15 days" />
<meta name="robots" content="index,follow" />
<meta name="author" content="Mathias Chouet" />
<meta name="keywords" content="Tela Botanica, authentification, connexion, login" />
<meta name="description" content="Widget d'authentification" />
 
<meta name="viewport" content="width=device-width, initial-scale=1" />
 
<link rel="stylesheet" type="text/css" href="<?=$url_css?>" media="screen" />
<link rel="stylesheet" type="text/css" href="https://resources.tela-botanica.org/bootstrap/3.1.0/css/bootstrap.min.css" />
 
<script src="https://resources.tela-botanica.org/jquery/1.9.1/jquery.min.js"></script>
<script src="https://resources.tela-botanica.org/bootstrap/3.1.0/js/bootstrap.min.js"></script>
<script src="<?=$url_js?>"></script>
 
<script>
baseUrlAuth = '<?php echo $baseUrlAuth ?>';
origine = '<?php echo $origine ?>';
action = '<?php echo $action ?>';
</script>
</head>
 
<body>
<div id="licence-image"></div>
<!-- <h1>Auth !</h1> -->
<div class="vertical-center">
<div class="boite-centre">
<div class="contenu-boite" id="panneau-identification" style="display: none;">
<div id="liste-fournisseurs">
<ul>
<li class="tela-botanica">
<a href="#" data-focus="true" title="Se connecter avec Tela Botanica" data-toggle="tooltip"
data-nom-partenaire="Tela Botanica"
data-login-legende="adresse courriel"
data-login-type-champ="email"
data-url-oubli-mdp="http://www.tela-botanica.org/page:inscription?m=f_oubli_mdp">
<img class="grande" src="https://resources.tela-botanica.org/tb/img/96x96/logo_sans_mots.png" />
</a>
</li>
<li>
<a href="#" data-focus="false" title="Se connecter avec Pl@ntNet" data-toggle="tooltip"
data-nom-partenaire="Pl@ntNet"
data-login-legende="nom d'utilisateur ou adresse courriel"
data-login-type-champ="text"
data-code-partenaire="plantnet"
data-url-oubli-mdp="http://identify.plantnet-project.org/api/resetting/request">
<img class="grande" src="https://resources.tela-botanica.org/tb/img/partenaires/plantnet_64.png" />
<img class="petite" src="https://resources.tela-botanica.org/tb/img/partenaires/plantnet_24.png" />
</a>
</li>
<li>
<a href="#" data-focus="false" title="Se connecter avec eRecolnat" data-toggle="tooltip"
data-nom-partenaire="eRecolnat"
data-login-legende="nom d'utilisateur"
data-login-type-champ="text"
data-code-partenaire="recolnat"
data-url-oubli-mdp="https://api.recolnat.org/erecolnat/recovery/#/forget">
<img class="grande" src="https://resources.tela-botanica.org/tb/img/partenaires/erecolnat_64.png" />
<img class="petite" src="https://resources.tela-botanica.org/tb/img/partenaires/erecolnat_24.png" />
</a>
</li>
<!--<li>
<a href="#" data-focus="false" title="Se connecter avec eRecolnat" data-toggle="tooltip" data-nom-partenaire="eRecolnat">
<img class="grande" src="http://resources.tela-botanica.org/tb/img/partenaires/erecolnat_64.png" />
<img class="petite" src="http://resources.tela-botanica.org/tb/img/partenaires/erecolnat_24.png" />
</a>
</li>-->
</ul>
</div>
<form id="formulaire-identification">
<div id="info-partenaire">
Se connecter avec <span id="nom-partenaire">Tela Botanica</span>
</div>
<div class="form-group">
<input type="email" required class="form-control" id="login" placeholder="adresse courriel">
</div>
<div class="form-group position-relative">
<span class="mdp-oublie">
<a id="mdp-oublie" href="http://www.tela-botanica.org/page:inscription?m=f_oubli_mdp" target="_blank">oublié ?</a>
</span>
<input type="password" required class="form-control" id="mdp" placeholder="mot de passe">
</div>
<div class="commandes-formulaire">
<a id="lien-inscription" href="http://www.tela-botanica.org/inscription" target="_blank">Créer un compte</a>
<button id="bouton-connexion" type="submit" class="btn btn-primary">Se connecter</button>
</div>
</form>
<div class="info-erreur" id="info-erreur-login" style="display:none;">Mauvais identifiant ou mot de passe</div>
<div class="info-erreur" id="info-erreur-serveur" style="display:none;">Erreur du serveur</div>
</div>
 
<div class="contenu-boite" id="panneau-bienvenue" style="display: none;">
<div id="logo-tb">
<img src="https://resources.tela-botanica.org/tb/img/96x96/logo_sans_mots.png" />
</div>
<div id="bienvenue">
<span class="leger">bienvenue</span>
<br/>
<span id="nom-complet"></span>
<br/>
(<a id="deconnexion" href="#">se déconnecter</a>)
</div>
<div id="liste-applications">
<a href="http://www.tela-botanica.org">http://www.tela-botanica.org</a>
<!--<h2>Découvrez nos applications :</h2>
<ul>
<li>
<a href="http://www.tela-botanica.org" title="Site Web" data-toggle="tooltip">
<div class="bouton-appli www">www</div>
</a>
</li>
<li>
<a href="http://www.tela-botanica.org/page:eflore_bdtfx" title="eFlore" data-toggle="tooltip">
<div class="bouton-appli eflore">eF</div>
</a>
</li>
<li>
<a href="http://www.tela-botanica.org/appli:cel" title="Carnet en Ligne" data-toggle="tooltip">
<div class="bouton-appli cel">CeL</div>
</a>
</li>
<li>
<a href="http://www.tela-botanica.org/appli:identiplante" title="Identiplante" data-toggle="tooltip">
<div class="bouton-appli identiplante">IP</div>
</a>
</li>
<li>
<a href="http://www.tela-botanica.org/appli:pictoflora" title="Pictoflora" data-toggle="tooltip">
<div class="bouton-appli pictoflora">PF</div>
</a>
</li>
<li>
<a href="http://www.tela-botanica.org/appli:smartflore" title="Smart'Flore" data-toggle="tooltip">
<div class="bouton-appli smartflore">SF</div>
</a>
</li>
<li>
<a href="http://www.tela-botanica.org/appli:coel" title="Collections en Ligne" data-toggle="tooltip">
<div class="bouton-appli coel">Co</div>
</a>
</li>
<li>
<a href="http://referentiels.tela-botanica.org" title="Référentiels" data-toggle="tooltip">
<div class="bouton-appli referentiels">Réf</div>
</a>
</li>
<li>
<a href="http://www.tela-botanica.org/wikini" title="Wikini" data-toggle="tooltip">
<div class="bouton-appli wiki">W</div>
</a>
</li>
</ul>-->
</div>
</div>
</div>
</div>
</body>
</html>
/trunk/widget/modules/auth/squelettes/js/defaut.js
New file
0,0 → 1,244
$(document).ready(function() {
// infobulles
$('[data-toggle="tooltip"]').tooltip();
 
// trucage ordre des champs pour passer du login au mdp sans passer
// par le lien "oublié ?" => pas standard, c'est mal - @TODO faire mieux
// Ordre : login => mdp => oublie => s'inscrire
$('#login').keypress(function(e) {
if(e.keyCode == 9) {
if(! e.shiftKey) {
$('#mdp').focus();
return false;
}
}
});
$('#mdp').keypress(function(e) {
if(e.keyCode == 9) {
if(e.shiftKey) {
$('#login').focus();
} else {
$('#mdp-oublie').focus();
}
return false;
}
});
$('#mdp-oublie').keypress(function(e) {
if(e.keyCode == 9) {
if(e.shiftKey) {
$('#mdp').focus();
} else {
$('#lien-inscription').focus();
}
}
return false;
});
$('#lien-inscription').keypress(function(e) {
if(e.keyCode == 9) {
if(e.shiftKey) {
$('#mdp-oublie').focus();
return false;
}
}
});
 
// partenaire avec lequel se connecter
$('#liste-fournisseurs ul li a').click(function() {
$('#liste-fournisseurs ul li a').attr('data-focus', 'false');
$(this).attr('data-focus', 'true');
var nomPartenaire = $(this).data('nom-partenaire'),
urlOubliMdp = $(this).data('url-oubli-mdp'),
loginLegende = $(this).data('login-legende'),
loginTypeChamp = $(this).data('login-type-champ');
$('#nom-partenaire').html(nomPartenaire);
$('#mdp-oublie').attr('href', urlOubliMdp);
$('#login').attr('type', loginTypeChamp);
$('#login').attr('placeholder', loginLegende);
});
 
// Connexion au SSO
$('#formulaire-identification').submit(function() {
connecterUtilisateur();
return false;
});
 
// Déconnexion du SSO
$('#deconnexion').click(function() {
deconnecterUtilisateur();
return false;
});
 
// vérification de l'état au chargement
var urlAuth = baseUrlAuth + '/identite';
$.ajax({
url: urlAuth,
type: "GET",
dataType: 'json',
xhrFields: {
withCredentials: true
}
}).done(function(data) {
// connecté
definirUtilisateur(data.token);
afficherPanneauBienvenue();
})
.fail(function(error) {
// non connecté
afficherPanneauIdentification();
});
 
// exécuter une action si définie (par ex: déconnexion)
executerAction();
});
 
/**
* Connecte l'utilisateur au SSO
*/
function connecterUtilisateur() {
var login = $('#login').val().toLowerCase(),
mdp = $('#mdp').val();
if (login == '' || mdp == '') {
alert('Veuillez entrer votre login et votre mot de passe');
} else {
var urlAuth = baseUrlAuth + '/connexion?login=' + encodeURIComponent(login) + '&password=' + encodeURIComponent(mdp);
// partenaire ?
var codePartenaire = $('#liste-fournisseurs a[data-focus="true"]').data('code-partenaire');
if (codePartenaire != undefined) {
urlAuth += '&partner=' + codePartenaire;
}
$.ajax({
url: urlAuth,
type: "GET",
dataType: 'json',
xhrFields: {
withCredentials: true
}
})
.done(function(data) {
rediriger();
definirUtilisateur(data.token);
afficherPanneauBienvenue();
masquerErreurs();
})
.fail(function(error) {
afficherErreurLogin();
});
}
}
 
/**
* Déconnecte l'utilisateur du SSO
*/
function deconnecterUtilisateur() {
var urlAuth = baseUrlAuth + '/deconnexion';
$.ajax({
url: urlAuth,
type: "GET",
dataType: 'json',
xhrFields: {
withCredentials: true
}
})
.done(function(data) {
rediriger();
definirUtilisateur();
afficherPanneauIdentification();
masquerErreurs();
})
.fail(function(error) {
// @TODO gérer l'affichage de l'erreur, mais pas facile à placer
// dans l'interface actuelle sans que ce soit moche
//afficherErreurServeur();
});
}
 
/**
* Si la variable "action" est définie (provenant du paramètre GET "origine"),
* exécute l'action associée (par ex: déconnexion)
*/
function executerAction() {
switch (action) {
case "deconnexion":
deconnecterUtilisateur();
break;
default :
// on ne fait rien
}
}
 
function definirUtilisateur(jeton) {
var nomComplet = '';
if (jeton != undefined) {
// décodage jeton
var jetonDecode = decoderJeton(jeton);
nomComplet = jetonDecode.intitule;
email = jetonDecode.sub;
}
// affichage
$('#nom-complet').html(nomComplet);
$('#nom-complet').attr('title', email);
}
 
/**
* Décodage "url-safe" des chaînes base64 retournées par le SSO (lib jwt)
*/
function b64d(input) {
var remainder = input.length % 4;
if (remainder != 0) {
var padlen = 4 - remainder;
for (var i=0; i < padlen; i++) {
input += '=';
}
}
input = input.replace('-', '+');
input = input.replace('_', '/');
return atob(input);
}
 
/**
* Décodage à l'arrache d'un jeton JWT, ATTENTION CONSIDERE QUE LE
* JETON EST VALIDE, ne pas décoder n'importe quoi - pas trouvé de lib simple
*/
function decoderJeton(jeton) {
parts = jeton.split('.');
payload = parts[1];
 
payload = b64d(payload);
payload = JSON.parse(payload, true);
 
return payload;
}
 
/**
* Si la variable "origine" est définie (provenant du paramètre GET "origine"),
* redirige l'utilisateur vers cette page
*/
function rediriger() {
if (origine != '') {
window.location.href = origine;
}
}
 
function afficherPanneauIdentification() {
$('#panneau-identification').show();
$('#panneau-bienvenue').hide();
$('.boite-centre').addClass('reduite');
}
 
function afficherPanneauBienvenue() {
$('#panneau-identification').hide();
$('#panneau-bienvenue').show();
$('.boite-centre').removeClass('reduite');
}
 
function afficherErreurLogin() {
$('#info-erreur-login').show();
}
 
function afficherErreurServeur() {
$('#info-erreur-serveur').show();
}
 
function masquerErreurs() {
$('.info-erreur').hide();
}
/trunk/widget/modules/auth
New file
Property changes:
Added: svn:ignore
+config.ini
/trunk/widget/modules/remarques/Remarques.php
New file
0,0 → 1,199
<?php
/**
* Formulaire de remarques assisté
* - envoie un email et écrit dans un fichier log
*
* Utilisation: http://www.tela-botanica.org/widget:reseau:remarques
* Paramètres GET (optionnels):
* pageSource : URL de la page depuis laquelle l'utilisateur a cliqué sur "nous contacter"
* (exemple: http://www.tela-botanica.org/appli:cel)
* service : service à l'adresse duquel envoyer le rapport, par défaut webmestre,
* limité aux clefs de la liste $this->servicesAutorises
* (exemple: cel)
* email (DÉPRÉCIÉ) : adresse à laquelle envoyer le rapport, par défaut webmestre@tela-botanica.org,
* limité aux valeurs de la liste $this->servicesAutorises
* (exemple: cel_remarques@tela-botanica.org)
* lang : langage (un squelette correspondant doit exister)
* (exemple: en)
*
* @author Mathias Chouet <mathias@tela-botanica.org>
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
* @version 0.1
* @copyright 2014, Tela Botanica (accueil@tela-botanica.org)
*/
class Remarques extends WidgetCommun {
 
const DS = DIRECTORY_SEPARATOR;
 
/**
* service de destination par défaut, si un service ou une adresse non autorisés sont spécifiés,
* ou si aucun service ni adresse n'est spécifié
*/
const SERVICE_PAR_DEFAUT = 'webmestre';
 
/** liste des adresses de destination autorisées (à régler dans la config) */
protected $servicesAutorises;
 
protected $cheminLog;
protected $pageSource;
protected $serviceDestination;
protected $emailDestination;
protected $action;
protected $langue;
protected $langueDefaut;
 
protected $description;
protected $gravite;
protected $navigateur;
protected $systeme;
protected $coordonnees;
 
protected $token;
 
public function __construct($config, $parametres) {
parent::__construct($config, $parametres);
 
$this->servicesAutorises = $this->config['remarques-services'];
 
$this->pageSource = 'inconnue';
$this->serviceDestination = self::SERVICE_PAR_DEFAUT;
$this->emailDestination = $this->servicesAutorises[self::SERVICE_PAR_DEFAUT];
$this->action = null;
 
$this->description = null;
$this->gravite = null;
$this->navigateur = null;
$this->systeme = null;
$this->coordonnees = null;
$this->jeton = null;
 
$this->cheminLog = $this->config['remarques']['cheminFichierLog'];
$this->langueDefaut = $this->config['remarques']['langueDefaut'];
 
session_start();
if (!isset($_SESSION['jeton'])) {
$_SESSION['jeton'] = bin2hex(openssl_random_pseudo_bytes(6));
}
}
 
/**
* Méthode appelée par défaut pour charger ce widget
*/
public function executer() {
$this->collecterParametres();
$squelette = dirname(__FILE__) . self::DS . 'squelettes' . self::DS . 'remarques_' . $this->langue . '.tpl.php';
if (! file_exists($squelette)) {
$squelette = dirname(__FILE__) . self::DS . 'squelettes' . self::DS . 'remarques_' . $this->langueDefaut . '.tpl.php';
}
 
$widget['donnees']['url_css'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/remarques/squelettes/css/defaut.css');
$widget['donnees']['url_js'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/remarques/squelettes/js/defaut.js');
$widget['donnees']['service'] = $this->serviceDestination;
$widget['donnees']['page'] = $this->pageSource;
$widget['donnees']['envoye'] = false;
$widget['donnees']['jeton'] = $_SESSION['jeton'];
 
if ($this->action === 'envoyer' && $this->jeton === $_SESSION['jeton']) {
$widget['donnees']['envoye'] = true;
// 1) entrée dans le log
try {
$this->log();
} catch (Exception $e) {
echo "Erreur lors de la création de l'entrée dans le fichier log<br/>";
}
// 2) email
try {
$this->email();
} catch (Exception $e) {
echo "Erreur lors de l'envoi de l'email<br/>";
}
}
 
$contenu = $this->traiterSquelettePhp($squelette, $widget['donnees']);
$this->envoyer($contenu);
}
 
// paramètres du widget en GET et du formulaire en POST
protected function collecterParametres() {
if (isset($_GET['pageSource']) && $_GET['pageSource'] != '') {
$this->pageSource = $_GET['pageSource'];
}
if (isset($_GET['lang']) && $_GET['lang'] != '') {
$this->langue = $_GET['lang'];
} else {
$this->langue = $this->langueDefaut;
}
if (isset($_GET['service']) && in_array($_GET['service'], array_keys($this->servicesAutorises))) {
$this->serviceDestination = $_GET['service'];
$this->emailDestination = $this->servicesAutorises[$_GET['service']];
} else {
// Rétrocompatibilité (déprécié)
if (isset($_GET['email']) && in_array($_GET['email'], $this->servicesAutorises)) {
$this->emailDestination = $_GET['email'];
$this->serviceDestination = array_search($_GET['email'], $this->servicesAutorises);
}
}
if (isset($_POST['action']) && $_POST['action'] != '') {
$this->action = $_POST['action'];
}
// contenu du formulaire
if (isset($_POST['description']) && $_POST['description'] != '') {
$this->description = stripslashes($_POST['description']);
}
if (isset($_POST['gravite']) && $_POST['gravite'] != '') {
$this->gravite = $_POST['gravite'];
}
if (isset($_POST['navigateur']) && $_POST['navigateur'] != '') {
$this->navigateur = stripslashes($_POST['navigateur']);
}
if (isset($_POST['systeme']) && $_POST['systeme'] != '') {
$this->systeme = stripslashes($_POST['systeme']);
}
if (isset($_POST['coordonnees']) && $_POST['coordonnees'] != '') {
$this->coordonnees = stripslashes($_POST['coordonnees']);
}
$this->jeton = stripslashes($_POST['jeton'] ?? 'pasdejeton');
}
 
// ajoute une entrée au log
protected function log() {
$contenu = ''.
date("Y-m-d H:i:s") . "\n".
"Pour: " . $this->serviceDestination . " <" . $this->emailDestination . ">\n".
"Page: " . $this->pageSource . "\n".
"User agent: " . $_SERVER['HTTP_USER_AGENT'] . "\n".
"Contributeur: " . $this->coordonnees . "\n".
"Gravité: " . $this->gravite . "\n".
"Navigateur: " . $this->navigateur . "\n".
"Système: " . $this->systeme . "\n".
"Description:\n " . str_replace("\n", "\n ", $this->description).
"\n\n-----------------------------------------------------------------------\n\n";
 
file_put_contents($this->cheminLog, $contenu, FILE_APPEND);
}
 
// envoie un email
protected function email() {
$contenu = ''.
date("Y-m-d H:i:s") . "\n".
"Pour: " . $this->serviceDestination . " <" . $this->emailDestination . ">\n".
"Page: " . $this->pageSource . "\n".
"User agent: " . $_SERVER['HTTP_USER_AGENT'] . "\n".
"Contributeur: " . $this->coordonnees . "\n".
"Gravité: " . $this->gravite . "\n".
"Navigateur: " . $this->navigateur . "\n".
"Système: " . $this->systeme . "\n".
"Description:\n " . str_replace("\n", "\n ", $this->description);
 
$entetes = 'Content-Type: text/plain; charset="utf-8" '.
'Content-Transfer-Encoding: 8bit';
 
$sujet = substr($this->description, 0, 25).'... '.
'('.($this->coordonnees == '' ? 'inconnu' : $this->coordonnees).')';
 
// mode charlot - mais y a rien dans le framework pour faire mieux
mail($this->emailDestination, $sujet, $contenu, $entetes);
}
}
?>
/trunk/widget/modules/remarques/config.defaut.ini
New file
0,0 → 1,17
[remarques]
; Chemin du fichier de log à écrire
cheminFichierLog = "/home/log/remarques.log"
langueDefaut = "fr"
 
[remarques-services]
eflore = eflore_remarques@tela-botanica.org
pictoflora = pictoflora_remarques@tela-botanica.org
identiplante = identiplante_remarques@tela-botanica.org
cel = cel_remarques@tela-botanica.org
coel = coel_remarques@tela-botanica.org
webmestre = webmestre@tela-botanica.org
accueil = accueil@tela-botanica.org
smartflore = smartflore_remarques@tela-botanica.org
sauvages = sauvages_remarques@tela-botanica.org
mooc = mooc_remarques@tela-botanica.org
site = site_remarques@tela-botanica.org
/trunk/widget/modules/remarques/squelettes/css/defaut.css
New file
0,0 → 1,13
body {
padding: 10px;
}
 
#widget {
margin: auto;
max-width: 700px;
padding: 5px;
}
 
textarea.form-control.haut {
height: 150px;
}
/trunk/widget/modules/remarques/squelettes/remarques_en.tpl.php
New file
0,0 → 1,105
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Tela Botanica - Remarks</title>
 
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<meta http-equiv="Content-style-type" content="text/css" />
<meta http-equiv="Content-script-type" content="text/javascript" />
<meta http-equiv="Content-language" content="fr" />
 
<meta name="revisit-after" content="15 days" />
<meta name="robots" content="index,follow" />
<meta name="author" content="Mathias Chouet" />
<meta name="keywords" content="Tela Botanica, remarques, erreur, bug" />
<meta name="description" content="Widget de remarques" />
 
<meta name="viewport" content="width=device-width, initial-scale=1" />
 
<link rel="stylesheet" type="text/css" href="<?=$url_css?>" media="screen" />
<link rel="stylesheet" type="text/css" href="https://resources.tela-botanica.org/bootstrap/3.1.0/css/bootstrap.min.css" />
 
<script src="https://resources.tela-botanica.org/jquery/1.9.1/jquery.min.js"></script>
<script src="https://resources.tela-botanica.org/bootstrap/3.1.0/js/bootstrap.min.js"></script>
<script src="<?=$url_js?>"></script>
</head>
 
<body>
<!-- WIDGET:reseau:remarques - DEBUT -->
<div id="widget">
<?php if ($envoye === true): ?>
 
<h1>Tela Botanica - Message sent !</h1>
<p class="alert alert-info">
A message was sent to service <strong><?= $service ?></strong>
<br/>
Thank you for having taken some time to submit your remark !
</p>
<a class="btn btn-default" href="">New remark</a>
<button class="btn btn-default fermer">Close this window</button>
 
<?php else: ?>
 
<h1>Tela Botanica - Remarks</h1>
<p class="alert alert-info">
Thank you for taking some time to fill this form.
When you validate it, a message will be automatically
sent to service <strong><?= $service ?></strong>
</p>
<form role="form" action="" method="post">
<div class="form-group">
<div class="control">
<label>Your contact information</label>
<input name="coordonnees" type="email" class="form-control"
placeholder="Example: email@domain.com" required="required"/>
</div>
<p class="help-block">If you wish to receive an answer, specify a valid email address.</p>
</div>
<div class="form-group">
<div class="control">
<label>Your remark</label>
<textarea name="description" class="form-control haut" required="required"></textarea>
</div>
<p class="help-block">
If this is an error report, explain what you intended to do, the problem you encoutered and
the steps that led you to it, using as much details as you can.
</p>
</div>
<p class="alert alert-info">
If your remark is about a <strong>website / software error</strong>, please fill the fields below
</p>
<div class="form-group">
<div class="control">
<label>Browser(s) used</label>
<input name="navigateur" class="form-control"
placeholder="Examples: Firefox 26, Chrome 24, Internet Explorer 11, Safari 5, Opera 10..." />
</div>
</div>
<div class="form-group">
<div class="control">
<label>Operating system</label>
<input name="systeme" class="form-control"
placeholder="Examples: Windows 8, Windows XP, Mac OSX 10.5, Ubuntu, Androïd, iOS..." />
</div>
</div>
<div class="form-group">
<div class="control">
<label>Error severity</label>
<select name="gravite" class="form-control">
<option value="inconnue">I don't know</option>
<option value="legere">Light : the application still works (buggy display, annoying message...)</option>
<option value="moyenne">Medium : all or part of the application can still be used, but with difficulties</option>
<option value="grave">Strong : the application or one of its main features doesn't work anymore</option>
</select>
</div>
</div>
<input name="action" value="envoyer" type="hidden"/>
<input name="jeton" value="<?=$jeton?>" type="hidden"/>
<button type="submit" class="btn btn-success valider">Send your remark</button>
</form>
 
<?php endif; ?>
</div>
<!-- WIDGET:reseau:remarques - FIN -->
</body>
</html>
/trunk/widget/modules/remarques/squelettes/js/defaut.js
New file
0,0 → 1,12
$(document).ready(function() {
// Bouton "fermer la fenêtre" car on est (normalement) dans un popup
$('button.fermer').click(function() {
window.close();
});
 
// Préremplissage du champ "navigateur"
$('input[name="navigateur"]').val(window.navigator.userAgent);
 
// Préremplissage du champ "système"
$('input[name="systeme"]').val(window.navigator.platform);
});
/trunk/widget/modules/remarques/squelettes/remarques_fr.tpl.php
New file
0,0 → 1,108
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Tela Botanica - Remarques</title>
 
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<meta http-equiv="Content-style-type" content="text/css" />
<meta http-equiv="Content-script-type" content="text/javascript" />
<meta http-equiv="Content-language" content="fr" />
 
<meta name="revisit-after" content="15 days" />
<meta name="robots" content="index,follow" />
<meta name="author" content="Mathias Chouet" />
<meta name="keywords" content="Tela Botanica, remarques, erreur, bug" />
<meta name="description" content="Widget de remarques" />
 
<meta name="viewport" content="width=device-width, initial-scale=1" />
 
<link rel="stylesheet" type="text/css" href="<?=$url_css?>" media="screen" />
<link rel="stylesheet" type="text/css" href="https://resources.tela-botanica.org/bootstrap/3.1.0/css/bootstrap.min.css" />
 
<script src="https://resources.tela-botanica.org/jquery/1.9.1/jquery.min.js"></script>
<script src="https://resources.tela-botanica.org/bootstrap/3.1.0/js/bootstrap.min.js"></script>
<script src="<?=$url_js?>"></script>
</head>
 
<body>
<!-- WIDGET:reseau:remarques - DEBUT -->
<div id="widget">
<?php if ($envoye === true): ?>
 
<h1>Tela Botanica - Message envoyé !</h1>
<p class="alert alert-info">
Un message a été envoyé au service <strong><?= $service ?></strong>
<br/>
Merci d'avoir pris le temps de soumettre votre remarque !
</p>
<a class="btn btn-default" href="">Nouvelle remarque</a>
<button class="btn btn-default fermer">Fermer cette fenêtre</button>
 
<?php else: ?>
 
<h1>Tela Botanica - Remarques</h1>
<p class="alert alert-info">
Merci de prendre quelques instants pour remplir ce formulaire.
Lorsque vous l'aurez validé, un message sera automatiquement
envoyé au service <strong><?= $service ?></strong>
</p>
<form role="form" action="" method="post">
<div class="form-group">
<div class="control">
<label>Vos coordonnées</label>
<input name="coordonnees" type="email" class="form-control"
placeholder="Exemple: courriel@domaine.fr" required="required"/>
</div>
<p class="help-block">Si vous souhaitez recevoir une réponse, indiquez une adresse email valide.</p>
</div>
<div class="form-group">
<div class="control">
<label>Votre remarque</label>
<textarea name="description" class="form-control haut" required="required"></textarea>
</div>
<p class="help-block">
S'il s'agit d'un rapport d'erreur, expliquez ce que vous aviez l'intention de
faire, le problème que vous avez rencontré et les étapes qui vous y ont amené, avec autant de détails que possible.
</p>
</div>
<p class="alert alert-info">
Si votre remarque concerne une <strong>erreur informatique</strong>, merci de remplir les champs ci-dessous
</p>
<div class="form-group">
<div class="control">
<label>Navigateur(s) utilisé(s)</label>
<input name="navigateur" class="form-control"
placeholder="Exemples: Firefox 26, Chrome 24, Internet Explorer 11, Safari 5, Opera 10..." />
</div>
</div>
<div class="form-group">
<div class="control">
<label>Système d'exploitation</label>
<input name="systeme" class="form-control"
placeholder="Exemples: Windows 8, Windows XP, Mac OSX 10.5, Ubuntu, Androïd, iOS..." />
</div>
</div>
<div class="form-group">
<div class="control">
<label>Gravité de l'erreur</label>
<select name="gravite" class="form-control">
<option value="inconnue">Je ne sais pas</option>
<option value="legere">Légère : l'application fonctionne encore (affichage incorrect, message gênant...)</option>
<option value="moyenne">Moyenne : tout ou partie de l'application peut encore être utilisé, mais avec des difficultés</option>
<option value="grave">Grave : l'application ou une de ses fonctionnalités indispensables ne fonctionne plus</option>
</select>
</div>
<!-- <p class="help-block">
Estimez si vous le pouvez la gravité du problème que vous rencontrez.
</p> -->
</div>
<input name="action" value="envoyer" type="hidden"/>
<input name="jeton" value="<?=$jeton?>" type="hidden"/>
<button type="submit" class="btn btn-success valider">Envoyer la remarque</button>
</form>
 
<?php endif; ?>
</div>
<!-- WIDGET:reseau:remarques - FIN -->
</body>
</html>
/trunk/widget/modules/remarques
New file
Property changes:
Added: svn:ignore
+config.ini
+log
/trunk/widget/Widget.php
New file
0,0 → 1,167
<?php
// In : utf8 url_encoded (get et post)
// Out : utf8
/**
* La classe Widget analyser l'url et chage le widget correspondant.
* Format d'url :
* /widget/nom_du_widget?parametres1=ma_valeur1&parametre2=ma_valeur2
* Les widget sont dans des dossiers en minuscule correspondant au nom de la classe du widget.
* Exemple : /widget/carto avec la classe Carto.php dans le dossier carto.
*
*
* @author jpm
*
*/
class Widget {
 
/** Les paramètres de configuration extrait du fichier .ini */
private static $config;
 
/** Le nom du widget demandé. */
private $widget = null;
/** Les chemins où l'autoload doit chercher des classes. */
private static $autoload_chemins = array();
/** Les paramètres de l'url $_GET nettoyés. */
private $parametres = null;
 
/**
* Constructeur.
* Parse le fichier de configuraion "widget.ini" et parse l'url à la recherche du widget demandé.
* @param str iniFile Configuration file to use
*/
public function __construct($fichier_ini = 'widget.ini.php') {
// Chargement de la configuration
self::$config = parse_ini_file($fichier_ini, TRUE);
// Paramêtres de config dynamiques
$protocole = (isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == 'on')) ? 'https://' : 'http://';
self::$config['chemins']['baseURLAbsoluDyn'] = $protocole . $_SERVER['SERVER_NAME'].self::$config['chemins']['baseURL'].'%s';
// Gestion de la mémoire maximum allouée aux services
ini_set('memory_limit', self::$config['parametres']['limiteMemoire']);
// Réglages de PHP
setlocale(LC_ALL, self::$config['parametres']['locale']);
date_default_timezone_set(self::$config['parametres']['fuseauHoraire']);
// Gestion des erreurs
error_reporting(self::$config['parametres']['erreurNiveau']);
 
if (isset($_SERVER['REQUEST_URI']) && isset($_SERVER['QUERY_STRING'])) {
$url_morceaux = $this->parserUrl();
if (isset($url_morceaux[0])) {
$this->widget = $url_morceaux[0];
// hack car chez moi (mathias) je me retrouve avec $url_morceaux[0] = "delnomduwidget", pourtant j'ai le même .htaccess...
if (strpos($this->widget, ":") !== false) {
$this->widget = substr($this->widget, strpos($this->widget, ":") + 1);
}
self::$config['chemins']['widgetCourantDossier'] = self::$config['chemins']['widgetsDossier'].strtolower($this->widget).DIRECTORY_SEPARATOR;
$this->chargerWidgetConfig();
}
// Chargement des chemins pour l'autoload
$this->chargerCheminAutoload();
// Enregistrement de la méthode gérant l'autoload des classes
spl_autoload_register(array('Widget', 'chargerClasse'));
// Nettoyage du $_GET (sécurité)
$this->collecterParametres();
} else {
$e = 'Les widget nécessite les variables serveurs suivantes pour fonctionner : REQUEST_URI et QUERY_STRING.';
trigger_error($e, E_USER_ERROR);
}
}
private function parserUrl() {
if (strlen($_SERVER['QUERY_STRING']) == 0) {
$len = strlen($_SERVER['REQUEST_URI']);
} else {
$len = -(strlen($_SERVER['QUERY_STRING']) + 1);
}
$url = substr($_SERVER['REQUEST_URI'], strlen(self::$config['chemins']['baseURL']), $len);
$url_morceaux = explode('/', $url);
return $url_morceaux;
}
private function collecterParametres() {
if (isset($_GET) && $_GET != '') {
$this->nettoyerGet();
$this->parametres = $_GET;
}
}
private function nettoyerGet() {
foreach ($_GET as $cle => $valeur) {
$verifier = array('NULL', "\n", "\r", "\\", "'", '"', "\x00", "\x1a", ';');
$_GET[$cle] = strip_tags(str_replace($verifier, '', $valeur));
}
}
private function chargerCheminAutoload() {
$chemins_communs = explode(';', self::$config['chemins']['autoload']);
$chemins_communs = array_map('trim', $chemins_communs);
array_unshift($chemins_communs, '');
$chemins_widget = array();
if (isset(self::$config[$this->widget]['autoload'])) {
$chemins_widget = explode(';', self::$config[$this->widget]['autoload']);
foreach ($chemins_widget as $cle => $chemin) {
$chemins_widget[$cle] = self::$config['chemins']['widgetCourantDossier'].trim($chemin);
}
}
self::$autoload_chemins = array_merge($chemins_communs, $chemins_widget);
}
/**
* La méthode chargerClasse() charge dynamiquement les classes trouvées dans le code.
* Cette fonction est appelée par php5 quand il trouve une instanciation de classe dans le code.
*
*@param string le nom de la classe appelée.
*@return void le fichier contenant la classe doit être inclu par la fonction.
*/
public static function chargerClasse($classe) {
if (class_exists($classe)) {
return null;
}
foreach (self::$autoload_chemins as $chemin) {
$chemin = $chemin.$classe.'.php';
if (file_exists($chemin)) {
require_once $chemin;
}
}
}
/**
* Execute le widget.
*/
function executer() {
if (!is_null($this->widget)) {
$classe_widget = ucfirst($this->widget);
$fichier_widget = self::$config['chemins']['widgetCourantDossier'].$classe_widget.'.php';
if (file_exists($fichier_widget)) {
include_once $fichier_widget;
if (class_exists($classe_widget)) {
$widget = new $classe_widget(self::$config, $this->parametres);
$widget->executer();
}
}
} else {
echo "pas de module précisé";
}
}
/**
* Charge le fichier de config spécifique du wiget et fusionne la config avec celle partagés par l'ensemble des widgets.
*/
private function chargerWidgetConfig() {
$widget_config_ini_fichier = self::$config['chemins']['widgetCourantDossier'].'config.ini';
if (file_exists($widget_config_ini_fichier)) {
$widget_config = parse_ini_file($widget_config_ini_fichier, TRUE);
self::$config = array_merge(self::$config, $widget_config);
}
}
}
?>
/trunk/widget/framework.defaut.php
New file
0,0 → 1,6
<?php
// Inclusion du Framework
// Renomer ce fichier en "framework.php"
// Indiquer ci-dessous le chemin absolu vers le fichier autoload.inc.php de la bonne version du Framework
require_once '/home/www/commun/framework/0.3/Framework.php';
?>
/trunk/widget/bibliotheque/WidgetCommun.php
New file
0,0 → 1,224
<?php
abstract class WidgetCommun {
protected $config = null;
protected $parametres = null;
protected $messages = array();
protected $debug = array();
public function __construct($config, $parametres) {
$this->config = $config;
$this->parserFichierIni($config['chemins']['widgetCourantDossier'].'config.ini');
$this->parametres = $parametres;
}
/**
* Parse le fichier ini donné en paramètre
* @param string $fichier_ini nom du fichier ini à parser
* @return boolean true si le fichier ini a été trouvé.
*/
private function parserFichierIni($fichier_ini) {
$retour = false;
if (file_exists($fichier_ini)) {
$ini = parse_ini_file($fichier_ini, true);
$this->fusionner($ini);
$retour = true;
}
return $retour;
}
 
/**
* fusionne un tableau de paramètres avec le tableau de config global
* @param array $ini le tableau à fusionner
*/
private function fusionner(array $ini) {
$this->config = array_merge($this->config, $ini);
}
protected function traiterNomMethodeExecuter($nom) {
$methode = 'executer';
$methode .= str_replace(' ', '', ucwords(str_replace('-', ' ', strtolower($nom))));
return $methode;
}
 
//+----------------------------------------------------------------------------------------------------------------+
// GESTION de l'ENVOI au NAVIGATEUR
 
protected function envoyerJsonp($donnees = null, $encodage = 'utf-8') {
$contenu = $_GET['callback'].'('.json_encode($donnees).');';
$this->envoyer($contenu, 'text/html', $encodage);
}
protected function envoyer($donnees = null, $mime = 'text/html', $encodage = 'utf-8') {
// Traitements des messages d'erreurs et données
if (count($this->messages) != 0) {
header('HTTP/1.1 500 Internal Server Error');
$mime = 'text/html';
$encodage = 'utf-8';
$sortie = '<html>'.
'<head><title>Messages</title></head>'.
'<body><pre>'.implode("\n", $this->messages).'</pre><body>'.
'</html>';
} else {
$sortie = $donnees;
if (is_null($donnees)) {
$sortie = 'OK';
}
}
 
// Gestion de l'envoie du déboguage
$this->envoyerDebogage();
 
// Envoie sur la sortie standard
$this->envoyerContenu($encodage, $mime, $sortie);
}
 
private function envoyerDebogage() {
if (!is_array($this->debug)) {
$this->debug[] = $this->debug;
}
if (count($this->debug) != 0) {
foreach ($this->debug as $cle => $val) {
if (is_array($val)) {
$this->debug[$cle] = print_r($val, true);
}
}
header('X-DebugJrest-Data:'.json_encode($this->debug));
}
}
 
private function envoyerContenu($encodage, $mime, $contenu) {
if (!is_null($mime) && !is_null($encodage)) {
header("Content-Type: $mime; charset=$encodage");
} else if (!is_null($mime) && is_null($encodage)) {
header("Content-Type: $mime");
}
print_r($contenu);
}
//+----------------------------------------------------------------------------------------------------------------+
// GESTION DES SQUELETTES (PHP, TXT...)
/**
* Méthode prenant en paramètre un tableau associatif, les clés seront recherchées dans le texte pour être
* remplacer par la valeur. Dans le texte, les clés devront être entre accolades : {}
*
* @param String $txt le texte où chercher les motifs.
* @param Array $donnees un tableau associatif contenant les motifs à remplacer.
*
* @return String le texte avec les motifs remplacer par les valeurs du tableau.
*/
protected static function traiterSqueletteTxt($txt, Array $donnees = array()) {
$motifs = array();
$valeurs = array();
foreach ($donnees as $cle => $valeur) {
if (strpos($cle, '{') === false && strpos($cle, '}') === false) {
$motifs = '{'.$cle.'}';
$valeurs = $valeur;
}
}
$txt = str_replace($motifs, $valeurs, $txt);
return $txt;
}
 
/**
* Méthode prenant en paramètre un chemin de fichier squelette et un tableau associatif de données,
* en extrait les variables, charge le squelette et retourne le résultat des deux combinés.
*
* @param String $fichier le chemin du fichier du squelette
* @param Array $donnees un tableau associatif contenant les variables a injecter dans le squelette.
*
* @return boolean false si le squelette n'existe pas, sinon la chaine résultat.
*/
protected static function traiterSquelettePhp($fichier, Array $donnees = array()) {
$sortie = false;
if (file_exists($fichier)) {
// Extraction des variables du tableau de données
extract($donnees);
// Démarage de la bufferisation de sortie
ob_start();
// Si les tags courts sont activés
if ((bool) @ini_get('short_open_tag') === true) {
// Simple inclusion du squelette
include $fichier;
} else {
// Sinon, remplacement des tags courts par la syntaxe classique avec echo
$html_et_code_php = self::traiterTagsCourts($fichier);
// Pour évaluer du php mélangé dans du html il est nécessaire de fermer la balise php ouverte par eval
$html_et_code_php = '?>'.$html_et_code_php;
// Interprétation du html et du php dans le buffer
echo eval($html_et_code_php);
}
// Récupèration du contenu du buffer
$sortie = ob_get_contents();
// Suppression du buffer
@ob_end_clean();
} else {
$msg = "Le fichier du squelette '$fichier' n'existe pas.";
trigger_error($msg, E_USER_WARNING);
}
// Retourne le contenu
return $sortie;
}
 
/**
* Fonction chargeant le contenu du squelette et remplaçant les tags court php (<?= ...) par un tag long avec echo.
*
* @param String $chemin_squelette le chemin du fichier du squelette
*
* @return string le contenu du fichier du squelette php avec les tags courts remplacés.
*/
private static function traiterTagsCourts($chemin_squelette) {
$contenu = file_get_contents($chemin_squelette);
// Remplacement de tags courts par un tag long avec echo
$contenu = str_replace('<?=', '<?php echo ', $contenu);
// Ajout systématique d'un point virgule avant la fermeture php
$contenu = preg_replace("/;*\s*\?>/", "; ?>", $contenu);
return $contenu;
}
//+----------------------------------------------------------------------------------------------------------------+
// UTILITAIRES
/**
* Permet de trier un tableau multi-dimenssionnel en gardant l'ordre des clés.
*
* @param Array $array le tableau à trier
* @param Array $cols tableau indiquant en clé la colonne à trier et en valeur l'ordre avec SORT_ASC ou SORT_DESC
* @author cagret at gmail dot com
* @see http://fr.php.net/manual/fr/function.array-multisort.php Post du 21-Jun-2009 12:38
*/
public static function trierTableauMd($array, $cols) {
$colarr = array();
foreach ($cols as $col => $order) {
$colarr[$col] = array();
foreach ($array as $k => $row) {
$colarr[$col]['_'.$k] = strtolower($row[$col]);
}
}
$params = array();
foreach ($cols as $col => $order) {
$params[] =& $colarr[$col];
$params = array_merge($params, (array)$order);
}
call_user_func_array('array_multisort', $params);
$ret = array();
$keys = array();
$first = true;
foreach ($colarr as $col => $arr) {
foreach ($arr as $k => $v) {
if ($first) {
$keys[$k] = substr($k,1);
}
$k = $keys[$k];
if (!isset($ret[$k])) {
$ret[$k] = $array[$k];
}
$ret[$k][$col] = $array[$k][$col];
}
$first = false;
}
return $ret;
}
}
?>
/trunk/widget/index.php
New file
0,0 → 1,6
<?php
//require 'framework.php';
require 'Widget.php';
$widget = new Widget();
$widget->executer();
?>
/trunk/widget/widget.ini.defaut.php
New file
0,0 → 1,30
;<?/*
[parametres]
;Memoire maxi pour les services : 128Mo = 134217728 ; 256Mo = 268435456 ; 512Mo = 536870912 ; 1Go = 1073741824
limiteMemoire = "512M"
; Niveau d'erreur PHP
erreurNiveau = 30719 ; E_ALL = 30719
; Séparateur d'url en entrée
argSeparatorInput = "&"
; Indication de la locale (setLocale(LC_ALL, ?)) pour les classes appelées par Widget.php
locale = "fr_FR.UTF-8"
; Indication du fuseau horraire par défaut date_default_timezone_set(?)pour les classes appelées par Widget.php
fuseauHoraire = "Europe/Paris"
 
[chemins]
; Chemins à utiliser dans la méthode autoload des widgets
autoload = "bibliotheque/"
; Dossier contenant les widgets
widgetsDossier = "modules/"
; Dossier contenant le widget demandé construit dynamiquement dans le fichier Widget.php
widgetCourantDossier = ""
; Dossier contenant les fichiers des bibliothèques tierces
bibliothequeDossier = "bibliotheque/"
; Base de l'url servant à appeler les widgets
baseURL = "/applications/reseau/widget/"
; URL de base absolue des Widgets du CEL construit dynamiquement dans le fichier WidgetCommun.php
baseURLAbsoluDyn = ""
; URL de base du dépôt de ressources
baseURLRessources = "https://resources.tela-botanica.org/%s"
 
;*/?>
/trunk/widget
New file
Property changes:
Added: svn:ignore
+widget.ini.php
+framework.php
+.htaccess
/trunk/resources/js/navigation.js
New file
0,0 → 1,133
// configuration
var urlRacine = 'https://www.tela-botanica.org',
config = {
prod: {
urlWidgetNavigation : urlRacine + '/widget:reseau:navigation',
urlBaseAuth : 'https://www.tela-botanica.org/service:annuaire:auth'
},
test: {
urlWidgetNavigation : urlRacine + '/widget-test:reseau:navigation',
urlBaseAuth : 'https://www.tela-botanica.org/service:annuaire-test:auth'
},
local: {
urlWidgetNavigation : 'https://localhost/widget:reseau:navigation',
urlBaseAuth : 'https://localhost/service:annuaire:auth'
}
}
 
/**
* Charge la barre de navigation depuis le widget:reseau:navigation dans un <div id="tb-navigation"> , s'il existe
* dans la page appelante.
*
* Nécessite jQuery
*
* Utilisation :
* - prévoir un <div id="tb-navigation"> dans la page, qui accueillera la barre de navigation.
* - si ce <div> contient déjà quelque chose, son contenu sera reporté à la place de la zone ayant l'id "contenu-source"
* de la barre de navigation (si une telle zone existe)
* - si ce <div> contient un attribut "data-courant" et si la valeur de cet attribut correspond à l'id d'un des éléments
* de navigation, alors cet élément aura la classe "active" (pour localiser la page courante dans les menus)
* - si ce <div> contient un attribut "data-squelette", alors le widget de navigation sera appelé avec le paramètre
* "?squelette=contenu-de-data-squelette"; se reporter à la documentation du widget:reseau:navigation
*/
 
$(document).ready(function() {
var div = $('#tb-navigation');
if (div) {
var squelette = div.data('squelette'),
courant = div.data('courant'),
mode = div.data('mode') || 'prod',
contenu = div.html();
 
// chargement de la barre
var urlBarreNavigation = config[mode]['urlWidgetNavigation'];
if (squelette) {
urlBarreNavigation += '?squelette=' + squelette;
}
htmlBarre = $.ajax({
url: urlBarreNavigation,
type: 'get',
success: function(data) {
div.html(data);
// activation de l'entrée de menu
if (courant) {
var menuCourant = div.find('#' + courant);
if (menuCourant) {
menuCourant.addClass('active');
}
}
// ajout de l'URL de la page d'origine dans les liens
definirPageOrigineDansLiens();
// remplacement de la zone contenu-source
var zoneSource = div.find('#contenu-source');
if (zoneSource) {
zoneSource.replaceWith(contenu);
// Chargement de sinformations de connexion SSO
var urlBaseAuth = config[mode]['urlBaseAuth'];
chargerStatutSSO(urlBaseAuth);
}
},
error: function() {
div.html('Erreur: impossible de charger la barre de navigation');
}
});
}
});
 
/**
* Modifie les liens des boutons de connexion / déconnexion SSO pour prendre ne compte
* l'adresse exacte de la page d'origine (si on fait ça en PHP, on obtient l'URL du
* widget de barre de navigation et pas de la page appelante)
*/
function definirPageOrigineDansLiens() {
var page = window.location.href;
$('#bouton-connexion a').attr('href', $('#bouton-connexion a').attr('href') + page);
$('#deconnexion a').attr('href', $('#deconnexion a').attr('href') + page);
}
 
/**
* Interroge le SSO pour connaître le statut de l'utilisateur, et change le menu
* à droite de la barre en fonction
*/
function chargerStatutSSO(urlBaseAuth) {
var urlAuth = urlBaseAuth + '/identite';
$.ajax({
url: urlAuth,
type: "GET",
dataType: 'json',
xhrFields: {
withCredentials: true
}
}).done(function(data) {
// connecté
definirUtilisateur(data.token);
});
}
 
function definirUtilisateur(jeton) {
var nomComplet = '';
if (jeton != undefined) {
// décodage jeton
var jetonDecode = decoderJeton(jeton);
nomComplet = jetonDecode.intitule;
}
// affichage
$('#bouton-connexion').hide();
$('#utilisateur-connecte').show();
$('#nom-complet').html(nomComplet);
}
 
/**
* Décodage à l'arrache d'un jeton JWT, ATTENTION CONSIDERE QUE LE
* JETON EST VALIDE, ne pas décoder n'importe quoi - pas trouvé de lib simple
* Si pb de cross-browser, tenter ceci : https://code.google.com/p/javascriptbase64/
* ou ceci : https://code.google.com/p/crypto-js
*/
function decoderJeton(jeton) {
parts = jeton.split('.');
payload = parts[1];
payload = atob(payload);
payload = JSON.parse(payload, true);
 
return payload;
}
/trunk/.
Property changes:
Added: svn:ignore
+.project
+nbproject
+.settings
+.buildpath